SimBCM - A Full System Simulator of BCM1250
Broadcom BCM1250ってMIPS64デュアルコアなのかぁ、遊んでみたいなぁ・・・とか思って、ググッてみたらCisco 7301がヒットして、思ったとおり1,159,800円もしてショボーン(´・ω・`)としてたら、なんかエミュレータ見つけたよ
マニュアルがあるので、これの通りにインストールすればすんなり動いた。
が、configureなどを使う一般的なUNIXアプリの書き方をしておらず、Linuxきめうちなのでちょっと環境が違うと多分うまくいかない。少なくともFreeBSDでは駄目そうだった。
マニュアルと同じだが、一応画面メモ。
残念ながら、結構遅い。
Harddisk emulationは無くて、Flashやイーサネットだけが見えている状態らしい。
このイーサネットは本当に通信できるのだろうか?謎。
syuu@debian:~/SimBCM/run$ ./simos ==================================sibyte simulator hardware configration============================ SIBYTE SIM MACHINE CONFIGRATION: machine num: 1 max cpus per machine: 1 max ether controller per machine: 3 cell mode : off prom path: . CPU CONFIGRATION: cpu type: mipsy cpu number per machine: 2 MEMORY SYSTEM CONFIGRATION: memory bank: 1 memory size: 64 LOG CONFIGRATION: loop_on_error : on cpu_error_loop: on error_keep_logs: on log file: ./cpu.log DEBUG CONFIGRATION: debug flags: listen port: 5000 debug mode: off callback interval: 500 GENBUS CONFIGRATION: kernel rom path: /home/syuu/SimBCM/run/kernels/vmlinux DUART CONFIGRATION: callback_interval: 500 ETHER CONFIG: callback interval: 500 SCD CONFIGRATION: callback interval: 100 ======================================================================================================= !! Could not open NVRAM device eeprom0 CFE version 1.2.5 for SWARM (64bit,MP,BE,MIPS) Build Date: 一 9月 25 15:22:39 CST 2006 (root@Dragon) Copyright (C) 2000,2001,2002,2003,2004,2005 Broadcom Corporation. Initializing Arena. Initializing Devices. SWARM board revision 1 sbeth: found phy 0, vendor 3FFFBF part 3F Config switch: 0 CPU: BCM1250 rev 0x0 L2 Cache Status: OK Wafer ID: Not set SysCfg: 0000000000480080 [PLL_DIV: 1, IOB0_DIV: CPUCLK/4, IOB1_DIV: CPUCLK/3] CPU type 0x1040100: 5KHz Total memory: 0x4000000 bytes (64MB) Total memory used by CFE: 0x9FC385D8 - 0x9FD3AE30 (1058904) Initialized Data: 0x9FC385D8 - 0x9FC38A40 (1128) BSS Area: 0x9FC38A40 - 0x9FC38E30 (1008) Local Heap: 0x9FC38E30 - 0x9FD38E30 (1048576) Stack Area: 0x9FD38E30 - 0x9FD3AE30 (8192) Text (code) segment: 0x9FC00000 - 0x9FC385D3 (230867) Boot area (physical): 0x1FD3B000 - 0x1FD7B000 Relocation Factor: I:00000000 - D:00000000 CFE> boot -elf flash1:a Loader:elf Filesys:raw Dev:flash1 File:a Options:(null) Loading: 0xffffffff80100000/1950836 0xffffffff802dc474/84924 Entry at 0x802a1000 Starting program at 0x802a1000 Broadcom SiByte BCM1250 A0-A6 @ 50 MHz (SB1 rev 0) Board type: SiByte BCM91250A (SWARM) Linux version 2.6.14.3 (root@gkong) (gcc version 3.3.3 (DENX ELDK 3.1.1 3.3.3-9)) #62 SMP Mon Apr 17 07:26:26 CST 2006 CPU revision is: 01040100 This kernel optimized for simulation runs with CFE Determined physical RAM map: memory: 03fffe00 @ 00000000 (usable) Built 1 zonelists Kernel command line: root=/dev/ram0 Primary instruction cache 32kB, 4-way, linesize 32 bytes. Primary data cache 48kB, 3-way, linesize 32 bytes. Synthesized TLB refill handler (27 instructions). Synthesized TLB load handler fastpath (41 instructions). Synthesized TLB store handler fastpath (36 instructions). Synthesized TLB modify handler fastpath (35 instructions). PID hash table entries: 256 (order: 8, 4096 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 61724k/65532k available (1438k kernel code, 3656k reserved, 225k data, 240k init, 0k highmem) Mount-cache hash table entries: 512 Checking for 'wait' instruction... unavailable. Detected 1 available secondary CPU(s) softlockup thread 0 started up. CPU revision is: 03040100 Primary instruction cache 32kB, 4-way, linesize 32 bytes. Primary data cache 48kB, 3-way, linesize 32 bytes. Synthesized TLB refill handler (27 instructions). Brought up 2 CPUs softlockup thread 1 started up. NET: Registered protocol family 16 PCI: Skipping PCI probe. Bus is not initialized. io scheduler noop registered eth0: enabling TCP rcv checksum eth0: enabling TCP rcv checksum eth0: SiByte Ethernet at 0x10064000, address: 02:10:18:10:06:40 eth1: enabling TCP rcv checksum eth1: enabling TCP rcv checksum eth1: SiByte Ethernet at 0x10065000, address: 02:10:18:10:06:50 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 3, 32768 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered TCP bic registered NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver Freeing unused kernel memory: 240k freed gkong:main