lkml.org 
[lkml]   [2008]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [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;

    \
     
     \ /
      Last update: 2008-10-24 13:11    [W:0.023 / U:25.124 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site