On Mon, Jun 6, 2011 at 9:42 PM, Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk wrote:
On 06/06/11 04:37, Nathan Kunkee wrote:
My Solaris 9 04/04 image seems to hang in the same spot:
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 30 2011 02:11 Type 'help' for detailed information Trying disk... No valid state has been set by load or init-program
0 > boot cd:d -k -v -s 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: 0x45c9f+0xdaf1+0x1d6a7 Bytes SunOS Release 5.9 Version Generic_112233-12 32-bit Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Ethernet address = 52:54:0:12:34:56 Using default device instance data vac: enabled in write through mode mem = 131072K (0x8000000) avail mem = 108797952 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 cpu0: FMI,MB86904 (mid 0 impl 0x0 ver 0x5 clock 170 MHz) Configuring /dev and /devices pseudo-device: devinfo0 devinfo0 is /pseudo/devinfo@0 tcx0 at sbus0: SBus slot 3 0x800000 and SBus slot 3 0x2000000 and SBus slot 3 0x4000000 and SBus slot 3 0x6000000 and SBus slot 3 0xa000000 and SBus slot 3 0xc000000 and SBus slot 3 0xe000000 and SBus slot 3 0x700000 and SBus slot 3 0x200000 and SBus slot 3 0x300000 and SBus slot 3 0x0 and SBus slot 3 0x240000 and SBus slot 3 0x280000 SBus level 5 sparc ipl 9 tcx0 is /iommu@0,10000000/sbus@0,10001000/SUNW,tcx@3,800000 tcx0: revision 0, screen 1024x768 ledma0 at sbus0: SBus slot 5 0x8400010 le0 at ledma0: SBus slot 5 0x8c00000 sparc ipl 6 le0 is /iommu@0,10000000/sbus@0,10001000/ledma@5,8400010/le@5,8c00000 pseudo-device: fssnap0 fssnap0 is /pseudo/fssnap@0 sbusmem0 at sbus0: SBus slot 0 0x0 sbusmem0 is /iommu@0,10000000/sbus@0,10001000/sbusmem@0,0 sbusmem1 at sbus0: SBus slot 1 0x0 sbusmem1 is /iommu@0,10000000/sbus@0,10001000/sbusmem@1,0 sbusmem2 at sbus0: SBus slot 2 0x0 sbusmem2 is /iommu@0,10000000/sbus@0,10001000/sbusmem@2,0 sbusmem3 at sbus0: SBus slot 3 0x0 sbusmem3 is /iommu@0,10000000/sbus@0,10001000/sbusmem@3,0 sbusmem4 at sbus0: SBus slot 4 0x0 sbusmem4 is /iommu@0,10000000/sbus@0,10001000/sbusmem@4,0 sbusmem5 at sbus0: SBus slot 5 0x0 sbusmem5 is /iommu@0,10000000/sbus@0,10001000/sbusmem@5,0 pseudo-device: ramdisk1024 ramdisk1024 is /pseudo/ramdisk@1024 pseudo-device: winlock0 winlock0 is /pseudo/winlock@0 pseudo-device: lockstat0 lockstat0 is /pseudo/lockstat@0 pseudo-device: llc10 llc10 is /pseudo/llc1@0 pseudo-device: lofi0 lofi0 is /pseudo/lofi@0 pseudo-device: fcp0 fcp0 is /pseudo/fcp@0 NOTICE: Couldn't set value (../../sun/io/audio/sada/drv/audiocs/audio_4231.c, Line #1759 0x00 0x88) audio may not work correctly until it is stopped and restarted audiocs0 at sbus0: SBus slot 4 0xc000000 SBus level 5 sparc ipl 9 audiocs0 is /iommu@0,10000000/sbus@0,10001000/SUNW,CS4231@4,c000000
Not having anything to compare to, are the tcx0 and sbusmem entries correct?
Oh that's interesting - I always thought that the hangs were being caused by OpenBIOS reporting 4 CPUs by default whilst QEMU only provides 1.
Where does it report 4 CPUs? I see only one in the device tree.
But this trace strongly points towards the audio driver being the culprit instead.
To be honest I doubt it. I'd rather suspect networking problem with le (aka pcnet), which might be improperly initialized either in qemu or in OpenBIOS. OBP under qemu tries netboot first, so it initializes the le card before Solaris gets it. So the fact that the card is properly initialised under OBP may be just a co-incidence.
Anyway it should be easy to check - just kick the audio out of the device tree. No recompilation of OpenBIOS should be necessary, something like
cd /iommu@0,10000000/sbus@0,10001000/SUNW,CS4231@4,c000000 " name" delete-property device-end boot cdrom:d -vs
should do it. Nathan, can you check?
Artyom