ia64/xen-unstable

changeset 11546:596b0e4fbef4

Simplify + fix previous cset (remove_all_shadows() is indeed required :-)

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              {