xen: make sure xen_extra_mem_start is beyond all non-RAM e820
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Fri, 3 Sep 2010 00:07:03 +0000 (17:07 -0700)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Fri, 22 Oct 2010 19:57:28 +0000 (12:57 -0700)
If Xen gives us non-RAM E820 entries (dom0 only, typically), then
make sure the extra RAM region is beyond them.  It's OK for
the extra space to grow into E820 regions, however.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
arch/x86/xen/setup.c

index f9a99eaddcdc990d8987f06207b6ec8407b7de04..eac010008cd280da0c04e9a39afa085c800f4125 100644 (file)
@@ -167,7 +167,8 @@ char * __init xen_memory_setup(void)
 
                                extra_pages += PFN_DOWN(end - mem_end);
                        }
-               }
+               } else if (map[i].type != E820_RAM)
+                       xen_extra_mem_start = end;
                if (map[i].size > 0)
                        e820_add_region(map[i].addr, map[i].size, map[i].type);
        }