seimet@rhrk.uni-kl.de (Uwe Seimet [Chemie]) (05/22/91)
Re: virtual memory management on the TT As you are probably aware the TT because of its 68030 is capable of virtual memory management. This applies not only for UNIX but is also possible with TOS. If you don't want your programs to interfere with software that allows virtual memory in case of a buserror you have to test if an error occured because of an invalid page or table descriptor or if it is a "real" error which means that you can supply your own buserr routine. (Of course, programs which don't manipulate the buserr vector don't have to worry about this.) All future buserror handlers are recommended to look like the following example: ----------------------------------------------------------- tst.b ttflg beq nott ;makes no sense on an ST ptestr #7,[16(sp)],#7 ;test descriptor pmove psr,status ;get mmu status btst #2,status beq nott ;descriptor is valid- jmp ([oldvec]) ;back to system exception handler nott: insert your own buserr handler here ----------------------------------------------------------- It is important that not only TT developpers use this kind of handler. Software that is intended primarily for use on the ST should use it to. Otherwise it won't be compatible to any future virtual memory support on new machines. Any more comments concerning programming on the TT? Go ahead! ----------------------------- | Uwe Seimet | | Buchenlochstrasse 29 | | D-6750 Kaiserslautern | | seimet@sun.rhrk.uni-kl.de | -----------------------------