\input texinfo @c -*- texinfo -*- @c %**start of header @setfilename qemu-doc.info @include version.texi @documentlanguage en @documentencoding UTF-8 @settitle QEMU version @value{VERSION} User Documentation @exampleindent 0 @paragraphindent 0 @c %**end of header @set qemu_system qemu-system-x86_64 @set qemu_system_x86 qemu-system-x86_64 @ifinfo @direntry * QEMU: (qemu-doc). The QEMU Emulator User Documentation. @end direntry @end ifinfo @iftex @titlepage @sp 7 @center @titlefont{QEMU version @value{VERSION}} @sp 1 @center @titlefont{User Documentation} @sp 3 @end titlepage @end iftex @ifnottex @node Top @top @menu * Introduction:: * QEMU System emulator:: * QEMU System emulator targets:: * Security:: * Deprecated features:: * Recently removed features:: * Supported build platforms:: * License:: * Index:: @end menu @end ifnottex @contents @node Introduction @chapter Introduction @menu * intro_features:: Features @end menu @node intro_features @section Features QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. QEMU has two operating modes: @itemize @item Full system emulation. In this mode, QEMU emulates a full system (for example a PC), including one or several processors and various peripherals. It can be used to launch different Operating Systems without rebooting the PC or to debug system code. @item User mode emulation. In this mode, QEMU can launch processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator (@url{https://www.winehq.org}) or to ease cross-compilation and cross-debugging. @end itemize QEMU has the following features: @itemize @item QEMU can run without a host kernel driver and yet gives acceptable performance. It uses dynamic translation to native code for reasonable speed, with support for self-modifying code and precise exceptions. @item It is portable to several operating systems (GNU/Linux, *BSD, Mac OS X, Windows) and architectures. @item It performs accurate software emulation of the FPU. @end itemize QEMU user mode emulation has the following features: @itemize @item Generic Linux system call converter, including most ioctls. @item clone() emulation using native CPU clone() to use Linux scheduler for threads. @item Accurate signal handling by remapping host signals to target signals. @end itemize QEMU full system emulation has the following features: @itemize @item QEMU uses a full software MMU for maximum portability. @item QEMU can optionally use an in-kernel accelerator, like kvm. The accelerators execute most of the guest code natively, while continuing to emulate the rest of the machine. @item Various hardware devices can be emulated and in some cases, host devices (e.g. serial and parallel ports, USB, drives) can be used transparently by the guest Operating System. Host device passthrough can be used for talking to external physical peripherals (e.g. a webcam, modem or tape drive). @item Symmetric multiprocessing (SMP) support. Currently, an in-kernel accelerator is required to use more than one host CPU for emulation. @end itemize @node QEMU System emulator @chapter QEMU System emulator @menu * pcsys_quickstart:: Quick start * sec_invocation:: Invocation * pcsys_keys:: Keys in the graphical frontends * mux_keys:: Keys in the character backend multiplexer * pcsys_monitor:: QEMU Monitor * disk_images:: Disk Images * pcsys_network:: Network emulation * pcsys_usb:: USB emulation * pcsys_ivshmem:: Inter-VM Shared Memory device * direct_linux_boot:: Direct Linux Boot * vnc_security:: VNC security * network_tls:: TLS setup for network services * gdb_usage:: GDB usage * managed_startup:: Managed startup options @end menu @include docs/system/quickstart.texi @include docs/system/invocation.texi @include docs/system/keys.texi @include docs/system/mux-chardev.texi @include docs/system/monitor.texi @include docs/system/images.texi @include docs/system/net.texi @include docs/system/usb.texi @include docs/system/ivshmem.texi @include docs/system/linuxboot.texi @include docs/system/vnc-security.texi @include docs/system/tls.texi @include docs/system/gdb.texi @include docs/system/managed-startup.texi @node QEMU System emulator targets @chapter QEMU System emulator targets QEMU is a generic emulator and it emulates many machines. Most of the options are similar for all machines. Specific information about the various targets are mentioned in the following sections. @menu * x86 (PC) System emulator:: * PowerPC System emulator:: * Sparc32 System emulator:: * Sparc64 System emulator:: * MIPS System emulator:: * ARM System emulator:: * ColdFire System emulator:: * Xtensa System emulator:: @end menu @include docs/system/target-i386.texi @include docs/system/target-ppc.texi @include docs/system/target-sparc.texi @include docs/system/target-sparc64.texi @include docs/system/target-mips.texi @include docs/system/target-arm.texi @include docs/system/target-m68k.texi @include docs/system/target-xtensa.texi @include docs/system/security.texi @include docs/system/deprecated.texi @include docs/system/build-platforms.texi @include docs/system/license.texi @node Index @appendix Index @printindex fn @bye