From: Binbin Wu <binbin.wu@linux.intel.com>
To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org
Cc: pbonzini@redhat.com, seanjc@google.com, dave.hansen@intel.com,
kas@kernel.org, rick.p.edgecombe@intel.com,
vishal.l.verma@intel.com, xiaoyao.li@intel.com,
chao.gao@intel.com, binbin.wu@linux.intel.com
Subject: [PATCH 0/2] Fix MSR_IA32_PLATFORM_ID access for TDX guests
Date: Tue, 28 Apr 2026 10:47:44 +0800 [thread overview]
Message-ID: <20260428024746.1040531-1-binbin.wu@linux.intel.com> (raw)
Since commit d8630b67ca1e ("x86/cpu: Add platform ID to CPU info
structure"), the Linux kernel reads MSR_IA32_PLATFORM_ID during CPU
init. This causes unchecked MSR access errors when running as a TDX
guest, because KVM doesn't include MSR_IA32_PLATFORM_ID in
tdx_has_emulated_msr().
On KVM side, this patch set adds MSR_IA32_PLATFORM_ID to
tdx_has_emulated_msr() so that KVM returns 0 for TDs reading this MSR,
consistent with how KVM already handles it for normal VMs.
Optionally, in order to provide back-compatibility for newer Linux guests
running on older KVM hosts without the fix, the second patch skips the
MSR_IA32_PLATFORM_ID read entirely when Linux is running in a
virtualized environment. This could be dropped if we think the fix on
KVM side is sufficient.
Binbin Wu (2):
KVM: TDX: Allow TDs to read MSR_IA32_PLATFORM_ID
x86/cpu: Skip reading MSR_IA32_PLATFORM_ID in virtualized environment
arch/x86/kernel/cpu/microcode/core.c | 2 +-
arch/x86/kernel/cpu/microcode/intel.c | 4 ++++
arch/x86/kernel/cpu/microcode/internal.h | 5 +++++
arch/x86/kvm/vmx/tdx.c | 1 +
4 files changed, 11 insertions(+), 1 deletion(-)
base-commit: 39704f00f747aba3144289870b5fd8ac230a9aaf
--
2.46.0
next reply other threads:[~2026-04-28 2:43 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 2:47 Binbin Wu [this message]
2026-04-28 2:47 ` [PATCH 1/2] KVM: TDX: Allow TDs to read MSR_IA32_PLATFORM_ID Binbin Wu
2026-04-28 5:31 ` Xiaoyao Li
2026-04-28 11:44 ` Chao Gao
2026-04-28 16:30 ` Sean Christopherson
2026-04-28 18:31 ` Edgecombe, Rick P
2026-04-28 18:44 ` Sean Christopherson
2026-04-28 19:28 ` Edgecombe, Rick P
2026-04-28 18:49 ` Dave Hansen
2026-04-29 9:09 ` Binbin Wu
2026-04-28 2:47 ` [PATCH 2/2] x86/cpu: Skip reading MSR_IA32_PLATFORM_ID in virtualized environment Binbin Wu
2026-04-28 6:01 ` Xiaoyao Li
2026-04-28 9:57 ` Binbin Wu
2026-04-28 18:54 ` Edgecombe, Rick P
2026-04-28 19:13 ` Dave Hansen
2026-04-29 23:14 ` Dave Hansen
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=20260428024746.1040531-1-binbin.wu@linux.intel.com \
--to=binbin.wu@linux.intel.com \
--cc=chao.gao@intel.com \
--cc=dave.hansen@intel.com \
--cc=kas@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rick.p.edgecombe@intel.com \
--cc=seanjc@google.com \
--cc=vishal.l.verma@intel.com \
--cc=x86@kernel.org \
--cc=xiaoyao.li@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.