Port-ofppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: How do I run netbsd ofppc under psim simulator?
Thanks for the tips/files, I get a bit further now.
The kernel starts up but still hits a trap. I changed the tree to enable
realmode and a real disk image(don't know if it is a good disk image).
/options/real-mode? true
/phb/ide@1/cdrom@0
./device_type "block
./name "cdrom
./file "/var/ftp/incoming/ppcdisk
Here the results of running:
[nldudok1@quark incoming]$
/var/ftp/incoming/psim/freebsd/bin/powerpc-netbsd-run
-f /var/ftp/incoming/trees/cagney_tree_real
/var/ftp/incoming/netbsd_ofppc_ca
gney_half_stripped
Copyright (c) 1996, 1997, 1998, 1999, 2000
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 1.5 (MYCONF_PATCHCAEGNEY_HALF) #0: Mon Feb 18 14:37:56 CET 2002
root@vmware_netbsd2:/usr/src/cross/src/usr/src/sys/arch/ofppc/compile/MYCONF
_PATCHCAEGNEY_HALF
CPU: Version 0 (Revision 0)
total memory = 65536 KB
avail memory = 58424 KB
using 844 buffers containing 3376 KB of memory
mainbus0 (root)
ofbus0 at mainbus0
ofbus1 at ofbus0 (cpus)
cpu@0 at ofbus1 not configured
ofbus2 at ofbus0 (phb@0x80000000)
ofbus3 at ofbus2 (ide@1)
ofdisk0 at ofbus3 (cdrom@0)
ofdisk1 at ofbus3 (cdrom@0)
ofcons0 at ofbus2 (com@2)
trap type 300 at 21e2e8
Press a key to panic.
panic: trap
syncing disks... done
dumpsys: TBD
rebooting
chrp: boot called, exiting.
[nldudok1@quark incoming]$
I thought it was not possible to just "run" a netbsd kernel. So I was
trying to get a standalone ofboot started in psim which then starts the
openboot prompt which loads the kernel from a disk image.
This way I hope to be able to boot not only netbsd but also a freebsd or
linux kernel with user tools.
So I compiled ofwboot.elf from macppc branch but it complains about no
dma-alloc method and dies cleanly:
[nldudok1@quark incoming]$
/var/ftp/incoming/psim/freebsd/bin/powerpc-netbsd-run -f
/var/ftp/incoming/trees/cagney_tree_real
/var/ftp/incoming/ofwboot/ofwboot_netbsd_1.5_macppc_stripped.elf
>> NetBSD/macppc OpenFirmware Boot, Revision 1.2
>> (matt%duel.local@localhost, Thu Nov 16 17:26:57 PST 2000)
/phb@0x80000000/ide@1/cdrom@0: no dma-alloc method
The ofwboot from the ofppc branch doen't have the offending dma-alloc
code so I tried that one but it crashes on a double interrupt:
[nldudok1@quark incoming]$
/var/ftp/incoming/psim/freebsd/bin/powerpc-netbsd-run -f
/var/ftp/incoming/trees/cagney_tree_real
/var/ftp/incoming/ofwboot/ofwboot_netbsd_1.5_ofppc_stripped
>> NetBSD/ofppc OpenFirmware Boot, Revision 1.3
>> (root@vmware_netbsd2, Mon Feb 11 02:12:51 CET 2002)
cpu 1, cia 0x0: double interrupt - MSR[RI] bit clear when attempting to
deliver interrupt, cia=0x0, msr=0x3000; srr0=0x0(cia), srr1=0x0(msr);
trap-vector=0x700, trap-msr=0x1000
/var/ftp/incoming/ofwboot/ofwboot_netbsd_1.5_ofppc_stripped: Caught
signal -1 at address 0x0
Unfortunately the patches made no changes here.
I stripped everywhere the note section with powerpc-objcopy.
I must say this is a netbsd 1.5 tree. The mainbus patches were rejected
because this whole part of the code is not there in netbsd 1.5, only in
recent cvs versions. I am going to try a fresh current cvs source tree
to see if that helpes, I should be able to run the complete patch.
Otherwise I think I might try an older version of binutils, I read that
a bug was introduced in 2.8.x which prevented the ofppc branch from
running. Maybe it is still there in 2.9.x
Most importantly I now have a hardware tree which should be ok. I found
out that your tree wasn't that different from the tree I got from the
japanese netbsd mailing list.
Any reading tips on technical part of the booting proces of a kernel on
openfirmware ppc or on psim?
The most usefull document I found so far was the psim usermanual on
sources.redhat.com. It is quite clear but also not quite complete.
Greetings,
Martin
Andrew Cagney wrote:
i all,
I am trying for a while now to boot a ppc netbsd kernel under the psim
simulator but I can't get it to work.
Can anybody tell me what I need (versions and configuration file) and
where to find it.
Most information I found references dead ftp sites. Especially I don't
know what hardware tree to use. And how to compile and invoke
ofwboot. The only version I have that doesn't crash rightaway
complaines about no dma in the ide controller and then dies.
With the attached patch applied, and a current GDB,
I can get as far as:
bash-2.04# gdb /usr/src/sys/arch/ofppc/compile/GENERIC/netbsd.gdb
GNU gdb 2002-02-10-cvs
...
This GDB was configured as "powerpc-unknown-netbsd1.5ZA"...
(gdb) target sim -r 0x400000
Connected to the simulator.
(gdb) load
chirp: note descriptor missing load-base
(gdb) run
Starting program: /usr/src/sys/arch/ofppc/compile/GENERIC/netbsd.gdb
NetBSD does not yet support the "gpl,clayton".
Using generic OpenFirmware driver support.
[ no symbols available ]
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
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 1.5ZA (GENERIC) #0: Sat Feb 16 00:18:00 EST 2002
boor@localhost:/usr/src/sys/arch/ofppc/compile/GENERIC
total memory = 4096 KB
avail memory = 1388 KB
using 76 buffers containing 304 KB of memory
mainbus0 (root): gpl,clayton
cpu@0 at mainbus0 not configured
memory@0 at mainbus0 not configured
panic: unknown timebase
trap: kernel read DSI @ 0x7c3143f6 by 0x29ef14 (DSISR 0x40000000, err=14)
Press a key to panic.
panic: trap
trap: kernel read DSI @ 0x7c3143f6 by 0x29ef14 (DSISR 0x40000000, err=14)
Press a key to panic.
^C
Program received signal SIGINT, Interrupt.
0x80004004 in ?? ()
(gdb)
The first missing bit is a device tree description. Dig Dig. Found the
attached. Use it with:
target sim -f tree
The next missing bit is a disk / root file system. Wonder what happens
if I point it at /dev/wd0a ....
Andrew
------------------------------------------------------------------------
Home |
Main Index |
Thread Index |
Old Index