Diff for /qemu/qemu-doc.texi between versions 1.1.1.6 and 1.1.1.7

version 1.1.1.6, 2018/04/24 16:47:00 version 1.1.1.7, 2018/04/24 16:50:14
Line 72  For system emulation, the following hard Line 72  For system emulation, the following hard
 @item PC (x86 or x86_64 processor)  @item PC (x86 or x86_64 processor)
 @item ISA PC (old style PC without PCI bus)  @item ISA PC (old style PC without PCI bus)
 @item PREP (PowerPC processor)  @item PREP (PowerPC processor)
 @item G3 BW PowerMac (PowerPC processor)  @item G3 Beige PowerMac (PowerPC processor)
 @item Mac99 PowerMac (PowerPC processor, in progress)  @item Mac99 PowerMac (PowerPC processor, in progress)
 @item Sun4m/Sun4c/Sun4d (32-bit Sparc processor)  @item Sun4m/Sun4c/Sun4d (32-bit Sparc processor)
 @item Sun4u (64-bit Sparc processor, in progress)  @item Sun4u/Sun4v (64-bit Sparc processor, in progress)
 @item Malta board (32-bit and 64-bit MIPS processors)  @item Malta board (32-bit and 64-bit MIPS processors)
   @item MIPS Magnum (64-bit MIPS processor)
 @item ARM Integrator/CP (ARM)  @item ARM Integrator/CP (ARM)
 @item ARM Versatile baseboard (ARM)  @item ARM Versatile baseboard (ARM)
 @item ARM RealView Emulation baseboard (ARM)  @item ARM RealView Emulation baseboard (ARM)
 @item Spitz, Akita, Borzoi and Terrier PDAs (PXA270 processor)  @item Spitz, Akita, Borzoi, Terrier and Tosa PDAs (PXA270 processor)
 @item Luminary Micro LM3S811EVB (ARM Cortex-M3)  @item Luminary Micro LM3S811EVB (ARM Cortex-M3)
 @item Luminary Micro LM3S6965EVB (ARM Cortex-M3)  @item Luminary Micro LM3S6965EVB (ARM Cortex-M3)
 @item Freescale MCF5208EVB (ColdFire V2).  @item Freescale MCF5208EVB (ColdFire V2).
 @item Arnewsh MCF5206 evaluation board (ColdFire V2).  @item Arnewsh MCF5206 evaluation board (ColdFire V2).
 @item Palm Tungsten|E PDA (OMAP310 processor)  @item Palm Tungsten|E PDA (OMAP310 processor)
   @item N800 and N810 tablets (OMAP2420 processor)
   @item MusicPal (MV88W8618 ARM processor)
   @item Gumstix "Connex" and "Verdex" motherboards (PXA255/270).
   @item Siemens SX1 smartphone (OMAP310 processor)
 @end itemize  @end itemize
   
 For user emulation, x86, PowerPC, ARM, 32-bit MIPS, Sparc32/64 and ColdFire(m68k) CPUs are supported.  For user emulation, x86, PowerPC, ARM, 32-bit MIPS, Sparc32/64 and ColdFire(m68k) CPUs are supported.
Line 166  Creative SoundBlaster 16 sound card Line 171  Creative SoundBlaster 16 sound card
 @item  @item
 ENSONIQ AudioPCI ES1370 sound card  ENSONIQ AudioPCI ES1370 sound card
 @item  @item
   Intel 82801AA AC97 Audio compatible sound card
   @item
 Adlib(OPL2) - Yamaha YM3812 compatible chip  Adlib(OPL2) - Yamaha YM3812 compatible chip
 @item  @item
   Gravis Ultrasound GF1 sound card
   @item
   CS4231A compatible sound card
   @item
 PCI UHCI USB controller and a virtual USB hub.  PCI UHCI USB controller and a virtual USB hub.
 @end itemize  @end itemize
   
 SMP is supported with up to 255 CPUs.  SMP is supported with up to 255 CPUs.
   
 Note that adlib is only available when QEMU was configured with  Note that adlib, gus and cs4231a are only available when QEMU was
 -enable-adlib  configured with --audio-card-list option containing the name(s) of
   required card(s).
   
 QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL  QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
 VGA BIOS.  VGA BIOS.
   
 QEMU uses YM3812 emulation by Tatsuyuki Satoh.  QEMU uses YM3812 emulation by Tatsuyuki Satoh.
   
   QEMU uses GUS emulation(GUSEMU32 @url{http://www.deinmeister.de/gusemu/})
   by Tibor "TS" Schütz.
   
   CS4231A is the chip used in Windows Sound System and GUSMAX products
   
 @c man end  @c man end
   
 @node pcsys_quickstart  @node pcsys_quickstart
Line 204  usage: qemu [options] [@var{disk_image}] Line 221  usage: qemu [options] [@var{disk_image}]
 @end example  @end example
   
 @c man begin OPTIONS  @c man begin OPTIONS
 @var{disk_image} is a raw hard disk image for IDE hard disk 0.  @var{disk_image} is a raw hard disk image for IDE hard disk 0. Some
   targets do not need a disk image.
   
 General options:  General options:
 @table @option  @table @option
   @item -h
   Display help and exit
   
 @item -M @var{machine}  @item -M @var{machine}
 Select the emulated @var{machine} (@code{-M ?} for list)  Select the emulated @var{machine} (@code{-M ?} for list)
   
   @item -cpu @var{model}
   Select CPU model (-cpu ? for list and additional feature selection)
   
   @item -smp @var{n}
   Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
   CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
   to 4.
   
 @item -fda @var{file}  @item -fda @var{file}
 @item -fdb @var{file}  @item -fdb @var{file}
 Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can  Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
Line 234  Define a new drive. Valid options are: Line 263  Define a new drive. Valid options are:
 @table @code  @table @code
 @item file=@var{file}  @item file=@var{file}
 This option defines which disk image (@pxref{disk_images}) to use with  This option defines which disk image (@pxref{disk_images}) to use with
 this drive.  this drive. If the filename contains comma, you must double it
   (for instance, "file=my,,file" to use file "my,file").
 @item if=@var{interface}  @item if=@var{interface}
 This option defines on which type on interface the drive is connected.  This option defines on which type on interface the drive is connected.
 Available types are: ide, scsi, sd, mtd, floppy, pflash.  Available types are: ide, scsi, sd, mtd, floppy, pflash, virtio.
 @item bus=@var{bus},unit=@var{unit}  @item bus=@var{bus},unit=@var{unit}
 These options define where is connected the drive by defining the bus number and  These options define where is connected the drive by defining the bus number and
 the unit id.  the unit id.
Line 251  These options have the same definition a Line 281  These options have the same definition a
 @item snapshot=@var{snapshot}  @item snapshot=@var{snapshot}
 @var{snapshot} is "on" or "off" and allows to enable snapshot for given drive (see @option{-snapshot}).  @var{snapshot} is "on" or "off" and allows to enable snapshot for given drive (see @option{-snapshot}).
 @item cache=@var{cache}  @item cache=@var{cache}
 @var{cache} is "on" or "off" and allows to disable host cache to access data.  @var{cache} is "none", "writeback", or "writethrough" and controls how the host cache is used to access block data.
 @end table  @item format=@var{format}
   Specify which disk @var{format} will be used rather than detecting
   the format.  Can be used to specifiy format=raw to avoid interpreting
   an untrusted format header.
   @item serial=@var{serial}
   This option specifies the serial number to assign to the device.
   @end table
   
   By default, writethrough caching is used for all block device.  This means that
   the host page cache will be used to read and write data but write notification
   will be sent to the guest only when the data has been reported as written by
   the storage subsystem.
   
   Writeback caching will report data writes as completed as soon as the data is
   present in the host page cache.  This is safe as long as you trust your host.
   If your host crashes or loses power, then the guest may experience data
   corruption.  When using the @option{-snapshot} option, writeback caching is
   used by default.
   
   The host page can be avoided entirely with @option{cache=none}.  This will
   attempt to do disk IO directly to the guests memory.  QEMU may still perform
   an internal copy of the data.
   
   Some block drivers perform badly with @option{cache=writethrough}, most notably,
   qcow2.  If performance is more important than correctness,
   @option{cache=writeback} should be used with qcow2.  By default, if no explicit
   caching is specified for a qcow2 disk image, @option{cache=writeback} will be
   used.  For all other disk types, @option{cache=writethrough} is the default.
   
 Instead of @option{-cdrom} you can use:  Instead of @option{-cdrom} you can use:
 @example  @example
Line 299  is interpreted like: Line 356  is interpreted like:
 qemu -hda a -hdb b  qemu -hda a -hdb b
 @end example  @end example
   
   @item -mtdblock file
   Use 'file' as on-board Flash memory image.
   
   @item -sd file
   Use 'file' as SecureDigital card image.
   
   @item -pflash file
   Use 'file' as a parallel flash image.
   
 @item -boot [a|c|d|n]  @item -boot [a|c|d|n]
 Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot  Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
 is the default.  is the default.
Line 308  Write to temporary files instead of disk Line 374  Write to temporary files instead of disk
 the raw disk image you use is not written back. You can however force  the raw disk image you use is not written back. You can however force
 the write back by pressing @key{C-a s} (@pxref{disk_images}).  the write back by pressing @key{C-a s} (@pxref{disk_images}).
   
 @item -no-fd-bootchk  
 Disable boot signature checking for floppy disks in Bochs BIOS. It may  
 be needed to boot from old floppy disks.  
   
 @item -m @var{megs}  @item -m @var{megs}
 Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB.  Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB.  Optionally,
   a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
   gigabytes respectively.
   
 @item -smp @var{n}  @item -k @var{language}
 Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255  
 CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs  Use keyboard layout @var{language} (for example @code{fr} for
 to 4.  French). This option is only needed where it is not easy to get raw PC
   keycodes (e.g. on Macs, with some X11 servers or with a VNC
   display). You don't normally need to use it on PC/Linux or PC/Windows
   hosts.
   
   The available layouts are:
   @example
   ar  de-ch  es  fo     fr-ca  hu  ja  mk     no  pt-br  sv
   da  en-gb  et  fr     fr-ch  is  lt  nl     pl  ru     th
   de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr
   @end example
   
   The default is @code{en-us}.
   
 @item -audio-help  @item -audio-help
   
Line 331  Enable audio and selected sound hardware Line 407  Enable audio and selected sound hardware
 available sound hardware.  available sound hardware.
   
 @example  @example
 qemu -soundhw sb16,adlib hda  qemu -soundhw sb16,adlib disk.img
 qemu -soundhw es1370 hda  qemu -soundhw es1370 disk.img
 qemu -soundhw all hda  qemu -soundhw ac97 disk.img
   qemu -soundhw all disk.img
 qemu -soundhw ?  qemu -soundhw ?
 @end example  @end example
   
 @item -localtime  Note that Linux's i810_audio OSS kernel (for AC97) module might
 Set the real time clock to local time (the default is to UTC  require manually specifying clocking.
 time). This option is needed to have correct date in MS-DOS or  
 Windows.  
   
 @item -startdate @var{date}  @example
 Set the initial date of the real time clock. Valid format for  modprobe i810_audio clocking=48000
 @var{date} are: @code{now} or @code{2006-06-17T16:01:21} or  @end example
 @code{2006-06-17}. The default value is @code{now}.  
   
 @item -pidfile @var{file}  @end table
 Store the QEMU process PID in @var{file}. It is useful if you launch QEMU  
 from a script.  
   
 @item -daemonize  USB options:
 Daemonize the QEMU process after initialization.  QEMU will not detach from  @table @option
 standard IO until it is ready to receive connections on any of its devices.  
 This option is a useful way for external programs to launch QEMU without having  
 to cope with initialization race conditions.  
   
 @item -win2k-hack  @item -usb
 Use it when installing Windows 2000 to avoid a disk full bug. After  Enable the USB driver (will be the default soon)
 Windows 2000 is installed, you no longer need this option (this option  
 slows down the IDE transfers).  
   
 @item -option-rom @var{file}  @item -usbdevice @var{devname}
 Load the contents of @var{file} as an option ROM.  Add the USB device @var{devname}. @xref{usb_devices}.
 This option is useful to load things like EtherBoot.  
   @table @code
   
   @item mouse
   Virtual Mouse. This will override the PS/2 mouse emulation when activated.
   
   @item tablet
   Pointer device that uses absolute coordinates (like a touchscreen). This
   means qemu is able to report the mouse position without having to grab the
   mouse. Also overrides the PS/2 mouse emulation when activated.
   
   @item disk:[format=@var{format}]:file
   Mass storage device based on file. The optional @var{format} argument
   will be used rather than detecting the format. Can be used to specifiy
   format=raw to avoid interpreting an untrusted format header.
   
   @item host:bus.addr
   Pass through the host device identified by bus.addr (Linux only).
   
   @item host:vendor_id:product_id
   Pass through the host device identified by vendor_id:product_id (Linux only).
   
   @item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
   Serial converter to host character device @var{dev}, see @code{-serial} for the
   available devices.
   
   @item braille
   Braille device.  This will use BrlAPI to display the braille output on a real
   or fake device.
   
   @item net:options
   Network adapter that supports CDC ethernet and RNDIS protocols.
   
   @end table
   
 @item -name @var{name}  @item -name @var{name}
 Sets the @var{name} of the guest.  Sets the @var{name} of the guest.
 This name will be display in the SDL window caption.  This name will be displayed in the SDL window caption.
 The @var{name} will also be used for the VNC server.  The @var{name} will also be used for the VNC server.
   
   @item -uuid @var{uuid}
   Set system UUID.
   
 @end table  @end table
   
 Display options:  Display options:
Line 384  command line application. The emulated s Line 487  command line application. The emulated s
 the console. Therefore, you can still use QEMU to debug a Linux kernel  the console. Therefore, you can still use QEMU to debug a Linux kernel
 with a serial console.  with a serial console.
   
   @item -curses
   
   Normally, QEMU uses SDL to display the VGA output.  With this option,
   QEMU can display the VGA output when in text mode using a 
   curses/ncurses interface.  Nothing is displayed in graphical mode.
   
 @item -no-frame  @item -no-frame
   
 Do not use decorations for SDL windows and start them using the whole  Do not use decorations for SDL windows and start them using the whole
 available screen space. This makes the using QEMU in a dedicated desktop  available screen space. This makes the using QEMU in a dedicated desktop
 workspace more convenient.  workspace more convenient.
   
   @item -alt-grab
   
   Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
   
   @item -no-quit
   
   Disable SDL window close capability.
   
   @item -sdl
   
   Enable SDL.
   
   @item -portrait
   
   Rotate graphical output 90 deg left (only PXA LCD).
   
   @item -vga @var{type}
   Select type of VGA card to emulate. Valid values for @var{type} are
   @table @code
   @item cirrus
   Cirrus Logic GD5446 Video card. All Windows versions starting from
   Windows 95 should recognize and use this graphic card. For optimal
   performances, use 16 bit color depth in the guest and the host OS.
   (This one is the default)
   @item std
   Standard VGA card with Bochs VBE extensions.  If your guest OS
   supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
   to use high resolution modes (>= 1280x1024x16) then you should use
   this option.
   @item vmware
   VMWare SVGA-II compatible adapter. Use it if you have sufficiently
   recent XFree86/XOrg server or Windows guest with a driver for this
   card.
   @item none
   Disable VGA card.
   @end table
   
 @item -full-screen  @item -full-screen
 Start in full screen.  Start in full screen.
   
Line 405  syntax for the @var{display} is Line 551  syntax for the @var{display} is
   
 @table @code  @table @code
   
 @item @var{interface}:@var{d}  @item @var{host}:@var{d}
   
 TCP connections will only be allowed from @var{interface} on display @var{d}.  TCP connections will only be allowed from @var{host} on display @var{d}.
 By convention the TCP port is 5900+@var{d}. Optionally, @var{interface} can  By convention the TCP port is 5900+@var{d}. Optionally, @var{host} can
 be omitted in which case the server will bind to all interfaces.  be omitted in which case the server will accept connections from any host.
   
 @item @var{unix}:@var{path}  @item @code{unix}:@var{path}
   
 Connections will be allowed over UNIX domain sockets where @var{path} is the  Connections will be allowed over UNIX domain sockets where @var{path} is the
 location of a unix socket to listen for connections on.  location of a unix socket to listen for connections on.
   
 @item none  @item none
   
 VNC is initialized by not started. The monitor @code{change} command can be used  VNC is initialized but not started. The monitor @code{change} command
 to later start the VNC server.  can be used to later start the VNC server.
   
 @end table  @end table
   
Line 428  separated by commas. Valid options are Line 574  separated by commas. Valid options are
   
 @table @code  @table @code
   
   @item reverse
   
   Connect to a listening VNC client via a ``reverse'' connection. The
   client is specified by the @var{display}. For reverse network
   connections (@var{host}:@var{d},@code{reverse}), the @var{d} argument
   is a TCP port number, not a display number.
   
 @item password  @item password
   
 Require that password based authentication is used for client connections.  Require that password based authentication is used for client connections.
Line 465  certificates. Line 618  certificates.
   
 @end table  @end table
   
 @item -k @var{language}  
   
 Use keyboard layout @var{language} (for example @code{fr} for  
 French). This option is only needed where it is not easy to get raw PC  
 keycodes (e.g. on Macs, with some X11 servers or with a VNC  
 display). You don't normally need to use it on PC/Linux or PC/Windows  
 hosts.  
   
 The available layouts are:  
 @example  
 ar  de-ch  es  fo     fr-ca  hu  ja  mk     no  pt-br  sv  
 da  en-gb  et  fr     fr-ch  is  lt  nl     pl  ru     th  
 de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr  
 @end example  
   
 The default is @code{en-us}.  
   
 @end table  
   
 USB options:  
 @table @option  
   
 @item -usb  
 Enable the USB driver (will be the default soon)  
   
 @item -usbdevice @var{devname}  
 Add the USB device @var{devname}. @xref{usb_devices}.  
 @end table  @end table
   
 Network options:  Network options:
   
 @table @option  @table @option
   
 @item -net nic[,vlan=@var{n}][,macaddr=@var{addr}][,model=@var{type}]  @item -net nic[,vlan=@var{n}][,macaddr=@var{addr}][,model=@var{type}][,name=@var{name}]
 Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}  Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}
 = 0 is the default). The NIC is an ne2k_pci by default on the PC  = 0 is the default). The NIC is an ne2k_pci by default on the PC
 target. Optionally, the MAC address can be changed. If no  target. Optionally, the MAC address can be changed to @var{addr}
   and a @var{name} can be assigned for use in monitor commands. If no
 @option{-net} option is specified, a single NIC is created.  @option{-net} option is specified, a single NIC is created.
 Qemu can emulate several different models of network card.  Qemu can emulate several different models of network card.
 Valid values for @var{type} are  Valid values for @var{type} are
 @code{i82551}, @code{i82557b}, @code{i82559er},  @code{i82551}, @code{i82557b}, @code{i82559er},
 @code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},  @code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
 @code{smc91c111}, @code{lance} and @code{mcf_fec}.  @code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}.
 Not all devices are supported on all targets.  Use -net nic,model=?  Not all devices are supported on all targets.  Use -net nic,model=?
 for a list of available devices for your target.  for a list of available devices for your target.
   
 @item -net user[,vlan=@var{n}][,hostname=@var{name}]  @item -net user[,vlan=@var{n}][,hostname=@var{name}][,name=@var{name}]
 Use the user mode network stack which requires no administrator  Use the user mode network stack which requires no administrator
 privilege to run.  @option{hostname=name} can be used to specify the client  privilege to run.  @option{hostname=name} can be used to specify the client
 hostname reported by the builtin DHCP server.  hostname reported by the builtin DHCP server.
   
 @item -net tap[,vlan=@var{n}][,fd=@var{h}][,ifname=@var{name}][,script=@var{file}]  @item -net channel,@var{port}:@var{dev}
 Connect the host TAP network interface @var{name} to VLAN @var{n} and  Forward @option{user} TCP connection to port @var{port} to character device @var{dev}
 use the network script @var{file} to configure it. The default  
 network script is @file{/etc/qemu-ifup}. Use @option{script=no} to  @item -net tap[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,ifname=@var{name}][,script=@var{file}][,downscript=@var{dfile}]
 disable script execution. If @var{name} is not  Connect the host TAP network interface @var{name} to VLAN @var{n}, use
 provided, the OS automatically provides one. @option{fd}=@var{h} can be  the network script @var{file} to configure it and the network script 
 used to specify the handle of an already opened host TAP interface. Example:  @var{dfile} to deconfigure it. If @var{name} is not provided, the OS 
   automatically provides one. @option{fd}=@var{h} can be used to specify
   the handle of an already opened host TAP interface. The default network 
   configure script is @file{/etc/qemu-ifup} and the default network 
   deconfigure script is @file{/etc/qemu-ifdown}. Use @option{script=no} 
   or @option{downscript=no} to disable script execution. Example:
   
 @example  @example
 qemu linux.img -net nic -net tap  qemu linux.img -net nic -net tap
Line 535  qemu linux.img -net nic,vlan=0 -net tap, Line 667  qemu linux.img -net nic,vlan=0 -net tap,
 @end example  @end example
   
   
 @item -net socket[,vlan=@var{n}][,fd=@var{h}][,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}]  @item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,listen=[@var{host}]:@var{port}][,connect=@var{host}:@var{port}]
   
 Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual  Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual
 machine using a TCP socket connection. If @option{listen} is  machine using a TCP socket connection. If @option{listen} is
Line 555  qemu linux.img -net nic,macaddr=52:54:00 Line 687  qemu linux.img -net nic,macaddr=52:54:00
                -net socket,connect=127.0.0.1:1234                 -net socket,connect=127.0.0.1:1234
 @end example  @end example
   
 @item -net socket[,vlan=@var{n}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}]  @item -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,mcast=@var{maddr}:@var{port}]
   
 Create a VLAN @var{n} shared with another QEMU virtual  Create a VLAN @var{n} shared with another QEMU virtual
 machines using a UDP multicast socket, effectively making a bus for  machines using a UDP multicast socket, effectively making a bus for
Line 595  qemu linux.img -net nic,macaddr=52:54:00 Line 727  qemu linux.img -net nic,macaddr=52:54:00
 /path/to/linux ubd0=/path/to/root_fs eth0=mcast  /path/to/linux ubd0=/path/to/root_fs eth0=mcast
 @end example  @end example
   
   @item -net vde[,vlan=@var{n}][,name=@var{name}][,sock=@var{socketpath}][,port=@var{n}][,group=@var{groupname}][,mode=@var{octalmode}]
   Connect VLAN @var{n} to PORT @var{n} of a vde switch running on host and
   listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname}
   and MODE @var{octalmode} to change default ownership and permissions for
   communication port. This option is available only if QEMU has been compiled
   with vde support enabled.
   
   Example:
   @example
   # launch vde switch
   vde_switch -F -sock /tmp/myswitch
   # launch QEMU instance
   qemu linux.img -net nic -net vde,sock=/tmp/myswitch
   @end example
   
 @item -net none  @item -net none
 Indicate that no network devices should be configured. It is used to  Indicate that no network devices should be configured. It is used to
 override the default configuration (@option{-net nic -net user}) which  override the default configuration (@option{-net nic -net user}) which
Line 667  connect to the guest telnet server. Line 814  connect to the guest telnet server.
   
 @end table  @end table
   
   Bluetooth(R) options:
   @table @option
   
   @item -bt hci[...]
   Defines the function of the corresponding Bluetooth HCI.  -bt options
   are matched with the HCIs present in the chosen machine type.  For
   example when emulating a machine with only one HCI built into it, only
   the first @code{-bt hci[...]} option is valid and defines the HCI's
   logic.  The Transport Layer is decided by the machine type.  Currently
   the machines @code{n800} and @code{n810} have one HCI and all other
   machines have none.
   
   @anchor{bt-hcis}
   The following three types are recognized:
   
   @table @code
   @item -bt hci,null
   (default) The corresponding Bluetooth HCI assumes no internal logic
   and will not respond to any HCI commands or emit events.
   
   @item -bt hci,host[:@var{id}]
   (@code{bluez} only) The corresponding HCI passes commands / events
   to / from the physical HCI identified by the name @var{id} (default:
   @code{hci0}) on the computer running QEMU.  Only available on @code{bluez}
   capable systems like Linux.
   
   @item -bt hci[,vlan=@var{n}]
   Add a virtual, standard HCI that will participate in the Bluetooth
   scatternet @var{n} (default @code{0}).  Similarly to @option{-net}
   VLANs, devices inside a bluetooth network @var{n} can only communicate
   with other devices in the same network (scatternet).
   @end table
   
   @item -bt vhci[,vlan=@var{n}]
   (Linux-host only) Create a HCI in scatternet @var{n} (default 0) attached
   to the host bluetooth stack instead of to the emulated target.  This
   allows the host and target machines to participate in a common scatternet
   and communicate.  Requires the Linux @code{vhci} driver installed.  Can
   be used as following:
   
   @example
   qemu [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
   @end example
   
   @item -bt device:@var{dev}[,vlan=@var{n}]
   Emulate a bluetooth device @var{dev} and place it in network @var{n}
   (default @code{0}).  QEMU can only emulate one type of bluetooth devices
   currently:
   
   @table @code
   @item keyboard
   Virtual wireless keyboard implementing the HIDP bluetooth profile.
   @end table
   
   @end table
   
   i386 target only:
   
   @table @option
   
   @item -win2k-hack
   Use it when installing Windows 2000 to avoid a disk full bug. After
   Windows 2000 is installed, you no longer need this option (this option
   slows down the IDE transfers).
   
   @item -rtc-td-hack
   Use it if you experience time drift problem in Windows with ACPI HAL.
   This option will try to figure out how many timer interrupts were not
   processed by the Windows guest and will re-inject them.
   
   @item -no-fd-bootchk
   Disable boot signature checking for floppy disks in Bochs BIOS. It may
   be needed to boot from old floppy disks.
   
   @item -no-acpi
   Disable ACPI (Advanced Configuration and Power Interface) support. Use
   it if your guest OS complains about ACPI problems (PC target machine
   only).
   
   @item -no-hpet
   Disable HPET support.
   
   @item -acpitable [sig=@var{str}][,rev=@var{n}][,oem_id=@var{str}][,oem_table_id=@var{str}][,oem_rev=@var{n}] [,asl_compiler_id=@var{str}][,asl_compiler_rev=@var{n}][,data=@var{file1}[:@var{file2}]...]
   Add ACPI table with specified header fields and context from specified files.
   
   @end table
   
 Linux boot specific: When using these options, you can use a given  Linux boot specific: When using these options, you can use a given
 Linux kernel without installing it in the disk image. It can be useful  Linux kernel without installing it in the disk image. It can be useful
 for easier testing of various kernels.  for easier testing of various kernels.
Line 692  Redirect the virtual serial port to host Line 926  Redirect the virtual serial port to host
 @var{dev}. The default device is @code{vc} in graphical mode and  @var{dev}. The default device is @code{vc} in graphical mode and
 @code{stdio} in non graphical mode.  @code{stdio} in non graphical mode.
   
 This option can be used several times to simulate up to 4 serials  This option can be used several times to simulate up to 4 serial
 ports.  ports.
   
 Use @code{-serial none} to disable all serial ports.  Use @code{-serial none} to disable all serial ports.
Line 733  This implements UDP Net Console. Line 967  This implements UDP Net Console.
 When @var{remote_host} or @var{src_ip} are not specified  When @var{remote_host} or @var{src_ip} are not specified
 they default to @code{0.0.0.0}.  they default to @code{0.0.0.0}.
 When not using a specified @var{src_port} a random port is automatically chosen.  When not using a specified @var{src_port} a random port is automatically chosen.
   @item msmouse
   Three button serial mouse. Configure the guest to use Microsoft protocol.
   
 If you just want a simple readonly console you can use @code{netcat} or  If you just want a simple readonly console you can use @code{netcat} or
 @code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:  @code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:
Line 803  listening on port 4444 would be: Line 1039  listening on port 4444 would be:
 @item -serial mon:telnet::4444,server,nowait  @item -serial mon:telnet::4444,server,nowait
 @end table  @end table
   
   @item braille
   Braille device.  This will use BrlAPI to display the braille output on a real
   or fake device.
   
 @end table  @end table
   
 @item -parallel @var{dev}  @item -parallel @var{dev}
Line 822  serial port). Line 1062  serial port).
 The default device is @code{vc} in graphical mode and @code{stdio} in  The default device is @code{vc} in graphical mode and @code{stdio} in
 non graphical mode.  non graphical mode.
   
 @item -echr numeric_ascii_value  @item -pidfile @var{file}
 Change the escape character used for switching to the monitor when using  Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
 monitor and serial sharing.  The default is @code{0x01} when using the  from a script.
 @code{-nographic} option.  @code{0x01} is equal to pressing  
 @code{Control-a}.  You can select a different character from the ascii  @item -S
 control keys where 1 through 26 map to Control-a through Control-z.  For  Do not start CPU at startup (you must type 'c' in the monitor).
 instance you could use the either of the following to change the escape  
 character to Control-t.  
 @table @code  
 @item -echr 0x14  
 @item -echr 20  
 @end table  
   
 @item -s  @item -s
 Wait gdb connection to port 1234 (@pxref{gdb_usage}).  Wait gdb connection to port 1234 (@pxref{gdb_usage}).
   
 @item -p @var{port}  @item -p @var{port}
 Change gdb connection port.  @var{port} can be either a decimal number  Change gdb connection port.  @var{port} can be either a decimal number
 to specify a TCP port, or a host device (same devices as the serial port).  to specify a TCP port, or a host device (same devices as the serial port).
 @item -S  
 Do not start CPU at startup (you must type 'c' in the monitor).  
 @item -d  @item -d
 Output log in /tmp/qemu.log  Output log in /tmp/qemu.log
 @item -hdachs @var{c},@var{h},@var{s},[,@var{t}]  @item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
Line 851  translation mode (@var{t}=none, lba or a Line 1085  translation mode (@var{t}=none, lba or a
 all those parameters. This option is useful for old MS-DOS disk  all those parameters. This option is useful for old MS-DOS disk
 images.  images.
   
 @item -L path  @item -L  @var{path}
 Set the directory for the BIOS, VGA BIOS and keymaps.  Set the directory for the BIOS, VGA BIOS and keymaps.
   
 @item -std-vga  @item -bios @var{file}
 Simulate a standard VGA card with Bochs VBE extensions (default is  Set the filename for the BIOS.
 Cirrus Logic GD5446 PCI VGA). If your guest OS supports the VESA 2.0  
 VBE extensions (e.g. Windows XP) and if you want to use high  
 resolution modes (>= 1280x1024x16) then you should use this option.  
   
 @item -no-acpi  @item -kernel-kqemu
 Disable ACPI (Advanced Configuration and Power Interface) support. Use  Enable KQEMU full virtualization (default is user mode only).
 it if your guest OS complains about ACPI problems (PC target machine  
 only).  @item -no-kqemu
   Disable KQEMU kernel module usage. KQEMU options are only available if
   KQEMU support is enabled when compiling.
   
   @item -enable-kvm
   Enable KVM full virtualization support. This option is only available
   if KVM support is enabled when compiling.
   
 @item -no-reboot  @item -no-reboot
 Exit instead of rebooting.  Exit instead of rebooting.
   
 @item -loadvm file  @item -no-shutdown
   Don't exit QEMU on guest shutdown, but instead only stop the emulation.
   This allows for instance switching to monitor to commit changes to the
   disk image.
   
   @item -loadvm @var{file}
 Start right away with a saved state (@code{loadvm} in monitor)  Start right away with a saved state (@code{loadvm} in monitor)
   
 @item -semihosting  @item -daemonize
 Enable semihosting syscall emulation (ARM and M68K target machines only).  Daemonize the QEMU process after initialization.  QEMU will not detach from
   standard IO until it is ready to receive connections on any of its devices.
   This option is a useful way for external programs to launch QEMU without having
   to cope with initialization race conditions.
   
 On ARM this implements the "Angel" interface.  @item -option-rom @var{file}
 On M68K this implements the "ColdFire GDB" interface used by libgloss.  Load the contents of @var{file} as an option ROM.
   This option is useful to load things like EtherBoot.
   
   @item -clock @var{method}
   Force the use of the given methods for timer alarm. To see what timers
   are available use -clock ?.
   
   @item -localtime
   Set the real time clock to local time (the default is to UTC
   time). This option is needed to have correct date in MS-DOS or
   Windows.
   
   @item -startdate @var{date}
   Set the initial date of the real time clock. Valid formats for
   @var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
   @code{2006-06-17}. The default value is @code{now}.
   
   @item -icount [N|auto]
   Enable virtual instruction counter.  The virtual cpu will execute one
   instruction every 2^N ns of virtual time.  If @code{auto} is specified
   then the virtual cpu speed will be automatically adjusted to keep virtual
   time within a few seconds of real time.
   
   Note that while this option can give deterministic behavior, it does not
   provide cycle accurate emulation.  Modern CPUs contain superscalar out of
   order cores with complex cache hierarchies.  The number of instructions
   executed often has little or no correlation with actual performance.
   
   @item -echr numeric_ascii_value
   Change the escape character used for switching to the monitor when using
   monitor and serial sharing.  The default is @code{0x01} when using the
   @code{-nographic} option.  @code{0x01} is equal to pressing
   @code{Control-a}.  You can select a different character from the ascii
   control keys where 1 through 26 map to Control-a through Control-z.  For
   instance you could use the either of the following to change the escape
   character to Control-t.
   @table @code
   @item -echr 0x14
   @item -echr 20
   @end table
   
   @item -chroot dir
   Immediately before starting guest execution, chroot to the specified
   directory.  Especially useful in combination with -runas.
   
   @item -runas user
   Immediately before starting guest execution, drop root privileges, switching
   to the specified user.
   
 Note that this allows guest direct access to the host filesystem,  
 so should only be used with trusted guest OS.  
 @end table  @end table
   
 @c man end  @c man end
Line 916  During emulation, if you are using the @ Line 1206  During emulation, if you are using the @
   
 @table @key  @table @key
 @item Ctrl-a h  @item Ctrl-a h
   @item Ctrl-a ?
 Print this help  Print this help
 @item Ctrl-a x  @item Ctrl-a x
 Exit emulator  Exit emulator
 @item Ctrl-a s  @item Ctrl-a s
 Save disk data back to file (if -snapshot)  Save disk data back to file (if -snapshot)
 @item Ctrl-a t  @item Ctrl-a t
 toggle console timestamps  Toggle console timestamps
 @item Ctrl-a b  @item Ctrl-a b
 Send break (magic sysrq in Linux)  Send break (magic sysrq in Linux)
 @item Ctrl-a c  @item Ctrl-a c
Line 981  Commit changes to the disk images (if -s Line 1272  Commit changes to the disk images (if -s
 Show various information about the system state.  Show various information about the system state.
   
 @table @option  @table @option
   @item info version
   show the version of QEMU
 @item info network  @item info network
 show the various VLANs and the associated devices  show the various VLANs and the associated devices
   @item info chardev
   show the character devices
 @item info block  @item info block
 show the block devices  show the block devices
   @item info block
   show block device statistics
 @item info registers  @item info registers
 show the cpu registers  show the cpu registers
   @item info cpus
   show infos for each CPU
 @item info history  @item info history
 show the command line history  show the command line history
   @item info irq
   show the interrupts statistics (if available)
   @item info pic
   show i8259 (PIC) state
 @item info pci  @item info pci
 show emulated PCI device  show emulated PCI device info
   @item info tlb
   show virtual to physical memory mappings (i386 only)
   @item info mem
   show the active virtual memory mappings (i386 only)
   @item info hpet
   show state of HPET (i386 only)
   @item info kqemu
   show KQEMU information
   @item info kvm
   show KVM information
 @item info usb  @item info usb
 show USB devices plugged on the virtual USB hub  show USB devices plugged on the virtual USB hub
 @item info usbhost  @item info usbhost
 show all USB host devices  show all USB host devices
   @item info profile
   show profiling information
 @item info capture  @item info capture
 show information about active capturing  show information about active capturing
 @item info snapshots  @item info snapshots
 show list of VM snapshots  show list of VM snapshots
   @item info status
   show the current VM status (running|paused)
   @item info pcmcia
   show guest PCMCIA status
 @item info mice  @item info mice
 show which guest mouse is receiving events  show which guest mouse is receiving events
   @item info vnc
   show the vnc server status
   @item info name
   show the current VM name
   @item info uuid
   show the current VM UUID
   @item info cpustats
   show CPU statistics
   @item info slirp
   show SLIRP statistics (if available)
   @item info migrate
   show migration status
   @item info balloon
   show balloon information
 @end table  @end table
   
 @item q or quit  @item q or quit
Line 1014  Eject a removable medium (use -f to forc Line 1347  Eject a removable medium (use -f to forc
 Change the configuration of a device.  Change the configuration of a device.
   
 @table @option  @table @option
 @item change @var{diskdevice} @var{filename}  @item change @var{diskdevice} @var{filename} [@var{format}]
 Change the medium for a removable disk device to point to @var{filename}. eg  Change the medium for a removable disk device to point to @var{filename}. eg
   
 @example  @example
 (qemu) change cdrom /path/to/some.iso  (qemu) change ide1-cd0 /path/to/some.iso
 @end example  @end example
   
   @var{format} is optional.
   
 @item change vnc @var{display},@var{options}  @item change vnc @var{display},@var{options}
 Change the configuration of the VNC server. The valid syntax for @var{display}  Change the configuration of the VNC server. The valid syntax for @var{display}
 and @var{options} are described at @ref{sec_invocation}. eg  and @var{options} are described at @ref{sec_invocation}. eg
Line 1029  and @var{options} are described at @ref{ Line 1364  and @var{options} are described at @ref{
 (qemu) change vnc localhost:1  (qemu) change vnc localhost:1
 @end example  @end example
   
 @item change vnc password  @item change vnc password [@var{password}]
   
 Change the password associated with the VNC server. The monitor will prompt for  Change the password associated with the VNC server. If the new password is not
 the new password to be entered. VNC passwords are only significant upto 8 letters.  supplied, the monitor will prompt for it to be entered. VNC passwords are only
 eg.  significant up to 8 letters. eg
   
 @example  @example
 (qemu) change vnc password  (qemu) change vnc password
Line 1045  Password: ******** Line 1380  Password: ********
 @item screendump @var{filename}  @item screendump @var{filename}
 Save screen into PPM image @var{filename}.  Save screen into PPM image @var{filename}.
   
 @item mouse_move @var{dx} @var{dy} [@var{dz}]  @item logfile @var{filename}
 Move the active mouse to the specified coordinates @var{dx} @var{dy}  Output logs to @var{filename}.
 with optional scroll axis @var{dz}.  
   
 @item mouse_button @var{val}  
 Change the active mouse button state @var{val} (1=L, 2=M, 4=R).  
   
 @item mouse_set @var{index}  
 Set which mouse device receives events at given @var{index}, index  
 can be obtained with  
 @example  
 info mice  
 @end example  
   
 @item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]  
 Capture audio into @var{filename}. Using sample rate @var{frequency}  
 bits per sample @var{bits} and number of channels @var{channels}.  
   
 Defaults:  
 @itemize @minus  
 @item Sample rate = 44100 Hz - CD quality  
 @item Bits = 16  
 @item Number of channels = 2 - Stereo  
 @end itemize  
   
 @item stopcapture @var{index}  
 Stop capture with a given @var{index}, index can be obtained with  
 @example  
 info capture  
 @end example  
   
 @item log @var{item1}[,...]  @item log @var{item1}[,...]
 Activate logging of the specified items to @file{/tmp/qemu.log}.  Activate logging of the specified items to @file{/tmp/qemu.log}.
Line 1160  Dump 80 16 bit values at the start of th Line 1467  Dump 80 16 bit values at the start of th
 @end smallexample  @end smallexample
 @end itemize  @end itemize
   
 @item p or print/@var{fmt} @var{expr}  @item p or print/@var{fmt} @var{expr}
   
   Print expression value. Only the @var{format} part of @var{fmt} is
   used.
   
   @item sendkey @var{keys}
   
   Send @var{keys} to the emulator. @var{keys} could be the name of the
   key or @code{#} followed by the raw value in either decimal or hexadecimal
   format. Use @code{-} to press several keys simultaneously. Example:
   @example
   sendkey ctrl-alt-f1
   @end example
   
   This command is useful to send keys that your graphical user interface
   intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
   
   @item system_reset
   
   Reset the system.
   
   @item system_powerdown
   
   Power down the system (if supported).
   
   @item sum @var{addr} @var{size}
   
   Compute the checksum of a memory region.
   
   @item usb_add @var{devname}
   
   Add the USB device @var{devname}.  For details of available devices see
   @ref{usb_devices}
   
   @item usb_del @var{devname}
   
   Remove the USB device @var{devname} from the QEMU virtual USB
   hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
   command @code{info usb} to see the devices you can remove.
   
   @item mouse_move @var{dx} @var{dy} [@var{dz}]
   Move the active mouse to the specified coordinates @var{dx} @var{dy}
   with optional scroll axis @var{dz}.
   
   @item mouse_button @var{val}
   Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
   
 Print expression value. Only the @var{format} part of @var{fmt} is  @item mouse_set @var{index}
 used.  Set which mouse device receives events at given @var{index}, index
   can be obtained with
   @example
   info mice
   @end example
   
 @item sendkey @var{keys}  @item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
   Capture audio into @var{filename}. Using sample rate @var{frequency}
   bits per sample @var{bits} and number of channels @var{channels}.
   
   Defaults:
   @itemize @minus
   @item Sample rate = 44100 Hz - CD quality
   @item Bits = 16
   @item Number of channels = 2 - Stereo
   @end itemize
   
 Send @var{keys} to the emulator. Use @code{-} to press several keys  @item stopcapture @var{index}
 simultaneously. Example:  Stop capture with a given @var{index}, index can be obtained with
 @example  @example
 sendkey ctrl-alt-f1  info capture
 @end example  @end example
   
 This command is useful to send keys that your graphical user interface  @item memsave @var{addr} @var{size} @var{file}
 intercepts at low level, such as @code{ctrl-alt-f1} in X Window.  save to disk virtual memory dump starting at @var{addr} of size @var{size}.
   
 @item system_reset  @item pmemsave @var{addr} @var{size} @var{file}
   save to disk physical memory dump starting at @var{addr} of size @var{size}.
   
 Reset the system.  @item boot_set @var{bootdevicelist}
   
 @item usb_add @var{devname}  Define new values for the boot device list. Those values will override
   the values specified on the command line through the @code{-boot} option.
   
 Add the USB device @var{devname}.  For details of available devices see  The values that can be specified here depend on the machine type, but are
 @ref{usb_devices}  the same that can be specified in the @code{-boot} command line option.
   
 @item usb_del @var{devname}  @item nmi @var{cpu}
   Inject an NMI on the given CPU.
   
 Remove the USB device @var{devname} from the QEMU virtual USB  @item migrate [-d] @var{uri}
 hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor  Migrate to @var{uri} (using -d to not wait for completion).
 command @code{info usb} to see the devices you can remove.  
   @item migrate_cancel
   Cancel the current VM migration.
   
   @item migrate_set_speed @var{value}
   Set maximum speed to @var{value} (in bytes) for migrations.
   
   @item balloon @var{value}
   Request VM to change its memory allocation to @var{value} (in MB).
   
   @item set_link @var{name} [up|down]
   Set link @var{name} up or down.
   
 @end table  @end table
   
Line 1213  snapshots. Line 1592  snapshots.
 * disk_images_snapshot_mode:: Snapshot mode  * disk_images_snapshot_mode:: Snapshot mode
 * vm_snapshots::              VM snapshots  * vm_snapshots::              VM snapshots
 * qemu_img_invocation::       qemu-img Invocation  * qemu_img_invocation::       qemu-img Invocation
   * qemu_nbd_invocation::       qemu-nbd Invocation
 * host_drives::               Using host drives  * host_drives::               Using host drives
 * disk_images_fat_images::    Virtual FAT disk images  * disk_images_fat_images::    Virtual FAT disk images
   * disk_images_nbd::           NBD access
 @end menu  @end menu
   
 @node disk_images_quickstart  @node disk_images_quickstart
Line 1295  state is not saved or restored properly  Line 1676  state is not saved or restored properly 
   
 @include qemu-img.texi  @include qemu-img.texi
   
   @node qemu_nbd_invocation
   @subsection @code{qemu-nbd} Invocation
   
   @include qemu-nbd.texi
   
 @node host_drives  @node host_drives
 @subsection Using host drives  @subsection Using host drives
   
Line 1392  What you should @emph{never} do: Line 1778  What you should @emph{never} do:
 @item write to the FAT directory on the host system while accessing it with the guest system.  @item write to the FAT directory on the host system while accessing it with the guest system.
 @end itemize  @end itemize
   
   @node disk_images_nbd
   @subsection NBD access
   
   QEMU can access directly to block device exported using the Network Block Device
   protocol.
   
   @example
   qemu linux.img -hdb nbd:my_nbd_server.mydomain.org:1024
   @end example
   
   If the NBD server is located on the same host, you can use an unix socket instead
   of an inet socket:
   
   @example
   qemu linux.img -hdb nbd:unix:/tmp/my_socket
   @end example
   
   In this case, the block device must be exported using qemu-nbd:
   
   @example
   qemu-nbd --socket=/tmp/my_socket my_disk.qcow2
   @end example
   
   The use of qemu-nbd allows to share a disk between several guests:
   @example
   qemu-nbd --socket=/tmp/my_socket --share=2 my_disk.qcow2
   @end example
   
   and then you can use it with two guests:
   @example
   qemu linux1.img -hdb nbd:unix:/tmp/my_socket
   qemu linux2.img -hdb nbd:unix:/tmp/my_socket
   @end example
   
 @node pcsys_network  @node pcsys_network
 @section Network emulation  @section Network emulation
   
Line 1527  as necessary to connect multiple USB dev Line 1947  as necessary to connect multiple USB dev
 USB devices can be connected with the @option{-usbdevice} commandline option  USB devices can be connected with the @option{-usbdevice} commandline option
 or the @code{usb_add} monitor command.  Available devices are:  or the @code{usb_add} monitor command.  Available devices are:
   
 @table @var  @table @code
 @item @code{mouse}  @item mouse
 Virtual Mouse.  This will override the PS/2 mouse emulation when activated.  Virtual Mouse.  This will override the PS/2 mouse emulation when activated.
 @item @code{tablet}  @item tablet
 Pointer device that uses absolute coordinates (like a touchscreen).  Pointer device that uses absolute coordinates (like a touchscreen).
 This means qemu is able to report the mouse position without having  This means qemu is able to report the mouse position without having
 to grab the mouse.  Also overrides the PS/2 mouse emulation when activated.  to grab the mouse.  Also overrides the PS/2 mouse emulation when activated.
 @item @code{disk:@var{file}}  @item disk:@var{file}
 Mass storage device based on @var{file} (@pxref{disk_images})  Mass storage device based on @var{file} (@pxref{disk_images})
 @item @code{host:@var{bus.addr}}  @item host:@var{bus.addr}
 Pass through the host device identified by @var{bus.addr}  Pass through the host device identified by @var{bus.addr}
 (Linux only)  (Linux only)
 @item @code{host:@var{vendor_id:product_id}}  @item host:@var{vendor_id:product_id}
 Pass through the host device identified by @var{vendor_id:product_id}  Pass through the host device identified by @var{vendor_id:product_id}
 (Linux only)  (Linux only)
 @item @code{wacom-tablet}  @item wacom-tablet
 Virtual Wacom PenPartner tablet.  This device is similar to the @code{tablet}  Virtual Wacom PenPartner tablet.  This device is similar to the @code{tablet}
 above but it can be used with the tslib library because in addition to touch  above but it can be used with the tslib library because in addition to touch
 coordinates it reports touch pressure.  coordinates it reports touch pressure.
 @item @code{keyboard}  @item keyboard
 Standard USB keyboard.  Will override the PS/2 keyboard (if present).  Standard USB keyboard.  Will override the PS/2 keyboard (if present).
   @item serial:[vendorid=@var{vendor_id}][,product_id=@var{product_id}]:@var{dev}
   Serial converter. This emulates an FTDI FT232BM chip connected to host character
   device @var{dev}. The available character devices are the same as for the
   @code{-serial} option. The @code{vendorid} and @code{productid} options can be
   used to override the default 0403:6001. For instance, 
   @example
   usb_add serial:productid=FA00:tcp:192.168.0.2:4444
   @end example
   will connect to tcp port 4444 of ip 192.168.0.2, and plug that to the virtual
   serial converter, faking a Matrix Orbital LCD Display (USB ID 0403:FA00).
   @item braille
   Braille device.  This will use BrlAPI to display the braille output on a real
   or fake device.
   @item net:@var{options}
   Network adapter that supports CDC ethernet and RNDIS protocols.  @var{options}
   specifies NIC options as with @code{-net nic,}@var{options} (see description).
   For instance, user-mode networking can be used with
   @example
   qemu [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0
   @end example
   Currently this cannot be used in machines that support PCI NICs.
   @item bt[:@var{hci-type}]
   Bluetooth dongle whose type is specified in the same format as with
   the @option{-bt hci} option, @pxref{bt-hcis,,allowed HCI types}.  If
   no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}.
   This USB device implements the USB Transport Layer of HCI.  Example
   usage:
   @example
   qemu [...OPTIONS...] -usbdevice bt:hci,vlan=3 -bt device:keyboard,vlan=3
   @end example
 @end table  @end table
   
 @node host_usb_devices  @node host_usb_devices
Line 1637  the protocol limits passwords to 8 chara Line 2087  the protocol limits passwords to 8 chara
 to provide high security. The password can be fairly easily brute-forced by  to provide high security. The password can be fairly easily brute-forced by
 a client making repeat connections. For this reason, a VNC server using password  a client making repeat connections. For this reason, a VNC server using password
 authentication should be restricted to only listen on the loopback interface  authentication should be restricted to only listen on the loopback interface
 or UNIX domain sockets. Password ayuthentication is requested with the @code{password}  or UNIX domain sockets. Password authentication is requested with the @code{password}
 option, and then once QEMU is running the password is set with the monitor. Until  option, and then once QEMU is running the password is set with the monitor. Until
 the monitor is used to set the password all clients will be rejected.  the monitor is used to set the password all clients will be rejected.
   
Line 1847  Use @code{set architecture i8086} to dum Line 2297  Use @code{set architecture i8086} to dum
 @code{x/10i $cs*16+$eip} to dump the code at the PC position.  @code{x/10i $cs*16+$eip} to dump the code at the PC position.
 @end enumerate  @end enumerate
   
   Advanced debugging options:
   
   The default single stepping behavior is step with the IRQs and timer service routines off.  It is set this way because when gdb executes a single step it expects to advance beyond the current instruction.  With the IRQs and and timer service routines on, a single step might jump into the one of the interrupt or exception vectors instead of executing the current instruction. This means you may hit the same breakpoint a number of times before executing the instruction gdb wants to have executed.  Because there are rare circumstances where you want to single step into an interrupt vector the behavior can be controlled from GDB.  There are three commands you can query and set the single step behavior:
   @table @code
   @item maintenance packet qqemu.sstepbits
   
   This will display the MASK bits used to control the single stepping IE:
   @example
   (gdb) maintenance packet qqemu.sstepbits
   sending: "qqemu.sstepbits"
   received: "ENABLE=1,NOIRQ=2,NOTIMER=4"
   @end example
   @item maintenance packet qqemu.sstep
   
   This will display the current value of the mask used when single stepping IE:
   @example
   (gdb) maintenance packet qqemu.sstep
   sending: "qqemu.sstep"
   received: "0x7"
   @end example
   @item maintenance packet Qqemu.sstep=HEX_VALUE
   
   This will change the single step mask, so if wanted to enable IRQs on the single step, but not timers, you would use:
   @example
   (gdb) maintenance packet Qqemu.sstep=0x5
   sending: "qemu.sstep=0x5"
   received: "OK"
   @end example
   @end table
   
 @node pcsys_os_specific  @node pcsys_os_specific
 @section Target OS specific information  @section Target OS specific information
   
Line 1967  QEMU emulates the following PowerMac per Line 2447  QEMU emulates the following PowerMac per
   
 @itemize @minus  @itemize @minus
 @item  @item
 UniNorth PCI Bridge  UniNorth or Grackle PCI Bridge
 @item  @item
 PCI VGA compatible card with VESA Bochs Extensions  PCI VGA compatible card with VESA Bochs Extensions
 @item  @item
Line 2004  PC compatible keyboard and mouse. Line 2484  PC compatible keyboard and mouse.
 QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at  QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
 @url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}.  @url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}.
   
   Since version 0.9.1, QEMU uses OpenBIOS @url{http://www.openbios.org/}
   for the g3beige and mac99 PowerMac machines. OpenBIOS is a free (GPL
   v2) portable firmware implementation. The goal is to implement a 100%
   IEEE 1275-1994 (referred to as Open Firmware) compliant firmware.
   
 @c man begin OPTIONS  @c man begin OPTIONS
   
 The following options are specific to the PowerPC emulation:  The following options are specific to the PowerPC emulation:
Line 2014  The following options are specific to th Line 2499  The following options are specific to th
   
 Set the initial VGA graphic mode. The default is 800x600x15.  Set the initial VGA graphic mode. The default is 800x600x15.
   
   @item -prom-env string
   
   Set OpenBIOS variables in NVRAM, for example:
   
   @example
   qemu-system-ppc -prom-env 'auto-boot?=false' \
    -prom-env 'boot-device=hd:2,\yaboot' \
    -prom-env 'boot-args=conf=hd:2,\yaboot.conf'
   @end example
   
   These variables are not used by Open Hack'Ware.
   
 @end table  @end table
   
 @c man end  @c man end
Line 2025  More information is available at Line 2522  More information is available at
 @node Sparc32 System emulator  @node Sparc32 System emulator
 @section Sparc32 System emulator  @section Sparc32 System emulator
   
 Use the executable @file{qemu-system-sparc} to simulate a SPARCstation  Use the executable @file{qemu-system-sparc} to simulate the following
 5, SPARCstation 10, SPARCstation 20, SPARCserver 600MP (sun4m  Sun4m architecture machines:
 architecture), SPARCstation 2 (sun4c architecture), SPARCserver 1000,  @itemize @minus
 or SPARCcenter 2000 (sun4d architecture). The emulation is somewhat  @item
 complete.  SMP up to 16 CPUs is supported, but Linux limits the number  SPARCstation 4
 of usable CPUs to 4.  @item
   SPARCstation 5
   @item
   SPARCstation 10
   @item
   SPARCstation 20
   @item
   SPARCserver 600MP
   @item
   SPARCstation LX
   @item
   SPARCstation Voyager
   @item
   SPARCclassic
   @item
   SPARCbook
   @end itemize
   
   The emulation is somewhat complete. SMP up to 16 CPUs is supported,
   but Linux limits the number of usable CPUs to 4.
   
 QEMU emulates the following sun4m/sun4d peripherals:  It's also possible to simulate a SPARCstation 2 (sun4c architecture),
   SPARCserver 1000, or SPARCcenter 2000 (sun4d architecture), but these
   emulators are not usable yet.
   
   QEMU emulates the following sun4m/sun4c/sun4d peripherals:
   
 @itemize @minus  @itemize @minus
 @item  @item
Line 2042  TCX Frame buffer Line 2562  TCX Frame buffer
 @item  @item
 Lance (Am7990) Ethernet  Lance (Am7990) Ethernet
 @item  @item
 Non Volatile RAM M48T08  Non Volatile RAM M48T02/M48T08
 @item  @item
 Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard  Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard
 and power/reset logic  and power/reset logic
Line 2064  firmware implementation. The goal is to  Line 2584  firmware implementation. The goal is to 
 1275-1994 (referred to as Open Firmware) compliant firmware.  1275-1994 (referred to as Open Firmware) compliant firmware.
   
 A sample Linux 2.6 series kernel and ram disk image are available on  A sample Linux 2.6 series kernel and ram disk image are available on
 the QEMU web site. Please note that currently NetBSD, OpenBSD or  the QEMU web site. There are still issues with NetBSD and OpenBSD, but
 Solaris kernels don't work.  some kernel versions work. Please note that currently Solaris kernels
   don't work probably due to interface issues between OpenBIOS and
   Solaris.
   
 @c man begin OPTIONS  @c man begin OPTIONS
   
Line 2087  qemu-system-sparc -prom-env 'auto-boot?= Line 2609  qemu-system-sparc -prom-env 'auto-boot?=
  -prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux single'   -prom-env 'boot-device=sd(0,2,0):d' -prom-env 'boot-args=linux single'
 @end example  @end example
   
 @item -M [SS-5|SS-10|SS-20|SS-600MP|SS-2|SS-1000|SS-2000]  @item -M [SS-4|SS-5|SS-10|SS-20|SS-600MP|LX|Voyager|SPARCClassic|SPARCbook|SS-2|SS-1000|SS-2000]
   
 Set the emulated machine type. Default is SS-5.  Set the emulated machine type. Default is SS-5.
   
Line 2098  Set the emulated machine type. Default i Line 2620  Set the emulated machine type. Default i
 @node Sparc64 System emulator  @node Sparc64 System emulator
 @section Sparc64 System emulator  @section Sparc64 System emulator
   
 Use the executable @file{qemu-system-sparc64} to simulate a Sun4u machine.  Use the executable @file{qemu-system-sparc64} to simulate a Sun4u
 The emulator is not usable for anything yet.  (UltraSPARC PC-like machine), Sun4v (T1 PC-like machine), or generic
   Niagara (T1) machine. The emulator is not usable for anything yet, but
   it can launch some kernels.
   
 QEMU emulates the following sun4u peripherals:  QEMU emulates the following peripherals:
   
 @itemize @minus  @itemize @minus
 @item  @item
Line 2109  UltraSparc IIi APB PCI Bridge Line 2633  UltraSparc IIi APB PCI Bridge
 @item  @item
 PCI VGA compatible card with VESA Bochs Extensions  PCI VGA compatible card with VESA Bochs Extensions
 @item  @item
   PS/2 mouse and keyboard
   @item
 Non Volatile RAM M48T59  Non Volatile RAM M48T59
 @item  @item
 PC-compatible serial ports  PC-compatible serial ports
   @item
   2 PCI IDE interfaces with hard disk and CD-ROM support
   @item
   Floppy disk
 @end itemize  @end itemize
   
   @c man begin OPTIONS
   
   The following options are specific to the Sparc64 emulation:
   
   @table @option
   
   @item -prom-env string
   
   Set OpenBIOS variables in NVRAM, for example:
   
   @example
   qemu-system-sparc64 -prom-env 'auto-boot?=false'
   @end example
   
   @item -M [sun4u|sun4v|Niagara]
   
   Set the emulated machine type. The default is sun4u.
   
   @end table
   
   @c man end
   
 @node MIPS System emulator  @node MIPS System emulator
 @section MIPS System emulator  @section MIPS System emulator
   
 Four executables cover simulation of 32 and 64-bit MIPS systems in  Four executables cover simulation of 32 and 64-bit MIPS systems in
 both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel}  both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel}
 @file{qemu-system-mips64} and @file{qemu-system-mips64el}.  @file{qemu-system-mips64} and @file{qemu-system-mips64el}.
 Four different machine types are emulated:  Five different machine types are emulated:
   
 @itemize @minus  @itemize @minus
 @item  @item
Line 2131  The MIPS Malta prototype board "malta" Line 2683  The MIPS Malta prototype board "malta"
 An ACER Pica "pica61". This machine needs the 64-bit emulator.  An ACER Pica "pica61". This machine needs the 64-bit emulator.
 @item  @item
 MIPS emulator pseudo board "mipssim"  MIPS emulator pseudo board "mipssim"
   @item
   A MIPS Magnum R4000 machine "magnum". This machine needs the 64-bit emulator.
 @end itemize  @end itemize
   
 The generic emulation is supported by Debian 'Etch' and is able to  The generic emulation is supported by Debian 'Etch' and is able to
Line 2162  PCnet32 PCI network card Line 2716  PCnet32 PCI network card
 @item  @item
 Malta FPGA serial device  Malta FPGA serial device
 @item  @item
 Cirrus VGA graphics card  Cirrus (default) or any other PCI VGA graphics card
 @end itemize  @end itemize
   
 The ACER Pica emulation supports:  The ACER Pica emulation supports:
Line 2191  PC style serial port Line 2745  PC style serial port
 MIPSnet network emulation  MIPSnet network emulation
 @end itemize  @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
   
   
 @node ARM System emulator  @node ARM System emulator
 @section ARM System emulator  @section ARM System emulator
   
Line 2320  Secure Digital card connected to OMAP MM Line 2890  Secure Digital card connected to OMAP MM
 Three on-chip UARTs  Three on-chip UARTs
 @end itemize  @end itemize
   
   Nokia N800 and N810 internet tablets (known also as RX-34 and RX-44 / 48)
   emulation supports the following elements:
   
   @itemize @minus
   @item
   Texas Instruments OMAP2420 System-on-chip (ARM 1136 core)
   @item
   RAM and non-volatile OneNAND Flash memories
   @item
   Display connected to EPSON remote framebuffer chip and OMAP on-chip
   display controller and a LS041y3 MIPI DBI-C controller
   @item
   TI TSC2301 (in N800) and TI TSC2005 (in N810) touchscreen controllers
   driven through SPI bus
   @item
   National Semiconductor LM8323-controlled qwerty keyboard driven
   through I@math{^2}C bus
   @item
   Secure Digital card connected to OMAP MMC/SD host
   @item
   Three OMAP on-chip UARTs and on-chip STI debugging console
   @item
   A Bluetooth(R) transciever and HCI connected to an UART
   @item
   Mentor Graphics "Inventra" dual-role USB controller embedded in a TI
   TUSB6010 chip - only USB host mode is supported
   @item
   TI TMP105 temperature sensor driven through I@math{^2}C bus
   @item
   TI TWL92230C power management companion with an RTC on I@math{^2}C bus
   @item
   Nokia RETU and TAHVO multi-purpose chips with an RTC, connected
   through CBUS
   @end itemize
   
 The Luminary Micro Stellaris LM3S811EVB emulation includes the following  The Luminary Micro Stellaris LM3S811EVB emulation includes the following
 devices:  devices:
   
Line 2348  Timers, UARTs, ADC, I@math{^2}C and SSI  Line 2953  Timers, UARTs, ADC, I@math{^2}C and SSI 
 OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via SSI.  OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via SSI.
 @end itemize  @end itemize
   
   The Freecom MusicPal internet radio emulation includes the following
   elements:
   
   @itemize @minus
   @item
   Marvell MV88W8618 ARM core.
   @item
   32 MB RAM, 256 KB SRAM, 8 MB flash.
   @item
   Up to 2 16550 UARTs
   @item
   MV88W8xx8 Ethernet controller
   @item
   MV88W8618 audio controller, WM8750 CODEC and mixer
   @item
   12864 display with brightness control
   @item
   2 buttons, 2 navigation wheels with button function
   @end itemize
   
   The Siemens SX1 models v1 and v2 (default) basic emulation.
   The emulaton includes the following elements:
   
   @itemize @minus
   @item
   Texas Instruments OMAP310 System-on-chip (ARM 925T core)
   @item
   ROM and RAM memories (ROM firmware image can be loaded with -pflash)
   V1
   1 Flash of 16MB and 1 Flash of 8MB
   V2
   1 Flash of 32MB
   @item
   On-chip LCD controller
   @item
   On-chip Real Time Clock
   @item
   Secure Digital card connected to OMAP MMC/SD host
   @item
   Three on-chip UARTs
   @end itemize
   
 A Linux 2.6 test image is available on the QEMU web site. More  A Linux 2.6 test image is available on the QEMU web site. More
 information is available in the QEMU mailing-list archive.  information is available in the QEMU mailing-list archive.
   
   @c man begin OPTIONS
   
   The following options are specific to the ARM emulation:
   
   @table @option
   
   @item -semihosting
   Enable semihosting syscall emulation.
   
   On ARM this implements the "Angel" interface.
   
   Note that this allows guest direct access to the host filesystem,
   so should only be used with trusted guest OS.
   
   @end table
   
 @node ColdFire System emulator  @node ColdFire System emulator
 @section ColdFire System emulator  @section ColdFire System emulator
   
Line 2377  MCF5206 ColdFire V2 Microprocessor. Line 3040  MCF5206 ColdFire V2 Microprocessor.
 Two on-chip UARTs.  Two on-chip UARTs.
 @end itemize  @end itemize
   
   @c man begin OPTIONS
   
   The following options are specific to the ARM emulation:
   
   @table @option
   
   @item -semihosting
   Enable semihosting syscall emulation.
   
   On M68K this implements the "ColdFire GDB" interface used by libgloss.
   
   Note that this allows guest direct access to the host filesystem,
   so should only be used with trusted guest OS.
   
   @end table
   
 @node QEMU User space emulator  @node QEMU User space emulator
 @chapter QEMU User space emulator  @chapter QEMU User space emulator
   
Line 2384  Two on-chip UARTs. Line 3063  Two on-chip UARTs.
 * Supported Operating Systems ::  * Supported Operating Systems ::
 * Linux User space emulator::  * Linux User space emulator::
 * Mac OS X/Darwin User space emulator ::  * Mac OS X/Darwin User space emulator ::
   * BSD User space emulator ::
 @end menu  @end menu
   
 @node Supported Operating Systems  @node Supported Operating Systems
Line 2396  The following OS are supported in user s Line 3076  The following OS are supported in user s
 Linux (referred as qemu-linux-user)  Linux (referred as qemu-linux-user)
 @item  @item
 Mac OS X/Darwin (referred as qemu-darwin-user)  Mac OS X/Darwin (referred as qemu-darwin-user)
   @item
   BSD (referred as qemu-bsd-user)
 @end itemize  @end itemize
   
 @node Linux User space emulator  @node Linux User space emulator
Line 2492  qemu-i386 /usr/local/qemu-i386/wine/bin/ Line 3174  qemu-i386 /usr/local/qemu-i386/wine/bin/
 @subsection Command line options  @subsection Command line options
   
 @example  @example
 usage: qemu-i386 [-h] [-d] [-L path] [-s size] program [arguments...]  usage: qemu-i386 [-h] [-d] [-L path] [-s size] [-cpu model] [-g port] program [arguments...]
 @end example  @end example
   
 @table @option  @table @option
Line 2502  Print the help Line 3184  Print the help
 Set the x86 elf interpreter prefix (default=/usr/local/qemu-i386)  Set the x86 elf interpreter prefix (default=/usr/local/qemu-i386)
 @item -s size  @item -s size
 Set the x86 stack size in bytes (default=524288)  Set the x86 stack size in bytes (default=524288)
   @item -cpu model
   Select CPU model (-cpu ? for list and additional feature selection)
 @end table  @end table
   
 Debug options:  Debug options:
Line 2511  Debug options: Line 3195  Debug options:
 Activate log (logfile=/tmp/qemu.log)  Activate log (logfile=/tmp/qemu.log)
 @item -p pagesize  @item -p pagesize
 Act as if the host page size was 'pagesize' bytes  Act as if the host page size was 'pagesize' bytes
   @item -g port
   Wait gdb connection to port
 @end table  @end table
   
 Environment variables:  Environment variables:
Line 2538  coldfire uClinux bFLT format binaries. Line 3224  coldfire uClinux bFLT format binaries.
   
 The binary format is detected automatically.  The binary format is detected automatically.
   
   @command{qemu-sparc} can execute Sparc32 binaries (Sparc32 CPU, 32 bit ABI).
   
 @command{qemu-sparc32plus} can execute Sparc32 and SPARC32PLUS binaries  @command{qemu-sparc32plus} can execute Sparc32 and SPARC32PLUS binaries
 (Sparc64 CPU, 32 bit ABI).  (Sparc64 CPU, 32 bit ABI).
   
Line 2629  Activate log (logfile=/tmp/qemu.log) Line 3317  Activate log (logfile=/tmp/qemu.log)
 Act as if the host page size was 'pagesize' bytes  Act as if the host page size was 'pagesize' bytes
 @end table  @end table
   
   @node BSD User space emulator
   @section BSD User space emulator
   
   @menu
   * BSD Status::
   * BSD Quick Start::
   * BSD Command line options::
   @end menu
   
   @node BSD Status
   @subsection BSD Status
   
   @itemize @minus
   @item
   target Sparc64 on Sparc64: Some trivial programs work.
   @end itemize
   
   @node BSD Quick Start
   @subsection Quick Start
   
   In order to launch a BSD process, QEMU needs the process executable
   itself and all the target dynamic libraries used by it.
   
   @itemize
   
   @item On Sparc64, you can just try to launch any process by using the native
   libraries:
   
   @example
   qemu-sparc64 /bin/ls
   @end example
   
   @end itemize
   
   @node BSD Command line options
   @subsection Command line options
   
   @example
   usage: qemu-sparc64 [-h] [-d] [-L path] [-s size] [-bsd type] program [arguments...]
   @end example
   
   @table @option
   @item -h
   Print the help
   @item -L path
   Set the library root path (default=/)
   @item -s size
   Set the stack size in bytes (default=524288)
   @item -bsd type
   Set the type of the emulated BSD Operating system. Valid values are
   FreeBSD, NetBSD and OpenBSD (default).
   @end table
   
   Debug options:
   
   @table @option
   @item -d
   Activate log (logfile=/tmp/qemu.log)
   @item -p pagesize
   Act as if the host page size was 'pagesize' bytes
   @end table
   
 @node compilation  @node compilation
 @chapter Compilation from the sources  @chapter Compilation from the sources
   

Removed from v.1.1.1.6  
changed lines
  Added in v.1.1.1.7


unix.superglobalmegacorp.com