[LINUX] Simplify /proc/iomem initialisation -- no need to fake a
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 9 Jun 2006 15:19:42 +0000 (16:19 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 9 Jun 2006 15:19:42 +0000 (16:19 +0100)
domU memory map. The main e820 map already terminates at max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/arch/i386/kernel/setup-xen.c
linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c

index 7ae42e6d3559a755bcfbc69466ade82db44141f1..0b180786322544776e4aec2900481f59fddfa5af 100644 (file)
@@ -1459,12 +1459,7 @@ static void __init register_memory(void)
 
        /* Nothing to do if not running in dom0. */
        if (!(xen_start_info->flags & SIF_INITDOMAIN)) {
-               struct e820entry domU_e820 = {
-                       .addr = 0,
-                       .size = max_pfn << PAGE_SHIFT,
-                       .type = E820_RAM,
-               };
-               legacy_init_iomem_resources(&domU_e820, 1,
+               legacy_init_iomem_resources(e820.map, e820.nr_map,
                                            &code_resource, &data_resource);
                return;
        }
index 05fb99fc3353df878ff68c8c8abd71c940e00eb6..266516b50e7d5ed5718e45b71bac29e3d00fda57 100644 (file)
@@ -919,15 +919,11 @@ void __init setup_arch(char **cmdline_p)
                BUG_ON(HYPERVISOR_memory_op(XENMEM_machine_memory_map, &memmap));
 
                e820_reserve_resources(machine_e820, memmap.nr_entries);
-       } else {
-               struct e820entry domU_e820 = {
-                       .addr = 0,
-                       .size = max_pfn << PAGE_SHIFT,
-                       .type = E820_RAM,
-               };
-               e820_reserve_resources(&domU_e820, 1);
-       }
-#elif !defined(CONFIG_XEN)
+       } else if (!(xen_start_info->flags & SIF_INITDOMAIN))
+               e820_reserve_resources(e820.map, e820.nr_map);
+#elif defined(CONFIG_XEN)
+       e820_reserve_resources(e820.map, e820.nr_map);
+#else
        probe_roms();
        e820_reserve_resources(e820.map, e820.nr_map);
 #endif