Hi,
I succeeded to make a Nios2 SMP system by using normal Nios2/f cores. It's still a little bit buggy, but I'm going to upload the sources and documents on Altera wiki in near future.
Linux version 2.6.30-00471-g2e1b9d6-dirty (hamada@Messiah2) (gcc version 4.1.2 (
Wind River Linux Sourcery G++ 4.1-176))# 2077 SMP PREEMPT Sun Oct 21 16:34:00 JS
T 2012
console enabled
Early printk initialized
Linux/Nios II-MMU
Altera Nios II-MMU support (C) 2004 Wind River Systems.
init_bootmem_node(?,0x3d9, 0x0, 0x8000)
free_bootmem(0x3d9000, 0x7c27000)
reserve_bootmem(0x3d9000, 0x1000)
Detected 1 available secondary CPU(s)
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: kgdboc=ttyS0, 115200 kgdbwait
NR_IRQS:32
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entsucceedries: 8192 (order: 3, 32768 bytes)
We have 32768 pages of RAM
Memory available: 125808k/3938k RAM, 0k/0k ROM (1485k kernel code, 2452k data)
Calibrating delay loop... 24.21 BogoMIPS (lpj=121088)
Mount-cache hash table entries: 512
CPU1: Booted secondary processor
Calibrating delay loop... 24.98 BogoMIPS (lpj=124928)
Brought up 2 CPUs
SMP: Total of 2 processors activated (49.20 BogoMIPS).
init_BSP(): registering device resources
bio: create slab <bio-0> at 0
msgmni has been set to 246
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
ttyJ0 at MMIO 0xa60a500 (irq = 2) is a Altera JTAG UART
console handover: boot -> real
ttyS0 at MMIO 0x8000060 (irq = 3) is a Altera UART
init.rc
Welcome to
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
For further information check:
http://www.uclinux.org/
BusyBox v1.14.2 (2012-09-17 02:11:26 JST) hush - the humble shell
Enter 'help' for a list of built-in commands.
/# bash# cat /proc/cpuinfo
CPU: NIOS2 MultiCore
MMU: ways:16 entries:512
FPU: none
Clocking: <not supported>
BogoMips: 24.98
Calibration: 12492800 loops
CPU: NIOS2 MultiCore
MMU: ways:16 entries:512
FPU: none
Clocking: <not supported>
BogoMips: 24.98
Calibration: 12492800 loops# cat /proc/interrupts
CPU0
0: 25375 NIOS2-INTC timer
2: 130 NIOS2-INTC JTAGUART
3: 0 NIOS2-INTC UART
30: 1993 NIOS2-INTC IPI 0
31: 30282 NIOS2-INTC IPI 1# cat /proc/stat
cpu 102 0 41939 10290 0 0 1 0 0
cpu0 67 0 19033 7103 0 0 0 0 0
cpu1 35 0 22906 3187 0 0 1 0 0
intr 59916 26203 0 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 220
5 31342
ctxt 15553
btime 943920000
processes 670
procs_running 2
procs_blocked 0#
Kazu