On 2/15/07, Peter pjcreath+openbios@gmail.com wrote:
- Error message:
"Unhandled Exception 0x00000009 PC = 0xf0138b20 NPC = 0xf0138b24 Stopping execution"
Bug: This is a combination of a bug in the SunOS kernel (that never occurs in real hardware) and in qemu. SunOS is trying to printf() an error message before mapping a required device (_utimers). This error message doesn't occur on real hardware, so this access exception doesn't occur on a real SparcStation. The error message is due to an invalid machine ID specified by qemu in the nvram. Qemu is setting the machine ID to 0x80, which is not recognized by SunOS. SunOS recognizes only 0x71 and 0x72. According to idprom.h (quoted in part at http://www.sunmanagers.org/archives/1993/0050.html), these correspond to:
#define IDM_SUN4M_690 0x71 /* SPARCsystem 600 series */ #define IDM_SUN4M_50 0x72 /* Campus 2 */
Fix: Change qemu-0.9.0/hw/sun4m.c:154 to set the machine ID to 0x72 (the value of a SparcStation 10) instead of 0x80. It may be preferable to make qemu more configurable in this regard, but this will do for now. I've forwarded this information to the qemu-devel mailing list.
There's now another subsequent access exception that I still need to chase down.