lkml.org 
[lkml]   [2017]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [patch v2 3/8] KVM: x86: add Intel processor trace virtualization mode
Date
> > +	if (!(_cpu_based_2nd_exec_control & SECONDARY_EXEC_PT_USE_GPA) ||
> > + !(_vmexit_control & VM_EXIT_CLEAR_IA32_RTIT_CTL) ||
> > + !(_vmentry_control & VM_ENTRY_LOAD_IA32_RTIT_CTL)) {
> > + _cpu_based_2nd_exec_control &= ~SECONDARY_EXEC_PT_USE_GPA;
>
> Also, you are not checking anywhere if the SUPPRESS_PIP controls are available. This is probably the best place.

SUPPRESS_PIP(should be "CONCEAL", will fix it.) is use for control of processor trace packet.
I think we should clear it when in SYSTEM mode (For example, PIPs are generated on VM exit, with NonRoot=0. On VM exit to SMM, VMCS packets are additionally generated). Why need check this here?

>
> > + _vmexit_control &= ~VM_EXIT_CLEAR_IA32_RTIT_CTL;
> > + _vmentry_control &= ~VM_ENTRY_LOAD_IA32_RTIT_CTL;
>
> These two are not needed; disabling SECONDARY_EXEC_PT_USE_GPA is enough.
> The tracing mode will revert to PT_SYSTEM, which does not use the load/clear RTIT_CTL controls.
>

The status of *_RTIT_CTL should be same with SECONDARY_EXEC_PT_USE_GPA or would cause VM-entry failed. (architecture-instruction-set-extensions-programming-reference 5.2.3)
\
 
 \ /
  Last update: 2017-11-14 08:32    [W:0.086 / U:0.856 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site