diff options
Diffstat (limited to 'arch/ia64/kernel')
| -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 | } |
