aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/shadow.h
diff options
context:
space:
mode:
authorssmith@localhost.localdomain <ssmith@localhost.localdomain>2006-12-11 11:16:29 -0800
committerssmith@localhost.localdomain <ssmith@localhost.localdomain>2006-12-11 11:16:29 -0800
commit7a3d8f6e4dd56771a7514624bbace26883a36da7 (patch)
tree9d792ae7a6e4a47dc0ab56f13e7d1021360cdba1 /xen/include/asm-x86/shadow.h
parent8537fbaeade8b85d8751b2702b0b3e76dabaeff6 (diff)
downloadxen-7a3d8f6e4dd56771a7514624bbace26883a36da7.tar.gz
xen-7a3d8f6e4dd56771a7514624bbace26883a36da7.tar.bz2
xen-7a3d8f6e4dd56771a7514624bbace26883a36da7.zip
[XEN] The shadow FAST_FAULT_PATH optimisation assumes that pages never
transition between mmio and RAM-backed. This isn't true after a an add_to_physmap memory op. Fix this by just blowing the shadow tables after every such operation; they're rare enough that the performance hit is not a concern. Signed-off-by: Steven Smith <sos22@cam.ac.uk> Acked-by: Tim Deegan <Tim.Deegan@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/shadow.h')
-rw-r--r--xen/include/asm-x86/shadow.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/include/asm-x86/shadow.h b/xen/include/asm-x86/shadow.h
index 78998edea9..f923f662de 100644
--- a/xen/include/asm-x86/shadow.h
+++ b/xen/include/asm-x86/shadow.h
@@ -540,6 +540,9 @@ extern int shadow_remove_write_access(struct vcpu *v, mfn_t readonly_mfn,
* Returns non-zero if we need to flush TLBs. */
extern int shadow_remove_all_mappings(struct vcpu *v, mfn_t target_mfn);
+/* Remove all mappings from the shadows. */
+extern void shadow_blow_tables(struct domain *d);
+
void
shadow_remove_all_shadows_and_parents(struct vcpu *v, mfn_t gmfn);
/* This is a HVM page that we thing is no longer a pagetable.