[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86 shadow: Fix OOS typecounting.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1218727566 -3600 # Node ID d09404ad5730053e2bbb9b26754a530a30849c47 # Parent d3947223dfaeaf935ef36e7a43d4ef240ddf5c12 x86 shadow: Fix OOS typecounting. From: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx> Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx> --- xen/arch/x86/mm/shadow/multi.c | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff -r d3947223dfae -r d09404ad5730 xen/arch/x86/mm/shadow/multi.c --- a/xen/arch/x86/mm/shadow/multi.c Thu Aug 14 13:46:48 2008 +0100 +++ b/xen/arch/x86/mm/shadow/multi.c Thu Aug 14 16:26:06 2008 +0100 @@ -1415,6 +1415,13 @@ static int shadow_set_l1e(struct vcpu *v mfn_t new_gmfn = shadow_l1e_get_mfn(new_sl1e); #endif ASSERT(sl1e != NULL); + +#if SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC + if ( mfn_valid(new_gmfn) && mfn_oos_may_write(new_gmfn) + && ((shadow_l1e_get_flags(new_sl1e) & (_PAGE_RW|_PAGE_PRESENT)) + == (_PAGE_RW|_PAGE_PRESENT)) ) + oos_fixup_add(v, new_gmfn, sl1mfn, pgentry_ptr_to_slot(sl1e)); +#endif old_sl1e = *sl1e; @@ -1434,14 +1441,6 @@ static int shadow_set_l1e(struct vcpu *v else { shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d); -#if SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC - if ( mfn_valid(new_gmfn) && mfn_oos_may_write(new_gmfn) - && (shadow_l1e_get_flags(new_sl1e) & _PAGE_RW) ) - { - oos_fixup_add(v, new_gmfn, sl1mfn, pgentry_ptr_to_slot(sl1e)); - } -#endif - } } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |