[comp.os.minix] Status report: Protected mode minix

mmdf@udel.UUCP (11/25/87)

Greetings Minix world:
   I have been working on a protected mode 80286 port of minix and
thought I would post the status and my future plans.  The first step
was to move development to an operating system which would allow me
to compile and edit everything reasonably.  Since I have the
Microsoft C compiler running under MSDOS this seemed the place to do
it.  I would rather develop under UN*X, but sometimes ya gotta take
what you've got...
   That phase was completed a few weeks ago and so I began to work
on the protected mode port in earnest.  The three segment mode that
is used in MINIX is not the best model for the 80286 because the
80286 already has support for virtual addresses using 32 bit far
pointers.  I have been working on converting all of the physical
addressing code in MINIX to use 32 bit "virtual" addresses.
   This essentially involves rewriting umap to require three
parameters umap(task,32_bit_virtual_address,size) and to return a 32
bit pointer.  This returned pointer points to a valid virtual
address in the context of the caller which points to the same memory
as the passed pointer points to in the context of 'task'.  For the
moment, since I am not yet in protected mode, umap simply returns
the second argument passed.  Once in protected mode it will have to
find the LDT for the task and copy the entry into a selector in the
current process'es (?) LDT.
   All pointers passed into the kernel via syscall must be made into
32 bit pointers but this will not be difficult since there are only
a few entry points where messages are build.
   Once the physical/logical/virtual thing is straightened out, I will
convert the process table to consist of valid TSS entries and will
cause the memory tables of both the MM and the KERNEL to point to
an LDT format table which will maintain segment information for the
task.
   At this point the only table left will be the GDT.  I will be
using a static GDT, so this should present few problems.  I will
simply create a GDT and load it with the boot image.

Please send any comments that you don't want to post to me at

F2BAM%ISUMVS.BITNET@WISCVM.WISC.EDU

*** NOTE *** That address is not the same one this was posted by.
             Any responses to this address may be eaten by my mail
             processing program...

Bret Mckee
Iowa State University
Ames, IA 50010