summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'f883e4f7b8f37b53fc54660d20fd36fbe3383f46' into stable-0.12-mergeAvi Kivity2009-12-141-0/+75
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f883e4f7b8f37b53fc54660d20fd36fbe3383f46': (63 commits) monitor: do_info_cpus(): Use QBool monitor: Fix do_info_commands() output monitor: Fix do_info_balloon() output QDict: Introduce qdict_get_qlist() QDict: Introduce qdict_get_qbool() Makefile: move QObject objs to their own entry Introduce qemu-objects.h header file vnc: fix capslock tracking logic. QemuOpts: allow larger option values. scsi: fix drive hotplug. pci: don't hw_error() when no slot is available. pci: don't abort() when trying to hotplug with acpi off. Set default console to virtio on S390x default devices: virtio consoles. add -qmp convinience switch add new -mon switch rework -monitor handling, switch to QemuOpts un-static qemu_chr_parse_compat() default devices: drives default devices: network ... Conflicts: monitor.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * rework -monitor handling, switch to QemuOptsGerd Hoffmann2009-12-121-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks the -monitor handling: - It adds a new "mon" QemuOpts list for the monitor(s). - It adds a monitor_parse() function to parse the -monitor switch. - It adds a mon_init function to initialize the monitor(s) from the "mon" QemuOpts list. - It winds up everything and removes the old bits. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 88589343708f10f1ded0af100b2e11eec623bae2)
| * qdev: add command line option to set global defaults for properties.Gerd Hoffmann2009-12-121-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds infrastructure and command line option for setting global defaults for device properties, i.e. you can for example use -global virtio-blk-pci.vectors=0 to turn off msi by default for all virtio block devices. The config file syntax is: [global] driver = "virtio-blk-pci" property = "vectors" value = "0" This can also be used to set properties for devices which are not created via -device but implicitly via machine init, i.e. -global isa-fdc,driveA=<name> This patch uses the mechanism which configures properties for the compatibility machine types (pc-0.10 & friends). The command line takes precedence over the machine type values. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit d0fef6fbea36c62d29f3e3fa2214b7b52322983e)
* | Merge commit 'e9b2e81889d9877415710484b876ee57a42b0bcb' into upstream-mergeAvi Kivity2009-12-071-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e9b2e81889d9877415710484b876ee57a42b0bcb': (140 commits) Introduce rerror option for drives Rename DriveInfo.onerror to on_write_error ram migration: Properly reset statistics qemu-opts: Release id on deletion live migration: Serialize vmstate saving in stage 2 block migration: Skip zero-sized disks block migration: Increase dirty chunk size to 1M block migration: Add support for restore progress reporting block migration: Report progress also via info migration block migration: Fix outgoing progress output live migration: Propagate output monitor to callback handler block migration: Report overall migration progress live migration: Allow cleanup after cancellation or error ram migration: Stop loading on error block migration: Add error handling/propagation block migration: Consolidate block transmission block migration: Consolidate mig_read_device_bulk into mig_save_device_bulk block migration: Clean up use of total_sectors block migration: Initialize remaining BlkMigState fields block migration: Switch device and block lists to QSIMPLEQ ... Conflicts: vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Introduce rerror option for drivesKevin Wolf2009-12-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | rerror controls the action to be taken when an error occurs while accessing the guest image file. It corresponds to werror which already controls the action take for write errors. This purely introduces parsing rerror command line option into the right structures, real support for it in the device emulation is added in the following patches. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '715a664ac4ca3b9e44ffbc0ca41ecd91fbe96656' into upstream-mergeAvi Kivity2009-11-221-9/+109
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '715a664ac4ca3b9e44ffbc0ca41ecd91fbe96656': QemuOpts: command line switches for the config file. QemuOpts: parse config from file. QemuOpts: dump config. QemuOpts: add find_list() Documentation: Add options to image format descriptions Documentation: Don't mention old qemu-img options Documentation: Move image format descriptions to own section Documentation: Add documentation for -chardev Added imlpementation for qemu_error for non-qemu executables eepro100: Improve support for different devices pci/monitor: print out bridge's filtering values and so on. pci: implement pci bridge filtering. pci: factor out pci_for_each_device(). pci: cosmetic on pci_upadte_mappings() Conflicts: qemu-options.hx Signed-off-by: Avi Kivity <avi@redhat.com>
| * QemuOpts: parse config from file.Gerd Hoffmann2009-11-091-0/+50
| | | | | | | | | | | | | | Add functions to parse QemuOpts from a git-style config file. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * QemuOpts: dump config.Gerd Hoffmann2009-11-091-0/+39
| | | | | | | | | | | | | | | | Add a function to write the QemuOpts configuration to a git-style config file. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * QemuOpts: add find_list()Gerd Hoffmann2009-11-091-9/+20
| | | | | | | | | | | | | | Factor out the QemuOptsList search code for upcoming users. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '59f2689d9082f2f631253c810f73cd22290144a9' into upstream-mergeAvi Kivity2009-11-221-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '59f2689d9082f2f631253c810f73cd22290144a9': Added readonly flag to -drive command qcow2: Allow qcow2 disk images with size zero (x86/Sparc/PPC)-user: fix cpu_copy IDE: Fix reset handling user: move CPU reset call to main.c for x86/PPC/Sparc PPC: rename cpu_ppc_reset to cpu_reset for consistency Sparc64/x86: remove unneeded calls to device reset PPC: remove unneeded calls to device reset sparc32 (mostly): remove unneeded calls to device reset v3: don't call reset functions on cpu initialization vga: fix line comparison vga: Respect Line Compare Register in text modes Conflicts: qemu-config.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Added readonly flag to -drive commandNaphtali Sprei2009-11-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a slightly revised patch for adding readonly flag to the -drive command. Even though this patch is "stand-alone", it assumes a previous related patch (in Anthony staging tree), that passes the readonly attribute of the drive to the guest OS, applied first. This enables sharing same image between guests, with readonly access. Implementaion mark the drive as read_only and changes the flags when actually opening the file. The readonly attribute of a qcow also passed to it's base file. For ide that cannot pass the readonly attribute to the guest OS, disallow the readonly flag. Also, return error code from bdrv_truncate for readonly drive. Signed-off-by: Naphtali Sprei <nsprei@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '59c7b155aa6e1cbfe8a92e2322ea59ab31965c10' into upstream-mergeMark McLoughlin2009-10-281-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '59c7b155aa6e1cbfe8a92e2322ea59ab31965c10': (81 commits) posix-aio-compat: Split out posix_aio_process_queue monitor: Convert do_closefd() to QObject monitor: Convert do_getfd() to QObject monitor: Convert do_eject() to QObject monitor: Convert do_pci_device_hot_remove() to QObject monitor: Convert do_migrate_cancel() to QObject monitor: Convert do_migrate_set_speed() to QObject monitor: Convert do_migrate() to QObject monitor: Convert do_physical_memory_save() to QObject monitor: Convert do_memory_save() to QObject lsi_scsi: port to vmstate vmstate: Add VMSTATE_BUFFER_UNSAFE vmware_vga: port to vmstate vmware_vga: the support to change dinamically depth is not there vmware_vga: scratch is really an array of uint32_t vmware_vga: remove !EMBED_STDVGA code vmware_vga: qemu_malloc() returns void * vmware_vga: Remove uselss casts from void * vmware_vga: Pass pci_vmsga_state_t arg no VGACommonState vga: remove unused vga_common_save/load ... Conflicts: posix-aio-compat.c Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * Add chardev option to disable signal.Kusanagi Kouichi2009-10-271-0/+3
| | | | | | | | | | | | | | | | | | If I am using vga and serial which is stdio and hit C-c on serial console, qemu terminates. That is annoying for me. So make it configurable whether signal is generated when C-c is hit. Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '5869c4d515128cd3a938a7346a8037abcc232220' into upstream-mergeMark McLoughlin2009-10-151-0/+13
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '5869c4d515128cd3a938a7346a8037abcc232220': net: add -net nic,netdev= option net: maintain a list of vlan-less clients net: handle -netdevice options net: add -netdev option net: add QemuOptsList arg to net_client_parse() net: allow clients not associated with a vlan Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * net: add -netdev optionMark McLoughlin2009-10-151-0/+13
| | | | | | | | | | | | Patchworks-ID: 35506 Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '8a1c5235510da01a200693fe3cfd87acd2dc1fca'Mark McLoughlin2009-10-081-2/+14
|\| | | | | | | | | | | | | Conflicts: net.c Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * Add qemu_net_optsMark McLoughlin2009-10-061-0/+13
| | | | | | | | | | | | | | | | | | The first step in porting -net to QemuOpts. We do not include parameter descriptions in the QemuOptsList because we use the first parameter to choose which descriptions validate against. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Remove double error message in qemu_option_set()Mark McLoughlin2009-10-061-2/+0
| | | | | | | | | | | | | | | | qemu_opt_set() prints an error message in all failure cases, so qemu_set_option() doesn't need to print another error. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Register rtc options for -setJan Kiszka2009-10-061-0/+1
| | | | | | | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '3f84865ade594a2ec1ef613ab5fd11949f3d49de' into upstream-mergeAvi Kivity2009-10-061-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3f84865ade594a2ec1ef613ab5fd11949f3d49de': pci: windup acpi-based hotplug pci: hotplug windup scsi: hotplug windup usb: hotplug windup qdev hotplug: infrastructure and monitor commands. switch qemu-config to qemu_error usb: hook unplug into qdev, cleanups + fixes. Conflicts: hw/acpi.c hw/pc.c hw/pc.h hw/pci-hotplug.c sysemu.h Signed-off-by: Avi Kivity <avi@redhat.com>
| * switch qemu-config to qemu_errorGerd Hoffmann2009-10-051-4/+5
| | | | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '6875204c782e7c9aa5c28f96b2583fd31c50468f' into upstream-mergeAvi Kivity2009-10-051-0/+20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6875204c782e7c9aa5c28f96b2583fd31c50468f': Enable host-clock-based RTC Refactor RTC command line switches Introduce QEMU_CLOCK_HOST win32: Drop dead dyntick timer code Rename QEMU_TIMER_* to QEMU_CLOCK_* Fix exit on 'pci_add' Monitor command Correctly free nd structure do proper cpu_self check bdf: Remove last users of FALSE/TRUE Add -Wold-style-* flags slirp: It needs to use QEMU_CFLAGS not CFLAGS musicpal: Add VMState support musicpal: Make PIT emulation more robust musicpal: True reset support for audio device musicpal: True reset support for GPIO musicpal: Coding style fixes musicpal: Clean up typecasts musicpal: Rework GPIO input events musicpal: Catch null TX qeueues Conflicts: sysemu.h Signed-off-by: Avi Kivity <avi@redhat.com>
| * Enable host-clock-based RTCJan Kiszka2009-10-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch RTC emulations to the new host_clock instead of vm_clock by default. This has the advantage that the emulated RTC will follow automatically the host time while it might be tuned via NTP. vm_clock can still be selected by passing '-rtc clock=vm' on the command line. Note that some RTC emulations (at least M48T59) already use the host time unconditionally while others (namely MC146818) do not. This patch introduces the required infrastructure for selecting the base clock but only converts MC146818 for now. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Refactor RTC command line switchesJan Kiszka2009-10-051-0/+17
| | | | | | | | | | | | | | | | | | | | Deprecate -localtime, -setdate and -rtc-td-hack in favor of a new unified command line switch: -rtc [base=utc|localtime|date][,driftfix=none|slew] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '075e36b8ede5409b491abdf69fe2ffcf1bfe6bca' into upstream-mergeMarcelo Tosatti2009-09-291-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '075e36b8ede5409b491abdf69fe2ffcf1bfe6bca': (27 commits) monitor: Fix do_commit() argument type Don't redefine NULL, please Fix coding style issue Remove PARAMS() macro __thread should be before real type gcc wants 1st static and then const Bring two last users of K&R definitions to ANSI c89 static and inline should came before the type of the functions Use proper typedef syntax Revert "This files are compiled in libqemu.a now" fix use after free unbreak usb pass-through on linux. clean: remove ide/*.o files on clean ARM host: fix generated blocks linking Fix spelling in comment Suppress some variants of English in comments sparc64-8bit-asi target-mips: remove MAX_OP_PER_INSTR workaround exec-all.h: increase OPC_BUF_SIZE exec-all.h: increase MAX_OP_PER_INSTR to 96 from 64 ... Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Fix coding style issueMark McLoughlin2009-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace: if (-1 == foo()) with: if (foo() == -1) While this coding style is not in direct contravention of our currently ratified CODING_STYLE treaty, it could be argued that the Article 3 of the European Convention on Human Rights (prohibiting torture and "inhuman or degrading treatment") reads on the matter. [This commit message was brought to you without humour, as is evidenced by the absence of any emoticons] Signed-off-by: Mark McLoughlin <markmc@redhat.com> Cc: Avi Kivity <avi@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e' into upstream-mergeMarcelo Tosatti2009-09-141-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e': Fix sys-queue.h conflict for good Try to fix BSD breakage by 806b60248218bd5f74a8b070f5a99a864e8e51c6 Include sys-queue.h early to override system queue definitions on BSD Unbreak BSD: use qemu_fdatasync instead of fdatasync Use proper format conversion specifier when printing size_t value audio: remove lsbindex/popcount in favour of host-utils's ctz32 alsa: poll mode handling oss: poll mode handling audio: poll mode infrastructure gus: Do not manually free the state, qdev does it for us oss: Unbreak mmaping the ability to mmap oss fd on Linux Conflicts: exec.c kvm.h sysemu.h vl.c Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Fix sys-queue.h conflict for goodBlue Swirl2009-09-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Our file sys-queue.h is a copy of the BSD file, but there are some additions and it's not entirely compatible. Because of that, there have been conflicts with system headers on BSD systems. Some hacks have been introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896, f40d753718c72693c5f520f0d9899f6e50395e94, 96555a96d724016e13190b28cffa3bc929ac60dc and 3990d09adf4463eca200ad964cc55643c33feb50 but the fixes were fragile. Solution: Avoid the conflict entirely by renaming the functions and the file. Revert the previous hacks. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '1a621c8dc9e4dcc9d385bdd2c24c5b5dbfd0ebe4' into upstream-mergeMarcelo Tosatti2009-09-141-0/+64
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a621c8dc9e4dcc9d385bdd2c24c5b5dbfd0ebe4': (51 commits) ram: remove support for loading v1 move mux focus field from CharDriverState to MuxDriver monitor: fix muxing qdev: add parser for chardev properties Allow -serial chardev:<name> convert udp chardev to QemuOpts. convert mux chardev to QemuOpts. convert vc chardev to QemuOpts. convert tty + parport chardevs to QemuOpts. convert windows console chardev to QemuOpts. convert braille chardev to QemuOpts. convert msmouse chardev to QemuOpts. convert stdio chardev to QemuOpts. convert pty chardev to QemuOpts. convert unix+tcp chardevs to QemuOpts. sockets: add inet_listen_opts sockets: add inet_connect_opts sockets: add unix_*_opts for windows. sockets: add unix_listen_opts sockets: add unix_connect_opts ... Conflicts: vl.c Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Allow -serial chardev:<name>Gerd Hoffmann2009-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lets put -chardev into use now. With this patch applied chardev:name is accepted as chardev specification everywhere, i.e. now you can: -chardev stdio,id=ttyS0 -serial chardev:ttyS0 which does the same as '-serial stdio". Muxing can be done this way: -chardev stdio,id=mux,mux=on -serial chardev:mux -monitor chardev:mux You can mux more than two streams. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * convert udp chardev to QemuOpts.Gerd Hoffmann2009-09-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | While being at it: create a new inet_dgram_opts() function for udp setup, so udp can handle IPv6 now. new cmd line syntax: -chardev udp,id=name,host=remotehost,port=remoteport,\ localaddr=bindaddr,localport=bindport Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * convert vc chardev to QemuOpts.Gerd Hoffmann2009-09-111-0/+12
| | | | | | | | | | | | | | | | | | | | new cmd line syntax: -chardev vc,id=name -chardev vc,id=name,width=pixels,height=pixels -chardev vc,id=name,cols=chars,rows=chars Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * convert unix+tcp chardevs to QemuOpts.Gerd Hoffmann2009-09-111-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | new cmd line syntax: unix socket: -chardev socket,id=name,path=/path/to/socket tcp socket: -chardev socket,id=name,host=hostaddr|ipaddr,port=portnr server and nowait options work as usual. Alternatively you can use server=[on|off] + wait=[on|off] syntax. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * convert file+pipe chardevs to QemuOpts.Gerd Hoffmann2009-09-111-0/+7
| | | | | | | | | | | | | | | | | | new cmd line syntax: -chardev file,id=name,path=/path/to/file -chardev pipe,id=name,path=/path/to/pipe Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * switch chardev to QemuOpts: infrastructure, null deviceGerd Hoffmann2009-09-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | start switching chardevs to QemuOpts. This patch adds the infrastructure and converts the null device. The patch brings two new functions: qemu_chr_open_opts() same as qemu_chr_open(), but uses QemuOpts instead of a option char string. qemu_chr_parse_compat() accepts a traditional chardev option string, returns the corresponding QemuOpts instance, to handle backward compatibility. The patch also adds a new -chardev switch which can be used to create named+unconnected chardevs, like this: -chardev null,id=test This uses the new qemu_chr_open_opts. Thus with this patch alone only the null device works. The other devices will follow ... Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '5c6c3a6c54b23caa84fb4e046e85a461612279bb' into upstream-mergeAvi Kivity2009-08-301-0/+4
|\| | | | | | | | | | | | | | | | | | | | | * commit '5c6c3a6c54b23caa84fb4e046e85a461612279bb': raw-posix: add Linux native AIO support Conflicts: Makefile qemu-options.hx Signed-off-by: Avi Kivity <avi@redhat.com>
| * raw-posix: add Linux native AIO supportChristoph Hellwig2009-08-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that do have a nicer interface to work against we can add Linux native AIO support. It's an extremly thing layer just setting up an iocb for the io_submit system call in the submission path, and registering an eventfd with the qemu poll handler to do complete the iocbs directly from there. This started out based on Anthony's earlier AIO patch, but after estimated 42,000 rewrites and just as many build system changes there's not much left of it. To enable native kernel aio use the aio=native sub-command on the drive command line. I have also added an option to qemu-io to test the aio support without needing a guest. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit 'd176c495b6664b72dc1e595f6e89dc5648aa248b' into upstream-mergeAvi Kivity2009-08-111-0/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd176c495b6664b72dc1e595f6e89dc5648aa248b': qdev-ify virtio-blk. qdev/prop: add drive property. add -drive if=none constify drive_get_by_id arg QemuOpts: switch over -device. Conflicts: hw/pc.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * QemuOpts: switch over -device.Gerd Hoffmann2009-08-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | Make -device switch use the QemuOpts framework. Everything should continue to work like it did before. New: "-set device.$id.$property=$value" works. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* | Merge commit 'd058fe03e53699b5a85db1ea36edcf59273775a8' into upstream-mergeAvi Kivity2009-08-111-0/+41
|\| | | | | | | | | | | | | | | | | | | * commit 'd058fe03e53699b5a85db1ea36edcf59273775a8': QemuOpts: add -set option Conflicts: qemu-options.hx Signed-off-by: Avi Kivity <avi@redhat.com>
| * QemuOpts: add -set optionGerd Hoffmann2009-08-101-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | One use case will be file for drives (no filename quoting issues), i.e. -drive id=test,if=virtio -set drive.test.file=/vmdisk/test-virtio.img It will work for any other option (assuming handled by QemuOpts) though. Except for id= for obvious reasons ;). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* | Merge commit '7282a0331f11edd021efa3687dc2ec7fd557ace9' into upstream-mergeAvi Kivity2009-08-111-0/+4
|/ | | | | | | | | | | | | | | | | * commit '7282a0331f11edd021efa3687dc2ec7fd557ace9': QemuOpts: create qemu-config.h QemuOpts: make the drive id actually show up in "info block". QemuOpts: qemu_opts_parse: fix id= parsing QemuOpts: add some functions Fix symfind. configure: let it find xen headers and libs tolower -> qemu_tolower Do not try to invoke shebang scripts directly (NFS issues) Conflicts: vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
* QemuOpts: create qemu-config.hGerd Hoffmann2009-08-101-0/+73
Move drive option description there. Rename it, give it a qemu_ prefix. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id: