diff options
author | Eddie Dong <eddie.dong@intel.com> | 2007-09-06 05:22:56 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 04:18:25 -0400 |
commit | 96ad2cc6132479aa0aea485d0838a13fda765bd5 (patch) | |
tree | dc3596b92981332cee0749004b7076a7d52a90b1 /drivers/kvm/irq.h | |
parent | 6bf9e962d14deb9e460afbbfd83ea2f450325c2d (diff) |
KVM: in-kernel LAPIC save and restore support
This patch adds a new vcpu-based IOCTL to save and restore the local
apic registers for a single vcpu. The kernel only copies the apic page as
a whole, extraction of registers is left to userspace side. On restore, the
APIC timer is restarted from the initial count, this introduces a little
delay, but works fine.
Signed-off-by: Yaozu (Eddie) Dong <eddie.dong@intel.com>
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/irq.h')
-rw-r--r-- | drivers/kvm/irq.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/kvm/irq.h b/drivers/kvm/irq.h index 30adddcb182d..24b871f9b5fc 100644 --- a/drivers/kvm/irq.h +++ b/drivers/kvm/irq.h | |||
@@ -149,6 +149,7 @@ int kvm_apic_match_physical_addr(struct kvm_lapic *apic, u16 dest); | |||
149 | void kvm_ioapic_update_eoi(struct kvm *kvm, int vector); | 149 | void kvm_ioapic_update_eoi(struct kvm *kvm, int vector); |
150 | int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda); | 150 | int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda); |
151 | int kvm_apic_set_irq(struct kvm_lapic *apic, u8 vec, u8 trig); | 151 | int kvm_apic_set_irq(struct kvm_lapic *apic, u8 vec, u8 trig); |
152 | void kvm_apic_post_state_restore(struct kvm_vcpu *vcpu); | ||
152 | int kvm_ioapic_init(struct kvm *kvm); | 153 | int kvm_ioapic_init(struct kvm *kvm); |
153 | void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); | 154 | void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level); |
154 | 155 | ||