xref: /openbmc/qemu/docs/system/target-mips.rst (revision 764a6ee9)
1.. _MIPS-System-emulator:
2
3MIPS System emulator
4--------------------
5
6Four executables cover simulation of 32 and 64-bit MIPS systems in both
7endian options, ``qemu-system-mips``, ``qemu-system-mipsel``
8``qemu-system-mips64`` and ``qemu-system-mips64el``. Five different
9machine types are emulated:
10
11-  The MIPS Malta prototype board \"malta\"
12
13-  An ACER Pica \"pica61\". This machine needs the 64-bit emulator.
14
15-  MIPS emulator pseudo board \"mipssim\"
16
17-  A MIPS Magnum R4000 machine \"magnum\". This machine needs the
18   64-bit emulator.
19
20The Malta emulation supports the following devices:
21
22-  Core board with MIPS 24Kf CPU and Galileo system controller
23
24-  PIIX4 PCI/USB/SMbus controller
25
26-  The Multi-I/O chip's serial device
27
28-  PCI network cards (PCnet32 and others)
29
30-  Malta FPGA serial device
31
32-  Cirrus (default) or any other PCI VGA graphics card
33
34The Boston board emulation supports the following devices:
35
36-  Xilinx FPGA, which includes a PCIe root port and an UART
37
38-  Intel EG20T PCH connects the I/O peripherals, but only the SATA bus
39   is emulated
40
41The ACER Pica emulation supports:
42
43-  MIPS R4000 CPU
44
45-  PC-style IRQ and DMA controllers
46
47-  PC Keyboard
48
49-  IDE controller
50
51The MIPS Magnum R4000 emulation supports:
52
53-  MIPS R4000 CPU
54
55-  PC-style IRQ controller
56
57-  PC Keyboard
58
59-  SCSI controller
60
61-  G364 framebuffer
62
63The Fuloong 2E emulation supports:
64
65-  Loongson 2E CPU
66
67-  Bonito64 system controller as North Bridge
68
69-  VT82C686 chipset as South Bridge
70
71-  RTL8139D as a network card chipset
72
73The Loongson-3 virtual platform emulation supports:
74
75-  Loongson 3A CPU
76
77-  LIOINTC as interrupt controller
78
79-  GPEX and virtio as peripheral devices
80
81-  Both KVM and TCG supported
82
83The mipssim pseudo board emulation provides an environment similar to
84what the proprietary MIPS emulator uses for running Linux. It supports:
85
86-  A range of MIPS CPUs, default is the 24Kf
87
88-  PC style serial port
89
90-  MIPSnet network emulation
91
92.. include:: cpu-models-mips.rst.inc
93
94.. _nanoMIPS-System-emulator:
95
96nanoMIPS System emulator
97~~~~~~~~~~~~~~~~~~~~~~~~
98
99Executable ``qemu-system-mipsel`` also covers simulation of 32-bit
100nanoMIPS system in little endian mode:
101
102-  nanoMIPS I7200 CPU
103
104Example of ``qemu-system-mipsel`` usage for nanoMIPS is shown below:
105
106Download ``<disk_image_file>`` from
107https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html.
108
109Download ``<kernel_image_file>`` from
110https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html.
111
112Start system emulation of Malta board with nanoMIPS I7200 CPU::
113
114   qemu-system-mipsel -cpu I7200 -kernel <kernel_image_file> \
115       -M malta -serial stdio -m <memory_size> -hda <disk_image_file> \
116       -append "mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
117