diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-06-16 17:54:46 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 06:48:28 -0400 |
commit | be5bf9fa1c327fa6fd6e7ba44665437dd558dfe3 (patch) | |
tree | 60b3ef58343f4ed082eba0a21916d690924c5508 /arch/x86/xen/setup.c | |
parent | d52d53b8a5b258bfaab9223a5e7284fcfdd48577 (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/xen/setup.c')
-rw-r--r-- | arch/x86/xen/setup.c | 13 |
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 | ||