# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1173107297 0
# Node ID fe3fa645835f929ad7e3b732180e13ab3cb80c93
# Parent 56760c1de102c354fec175fa173dff35a416f428
linux/x86-64 2.6.18: reserve bootmem differently
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>
---
linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff -r 56760c1de102 -r fe3fa645835f
linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Mon Mar 05
15:06:13 2007 +0000
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c Mon Mar 05
15:08:17 2007 +0000
@@ -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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|