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);