]> xenbits.xensource.com Git - xen.git/commitdiff
bitkeeper revision 1.1159.170.80 (41dda4b36HJxwMUYJh_Pm07DVKiC2g)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 6 Jan 2005 20:50:59 +0000 (20:50 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 6 Jan 2005 20:50:59 +0000 (20:50 +0000)
Patch from Leendert van Doorn leendert@watson.ibm.com to fix bug that was effecting mapping of IO pages when Xen was built with certain versions of gcc.

xen/arch/x86/memory.c

index a540b06fcafdb2afc9e7f7708558eb9eba69b418..966f92c972b024866dd99598b525387921336a62 100644 (file)
@@ -466,11 +466,12 @@ static void put_page_from_l1e(l1_pgentry_t l1e, struct domain *d)
     unsigned long    l1v  = l1_pgentry_val(l1e);
     unsigned long    pfn  = l1_pgentry_to_pagenr(l1e);
     struct pfn_info *page = &frame_table[pfn];
-    struct domain   *e = page->u.inuse.domain;
+    struct domain   *e;
 
     if ( !(l1v & _PAGE_PRESENT) || !pfn_is_ram(pfn) )
         return;
 
+    e = page->u.inuse.domain;
     if ( unlikely(e != d) )
     {
         /*