[PATCH v2 00/33] locking/atomic: convert all architectures to ARCH_ATOMIC
Vineet Gupta
Vineet.Gupta1 at synopsys.com
Mon Jun 28 15:21:01 PDT 2021
On 6/28/21 3:13 PM, Peter Zijlstra wrote:
> On Mon, Jun 28, 2021 at 02:22:15PM -0700, Randy Dunlap wrote:
>> However, something in arch/arc/ did look suspicious so I decided to
>> try an ARC allmodconfig build, where I did see a few errors FYI:
>>
>>
>> CC drivers/iommu/io-pgtable-arm.o
>> In file included from ../include/linux/atomic.h:80,
>> from ../drivers/iommu/io-pgtable-arm.c:12:
>> ../drivers/iommu/io-pgtable-arm.c: In function 'arm_lpae_install_table':
>> ../include/linux/atomic-arch-fallback.h:60:32: error: implicit declaration of function 'arch_cmpxchg64'; did you mean 'arch_cmpxchg'? [-Werror=implicit-function-declaration]
>> 60 | #define arch_cmpxchg64_relaxed arch_cmpxchg64
>> | ^~~~~~~~~~~~~~
>> ../include/asm-generic/atomic-instrumented.h:1261:2: note: in expansion of macro 'arch_cmpxchg64_relaxed'
>> 1261 | arch_cmpxchg64_relaxed(__ai_ptr, __VA_ARGS__); \
>> | ^~~~~~~~~~~~~~~~~~~~~~
>> ../drivers/iommu/io-pgtable-arm.c:320:8: note: in expansion of macro 'cmpxchg64_relaxed'
>> 320 | old = cmpxchg64_relaxed(ptep, curr, new);
>> | ^~~~~~~~~~~~~~~~~
> 0day also reported something like that. We found that this was a
> pre-existing error, and Mark's patches only changed the error, it never
> successfully build.
>
> cmpxchg64 is an optional feature for 32bit architectures, one that ARMv7
> does provide, and uses, for it's iommu bits. Building the ARM iommu
> drivers on ARC seem somewhat daft but is a result of that COMPILE_TEST
> config.
Out of my ARC64 work, I have a boat-load of changes piled up in this
area. Once Mark's changes hit mainline I can send those out for review
and we can also consider adding cmpxchg64 for 32-bit ARC.
-Vineet
More information about the linux-snps-arc
mailing list