This deviation is the documented fix for one of the SunOS crashes. Sun4m requires there to be 4 CPU-specific interrupts and counters (regardless of the number of CPUs) before the system-wide interrupt and counter. The OBP registers you point out were broken in this regard: it only mapped a single CPU specific interrupt and counter. This allowed OBP to boot, say, linux, but not SunOS.
But the register dump with only single interrrupt/counter comes from a real SparcStation 5 machine with real OpenBootProm (OBP) made by Sun, it was not made with OpenBIOS. It can't be broken or in violation of Sun4m spec, I would be surprised if my machine had not run SunOS originally. My guess is that the version of SunOS you are trying to run predates even SS-5 if it requires things to be like SS-10. Or it could be targeted for a SMP system with 4 CPUs. Or maybe those days SunOS was specific to each machine type, I can't remember anymore.
So to help you make these changes, I'd like to add a new machine for SS-10. That way these changes can be tied to the machine model, if necessary. I want to keep the Qemu's model for SS-5 as close to real SS-5 as possible and this register change is a true deviation from that.
About the terminology: Sun4m was a machine class, or a super architecture. There were several implementations, including SparcStation 5 (which Qemu currently emulates), older model SparcStation 10 and many others. OBP (OpenBootProm) was Sun's predecessor to or early implementation of Open Firmware. Every machine had a different version of OBP, also some versions were older, some newer. OpenBIOS is a free re-implementation, emulating the interface version 3.
_________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/