1. 22 7月, 2009 3 次提交
    • G
      introduce on_vcpu · 452e4751
      Glauber Costa 提交于
      on_vcpu is a qemu-kvm function that will make sure that a specific
      piece of code will run on a requested cpu. We don't need that because
      we're restricted to -smp 1 right now, but those days are likely to end soon.
      
      So for the benefit of having qemu-kvm share more code with us, I'm
      introducing our own version of on_vcpu(). Right now, we either run
      a function on the current cpu, or abort the execution, because it would
      mean something is seriously wrong.
      
      As an example code, I "ported" kvm_update_guest_debug to use it,
      with some slight differences from qemu-kvm.
      
      This is probably 0.12 material
      Signed-off-by: NGlauber Costa <glommer@redhat.com>
      CC: Jan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      452e4751
    • A
      Fake dirty loggin when it's not there · bd836776
      Alexander Graf 提交于
      Some KVM platforms don't support dirty logging yet, like IA64 and PPC,
      so in order to still have screen updates on those, we need to fake it.
      
      This patch just tells the getter function for dirty bitmaps, that all
      pages within a slot are dirty when the slot has dirty logging enabled.
      
      That way we can implement dirty logging on those platforms sometime when
      it drags down performance, but share the rest of the code with dirty
      logging capable platforms.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      bd836776
    • A
      Fix warning in kvm-all.c · b80a55e6
      Alexander Graf 提交于
      This fixes a warning I stumbled across while compiling qemu on PPC64.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b80a55e6
  2. 30 6月, 2009 2 次提交
  3. 17 6月, 2009 1 次提交
    • J
      kvm: Fix IRQ injection into full queue · 8c14c173
      Jan Kiszka 提交于
      User space may only inject interrupts during kvm_arch_pre_run if
      ready_for_interrupt_injection is set in kvm_run. But that field is
      updated on exit from KVM_RUN, so we must ensure that we enter the
      kernel after potentially queuing an interrupt, otherwise we risk to
      loose one - like it happens with the current code against latest
      kernel modules (since kvm-86) that started to queue only a single
      interrupt.
      
      Fix the problem by reordering kvm_cpu_exec.
      
      Credits go to Gleb Natapov for analyzing the issue in details.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8c14c173
  4. 07 6月, 2009 1 次提交
  5. 22 5月, 2009 6 次提交
  6. 20 5月, 2009 1 次提交
  7. 09 5月, 2009 1 次提交
  8. 01 5月, 2009 2 次提交
  9. 17 4月, 2009 3 次提交
  10. 11 4月, 2009 1 次提交
  11. 13 3月, 2009 1 次提交
    • A
      Guest debugging support for KVM (Jan Kiszka) · e22a25c9
      aliguori 提交于
      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: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6825 c046a42c-6fe2-441c-8c8c-71466251a162
      e22a25c9
  12. 07 3月, 2009 1 次提交
    • A
      Fix race condition on access to env->interrupt_request · be214e6c
      aurel32 提交于
      env->interrupt_request is accessed as the bit level from both main code
      and signal handler, making a race condition possible even on CISC CPU.
      This causes freeze of QEMU under high load when running the dyntick
      clock.
      
      The patch below move the bit corresponding to CPU_INTERRUPT_EXIT in a
      separate variable, declared as volatile sig_atomic_t, so it should be
      work even on RISC CPU.
      
      We may want to move the cpu_interrupt(env, CPU_INTERRUPT_EXIT) case in
      its own function and get rid of CPU_INTERRUPT_EXIT. That can be done
      later, I wanted to keep the patch short for easier review.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6728 c046a42c-6fe2-441c-8c8c-71466251a162
      be214e6c
  13. 06 2月, 2009 1 次提交
  14. 19 12月, 2008 1 次提交
  15. 16 12月, 2008 1 次提交
  16. 10 12月, 2008 2 次提交
  17. 05 12月, 2008 1 次提交
  18. 25 11月, 2008 1 次提交
  19. 20 11月, 2008 1 次提交
  20. 19 11月, 2008 1 次提交
  21. 18 11月, 2008 1 次提交
  22. 14 11月, 2008 1 次提交
  23. 10 11月, 2008 1 次提交
  24. 06 11月, 2008 1 次提交