aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2005-01-06 20:50:59 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2005-01-06 20:50:59 +0000
commit3d079bebed333f356ed7a673f7bfcb3e0a8a569e (patch)
tree42965ac7699e96b5d42e6e130555ffe3fac00ace
parentd3b7f999bde68b66e3bcec125fcdf2405b41a821 (diff)
downloadxen-3d079bebed333f356ed7a673f7bfcb3e0a8a569e.tar.gz
xen-3d079bebed333f356ed7a673f7bfcb3e0a8a569e.tar.bz2
xen-3d079bebed333f356ed7a673f7bfcb3e0a8a569e.zip
bitkeeper revision 1.1159.170.80 (41dda4b36HJxwMUYJh_Pm07DVKiC2g)
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.
-rw-r--r--xen/arch/x86/memory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/memory.c b/xen/arch/x86/memory.c
index a540b06fca..966f92c972 100644
--- a/xen/arch/x86/memory.c
+++ b/xen/arch/x86/memory.c
@@ -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) )
{
/*