On 29/07/20 18:08, Babu Moger wrote: >>> >>> if (g->int_ctl & V_INTR_MASKING_MASK) { >>> /* We only want the cr8 intercept bits of L1 */ >>> - c->intercept_cr &= ~(1U << INTERCEPT_CR8_READ); >>> - c->intercept_cr &= ~(1U << INTERCEPT_CR8_WRITE); >>> + __clr_intercept(&c->intercepts, INTERCEPT_CR8_READ); >>> + __clr_intercept(&c->intercepts, INTERCEPT_CR8_WRITE); >> Why the direct calls to the __clr_intercept worker function? Can't these be calls >> to clr_cr_intercept()? >> Likewise throughout. > This code uses the address to clear the bits. So called __clr_intercept > directly. The call clr_cr_intercept() passes the structure vcpu_svm and > then uses get_host_vmcb to get the address. Yes, this is correct. Paolo