Subject: Re: 7025-F40 Support
To: Tim Rightnour <root@garbled.net>
From: Cory Bajus <cbajus@mts.net>
List: port-prep
Date: 09/11/2006 15:16:26
Great work on this - I have tried the 20060910 snapshot on my F40
and it works great (except for slots 1&2 as you mention below).

On Wed, Sep 06, 2006 at 11:21:39PM -0700, Tim Rightnour wrote:
> One caveat though, The F40 has a secondary PCI bus, which we do not currently
> support.  This PCI bus covers two of the PCI slots on the board.. (Possibly
> slot 1 and 2).  I will need to write specialized support for this bus, as it is
> unlike anything else in prep.  This support is not likely to make it into 4.0.

I don't think slots 1&2 are on a secondary bus.  According to the
IBM docs, slots 1-3 are in a primary bus and 4-9 are on a secondary
bus (i.e. behind a ppb).  The 7043-140 is similar, with slots 1&2
primary and 3-5 secondary.  What makes slots 1&2 unique on F40's is
that they are 64-bit slots - do these need to be treated differently
by NetBSD?

Here are boot messages from my F40, with three SCSI cards in slots
1-3, and two Ethernet cards in slots 4&5.  The esiop0, esiop1, and
pcn0 devices on pci0 are on-board devices.  The esiop2 device is the
PCI SCSI card in slot 3, and pcn1 and pcn2 are the PCI Ethernet cards
in slots 4&5.  The PCI SCSI cards in slots 1&2 are not detected.

NetBSD 4.0_BETA (GENERIC) #0: Mon Sep 11 05:19:42 UTC 2006
        builds@pb:/home/builds/ab/netbsd-4/prep/200609100000Z-obj/home/builds/ab/netbsd-4/src/sys/arch/prep/compile/GENERIC
Model: IBM PPS Model 7025 (ED)
total memory = 1024 MB
avail memory = 992 MB
OpenPIC Version 1.1: Supports 4 CPUs and 16 interrupt sources.
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
cpu0 at mainbus0: 604e (Revision 2.3), ID 0 (primary)
cpu0: HID0 c084<ICE,DCE,SGE,BHT>, powersave: 1
cpu0: 233.34 MHz
pnpbus0 at mainbus0
mcclock0 at pnpbus0: port 0x70-0x71, irq 8: mc146818 compatible time-of-day clock
nvram0 at pnpbus0: port 0x74-0x75 0x76
pci0 at mainbus0 bus 0: indirect configuration space access
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: IBM product 0x003a (rev. 0x00)
esiop0 at pci0 dev 1 function 0: Symbios Logic 53c825a (fast wide scsi)
esiop0: using on-board RAM
esiop0: interrupting at irq 17
scsibus0 at esiop0: 16 targets, 8 luns per target
esiop1 at pci0 dev 2 function 0: Symbios Logic 53c825a (fast wide scsi)
esiop1: using on-board RAM
esiop1: interrupting at irq 18
scsibus1 at esiop1: 16 targets, 8 luns per target
pcn0 at pci0 dev 3 function 0: AMD PCnet-PCI Ethernet
pcn0: Am79c970A PCnet-PCI II rev 6, Ethernet address 08:00:5a:ba:a9:fd
pcn0: interrupting at irq 19
pcn0: 10base5, 10base5-FDX, 10baseT, 10baseT-FDX, auto, auto-FDX

ppb0 at pci0 dev 4 function 0: IBM 82351 PCI-PCI Bridge (rev. 0x01)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
pcn1 at pci1 dev 0 function 0: AMD PCnet-PCI Ethernet
pcn1: Am79c971 PCnet-FAST rev 5, Ethernet address 00:20:35:12:64:e6
pcn1: interrupting at irq 25
nsphy0 at pcn1 phy 1: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ukphy0 at pcn1 phy 31: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000058, model 0x0001, rev. 1
ukphy0: 10baseT, 10baseT-FDX, auto
pcn2 at pci1 dev 1 function 0: AMD PCnet-PCI Ethernet
pcn2: Am79c971 PCnet-FAST rev 6, Ethernet address 00:06:29:6c:a3:73
pcn2: interrupting at irq 26
nsphy1 at pcn2 phy 1: DP83840 10/100 media interface, rev. 1
nsphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ukphy1 at pcn2 phy 31: Generic IEEE 802.3u media interface
ukphy1: OUI 0x000058, model 0x0001, rev. 1
ukphy1: 10baseT, 10baseT-FDX, auto
esiop2 at pci0 dev 5 function 0: Symbios Logic 53c825a (fast wide scsi)
esiop2: using on-board RAM
esiop2: interrupting at irq 20
scsibus2 at esiop2: 16 targets, 8 luns per target
pcib0 at pci0 dev 6 function 0: IBM ISA Bridge w/PnP (rev. 0x03)
pcib0: PIRQ[0-3] not used
IBM MPIC (undefined subclass 0x00) at pci0 dev 7 function 0 not configured
isa0 at pcib0
lpt0 at isa0 port 0x3bc-0x3bf irq 7
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
isabeep0 at pcppi0
pcppi0: attached to attimer0
biomask 160000 netmask 61e0000 ttymask 61e0080
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: selected timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "prep_mftb" frequency 16662777 Hz quality 0
timecounter: selected timecounter "prep_mftb" frequency 16662777 Hz quality 0
Kernelized RAIDframe activated
scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
scsibus2: waiting 2 seconds for devices to settle...


> Also, at this time, support is only for uni-processor.  Dual CPU will also not
> likely make it for 4.0, but I will work on it in -current.

Hey - you've got to walk before you can run :-)