[OpenBIOS] [sparc64] Problematic pci at 0 and pci nodes in the device tree

Blue Swirl blauwirbel at gmail.com
Sun Jan 25 21:47:14 CET 2009


On 1/25/09, Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk> wrote:
> Jakub Jermar wrote:
>
>
> > I don't inspect the forth dictionaries directly because I am not strong
> > in Forth. I used indirect methods like starting the sparc64 qemu without
> > specifying the boot device and then manually navigating myself in the
> > OpenBIOS device tree using the standard commands such as dev / ls and
> > .properties.
> >
>
>  Yeah, I am totally new to Forth and so am struggling a little to get to
> grips with the language. However there is a great tutorial on the OLPC
> website which explains how OpenBIOS works there which has been very helpful
> - http://wiki.laptop.org/go/Forth_Lesson_0 if you want the
> lowdown.
>
>
> > The other method was printing the device tree nodes and their properties
> > as they were discovered by the HelenOS boot loader. The loader uses the
> > client interface provided by OpenBIOS both to learn about those nodes
> > and properties and also to print them.
> >
> > In the case of this particular problem, I simply noticed that the path
> > used by the screen alias was too ambiguous and the /pci node looked
> > strange and didn't have any children.
> >
>
>  The pci node does look strange on Sparc64. At the moment I currently see
> this:
>
>
>  0 > show-devs
>  ffd899a0 /
>  ffd89b78 /aliases
>  ffd89ca0 /openprom (BootROM)
>  ffd92a30 /openprom/client-services
>  ffd89f58 /options
>  ffd8a038 /chosen
>  ffd8a1d8 /builtin
>  ffd8a300 /builtin/console
>  ffd924f8 /packages
>  ffd940a0 /packages/disk-label
>  ffd947a0 /packages/cmdline
>  ffd95a60 /packages/deblocker
>  ffd960b8 /packages/misc-files
>  ffd96640 /packages/sun-parts
>  ffd94da0 /memory at 0,0
>  ffd94ef0 /virtual-memory
>  ffd96900 /pci at 0,80000000 (pci)
>  ffd970c0 /pci at 0,80000000/pci at 0 (pci)
>  ffd977f8 /pci at 0,80000000/pci at 0/pci at 0 (pci)
>  ffd97f08 /pci at 0,80000000/pci at 0/pci at 0/QEMU,VGA at 0 (display)
>  ffd987a8 /pci at 0,80000000/pci at 0/pci at 0/ebus at 0 (pci)
>  ffd98f38 /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/fdthree at 0
> (block)
>  ffd99438 /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/su at 0,1
> (serial)
>  ffd996f8 /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/kb_ps2
> (keyboard)
>  ffd999c8 /pci at 0,80000000/pci at 0/pci at 0/NE2000 at 0 (network)
>  ffd9a090 /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0 (pci-ide)
>  ffd9a808 /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide0 at 0,5
> (ide)
>  ffd9aad8
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide0 at 0,5/disk at 0
> (block)
>  ffd9b128 /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide1 at 0,6
> (ide)
>  ffd9b3f8
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide1 at 0,6/cdrom at 0
> (block)
>  ffd9ba48 /SUNW,UltraSPARC-II (cpu)
>  ffd9bda0 /SUNW,UltraSPARC-II/mmu
>   ok
>  0 > test-all
>  Testing device /aliases: no self-test method.
>  Testing device /openprom: no self-test method.
>  Testing device /openprom/client-services: no self-test method.
>  Testing device /options: no self-test method.
>  Testing device /chosen: no self-test method.
>  Testing device /builtin: no self-test method.
>  Testing device /builtin/console: no self-test method.
>  Testing device /packages: no self-test method.
>  Testing device /packages/disk-label: no self-test method.
>  Testing device /packages/cmdline: no self-test method.
>  Testing device /packages/deblocker: no self-test method.
>  Testing device /packages/misc-files: no self-test method.
>  Testing device /packages/sun-parts: no self-test method.
>  Testing device /memory at 0,0: no such device.
>  Testing device /virtual-memory: no self-test method.
>  Testing device /pci at 0,80000000: no such device.
>  Testing device /pci at 0,80000000/pci at 0: no such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0: no such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/QEMU,VGA at 0: no
> such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/ebus at 0: no such
> device.
>  Testing device
> /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/fdthree at 0: no such
> device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/su at 0,1:
> no such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/ebus at 0/kb_ps2:
> no such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/NE2000 at 0: no
> such device.
>  Testing device /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0: no
> such device.
>  Testing device
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide0 at 0,5: no such
> device.
>  Testing device
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide0 at 0,5/disk at 0: no
> such device.
>  Testing device
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide1 at 0,6: no such
> device.
>  Testing device
> /pci at 0,80000000/pci at 0/pci at 0/pci-ata at 0/ide1 at 0,6/cdrom at 0: no
> such device.
>  Testing device /SUNW,UltraSPARC-II: no self-test method.
>  Testing device /SUNW,UltraSPARC-II/mmu: no self-test method.
>   ok
>  0 >
>
>
>  I think the repeated pci at 0 is not right, and the fact that during testing
> "no such device" is reported cannot be a good thing. Off to dig further...

No, it should really be like:
/pci at 1f,0/pci at 1/pci at 1/

The first device is UPA-PCI device, then two PCI bridges.



More information about the OpenBIOS mailing list