aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/setup.c16
-rw-r--r--arch/x86_64/kernel/e820.c16
2 files changed, 16 insertions, 16 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index fa0c69eb937a..f3d808451d25 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -1300,7 +1300,7 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
1300 */ 1300 */
1301static void __init register_memory(void) 1301static void __init register_memory(void)
1302{ 1302{
1303 unsigned long gapstart, gapsize; 1303 unsigned long gapstart, gapsize, round;
1304 unsigned long long last; 1304 unsigned long long last;
1305 int i; 1305 int i;
1306 1306
@@ -1345,14 +1345,14 @@ static void __init register_memory(void)
1345 } 1345 }
1346 1346
1347 /* 1347 /*
1348 * Start allocating dynamic PCI memory a bit into the gap, 1348 * See how much we want to round up: start off with
1349 * aligned up to the nearest megabyte. 1349 * rounding to the next 1MB area.
1350 *
1351 * Question: should we try to pad it up a bit (do something
1352 * like " + (gapsize >> 3)" in there too?). We now have the
1353 * technology.
1354 */ 1350 */
1355 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;
1356 1356
1357 printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n", 1357 printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n",
1358 pci_mem_start, gapstart, gapsize); 1358 pci_mem_start, gapstart, gapsize);
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
index 116ac5f53dce..bb0ae18ec02b 100644
--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -567,7 +567,7 @@ unsigned long pci_mem_start = 0xaeedbabe;
567 */ 567 */
568__init void e820_setup_gap(void) 568__init void e820_setup_gap(void)
569{ 569{
570 unsigned long gapstart, gapsize; 570 unsigned long gapstart, gapsize, round;
571 unsigned long last; 571 unsigned long last;
572 int i; 572 int i;
573 int found = 0; 573 int found = 0;
@@ -604,14 +604,14 @@ __init void e820_setup_gap(void)
604 } 604 }
605 605
606 /* 606 /*
607 * Start allocating dynamic PCI memory a bit into the gap, 607 * See how much we want to round up: start off with
608 * aligned up to the nearest megabyte. 608 * rounding to the next 1MB area.
609 *
610 * Question: should we try to pad it up a bit (do something
611 * like " + (gapsize >> 3)" in there too?). We now have the
612 * technology.
613 */ 609 */
614 pci_mem_start = (gapstart + 0xfffff) & ~0xfffff; 610 round = 0x100000;
611 while ((gapsize >> 4) > round)
612 round += round;
613 /* Fun with two's complement */
614 pci_mem_start = (gapstart + round) & -round;
615 615
616 printk(KERN_INFO "Allocating PCI resources starting at %lx (gap: %lx:%lx)\n", 616 printk(KERN_INFO "Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",
617 pci_mem_start, gapstart, gapsize); 617 pci_mem_start, gapstart, gapsize);