On Fri, Dec 19, 2025 at 05:15:58PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <[email protected]> > > As Jason Gunthorpe noticed, supporting VIVT caches adds some complications > to highmem that can be avoided these days: > > While all ARMv4 and ARMv5 CPUs use virtually indexed caches, they no > longer really need highmem because we have practically discontinued > support for large-memory configurations already. The only machines I > could find anywhere for memory on ARMv5 are: > > - The Intel IOP platform was used on relatively large memory > configurations but we dropped kernel support in 2019 and 2022, > respectively. > > - The Marvell mv78xx0 platform was the initial user of Arm highmem, > with the DB-78x00-BP supporting 2GB of memory. While the platform > is still around, the only remaining board file is for > Buffalo WLX (Terastation Duo), which has only 512MB. > > - The Kirkwood platform supports 2GB, and there are actually boards > with that configuration that can still work. However, there are > no known users of the OpenBlocks A7, and the Freebox V6 is already > using CONFIG_VMSPLIT_2G to avoid enabling highmem. > > Remove the Arm specific portions here, making CONFIG_HIGHMEM conditional > on modern caches. > > Suggested-by: Jason Gunthorpe <[email protected]> > Signed-off-by: Arnd Bergmann <[email protected]> > --- > arch/arm/Kconfig | 1 + > arch/arm/configs/gemini_defconfig | 1 - > arch/arm/configs/multi_v5_defconfig | 1 - > arch/arm/configs/mvebu_v5_defconfig | 1 - > arch/arm/include/asm/highmem.h | 56 ++--------------------------- > arch/arm/mm/cache-feroceon-l2.c | 31 ++-------------- > arch/arm/mm/cache-xsc3l2.c | 47 +++--------------------- > arch/arm/mm/dma-mapping.c | 12 ++----- > arch/arm/mm/flush.c | 19 +++------- > 9 files changed, 16 insertions(+), 153 deletions(-)
This looks great, but do you think there should be a boot time crash if a VIVT and HIGHMEM are enabled, just incase? Jason
