x86, hvm: Flush local TLB after any change to linear pagetable mapping.
authorKeir Fraser <keir@xensource.com>
Tue, 30 Oct 2007 16:15:17 +0000 (16:15 +0000)
committerKeir Fraser <keir@xensource.com>
Tue, 30 Oct 2007 16:15:17 +0000 (16:15 +0000)
commit535216fc6e4637d410a1b964fec970a1286b32a4
treea8a6b8dd698b5a9bb35b4dc99499ec952e884aed
parentedba492627726fbeaba2dee066156adcf02467d8
x86, hvm: Flush local TLB after any change to linear pagetable mapping.

This was not needed when vmenter/vmexit always had the side effect of
flushing host TLBs.

But, with SVM ASIDs, it is possible to:
 (1) Update CR3 update,
 (2) vmenter the guest, and
 (3) and vmexit due to a page fault
all without an intervening host TLB flush.

Then the page fault code could use the linear pagetable
to read a top-level shadow page table entry.

But, without this change, it would fetch the wrong value
due to a stale TLB.

Signed-off-by: Robert Phillips <rphillips@virtualiron.com>
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
xen/arch/x86/mm/shadow/multi.c