[OpenBIOS] Missing portid properties

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun May 2 21:36:36 CEST 2010


Hi everyone,

I've just committed a partial implementation of the SUNW,retain word and 
  so have moved further into booting OpenSolaris. Currently it's only a 
partial implementation because I can't get Qemu to perform a warm 
restart without crashing the guest, so I may need to revisit this later. 
Fortunately, the SUNW,retain word itself is there which now enables the 
OpenSolaris kernel to get further during boot:


0 > go
Jumping to entry point 00000000010071d8 for type 0000000000000001...
switching to new context: entry point 0x10071d8 stack 0x00000000ffe02a91
/
panic[cpu0]/thread=180e000: portid not found

000000000180b750 unix:fill_cpu+418 (ffffffffffe2fbd8, 10b81b0, 10b83d0, 
0, 10bac00, ffffffffffffffff)
   %l0-3: 00000000018127c0 00000000010b81b8 00000000010b8000 
ffffffffffffffff
   %l4-7: 0000000000000000 0000000000000004 00000000ffe2fbd8 
0000000000000004
000000000180b870 unix:map_wellknown+124 (ffffffffffe2fbd8, 0, 0, 
180b940, 0, 10b8188)
   %l0-3: 0000000000000001 0000000000000000 0000000000000000 
ffffffffffffffff
   %l4-7: 0000000000000000 00000000010b8000 0000000000000000 
000000000180b92c
000000000180b960 unix:map_wellknown_devices+80 (0, f7, 0, 10bb000, 
10bb000, 10b8000)
   %l0-3: 0000000001812c00 0000000000002000 00000000010b8000 
0000000000000000
   %l4-7: 000000000183ac00 0000000001812400 0000000000000010 
0000000000000000
000000000180ba20 unix:mlsetup+308 (180c000, 180bec0, 10b6548, 180c000, 
2000, 180e000)
   %l0-3: 000000000180e000 0000000070002000 0000000000000000 
000000000183ac00
   %l4-7: 0000000000000000 000000000180c000 0000000070002000 
0000000000000000


Looking through the OpenSolaris source code[1], it appears that 
fill_cpu() is expecting a portid property on the CPU nodes. Also 
searching further within the same file, it seems have_pci() is 
expecting a portid property on the PCI bus node too.

Does anyone with experience with real Sun kit know what the portid 
property for both the CPU and PCI device should be set to? It's fairly 
obvious that it's an integer, but I'm not sure how it should reflect the 
virtual hardware.


ATB,

Mark.

[1] 
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/sun4u/os/fillsysinfo.c

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