History | View | Annotate | Download (23.7 kB)
kvm: improve handling of overlapping slots (Jan Kiszka)
This reworks the slot management to handle more patterns ofcpu_register_physical_memory*, finally allowing to reset KVM guests (sofar address remapping on reset broke the slot management).
We could actually handle all possible ones without failing, but a KVM...
kvm: Add sanity checks to slot management (Jan Kiszka)
Fail loudly if we run out of memory slot.
Make sure that dirty log start/stop works with consistent memory regionsby reporting invalid parameters. This reveals several inconsistencies inthe vga code, patch to fix them follows later in this series....
kvm: Cleanup unmap condition in kvm_set_phys_mem (Jan Kiszka)
Testing for TLB_MMIO on unmap makes no sense as A) that flag belongs toCPUTLBEntry and not to io_memory slots or physical addresses and B) wealready use a different condition before mapping. So make this test...
Remove code phys_ram_base uses.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7085 c046a42c-6fe2-441c-8c8c-71466251a162
Guest debugging support for KVM (Jan Kiszka)
This is a backport of the guest debugging support for the KVMaccelerator that is now part of the KVM tree. It implements the reworkedKVM kernel API for guest debugging (KVM_CAP_SET_GUEST_DEBUG) which isnot yet part of any mainline kernel but will probably be 2.6.30 stuff....
Fix race condition on access to env->interrupt_request
env->interrupt_request is accessed as the bit level from both main codeand signal handler, making a race condition possible even on CISC CPU.This causes freeze of QEMU under high load when running the dyntick...
toplevel: remove error handling from qemu_malloc() callers (Avi Kivity)
Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6531 c046a42c-6fe2-441c-8c8c-71466251a162
KVM: Silence unused s warning
Move s under #ifdef to avoid compiler warning.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6086 c046a42c-6fe2-441c-8c8c-71466251a162
kvm: sync vcpu state during initialization (Hollis Blanchard)
Currently on x86, qemu initializes CPUState but KVM ignores it and does itsown vcpu initialization. However, PowerPC KVM needs to be able to set theinitial register state to support the -kernel and -append options....
KVM: Coalesced MMIO support
MMIO exits are more expensive in KVM or Xen than in QEMU because theyinvolve, at least, privilege transitions. However, MMIO writeoperations can be effectively batched if those writes do not have sideeffects.
Good examples of this include VGA pixel operations when in a planar...
Disable KVM support if the kernel modules have broken memory slot handling
Prior to kvm-80, memory slot deletion was broken in the KVM kernelmodules. In kvm-81, a new capability is introduced to signify that thisproblem has been fixed.
Since we rely on being able to delete memory slots, refuse to work with...
Add virtio-balloon support
This adds a VirtIO based balloon driver. It uses madvise() to actually balloonthe memory when possible.
Until 2.6.27, KVM forced memory pinning so we must disable ballooning unless thekernel actually supports it when using KVM. It's always safe when using TCG....
kvm: Introduce kvm logging interface (Glauber Costa)
Introduce functions to control logging of memory regions.We select regions based on its start address, aguest_physical_addr (target_phys_addr_t, in qemu nomenclature).
The main user of this interface right now is VGA optimization...
Make KVMSlot a real structure
struct kvm_userspace_memory_region does not use QEMU friendly types todefine memory slots. This results in lots of ugly casting with warningson 32-bit platforms.
This patch introduces a proper KVMSlot structure that uses QEMU types to...
kvm: de-register mem region for MMIO (Glauber Costa)
Besides unassigned memory, we also don't care about MMIO.So if we're giving an MMIO area that is already registered,wipe it out.
Signed-off-by: Glauber Costa <glommer@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
Make KVM slot management more robust
KVM keeps track of physical memory based on slots in the kernel. The currentcode that translates QEMU memory mappings to slots work but is not robustin the fact of reregistering partial regions of memory.
This patch does the right thing for reregistering partial regions of memory. It...
Define kvm_ioctl in the same way as ioctl
The third argument to ioctl is a ... which allows any value to be passed. Inpractice, glibc always treats the argument as a void *.
Do the same thing for the kvm ioctls to keep things consistent with atraditional ioctl....
KVM: simplify kvm_cpu_exec hook
We don't need to use cpu_loop_exit() because we never use thecondition codes so everything can be folded into a single case.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5669 c046a42c-6fe2-441c-8c8c-71466251a162
Add missing files to KVM commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5629 c046a42c-6fe2-441c-8c8c-71466251a162