[OpenBIOS] [PATCH] Use exception vectors from ROM instead of copying them to page zero
Segher Boessenkool
segher at kernel.crashing.org
Mon May 26 18:48:26 CEST 2014
> >Instead of copying the exception vectors from ROM to page zero use the
> >Interrupt Prefix bit of the CPU to use the vectors at the ROM address.
> >This simplifies the startup routine a little bit and avoids using
> >addresses that can be overwritten by clients. In particular MorphOS
> >writes to address 0x80 during boot which corrupted the exception
> >return code causing a crash.
Many OSes use 0000..00ff for their own purposes. OpenBIOS should
not use that area for anything, for its own good.
MSR[IP] is optional. OpenBIOS should not use it if it wants to run
on more than just 970.
> Just as a general comment: I know that some OSs using Sun's PROM expect
> to be able to write to the trap table (which is why it is copied to RAM)
> so you'd need to check this thoroughly. Or, if MSR_IP uses virtual
> addresses you could do some MMU twiddling so that the virtual address
> actually points into a safe area of RAM rather than ROM.
All exceptions are taken with translation off ("real mode").
Cheers,
Segher
More information about the OpenBIOS
mailing list