aboutsummaryrefslogtreecommitdiff
path: root/kvm.h
Commit message (Collapse)AuthorAgeFilesLines
* qemu-kvm: enable get/set vcpu events on reset and migrationMarcelo Tosatti2010-01-311-0/+5
| | | | | | | | qemu-kvm should reset and save/restore vcpu events. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Acked-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Gleb Natapov <gleb@redhat.com>
* Merge commit 'a0fb002c6462d21ceb9eac8c5772e469ec189374' into upstream-mergeAvi Kivity2009-12-071-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0fb002c6462d21ceb9eac8c5772e469ec189374': kvm: x86: Add support for VCPU event states kvm: x86: Fix merge artifact of f8d926e9 about mp_state targe-ppc: Sync CPU state for KVM target-ppc: Get MMU state on register sync qemu: cleanup unused macros in cirrus qemu: make cirrus init value pci spec compliant Conflicts: kvm-all.c target-i386/kvm.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: x86: Add support for VCPU event statesJan Kiszka2009-12-031-0/+1
| | | | | | | | | | | | | | | | | | This patch extends the qemu-kvm state sync logic with support for KVM_GET/SET_VCPU_EVENTS, giving access to yet missing exception, interrupt and NMI states. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '0e607a80d323ba9f46dee71cd07380c4eb5c2b0a' into upstream-mergeAvi Kivity2009-11-221-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * kvm: Add arch reset handlerJan Kiszka2009-11-171-0/+2
| | | | | | | | | | | | | | Will be required by succeeding changes. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '91011d4f3b7c311a42b842f6682ac64a2372d2b7' into upstream-mergeAvi Kivity2009-11-221-3/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '91011d4f3b7c311a42b842f6682ac64a2372d2b7': pci: Fix function pci_default_write_config mips: fix CPU reset Fix PPC crash ARM MPCore tweaks Realview/EB procid hacks pci: fix the conversion of config field from array to pointer qemu_system_reset: we need to call it before loadvm/migration fdc: fix vmstate variable passed vnc: improve capslock handling. e1000 fix: read access to some registers is missing. Fix 32-bit overflow in parallels image support kvm ppc: Remove unused label kvm: Move KVM mp_state accessors to i386-specific code virtio-blk: Pass read errors to the guest savevm: Delete existing snapshots in all images Fix incoming migration fix type in CFLAGS name Conflicts: hw/pci.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Move KVM mp_state accessors to i386-specific codeHollis Blanchard2009-11-121-3/+0
| | | | | | | | | | | | | | Unbreaks PowerPC and S390 KVM builds. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Revert "Get rid of _t suffix"Anthony Liguori2009-10-011-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | In the very least, a change like this requires discussion on the list. The naming convention is goofy and it causes a massive merge problem. Something like this _must_ be presented on the list first so people can provide input and cope with it. This reverts commit 99a0949b720a0936da2052cb9a46db04ffc6db29. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Get rid of _t suffixmalc2009-10-011-9/+9
| | | | | | | | | | | | | | Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: malc <av1474@comtv.ru>
* | 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 '4c0960c0c483fffc5f8e1dab169d946ac295bf44' into upstream-mergeAvi Kivity2009-08-301-5/+3
|\| | | | | | | | | | | | | | | | | | | | | * commit '4c0960c0c483fffc5f8e1dab169d946ac295bf44': kvm: Simplify cpu_synchronize_state() Conflicts: hw/apic.c target-i386/machine.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Simplify cpu_synchronize_state()Avi Kivity2009-08-271-5/+3
| | | | | | | | | | | | | | | | | | | | | | cpu_synchronize_state() is a little unreadable since the 'modified' argument isn't self-explanatory. Simplify it by making it always synchronize the kernel state into qemu, and automatically flush the registers back to the kernel if they've been synchronized on this exit. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit 'f07918fdff76ace82b1ca3e53bbcddef069eb314' into upstream-mergeAvi Kivity2009-07-281-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f07918fdff76ace82b1ca3e53bbcddef069eb314': Add getfd and closefd monitor commands Add SCM_RIGHTS support to unix socket character devices Make tcp_chr_read() use recvmsg() sparc64 really implement itlb/dtlb automatic replacement writes sparc64 name mmu registers and general cleanup Give the kernel more room PPC: Round VGA BIOS size to page boundary Fix period initialization provide tests for pit in kernel and irqchip in kernel qemu-thread: use pthread_equal Link bios files when building out of tree signrom.sh: portability fix notify io_thread at the end of rx handling Conflicts: qemu-monitor.hx Signed-off-by: Avi Kivity <avi@redhat.com>
| * provide tests for pit in kernel and irqchip in kernelGlauber Costa2009-07-221-0/+3
| | | | | | | | | | | | | | | | | | KVM can have an in-kernel pit or irqchip. While we don't implement it yet, having a way for test for it (that always returns zero) will allow us to reuse code in qemu-kvm that tests for it. Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | reuse upstream breakpoint codeGlauber Costa2009-07-141-0/+1
| | | | | | | | | | | | | | | | | | Drop KVM_UPSTREAM around functions we intend to reuse. This allow us to share code in kvm-all.c, that is equal in qemu-kvm.c Signed-off-by: Glauber Costa <glommer@redhat.com> CC: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
* | fold libkvm-all into standard qemu headerGlauber Costa2009-07-141-1/+0
| | | | | | | | | | | | | | | | | | Sharing of structures containing each other between libkvm-all.h and qemu-kmv.h gets a bit messy in this series. So fold them together. libkvm-all.h has no place in the final schema of things anyway. Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
* | Merge commit '8d2ba1fb9c8e7006e10d71fa51a020977f14c8b0' into upstream-mergeAvi Kivity2009-06-301-1/+0
|\| | | | | | | | | | | | | | | | | | | * commit '8d2ba1fb9c8e7006e10d71fa51a020977f14c8b0': kvm: Rework VCPU synchronization Conflicts: hw/apic.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Rework VCPU synchronizationJan Kiszka2009-06-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During startup and after reset we have to synchronize user space to the in-kernel KVM state. Namely, we need to transfer the VCPU registers when they change due to VCPU as well as APIC reset. This patch refactors the required hooks so that kvm_init_vcpu registers its own per-VCPU reset handler and adds a cpu_synchronize_state to the APIC reset. That way we no longer depend on the new reset order (and can drop this disliked interface again) and we can even drop a KVM hook in main(). Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Fold libkvm-common.h into libkvm-all.hGlauber Costa2009-06-111-0/+1
| | | | | | | | | | | | | | | | | | This file has no purpose in life in new scheme of things. Move its contents to libkvm-all.h. There are some name clashes in qemu-kvm.c. Those function names are then changed. Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemuAvi Kivity2009-05-251-2/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.sv.gnu.org/qemu: (41 commits) Remove unused variable ETRAX: Removed unused struct entry and fixed Windows build. Add common BusState Fix lance segfaults Avoid errors when curl-config does not exist bios: Use the correct mask to size the PCI option ROM BAR x86: Add support for resume flag net: Fix dump time stamps Add HTTP protocol using curl v6 USB serial device support serial: fix lost character after sysrq usb-serial: implement break event. slirp: Reassign same address to same DHCP client kvm: x86: Save/restore KVM-specific CPU states kvm: Rework VCPU reset Introduce reset notifier order kvm: Fix framebuffer dirty log sync kvm: Add missing bits to support live migration kvm: Rework dirty bitmap synchronization kvm: Fix dirty log temporary buffer size ... Conflicts: Makefile configure exec.c hw/ioapic.c hw/pc.c pc-bios/bios.bin target-i386/machine.c vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: x86: Save/restore KVM-specific CPU statesJan Kiszka2009-05-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Save and restore all so far neglected KVM-specific CPU states. Handling the TSC stabilizes migration in KVM mode. The interrupt_bitmap and mp_state are currently unused, but will become relevant for in-kernel irqchip support. By including proper saving/restoring already, we avoid having to increment CPU_SAVE_VERSION later on once again. v2: - initialize mp_state runnable (for the boot CPU) Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * kvm: Rework dirty bitmap synchronizationJan Kiszka2009-05-221-2/+2
| | | | | | | | | | | | | | | | | | Extend kvm_physical_sync_dirty_bitmap() so that is can sync across multiple slots. Useful for updating the whole dirty log during migration. Moreover, properly pass down errors the whole call chain. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * kvm: Introduce kvm_set_migration_logJan Kiszka2009-05-221-0/+1
| | | | | | | | | | | | | | | | | | Introduce a global dirty logging flag that enforces logging for all slots. This can be used by the live migration code to enable/disable global logging withouth destroying the per-slot setting. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemu into masterAvi Kivity2009-05-091-0/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.sv.gnu.org/qemu: (23 commits) Fix in file qemu-sockets.c vga: Replace VGA_COMMON with a structure Improve block range checks Remove noisy printf when KVM masks CPU features fix asynchronous ioctls kvm: Trim cpu features not supported by kvm Fix x86 feature modifications for features that set multiple bits Make x86 cpuid feature names available in file scope kvm: Add support for querying supported cpu features Introduce kvm_check_extension to check if KVM extensions are supported e1000: Do not reinit pci config space to 0 AIO deletion race fix reset state for load_linux register reset handler for option_roms Fix cluster freeing in qcow2 Enable power button even generation. Drop CONFIG_GDBSTUB Remove superfluous #includes. Use target_phys_addr_t, not target_ulong. Replace cpu_abort with hw_error ... Conflicts: hw/cirrus_vga.c pc-bios/bios.bin Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Add support for querying supported cpu featuresAvi Kivity2009-05-081-0/+3
| | | | | | | | | | | | | | | | kvm does not support all cpu features; add support for dunamically querying the supported feature set. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * Introduce kvm_check_extension to check if KVM extensions are supportedAnthony Liguori2009-05-081-0/+2
| | | | | | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemuAvi Kivity2009-05-061-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.sv.gnu.org/qemu: (84 commits) ETRAX: Simplify serport control logic. ETRAX: Drop _t for the serial type. ETRAX: Use NULL for subwidth serport reg accesses. ETRAX: Drop the _t for the internal PIC type. ETRAX: Simplify the interrupt controller model. ETRAX: Simplify interrupt signaling. Fix compiler warnings in nwfpe code. target-mips: proper sign extension for 'SUBU rd, zero, rt' target-mips: fix comments about SUB/DSUB qemu-options.hx: fix description of cache=none suboption Suppress type mismatch warnings in VDE code. minor fix of pci_register_bus() use PCI_HEADER_TYPE. Fix typos in comments in exec.c Optimize cmp x, 0 case Reindent Handle NULL bdrv. Improve instruction name comments for easier searching Clarify: dmmuregs[1] is not a typo Optimize operations with immediate parameters ... Conflicts: Makefile.target hw/vga.c qemu-common.h vl.c (iothread merge by Marcelo) Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Avoid COW if KVM MMU is asynchronousJan Kiszka2009-05-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avi Kivity wrote: > Suggest wrapping in a function and hiding it deep inside kvm-all.c. > Done in v2: ----------> If the KVM MMU is asynchronous (kernel does not support MMU_NOTIFIER), we have to avoid COW for the guest memory. Otherwise we risk serious breakage when guest pages change there physical locations due to COW after fork. Seen when forking smbd during runtime via -smb. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemu into masterAvi Kivity2009-04-231-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'master': (180 commits) xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann) simplify vga selection (Gerd Hoffmann) xen: pv domain builder. (Gerd Hoffmann) xen: blk & nic configuration via cmd line. (Gerd Hoffmann) xen: add net backend driver. (Gerd Hoffmann) xen: add block device backend driver. (Gerd Hoffmann) xen: add framebuffer backend driver (Gerd Hoffmann) xen: add console backend driver. (Gerd Hoffmann) xen: backend driver core (Gerd Hoffmann) xen: groundwork for xen support (Gerd Hoffmann) update .gitignore: add qemu-io (Gerd Hoffmann) qcow2: Add plausibility check for L1/L2 entries (Kevin Wolf) qcow2: Refcount checking code cleanup (Kevin Wolf) Introduce qemu-img check subcommand (Kevin Wolf) Introduce bdrv_check (Kevin Wolf) qcow2: Fix warnings in check_refcount() (Kevin Wolf) sending NUMA topology to BIOS (Andre Przywara) add info numa command to monitor (Andre Przywara) added -numa cmdline parameter parser (Andre Przywara) Safety net for the cases where disassembler/translator disagree over instruction decoding ... Conflicts: Makefile Makefile.target configure cpu-all.h gdbstub.c hw/apic.c hw/cirrus_vga.c hw/eepro100.c hw/pc.c hw/pcnet.c hw/rtl8139.c hw/vga.c net.c pc-bios/bios.bin sysemu.h vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Add sanity checks to slot management (Jan Kiszka)aliguori2009-04-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fail loudly if we run out of memory slot. Make sure that dirty log start/stop works with consistent memory regions by reporting invalid parameters. This reveals several inconsistencies in the vga code, patch to fix them follows later in this series. And, for simplicity reasons, also catch and report unaligned memory regions passed to kvm_set_phys_mem (KVM works on page basis). Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7138 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2009-03-151-0/+51
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qemu-cvs: (29 commits) Make the ELF loader aware of backwards compatibility temporarily disable logging around pci config writes (Avi Kivity) stop dirty logging while updating cirrus bank memory (Glauber Costa) Add missing file Update changelog qemu:virtio-net: Check return size on the correct sg list (Alex Williamson) make qemu_announce_self handle non contiguous net tables (Marcelo Tosatti) Replace asprintf() with snprintf() in vnc.c ("Daniel P. Berrange") monitor: Provide empty command as final history entry (Jan Kiszka) Add and use remaining #defines for PCI device IDs (Stuart Brady) remove is_graphic_console from vga.c (Stefano Stabellini) DisplayAllocator interface (Stefano Stabellini) tcg/x86_64: add bswap16_i{32,64} and bswap32_i64 ops tcg/x86: add bswap16_i32 ops target-i386: use the new bswap* TCG ops target-ppc: use the new bswap* TCG ops tcg: update README wrt recent bswap changes tcg: add _tl aliases to bswap16/32/64 TCG ops tcg: add bswap16_i64 and bswap32_i64 TCG ops tcg: optimize tcg_gen_bswap16_i32 ... Conflicts: qemu/gdbstub.c qemu/hw/apic.c qemu/hw/vga.c qemu/monitor.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Guest debugging support for KVM (Jan Kiszka)aliguori2009-03-121-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of the guest debugging support for the KVM accelerator that is now part of the KVM tree. It implements the reworked KVM kernel API for guest debugging (KVM_CAP_SET_GUEST_DEBUG) which is not yet part of any mainline kernel but will probably be 2.6.30 stuff. So far supported is x86, but PPC is expected to catch up soon. Core features are: - unlimited soft-breakpoints via code patching - hardware-assisted x86 breakpoints and watchpoints Changes in this version: - use generic hook cpu_synchronize_state to transfer registers between user space and kvm - push kvm_sw_breakpoints into KVMState Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6825 c046a42c-6fe2-441c-8c8c-71466251a162
* | Allow kvm.h to include "config.h"Avi Kivity2008-12-241-2/+2
| | | | | | Signed-off-by: Avi Kivity <avi@redhat.com>
* | Merge branch 'qemu-cvs'Avi Kivity2008-12-231-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile qemu/Makefile.target qemu/configure qemu/hw/pc.c qemu/hw/pc.h qemu/hw/pci.c qemu/hw/virtio-net.c qemu/net.c qemu/net.h qemu/pc-bios/bios.bin qemu/pc-bios/vgabios-cirrus.bin qemu/pc-bios/vgabios.bin qemu/target-ppc/helper.c qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: sync vcpu state during initialization (Hollis Blanchard)aliguori2008-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently on x86, qemu initializes CPUState but KVM ignores it and does its own vcpu initialization. However, PowerPC KVM needs to be able to set the initial register state to support the -kernel and -append options. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6060 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-12-151-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile qemu/Makefile.target qemu/block-raw-posix.c qemu/configure qemu/cutils.c qemu/dyngen.c qemu/hw/cirrus_vga.c qemu/hw/e1000.c qemu/hw/pci.c qemu/hw/vga.c qemu/osdep.c qemu/pc-bios/Makefile qemu/qemu-common.h qemu/target-ppc/helper.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * KVM: Coalesced MMIO supportaliguori2008-12-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MMIO exits are more expensive in KVM or Xen than in QEMU because they involve, at least, privilege transitions. However, MMIO write operations can be effectively batched if those writes do not have side effects. Good examples of this include VGA pixel operations when in a planar mode. As it turns out, we can get a nice boost in other areas too. Laurent mentioned a 9.7% performance boost in iperf with the coalesced MMIO changes for the e1000 when he originally posted this work for KVM. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5961 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-12-071-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile.target qemu/configure qemu/cutils.c qemu/hw/pc.c qemu/hw/ppc4xx.h qemu/hw/virtio-balloon.c qemu/hw/virtio-blk.c qemu/hw/virtio.c qemu/hw/virtio.h qemu/monitor.c qemu/qemu-common.h qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Add virtio-balloon supportaliguori2008-12-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a VirtIO based balloon driver. It uses madvise() to actually balloon the memory when possible. Until 2.6.27, KVM forced memory pinning so we must disable ballooning unless the kernel actually supports it when using KVM. It's always safe when using TCG. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5874 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-12-011-0/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile qemu/block.c qemu/configure qemu/exec.c qemu/hw/cirrus_vga.c qemu/hw/ide.c qemu/hw/vga.c qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kvm: Introduce kvm logging interface (Glauber Costa)aliguori2008-11-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce functions to control logging of memory regions. We select regions based on its start address, a guest_physical_addr (target_phys_addr_t, in qemu nomenclature). The main user of this interface right now is VGA optimization (a way of reducing the number of mmio exits). Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5792 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-11-231-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/block-raw-posix.c qemu/configure qemu/cpu-defs.h qemu/cpu-exec.c qemu/exec.c qemu/gdbstub.c qemu/loader.c qemu/osdep.c qemu/sysemu.h qemu/target-i386/helper.c qemu/target-ppc/cpu.h qemu/target-ppc/helper.c qemu/usb-linux.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Define kvm_ioctl in the same way as ioctlaliguori2008-11-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The third argument to ioctl is a ... which allows any value to be passed. In practice, glibc always treats the argument as a void *. Do the same thing for the kvm ioctls to keep things consistent with a traditional ioctl. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5715 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-11-091-0/+4
|/ | | | | | | | | | | | | | | Conflicts: qemu/block.c qemu/configure qemu/cpu-exec.c qemu/exec.c qemu/hw/acpi.c qemu/hw/pc.c qemu/monitor.c qemu/target-i386/cpu.h qemu/target-i386/helper.c qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
* Add missing files to KVM commit.aliguori2008-11-051-0/+68
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5629 c046a42c-6fe2-441c-8c8c-71466251a162