1. 03 12月, 2009 3 次提交
  2. 19 9月, 2009 1 次提交
  3. 10 9月, 2009 17 次提交
  4. 05 8月, 2009 1 次提交
  5. 28 6月, 2009 1 次提交
  6. 10 6月, 2009 11 次提交
  7. 24 3月, 2009 6 次提交
    • G
      KVM: Report IRQ injection status to userspace. · 4925663a
      Gleb Natapov 提交于
      IRQ injection status is either -1 (if there was no CPU found
      that should except the interrupt because IRQ was masked or
      ioapic was misconfigured or ...) or >= 0 in that case the
      number indicates to how many CPUs interrupt was injected.
      If the value is 0 it means that the interrupt was coalesced
      and probably should be reinjected.
      Signed-off-by: NGleb Natapov <gleb@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      4925663a
    • G
      KVM: Fix kvmclock on !constant_tsc boxes · c8076604
      Gerd Hoffmann 提交于
      kvmclock currently falls apart on machines without constant tsc.
      This patch fixes it.  Changes:
      
        * keep tsc frequency in a per-cpu variable.
        * handle kvmclock update using a new request flag, thus checking
          whenever we need an update each time we enter guest context.
        * use a cpufreq notifier to track frequency changes and force
          kvmclock updates.
        * send ipis to kick cpu out of guest context if needed to make
          sure the guest doesn't see stale values.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      c8076604
    • S
      KVM: Use irq routing API for MSI · 79950e10
      Sheng Yang 提交于
      Merge MSI userspace interface with IRQ routing table. Notice the API have been
      changed, and using IRQ routing table would be the only interface kvm-userspace
      supported.
      Signed-off-by: NSheng Yang <sheng@linux.intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      79950e10
    • M
      KVM: make irq ack notifications aware of routing table · 44882eed
      Marcelo Tosatti 提交于
      IRQ ack notifications assume an identity mapping between pin->gsi,
      which might not be the case with, for example, HPET.
      
      Translate before acking.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Acked-by: NGleb Natapov <gleb@redhat.com>
      44882eed
    • A
      KVM: Userspace controlled irq routing · 399ec807
      Avi Kivity 提交于
      Currently KVM has a static routing from GSI numbers to interrupts (namely,
      0-15 are mapped 1:1 to both PIC and IOAPIC, and 16:23 are mapped 1:1 to
      the IOAPIC).  This is insufficient for several reasons:
      
      - HPET requires non 1:1 mapping for the timer interrupt
      - MSIs need a new method to assign interrupt numbers and dispatch them
      - ACPI APIC mode needs to be able to reassign the PCI LINK interrupts to the
        ioapics
      
      This patch implements an interrupt routing table (as a linked list, but this
      can be easily changed) and a userspace interface to replace the table.  The
      routing table is initialized according to the current hardwired mapping.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      399ec807
    • A
      KVM: Interrupt mask notifiers for ioapic · 75858a84
      Avi Kivity 提交于
      Allow clients to request notifications when the guest masks or unmasks a
      particular irq line.  This complements irq ack notifications, as the guest
      will not ack an irq line that is masked.
      
      Currently implemented for the ioapic only.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      75858a84