mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
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@novell.com>
This commit is contained in:
1 parent
bba72daaae
commit
2e4ef0d6fd
1 file changed
+8
-6
@@ -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.
|
||||
|
||||