qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PULL 21/24] kvm: i386: require KVM_CAP_MCE
Date: Thu, 26 Oct 2023 01:27:14 +0200	[thread overview]
Message-ID: <20231025232718.89428-22-pbonzini@redhat.com> (raw)
In-Reply-To: <20231025232718.89428-1-pbonzini@redhat.com>

This was introduced in KVM in Linux 2.6.34, we can require it unconditionally.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/kvm/kvm.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 4a244174a0f..42574c2df89 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -97,6 +97,7 @@ const KVMCapabilityInfo kvm_arch_required_capabilities[] = {
     KVM_CAP_INFO(XSAVE),
     KVM_CAP_INFO(VCPU_EVENTS),
     KVM_CAP_INFO(X86_ROBUST_SINGLESTEP),
+    KVM_CAP_INFO(MCE),
     KVM_CAP_LAST_INFO
 };
 
@@ -582,14 +583,8 @@ uint64_t kvm_arch_get_supported_msr_feature(KVMState *s, uint32_t index)
 static int kvm_get_mce_cap_supported(KVMState *s, uint64_t *mce_cap,
                                      int *max_banks)
 {
-    int r;
-
-    r = kvm_check_extension(s, KVM_CAP_MCE);
-    if (r > 0) {
-        *max_banks = r;
-        return kvm_ioctl(s, KVM_X86_GET_MCE_CAP_SUPPORTED, mce_cap);
-    }
-    return -ENOSYS;
+    *max_banks = kvm_check_extension(s, KVM_CAP_MCE);
+    return kvm_ioctl(s, KVM_X86_GET_MCE_CAP_SUPPORTED, mce_cap);
 }
 
 static void kvm_mce_inject(X86CPU *cpu, hwaddr paddr, int code)
@@ -2116,8 +2111,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
 
     if (((env->cpuid_version >> 8)&0xF) >= 6
         && (env->features[FEAT_1_EDX] & (CPUID_MCE | CPUID_MCA)) ==
-           (CPUID_MCE | CPUID_MCA)
-        && kvm_check_extension(cs->kvm_state, KVM_CAP_MCE) > 0) {
+           (CPUID_MCE | CPUID_MCA)) {
         uint64_t mcg_cap, unsupported_caps;
         int banks;
         int ret;
-- 
2.41.0



  parent reply	other threads:[~2023-10-25 23:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-25 23:26 [PULL 00/24] x86, KVM changes for 2023-10-26 Paolo Bonzini
2023-10-25 23:26 ` [PULL 01/24] tests/tcg: fix out-of-bounds access in test-avx Paolo Bonzini
2023-10-25 23:26 ` [PULL 02/24] target/i386: implement SHA instructions Paolo Bonzini
2023-10-25 23:26 ` [PULL 03/24] tests/tcg/i386: initialize more registers in test-avx Paolo Bonzini
2023-10-25 23:26 ` [PULL 04/24] tests/tcg/i386: test-avx: add test cases for SHA new instructions Paolo Bonzini
2023-10-25 23:26 ` [PULL 05/24] target/i386: group common checks in the decoding phase Paolo Bonzini
2023-10-25 23:26 ` [PULL 06/24] target/i386: validate VEX.W for AVX instructions Paolo Bonzini
2023-10-25 23:27 ` [PULL 07/24] target/i386: check CPUID_PAE to determine 36 bit processor address space Paolo Bonzini
2023-10-25 23:27 ` [PULL 08/24] kvm: remove unnecessary stub Paolo Bonzini
2023-10-25 23:27 ` [PULL 09/24] kvm: require KVM_CAP_INTERNAL_ERROR_DATA Paolo Bonzini
2023-10-25 23:27 ` [PULL 10/24] kvm: require KVM_CAP_SIGNAL_MSI Paolo Bonzini
2023-10-25 23:27 ` [PULL 11/24] kvm: require KVM_IRQFD for kernel irqchip Paolo Bonzini
2023-10-25 23:27 ` [PULL 12/24] " Paolo Bonzini
2023-10-25 23:27 ` [PULL 13/24] kvm: drop reference to KVM_CAP_PCI_2_3 Paolo Bonzini
2023-10-25 23:27 ` [PULL 14/24] kvm: assume that many ioeventfds can be created Paolo Bonzini
2023-10-25 23:27 ` [PULL 15/24] kvm: require KVM_CAP_IOEVENTFD and KVM_CAP_IOEVENTFD_ANY_LENGTH Paolo Bonzini
2023-10-25 23:27 ` [PULL 16/24] kvm: unify listeners for PIO address space Paolo Bonzini
2023-10-25 23:27 ` [PULL 17/24] kvm: i386: move KVM_CAP_IRQ_ROUTING detection to kvm_arch_required_capabilities Paolo Bonzini
2023-10-25 23:27 ` [PULL 18/24] kvm: i386: require KVM_CAP_DEBUGREGS Paolo Bonzini
2023-10-25 23:27 ` [PULL 19/24] kvm: i386: require KVM_CAP_XSAVE Paolo Bonzini
2023-10-25 23:27 ` [PULL 20/24] kvm: i386: require KVM_CAP_SET_VCPU_EVENTS and KVM_CAP_X86_ROBUST_SINGLESTEP Paolo Bonzini
2023-10-25 23:27 ` Paolo Bonzini [this message]
2023-10-25 23:27 ` [PULL 22/24] kvm: i386: require KVM_CAP_ADJUST_CLOCK Paolo Bonzini
2023-10-25 23:27 ` [PULL 23/24] kvm: i386: require KVM_CAP_SET_IDENTITY_MAP_ADDR Paolo Bonzini
2023-10-25 23:27 ` [PULL 24/24] kvm: i8254: require KVM_CAP_PIT2 and KVM_CAP_PIT_STATE2 Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231025232718.89428-22-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).