[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260208211342.GBaYj8hhtYM-lYfq-X@fat_crate.local>
Date: Sun, 8 Feb 2026 22:13:42 +0100
From: Borislav Petkov <bp@...en8.de>
To: Jim Mattson <jmattson@...gle.com>
Cc: Carlos López <clopez@...e.de>, seanjc@...gle.com,
kvm@...r.kernel.org, Paolo Bonzini <pbonzini@...hat.com>,
Thomas Gleixner <tglx@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
"open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <linux-kernel@...r.kernel.org>,
Babu Moger <bmoger@....com>
Subject: Re: [PATCH] KVM: x86: synthesize TSA CPUID bits via SCATTERED_F()
On Sun, Feb 08, 2026 at 12:50:18PM -0800, Jim Mattson wrote:
> > /*
> > * Synthesized Feature - For features that are synthesized into boot_cpu_data,
> > * i.e. may not be present in the raw CPUID, but can still be advertised to
> > * userspace. Primarily used for mitigation related feature flags.
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > */
> > #define SYNTHESIZED_F(name)
> >
> > > + SCATTERED_F(TSA_SQ_NO),
> > > + SCATTERED_F(TSA_L1_NO),
> >
> > And scattered are of the same type.
> >
> > Sean, what's the subtle difference here?
>
> SYNTHESIZED_F() sets the bit unconditionally. SCATTERED_F() propagates
> the bit (if set) from the host's cpufeature flags.
Yah, and I was hinting at the scarce documentation.
SYNTHESIZED_F() is "Primarily used for mitigation related feature flags."
SCATTERED_F() is "For features that are scattered by cpufeatures.h."
And frankly, I don't understand why there needs to be a difference whether the
feature is scattered or synthesized. If the flag is set on baremetal, then it
is and it being set, denotes what it means. And if it is not set, then it
means the absence of that feature.
It is that simple.
Then it becomes a decision of the hypervisor whether to expose it to the guest
or not.
Not whether it is synthesized or scattered.
But maybe I'm missing an aspect which is important for virt...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists