direct-io.hg
changeset 6754:f804b28871ba
merge?
author | cl349@firebug.cl.cam.ac.uk |
---|---|
date | Tue Sep 13 09:11:58 2005 +0000 (2005-09-13) |
parents | f1bb1316b26f 36e74b5dfa95 |
children | 0fad07d67e75 |
files | tools/xenstore/Makefile tools/xenstore/fake_libxc.c tools/xenstore/testsuite/07watch.test tools/xenstore/testsuite/14complexperms.test tools/xenstore/xenstored_core.c tools/xenstore/xenstored_domain.c tools/xenstore/xenstored_domain.h tools/xenstore/xenstored_watch.c tools/xenstore/xs_test.c xen/arch/x86/shadow32.c xen/arch/x86/shadow_public.c |
line diff
10.1 --- a/xen/arch/x86/shadow32.c Tue Sep 13 09:09:13 2005 +0000 10.2 +++ b/xen/arch/x86/shadow32.c Tue Sep 13 09:11:58 2005 +0000 10.3 @@ -2214,7 +2214,7 @@ static u32 remove_all_access_in_page( 10.4 struct domain *d, unsigned long l1mfn, unsigned long forbidden_gmfn) 10.5 { 10.6 l1_pgentry_t *pl1e = map_domain_page(l1mfn); 10.7 - l1_pgentry_t match; 10.8 + l1_pgentry_t match, ol2e; 10.9 unsigned long flags = _PAGE_PRESENT; 10.10 int i; 10.11 u32 count = 0; 10.12 @@ -2226,17 +2226,17 @@ static u32 remove_all_access_in_page( 10.13 10.14 for (i = 0; i < L1_PAGETABLE_ENTRIES; i++) 10.15 { 10.16 - if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) ) 10.17 - { 10.18 - l1_pgentry_t ol2e = pl1e[i]; 10.19 - pl1e[i] = l1e_empty(); 10.20 - count++; 10.21 - 10.22 - if ( is_l1_shadow ) 10.23 - shadow_put_page_from_l1e(ol2e, d); 10.24 - else /* must be an hl2 page */ 10.25 - put_page(&frame_table[forbidden_gmfn]); 10.26 - } 10.27 + if ( l1e_has_changed(pl1e[i], match, flags) ) 10.28 + continue; 10.29 + 10.30 + ol2e = pl1e[i]; 10.31 + pl1e[i] = l1e_empty(); 10.32 + count++; 10.33 + 10.34 + if ( is_l1_shadow ) 10.35 + shadow_put_page_from_l1e(ol2e, d); 10.36 + else /* must be an hl2 page */ 10.37 + put_page(&frame_table[forbidden_gmfn]); 10.38 } 10.39 10.40 unmap_domain_page(pl1e);
11.1 --- a/xen/arch/x86/shadow_public.c Tue Sep 13 09:09:13 2005 +0000 11.2 +++ b/xen/arch/x86/shadow_public.c Tue Sep 13 09:11:58 2005 +0000 11.3 @@ -1622,7 +1622,7 @@ static u32 remove_all_access_in_page( 11.4 struct domain *d, unsigned long l1mfn, unsigned long forbidden_gmfn) 11.5 { 11.6 l1_pgentry_t *pl1e = map_domain_page(l1mfn); 11.7 - l1_pgentry_t match; 11.8 + l1_pgentry_t match, ol2e; 11.9 unsigned long flags = _PAGE_PRESENT; 11.10 int i; 11.11 u32 count = 0; 11.12 @@ -1634,17 +1634,17 @@ static u32 remove_all_access_in_page( 11.13 11.14 for (i = 0; i < L1_PAGETABLE_ENTRIES; i++) 11.15 { 11.16 - if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) ) 11.17 - { 11.18 - l1_pgentry_t ol2e = pl1e[i]; 11.19 - pl1e[i] = l1e_empty(); 11.20 - count++; 11.21 + if ( l1e_has_changed(pl1e[i], match, flags) ) 11.22 + continue; 11.23 11.24 - if ( is_l1_shadow ) 11.25 - shadow_put_page_from_l1e(ol2e, d); 11.26 - else /* must be an hl2 page */ 11.27 - put_page(&frame_table[forbidden_gmfn]); 11.28 - } 11.29 + ol2e = pl1e[i]; 11.30 + pl1e[i] = l1e_empty(); 11.31 + count++; 11.32 + 11.33 + if ( is_l1_shadow ) 11.34 + shadow_put_page_from_l1e(ol2e, d); 11.35 + else /* must be an hl2 page */ 11.36 + put_page(&frame_table[forbidden_gmfn]); 11.37 } 11.38 11.39 unmap_domain_page(pl1e);