Artyom Tarasenko wrote:
I still think it's just an access to the unmapped memory region.
Even simpler than that: the reason the neverland code is being invoked is because env->psret == 0 (i.e. traps are disabled), not because the MMU is in no fault mode:
This means that is a fault in a fault handler. The reason for it can be stack or something else getting exhausted while trying to process some trap. Or the trap handler tries to report the error over some non-existent device.
Can you take a look at the output of show-devs with OBP to try and figure out which device it is? Also would it be possible for you to enable DEBUG_UNALIGNED and DEBUG_UNASSIGNED in target-sparc/op_helper.c in qemu, boot as far as you can, and then send me the output?
Ah and another thing while I think about it: could you send me the output of the following too:
cd /virtual-memory .properties
cd /memory .properties
Are you running with -nographic?
Yes.
Also Solaris boot option "-v" makes the boot more verbose.
Yes, I found this on your blog. The output with -vb looks like this:
Not a bootable ELF image Loading a.out image... Loaded 7680 bytes entry point is 0x4000 bootpath: /iommu/sbus/espdma/esp/sd@2,0:d
Jumping to entry point 00004000 for type 00000005... switching to new context: Size: 259040+54154+47486 Bytes device auxio size -1 SunOS Release 5.8 Version Generic_108528-09 32-bit Copyright 1983-2001 Sun Microsystems, Inc. All rights reserved. Ethernet address = 52:54:0:12:34:56 Using default device instance data
OBP works without this hack.
Meh. Is there any improvement with the older versions of SunOS?
ATB,
Mark.