ia64/xen-unstable
changeset 11546:596b0e4fbef4
Simplify + fix previous cset (remove_all_shadows() is indeed required :-)
Signed-off-by: Steven Hand <steven@xensource.com>
Signed-off-by: Steven Hand <steven@xensource.com>
author | Steven Hand <steven@xensource.com> |
---|---|
date | Wed Sep 20 16:52:15 2006 +0100 (2006-09-20) |
parents | a151311fa9c7 |
children | 3e39cc16dd41 70fe022d3589 |
files | xen/arch/x86/mm.c |
line diff
1.1 --- a/xen/arch/x86/mm.c Wed Sep 20 16:22:06 2006 +0100 1.2 +++ b/xen/arch/x86/mm.c Wed Sep 20 16:52:15 2006 +0100 1.3 @@ -1622,8 +1622,7 @@ void put_page_type(struct page_info *pag 1.4 if (shadow_lock_is_acquired(owner)) /* this is a shadow page */ 1.5 return; 1.6 1.7 - if (!shadow_mode_translate(owner)) 1.8 - mark_dirty(owner, page_to_mfn(page)); 1.9 + mark_dirty(owner, page_to_mfn(page)); 1.10 } 1.11 } 1.12 } 1.13 @@ -1985,8 +1984,7 @@ int do_mmuext_op( 1.14 break; 1.15 } 1.16 1.17 - if ( shadow_mode_enabled(d) ) 1.18 - mark_dirty(d, mfn); 1.19 + mark_dirty(d, mfn); 1.20 1.21 break; 1.22 1.23 @@ -2005,7 +2003,12 @@ int do_mmuext_op( 1.24 put_page_and_type(page); 1.25 put_page(page); 1.26 if ( shadow_mode_enabled(d) ) 1.27 + { 1.28 + shadow_lock(d); 1.29 + shadow_remove_all_shadows(v, _mfn(mfn)); 1.30 + shadow_unlock(d); 1.31 mark_dirty(d, mfn); 1.32 + } 1.33 } 1.34 else 1.35 {