]> git.proxmox.com Git - mirror_qemu.git/blame - qemu-doc.texi
qemu-doc: extract common system emulator documentation from the PC section
[mirror_qemu.git] / qemu-doc.texi
CommitLineData
386405f7 1\input texinfo @c -*- texinfo -*-
debc7065
FB
2@c %**start of header
3@setfilename qemu-doc.info
44cb280d 4@include version.texi
e080e785
SW
5
6@documentlanguage en
7@documentencoding UTF-8
8
44cb280d 9@settitle QEMU version @value{VERSION} User Documentation
debc7065
FB
10@exampleindent 0
11@paragraphindent 0
12@c %**end of header
386405f7 13
664785ac
TH
14@set qemu_system qemu-system-x86_64
15@set qemu_system_x86 qemu-system-x86_64
16
a1a32b05
SW
17@ifinfo
18@direntry
19* QEMU: (qemu-doc). The QEMU Emulator User Documentation.
20@end direntry
21@end ifinfo
22
0806e3f6 23@iftex
386405f7
FB
24@titlepage
25@sp 7
44cb280d 26@center @titlefont{QEMU version @value{VERSION}}
debc7065
FB
27@sp 1
28@center @titlefont{User Documentation}
386405f7
FB
29@sp 3
30@end titlepage
0806e3f6 31@end iftex
386405f7 32
debc7065
FB
33@ifnottex
34@node Top
35@top
36
37@menu
38* Introduction::
ce9fc583
PB
39* QEMU System emulator::
40* QEMU System emulator targets::
483c6ad4 41* System requirements::
e8412576 42* Security::
78e87797 43* Implementation notes::
eb22aeca 44* Deprecated features::
369e8f5b 45* Recently removed features::
45b47130 46* Supported build platforms::
7544a042 47* License::
debc7065
FB
48* Index::
49@end menu
50@end ifnottex
51
52@contents
53
54@node Introduction
386405f7
FB
55@chapter Introduction
56
debc7065
FB
57@menu
58* intro_features:: Features
59@end menu
60
61@node intro_features
322d0c66 62@section Features
386405f7 63
1f673135
FB
64QEMU is a FAST! processor emulator using dynamic translation to
65achieve good emulation speed.
1eb20527 66
1f3e7e41 67@cindex operating modes
1eb20527 68QEMU has two operating modes:
0806e3f6 69
d7e5edca 70@itemize
7544a042 71@cindex system emulation
1f3e7e41 72@item Full system emulation. In this mode, QEMU emulates a full system (for
3f9f3aa1
FB
73example a PC), including one or several processors and various
74peripherals. It can be used to launch different Operating Systems
75without rebooting the PC or to debug system code.
1eb20527 76
7544a042 77@cindex user mode emulation
1f3e7e41 78@item User mode emulation. In this mode, QEMU can launch
83195237 79processes compiled for one CPU on another CPU. It can be used to
70b7fba9 80launch the Wine Windows API emulator (@url{https://www.winehq.org}) or
1f673135 81to ease cross-compilation and cross-debugging.
1eb20527
FB
82
83@end itemize
84
1f3e7e41
PB
85QEMU has the following features:
86
87@itemize
88@item QEMU can run without a host kernel driver and yet gives acceptable
89performance. It uses dynamic translation to native code for reasonable speed,
90with support for self-modifying code and precise exceptions.
91
92@item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X,
93Windows) and architectures.
94
95@item It performs accurate software emulation of the FPU.
96@end itemize
322d0c66 97
1f3e7e41 98QEMU user mode emulation has the following features:
52c00a5f 99@itemize
1f3e7e41
PB
100@item Generic Linux system call converter, including most ioctls.
101
102@item clone() emulation using native CPU clone() to use Linux scheduler for threads.
103
104@item Accurate signal handling by remapping host signals to target signals.
105@end itemize
106
107QEMU full system emulation has the following features:
108@itemize
109@item
110QEMU uses a full software MMU for maximum portability.
111
112@item
326c4c3c 113QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators
1f3e7e41
PB
114execute most of the guest code natively, while
115continuing to emulate the rest of the machine.
116
117@item
118Various hardware devices can be emulated and in some cases, host
119devices (e.g. serial and parallel ports, USB, drives) can be used
120transparently by the guest Operating System. Host device passthrough
121can be used for talking to external physical peripherals (e.g. a
122webcam, modem or tape drive).
123
124@item
125Symmetric multiprocessing (SMP) support. Currently, an in-kernel
126accelerator is required to use more than one host CPU for emulation.
127
52c00a5f 128@end itemize
386405f7 129
ce9fc583
PB
130@node QEMU System emulator
131@chapter QEMU System emulator
132@cindex system emulation
1eb20527 133
debc7065 134@menu
ce9fc583 135* pcsys_quickstart:: Quick start
debc7065 136* sec_invocation:: Invocation
a40db1b3
PM
137* pcsys_keys:: Keys in the graphical frontends
138* mux_keys:: Keys in the character backend multiplexer
debc7065
FB
139* pcsys_monitor:: QEMU Monitor
140* disk_images:: Disk Images
141* pcsys_network:: Network emulation
debc7065 142* pcsys_usb:: USB emulation
fdeccf93
PB
143* pcsys_ivshmem:: Inter-VM Shared Memory device
144* direct_linux_boot:: Direct Linux Boot
f858dcae 145* vnc_security:: VNC security
5d19a6ea 146* network_tls:: TLS setup for network services
debc7065 147* gdb_usage:: GDB usage
debc7065
FB
148@end menu
149
ce9fc583
PB
150@include docs/system/quickstart.texi
151@include docs/system/invocation.texi
152@include docs/system/keys.texi
153@include docs/system/mux-chardev.texi
154@include docs/system/monitor.texi
155@include docs/system/images.texi
156@include docs/system/net.texi
157@include docs/system/usb.texi
158@include docs/system/ivshmem.texi
159@include docs/system/linuxboot.texi
160@include docs/system/vnc-security.texi
161@include docs/system/tls.texi
162@include docs/system/gdb.texi
163
164@node QEMU System emulator targets
165@chapter QEMU System emulator targets
166@cindex system emulation (PC)
167
168QEMU is a generic emulator and it emulates many machines. Most of the
169options are similar for all machines. Specific information about the
170various targets are mentioned in the following sections.
171
172@menu
173* x86 (PC) System emulator::
174* PowerPC System emulator::
175* Sparc32 System emulator::
176* Sparc64 System emulator::
177* MIPS System emulator::
178* ARM System emulator::
179* ColdFire System emulator::
180* Cris System emulator::
181* Microblaze System emulator::
182* SH4 System emulator::
183* Xtensa System emulator::
184@end menu
185
186@node x86 (PC) System emulator
187@section x86 (PC) System emulator
188@cindex system emulation (PC)
189
190@menu
191* pcsys_devices:: Peripherals
192* cpu_models_x86:: Supported CPU model configurations on x86 hosts
193@end menu
194
195@node pcsys_devices
196@subsection Peripherals
0806e3f6
FB
197
198@c man begin DESCRIPTION
199
ce9fc583 200The QEMU PC System emulator simulates the following peripherals:
0806e3f6
FB
201
202@itemize @minus
5fafdf24 203@item
15a34c63 204i440FX host PCI bridge and PIIX3 PCI to ISA bridge
0806e3f6 205@item
15a34c63
FB
206Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA
207extensions (hardware level, including all non standard modes).
0806e3f6
FB
208@item
209PS/2 mouse and keyboard
5fafdf24 210@item
15a34c63 2112 PCI IDE interfaces with hard disk and CD-ROM support
1f673135
FB
212@item
213Floppy disk
5fafdf24 214@item
3a2eeac0 215PCI and ISA network adapters
0806e3f6 216@item
05d5818c
FB
217Serial ports
218@item
23076bb3
CM
219IPMI BMC, either and internal or external one
220@item
c0fe3827
FB
221Creative SoundBlaster 16 sound card
222@item
223ENSONIQ AudioPCI ES1370 sound card
224@item
e5c9a13e
AZ
225Intel 82801AA AC97 Audio compatible sound card
226@item
7d72e762
GH
227Intel HD Audio Controller and HDA codec
228@item
2d983446 229Adlib (OPL2) - Yamaha YM3812 compatible chip
b389dbfb 230@item
26463dbc
AZ
231Gravis Ultrasound GF1 sound card
232@item
cc53d26d 233CS4231A compatible sound card
234@item
a92ff8c1 235PCI UHCI, OHCI, EHCI or XHCI USB controller and a virtual USB-1.1 hub.
0806e3f6
FB
236@end itemize
237
3f9f3aa1
FB
238SMP is supported with up to 255 CPUs.
239
a8ad4159 240QEMU uses the PC BIOS from the Seabios project and the Plex86/Bochs LGPL
15a34c63
FB
241VGA BIOS.
242
c0fe3827
FB
243QEMU uses YM3812 emulation by Tatsuyuki Satoh.
244
2d983446 245QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/})
26463dbc 246by Tibor "TS" Schütz.
423d65f4 247
1a1a0e20 248Note that, by default, GUS shares IRQ(7) with parallel ports and so
b65ee4fa 249QEMU must be told to not have parallel ports to have working GUS.
720036a5 250
251@example
664785ac 252@value{qemu_system_x86} dos.img -soundhw gus -parallel none
720036a5 253@end example
254
255Alternatively:
256@example
664785ac 257@value{qemu_system_x86} dos.img -device gus,irq=5
720036a5 258@end example
259
260Or some other unclaimed IRQ.
261
cc53d26d 262CS4231A is the chip used in Windows Sound System and GUSMAX products
263
0806e3f6
FB
264@c man end
265
ce9fc583 266@lowersections
5600d275 267@include docs/system/cpu-models-x86.texi
ce9fc583 268@raisesections
debc7065 269
7544a042
SW
270@node PowerPC System emulator
271@section PowerPC System emulator
272@cindex system emulation (PowerPC)
1a084f3d 273
b2ce76a0 274Use the executable @file{qemu-system-ppc} to simulate a complete 40P (PREP)
15a34c63 275or PowerMac PowerPC system.
1a084f3d 276
b671f9ed 277QEMU emulates the following PowerMac peripherals:
1a084f3d 278
15a34c63 279@itemize @minus
5fafdf24 280@item
006f3a48 281UniNorth or Grackle PCI Bridge
15a34c63
FB
282@item
283PCI VGA compatible card with VESA Bochs Extensions
5fafdf24 284@item
15a34c63 2852 PMAC IDE interfaces with hard disk and CD-ROM support
5fafdf24 286@item
15a34c63
FB
287NE2000 PCI adapters
288@item
289Non Volatile RAM
290@item
291VIA-CUDA with ADB keyboard and mouse.
1a084f3d
FB
292@end itemize
293
b2ce76a0 294QEMU emulates the following 40P (PREP) peripherals:
52c00a5f
FB
295
296@itemize @minus
5fafdf24 297@item
15a34c63
FB
298PCI Bridge
299@item
300PCI VGA compatible card with VESA Bochs Extensions
5fafdf24 301@item
52c00a5f
FB
3022 IDE interfaces with hard disk and CD-ROM support
303@item
304Floppy disk
5fafdf24 305@item
b2ce76a0 306PCnet network adapters
52c00a5f
FB
307@item
308Serial port
309@item
310PREP Non Volatile RAM
15a34c63
FB
311@item
312PC compatible keyboard and mouse.
52c00a5f
FB
313@end itemize
314
70b7fba9 315Since version 0.9.1, QEMU uses OpenBIOS @url{https://www.openbios.org/}
b2ce76a0
TH
316for the g3beige and mac99 PowerMac and the 40p machines. OpenBIOS is a free
317(GPL v2) portable firmware implementation. The goal is to implement a 100%
006f3a48 318IEEE 1275-1994 (referred to as Open Firmware) compliant firmware.
992e5acd 319
15a34c63
FB
320@c man begin OPTIONS
321
322The following options are specific to the PowerPC emulation:
323
324@table @option
325
4e257e5e 326@item -g @var{W}x@var{H}[x@var{DEPTH}]
15a34c63 327
340fb41b 328Set the initial VGA graphic mode. The default is 800x600x32.
15a34c63 329
4e257e5e 330@item -prom-env @var{string}
95efd11c
BS
331
332Set OpenBIOS variables in NVRAM, for example:
333
334@example
335qemu-system-ppc -prom-env 'auto-boot?=false' \
336 -prom-env 'boot-device=hd:2,\yaboot' \
337 -prom-env 'boot-args=conf=hd:2,\yaboot.conf'
338@end example
339
15a34c63
FB
340@end table
341
5fafdf24 342@c man end
15a34c63
FB
343
344
52c00a5f 345More information is available at
3f9f3aa1 346@url{http://perso.magic.fr/l_indien/qemu-ppc/}.
52c00a5f 347
24d4de45
TS
348@node Sparc32 System emulator
349@section Sparc32 System emulator
7544a042 350@cindex system emulation (Sparc32)
e80cfcfc 351
34a3d239
BS
352Use the executable @file{qemu-system-sparc} to simulate the following
353Sun4m architecture machines:
354@itemize @minus
355@item
356SPARCstation 4
357@item
358SPARCstation 5
359@item
360SPARCstation 10
361@item
362SPARCstation 20
363@item
364SPARCserver 600MP
365@item
366SPARCstation LX
367@item
368SPARCstation Voyager
369@item
370SPARCclassic
371@item
372SPARCbook
373@end itemize
374
375The emulation is somewhat complete. SMP up to 16 CPUs is supported,
376but Linux limits the number of usable CPUs to 4.
e80cfcfc 377
6a4e1771 378QEMU emulates the following sun4m peripherals:
e80cfcfc
FB
379
380@itemize @minus
3475187d 381@item
6a4e1771 382IOMMU
e80cfcfc 383@item
33632788 384TCX or cgthree Frame buffer
5fafdf24 385@item
e80cfcfc
FB
386Lance (Am7990) Ethernet
387@item
34a3d239 388Non Volatile RAM M48T02/M48T08
e80cfcfc 389@item
3475187d
FB
390Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard
391and power/reset logic
392@item
393ESP SCSI controller with hard disk and CD-ROM support
394@item
6a3b9cc9 395Floppy drive (not on SS-600MP)
a2502b58
BS
396@item
397CS4231 sound device (only on SS-5, not working yet)
e80cfcfc
FB
398@end itemize
399
6a3b9cc9
BS
400The number of peripherals is fixed in the architecture. Maximum
401memory size depends on the machine type, for SS-5 it is 256MB and for
7d85892b 402others 2047MB.
3475187d 403
30a604f3 404Since version 0.8.2, QEMU uses OpenBIOS
70b7fba9 405@url{https://www.openbios.org/}. OpenBIOS is a free (GPL v2) portable
0986ac3b
FB
406firmware implementation. The goal is to implement a 100% IEEE
4071275-1994 (referred to as Open Firmware) compliant firmware.
3475187d
FB
408
409A sample Linux 2.6 series kernel and ram disk image are available on
34a3d239 410the QEMU web site. There are still issues with NetBSD and OpenBSD, but
9bb9f217 411most kernel versions work. Please note that currently older Solaris kernels
34a3d239
BS
412don't work probably due to interface issues between OpenBIOS and
413Solaris.
3475187d
FB
414
415@c man begin OPTIONS
416
a2502b58 417The following options are specific to the Sparc32 emulation:
3475187d
FB
418
419@table @option
420
4e257e5e 421@item -g @var{W}x@var{H}x[x@var{DEPTH}]
3475187d 422
33632788
MCA
423Set the initial graphics mode. For TCX, the default is 1024x768x8 with the
424option of 1024x768x24. For cgthree, the default is 1024x768x8 with the option
425of 1152x900x8 for people who wish to use OBP.
3475187d 426
4e257e5e 427@item -prom-env @var{string}
66508601
BS
428
429Set OpenBIOS variables in NVRAM, for example:
430
431@example
432qemu-system-sparc -prom-env 'auto-boot?=false' \
433 -prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux single'
434@end example
435
6a4e1771 436@item -M [SS-4|SS-5|SS-10|SS-20|SS-600MP|LX|Voyager|SPARCClassic] [|SPARCbook]
a2502b58
BS
437
438Set the emulated machine type. Default is SS-5.
439
3475187d
FB
440@end table
441
5fafdf24 442@c man end
3475187d 443
24d4de45
TS
444@node Sparc64 System emulator
445@section Sparc64 System emulator
7544a042 446@cindex system emulation (Sparc64)
e80cfcfc 447
34a3d239
BS
448Use the executable @file{qemu-system-sparc64} to simulate a Sun4u
449(UltraSPARC PC-like machine), Sun4v (T1 PC-like machine), or generic
9bb9f217
MCA
450Niagara (T1) machine. The Sun4u emulator is mostly complete, being
451able to run Linux, NetBSD and OpenBSD in headless (-nographic) mode. The
a2664ca0
AT
452Sun4v emulator is still a work in progress.
453
454The Niagara T1 emulator makes use of firmware and OS binaries supplied in the S10image/ directory
455of the OpenSPARC T1 project @url{http://download.oracle.com/technetwork/systems/opensparc/OpenSPARCT1_Arch.1.5.tar.bz2}
456and is able to boot the disk.s10hw2 Solaris image.
457@example
458qemu-system-sparc64 -M niagara -L /path-to/S10image/ \
459 -nographic -m 256 \
460 -drive if=pflash,readonly=on,file=/S10image/disk.s10hw2
461@end example
462
b756921a 463
c7ba218d 464QEMU emulates the following peripherals:
83469015
FB
465
466@itemize @minus
467@item
5fafdf24 468UltraSparc IIi APB PCI Bridge
83469015
FB
469@item
470PCI VGA compatible card with VESA Bochs Extensions
471@item
34a3d239
BS
472PS/2 mouse and keyboard
473@item
83469015
FB
474Non Volatile RAM M48T59
475@item
476PC-compatible serial ports
c7ba218d
BS
477@item
4782 PCI IDE interfaces with hard disk and CD-ROM support
34a3d239
BS
479@item
480Floppy disk
83469015
FB
481@end itemize
482
c7ba218d
BS
483@c man begin OPTIONS
484
485The following options are specific to the Sparc64 emulation:
486
487@table @option
488
4e257e5e 489@item -prom-env @var{string}
34a3d239
BS
490
491Set OpenBIOS variables in NVRAM, for example:
492
493@example
494qemu-system-sparc64 -prom-env 'auto-boot?=false'
495@end example
496
a2664ca0 497@item -M [sun4u|sun4v|niagara]
c7ba218d
BS
498
499Set the emulated machine type. The default is sun4u.
500
501@end table
502
503@c man end
504
24d4de45
TS
505@node MIPS System emulator
506@section MIPS System emulator
7544a042 507@cindex system emulation (MIPS)
9d0a8e6f 508
f7d257cb 509@menu
5600d275 510* recommendations_cpu_models_MIPS:: Supported CPU model configurations on MIPS hosts
f7d257cb
SM
511* nanoMIPS System emulator ::
512@end menu
513
d9aedc32
TS
514Four executables cover simulation of 32 and 64-bit MIPS systems in
515both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel}
516@file{qemu-system-mips64} and @file{qemu-system-mips64el}.
88cb0a02 517Five different machine types are emulated:
24d4de45
TS
518
519@itemize @minus
520@item
521A generic ISA PC-like machine "mips"
522@item
523The MIPS Malta prototype board "malta"
524@item
d9aedc32 525An ACER Pica "pica61". This machine needs the 64-bit emulator.
6bf5b4e8 526@item
f0fc6f8f 527MIPS emulator pseudo board "mipssim"
88cb0a02
AJ
528@item
529A MIPS Magnum R4000 machine "magnum". This machine needs the 64-bit emulator.
24d4de45
TS
530@end itemize
531
532The generic emulation is supported by Debian 'Etch' and is able to
533install Debian into a virtual disk image. The following devices are
534emulated:
3f9f3aa1
FB
535
536@itemize @minus
5fafdf24 537@item
6bf5b4e8 538A range of MIPS CPUs, default is the 24Kf
3f9f3aa1
FB
539@item
540PC style serial port
541@item
24d4de45
TS
542PC style IDE disk
543@item
3f9f3aa1
FB
544NE2000 network card
545@end itemize
546
24d4de45
TS
547The Malta emulation supports the following devices:
548
549@itemize @minus
550@item
0b64d008 551Core board with MIPS 24Kf CPU and Galileo system controller
24d4de45
TS
552@item
553PIIX4 PCI/USB/SMbus controller
554@item
555The Multi-I/O chip's serial device
556@item
3a2eeac0 557PCI network cards (PCnet32 and others)
24d4de45
TS
558@item
559Malta FPGA serial device
560@item
1f605a76 561Cirrus (default) or any other PCI VGA graphics card
24d4de45
TS
562@end itemize
563
ba182a18
AM
564The Boston board emulation supports the following devices:
565
566@itemize @minus
567@item
568Xilinx FPGA, which includes a PCIe root port and an UART
569@item
570Intel EG20T PCH connects the I/O peripherals, but only the SATA bus is emulated
571@end itemize
572
24d4de45
TS
573The ACER Pica emulation supports:
574
575@itemize @minus
576@item
577MIPS R4000 CPU
578@item
579PC-style IRQ and DMA controllers
580@item
581PC Keyboard
582@item
583IDE controller
584@end itemize
3f9f3aa1 585
88cb0a02
AJ
586The MIPS Magnum R4000 emulation supports:
587
588@itemize @minus
589@item
590MIPS R4000 CPU
591@item
592PC-style IRQ controller
593@item
594PC Keyboard
595@item
596SCSI controller
597@item
598G364 framebuffer
599@end itemize
600
3a1b94d9
AM
601The Fulong 2E emulation supports:
602
603@itemize @minus
604@item
605Loongson 2E CPU
606@item
607Bonito64 system controller as North Bridge
608@item
609VT82C686 chipset as South Bridge
610@item
611RTL8139D as a network card chipset
612@end itemize
613
53d21e7b
AM
614The mipssim pseudo board emulation provides an environment similar
615to what the proprietary MIPS emulator uses for running Linux.
616It supports:
617
618@itemize @minus
619@item
620A range of MIPS CPUs, default is the 24Kf
621@item
622PC style serial port
623@item
624MIPSnet network emulation
625@end itemize
626
5600d275
PB
627@lowersections
628@include docs/system/cpu-models-mips.texi
629@raisesections
630
f7d257cb
SM
631@node nanoMIPS System emulator
632@subsection nanoMIPS System emulator
633@cindex system emulation (nanoMIPS)
634
635Executable @file{qemu-system-mipsel} also covers simulation of
63632-bit nanoMIPS system in little endian mode:
637
638@itemize @minus
639@item
640nanoMIPS I7200 CPU
641@end itemize
642
643Example of @file{qemu-system-mipsel} usage for nanoMIPS is shown below:
644
645Download @code{<disk_image_file>} from @url{https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html}.
646
647Download @code{<kernel_image_file>} from @url{https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html}.
648
649Start system emulation of Malta board with nanoMIPS I7200 CPU:
650@example
651qemu-system-mipsel -cpu I7200 -kernel @code{<kernel_image_file>} \
652 -M malta -serial stdio -m @code{<memory_size>} -hda @code{<disk_image_file>} \
653 -append "mem=256m@@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda"
654@end example
655
88cb0a02 656
24d4de45
TS
657@node ARM System emulator
658@section ARM System emulator
7544a042 659@cindex system emulation (ARM)
3f9f3aa1
FB
660
661Use the executable @file{qemu-system-arm} to simulate a ARM
662machine. The ARM Integrator/CP board is emulated with the following
663devices:
664
665@itemize @minus
666@item
9ee6e8bb 667ARM926E, ARM1026E, ARM946E, ARM1136 or Cortex-A8 CPU
3f9f3aa1
FB
668@item
669Two PL011 UARTs
5fafdf24 670@item
3f9f3aa1 671SMC 91c111 Ethernet adapter
00a9bf19
PB
672@item
673PL110 LCD controller
674@item
675PL050 KMI with PS/2 keyboard and mouse.
a1bb27b1
PB
676@item
677PL181 MultiMedia Card Interface with SD card.
00a9bf19
PB
678@end itemize
679
680The ARM Versatile baseboard is emulated with the following devices:
681
682@itemize @minus
683@item
9ee6e8bb 684ARM926E, ARM1136 or Cortex-A8 CPU
00a9bf19
PB
685@item
686PL190 Vectored Interrupt Controller
687@item
688Four PL011 UARTs
5fafdf24 689@item
00a9bf19
PB
690SMC 91c111 Ethernet adapter
691@item
692PL110 LCD controller
693@item
694PL050 KMI with PS/2 keyboard and mouse.
695@item
696PCI host bridge. Note the emulated PCI bridge only provides access to
697PCI memory space. It does not provide access to PCI IO space.
4be456f1
TS
698This means some devices (eg. ne2k_pci NIC) are not usable, and others
699(eg. rtl8139 NIC) are only usable when the guest drivers use the memory
00a9bf19 700mapped control registers.
e6de1bad
PB
701@item
702PCI OHCI USB controller.
703@item
704LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices.
a1bb27b1
PB
705@item
706PL181 MultiMedia Card Interface with SD card.
3f9f3aa1
FB
707@end itemize
708
21a88941
PB
709Several variants of the ARM RealView baseboard are emulated,
710including the EB, PB-A8 and PBX-A9. Due to interactions with the
711bootloader, only certain Linux kernel configurations work out
712of the box on these boards.
713
714Kernels for the PB-A8 board should have CONFIG_REALVIEW_HIGH_PHYS_OFFSET
715enabled in the kernel, and expect 512M RAM. Kernels for The PBX-A9 board
716should have CONFIG_SPARSEMEM enabled, CONFIG_REALVIEW_HIGH_PHYS_OFFSET
717disabled and expect 1024M RAM.
718
40c5c6cd 719The following devices are emulated:
d7739d75
PB
720
721@itemize @minus
722@item
f7c70325 723ARM926E, ARM1136, ARM11MPCore, Cortex-A8 or Cortex-A9 MPCore CPU
d7739d75
PB
724@item
725ARM AMBA Generic/Distributed Interrupt Controller
726@item
727Four PL011 UARTs
5fafdf24 728@item
0ef849d7 729SMC 91c111 or SMSC LAN9118 Ethernet adapter
d7739d75
PB
730@item
731PL110 LCD controller
732@item
733PL050 KMI with PS/2 keyboard and mouse
734@item
735PCI host bridge
736@item
737PCI OHCI USB controller
738@item
739LSI53C895A PCI SCSI Host Bus Adapter with hard disk and CD-ROM devices
a1bb27b1
PB
740@item
741PL181 MultiMedia Card Interface with SD card.
d7739d75
PB
742@end itemize
743
b00052e4
AZ
744The XScale-based clamshell PDA models ("Spitz", "Akita", "Borzoi"
745and "Terrier") emulation includes the following peripherals:
746
747@itemize @minus
748@item
749Intel PXA270 System-on-chip (ARM V5TE core)
750@item
751NAND Flash memory
752@item
753IBM/Hitachi DSCM microdrive in a PXA PCMCIA slot - not in "Akita"
754@item
755On-chip OHCI USB controller
756@item
757On-chip LCD controller
758@item
759On-chip Real Time Clock
760@item
761TI ADS7846 touchscreen controller on SSP bus
762@item
763Maxim MAX1111 analog-digital converter on I@math{^2}C bus
764@item
765GPIO-connected keyboard controller and LEDs
766@item
549444e1 767Secure Digital card connected to PXA MMC/SD host
b00052e4
AZ
768@item
769Three on-chip UARTs
770@item
771WM8750 audio CODEC on I@math{^2}C and I@math{^2}S busses
772@end itemize
773
02645926
AZ
774The Palm Tungsten|E PDA (codename "Cheetah") emulation includes the
775following elements:
776
777@itemize @minus
778@item
779Texas Instruments OMAP310 System-on-chip (ARM 925T core)
780@item
781ROM and RAM memories (ROM firmware image can be loaded with -option-rom)
782@item
783On-chip LCD controller
784@item
785On-chip Real Time Clock
786@item
787TI TSC2102i touchscreen controller / analog-digital converter / Audio
788CODEC, connected through MicroWire and I@math{^2}S busses
789@item
790GPIO-connected matrix keypad
791@item
792Secure Digital card connected to OMAP MMC/SD host
793@item
794Three on-chip UARTs
795@end itemize
796
c30bb264
AZ
797Nokia N800 and N810 internet tablets (known also as RX-34 and RX-44 / 48)
798emulation supports the following elements:
799
800@itemize @minus
801@item
802Texas Instruments OMAP2420 System-on-chip (ARM 1136 core)
803@item
804RAM and non-volatile OneNAND Flash memories
805@item
806Display connected to EPSON remote framebuffer chip and OMAP on-chip
807display controller and a LS041y3 MIPI DBI-C controller
808@item
809TI TSC2301 (in N800) and TI TSC2005 (in N810) touchscreen controllers
810driven through SPI bus
811@item
812National Semiconductor LM8323-controlled qwerty keyboard driven
813through I@math{^2}C bus
814@item
815Secure Digital card connected to OMAP MMC/SD host
816@item
817Three OMAP on-chip UARTs and on-chip STI debugging console
818@item
819Mentor Graphics "Inventra" dual-role USB controller embedded in a TI
820TUSB6010 chip - only USB host mode is supported
821@item
822TI TMP105 temperature sensor driven through I@math{^2}C bus
823@item
824TI TWL92230C power management companion with an RTC on I@math{^2}C bus
825@item
826Nokia RETU and TAHVO multi-purpose chips with an RTC, connected
827through CBUS
828@end itemize
829
9ee6e8bb
PB
830The Luminary Micro Stellaris LM3S811EVB emulation includes the following
831devices:
832
833@itemize @minus
834@item
835Cortex-M3 CPU core.
836@item
83764k Flash and 8k SRAM.
838@item
839Timers, UARTs, ADC and I@math{^2}C interface.
840@item
841OSRAM Pictiva 96x16 OLED with SSD0303 controller on I@math{^2}C bus.
842@end itemize
843
844The Luminary Micro Stellaris LM3S6965EVB emulation includes the following
845devices:
846
847@itemize @minus
848@item
849Cortex-M3 CPU core.
850@item
851256k Flash and 64k SRAM.
852@item
853Timers, UARTs, ADC, I@math{^2}C and SSI interfaces.
854@item
855OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via SSI.
856@end itemize
857
57cd6e97
AZ
858The Freecom MusicPal internet radio emulation includes the following
859elements:
860
861@itemize @minus
862@item
863Marvell MV88W8618 ARM core.
864@item
86532 MB RAM, 256 KB SRAM, 8 MB flash.
866@item
867Up to 2 16550 UARTs
868@item
869MV88W8xx8 Ethernet controller
870@item
871MV88W8618 audio controller, WM8750 CODEC and mixer
872@item
e080e785 873128×64 display with brightness control
57cd6e97
AZ
874@item
8752 buttons, 2 navigation wheels with button function
876@end itemize
877
997641a8 878The Siemens SX1 models v1 and v2 (default) basic emulation.
40c5c6cd 879The emulation includes the following elements:
997641a8
AZ
880
881@itemize @minus
882@item
883Texas Instruments OMAP310 System-on-chip (ARM 925T core)
884@item
885ROM and RAM memories (ROM firmware image can be loaded with -pflash)
886V1
8871 Flash of 16MB and 1 Flash of 8MB
888V2
8891 Flash of 32MB
890@item
891On-chip LCD controller
892@item
893On-chip Real Time Clock
894@item
895Secure Digital card connected to OMAP MMC/SD host
896@item
897Three on-chip UARTs
898@end itemize
899
3f9f3aa1
FB
900A Linux 2.6 test image is available on the QEMU web site. More
901information is available in the QEMU mailing-list archive.
9d0a8e6f 902
d2c639d6
BS
903@c man begin OPTIONS
904
905The following options are specific to the ARM emulation:
906
907@table @option
908
909@item -semihosting
910Enable semihosting syscall emulation.
911
912On ARM this implements the "Angel" interface.
913
914Note that this allows guest direct access to the host filesystem,
915so should only be used with trusted guest OS.
916
917@end table
918
abc67eb6
TH
919@c man end
920
24d4de45
TS
921@node ColdFire System emulator
922@section ColdFire System emulator
7544a042
SW
923@cindex system emulation (ColdFire)
924@cindex system emulation (M68K)
209a4e69
PB
925
926Use the executable @file{qemu-system-m68k} to simulate a ColdFire machine.
927The emulator is able to boot a uClinux kernel.
707e011b
PB
928
929The M5208EVB emulation includes the following devices:
930
931@itemize @minus
5fafdf24 932@item
707e011b
PB
933MCF5208 ColdFire V2 Microprocessor (ISA A+ with EMAC).
934@item
935Three Two on-chip UARTs.
936@item
937Fast Ethernet Controller (FEC)
938@end itemize
939
940The AN5206 emulation includes the following devices:
209a4e69
PB
941
942@itemize @minus
5fafdf24 943@item
209a4e69
PB
944MCF5206 ColdFire V2 Microprocessor.
945@item
946Two on-chip UARTs.
947@end itemize
948
d2c639d6
BS
949@c man begin OPTIONS
950
7544a042 951The following options are specific to the ColdFire emulation:
d2c639d6
BS
952
953@table @option
954
955@item -semihosting
956Enable semihosting syscall emulation.
957
958On M68K this implements the "ColdFire GDB" interface used by libgloss.
959
960Note that this allows guest direct access to the host filesystem,
961so should only be used with trusted guest OS.
962
963@end table
964
abc67eb6
TH
965@c man end
966
7544a042
SW
967@node Cris System emulator
968@section Cris System emulator
969@cindex system emulation (Cris)
970
971TODO
972
973@node Microblaze System emulator
974@section Microblaze System emulator
975@cindex system emulation (Microblaze)
976
977TODO
978
979@node SH4 System emulator
980@section SH4 System emulator
981@cindex system emulation (SH4)
982
983TODO
984
3aeaea65
MF
985@node Xtensa System emulator
986@section Xtensa System emulator
987@cindex system emulation (Xtensa)
988
989Two executables cover simulation of both Xtensa endian options,
990@file{qemu-system-xtensa} and @file{qemu-system-xtensaeb}.
991Two different machine types are emulated:
992
993@itemize @minus
994@item
995Xtensa emulator pseudo board "sim"
996@item
997Avnet LX60/LX110/LX200 board
998@end itemize
999
b5e4946f 1000The sim pseudo board emulation provides an environment similar
3aeaea65
MF
1001to one provided by the proprietary Tensilica ISS.
1002It supports:
1003
1004@itemize @minus
1005@item
1006A range of Xtensa CPUs, default is the DC232B
1007@item
1008Console and filesystem access via semihosting calls
1009@end itemize
1010
1011The Avnet LX60/LX110/LX200 emulation supports:
1012
1013@itemize @minus
1014@item
1015A range of Xtensa CPUs, default is the DC232B
1016@item
101716550 UART
1018@item
1019OpenCores 10/100 Mbps Ethernet MAC
1020@end itemize
1021
1022@c man begin OPTIONS
1023
1024The following options are specific to the Xtensa emulation:
1025
1026@table @option
1027
1028@item -semihosting
1029Enable semihosting syscall emulation.
1030
1031Xtensa semihosting provides basic file IO calls, such as open/read/write/seek/select.
1032Tensilica baremetal libc for ISS and linux platform "sim" use this interface.
1033
1034Note that this allows guest direct access to the host filesystem,
1035so should only be used with trusted guest OS.
1036
1037@end table
3f2ce724 1038
abc67eb6
TH
1039@c man end
1040
483c6ad4
BP
1041@node System requirements
1042@chapter System requirements
1043
1044@section KVM kernel module
1045
1046On x86_64 hosts, the default set of CPU features enabled by the KVM accelerator
1047require the host to be running Linux v4.5 or newer.
1048
1049The OpteronG[345] CPU models require KVM support for RDTSCP, which was
1050added with Linux 4.5 which is supported by the major distros. And even
1051if RHEL7 has kernel 3.10, KVM there has the required functionality there
1052to make it close to a 4.5 or newer kernel.
47eacb4f 1053
e8412576
SH
1054@include docs/security.texi
1055
78e87797
PB
1056@include qemu-tech.texi
1057
44c67847 1058@include qemu-deprecated.texi
efe2add7 1059
fdeccf93 1060@include docs/system/build-platforms.texi
7544a042 1061
fdeccf93 1062@include docs/system/license.texi
7544a042 1063
7544a042 1064
debc7065 1065@node Index
7544a042
SW
1066@appendix Index
1067@menu
1068* Concept Index::
1069* Function Index::
1070* Keystroke Index::
1071* Program Index::
1072* Data Type Index::
1073* Variable Index::
1074@end menu
1075
1076@node Concept Index
1077@section Concept Index
1078This is the main index. Should we combine all keywords in one index? TODO
debc7065
FB
1079@printindex cp
1080
7544a042
SW
1081@node Function Index
1082@section Function Index
1083This index could be used for command line options and monitor functions.
1084@printindex fn
1085
1086@node Keystroke Index
1087@section Keystroke Index
1088
1089This is a list of all keystrokes which have a special function
1090in system emulation.
1091
1092@printindex ky
1093
1094@node Program Index
1095@section Program Index
1096@printindex pg
1097
1098@node Data Type Index
1099@section Data Type Index
1100
1101This index could be used for qdev device names and options.
1102
1103@printindex tp
1104
1105@node Variable Index
1106@section Variable Index
1107@printindex vr
1108
debc7065 1109@bye