diff options
author | Avi Kivity <avi@qumranet.com> | 2007-10-25 10:52:32 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 11:01:20 -0500 |
commit | b93463aa59d67b21b4921e30bd5c5dcc7c35ffbd (patch) | |
tree | 8de9a2789624d27155d8a94c93a23c01f473fea7 /arch/x86/kvm/lapic.h | |
parent | b209749f528488c4c0d20a42c0fbcbf49e6933b3 (diff) |
KVM: Accelerated apic support
This adds a mechanism for exposing the virtual apic tpr to the guest, and a
protocol for letting the guest update the tpr without causing a vmexit if
conditions allow (e.g. there is no interrupt pending with a higher priority
than the new tpr).
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/lapic.h')
-rw-r--r-- | arch/x86/kvm/lapic.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h index 447b654aefbb..676c396c9cee 100644 --- a/arch/x86/kvm/lapic.h +++ b/arch/x86/kvm/lapic.h | |||
@@ -18,6 +18,8 @@ struct kvm_lapic { | |||
18 | struct kvm_vcpu *vcpu; | 18 | struct kvm_vcpu *vcpu; |
19 | struct page *regs_page; | 19 | struct page *regs_page; |
20 | void *regs; | 20 | void *regs; |
21 | gpa_t vapic_addr; | ||
22 | struct page *vapic_page; | ||
21 | }; | 23 | }; |
22 | int kvm_create_lapic(struct kvm_vcpu *vcpu); | 24 | int kvm_create_lapic(struct kvm_vcpu *vcpu); |
23 | void kvm_free_lapic(struct kvm_vcpu *vcpu); | 25 | void kvm_free_lapic(struct kvm_vcpu *vcpu); |
@@ -41,4 +43,8 @@ int kvm_lapic_enabled(struct kvm_vcpu *vcpu); | |||
41 | int kvm_lapic_find_highest_irr(struct kvm_vcpu *vcpu); | 43 | int kvm_lapic_find_highest_irr(struct kvm_vcpu *vcpu); |
42 | void kvm_apic_timer_intr_post(struct kvm_vcpu *vcpu, int vec); | 44 | void kvm_apic_timer_intr_post(struct kvm_vcpu *vcpu, int vec); |
43 | 45 | ||
46 | void kvm_lapic_set_vapic_addr(struct kvm_vcpu *vcpu, gpa_t vapic_addr); | ||
47 | void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu); | ||
48 | void kvm_lapic_sync_to_vapic(struct kvm_vcpu *vcpu); | ||
49 | |||
44 | #endif | 50 | #endif |