Port-sandpoint archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

revival of NetBSD/sandpoint



NetBSD/sandpoint has revived.  It's up and running on AmPro
EnCorePP1 board in mult-user mode.  It was found that the source
of whole issue was i8259 interrupt handling.  Tim Rightnour made
a fix around there and brought refreshing improvement for this port.
Without the fix the initial inquery of /bin/sh path can not take any
console input.

http://mail-index.netbsd.org/source-changes/2007/12/11/0070.html

This port needs more work to iron out some stability issue during
heavy load, however, overall efforts should be done easier since
standard working NetBSD environment is now available for deep
kernel debugging.

Due to the very low profile of HW popularity the significance of
this port is limited.  During this development efforts, we made
LIBSA ELF bootloader by NFS.  It's known useful combined with
Moto DINK32 and PPCboot (popular U-Boot predecessor) to
make possible a solid and comfortable development cycle.  The
byproduct should be a good vihecle to bring up any NetBSD
porting.  It can become a self-standing complete bootloader
when IDE block device driver is added.

This revival was made possible by innovative work by Micrel Lorenz
and Tim Rightnour.  The "extensible PIC framework," which is
found in powerpc/pic/ directory, is so versatile and has very large
significance.  Using this framework powerpc can be easily
adapted for new interrupt controller schemes.  Examples out of my
head are;
- Freescale MPC8349/8315 family
the interrupt controller, now called IPIC, has a different design from
original OpenPIC standard.
- Tundra Semiconductor Tsi109/110 descendents of Moto MPC107/108 system controller and have
OpenPIC-like extended interrupt design.

powerpc/pic totally eliminated agonizing extintr.c adaption.  All to do
is to make and add new pic_xxx.c in powerpc/pic/ directory.

The following is a complete boot sequence from EnCorePP1 PPCboot
cmd line;

PPCBoot 1.1.4 (Sep 26 2003-12:44:23), (SW04794B,A)

CPU:   MPC8245 Revision 16.20 at 300 MHz: 16 kB I-Cache 16 kB D-Cache
Board: Encore PP1 Local Bus at 100 MHz
DRAM:  128 MB
Relocating 7f00000 to 7ebbfa8
FLASH:  2 MB
*** Warning - bad CRC, using default environment

PCI:   scanning bus for PCI devices ...OK
In:    serial
Out:   serial
Err:   serial
IDE: Bus 0: Status 0x60 Error (no IRQ) dev 0 blk 0: status 0x20
Error (no IRQ) dev 1 blk 0: status 0x20
Hit any key to stop autoboot: 0 No load address provided
=> dhcp
ENET Addr: 0:40:53:6:cd:c6
..BOOTP broadcast 0
BOOTP FILENAME: DHCP Bootfile: netboot.bin DEFAULT: DHCP Bootfile: netboot.bin
DEFAULT: netboot.bin
DHCP client bound to address 192.168.24.61
ARP broadcast 1
TFTP from server 192.168.24.24; our IP address is 192.168.24.61
Filename 'netboot.bin'.
Load address: 0x1000000
Loading: ############
done
Bytes transferred = 60632 (ecd8 hex)
=> go 1000000
## Starting application at 0x01000000 ...

NetBSD/sandpoint Boot, Revision 1.1
(nisimura%paq12.local@localhost, Wed Dec 12 11:28:23 JST 2007)
Encore PP1, 128MB SDRAM, 8086.1209 NIC 00:25:00
00:00:00: chip 1057.0006 card ffff.ffff rev 12 class 06.00.00 hdr 00
mem base 80000000 size 1000
00:22:00: chip 1106.0686 card 0000.0000 rev 40 class 06.01.00 hdr 80
00:22:01: chip 1106.0571 card 0000.0000 rev 06 class 01.01.8f hdr 00
i/o base 1000 size 10
i/o base 1010 size 10
i/o base 1020 size 10
i/o base 1030 size 10
i/o base 1040 size 10
00:22:02: chip 1106.3038 card 0925.1234 rev 1a class 0c.03.00 hdr 00
i/o base 1060 size 20
00:22:03: chip 1106.3038 card 0925.1234 rev 1a class 0c.03.00 hdr 00
i/o base 1080 size 20
00:22:04: chip 1106.3057 card 0000.0000 rev 40 class 00.00.00 hdr 00
00:22:05: chip 1106.3058 card 0000.0000 rev 50 class 04.01.00 hdr 00
i/o base 1100 size 100
i/o base 1200 size 10
i/o base 1210 size 10
00:25:00: chip 8086.1209 card 0040.5300 rev 09 class 02.00.00 hdr 00
mem base 80001000 size 1000
i/o base 1240 size 40
mem base 80020000 size 20000
pin C -> irq 5, level
pin D -> irq 11, level
MAC address 00:40:53:06:cd:c6, PHY 1 (02a8.0154)
Try NFS load /netbsd
2221184+170848 [140032+134958]=0x28b5dc
entry=0x00090000, ssym=0x002d7fe0, esym=0x0031b5dc
Stopped in pid 0.1 (system) at  netbsd:cpu_Debugger+0x10:       lwz     r0, r1, 
0x14
db> c
00:00:00 0x78 = fc000000
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
   2006, 2007
   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 4.99.41 (ENCPP1) #28: Wed Dec 12 10:19:57 JST 2007
       
nisimura%paq12.local@localhost:/store/HEAD/usr/src/sys/arch/sandpoint/compile/ENCPP1
total memory = 128 MB
avail memory = 121 MB
OpenPIC Version 1.2: Supports 1 CPUs and 26 interrupt sources.
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
cpu0 at mainbus0: 8245 (Revision 1.4), ID 0 (primary)
cpu0: HID0 90c000<DOZE,DPM,ICE,DCE>, powersave: 1
eumb0 at mainbus0
com2 at eumb0: ns16550a, working fifo
ociic0 at eumb0
pci0 at mainbus0 bus 0
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Motorola MPC8245 "Kahlua II" Host Bridge (rev. 0x12)
pcib0 at pci0 dev 22 function 0: VIA Technologies VT82C686A PCI-ISA Bridge 
(rev. 0x40)
pcib0: PIRQ[0-3] not used
viaide0 at pci0 dev 22 function 1
viaide0: VIA Technologies VT82C686A (Apollo KX133) ATA100 controller
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel ignored (disabled)
VIA Technologies VT82C686A SMBus Controller (miscellaneous prehistoric, 
revision 0x40) at pci0 dev 22 function 4 not configured
fxp0 at pci0 dev 25 function 0: i82559S Ethernet, rev 9
line 25, pin A = EPIC 2
fxp0: interrupting at irq 18
fxp0: May need receiver lock-up workaround
fxp0: Ethernet address 00:40:53:06:cd:c6
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
mcclock0 at isa0 port 0x70-0x71: mc146818 compatible time-of-day clock
pcppi0: attached to attimer0
biomask 8000018 netmask 8000018 ttymask 8000018
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "mftb" frequency 25000000 Hz quality 100
boot device: fxp0
root on fxp0
nfs_boot: trying BOOTP
nfs_boot: BOOTP next-server: 192.168.24.24
nfs_boot: my_name=encpp1.local
nfs_boot: my_domain=local
nfs_boot: my_addr=192.168.24.61
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.24.1
root on 192.168.24.24:/store/exports/powerpc
root file system type: nfs
mc146818_gettime: timeout
WARNING: preposterous TOD clock time
WARNING: using filesystem time
WARNING: CHECK AND RESET THE DATE!
Enter pathname of shell or RETURN for /bin/sh: Terminal type? [unknown] Terminal type is unknown.
We recommend creating a non-root account and using su(1) for root access.
encpp1#

Home | Main Index | Thread Index | Old Index