Hi all,
With the previous commit in place, we now get here trying to boot my Solaris 8 ISO image under OpenBIOS:
Configuration device id QEMU version 1 machine id 32 CPUs: 1 x FMI,MB86904 UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Apr 5 2011 08:40 Type 'help' for detailed information
0 > boot cdrom:d -v 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 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 vac: enabled in write through mode mem = 131072K (0x8000000) avail mem = 110419968 root nexus = SUNW,SPARCstation-5 iommu0 at root: obio 0x10000000 sbus0 at iommu0: obio 0x10001000 dma0 at sbus0: SBus slot 5 0x8400000 dma0 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000 /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000 (esp0): esp-options=0x46 esp0 at dma0: SBus slot 5 0x8800000 sparc ipl 4 esp0 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000 sd2 at esp0: target 2 lun 0 sd2 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@2,0 root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@2,0:b fstype ufs obio0 at root obio0 at obio0: obio 0x100000, sparc ipl 12 zs0 is /obio/zs@0,100000 obio1 at obio0: obio 0x0, sparc ipl 12 zs1 is /obio/zs@0,0 (here we freeze)
According to Artyom's OBP output, the next line displayed should identify the CPU but we don't ever seem to get there. Looking at various symbols within the kernel, it appears as if we spend a short time in some kind of CPU speed detection routine (a loop of several seconds with lots of get_hrtime* type calls) before bailing out. Alas at the moment, kadb doesn't work which means since these calls are coming from a module, I don't have much in the symbol names to work with.
Talking of kadb, if I try and invoke it at the moment, I get this:
Configuration device id QEMU version 1 machine id 32 CPUs: 1 x FMI,MB86904 UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Apr 5 2011 08:40 Type 'help' for detailed information
0 > boot cdrom:d kadb -kdv 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: 119204+222573+28987 Bytes kadb: kadb: kernel/unix Size: 259040+54154+47486 Bytes /platform/SUNW,SPARCstation-5/kernel/unix loaded - 0x95000 bytes used kadb[0]: :c Begin traceback... sp = 12f9e0 Called from fbd01700, fp=12fa50, args=9 f0086444 f0086438 0 f0258f2c 0 Called from f00859e0, fp=12fad8, args=f0258fc0 44 12fbf8 0 f0258f2c f0258f70 Called from f0082518, fp=12fb38, args=f0258fc0 0 44 0 0 fbd039e4 Called from f0081c48, fp=12fb98, args=12fbf8 f0258de8 12fbf8 fbd58800 f0040000 f0240000 Called from f00819c0, fp=12fff8, args=130168 f0258f70 f0258ed8 f0258ed0 2 130168 Called from f007ff0c, fp=130058, args=f0258c00 f0258c00 fbd54860 130168 f0258d08 f End traceback... fault and calling cmd: trap 9 sp 12f9e0 pc f0086444 npc f0086438 stopped at: kadb[0]:
I think trap #9 is "data access error" but it only occurs when booting the kernel with kadb. Looks like this will need a bit more investigation.
ATB,
Mark.