Subject: evbppc - IBM405EP - Intrinsyc Cerfcube
To: None <tech-embed@netbsd.org>
From: Jim Higgins <jhiggins@alektrona.com>
List: tech-embed
Date: 11/28/2006 11:56:45
I am looking for some help/guidance to solve a problem porting NetBSD 
3.0 to the IBM405EP Intrinsyc Cerfcube.

The kernel boots and completes auto configuration, but init hangs 
(kernel continues to respond to pings).  If I break init and restart it 
then it reports signal 11.  When a simple statically linked test program 
is used in place of init, it runs correctly (system calls work, heap and 
stack allocations work).  If the same test program is dynamically linked 
it fails in various ways.  The NFS traffic shows it reading ld.elf_so 
and libc, but somewhere it breaks.  It does not trap on the same address 
everytime.  I have tried using a memory file system instead of NFS, but 
the same problem occurred.

Any insights? Anyone using NetBSD 3.x with a 405EP?

Thanks in advance,
Jim

PPCBoot 2.0.0 (Dec  5 2003 - 14:57:54)

CPU:   IBM PowerPC 405EP? (PVR=51210950) at 266.333 MHz (PLB=133, 
OPB=66, EBC=44 MHz)
            16 kB I-Cache 16 kB D-Cache
**************************************************
** PowerPC Boot 2.0.0 - 1.0                     **
** Copyright 2002,2003 Intrinsyc Software Inc.  **
** Version: 1.0-RELEASE                         **
** Support: http://support.intrinsyc.com        **
**************************************************
AMD NOR and NAND flash supported
Board: Intrinsyc IceCube
         VCO: 799 MHz
         PLLA:266 MHz
         CPU: 266 MHz
         PLB: 133 MHz
         OPB: 66 MHz
         EPB: 44 MHz
         PCI: 66 MHz
I2C:   ready
DRAM:  32 MB
RAM test: 32 MB - OK
FLASH:  2 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> tftp
ENET Speed is 10 Mbps - HALF duplex connection
ARP broadcast 1
TFT######
done
Bytes transferred = 28704 (7020 hex)
=> tftp 0x800000 ob2
ENET Speed is 10 Mbps - HALF duplex connection
ARP broadcast 1
TFTP from server 192.168.6.212; our IP address is 192.168.6.232
Filename 'ob2'.
Load address: 0x800000
Loading: ###########...
done
Bytes transferred = 2953424 (2d10d0 hex)
=> bootm 0x1c00000
## Booting image at 01c00000 ...
    Image Name:   2nd stage
    Image Type:   PowerPC NetBSD Kernel Image (uncompressed)
    Data Size:    28640 Bytes = 27.10 kB
    Load Address: 01c00000
    Entry Point:  01c00040
    Verifying Checksum ... OK
    XIP Kernel Image ... OK
## Transferring control to NetBSD stage-2 loader (at address 01c00040) ...?
 >> NetBSD/powerpc PPCBoot stage-2 loader, Revision 1.1
 >> (jhiggins@bemused.alektrona.com, Wed Nov 15 03:41:35 EST 2006)

2672828+237252 [124000+111436]=0x300280

## Transferring control to NetBSD (at address 0x25000) ...

ABab12cC1Dstartkernel:0 endkernel:2f8000
+2000000,
00000000-02000000 -> 002f8000-02000000 = 1d08000
Board config data:
   usr_config_ver = 1234ROM_SW_VER
   rom_sw_ver = ROM_SW_VER
   mem_size = 33554432
   mac_address_local = 00:01:02:03:05:06
   mac_address_pci = 06:07:08:09:0a:0b
   processor_speed = 266666666
   plb_speed = 133333333
   pci_speed = 33333333
Loaded initial symtab at 0x264a6c, strtab at 0x283304, # entries 7734
1Copyright (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 (OPENBLOCKS266) #85: Mon Nov 27 13:16:54 EST 2006
 
jhiggins@bemused.alektrona.com:/alk/ppc1/usr/src/sys/arch/evbppc/compile/OPENBLOCKS266
Model: OpenBlockS266 IBM PowerPC 405GPr Board
total memory = 32768 KB
avail memory = 29392 KB
plb0 (root)
cpu0 at plb0: 266MHz Version 0x5121 (Revision 9.80)
Instruction cache size 0 line size 4
Data cache size 0 line size 4
PVR: owner 512 core family 1 cache 2 version 5 asic 10
ecc0 at plb0 irq 16: ECC controller
opb0 at plb0
com0 at opb0 addr 0xef600300 irq 0: ns16550a, working fifo
com0: console
com1 at opb0 addr 0xef600400 irq 1: ns16550a, working fifo
emac0 at opb0 addr 0xef600800 irq 9: 405GP EMAC
emac0: interrupting at irqs 9 .. 15
emac0: Ethernet address 00:01:02:03:05:06
ukphy0 at emac0 phy 1: Generic IEEE 802.3u media interface
ukphy0: OUI 0x1000e8, model 0x0003, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ukphy1 at emac0 phy 2: Generic IEEE 802.3u media interface
ukphy1: OUI 0x1000e8, model 0x0003, rev. 0
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
gpio at opb0 addr 0xef600700 not configured
gpiic0 at opb0 addr 0xef600500 irq 2: On-Chip IIC controller
iic0 at gpiic0: I2C bus
xrtc0 at iic0 addr 0x6f: Xicor X1226 Real-time Clock/NVRAM
wdog0 at opb0: 4 second period
pbus at plb0 not configured
biomask 1c00 netmask 1c00 ttymask 1c00
Setting PIT to 266666666/100 = 2666666
root device: emac0
dump device:
file system (default generic): nfs
root on emac0
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server: 192.168.6.212
nfs_boot: my_addr=192.168.6.232
nfs_boot: my_mask=255.255.255.0
root on 192.168.6.212:/alk/ppc1/usr/src/destdir.evbppc
root time: 0x456b369f
xrtc0: xrtc_clock_read: failed to read rtc at 0x0
xrtc0: xrtc_clock_read: failed to read rtc at 0x0
inittodr: Clock has lost 13479 day(s) - CHECK AND RESET THE DATE.
warning: no /dev/console
init path (default /sbin/init):
init: copying out path `/sbin/init' 11
ELF_load_file: entry
ELF_load_file: after mount point
ELF_load_file: loop
ELF_load_file: entry3960
ELF_load_file: loop
ELF_load_file: loop
ELF_load_file: return 0


see what is happening here
Stopped in pid 1.1 (init) at    netbsd:cpu_Debugger+0x10:       lwz 
r0, r1, 0
x14
db> c

point 1

  lr   :0x41843b50
  cr   :0x42000002
  xer  :0x20000000
  ctr  :0x41843b1c
  srr0 :0x4184a7c8
  srr1 :0xc030
  dear :0x46795280
  dsisr:0x0
  exc  :0x1100
  tfx0 :0x800000
  tfx1 :0x3
panic: what the heck!
Stopped in pid 1.1 (init) at    netbsd:cpu_Debugger+0x10:       lwz 
r0, r1, 0
x14
db>
(