SMP functional on Sibyte 1250

Neelkanth Natu neelnatu at yahoo.com
Wed Sep 23 05:46:49 UTC 2009


Hi,

I am able to boot an SMP kernel on the Sibyte 1250 processor. This 
processor has two cores. The kernel appears to be surprisingly
stable and I am building world on it right now.

I am going to clean up the diffs for review and hopefully I'll be able
to commit this soon.

best
Neel

bootlog:

CFE> ifconfig -auto eth2; boot -elf -tftp neelnatu1:kernel.smp
eth2: Link speed: 100BaseT FDX
Device eth2:  hwaddr 00-10-18-04-04-4F, ipaddr 10.33.25.15, mask 255.255.252.0
        gateway 10.33.24.1, nameserver 10.57.158.105
Loader:elf Filesys:tftp Dev:eth2 File:neelnatu1:kernel.smp Options:(null)
Loading: 0xffffffff80100010/3206564 0xffffffff8045dfd8/200 0xffffffff8045e0a0/1504976 0xffffffff80412000/311256 Entry at 0x801331e0
Closing network.
eth2: 6536 sent, 6548 received, 12098 interrupts
Starting program at 0x801331e0

cfe_enummem: 0x0000000000000000/266948608.
cfe_enummem: 0x0000000080000000/536870912.
Ignoring 536870912 bytes of memory at 0x80000000 that is above maxmem 512MB
cfe_enummem: 0x00000000c0000000/268435456.
Ignoring 268435456 bytes of memory at 0xc0000000 that is above maxmem 512MB
cfe_enummem: 0x0000000100000000/1073741824.
Ignoring 1073741824 bytes of memory at 0x100000000 that is above maxmem 512MB
Cache info:
  icache is virtual
  picache_stride    = 8192
  picache_loopcount = 4
  pdcache_stride    = 4096
  pdcache_loopcount = 8
cpu0: Broadcom processor v2.1
  MMU: Standard TLB, 64 entries
  L1 i-cache: 4 ways of 256 sets, 32 bytes per line
  L1 d-cache: 4 ways of 256 sets, 32 bytes per line
  Config1=0x7ea351bb<MDMX,PerfCount,WatchRegs,EJTAG,FPU>
Physical memory chunk(s):
0x5ce000 - 0xfe94fff, 260861952 bytes (63687 pages)
Maxmem is 0xfe95000
pcpu is available at virtual address 0xc0000000.
KDB: debugger backends: ddb
KDB: current backend: ddb
hz=100 cyl_per_tick:650000 cyl_per_usec:650 freq:650000000 cyl_per_hz:6500000 cyl_per_stathz:6500000 cyl_per_profhz:6500000 cyl_per_sec:650000000
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-BETA2 #0: Tue Sep 22 17:03:31 PDT 2009
    neelnatu at neelnatu1:/usr/obj2/mips/neelnatu/p4/projects_mips_sibyte/src/sys/SWARM_SMP
WARNING: WITNESS option enabled, expect reduced performance.
real memory  = 266948608 (260692K bytes)
Physical memory chunk(s):
0x0065b000 - 0x0f98afff, 255000576 bytes (62256 pages)
avail memory = 253480960 (241MB)
AP #1 started!
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
random: <entropy source, Software, Yarrow>
mem: <memory>
nfslock: pseudo-device
null: <null device, zero device>
nexus0: <MIPS32 root nexus>
clock0: <Generic MIPS32 ticker> on nexus0
clock0: [FILTER]
zbbus0: <Broadcom/Sibyte ZBbus> on nexus0
zbbus0: attached.
zbbus0: Adding hinted child zbpci0
zbbus0: Adding hinted child scd0
zbbus0: Adding hinted child ata0
zbbus0: Assigning memory resource 0x100b0000/65536 to child ata0
zbbus0: Assigning irq resource 36 to child ata0
zbbus0: Adding hinted child buswatcher0
zbbus0: Assigning irq resource 17 to child buswatcher0
zbpci0: <Broadcom/Sibyte PCI I/O Bridge> on zbbus0
zbpci0: attached.
pci0: <PCI bus> on zbpci0
pci0: domain=0, physical bus=0
found->	vendor=0x166d, dev=0x0001, revid=0x02
	domain=0, bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0156, statreg=0x02a0, cachelnsz=8 (dwords)
	lattimer=0xfc (7560 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=56
	map[10]: type Prefetchable Memory, range 32, base 0x60000000, size 29, enabled
	map[18]: type Prefetchable Memory, range 32, base 0x70000000, size 28, enabled
	map[1c]: type Prefetchable Memory, range 32, base 0x71000000, size 24, enabled
	map[24]: type Prefetchable Memory, range 32, base 0x80000000, size 31, enabled
found->	vendor=0x166d, dev=0x0002, revid=0x02
	domain=0, bus=0, slot=1, func=0
	class=06-00-00, hdrtype=0x01, mfdev=0
	cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x00 (0 ns)
found->	vendor=0x1033, dev=0x0035, revid=0x43
	domain=0, bus=0, slot=5, func=0
	class=0c-03-10, hdrtype=0x00, mfdev=1
	cmdreg=0x0156, statreg=0x0210, cachelnsz=8 (dwords)
	lattimer=0xfc (7560 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns)
	intpin=a, irq=56
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0x41011000, size 12, enabled
found->	vendor=0x1033, dev=0x0035, revid=0x43
	domain=0, bus=0, slot=5, func=1
	class=0c-03-10, hdrtype=0x00, mfdev=0
	cmdreg=0x0156, statreg=0x0210, cachelnsz=8 (dwords)
	lattimer=0xfc (7560 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns)
	intpin=b, irq=57
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0x41010000, size 12, enabled
found->	vendor=0x1033, dev=0x00e0, revid=0x04
	domain=0, bus=0, slot=5, func=2
	class=0c-03-20, hdrtype=0x00, mfdev=0
	cmdreg=0x0156, statreg=0x0210, cachelnsz=8 (dwords)
	lattimer=0xfc (7560 ns), mingnt=0x10 (4000 ns), maxlat=0x22 (8500 ns)
	intpin=c, irq=58
	powerspec 2  supports D0 D1 D2 D3  current D0
	map[10]: type Memory, range 32, base 0x41013000, size  8, enabled
found->	vendor=0x14e4, dev=0x1645, revid=0x15
	domain=0, bus=0, slot=6, func=0
	class=02-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0156, statreg=0x02b0, cachelnsz=8 (dwords)
	lattimer=0xf8 (7440 ns), mingnt=0x40 (16000 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=57
	powerspec 2  supports D0 D3  current D0
	MSI supports 8 messages, 64 bit
	map[10]: type Memory, range 64, base 0x41000000, size 16, enabled
found->	vendor=0x1045, dev=0xc861, revid=0x10
	domain=0, bus=0, slot=7, func=0
	class=0c-03-10, hdrtype=0x00, mfdev=0
	cmdreg=0x0157, statreg=0x0280, cachelnsz=8 (dwords)
	lattimer=0xf8 (7440 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=58
	map[10]: type Memory, range 32, base 0x41012000, size 12, enabled
ohci0: <NEC uPD 9210 USB controller> mem 0x41011000-0x41011fff irq 56 at device 5.0 on pci0
ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x41011000
ohci0: [MPSAFE]
ohci0: [ITHREAD]
usbus0: <NEC uPD 9210 USB controller> on ohci0
ohci1: <NEC uPD 9210 USB controller> mem 0x41010000-0x41010fff irq 57 at device 5.1 on pci0
ohci1: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x41010000
ohci1: [MPSAFE]
ohci1: [ITHREAD]
usbus1: <NEC uPD 9210 USB controller> on ohci1
ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x41013000-0x410130ff irq 58 at device 5.2 on pci0
ehci0: Reserved 0x100 bytes for rid 0x10 type 3 at 0x41013000
ehci0: [MPSAFE]
ehci0: [ITHREAD]
usbus2: EHCI version 1.0
usbus2: <NEC uPD 720100 USB 2.0 controller> on ehci0
pci0:0:6:0: bad VPD cksum, remain 14
bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x105> mem 0x41000000-0x4100ffff irq 57 at device 6.0 on pci0
bge0: Reserved 0x10000 bytes for rid 0x10 type 3 at 0x41000000
bge0: CHIP ID 0x01050000; ASIC REV 0x00; CHIP REV 0x01; PCI
miibus0: <MII bus> on bge0
brgphy0: <BCM5701 10/100/1000baseTX PHY> PHY 1 on miibus0
brgphy0: OUI 0x000818, model 0x0011, rev. 0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge0: Ethernet address: 00:10:18:04:04:4f
bge0: [MPSAFE]
bge0: [ITHREAD]
ohci2: <OPTi 82C861 (FireLink) USB controller> mem 0x41012000-0x41012fff irq 58 at device 7.0 on pci0
ohci2: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x41012000
ohci2: [MPSAFE]
ohci2: [ITHREAD]
usbus3: <OPTi 82C861 (FireLink) USB controller> on ohci2
pci1: <PCI bus> on zbpci0
pci1: domain=0, physical bus=1
found->	vendor=0x14d9, dev=0x0010, revid=0x00
	domain=0, bus=1, slot=1, func=0
	class=06-04-00, hdrtype=0x01, mfdev=0
	cmdreg=0x0107, statreg=0x0010, cachelnsz=8 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x00 (0 ns)
pcib0: <PCI-PCI bridge> at device 1.0 on pci1
pcib0:   domain            0
pcib0:   secondary bus     2
pcib0:   subordinate bus   2
pcib0:   I/O decode        0x8000-0x8fff
pcib0:   memory decode     0x41100000-0x411fffff
pcib0:   no prefetched decode
pci2: <PCI bus> on pcib0
pci2: domain=0, physical bus=2
found->	vendor=0x8086, dev=0x1008, revid=0x02
	domain=0, bus=2, slot=0, func=0
	class=02-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0157, statreg=0x0230, cachelnsz=8 (dwords)
	lattimer=0xfc (7560 ns), mingnt=0xff (63750 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=57
	powerspec 2  supports D0 D3  current D0
	MSI supports 1 message, 64 bit
	map[10]: type Memory, range 32, base 0x41120000, size 17, enabled
pcib0: requested memory range 0x41120000-0x4113ffff: good
	map[14]: type Memory, range 32, base 0x41140000, size 17, enabled
pcib0: requested memory range 0x41140000-0x4115ffff: good
	map[18]: type I/O Port, range 32, base 0x8000, size  5, enabled
pcib0: requested I/O range 0x8000-0x801f: in range
pci2: <network, ethernet> at device 0.0 (no driver attached)
scd0: <Broadcom/Sibyte System Control and Debug> on zbbus0
scd0: attached.
ata0 on zbbus0
ata0: using a register shift of 5
ata0: using a register offset of 0x1f0
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1
ata0: [MPSAFE]
ata0: [ITHREAD]
buswatcher0 on zbbus0
buswatcher0: [MPSAFE]
buswatcher0: [ITHREAD]
Device configuration finished.
Timecounter "MIPS32" frequency 650000000 Hz quality 800
Timecounters tick every 10.000 msec
ata0: Identifying devices: 00000001
ata0: New devices: 00000001
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 480Mbps High Speed USB v2.0
usbus3: 12Mbps Full Speed USB v1.0
ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA66 cable=80 wire
ad0: 7647MB <ELITE PRO CF CARD 8GB 20090216> at ata0-master PIO4
ad0: 15662304 sectors [15538C/16H/63S] 1 sectors/interrupt 1 depth queue
SMP: AP CPU #1 launched.
WARNING: WITNESS option enabled, expect reduced performance.
GEOM: new disk ad0

neelnatu4# sysctl hw.ncpu
hw.ncpu: 2
neelnatu4# sysctl kern.smp
kern.smp.forward_roundrobin_enabled: 1
kern.smp.forward_signal_enabled: 1
kern.smp.topology: 0
kern.smp.cpus: 2
kern.smp.disabled: 0
kern.smp.active: 1
kern.smp.maxcpus: 16
kern.smp.maxid: 1
neelnatu4# vmstat -P
 procs      memory      page                    disks     faults         cpu0     cpu1     
  r b w     avm    fre   flt  re  pi  po    fr  sr ad0 da0   in   sy   cs us sy id us sy id
   3 2 0    179M   141M  1209   0   1   0   938   0   0   0    0 1520 2110 16 14 70 19 16 64




      


More information about the freebsd-mips mailing list