> > New function __pt_cap_get() will be invoked in KVM to check if a > > specific capability is availiable in KVM guest. > > Another function pt_cap_get() can only check the hardware capabilities > > but this may different with KVM guest because some features may not be > > exposed to guest. > > Do we really need both in KVM? Yes, KVM need get host capability to estimate if can expose this feature to guest and get guest capability to confirm if some bits of MSRs are accessible. Thanks, Luwei Kang > > > diff --git a/arch/x86/include/asm/intel_pt.h > > b/arch/x86/include/asm/intel_pt.h index 2de4db0..3a4f524 100644 > > --- a/arch/x86/include/asm/intel_pt.h > > +++ b/arch/x86/include/asm/intel_pt.h > > @@ -27,9 +27,11 @@ enum pt_capabilities { #if > > defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL) void > > cpu_emergency_stop_pt(void); extern u32 pt_cap_get(enum > > pt_capabilities cap); > > +extern u32 __pt_cap_get(u32 *caps, enum pt_capabilities cap); > > I'd call it something like pt_cap_decode().