Messages in this thread | | | Date | Fri, 7 Jan 2022 19:18:07 +0100 | Subject | Re: [PATCH] KVM: x86/pt: Do not advertise Intel PT Event Trace capability | From | Paolo Bonzini <> |
| |
On 1/6/22 09:55, Like Xu wrote: > From: Like Xu <likexu@tencent.com> > > The Inte PT Event Trace capability (Intel SDM Vol3, 32.2.4 Event Tracing) > is a new CPU feature that "exposes details about the asynchronous events, > when they are generated, and when their corresponding software event > handler completes execution". > > It is not possible for KVM to emulate all events including interrupts, > VM exits, VM entries, INIT, SIPI events and etc. for guests and to > emulate the simultaneous writing of Control Flow Events and Event Data > packets generated by the KVM to the guest PT buffer. > > For KVM, it is best not to advertise the Event Trace feature and just > let it be a system-wide-only tracing capability. > > Signed-off-by: Like Xu <likexu@tencent.com> > --- > Off topic, other new PT features such as "PSB and PMI Preservation Supported" > and "TNT disable" are under investigation or awaiting host support to move on.
Yeah, I think it's better to be safe and ignore _all_ unknown capabilities.
Paolo
> arch/x86/kvm/cpuid.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 0b920e12bb6d..1028c57377e9 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -901,6 +901,8 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) > break; > } > > + /* Not advertise Event Trace capability due to endless emulation */ > + entry->ebx &= ~BIT(7); > for (i = 1, max_idx = entry->eax; i <= max_idx; ++i) { > if (!do_host_cpuid(array, function, i)) > goto out;
| |