x86-64 compile error in 2.6.9-rc1-bk1
If you have CONFIG_SWIOTLB=y (GART_IOMMU=y), you get:
ld: BFD 2.15.90.0.3 20040415 assertion fail ../../bfd/linker.c:619 arch/x86_64/mm/built-in.o(.init.text+0x52a): In function `mem_init':
: undefined reference to `swiotlb_force'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [_all] Error 2
This was added in Linus's tree. But I cannot find where swiotlb_force is defined...
arch/x86_64/mm/init.c 2004-08-24 02:08:31 -07:00 renamed from arch/x86_64/mm/init.c 2004-06-24 01:55:57 -07:00 +0 -0
@@ -396,6 +400,8 @@
return 0;
}
+extern int swiotlb_force;
+
static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel, kcore_modules, kcore_vsyscall;
@@ -405,7 +411,10 @@
int tmp;
#ifdef CONFIG_SWIOTLB
- if (!iommu_aperture && end_pfn >= 0xffffffff>>PAGE_SHIFT)
+ if (swiotlb_force)
+ swiotlb = 1;
+ if (!iommu_aperture &&
+ (end_pfn >= 0xffffffff>>PAGE_SHIFT || force_iommu))
swiotlb = 1;
if (swiotlb)
swiotlb_init();Quoted 9 lines · On Wed, 25 Aug 2004 11:54:54 -0700 Thomas Duffy…
If you have
CONFIG_SWIOTLB=y(GART_IOMMU=y), you get:ld: BFD 2.15.90.0.3 20040415 assertion fail
../../bfd/linker.c:619arch/x86_64/mm/built-in.o(.init.text+0x52a): In function `mem_init':
: undefined reference to `swiotlb_force'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [_all] Error 2This was added in Linus's tree. But I cannot find where
swiotlb_forceis defined...
It is defined in a ia64 specific file (believe it or not) The change should go in as soon as Linus pulls the IA64 update from Tony Luck.
For now you can just comment out the if.
-Andi