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