From nobody Wed Oct 1 23:33:49 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 388D24204E for ; Thu, 25 Sep 2025 20:30:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758832211; cv=none; b=Y1r+55kud8hEk2PjY+t+PDqgM1D4YgPPzGVaL24C5C3AFrKQc7EENsiqzxzXhB6+gbBKvuoR1oeUCbvj5DQFHmy1bEVTmaVJBSZyUGzBuE5l+1RGgx8h3iKeg64JD7Cj6o5xzlY9QFAy+FhJVpLtdfbk3r67srmvSp2Nm6WZQ5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758832211; c=relaxed/simple; bh=L35q1vuBSDOl7MaYa1hpVyLoad727cO65oWhEkClfdI=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=hrWBZbXMmAxA8kjZ3hWdjU9bMlQgTc6e6Erp+wuKBReId61/Dy2/pMkGo8BVI2k3m5fd0XbnltZ0vGDV9Gy3b70+VxoYmCVPAUcY/kwJaZNA/4yMHhfH1fU+cd3xmD4CZXOJCw7tyHsvpvE64ZOD803q4kVXsmyF/M3VqWtg7Jc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jmattson.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=caJlLDJk; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jmattson.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="caJlLDJk" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-32ee157b9c9so1312669a91.2 for ; Thu, 25 Sep 2025 13:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1758832209; x=1759437009; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=fUhQfuZQ49Qk6kF+H3E3oMnEtXpR0FIyehqJ5ObyXOo=; b=caJlLDJkqQY03IDpNtHokSJD4TSbs7zcBpZXiPbb+Fycv+T6Il7uL5CG5hckzbmtxD PqZMG+Z/VBKu9fS0oRGjgU1p5G3963eF7dF/8S6WvujgY5OMxsJMyOHGQ/2UXFbZWUFh J59BLUdw1F1o7w2lkvOCI9TpXkinNUI9tQyvtm/iKpLr1lYeTh7XANLXky/TUZJ35LB7 ee/iva4Mn+VAPkoe1gSWTlfGf5IfycNzOl1GAwvq/CTRXZjxh26IhHlQgAkxhe5AENyl JY4dZ+6wt8I3pRRq+USJXeLSx3k89U69vFBeHyAX43J+LN02GCagxbkREH6/R0uAwNhc 2BQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758832209; x=1759437009; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=fUhQfuZQ49Qk6kF+H3E3oMnEtXpR0FIyehqJ5ObyXOo=; b=rnjn1CE83iaKotQV4eLtXHqSaP6U8xH5xJFzHoNMzbLur24e5WGysxuVjRPBsYjJq2 vrrrsZlM9S1gqcVzAGBd+JmYISJnYsSm3EJ/8LHffkuWiUrTDJsiqbf1GPEm6d4ezjLS VkseOtHTWgAdzIYyUdWLHzGY6491rMXADX8Qm5DI7QF5nfQ70cff8ECCPnd/E4pzc7ZB YoAbQsqBk18LvxnISrV5Mpx73K9QJfa2hDaZ3sH9l3zhAvjXnXrpy/WbNwpxbXoqedtx DFAzgNG3biMM94Fi+7H94c8GRO7H6aZJooWHC1Jkk4oFmVnrX1g7i9L3v6p5gCGTitiM fgFw== X-Forwarded-Encrypted: i=1; AJvYcCVJ713IfMtEflYP3j7VpkxiDTdvgcElFIl6nB4Yi5UyIVhebvc+nAO101TPF1Q57cqoSntyiT4f4jngXR8=@vger.kernel.org X-Gm-Message-State: AOJu0YxeGUp+2VXR0TeINS5dz2TkeMKgnGPMIU9NjWgwn+jDqOAwlr+0 W4FljP+TjGqicVGKAyof33kf3ah/sDjI/NL/ed5C3EguKTsu4USMd0h6eP9ndvt3KtGFy13TMA2 skl8BHtaM+vWX2w== X-Google-Smtp-Source: AGHT+IEpADWjBInJevT1rnwxJnYk5LLarY2R9oiv6N/HEC1VxtOmQ+GZ+gaxN23ts7uJlWq6TnuMyA6b9Xczsw== X-Received: from pjot21.prod.google.com ([2002:a17:90a:9515:b0:32e:6111:40ac]) (user=jmattson job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90a:e710:b0:32e:ae12:9d32 with SMTP id 98e67ed59e1d1-3342a22beffmr4772179a91.11.1758832209587; Thu, 25 Sep 2025 13:30:09 -0700 (PDT) Date: Thu, 25 Sep 2025 13:29:18 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.51.0.570.gb178f27e6d-goog Message-ID: <20250925202937.2734175-1-jmattson@google.com> Subject: [PATCH] KVM: x86: Advertise EferLmsleUnsupported to userspace From: Jim Mattson To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Sean Christopherson , Paolo Bonzini , Pawan Gupta , Tom Lendacky , Manali Shukla , Yosry Ahmed , Sohil Mehta , "Xin Li (Intel)" , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Jim Mattson Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" CPUID.80000008H:EBX.EferLmsleUnsupported[bit 20] is a defeature bit. When this bit is clear, EFER.LMSLE is supported. When this bit is set, EFER.LMLSE is unsupported. KVM has never supported EFER.LMSLE, so it cannot support a 0-setting of this bit. Set the bit in KVM_GET_SUPPORTED_CPUID to advertise the unavailability of EFER.LMSLE to userspace. Signed-off-by: Jim Mattson --- arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/kvm/cpuid.c | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpuf= eatures.h index 751ca35386b0..f9b593721917 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -338,6 +338,7 @@ #define X86_FEATURE_AMD_STIBP (13*32+15) /* Single Thread Indirect Branch= Predictors */ #define X86_FEATURE_AMD_STIBP_ALWAYS_ON (13*32+17) /* Single Thread Indire= ct Branch Predictors always-on preferred */ #define X86_FEATURE_AMD_IBRS_SAME_MODE (13*32+19) /* Indirect Branch Restr= icted Speculation same mode protection*/ +#define X86_FEATURE_EFER_LMSLE_MBZ (13*32+20) /* EFER.LMSLE must be zero */ #define X86_FEATURE_AMD_PPIN (13*32+23) /* "amd_ppin" Protected Processor= Inventory Number */ #define X86_FEATURE_AMD_SSBD (13*32+24) /* Speculative Store Bypass Disab= le */ #define X86_FEATURE_VIRT_SSBD (13*32+25) /* "virt_ssbd" Virtualized Specu= lative Store Bypass Disable */ diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index e2836a255b16..e0426e057774 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -1096,6 +1096,7 @@ void kvm_set_cpu_caps(void) F(AMD_STIBP), F(AMD_STIBP_ALWAYS_ON), F(AMD_IBRS_SAME_MODE), + EMULATED_F(EFER_LMSLE_MBZ), F(AMD_PSFD), F(AMD_IBPB_RET), ); --=20 2.51.0.570.gb178f27e6d-goog