[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/4] x86/vmx: Properly flush the TLB when an altp2m is modified
>>> On 19.02.19 at 23:18, <andrew.cooper3@xxxxxxxxxx> wrote: > @@ -4319,17 +4320,42 @@ bool vmx_vmenter_helper(const struct cpu_user_regs > *regs) > > if ( paging_mode_hap(curr->domain) ) > { > - struct ept_data *ept = &p2m_get_hostp2m(curr->domain)->ept; > + struct ept_data *ept = &p2m_get_hostp2m(currd)->ept; > unsigned int cpu = smp_processor_id(); > + unsigned int inv = 0; /* None => Single => All */ > + struct ept_data *single = NULL; /* Single eptp, iff inv == 1 */ > > if ( cpumask_test_cpu(cpu, ept->invalidate) ) > { > cpumask_clear_cpu(cpu, ept->invalidate); > - if ( nestedhvm_enabled(curr->domain) ) > - __invept(INVEPT_ALL_CONTEXT, 0); > - else > - __invept(INVEPT_SINGLE_CONTEXT, ept->eptp); > + > + /* Automatically invalidate all contexts if nested. */ > + inv += 1 + nestedhvm_enabled(currd); > + single = ept; > + } > + > + if ( altp2m_active(curr->domain) ) Please use currd here as well. Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |