diff options
Diffstat (limited to 'arch/x86/kernel/e820_32.c')
-rw-r--r-- | arch/x86/kernel/e820_32.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/x86/kernel/e820_32.c b/arch/x86/kernel/e820_32.c index 58fd54eb5577..18f500d185a2 100644 --- a/arch/x86/kernel/e820_32.c +++ b/arch/x86/kernel/e820_32.c | |||
@@ -51,6 +51,13 @@ struct resource code_resource = { | |||
51 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 51 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM |
52 | }; | 52 | }; |
53 | 53 | ||
54 | struct resource bss_resource = { | ||
55 | .name = "Kernel bss", | ||
56 | .start = 0, | ||
57 | .end = 0, | ||
58 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | ||
59 | }; | ||
60 | |||
54 | static struct resource system_rom_resource = { | 61 | static struct resource system_rom_resource = { |
55 | .name = "System ROM", | 62 | .name = "System ROM", |
56 | .start = 0xf0000, | 63 | .start = 0xf0000, |
@@ -254,7 +261,9 @@ static void __init probe_roms(void) | |||
254 | * and also for regions reported as reserved by the e820. | 261 | * and also for regions reported as reserved by the e820. |
255 | */ | 262 | */ |
256 | static void __init | 263 | static void __init |
257 | legacy_init_iomem_resources(struct resource *code_resource, struct resource *data_resource) | 264 | legacy_init_iomem_resources(struct resource *code_resource, |
265 | struct resource *data_resource, | ||
266 | struct resource *bss_resource) | ||
258 | { | 267 | { |
259 | int i; | 268 | int i; |
260 | 269 | ||
@@ -287,6 +296,7 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat | |||
287 | */ | 296 | */ |
288 | request_resource(res, code_resource); | 297 | request_resource(res, code_resource); |
289 | request_resource(res, data_resource); | 298 | request_resource(res, data_resource); |
299 | request_resource(res, bss_resource); | ||
290 | #ifdef CONFIG_KEXEC | 300 | #ifdef CONFIG_KEXEC |
291 | if (crashk_res.start != crashk_res.end) | 301 | if (crashk_res.start != crashk_res.end) |
292 | request_resource(res, &crashk_res); | 302 | request_resource(res, &crashk_res); |
@@ -307,9 +317,11 @@ static int __init request_standard_resources(void) | |||
307 | 317 | ||
308 | printk("Setting up standard PCI resources\n"); | 318 | printk("Setting up standard PCI resources\n"); |
309 | if (efi_enabled) | 319 | if (efi_enabled) |
310 | efi_initialize_iomem_resources(&code_resource, &data_resource); | 320 | efi_initialize_iomem_resources(&code_resource, |
321 | &data_resource, &bss_resource); | ||
311 | else | 322 | else |
312 | legacy_init_iomem_resources(&code_resource, &data_resource); | 323 | legacy_init_iomem_resources(&code_resource, |
324 | &data_resource, &bss_resource); | ||
313 | 325 | ||
314 | /* EFI systems may still have VGA */ | 326 | /* EFI systems may still have VGA */ |
315 | request_resource(&iomem_resource, &video_ram_resource); | 327 | request_resource(&iomem_resource, &video_ram_resource); |