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

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Jan 25 18:51:31 CET 2009


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...


ATB,

Mark.

-- 
Mark Cave-Ayland
Sirius Corporation - The Open Source Experts
http://www.siriusit.co.uk
T: +44 870 608 0063



More information about the OpenBIOS mailing list