Re: Regression in ACPI in 2.6.31-rc5
From: Len Brown
Date: Mon Oct 05 2009 - 23:18:48 EST
From: Len Brown <len.brown@xxxxxxxxx>
Subject: [PATCH] Revert "x86/pci: remove rounding quirk from e820_setup_gap()"
This reverts commit 5d423ccd7ba4285f1084e91b26805e1d0ae978ed.
because it caused multiple regressions in 2.6.31-rc1
http://bugzilla.kernel.org/show_bug.cgi?id=13940
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
---
Yinghai,
is there a reason we should not revert the offending patch, per below?
thanks,
-Len
arch/x86/kernel/e820.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 85419bb..b322e30 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -617,7 +617,7 @@ __init int e820_search_gap(unsigned long *gapstart, unsigned long *gapsize,
*/
__init void e820_setup_gap(void)
{
- unsigned long gapstart, gapsize;
+ unsigned long gapstart, gapsize, round;
int found;
gapstart = 0x10000000;
@@ -634,9 +634,14 @@ __init void e820_setup_gap(void)
#endif
/*
- * e820_reserve_resources_late protect stolen RAM already
+ * See how much we want to round up: start off with
+ * rounding to the next 1MB area.
*/
- pci_mem_start = gapstart;
+ round = 0x100000;
+ while ((gapsize >> 4) > round)
+ round += round;
+ /* Fun with two's complement */
+ pci_mem_start = (gapstart + round) & -round;
printk(KERN_INFO
"Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",
--
1.6.5.rc2.17.gdbc1b
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/