From: Sean Christopherson <seanjc@google.com>
To: Borislav Petkov <bp@alien8.de>
Cc: "Carlos López" <clopez@suse.de>,
"Jim Mattson" <jmattson@google.com>,
kvm@vger.kernel.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Gleixner" <tglx@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<x86@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>,
"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<linux-kernel@vger.kernel.org>, "Babu Moger" <bmoger@amd.com>
Subject: Re: [PATCH] KVM: x86: synthesize TSA CPUID bits via SCATTERED_F()
Date: Mon, 9 Feb 2026 08:29:36 -0800 [thread overview]
Message-ID: <aYoLcPkjJChCQM7E@google.com> (raw)
In-Reply-To: <20260209153243.GBaYn-G02QE86Fje7g@fat_crate.local>
On Mon, Feb 09, 2026, Borislav Petkov wrote:
> On Mon, Feb 09, 2026 at 07:06:36AM -0800, Sean Christopherson wrote:
> > Maybe I could add a table showing how the XXX_F() macros map to various controls?
>
> Perhaps start first, please, with explaining the difference between
> SYNTHESIZED_F and SCATTERED_F and why you even need it?
SCATTERED_F requires the feature flag to be present in raw CPUID, SYNTHESIZED_F
does not.
> I mean, KVM and guests only care whether X86_FEATURE flags are set or not, no?
Nope. KVM cares about what KVM can virtualize/emulate, and about helping userspace
accurately represent the virtual CPU that will be enumerated to the guest.
F : Features that must be present in boot_cpu_data and raw CPUID
SCATTERED_F : Same as F(), but are scattered by the kernel
X86_64_F : Same as F(), but are restricted to 64-bit kernels
EMULATED_F : Always supported; the feature is unconditionally emulated in software
SYNTHESIZED_F : Features that must be present in boot_cpu_data, but may or
may not be in raw CPUID. May also be scattered.
PASSTHROUGH_F : Features that must be present in raw CPUID, but may or may
not be present in boot_cpu_data
ALIASED_1_EDX_F : Features in 0x8000_0001.EDX that are duplicates of identical 0x1.EDX features
VENDOR_F : Features that are controlled by vendor code, often because
they are guarded by a vendor specific module param. Rules
vary, but typically they are handled like basic F() features
RUNTIME_F : Features that KVM dynamically sets/clears at runtime, but that
are never adveristed to userspace. E.g. OSXSAVE and OSPKE.
> Not how they get defined underneath...
next prev parent reply other threads:[~2026-02-09 16:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-08 16:42 [PATCH] KVM: x86: synthesize TSA CPUID bits via SCATTERED_F() Carlos López
2026-02-08 18:28 ` Borislav Petkov
2026-02-08 20:50 ` Jim Mattson
2026-02-08 21:13 ` Borislav Petkov
2026-02-09 5:48 ` Jim Mattson
2026-02-09 11:40 ` Carlos López
2026-02-09 15:06 ` Sean Christopherson
2026-02-09 15:32 ` Borislav Petkov
2026-02-09 16:29 ` Sean Christopherson [this message]
2026-02-09 17:45 ` Borislav Petkov
2026-02-09 21:12 ` Sean Christopherson
2026-02-10 20:07 ` Borislav Petkov
2026-02-10 23:48 ` Sean Christopherson
2026-02-11 13:32 ` Borislav Petkov
2026-02-11 15:54 ` Sean Christopherson
2026-02-11 16:17 ` Borislav Petkov
2026-02-11 16:28 ` Sean Christopherson
2026-02-09 10:02 ` Binbin Wu
2026-02-09 11:43 ` Carlos López
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=aYoLcPkjJChCQM7E@google.com \
--to=seanjc@google.com \
--cc=bmoger@amd.com \
--cc=bp@alien8.de \
--cc=clopez@suse.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jmattson@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=tglx@kernel.org \
--cc=x86@kernel.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