Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!src.honeywell.com!msi.umn.edu!math.fu-berlin.de!unido!marco!krabat!leo From: leo@krabat.marco.de (Matthias Pfaller) Newsgroups: comp.os.minix Subject: Re: Virtual addresses Message-ID: <864@krabat.marco.de> Date: 21 May 91 11:57:08 GMT References: <53697@nigel.ee.udel.edu> Organization: marco GmbH, 8047 Karlsfeld, West-Germany Lines: 31 In article <53697@nigel.ee.udel.edu>, tsarna@polar.bowdoin.edu (Tyler Sarna) writes: > CvW writes: > > > I do not know what exactly has been done around -- but: > > Do you know if anything has been done? > > > Future versions of 68K MINIX with MMU have the following features: > > - all processes have virtual addresses starting at zero (or, near zero. > > It is sensible to leave the first 8K or so unused to trace NIL pointer > > dereferences) > > - there will be memory protection > > My thoughts exactly. Ok, but I have to remember that there is a very nice chip called 68070. This chip is a sort of 68010 with serial I/O, Timer, two DMA-Channels and a segmented mmu. With this mmu you can split the address-space of every process in 8 segments of 2mb each. A segment is specified by a base-address (1k-aligned) and a length (also in 1k-units). You can make segments where the address specifies the upper bound of the segment (for the stack) and segments where the address specifies the lower bound of the segment. If you wish to run a normal minix-68k binary on a system where such a mmu is in use, you have to specify the textsegment as a downward-growing segment and the data segment as an upward growing segment. Thus on the 68070 not the BASE-address of the textsegment but the END-address of the textsegment is fix. The mmu provides 8 on-chip segmentregisters. Matthias Pfaller (leo @ marco.de) PS: There is at least one comercial computer with this CPU; see comp.os.os9.