ia64/xen-unstable

changeset 17154:15c3c136206d

x86 shadow: Audit tables and guest walk when we know they are consistent.
From: Gianluca Guida <gianluca.guida@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Feb 28 13:40:30 2008 +0000 (2008-02-28)
parents 0e22182446fa
children 5f7bfdeb8748
files xen/arch/x86/mm/shadow/multi.c
line diff
     1.1 --- a/xen/arch/x86/mm/shadow/multi.c	Thu Feb 28 13:21:49 2008 +0000
     1.2 +++ b/xen/arch/x86/mm/shadow/multi.c	Thu Feb 28 13:40:30 2008 +0000
     1.3 @@ -2952,8 +2952,6 @@ static int sh_page_fault(struct vcpu *v,
     1.4  #endif /* (SHADOW_OPTIMIZATIONS & SHOPT_VIRTUAL_TLB) */
     1.5  
     1.6      shadow_lock(d);
     1.7 -    shadow_audit_tables(v);
     1.8 -    sh_audit_gw(v, &gw);
     1.9  
    1.10      if ( gw_remove_write_accesses(v, va, &gw) )
    1.11      {
    1.12 @@ -2972,6 +2970,9 @@ static int sh_page_fault(struct vcpu *v,
    1.13          return EXCRET_fault_fixed;
    1.14      }
    1.15  
    1.16 +    shadow_audit_tables(v);
    1.17 +    sh_audit_gw(v, &gw);
    1.18 +
    1.19      /* Make sure there is enough free shadow memory to build a chain of
    1.20       * shadow tables. (We never allocate a top-level shadow on this path,
    1.21       * only a 32b l1, pae l1, or 64b l3+2+1. Note that while