# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID f804b28871baa0cd6b58a3c446a0a1b399eba4c3
# Parent f1bb1316b26ffc7ad01391719b72fce9d496b38e
# Parent 36e74b5dfa95e5a5e990df277dfba1b7b2774ff7
merge?
diff -r f1bb1316b26f -r f804b28871ba xen/arch/x86/shadow32.c
--- a/xen/arch/x86/shadow32.c Tue Sep 13 09:09:13 2005
+++ b/xen/arch/x86/shadow32.c Tue Sep 13 09:11:58 2005
@@ -2214,7 +2214,7 @@
struct domain *d, unsigned long l1mfn, unsigned long forbidden_gmfn)
{
l1_pgentry_t *pl1e = map_domain_page(l1mfn);
- l1_pgentry_t match;
+ l1_pgentry_t match, ol2e;
unsigned long flags = _PAGE_PRESENT;
int i;
u32 count = 0;
@@ -2226,17 +2226,17 @@
for (i = 0; i < L1_PAGETABLE_ENTRIES; i++)
{
- if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) )
- {
- l1_pgentry_t ol2e = pl1e[i];
- pl1e[i] = l1e_empty();
- count++;
-
- if ( is_l1_shadow )
- shadow_put_page_from_l1e(ol2e, d);
- else /* must be an hl2 page */
- put_page(&frame_table[forbidden_gmfn]);
- }
+ if ( l1e_has_changed(pl1e[i], match, flags) )
+ continue;
+
+ ol2e = pl1e[i];
+ pl1e[i] = l1e_empty();
+ count++;
+
+ if ( is_l1_shadow )
+ shadow_put_page_from_l1e(ol2e, d);
+ else /* must be an hl2 page */
+ put_page(&frame_table[forbidden_gmfn]);
}
unmap_domain_page(pl1e);
diff -r f1bb1316b26f -r f804b28871ba xen/arch/x86/shadow_public.c
--- a/xen/arch/x86/shadow_public.c Tue Sep 13 09:09:13 2005
+++ b/xen/arch/x86/shadow_public.c Tue Sep 13 09:11:58 2005
@@ -1622,7 +1622,7 @@
struct domain *d, unsigned long l1mfn, unsigned long forbidden_gmfn)
{
l1_pgentry_t *pl1e = map_domain_page(l1mfn);
- l1_pgentry_t match;
+ l1_pgentry_t match, ol2e;
unsigned long flags = _PAGE_PRESENT;
int i;
u32 count = 0;
@@ -1634,17 +1634,17 @@
for (i = 0; i < L1_PAGETABLE_ENTRIES; i++)
{
- if ( unlikely(!l1e_has_changed(pl1e[i], match, flags) == 0) )
- {
- l1_pgentry_t ol2e = pl1e[i];
- pl1e[i] = l1e_empty();
- count++;
-
- if ( is_l1_shadow )
- shadow_put_page_from_l1e(ol2e, d);
- else /* must be an hl2 page */
- put_page(&frame_table[forbidden_gmfn]);
- }
+ if ( l1e_has_changed(pl1e[i], match, flags) )
+ continue;
+
+ ol2e = pl1e[i];
+ pl1e[i] = l1e_empty();
+ count++;
+
+ if ( is_l1_shadow )
+ shadow_put_page_from_l1e(ol2e, d);
+ else /* must be an hl2 page */
+ put_page(&frame_table[forbidden_gmfn]);
}
unmap_domain_page(pl1e);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|