On 19.03.2024 18:40, Andrew Cooper wrote: > It occurs to me that I need this hunk too. > > diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py > index 25d329ce486f..bf3f9ec01e6e 100755 > --- a/xen/tools/gen-cpuid.py > +++ b/xen/tools/gen-cpuid.py > @@ -329,6 +329,10 @@ def crunch_numbers(state): > # In principle the TSXLDTRK insns could also be considered > independent. > RTM: [TSXLDTRK], > > + # Enhanced Predictive Store-Forwarding is a informational note > on top > + # of PSF. > + PSFD: [EPSF], > + > # The ARCH_CAPS CPUID bit enumerates the availability of the > whole register. > ARCH_CAPS: list(range(RDCL_NO, RDCL_NO + 64)), > > > To cause EPSF to disappear properly when levelling.
What exactly is wrong with exposing EPSF when PSFD is not there? (The PPR I'm looking at has no mention of what exactly the bit means, and hence whether e.g. it indicates PSFD can be avoided in certain use cases.) When leveling across a pool, EPSF may need hiding, yes, but that would need to be a result of admin activity, not by introducing a fake dependency. Just consider a pool with PSFD supported everywhere, but not EPSF: The admin would then still need to take action to make sure EPSF is uniformly invisible to guests. Jan