KVM: x86: Make APIC_VERSION capture only the magic 0x14UL.
Refactor APIC_VERSION so that the maximum number of LVT entries is inserted at runtime rather than compile time. This will be used in a subsequent commit to expose the LVT CMCI Register to VMs that support Corrected Machine Check error counting/signaling (IA32_MCG_CAP.MCG_CMCI_P=1). Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Jue Wang <juew@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220610171134.772566-2-juew@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0378739401
commit
951ceb94ed
@ -54,7 +54,7 @@
|
|||||||
#define PRIo64 "o"
|
#define PRIo64 "o"
|
||||||
|
|
||||||
/* 14 is the version for Xeon and Pentium 8.4.8*/
|
/* 14 is the version for Xeon and Pentium 8.4.8*/
|
||||||
#define APIC_VERSION (0x14UL | ((KVM_APIC_LVT_NUM - 1) << 16))
|
#define APIC_VERSION 0x14UL
|
||||||
#define LAPIC_MMIO_LENGTH (1 << 12)
|
#define LAPIC_MMIO_LENGTH (1 << 12)
|
||||||
/* followed define is not in apicdef.h */
|
/* followed define is not in apicdef.h */
|
||||||
#define MAX_APIC_VECTOR 256
|
#define MAX_APIC_VECTOR 256
|
||||||
@ -402,7 +402,7 @@ static inline int apic_lvt_nmi_mode(u32 lvt_val)
|
|||||||
void kvm_apic_set_version(struct kvm_vcpu *vcpu)
|
void kvm_apic_set_version(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
struct kvm_lapic *apic = vcpu->arch.apic;
|
struct kvm_lapic *apic = vcpu->arch.apic;
|
||||||
u32 v = APIC_VERSION;
|
u32 v = APIC_VERSION | ((KVM_APIC_LVT_NUM - 1) << 16);
|
||||||
|
|
||||||
if (!lapic_in_kernel(vcpu))
|
if (!lapic_in_kernel(vcpu))
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user