Do init memory reservation in a single step rather then piece-wise.
This is not really addressing a problem, but simplifies things a little.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Index: head-2007-02-27/arch/x86_64/kernel/setup-xen.c
===================================================================
--- head-2007-02-27.orig/arch/x86_64/kernel/setup-xen.c 2007-03-05
10:00:18.000000000 +0100
+++ head-2007-02-27/arch/x86_64/kernel/setup-xen.c 2007-02-27
16:27:37.000000000 +0100
@@ -691,6 +691,14 @@ void __init setup_arch(char **cmdline_p)
contig_initmem_init(0, end_pfn);
#endif
+#ifdef CONFIG_XEN
+ /*
+ * Reserve kernel, physmap, start info, initial page tables, and
+ * direct mapping.
+ */
+ reserve_bootmem_generic(__pa_symbol(&_text),
+ (table_end << PAGE_SHIFT) -
__pa_symbol(&_text));
+#else
/* Reserve direct mapping */
reserve_bootmem_generic(table_start << PAGE_SHIFT,
(table_end - table_start) << PAGE_SHIFT);
@@ -699,12 +707,6 @@ void __init setup_arch(char **cmdline_p)
reserve_bootmem_generic(__pa_symbol(&_text),
__pa_symbol(&_end) - __pa_symbol(&_text));
-#ifdef CONFIG_XEN
- /* reserve physmap, start info and initial page tables */
- reserve_bootmem_generic(__pa_symbol(&_end),
- (table_start << PAGE_SHIFT) -
- __pa_symbol(&_end));
-#else
/*
* reserve physical page 0 - it's a special BIOS page on many boxes,
* enabling clean reboots, SMP operation, laptop functions.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|