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

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Thu Jan 22 12:41:59 CET 2009


Hi Blue Swirl,

 > First, you need binutils and gcc. For cross compiling I'd recommend
 > sparc64-elf target, then you avoid a lot of unneeded Linux
 > headers/libgcc stuff. At least binutils 2.18 and gcc 4.2.4 build
 > working binaries. I still don't have a working cross gdb for Sparc64,
 > the obvious configuration (--target=sparc64-elf) doesn't work.

I now have a cross-compile environment setup after a lot of effort. The 
hardest part was building a cross-gdb for Sparc64 as all I ever received 
was the "Reply packet too long error".

I ended up spending about half a day going through the gdb sources until 
I found that unless you specify a platform with configure when you come 
to build gdb, the extra 64-bit register sets don't get built in!

In the end, I went for "./configure --target=sparc64-linux" and 
magically everything started to work. If I build and install the 
non-stripped Sparc64 OpenBIOS built-in image, I can then do this:


qemu-system-sparc64 .... -s -S
sparc64-linux-gdb

(gdb) file openbios-sparc64
Reading symbols from openbios-sparc64...done.
(gdb) break openbios
Breakpoint 1 at 0xffd0d014: file arch/sparc64/openbios.c, line 516.
(gdb) target remote :1234
Remote debugging using :1234
[New Thread 1]
0x000001fff0000020 in ?? ()
(gdb) cont
Continuing.

Breakpoint 1, openbios () at arch/sparc64/openbios.c:516
516             const struct hwdef *hwdef = NULL;


Cool :)


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