1. 05 Oct, 2012 35 commits
  2. 27 Sep, 2012 1 commit
  3. 23 Sep, 2012 2 commits
    • Jan Kiszka's avatar
      KVM: x86: Fix guest debug across vcpu INIT reset · c8639010
      Jan Kiszka authored
      If we reset a vcpu on INIT, we so far overwrote dr7 as provided by
      KVM_SET_GUEST_DEBUG, and we also cleared switch_db_regs unconditionally.
      
      Fix this by saving the dr7 used for guest debugging and calculating the
      effective register value as well as switch_db_regs on any potential
      change. This will change to focus of the set_guest_debug vendor op to
      update_dp_bp_intercept.
      
      Found while trying to stop on start_secondary.
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      c8639010
    • Alex Williamson's avatar
      KVM: Add resampling irqfds for level triggered interrupts · 7a84428a
      Alex Williamson authored
      To emulate level triggered interrupts, add a resample option to
      KVM_IRQFD.  When specified, a new resamplefd is provided that notifies
      the user when the irqchip has been resampled by the VM.  This may, for
      instance, indicate an EOI.  Also in this mode, posting of an interrupt
      through an irqfd only asserts the interrupt.  On resampling, the
      interrupt is automatically de-asserted prior to user notification.
      This enables level triggered interrupts to be posted and re-enabled
      from vfio with no userspace intervention.
      
      All resampling irqfds can make use of a single irq source ID, so we
      reserve a new one for this interface.
      Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      7a84428a
  4. 20 Sep, 2012 2 commits
    • Gleb Natapov's avatar
      KVM: optimize apic interrupt delivery · 1e08ec4a
      Gleb Natapov authored
      Most interrupt are delivered to only one vcpu. Use pre-build tables to
      find interrupt destination instead of looping through all vcpus. In case
      of logical mode loop only through vcpus in a logical cluster irq is sent
      to.
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      1e08ec4a
    • Avi Kivity's avatar
      Merge branch 'queue' into next · 1d86b5cc
      Avi Kivity authored
      * queue:
        KVM: MMU: Eliminate pointless temporary 'ac'
        KVM: MMU: Avoid access/dirty update loop if all is well
        KVM: MMU: Eliminate eperm temporary
        KVM: MMU: Optimize is_last_gpte()
        KVM: MMU: Simplify walk_addr_generic() loop
        KVM: MMU: Optimize pte permission checks
        KVM: MMU: Update accessed and dirty bits after guest pagetable walk
        KVM: MMU: Move gpte_access() out of paging_tmpl.h
        KVM: MMU: Optimize gpte_access() slightly
        KVM: MMU: Push clean gpte write protection out of gpte_access()
        KVM: clarify kvmclock documentation
        KVM: make processes waiting on vcpu mutex killable
        KVM: SVM: Make use of asm.h
        KVM: VMX: Make use of asm.h
        KVM: VMX: Make lto-friendly
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      1d86b5cc