On Fri, Jan 26, 2024, at 20:33, Mathieu Desnoyers wrote: > > A) I have prepared a patch series introducing cache_is_aliasing() with > new Kconfig > options: > > * ARCH_HAS_CACHE_ALIASING > * ARCH_HAS_CACHE_ALIASING_DYNAMIC > > and implemented it for all architectures. The "DYNAMIC" implementation > implements cache_is_aliasing() as a runtime check, which is what is needed > on architectures like 32-bit ARM. > > With this we can basically narrow down the list of architectures which are > unsupported by DAX to those which are really affected, without actually solving > the issue for architectures with virtually aliased dcaches. The dynamic option should only be required when building for ARMv6, which is really rare. On an ARMv7-only configuration, we know that the dcache is non-aliasing, so the compile-time check should be sufficient. Even on ARMv6, this could be done as a compile-time choice by platform, since we mostly know what the chips can do: bcm2835, imx3, wm8750 and s3c64xx are non-aliasing because they are limited to 16KB L1 caches, while omap2 and as2500 are aliasing with 32KB caches. With realview/integrator it depends on the exact CPU that was installed. Arnd