nestedhvm: avoid endless loop of nested page faults
authorTim Deegan <tim@xen.org>
Fri, 19 Aug 2011 12:29:27 +0000 (13:29 +0100)
committerTim Deegan <tim@xen.org>
Fri, 19 Aug 2011 12:29:27 +0000 (13:29 +0100)
Stop sending IPIs to flush the nested-on-nested pagetable
after write operations. Instead flush the TLB only.
This fixes an endless loop of nested page faults after
adding an entry to the nested-on-nested pagetable.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Committed-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm/hap/nested_hap.c

index 3e8a39dc2b7326f2114fa3ecd0a83f6c40eae3b5..ebd42cef905a09ec8902c4fa02ae50c115792a8f 100644 (file)
@@ -86,8 +86,9 @@ nestedp2m_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
 
     old_flags = l1e_get_flags(*p);
     safe_write_pte(p, new);
+
     if (old_flags & _PAGE_PRESENT)
-        nestedhvm_vmcx_flushtlb(p2m);
+        flush_tlb_mask(&p2m->p2m_dirty_cpumask);
     
     paging_unlock(d);
 }