aboutsummaryrefslogtreecommitdiff
path: root/docs/system/target-mips.texi
blob: fe12ee94c739d69af9187a1edb57b78bbf8d9533 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
@node MIPS System emulator
@section MIPS System emulator

@menu
* recommendations_cpu_models_MIPS:: Supported CPU model configurations on MIPS hosts
* nanoMIPS System emulator ::
@end menu

Four executables cover simulation of 32 and 64-bit MIPS systems in
both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel}
@file{qemu-system-mips64} and @file{qemu-system-mips64el}.
Five different machine types are emulated:

@itemize @minus
@item
A generic ISA PC-like machine "mips"
@item
The MIPS Malta prototype board "malta"
@item
An ACER Pica "pica61". This machine needs the 64-bit emulator.
@item
MIPS emulator pseudo board "mipssim"
@item
A MIPS Magnum R4000 machine "magnum". This machine needs the 64-bit emulator.
@end itemize

The generic emulation is supported by Debian 'Etch' and is able to
install Debian into a virtual disk image. The following devices are
emulated:

@itemize @minus
@item
A range of MIPS CPUs, default is the 24Kf
@item
PC style serial port
@item
PC style IDE disk
@item
NE2000 network card
@end itemize

The Malta emulation supports the following devices:

@itemize @minus
@item
Core board with MIPS 24Kf CPU and Galileo system controller
@item
PIIX4 PCI/USB/SMbus controller
@item
The Multi-I/O chip's serial device
@item
PCI network cards (PCnet32 and others)
@item
Malta FPGA serial device
@item
Cirrus (default) or any other PCI VGA graphics card
@end itemize

The Boston board emulation supports the following devices:

@itemize @minus
@item
Xilinx FPGA, which includes a PCIe root port and an UART
@item
Intel EG20T PCH connects the I/O peripherals, but only the SATA bus is emulated
@end itemize

The ACER Pica emulation supports:

@itemize @minus
@item
MIPS R4000 CPU
@item
PC-style IRQ and DMA controllers
@item
PC Keyboard
@item
IDE controller
@end itemize

The MIPS Magnum R4000 emulation supports:

@itemize @minus
@item
MIPS R4000 CPU
@item
PC-style IRQ controller
@item
PC Keyboard
@item
SCSI controller
@item
G364 framebuffer
@end itemize

The Fulong 2E emulation supports:

@itemize @minus
@item
Loongson 2E CPU
@item
Bonito64 system controller as North Bridge
@item
VT82C686 chipset as South Bridge
@item
RTL8139D as a network card chipset
@end itemize

The mipssim pseudo board emulation provides an environment similar
to what the proprietary MIPS emulator uses for running Linux.
It supports:

@itemize @minus
@item
A range of MIPS CPUs, default is the 24Kf
@item
PC style serial port
@item
MIPSnet network emulation
@end itemize

@lowersections
@include docs/system/cpu-models-mips.texi
@raisesections

@node nanoMIPS System emulator
@subsection nanoMIPS System emulator

Executable @file{qemu-system-mipsel} also covers simulation of
32-bit nanoMIPS system in little endian mode:

@itemize @minus
@item
nanoMIPS I7200 CPU
@end itemize

Example of @file{qemu-system-mipsel} usage for nanoMIPS is shown below:

Download @code{<disk_image_file>} from @url{https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html}.

Download @code{<kernel_image_file>} from @url{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:
@example
qemu-system-mipsel -cpu I7200 -kernel @code{<kernel_image_file>} \
    -M malta -serial stdio -m @code{<memory_size>} -hda @code{<disk_image_file>} \
    -append "mem=256m@@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
@end example