On 12/8/2022 2:25 PM, Xiaoyao Li wrote: > commit e37a5c7fa459 ("i386: Add Intel Processor Trace feature support") > added the support of Intel PT by making CPUID[14] of PT as fixed feature > set (from ICX) for any CPU model on any host. This truly breaks the PT > exposure on Intel SPR platform because SPR has less supported bitmap of > CPUID(0x14,1):EBX[15:0] than ICX. > > To fix the problem, enable pass through of host's PT capabilities for > the cases "-cpu host/max" that it won't use default fixed PT feature set > of ICX but expand automatically based on get_supported_cpuid reported by > host. Meanwhile, it needs to ensure named CPU model still has the fixed > PT feature set to not break the live migration case of > "-cpu named_cpu_model,+intel-pt" > > Introduces env->use_default_intel_pt flag. > - True means it's old CPU model that uses fixed PT feature set of ICX. > - False means the named CPU model has its own PT feature set. > > Besides, to keep the same behavior for old CPU models that validate PT > feature set against default fixed PT feature set of ICX in addition to > validate from host's capabilities (via get_supported_cpuid) in > x86_cpu_filter_features(). > > In the future, new named CPU model, e.g., Sapphire Rapids, can define > its own PT feature set by setting @has_specific_intel_pt_feature_set to It seems @has_specific_intel_pt_feature_set is not introduced in this series. Then don't need to mention the specific flag name here. > true and defines it's own FEAT_14_0_EBX, FEAT_14_0_ECX, FEAT_14_1_EAX > and FEAT_14_1_EBX. > > Signed-off-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx> > ---