diff options
author | Andrew Hastings <abh@cray.com> | 2007-05-11 05:23:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-11 15:53:00 -0400 |
commit | 547c5355d1b1167af39e315c82aa9ff1398596f4 (patch) | |
tree | 423d8e1473c5731040b35ae5665dc72f5233abb4 /arch/x86_64 | |
parent | fd0581bbb40d8f4b0e4b3a4de2258a50df37bb57 (diff) |
x86_64: off-by-two error in aperture.c
I'm using a custom BIOS to configure the northbridge GART at address
0x80000000, size 2G. Linux complains:
"Aperture from northbridge cpu 0 beyond 4GB. Ignoring."
I think there's an off-by-two error in arch/x86_64/kernel/aperture.c:
AK: use correct types for i386
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/aperture.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/pci-gart.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/aperture.c b/arch/x86_64/kernel/aperture.c index a52af5820592..a3d450d6c15b 100644 --- a/arch/x86_64/kernel/aperture.c +++ b/arch/x86_64/kernel/aperture.c | |||
@@ -86,7 +86,7 @@ static int __init aperture_valid(u64 aper_base, u32 aper_size) | |||
86 | printk("Aperture too small (%d MB)\n", aper_size>>20); | 86 | printk("Aperture too small (%d MB)\n", aper_size>>20); |
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
89 | if (aper_base + aper_size >= 0xffffffff) { | 89 | if (aper_base + aper_size > 0x100000000UL) { |
90 | printk("Aperture beyond 4GB. Ignoring.\n"); | 90 | printk("Aperture beyond 4GB. Ignoring.\n"); |
91 | return 0; | 91 | return 0; |
92 | } | 92 | } |
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index 373ef66ca1dc..ae091cdc1a4d 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c | |||
@@ -476,7 +476,7 @@ static __init unsigned read_aperture(struct pci_dev *dev, u32 *size) | |||
476 | aper_base <<= 25; | 476 | aper_base <<= 25; |
477 | 477 | ||
478 | aper_size = (32 * 1024 * 1024) << aper_order; | 478 | aper_size = (32 * 1024 * 1024) << aper_order; |
479 | if (aper_base + aper_size >= 0xffffffff || !aper_size) | 479 | if (aper_base + aper_size > 0x100000000UL || !aper_size) |
480 | aper_base = 0; | 480 | aper_base = 0; |
481 | 481 | ||
482 | *size = aper_size; | 482 | *size = aper_size; |