[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