Hi Julien,
On 07/04/2016 06:20 PM, Julien Grall wrote: > On 04/07/16 12:45, Sergej Proskurin wrote: >> +void p2m_flush_altp2m(struct domain *d) >> +{ >> + unsigned int i; >> + >> + altp2m_lock(d); >> + >> + for ( i = 0; i < MAX_ALTP2M; i++ ) >> + { >> + p2m_flush_table(d->arch.altp2m_p2m[i]); >> + flush_tlb(); > > I forgot to comment on this line. > > Can you explain this call? flush_tlb is flushing TLBs for the current > VMID only. However, d may not be equal to current when calling from > HVM op. > Since we are flushing one of the altp2m views, I wanted to explicitly get rid of potentially stalled entries in the TLBs. Until now, VMIDs were associated with a specific domain --as opposed to a specific view. That is, after flushing one of the altp2m views, the TLBs might be holding invalid entries. Since we agreed to use unique VMIDs per altp2m view, this flush can be left out. Thank you. >> + d->arch.altp2m_vttbr[i] = INVALID_MFN; >> + } > > Regards, > Thank you. Cheers, Sergej _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel