Messages in this thread Patch in this message | | | Date | Fri, 24 Oct 2008 13:08:15 +0200 | From | Ingo Molnar <> | Subject | Re: [GIT *] iommu fixes for 2.6.28 |
| |
> hm, i just updated to v2.6.28-rc1, and these changes broke the x86 > 32-bit build: > > arch/x86/kernel/built-in.o: In function `dma_supported': > (.text+0x5797): undefined reference to `forbid_dac' > arch/x86/kernel/built-in.o: In function `iommu_setup': > pci-dma.c:(.init.text+0x326c): undefined reference to `forbid_dac'
i've applied the fix below to tip/x86/urgent.
Ingo
-------------> From 20c00ed26a47619647458effc795041d5101ebd9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 24 Oct 2008 13:12:10 +0200 Subject: [PATCH] iommu, x86: fix build failure
this iommu patch:
5b6985c: intel-iommu: IA64 support
broke the !CONFIG_PCI build on x86:
arch/x86/kernel/built-in.o: In function `dma_supported': (.text+0x5797): undefined reference to `forbid_dac' arch/x86/kernel/built-in.o: In function `iommu_setup': pci-dma.c:(.init.text+0x326c): undefined reference to `forbid_dac' pci-dma.c:(.init.text+0x328b): undefined reference to `forbid_dac' pci-dma.c:(.init.text+0x32aa): undefined reference to `forbid_dac'
because the forbid_dac variable is only available on CONFIG_PCI, while the x86 DMA code is built-in.
Fix it.
Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/kernel/pci-dma.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index 1972266..47c5a7a 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c @@ -202,6 +202,7 @@ static __init int iommu_setup(char *p) iommu_merge = 0; if (!strncmp(p, "forcesac", 8)) iommu_sac_force = 1; +#ifdef CONFIG_PCI if (!strncmp(p, "allowdac", 8)) forbid_dac = 0; if (!strncmp(p, "nodac", 5)) @@ -210,6 +211,7 @@ static __init int iommu_setup(char *p) forbid_dac = -1; return 1; } +#endif #ifdef CONFIG_SWIOTLB if (!strncmp(p, "soft", 4)) swiotlb = 1;
| |