j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Stefan Reinauer wrote:
Welcome to OpenBIOS v1.0RC1 built on Jun 5 2006 15:07 Type 'help' for detailed information
[sparc] Kernel already loaded OBP version 3, revision 2.25 (plugin rev 2) Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved.
NetBSD 3.0 (GENERIC) #0: Mon Dec 19 04:01:27 UTC 2005 builds@b3.netbsd.org:/home/builds/ab/netbsd-3-0-RELEASE/sparc/200512182024Z-ob j/home/builds/ab/netbsd-3-0-RELEASE/src/sys/arch/sparc/compile/GENERIC total memory = 127 MB avail memory = 120 MB bootpath: data fault: pc=0xf02a4f3c addr=0x7ff000 sfsr=126<PERR=0,LVL=1,AT=1,FT=1,FAV,OW> panic: kernel fault halted
It's been quite a while since I last played with NetBSD and OF. The last was with a PowerPC board. As I recall, NetBSD makes heavy use of the client-interface callbacks to get some important info.
One of my tricks with SmartFirmware was to load the entire NetBSD kernel (builtin ELF loader), turn on tracing, then try to boot. Any callbacks etc would nicely print out as they were executed, so it was a lot easier to see at which point it was failing.
I also added dprintfs in the NBSD routines that performed the various calls to OF. The usual debugging stuff. 'Course this requires having a cross-compile environment handy to build custom NBSD kernels to test.
Booting Solaris was a whole new level of pain. A lot of Sun's intermediate boot-loaders made heinous use of Forth and required all sorts of Sun-specific hacks to get them to run.
Booting from the NetBSD 3.0 CD (sparccd-3.0.iso) I got an exception, since the a.out header shows some weird values:
Welcome to OpenBIOS v1.0RC1 built on Jun 5 2006 15:07 Type 'help' for detailed information
[sparc] Booting file 'cdrom' with parameters '<NULL>' Loading a.out image... N_TXTADDR: 0x00002000 (0x30800007 bytes) N_TXTOFF : 0x00000020 (0x00000200) N_DATADDR: 0x30802007 (0 bytes) Loaded 8388615(0x30800007) bytes entry point is 0x4000 Jumping to entry point... Unhandled Exception 0x00000002 PC = 0x00000000 NPC = 0x00000004 Stopping execution
This sure looks like it's trying to jump through a NULL pointer.
* Parag Patel parag@codegen.com [060606 04:02]:
bootpath: data fault: pc=0xf02a4f3c addr=0x7ff000 sfsr=126<PERR=0,LVL=1,AT=1,FT=1,FAV,OW> panic: kernel fault halted
It's been quite a while since I last played with NetBSD and OF. The last was with a PowerPC board. As I recall, NetBSD makes heavy use of the client-interface callbacks to get some important info.
This part seems very different on Sparc32. I did not know some weeks ago, but OpenBoot until very late versions does not use the client interface but a data structure called "romvec" (arch/sparc32/romvec.c) that contains several data pointers and callbacks to different OF functionsThis part seems very different on Sparc32. I did not know some weeks ago, but OpenBoot until very late versions does not use the client interface but a data structure called "romvec" (arch/sparc32/romvec.c) that contains several data pointers and callbacks to different OF functions..
One of my tricks with SmartFirmware was to load the entire NetBSD kernel (builtin ELF loader), turn on tracing, then try to boot. Any callbacks etc would nicely print out as they were executed, so it was a lot easier to see at which point it was failing.
Interesting. Loading the kernel at once. The ELF kernel loads fine, but the CD comes with an a.out kernel that has a wrong "text" size and no data size. Since it loads directly from the CD device as opposed to from a filesystem I have no idea how much data to load and how to parse it. :-(
Loaded 8388615(0x30800007) bytes entry point is 0x4000 Jumping to entry point... Unhandled Exception 0x00000002 PC = 0x00000000 NPC = 0x00000004 Stopping execution
This sure looks like it's trying to jump through a NULL pointer.
http://mail-index.netbsd.org/port-sparc/2000/09/12/0000.html
due to some compatibility NetBSD provides a faked a.out header that contains valid opcodes.
Booting Solaris was a whole new level of pain. A lot of Sun's intermediate boot-loaders made heinous use of Forth and required all sorts of Sun-specific hacks to get them to run.
Does a version of Smart Firmware boot Solaris on Sparc? Any chance there's some hint?
Stefan