aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/e820_64.c
diff options
context:
space:
mode:
authorBernhard Walle <bwalle@suse.de>2008-01-30 07:30:32 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:32 -0500
commitc9cce83dd1d59f52e2c8f8c7d265ba4854c40785 (patch)
tree0d6801b5c069e573ee06464c567e838a6764f424 /arch/x86/kernel/e820_64.c
parent9773db2a301b089bb95907eec5ad1a2ef7fb4099 (diff)
x86: remove extern declarations for code, data, bss resources
This patch removes the extern struct resource declarations for data_resource, code_resource and bss_resource on x86 and declares that three structures as static as done on other architectures like IA64. On i386, these structures are moved to setup_32.c (from e820_32.c) because that's code that is not specific to e820 and also required on EFI systems. That makes the "extern" reference superfluous. On x86_64, data_resource, code_resource and bss_resource are passed to e820_reserve_resources() as arguments just as done on i386 and IA64. That also avoids the "extern" reference and it's possible to make it static. Signed-off-by: Bernhard Walle <bwalle@suse.de> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/e820_64.c')
-rw-r--r--arch/x86/kernel/e820_64.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/x86/kernel/e820_64.c b/arch/x86/kernel/e820_64.c
index 11a3d65db0c1..151236896243 100644
--- a/arch/x86/kernel/e820_64.c
+++ b/arch/x86/kernel/e820_64.c
@@ -47,8 +47,6 @@ unsigned long end_pfn_map;
47 */ 47 */
48static unsigned long __initdata end_user_pfn = MAXMEM>>PAGE_SHIFT; 48static unsigned long __initdata end_user_pfn = MAXMEM>>PAGE_SHIFT;
49 49
50extern struct resource code_resource, data_resource, bss_resource;
51
52/* Check for some hardcoded bad areas that early boot is not allowed to touch */ 50/* Check for some hardcoded bad areas that early boot is not allowed to touch */
53static inline int bad_addr(unsigned long *addrp, unsigned long size) 51static inline int bad_addr(unsigned long *addrp, unsigned long size)
54{ 52{
@@ -213,7 +211,8 @@ unsigned long __init e820_end_of_ram(void)
213/* 211/*
214 * Mark e820 reserved areas as busy for the resource manager. 212 * Mark e820 reserved areas as busy for the resource manager.
215 */ 213 */
216void __init e820_reserve_resources(void) 214void __init e820_reserve_resources(struct resource *code_resource,
215 struct resource *data_resource, struct resource *bss_resource)
217{ 216{
218 int i; 217 int i;
219 for (i = 0; i < e820.nr_map; i++) { 218 for (i = 0; i < e820.nr_map; i++) {
@@ -235,9 +234,9 @@ void __init e820_reserve_resources(void)
235 * so we try it repeatedly and let the resource manager 234 * so we try it repeatedly and let the resource manager
236 * test it. 235 * test it.
237 */ 236 */
238 request_resource(res, &code_resource); 237 request_resource(res, code_resource);
239 request_resource(res, &data_resource); 238 request_resource(res, data_resource);
240 request_resource(res, &bss_resource); 239 request_resource(res, bss_resource);
241#ifdef CONFIG_KEXEC 240#ifdef CONFIG_KEXEC
242 if (crashk_res.start != crashk_res.end) 241 if (crashk_res.start != crashk_res.end)
243 request_resource(res, &crashk_res); 242 request_resource(res, &crashk_res);