[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