xref: /qemu/docs/system/target-mips.rst (revision abe45a85)
1324b2298SPaolo Bonzini.. _MIPS-System-emulator:
2324b2298SPaolo Bonzini
3324b2298SPaolo BonziniMIPS System emulator
4324b2298SPaolo Bonzini--------------------
5324b2298SPaolo Bonzini
6324b2298SPaolo BonziniFour executables cover simulation of 32 and 64-bit MIPS systems in both
7324b2298SPaolo Bonziniendian options, ``qemu-system-mips``, ``qemu-system-mipsel``
8324b2298SPaolo Bonzini``qemu-system-mips64`` and ``qemu-system-mips64el``. Five different
9324b2298SPaolo Bonzinimachine types are emulated:
10324b2298SPaolo Bonzini
11324b2298SPaolo Bonzini-  The MIPS Malta prototype board \"malta\"
12324b2298SPaolo Bonzini
13324b2298SPaolo Bonzini-  An ACER Pica \"pica61\". This machine needs the 64-bit emulator.
14324b2298SPaolo Bonzini
15324b2298SPaolo Bonzini-  MIPS emulator pseudo board \"mipssim\"
16324b2298SPaolo Bonzini
17324b2298SPaolo Bonzini-  A MIPS Magnum R4000 machine \"magnum\". This machine needs the
18324b2298SPaolo Bonzini   64-bit emulator.
19324b2298SPaolo Bonzini
20324b2298SPaolo BonziniThe Malta emulation supports the following devices:
21324b2298SPaolo Bonzini
22324b2298SPaolo Bonzini-  Core board with MIPS 24Kf CPU and Galileo system controller
23324b2298SPaolo Bonzini
24324b2298SPaolo Bonzini-  PIIX4 PCI/USB/SMbus controller
25324b2298SPaolo Bonzini
26324b2298SPaolo Bonzini-  The Multi-I/O chip's serial device
27324b2298SPaolo Bonzini
28324b2298SPaolo Bonzini-  PCI network cards (PCnet32 and others)
29324b2298SPaolo Bonzini
30324b2298SPaolo Bonzini-  Malta FPGA serial device
31324b2298SPaolo Bonzini
32324b2298SPaolo Bonzini-  Cirrus (default) or any other PCI VGA graphics card
33324b2298SPaolo Bonzini
34324b2298SPaolo BonziniThe Boston board emulation supports the following devices:
35324b2298SPaolo Bonzini
36324b2298SPaolo Bonzini-  Xilinx FPGA, which includes a PCIe root port and an UART
37324b2298SPaolo Bonzini
38324b2298SPaolo Bonzini-  Intel EG20T PCH connects the I/O peripherals, but only the SATA bus
39324b2298SPaolo Bonzini   is emulated
40324b2298SPaolo Bonzini
41324b2298SPaolo BonziniThe ACER Pica emulation supports:
42324b2298SPaolo Bonzini
43324b2298SPaolo Bonzini-  MIPS R4000 CPU
44324b2298SPaolo Bonzini
45324b2298SPaolo Bonzini-  PC-style IRQ and DMA controllers
46324b2298SPaolo Bonzini
47324b2298SPaolo Bonzini-  PC Keyboard
48324b2298SPaolo Bonzini
49324b2298SPaolo Bonzini-  IDE controller
50324b2298SPaolo Bonzini
51324b2298SPaolo BonziniThe MIPS Magnum R4000 emulation supports:
52324b2298SPaolo Bonzini
53324b2298SPaolo Bonzini-  MIPS R4000 CPU
54324b2298SPaolo Bonzini
55324b2298SPaolo Bonzini-  PC-style IRQ controller
56324b2298SPaolo Bonzini
57324b2298SPaolo Bonzini-  PC Keyboard
58324b2298SPaolo Bonzini
59324b2298SPaolo Bonzini-  SCSI controller
60324b2298SPaolo Bonzini
61324b2298SPaolo Bonzini-  G364 framebuffer
62324b2298SPaolo Bonzini
63c3a09ff6SPhilippe Mathieu-DaudéThe Fuloong 2E emulation supports:
64324b2298SPaolo Bonzini
65324b2298SPaolo Bonzini-  Loongson 2E CPU
66324b2298SPaolo Bonzini
67324b2298SPaolo Bonzini-  Bonito64 system controller as North Bridge
68324b2298SPaolo Bonzini
69324b2298SPaolo Bonzini-  VT82C686 chipset as South Bridge
70324b2298SPaolo Bonzini
71324b2298SPaolo Bonzini-  RTL8139D as a network card chipset
72324b2298SPaolo Bonzini
73*c7784e42SHuacai ChenThe Loongson-3 virtual platform emulation supports:
74*c7784e42SHuacai Chen
75*c7784e42SHuacai Chen-  Loongson 3A CPU
76*c7784e42SHuacai Chen
77*c7784e42SHuacai Chen-  LIOINTC as interrupt controller
78*c7784e42SHuacai Chen
79*c7784e42SHuacai Chen-  GPEX and virtio as peripheral devices
80*c7784e42SHuacai Chen
81*c7784e42SHuacai Chen-  Both KVM and TCG supported
82*c7784e42SHuacai Chen
83324b2298SPaolo BonziniThe mipssim pseudo board emulation provides an environment similar to
84324b2298SPaolo Bonziniwhat the proprietary MIPS emulator uses for running Linux. It supports:
85324b2298SPaolo Bonzini
86324b2298SPaolo Bonzini-  A range of MIPS CPUs, default is the 24Kf
87324b2298SPaolo Bonzini
88324b2298SPaolo Bonzini-  PC style serial port
89324b2298SPaolo Bonzini
90324b2298SPaolo Bonzini-  MIPSnet network emulation
91324b2298SPaolo Bonzini
92324b2298SPaolo Bonzini.. include:: cpu-models-mips.rst.inc
93324b2298SPaolo Bonzini
94324b2298SPaolo Bonzini.. _nanoMIPS-System-emulator:
95324b2298SPaolo Bonzini
96324b2298SPaolo BonzininanoMIPS System emulator
97324b2298SPaolo Bonzini~~~~~~~~~~~~~~~~~~~~~~~~
98324b2298SPaolo Bonzini
99324b2298SPaolo BonziniExecutable ``qemu-system-mipsel`` also covers simulation of 32-bit
100324b2298SPaolo BonzininanoMIPS system in little endian mode:
101324b2298SPaolo Bonzini
102324b2298SPaolo Bonzini-  nanoMIPS I7200 CPU
103324b2298SPaolo Bonzini
104324b2298SPaolo BonziniExample of ``qemu-system-mipsel`` usage for nanoMIPS is shown below:
105324b2298SPaolo Bonzini
106324b2298SPaolo BonziniDownload ``<disk_image_file>`` from
107324b2298SPaolo Bonzinihttps://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html.
108324b2298SPaolo Bonzini
109324b2298SPaolo BonziniDownload ``<kernel_image_file>`` from
110324b2298SPaolo Bonzinihttps://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html.
111324b2298SPaolo Bonzini
112324b2298SPaolo BonziniStart system emulation of Malta board with nanoMIPS I7200 CPU::
113324b2298SPaolo Bonzini
114324b2298SPaolo Bonzini   qemu-system-mipsel -cpu I7200 -kernel <kernel_image_file> \
115324b2298SPaolo Bonzini       -M malta -serial stdio -m <memory_size> -hda <disk_image_file> \
116324b2298SPaolo Bonzini       -append "mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
117