aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-06-16 17:54:46 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 06:48:28 -0400
commitbe5bf9fa1c327fa6fd6e7ba44665437dd558dfe3 (patch)
tree60b3ef58343f4ed082eba0a21916d690924c5508 /arch/x86
parentd52d53b8a5b258bfaab9223a5e7284fcfdd48577 (diff)
xen: reserve Xen-specific memory in e820 map
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Cc: the arch/x86 maintainers <x86@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/xen/setup.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index a29575803204..dc2ca8ad3603 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -40,9 +40,22 @@ char * __init xen_memory_setup(void)
40 max_pfn = min(MAX_DOMAIN_PAGES, max_pfn); 40 max_pfn = min(MAX_DOMAIN_PAGES, max_pfn);
41 41
42 e820.nr_map = 0; 42 e820.nr_map = 0;
43
43 e820_add_region(0, LOWMEMSIZE(), E820_RAM); 44 e820_add_region(0, LOWMEMSIZE(), E820_RAM);
44 e820_add_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM); 45 e820_add_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM);
45 46
47 /*
48 * Reserve Xen bits:
49 * - mfn_list
50 * - xen_start_info
51 * See comment above "struct start_info" in <xen/interface/xen.h>
52 */
53 e820_add_region(__pa(xen_start_info->mfn_list),
54 xen_start_info->pt_base - xen_start_info->mfn_list,
55 E820_RESERVED);
56
57 sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map);
58
46 return "Xen"; 59 return "Xen";
47} 60}
48 61