diff options
author | Gleb Natapov <gleb@redhat.com> | 2012-04-19 07:06:29 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-04-24 09:36:18 -0400 |
commit | 413837714232b3a4c0705e915d8af75ad521d083 (patch) | |
tree | 8caabcc3565c5482e6d8da921ed2b166c0c1a230 /arch/x86/include | |
parent | 07975ad3b30579ca27d880491ad992326b930c63 (diff) |
KVM: Introduce bitmask for apic attention reasons
The patch introduces a bitmap that will hold reasons apic should be
checked during vmexit. This is in a preparation for vp eoi patch
that will add one more check on vmexit. With the bitmap we can do
if(apic_attention) to check everything simultaneously which will
add zero overhead on the fast path.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index f624ca72ea24..69e39bc7e36f 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -172,6 +172,9 @@ enum { | |||
172 | #define DR7_FIXED_1 0x00000400 | 172 | #define DR7_FIXED_1 0x00000400 |
173 | #define DR7_VOLATILE 0xffff23ff | 173 | #define DR7_VOLATILE 0xffff23ff |
174 | 174 | ||
175 | /* apic attention bits */ | ||
176 | #define KVM_APIC_CHECK_VAPIC 0 | ||
177 | |||
175 | /* | 178 | /* |
176 | * We don't want allocation failures within the mmu code, so we preallocate | 179 | * We don't want allocation failures within the mmu code, so we preallocate |
177 | * enough memory for a single page fault in a cache. | 180 | * enough memory for a single page fault in a cache. |
@@ -337,6 +340,7 @@ struct kvm_vcpu_arch { | |||
337 | u64 efer; | 340 | u64 efer; |
338 | u64 apic_base; | 341 | u64 apic_base; |
339 | struct kvm_lapic *apic; /* kernel irqchip context */ | 342 | struct kvm_lapic *apic; /* kernel irqchip context */ |
343 | unsigned long apic_attention; | ||
340 | int32_t apic_arb_prio; | 344 | int32_t apic_arb_prio; |
341 | int mp_state; | 345 | int mp_state; |
342 | int sipi_vector; | 346 | int sipi_vector; |