> >>> + /* 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. Oh, I see. Will remove it. Thanks, Luwei Kang