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 Loongson-3 virtual platform emulation supports:
- Loongson 3A CPU
- LIOINTC as interrupt controller
- GPEX and virtio as peripheral devices
- Both KVM and TCG supported
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-generic
- MIPS32 Processor (Release 6, 2015)
P5600
- MIPS32 Processor (P5600, 2014)
M14K
,M14Kc
- MIPS32 Processor (M14K, 2009)
74Kf
- MIPS32 Processor (74K, 2007)
34Kf
- MIPS32 Processor (34K, 2006)
24Kc
,24KEc
,24Kf
- MIPS32 Processor (24K, 2003)
4Kc
,4Km
,4KEcR1
,4KEmR1
,4KEc
,4KEm
- MIPS32 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.
I6400
- MIPS64 Processor (Release 6, 2014)
Loongson-2E
- MIPS64 Processor (Loongson 2, 2006)
Loongson-2F
- MIPS64 Processor (Loongson 2, 2008)
Loongson-3A1000
- MIPS64 Processor (Loongson 3, 2010)
Loongson-3A4000
- MIPS64 Processor (Loongson 3, 2018)
mips64dspr2
- MIPS64 Processor (Release 2, 2006)
MIPS64R2-generic
,5KEc
,5KEf
- MIPS64 Processor (Release 2, 2002)
20Kc
- MIPS64 Processor (20K, 2000
5Kc
,5Kf
- MIPS64 Processor (5K, 1999)
VR5432
- MIPS64 Processor (VR, 1998)
R4000
- MIPS64 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.
I7200
- MIPS I7200 (nanoMIPS, 2018)
Preferred CPU models for MIPS hosts¶
The following CPU models are preferred for use on different MIPS hosts:
MIPS III
- R4000
MIPS32R2
- 34Kf
MIPS64R6
- I6400
nanoMIPS
- I7200
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"