diff options
Diffstat (limited to 'arch/i386/kernel/setup.c')
| -rw-r--r-- | arch/i386/kernel/setup.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index a659d274914c..f3d808451d25 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
| @@ -139,6 +139,7 @@ struct sys_desc_table_struct { | |||
| 139 | unsigned char table[0]; | 139 | unsigned char table[0]; |
| 140 | }; | 140 | }; |
| 141 | struct edid_info edid_info; | 141 | struct edid_info edid_info; |
| 142 | EXPORT_SYMBOL_GPL(edid_info); | ||
| 142 | struct ist_info ist_info; | 143 | struct ist_info ist_info; |
| 143 | #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ | 144 | #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ |
| 144 | defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) | 145 | defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) |
| @@ -1299,7 +1300,7 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat | |||
| 1299 | */ | 1300 | */ |
| 1300 | static void __init register_memory(void) | 1301 | static void __init register_memory(void) |
| 1301 | { | 1302 | { |
| 1302 | unsigned long gapstart, gapsize; | 1303 | unsigned long gapstart, gapsize, round; |
| 1303 | unsigned long long last; | 1304 | unsigned long long last; |
| 1304 | int i; | 1305 | int i; |
| 1305 | 1306 | ||
| @@ -1344,14 +1345,14 @@ static void __init register_memory(void) | |||
| 1344 | } | 1345 | } |
| 1345 | 1346 | ||
| 1346 | /* | 1347 | /* |
| 1347 | * Start allocating dynamic PCI memory a bit into the gap, | 1348 | * See how much we want to round up: start off with |
| 1348 | * aligned up to the nearest megabyte. | 1349 | * rounding to the next 1MB area. |
| 1349 | * | ||
| 1350 | * Question: should we try to pad it up a bit (do something | ||
| 1351 | * like " + (gapsize >> 3)" in there too?). We now have the | ||
| 1352 | * technology. | ||
| 1353 | */ | 1350 | */ |
| 1354 | pci_mem_start = (gapstart + 0xfffff) & ~0xfffff; | 1351 | round = 0x100000; |
| 1352 | while ((gapsize >> 4) > round) | ||
| 1353 | round += round; | ||
| 1354 | /* Fun with two's complement */ | ||
| 1355 | pci_mem_start = (gapstart + round) & -round; | ||
| 1355 | 1356 | ||
| 1356 | printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n", | 1357 | printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n", |
| 1357 | pci_mem_start, gapstart, gapsize); | 1358 | pci_mem_start, gapstart, gapsize); |
