diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/efi.c | 4 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index 8e4894b205e2..3f7ea13358e9 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -1090,7 +1090,8 @@ efi_memmap_init(unsigned long *s, unsigned long *e) | |||
1090 | 1090 | ||
1091 | void | 1091 | void |
1092 | efi_initialize_iomem_resources(struct resource *code_resource, | 1092 | efi_initialize_iomem_resources(struct resource *code_resource, |
1093 | struct resource *data_resource) | 1093 | struct resource *data_resource, |
1094 | struct resource *bss_resource) | ||
1094 | { | 1095 | { |
1095 | struct resource *res; | 1096 | struct resource *res; |
1096 | void *efi_map_start, *efi_map_end, *p; | 1097 | void *efi_map_start, *efi_map_end, *p; |
@@ -1171,6 +1172,7 @@ efi_initialize_iomem_resources(struct resource *code_resource, | |||
1171 | */ | 1172 | */ |
1172 | insert_resource(res, code_resource); | 1173 | insert_resource(res, code_resource); |
1173 | insert_resource(res, data_resource); | 1174 | insert_resource(res, data_resource); |
1175 | insert_resource(res, bss_resource); | ||
1174 | #ifdef CONFIG_KEXEC | 1176 | #ifdef CONFIG_KEXEC |
1175 | insert_resource(res, &efi_memmap_res); | 1177 | insert_resource(res, &efi_memmap_res); |
1176 | insert_resource(res, &boot_param_res); | 1178 | insert_resource(res, &boot_param_res); |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index cbf67f1aa291..ae6c3c02e117 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -90,7 +90,12 @@ static struct resource code_resource = { | |||
90 | .name = "Kernel code", | 90 | .name = "Kernel code", |
91 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 91 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM |
92 | }; | 92 | }; |
93 | extern char _text[], _end[], _etext[]; | 93 | |
94 | static struct resource bss_resource = { | ||
95 | .name = "Kernel bss", | ||
96 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | ||
97 | }; | ||
98 | extern char _text[], _end[], _etext[], _edata[], _bss[]; | ||
94 | 99 | ||
95 | unsigned long ia64_max_cacheline_size; | 100 | unsigned long ia64_max_cacheline_size; |
96 | 101 | ||
@@ -200,8 +205,11 @@ static int __init register_memory(void) | |||
200 | code_resource.start = ia64_tpa(_text); | 205 | code_resource.start = ia64_tpa(_text); |
201 | code_resource.end = ia64_tpa(_etext) - 1; | 206 | code_resource.end = ia64_tpa(_etext) - 1; |
202 | data_resource.start = ia64_tpa(_etext); | 207 | data_resource.start = ia64_tpa(_etext); |
203 | data_resource.end = ia64_tpa(_end) - 1; | 208 | data_resource.end = ia64_tpa(_edata) - 1; |
204 | efi_initialize_iomem_resources(&code_resource, &data_resource); | 209 | bss_resource.start = ia64_tpa(_bss); |
210 | bss_resource.end = ia64_tpa(_end) - 1; | ||
211 | efi_initialize_iomem_resources(&code_resource, &data_resource, | ||
212 | &bss_resource); | ||
205 | 213 | ||
206 | return 0; | 214 | return 0; |
207 | } | 215 | } |