ia64/xen-unstable

changeset 6927:cedb89d6b707

Fix VMX domains not cleaning up properly, since some page refncts are
not zero. One reason for this is that in function shadow_set_l1e(),
before calling function shadow_update_min_max(), one should call
__shadow_get_sl2e() again, since the sl2 entry may be changed.

Signed-off-by: Xin Xiaohui <Xiaohui.xin@intel.com>
Signed-off-by: Li Chengyuan <Chengyuan.li@intel.com>
author kaf24@firebug.cl.cam.ac.uk
date Mon Sep 19 09:14:41 2005 +0000 (2005-09-19)
parents 6fb3b1d9e336
children 619e3d6f01b3 308260e5868c
files xen/arch/x86/shadow.c xen/include/asm-x86/shadow.h
line diff
     1.1 --- a/xen/arch/x86/shadow.c	Mon Sep 19 09:00:26 2005 +0000
     1.2 +++ b/xen/arch/x86/shadow.c	Mon Sep 19 09:14:41 2005 +0000
     1.3 @@ -697,6 +697,8 @@ shadow_set_l1e(unsigned long va, l1_pgen
     1.4          }
     1.5      }
     1.6  
     1.7 +    __shadow_get_l2e(v, va, &sl2e);
     1.8 +
     1.9      if ( shadow_mode_refcounts(d) )
    1.10      {
    1.11          l1_pgentry_t old_spte;
     2.1 --- a/xen/include/asm-x86/shadow.h	Mon Sep 19 09:00:26 2005 +0000
     2.2 +++ b/xen/include/asm-x86/shadow.h	Mon Sep 19 09:14:41 2005 +0000
     2.3 @@ -1595,6 +1595,8 @@ shadow_set_l1e(unsigned long va, l1_pgen
     2.4          }
     2.5      }
     2.6  
     2.7 +    __shadow_get_l2e(v, va, &sl2e);
     2.8 +
     2.9      if ( shadow_mode_refcounts(d) )
    2.10      {
    2.11          l1_pgentry_t old_spte = shadow_linear_pg_table[l1_linear_offset(va)];