MIPS System emulator¶
Four executables cover simulation of 32 and 64-bit MIPS systems in both
endian options, qemu-system-mips, qemu-system-mipsel
qemu-system-mips64 and qemu-system-mips64el. Five different
machine types are emulated:
A generic ISA PC-like machine "mips"
The MIPS Malta prototype board "malta"
An ACER Pica "pica61". This machine needs the 64-bit emulator.
MIPS emulator pseudo board "mipssim"
A MIPS Magnum R4000 machine "magnum". This machine needs the 64-bit emulator.
The generic emulation is supported by Debian ‘Etch’ and is able to install Debian into a virtual disk image. The following devices are emulated:
A range of MIPS CPUs, default is the 24Kf
PC style serial port
PC style IDE disk
NE2000 network card
The Malta emulation supports the following devices:
Core board with MIPS 24Kf CPU and Galileo system controller
PIIX4 PCI/USB/SMbus controller
The Multi-I/O chip’s serial device
PCI network cards (PCnet32 and others)
Malta FPGA serial device
Cirrus (default) or any other PCI VGA graphics card
The Boston board emulation supports the following devices:
Xilinx FPGA, which includes a PCIe root port and an UART
Intel EG20T PCH connects the I/O peripherals, but only the SATA bus is emulated
The ACER Pica emulation supports:
MIPS R4000 CPU
PC-style IRQ and DMA controllers
PC Keyboard
IDE controller
The MIPS Magnum R4000 emulation supports:
MIPS R4000 CPU
PC-style IRQ controller
PC Keyboard
SCSI controller
G364 framebuffer
The Fuloong 2E emulation supports:
Loongson 2E CPU
Bonito64 system controller as North Bridge
VT82C686 chipset as South Bridge
RTL8139D as a network card chipset
The mipssim pseudo board emulation provides an environment similar to what the proprietary MIPS emulator uses for running Linux. It supports:
A range of MIPS CPUs, default is the 24Kf
PC style serial port
MIPSnet network emulation
Supported CPU model configurations on MIPS hosts¶
QEMU supports variety of MIPS CPU models:
Supported CPU models for MIPS32 hosts¶
The following CPU models are supported for use on MIPS32 hosts. Administrators / applications are recommended to use the CPU model that matches the generation of the host CPUs in use. In a deployment with a mixture of host CPU models between machines, if live migration compatibility is required, use the newest CPU model that is compatible across all desired hosts.
mips32r6-genericMIPS32 Processor (Release 6, 2015)
P5600MIPS32 Processor (P5600, 2014)
M14K,M14KcMIPS32 Processor (M14K, 2009)
74KfMIPS32 Processor (74K, 2007)
34KfMIPS32 Processor (34K, 2006)
24Kc,24KEc,24KfMIPS32 Processor (24K, 2003)
4Kc,4Km,4KEcR1,4KEmR1,4KEc,4KEmMIPS32 Processor (4K, 1999)
Supported CPU models for MIPS64 hosts¶
The following CPU models are supported for use on MIPS64 hosts. Administrators / applications are recommended to use the CPU model that matches the generation of the host CPUs in use. In a deployment with a mixture of host CPU models between machines, if live migration compatibility is required, use the newest CPU model that is compatible across all desired hosts.
I6400MIPS64 Processor (Release 6, 2014)
Loongson-2FMIPS64 Processor (Loongson 2, 2008)
Loongson-2EMIPS64 Processor (Loongson 2, 2006)
mips64dspr2MIPS64 Processor (Release 2, 2006)
MIPS64R2-generic,5KEc,5KEfMIPS64 Processor (Release 2, 2002)
20KcMIPS64 Processor (20K, 2000
5Kc,5KfMIPS64 Processor (5K, 1999)
VR5432MIPS64 Processor (VR, 1998)
R4000MIPS64 Processor (MIPS III, 1991)
Supported CPU models for nanoMIPS hosts¶
The following CPU models are supported for use on nanoMIPS hosts. Administrators / applications are recommended to use the CPU model that matches the generation of the host CPUs in use. In a deployment with a mixture of host CPU models between machines, if live migration compatibility is required, use the newest CPU model that is compatible across all desired hosts.
I7200MIPS I7200 (nanoMIPS, 2018)
Preferred CPU models for MIPS hosts¶
The following CPU models are preferred for use on different MIPS hosts:
MIPS IIIR4000
MIPS32R234Kf
MIPS64R6I6400
nanoMIPSI7200
nanoMIPS System emulator¶
Executable qemu-system-mipsel also covers simulation of 32-bit
nanoMIPS system in little endian mode:
nanoMIPS I7200 CPU
Example of qemu-system-mipsel usage for nanoMIPS is shown below:
Download <disk_image_file> from
https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html.
Download <kernel_image_file> from
https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html.
Start system emulation of Malta board with nanoMIPS I7200 CPU:
qemu-system-mipsel -cpu I7200 -kernel <kernel_image_file> \
-M malta -serial stdio -m <memory_size> -hda <disk_image_file> \
-append "mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"