[OpenBIOS] Solaris anyone?

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Mon Jun 6 21:42:55 CEST 2011


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. But this trace strongly points towards the audio driver being the 
culprit instead.

(goes and reads the QEMU source)

Hmmm it looks from reading the source code that QEMU doesn't actually 
implement a proper audio device for SS-5 at all but merely provides a 
dummy device with an empty mapped region. In that case it may be 
possible to provide a simple mapping in OpenBIOS to match the one in 
QEMU which may be enough to persuade Solaris to boot.


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs



More information about the OpenBIOS mailing list