[OpenBIOS] Solaris anyone?

Artyom Tarasenko atar4qemu at gmail.com
Tue Jun 7 23:28:30 CEST 2011


On Mon, Jun 6, 2011 at 9:42 PM, Mark Cave-Ayland
<mark.cave-ayland at 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 at 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 at 0,10000000/sbus at 0,10001000/espdma at 5,8400000
>> /iommu at 0,10000000/sbus at 0,10001000/espdma at 5,8400000/esp at 5,8800000 (esp0):
>> esp-options=0x46
>> esp0 at dma0: SBus slot 5 0x8800000 sparc ipl 4
>> esp0 is /iommu at 0,10000000/sbus at 0,10001000/espdma at 5,8400000/esp at 5,8800000
>> sd2 at esp0: target 2 lun 0
>> sd2 is
>> /iommu at 0,10000000/sbus at 0,10001000/espdma at 5,8400000/esp at 5,8800000/sd at 2,0
>> root on
>> /iommu at 0,10000000/sbus at 0,10001000/espdma at 5,8400000/esp at 5,8800000/sd at 2,0:b
>> fstype
>> ufs
>> obio0 at root
>> obio0 at obio0: obio 0x100000, sparc ipl 12
>> zs0 is /obio/zs at 0,100000
>> obio1 at obio0: obio 0x0, sparc ipl 12
>> zs1 is /obio/zs at 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 at 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 at 0,10000000/sbus at 0,10001000/SUNW,tcx at 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 at 0,10000000/sbus at 0,10001000/ledma at 5,8400010/le at 5,8c00000
>> pseudo-device: fssnap0
>> fssnap0 is /pseudo/fssnap at 0
>> sbusmem0 at sbus0: SBus slot 0 0x0
>> sbusmem0 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 0,0
>> sbusmem1 at sbus0: SBus slot 1 0x0
>> sbusmem1 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 1,0
>> sbusmem2 at sbus0: SBus slot 2 0x0
>> sbusmem2 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 2,0
>> sbusmem3 at sbus0: SBus slot 3 0x0
>> sbusmem3 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 3,0
>> sbusmem4 at sbus0: SBus slot 4 0x0
>> sbusmem4 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 4,0
>> sbusmem5 at sbus0: SBus slot 5 0x0
>> sbusmem5 is /iommu at 0,10000000/sbus at 0,10001000/sbusmem at 5,0
>> pseudo-device: ramdisk1024
>> ramdisk1024 is /pseudo/ramdisk at 1024
>> pseudo-device: winlock0
>> winlock0 is /pseudo/winlock at 0
>> pseudo-device: lockstat0
>> lockstat0 is /pseudo/lockstat at 0
>> pseudo-device: llc10
>> llc10 is /pseudo/llc1 at 0
>> pseudo-device: lofi0
>> lofi0 is /pseudo/lofi at 0
>> pseudo-device: fcp0
>> fcp0 is /pseudo/fcp at 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 at 0,10000000/sbus at 0,10001000/SUNW,CS4231 at 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 at 0,10000000/sbus at 0,10001000/SUNW,CS4231 at 4,c000000
" name" delete-property
device-end
boot cdrom:d -vs

should do it.
Nathan, can you check?

Artyom
-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/



More information about the OpenBIOS mailing list