aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/io_apic.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-01-11 16:44:27 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-11 22:04:54 -0500
commitca8642f606ce22de23bae08a5044067f98de855b (patch)
tree143dd169cbba9d58629ca74d618cbfa41964c2f8 /arch/x86_64/kernel/io_apic.c
parentd25bf7e5fe73b5b6d2246ab0be08ae35d718456b (diff)
[PATCH] x86_64: Fix off by one in IOMMU check
Fix off by one when checking if the machine has enougn memory to need IOMMU This caused the IOMMUs to be needlessly enabled for mem=4G Based on a patch from Jon Mason Signed-off-by: jdmason@us.ibm.com Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/io_apic.c')
-rw-r--r--arch/x86_64/kernel/io_apic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index bdc589924b10..83ea86e0633a 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -37,6 +37,7 @@
37#include <asm/proto.h> 37#include <asm/proto.h>
38#include <asm/mach_apic.h> 38#include <asm/mach_apic.h>
39#include <asm/acpi.h> 39#include <asm/acpi.h>
40#include <asm/dma.h>
40 41
41#define __apicdebuginit __init 42#define __apicdebuginit __init
42 43
@@ -281,7 +282,7 @@ void __init check_ioapic(void)
281 switch (vendor) { 282 switch (vendor) {
282 case PCI_VENDOR_ID_VIA: 283 case PCI_VENDOR_ID_VIA:
283#ifdef CONFIG_GART_IOMMU 284#ifdef CONFIG_GART_IOMMU
284 if ((end_pfn >= (0xffffffff>>PAGE_SHIFT) || 285 if ((end_pfn > MAX_DMA32_PFN ||
285 force_iommu) && 286 force_iommu) &&
286 !iommu_aperture_allowed) { 287 !iommu_aperture_allowed) {
287 printk(KERN_INFO 288 printk(KERN_INFO