All of lore.kernel.org
 help / color / mirror / Atom feed
From: Binbin Wu <binbin.wu@linux.intel.com>
To: Xiaoyao Li <xiaoyao.li@intel.com>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	seanjc@google.com, pbonzini@redhat.com,
	dave.hansen@linux.intel.com, andrew.cooper3@citrix.com,
	nik.borisov@suse.com, kas@kernel.org, rick.p.edgecombe@intel.com,
	chao.gao@intel.com, tony.lindgren@linux.intel.com,
	kishen.maloor@intel.com, dedekind1@gmail.com
Subject: Re: [PATCH v4 1/4] KVM: TDX: Track configurable CPUID bits allowed by KVM
Date: Mon, 28 Sep 2026 16:08:11 +0800	[thread overview]
Message-ID: <c612e6cd-ca84-4c37-af72-9c13eeb1f3ce@linux.intel.com> (raw)
In-Reply-To: <de109514-91b8-49a6-bbbe-c1f7f1ee407f@intel.com>

On 9/24/2026 10:33 PM, Xiaoyao Li wrote:
> On 9/24/2026 7:41 PM, Binbin Wu wrote:
[...]
>>> For X86_FEATURE_PBE (CPUID.0x1:EDX[31]), it's related to bit 10 of MSR
>>> IA32_MISC_ENABLE. The CPUID is 1 on SPR and EMR. But bit 10 of MSR
>>> IA32_MISC_ENABLE is always 0 and setting bit 10 to 1 fails. It seems though
>>> CPUID.0x1:EDX[31] is set to 1, but it's not related to bit 10 of MSR
>>> IA32_MISC_ENABLE?
>> In the ISE (319433-062, table 1-6), it says:
>>   PBE:
>>   Pending Break Enable. The processor supports the use of the FERR#/PBE# pin
>>   when the processor is in the stop-clock state (STPCLK# is asserted) to signal
>>   the processor that an interrupt is pending and that the processor should
>>   return to normal operation to handle the interrupt. Bit 10 (PBE enable) in the
>>   IA32_MISC_ENABLE MSR enables this capability.
>>
>> TDX module doesn't allow IA32_MISC_ENABLE[10] to be 1 is since it's reserved
>> TDCS.TD_CTLS.REDUCE_VE is set, so my understanding was the CPUID bit should be 0. 
>>
>> It seems bit 10 is phased out in IA32_MISC_ENABLE on modern processors like SPR
>> and EMR, since the bit 10 is reserved in "IA-32 Architectural MSRs" table. But
>> somehow, CPUID still reports PBE as supported.
> 
> yeah. arch/x86/include/asm/msr-index.h divides the bits of MSR IA32_MISC_ENABLE
> into two groups: architectural and model-specific. Bit 10 falls into model-specific.
> 
> Maybe we can ask internally why CPUID still reports 1.
> 
>> I don't know why the CPUID is disconnected with the MSR.
>> But this bit is present on the host, I think we can add it to the allowlist.
> 
> I have opposite opinion. Since 1) this feature is related to hardware processor
> PIN, 2) KVM never advertise it to normal VMs, and 3) no usage in kernel for this
> feature. I think no TD relies on it and don't allow it should be OK.

My consideration was maybe some userspace could set this bit.

But userspace is expected to consult KVM_TDX_CAPABILITIES for the configurable
bits before invoking KVM_TDX_INIT_VM, regardless of this patch series, there is
no risk to break userspace, except for CORE_CAPABILITIES, which is the only special
case as it was defined as fixed-1.

I think there is no need to add XTPR to the allow list either.

  reply	other threads:[~2026-09-28  8:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17  7:25 [PATCH v4 0/4] KVM: TDX: Validate directly configurable CPUID bits Binbin Wu
2026-09-17  7:25 ` [PATCH v4 1/4] KVM: TDX: Track configurable CPUID bits allowed by KVM Binbin Wu
2026-09-23  0:01   ` Edgecombe, Rick P
2026-09-23  0:14     ` Binbin Wu
2026-09-23  0:45       ` Edgecombe, Rick P
2026-09-23  0:57         ` Binbin Wu
2026-09-23  1:09           ` Edgecombe, Rick P
2026-09-23  1:17             ` Binbin Wu
2026-09-23 11:21               ` Xiaoyao Li
2026-09-23 14:25                 ` Edgecombe, Rick P
2026-09-24  2:05                   ` Xiaoyao Li
2026-09-24  6:36   ` Xiaoyao Li
2026-09-24  7:49     ` Binbin Wu
2026-09-24  9:30       ` Xiaoyao Li
2026-09-24 11:41         ` Binbin Wu
2026-09-24 13:55           ` Xiaoyao Li
2026-09-24 15:10             ` Binbin Wu
2026-09-24 14:33           ` Xiaoyao Li
2026-09-28  8:08             ` Binbin Wu [this message]
2026-09-28 23:58               ` Edgecombe, Rick P
2026-09-29  0:19                 ` Binbin Wu
2026-09-17  7:25 ` [PATCH v4 2/4] KVM: TDX: Report CORE_CAPABILITIES as configurable Binbin Wu
2026-09-22 21:11   ` Edgecombe, Rick P
2026-09-23  0:03     ` Binbin Wu
2026-09-24  6:44   ` Xiaoyao Li
2026-09-17  7:25 ` [PATCH v4 3/4] KVM: TDX: Filter configurable CPUID bits Binbin Wu
2026-09-23  0:16   ` Edgecombe, Rick P
2026-09-23  0:28     ` Binbin Wu
2026-09-23  0:34       ` Edgecombe, Rick P
2026-09-17  7:25 ` [PATCH v4 4/4] KVM: TDX: Validate userspace CPUID input for KVM_TDX_INIT_VM Binbin Wu
2026-09-23  0:16   ` Edgecombe, Rick P

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=c612e6cd-ca84-4c37-af72-9c13eeb1f3ce@linux.intel.com \
    --to=binbin.wu@linux.intel.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chao.gao@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dedekind1@gmail.com \
    --cc=kas@kernel.org \
    --cc=kishen.maloor@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nik.borisov@suse.com \
    --cc=pbonzini@redhat.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=seanjc@google.com \
    --cc=tony.lindgren@linux.intel.com \
    --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.