aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '1c1d7bda2cd507aec72057a1c16094541add9dd6' into stable-0.12-mergeAvi Kivity2009-12-141-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1c1d7bda2cd507aec72057a1c16094541add9dd6': PCI: Convert pci_device_hot_add() to QObject char: Convert qemu_chr_info() to QObject block: Convert bdrv_info_stats() to QObject block: Convert bdrv_info() to QObject migration: Convert do_info_migrate() to QObject Conflicts: hw/pci-hotplug.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * PCI: Convert pci_device_hot_add() to QObjectLuiz Capitulino2009-12-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Return a QDict with information about the just added device. This commit should not change user output. Please, note that this patch does not do error handling conversion. In error conditions the handler still calls monitor_printf(). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 7a344f7ac7bb651d0556a933ed8060d3a9e5d949)
* | Merge commit 'e9b2e81889d9877415710484b876ee57a42b0bcb' into upstream-mergeAvi Kivity2009-12-071-6/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Rename DriveInfo.onerror to on_write_errorKevin Wolf2009-12-031-2/+4
| | | | | | | | | | | | | | | | Either rename variables and functions to refer to write errors (which is what they actually do) or introduce a parameter to distinguish reads and writes. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * live migration: Propagate output monitor to callback handlerJan Kiszka2009-12-031-5/+5
| | | | | | | | | | | | | | | | | | In order to allow proper progress reporting to the monitor that initiated the migration, forward the monitor reference through the migration layer down to SaveLiveStateHandler. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * live migration: Allow cleanup after cancellation or errorJan Kiszka2009-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | Introduce qemu_savevm_state_cancel and inject a stage -1 to cancel a live migration. This gives the involved subsystems a chance to clean up dynamically allocated resources. Namely, the block migration layer can now free its device descriptors and pending blocks. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '8204a9180c5f456d30cbd29fddf734e97f7c74fa' into upstream-mergeAvi Kivity2009-12-071-0/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8204a9180c5f456d30cbd29fddf734e97f7c74fa': (22 commits) monitor: QError support Introduce QError utests: Add qstring_from_substr() unit-test utests: Add qstring_append_chr() unit-test QString: Introduce qstring_from_substr() QString: Introduce qstring_append_int() QString: Introduce qstring_append_chr() QJSON: Introduce qobject_from_jsonv() fix I2C slave addressing Fix qdev property type definition for isa serial/parallel devices Fix qemu_malloc/qemu_free use in rtl8139.c Fix free use in xen_backend.c Fix qemu_free use in scsi-generic.c Fix qemu_free use in nseries.c Fix qemu_free use in bt-l2cap.c Fix qemu_free use in nand.c Fix qemu_free use in baum.c Fix qemu_free use in acpi.c pci: move apb specific stuff to apb_pci.c configure: use correct cflags in compiler checks ... Conflicts: monitor.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * monitor: QError supportLuiz Capitulino2009-12-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds QError support in the Monitor. A QError member is added to the Monitor struct. This new member stores error information and is also used to check if an error has occurred when the called handler returns. Additionally, a new macro called qemu_error_new() is introduced. It builds on top of the QemuErrorSink API and should be used in place of qemu_error(). When all conversion to qemu_error_new() is done, qemu_error() can be turned private. Basically, Monitor's error flow is something like this: 1. An error occurs in the handler, it calls qemu_error_new() 2. qemu_error_new() builds a new QError object and stores it in the Monitor struct 3. The handler returns 4. Top level Monitor code checks the Monitor struct and calls qerror_print() to print the error Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a' into upstream-mergeAvi Kivity2009-11-221-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a': (22 commits) kvm: x86: Refactor use of interrupt_bitmap kvm: Add arch reset handler Enable migration without shared storage from the monitor Block live migration Expose a mechanism to trace block writes char: rename qemu_chr_reset to qemu_chr_generic_open char: Remove special init_reset handling char: don't limit data sent to backends to 1k per buffer ARM PB-A8 support LAN9118 emulation mips_r4k: fix reset PPC64: map Uni-North AGP bus aka fix Linux boot PPC64: Partial fix to Linux crash: revert to old devfn PCI: make duplicate devfn allocation fatal Do not execute shell scripts directly mips malta: fix indentation target-mips: fix indentation mips-malta: fix reset mips: fix cpu_reset memory leak fix make clean targets ... Carry changes to qemu-kvm-x86.c. Signed-off-by: Avi Kivity <avi@redhat.com>
| * Block live migrationlirans@il.ibm.com2009-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces block migration called during live migration. Block are being copied to the destination in an async way. First the code will transfer the whole disk and then transfer all dirty blocks accumulted during the migration. Still need to improve transition from the iterative phase of migration to the end phase. For now transition will take place when all blocks transfered once, all the dirty blocks will be transfered during the end phase (guest is suspended). Changes from v4: - Global variabels moved to a global state structure allocated dynamically. - Minor coding style issues. - Poll block.c for tracking of dirty blocks instead of manage it here. Signed-off-by: Liran Schour <lirans@il.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '5245d57a7ac830fc015465981db729646a768993' into upstream-mergeMarcelo Tosatti2009-11-061-4/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5245d57a7ac830fc015465981db729646a768993': vga roms: move loading from pc.c to vga drivers. rom loader: make vga+rom loading configurable. rom loader: use qemu_strdup. net: move UFO support detection to tap-linux.c net: move tap_set_offload() code into tap-linux.c net: move tap_probe_vnet_hdr() to tap-linux.c net: move tap_set_sndbuf() to tap-linux.c net: move linux code into net/tap-linux.c build: add CONFIG_LINUX net: move AIX code into net/tap-aix.c net: move solaris code to net/tap-solaris.c net: split BSD tap_open() out into net/tap-bsd.c net: split all the tap code out into net/tap.c net: move tap-linux.h under net/ net: move more stuff into net/tap-win32.c, add net/tap.h net: move tap-win32.c under net/ net: move net-checksum.c under net/ net: move net-queue.[ch] under net/ Conflicts: hw/cirrus_vga.c hw/pc.c hw/vga_int.h Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * net: move more stuff into net/tap-win32.c, add net/tap.hMark McLoughlin2009-10-301-4/+0
| | | | | | | | | | Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '59c7b155aa6e1cbfe8a92e2322ea59ab31965c10' into upstream-mergeMark McLoughlin2009-10-281-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * monitor: Convert do_pci_device_hot_remove() to QObjectLuiz Capitulino2009-10-271-1/+2
| | | | | | | | | | | | | | | | Errors are still directly printed, as we are only converting regular output. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '9ad4531e1e00b996ba55de04d6ecfb4d02a9fd7c' into upstream-mergeMark McLoughlin2009-10-281-4/+0
|\| | | | | | | | | | | | | | | | | | | | | * commit '9ad4531e1e00b996ba55de04d6ecfb4d02a9fd7c': kill dead nic unplug code. zap DeviceState->nd Conflicts: hw/pci-hotplug.c Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * kill dead nic unplug code.Gerd Hoffmann2009-10-271-4/+0
| | | | | | | | | | | | | | Cleanup on unplug happens via qdev->exit() callback now. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '8a1c5235510da01a200693fe3cfd87acd2dc1fca'Mark McLoughlin2009-10-081-0/+1
|\| | | | | | | | | | | | | Conflicts: net.c Signed-off-by: Mark McLoughlin <markmc@redhat.com>
| * offer right-ctrl as a grab optionDustin Kirkland2009-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for -ctrl-grab to use the right-ctrl button to grab/release the mouse in SDL. The multi-button ctrl-alt and ctrl-alt-shift grab buttons present an accessibility problem to users who cannot press more than one button at a time. https://bugs.edge.launchpad.net/ubuntu/+source/qemu-kvm/+bug/237635 Signed-off-by: Dustin Kirkland <kirkland@canonical.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '5a1fc5e8529afb6041a3dfa406a94c187d2afc1d' into upstream-mergeAvi Kivity2009-10-061-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5a1fc5e8529afb6041a3dfa406a94c187d2afc1d': qemu: clean up target page usage in msix fix comment on cpu_register_physical_memory_offset qemu/pci: reset device registers on bus reset qemu/pci: refactor code/symbolic constants qemu/virtio: fix reset with device removal qemu/qdev: type safety in reset handler serial: convert isa to qdev qdev: don't crash on unset drive properties. floppy: move dma setup + drive connect to fdctrl_init_common() floppy: add drive properties. store a pointer to QemuOpts in DeviceState, release it when zapping a device. allow if=none for drive_add refactor drive_hot_add drive cleanup fixes. Conflicts: hw/msix.c hw/pci.h Signed-off-by: Avi Kivity <avi@redhat.com>
| * drive cleanup fixes.Gerd Hoffmann2009-10-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: * drive_uninit() wants a DriveInfo now. * drive_uninit() also calls bdrv_delete(), so callers don't need to do that. * drive_uninit() calls are moved over to the ->exit() callbacks, destroy_bdrvs() is zapped. * setting bdrv->private is not needed any more as the only user (destroy_bdrvs) is gone. * usb-storage needs no drive_uninit, scsi-disk will handle that. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '3f84865ade594a2ec1ef613ab5fd11949f3d49de' into upstream-mergeAvi Kivity2009-10-061-4/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * pci: windup acpi-based hotplugGerd Hoffmann2009-10-051-6/+1
| | | | | | | | | | | | | | | | Switch over acpi-based PCI hotplug for pc over to the new qdev-based pci hotplugging. 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/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'ca20cf32ab3d945155141ef737f5d08ebb373e1d' into upstream-mergeAvi Kivity2009-09-211-18/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ca20cf32ab3d945155141ef737f5d08ebb373e1d': Compile loader only once Compile qemu-config only once Compile wdt_i6300esb only once Fix mingw32 compile Conflicts: hw/pc.c hw/ppc440_bamboo.c hw/ppce500_mpc8544ds.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Compile loader only onceBlue Swirl2009-09-201-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Callers must pass ELF machine, byte swapping and symbol LSB clearing information to ELF loader. A.out loader needs page size information, pass that too as a parameter. Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw. Adjust callers. Also use target_phys_addr_t instead of target_ulong for addresses: loader addresses aren't virtual. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '042eb37a04c9bf0cc76d14038a8ed35e3de713e2' into upstream-mergeMarcelo Tosatti2009-09-141-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '042eb37a04c9bf0cc76d14038a8ed35e3de713e2': Fix Linux task preemption on Versatile board pflash_cfi01: Correct debug build, no functional changes. ne2000-isa: Do not free memory owned by qdev alsa: Use proper value when testing returned events in alsa_poll_handler alsa/oss: Remove fd transfer handlers before closing oss/alsa fd/handle configure: change "found" to "find" Revert "Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca" Fix sparc.ld audio: Fix typo that broke QEMU_AUDIO_ADC_TRY_POLL Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca Sparc64: make system bus parent of PCI bus x86: move a declaration to header x86: add 'const' oss: Simplify mmap code oss: OSS v4 support i386: Drop redundant kvm_enabled test Make string arrays used to convert numbers to strings when DEBUG_EEPRO100 is enabled const. Fix xen build after sys-queue renaming Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * x86: move a declaration to headerBlue Swirl2009-09-131-0/+1
| | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '72cf2d4f0e181d0d3a3122e04129c58a95da713e' into upstream-mergeMarcelo Tosatti2009-09-141-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 '1d4daa91ff0b77e86b3944faf8fc7f978cf51c84' into upstream-mergeAvi Kivity2009-09-091-8/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1d4daa91ff0b77e86b3944faf8fc7f978cf51c84': monitor: Port handler_3 to use QDict monitor: Port handler_2 to use QDict monitor: Port handler_1 to use QDict monitor: Port handler_0 to use QDict monitor: Export QDict header Conflicts: hw/pci-hotplug.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * monitor: Port handler_3 to use QDictLuiz Capitulino2009-09-041-2/+1
| | | | | | | | | | | | | | | | This commit ports command handlers that receive three arguments to use the new monitor's dictionary. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * monitor: Port handler_2 to use QDictLuiz Capitulino2009-09-041-1/+1
| | | | | | | | | | | | | | | | This commit ports command handlers that receive two arguments to use the new monitor's dictionary. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * monitor: Port handler_1 to use QDictLuiz Capitulino2009-09-041-5/+6
| | | | | | | | | | | | | | | | This commit ports command handlers that receive one argument to use the new monitor's dictionary. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '4d76d2ba9d313a827012d72d8352459d3b7b8833' into upstream-mergeAvi Kivity2009-09-091-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4d76d2ba9d313a827012d72d8352459d3b7b8833': monitor: New format for handlers argument types Add wrappers to functions used by the Monitor Introduce QDict Introduce QString Introduce QInt Introduce QObject ide: move cmd+irq from IDEState to IDEBus. ide: pass down DriveInfo instead of BlockDriverState Conflicts: qemu-monitor.hx Signed-off-by: Avi Kivity <avi@redhat.com>
| * Add wrappers to functions used by the MonitorLuiz Capitulino2009-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some functions exported to be used by the Monitor as command handlers are also called in other places as regular functions. When those functions got ported to use the Monitor dictionary to pass argments, the callers will have to setup a dictionary to be able to call them. To avoid this problem, this commit add wrappers to those functions, so that we change the wrapper to accept the dictionary, letting the current functions as is. The following wrappers are being added: - do_help_cmd() - do_pci_device_hot_remove() Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '382f074371f7dc32a34c944c845b1698e83d8c36' into upstream-mergeAvi Kivity2009-08-301-2/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '382f074371f7dc32a34c944c845b1698e83d8c36': switch balloon initialization to -device. ide: move code to hw/ide/ ide: add save/restore support for mmio ide: add save/restore support for isa ide: split away ide-microdrive.c ide: split away ide-mmio.c ide: split away ide-macio.c Conflicts: hw/pc.c vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * switch balloon initialization to -device.Gerd Hoffmann2009-08-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With that patch applied "-balloon virtio,args" becomes a shortcut for "-device virtio-balloon-pci,args". Side effects: - ballon device gains support for id=<tag>. - ballon device is off by default now. - initialization order changes, which may in different pci slot assignment depending on the VM configuration. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit 'ec82026c97975e1e327aab76653ff7edeeb27967' into upstream-mergeAvi Kivity2009-08-301-0/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ec82026c97975e1e327aab76653ff7edeeb27967': ide: split away ide-isa.c ide: split away ide-internal.h ide: add IDEBus struct, cleanups qdev error logging virtio-pci error logging add qemu_error() + friends qdev: add return value to init() callbacks. fix stack buffer overflows in eepro100.c tx Check block driver read error in pflash_cfi0x Conflicts: Makefile.target hw/pc.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * add qemu_error() + friendsGerd Hoffmann2009-08-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds some functions for error reporting to address the problem that error messages should be routed to different destinations depending on the context of the caller, i.e. monitor command errors should go to the monitor, command line errors to stderr. qemu_error() is a printf-like function to report errors. qemu_errors_to_file() and qemu_errors_to_mon() switch the destination for the error message to the specified file or monitor. When setting a new destination the old one will be kept. One can switch back using qemu_errors_to_previous(). i.e. it works like a stack. main() calls qemu_errors_to_file(stderr), so errors go to stderr by default. monitor callbacks are wrapped into qemu_errors_to_mon() + qemu_errors_to_previous(), so any errors triggered by monitor commands will go to the monitor. Each thread has its own error message destination. qemu-kvm probably should add a qemu_errors_to_file(stderr) call to the i/o-thread initialization code. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '695dcf71eb463c93c9b3418cffdf3be437dee14a' into upstream-mergeAvi Kivity2009-08-291-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '695dcf71eb463c93c9b3418cffdf3be437dee14a': Port apic to new VMState design Add VMState support for arrays Add VMState support for pointers New VMstate save/load infrastructure Add vmstate_load() and vmstate_save() functions Use return value from load_state() call back make load_vmstate() return errors move do_loadvm() to monitor.c split do_loadvm() into do_loadvm() and load_vmstate() move useful type definitons to osdep.h qcow2: Metadata preallocation Move isa_connect_irq calls into isa_create_simple Conflicts: hw/apic.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * make load_vmstate() return errorsJuan Quintela2009-08-271-1/+1
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * move do_loadvm() to monitor.cJuan Quintela2009-08-271-1/+0
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * split do_loadvm() into do_loadvm() and load_vmstate()Juan Quintela2009-08-271-0/+1
| | | | | | | | | | | | | | | | | | do_loadvm() is now called from the monitor. load_vmstate() is called by do_loadvm() and when -loadvm command line is used. Command line don't have to play games with vmstop()/vmstart() Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1' into upstream-mergeAvi Kivity2009-08-241-4/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1': Unbreak large mem support by removing kqemu Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them. Migration via unix sockets. Conflicts: Makefile.target exec.c osdep.c vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Unbreak large mem support by removing kqemuAnthony Liguori2009-08-241-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kqemu introduces a number of restrictions on the i386 target. The worst is that it prevents large memory from working in the default build. Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on the TSC as a time source which will not be reliable on a multiple processor system in userspace. Since most modern processors are multicore, this severely limits the utility of kqemu. kvm is a viable alternative for people looking to accelerate qemu and has the benefit of being supported by the upstream Linux kernel. If someone can implement work arounds to remove the restrictions introduced by kqemu, I'm happy to avoid and/or revert this patch. N.B. kqemu will still function in the 0.11 series but this patch removes it from the 0.12 series. Paul, please Ack or Nack this patch. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '1452411b25fb207e7f442e5a5128f34b4939d31c' into upstream-mergeAvi Kivity2009-08-241-4/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1452411b25fb207e7f442e5a5128f34b4939d31c': (38 commits) Route PC irqs to ISA bus instead of i8259 directly Makefile: fixed rule TAGS QEMU set irq0override in fw_cfg SMART ATA Functionality Add missing linefeed in error message Clean up VGA type selection; far too many variables being used to track one state leads to confusion if new variables are added. When using stdio monitor and VNC display, one can set or clear a VNC password; this should set or turn off VNC authentication as well. Don't segfault when changing VNC password on an SDL display. Fix detached migration with exec. Do not disable autostart for live migration make vga screen_dump use DisplayState properly Restore consistent formatting es1370: Remove unused indirection of PCIES1370State and ES1370State Fix device name completion for 'eject' Revert my commit c00a9de060124a988bd9847c095e5836488c6f01 Fix segfault of qemu-system-arm with PXA target sdl.c: support 32 bpp cursors Use corect depth from DisplaySurface in vmware_vga.c Remove the unnecessary and only global in musicpal.c Make musicpal.c use the I2C device and the Marvell 88w8618 audio device ... Conflicts: hw/pc.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * QEMU set irq0override in fw_cfgJes Sorensen2009-08-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi, After discussing the issue with Avi, Gleb and a couple others on irq, we came to the conclusion that it is preferred to have QEMU request features from the BIOS, rather than notifying the BIOS that it is running on QEMU or KVM. This way memory ranges can change etc. and an older BIOS will continue to work on newer QEMU if it receives the info as a fw_cfg value. This one also matches what qemu-kvm does for irq0override, except I haven't made it configurable. I leave that as an exercise for whoever would be interested in switching off irq0override. Thanks, Jes Set irq0 override in fw_cfg, informing the BIOS that QEMU expects override on irq0. This matches qemu-kvm, and will help sharing a single BIOS binary. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Clean up VGA type selection; far too many variables being used to track one ↵Zachary Amsden2009-08-241-4/+11
| | | | | | | | | | | | | | state leads to confusion if new variables are added. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>