From: kaf24@firebug.cl.cam.ac.uk Date: Sun, 18 Jun 2006 18:49:31 +0000 (+0100) Subject: [XEN] Remove code from writable-pagetable emulation path which X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15921^2~37 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f01a089de1b455adf7cd7ab6f46da5bf4624d29f;p=xen.git [XEN] Remove code from writable-pagetable emulation path which does not appear to be necessary. Replace with assertions for now, pending total removal or me being proved wrong. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 7e800c8ea0..17f12ec3fb 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -3366,6 +3366,7 @@ static int ptwr_emulated_update( old |= full; } +#if 0 /* XXX KAF: I don't think this can happen. */ /* * We must not emulate an update to a PTE that is temporarily marked * writable by the batched ptwr logic, else we can corrupt page refcnts! @@ -3376,6 +3377,12 @@ static int ptwr_emulated_update( if ( ((l1va = d->arch.ptwr[PTWR_PT_INACTIVE].l1va) != 0) && (l1_linear_offset(l1va) == l1_linear_offset(addr)) ) ptwr_flush(d, PTWR_PT_INACTIVE); +#else + ASSERT(((l1va = d->arch.ptwr[PTWR_PT_ACTIVE].l1va) == 0) || + (l1_linear_offset(l1va) != l1_linear_offset(addr))); + ASSERT(((l1va = d->arch.ptwr[PTWR_PT_INACTIVE].l1va) == 0) || + (l1_linear_offset(l1va) != l1_linear_offset(addr))); +#endif /* Read the PTE that maps the page being updated. */ if ( __copy_from_user(&pte, &linear_pg_table[l1_linear_offset(addr)],