bill@ingr.UUCP (Bill Welch) (07/19/88)
I am currently porting Minix to the ZAIAZ 933, an Intergraph (was Fairchild) CLIPPER based system. The work is proceeding fairly well, and I am impressed at the portability and clarity of the Minix system. If I may, I would like to mention several issues that I have run across, and I would appreciate any comments. 1. I have applied the 1.2 and 1.3 Minix updates to the sources that I am using, but haven't tested them on an AT. I hope that by reading comp.os.minix, I will be aware of any changes to 1.3. 2. I had to change the various printf related library routines to use the "varargs" method, since the CLIPPER compiler that I am using passing some of its arguments via registers. 3. I suggest that future versions of Minix place the mmu related data inside of a larger structure, rather than the array of structures presently used. This would be more flexible. On the CLIPPER, I need to store some info about the page tables, and this is per process info, not per segment info. 4. The current method for signal handling requires that the user program be able to execute the "IRET" instruction. Wouldn't it be more appropriate to simulate this with non- priviledged instructions? 5. Is anyone working with floating point? I need to add a method of saving/restoring/initialising the CLIPPER FPU registers. 6. By the way, the CLIPPER has 3 sets of registers-- kernel, user, and floating point. Minix may be the first software on the CLIPPER that allows both user mode and kernel mode processes (and sys calls). This makes for interesting context switches. 7. There are some alignment problems that I suggest be fixed in future versions of Minix. In particular, the method used by "exec" both in the library routine and the MM itself doesn't make sure that pointers are aligned on pointer boundaries. Are there other places I should be aware of? Unfortunately, the CLIPPER doesn't handle these situations very well. It doesn't work, and doesn't cause an exception either. 8. Is it true that interrupts are disabled for the entire duration of the "sys_call"? Would this be difficult to change? 9. I am looking for CLIPPER language tools (C compiler, etc) that could be ported to run under Minix. If anyone has already ported GNU's gcc, for example, I would like to hear from you. bill welch zaiaz international uunet!ingr!zaiaz!bill