On 08/06/2018 16:56, Kang, Luwei wrote: >>> + /* Initialize and clear the no dependency bits */ >>> + vmx->pt_desc.ctl_bitmask = ~0ULL; >> This looks redundant, doesn't it? > This is a bit mask for RTIT_CTL MSR and it will make & with the value of RTIT_CLT from guest. > The reserved bits will be 1 in this bit mask and the setable bits are 0. > >>> + vmx->pt_desc.ctl_bitmask = ~(RTIT_CTL_TRACEEN | RTIT_CTL_OS | >>> + RTIT_CTL_USR | RTIT_CTL_TSC_EN | >> RTIT_CTL_DISRETC); But it's set twice, so the first assignment is superfluous. Paolo