Re: [TECH TOPIC] Reaching consensus on CONFIG_HIGHMEM phaseout

Arnd Bergmann
2025-09-10T15:14:20Z

On Wed, Sep 10, 2025, at 16:04, Matthew Wilcox wrote:
> On Wed, Sep 10, 2025 at 03:10:05PM +0200, Linus Walleij wrote:
>>
>> This in practice means the area 0xf1000000-0xffffffff
>> which also includes the high exception vectors that must for
>> natural reasons also be kept in the mapping.
>> What we have mapped today (all of the time) is
>> 0xc0000000-0xffffffff.
>>
>> A minimal 256 MB mapping from 0xf0000000-0xffffffff
>> should be able to cover this.
>
> Can I ask where the MMIO (PCI?) window lives?

That 256MB area is shared by anything the kernel can access
directly, other than the linear map: vmlinux, modules, vmalloc,
ioremap, vmap-stack, etc.

This is mostly unchanged from the tradtitional layout on
arm32 that has the same ~256MB limitation, though it does
get a little tighter because .text/.data is now also
mapped into this space instead of executed from the linear
map.

ARnd