* [PATCH v2] KVM: x86: Advertise SUCCOR and OVERFLOW_RECOV cpuid bits
@ 2024-07-31 14:36 John Allen
2024-08-15 15:16 ` Sean Christopherson
0 siblings, 1 reply; 2+ messages in thread
From: John Allen @ 2024-07-31 14:36 UTC (permalink / raw)
To: pbonzini, kvm, seanjc
Cc: thomas.lendacky, bp, mlevitsk, linux-kernel, x86, yazen.ghannam,
John Allen
Handling deferred, uncorrected MCEs on AMD guests is now possible with
additional support in qemu. Ensure that the SUCCOR and OVERFLOW_RECOV
bits are advertised to the guest in KVM.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: John Allen <john.allen@amd.com>
---
v2:
- Add cpuid_entry_override for CPUID_8000_0007_EBX.
- Handle masking bits in arch/x86/kvm/cpuid.c
---
arch/x86/kvm/cpuid.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 2617be544480..f8e1fd409cee 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -743,6 +743,11 @@ void kvm_set_cpu_caps(void)
if (!tdp_enabled && IS_ENABLED(CONFIG_X86_64))
kvm_cpu_cap_set(X86_FEATURE_GBPAGES);
+ kvm_cpu_cap_mask(CPUID_8000_0007_EBX,
+ F(OVERFLOW_RECOV) |
+ F(SUCCOR)
+ );
+
kvm_cpu_cap_init_kvm_defined(CPUID_8000_0007_EDX,
SF(CONSTANT_TSC)
);
@@ -1237,11 +1242,12 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
entry->edx &= ~GENMASK(17, 16);
break;
case 0x80000007: /* Advanced power management */
+ cpuid_entry_override(entry, CPUID_8000_0007_EBX);
cpuid_entry_override(entry, CPUID_8000_0007_EDX);
/* mask against host */
entry->edx &= boot_cpu_data.x86_power;
- entry->eax = entry->ebx = entry->ecx = 0;
+ entry->eax = entry->ecx = 0;
break;
case 0x80000008: {
/*
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] KVM: x86: Advertise SUCCOR and OVERFLOW_RECOV cpuid bits
2024-07-31 14:36 [PATCH v2] KVM: x86: Advertise SUCCOR and OVERFLOW_RECOV cpuid bits John Allen
@ 2024-08-15 15:16 ` Sean Christopherson
0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2024-08-15 15:16 UTC (permalink / raw)
To: John Allen
Cc: pbonzini, kvm, thomas.lendacky, bp, mlevitsk, linux-kernel, x86,
yazen.ghannam
s/cpuid/CPUID
On Wed, Jul 31, 2024, John Allen wrote:
> Handling deferred, uncorrected MCEs on AMD guests is now possible with
> additional support in qemu. Ensure that the SUCCOR and OVERFLOW_RECOV
> bits are advertised to the guest in KVM.
To host userspace, not the guest.
Please add a paragraph explaining (a) what these features do, (b) why
KVM doesn't need additional enabling, and (c) why KVM can't emulate these features
in software (though this can be omitted if it's quite obvious from (a)).
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-08-15 15:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 14:36 [PATCH v2] KVM: x86: Advertise SUCCOR and OVERFLOW_RECOV cpuid bits John Allen
2024-08-15 15:16 ` Sean Christopherson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox