ia64/xen-unstable

changeset 2605:379689bed73a

bitkeeper revision 1.1159.1.209 (4163ed11XmoH7YafgdjHd_l9zZsOOg)

Update pteidx of disconnected va space even in shadow mode.
author cl349@freefall.cl.cam.ac.uk
date Wed Oct 06 13:03:13 2004 +0000 (2004-10-06)
parents ff4e7a241335
children f57622168029
files xen/arch/x86/memory.c
line diff
     1.1 --- a/xen/arch/x86/memory.c	Tue Oct 05 21:58:07 2004 +0000
     1.2 +++ b/xen/arch/x86/memory.c	Wed Oct 06 13:03:13 2004 +0000
     1.3 @@ -1776,12 +1776,15 @@ int ptwr_do_page_fault(unsigned long add
     1.4                  ptwr_flush(which);
     1.5              ptwr_info[cpu].ptinfo[which].l1va = addr | 1;
     1.6  
     1.7 -            if (which == PTWR_PT_ACTIVE && likely(!current->mm.shadow_mode)) {
     1.8 +            if (which == PTWR_PT_ACTIVE) {
     1.9                  ptwr_info[cpu].active_pteidx = va_mask;
    1.10 -		/* disconnect l1 page (unnecessary in shadow mode) */
    1.11 -		nl2e = mk_l2_pgentry((l2_pgentry_val(*pl2e) & ~_PAGE_PRESENT));
    1.12 -		update_l2e(pl2e, *pl2e, nl2e);
    1.13 -		flush_tlb();
    1.14 +		if ( likely(!current->mm.shadow_mode) ) {
    1.15 +		    /* disconnect l1 page (unnecessary in shadow mode) */
    1.16 +		    nl2e = mk_l2_pgentry((l2_pgentry_val(*pl2e) &
    1.17 +					  ~_PAGE_PRESENT));
    1.18 +		    update_l2e(pl2e, *pl2e, nl2e);
    1.19 +		    flush_tlb();
    1.20 +		}
    1.21  	    }
    1.22  
    1.23              ptwr_info[cpu].ptinfo[which].pl1e =