[OpenBIOS] Solaris 8: ESP device enumeration issue

Blue Swirl blauwirbel at gmail.com
Thu Feb 17 21:55:09 CET 2011


On Thu, Feb 17, 2011 at 5:10 PM, Mark Cave-Ayland
<mark.cave-ayland at siriusit.co.uk> wrote:
> Hi all,
>
> So with the previous patch to change the initial timer values applied to SVN
> trunk, we now get much further on a Solaris 8 boot:
>
>
> 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 Feb 17 2011 14:56
>  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 at 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 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
> qemu: fatal: Trap 0x29 while interrupts disabled, Error state
> pc: f004127c  npc: f0041280
> General Registers:
> %g0-7: 00000000 f02441a0 04400fc1 00007000 f5af4e40 f0243b88 00000000
> f0244020
>
> Current Register Window:
> %o0-7: ffff8000 00008000 00000f00 044000c0 f5948688 ffebc000 fbe3a4b8
> f0041be4
> %l0-7: 04400fc0 f0041c78 f0041c7c 00000001 0000010f 00000001 0000002a
> fbe39f78
> %i0-7: ffff8000 00008000 00000f00 044000c1 00000002 ffebc000 fbe3a020
> f0041be4
>
> Floating Point Registers:
> %f00: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f04: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f08: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f12: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f16: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f20: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f24: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> %f28: 000000000.000000 000000000.000000 000000000.000000 000000000.000000
> psr: 04000fc0 (icc: ---- SPE: SP-) wim: 00000001
> fsr: 00080000 y: 00000000
> Aborted
>
>
> From Artyom's OBP output, we can see that the next few lines that should
> appear on the console look like this:
>
> 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
>
> Therefore the crash is being caused by Solaris either trying to access the
> esp device or doing some kind of enumeration on the ESP bus.

ESP 'reg' property is not correct:
                    reg:  00000005.08800000.00000040

reg                       00000005 08800000   00000010

Could that cause the fault?



More information about the OpenBIOS mailing list