Initial Intel PT support was added by making it as fixed feature set as
ICX's capabilities, which allowed different CPU model with PT enabled
live migration on ICX host. However, it breaks the PT exposure/working
on SPR machine. Because SPR has less PT capabilities regrading
CPUID(0x14,1):EBX[15:0].
This series aims to make Intel PT configurable that named CPU model can
define its own PT feature set and "-cpu host/max" can use the host pass
through feature set of PT.
At the same time, it also ensure existing named CPU model to generate
the same PT CPUID set as before to not break live migration.
Xiaoyao Li (5):
target/i386: Print CPUID subleaf info for unsupported feature
target/i386: Introduce FeatureWordInfo for Intel PT CPUID leaf 0xD
target/i386: Enable host pass through of Intel PT
target/i386: Define specific PT feature set for IceLake-server and
Snowridge
target/i386: Access MSR_IA32_RTIT_ADDRn based on guest CPUID
configuration
target/i386/cpu.c | 215 ++++++++++++++++++++++++++++--------------
target/i386/cpu.h | 40 +++++++-
target/i386/kvm/kvm.c | 8 +-
3 files changed, 186 insertions(+), 77 deletions(-)