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