iommu/io-pgtable: depend on !GENERIC_ATOMIC64 when using COMPILE_TEST with LPAE
The LPAE/ARMv8 page table format relies on the ability to read and write 64-bit page table entries in an atomic fashion. With the move to a lockless implementation, we also need support for cmpxchg64 to resolve races when installing table entries concurrently. Unfortunately, not all architectures support cmpxchg64, so the code can fail to compiler when building for these architectures using COMPILE_TEST. Rather than disable COMPILE_TEST altogether, instead check that GENERIC_ATOMIC64 is not selected, which is a reasonable indication that the architecture has support for 64-bit cmpxchg. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
58188afeb7
commit
c1004803b4
|
@ -23,7 +23,7 @@ config IOMMU_IO_PGTABLE
|
||||||
config IOMMU_IO_PGTABLE_LPAE
|
config IOMMU_IO_PGTABLE_LPAE
|
||||||
bool "ARMv7/v8 Long Descriptor Format"
|
bool "ARMv7/v8 Long Descriptor Format"
|
||||||
select IOMMU_IO_PGTABLE
|
select IOMMU_IO_PGTABLE
|
||||||
depends on HAS_DMA && (ARM || ARM64 || COMPILE_TEST)
|
depends on HAS_DMA && (ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64))
|
||||||
help
|
help
|
||||||
Enable support for the ARM long descriptor pagetable format.
|
Enable support for the ARM long descriptor pagetable format.
|
||||||
This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
|
This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
|
||||||
|
|
Loading…
Reference in New Issue