Re: [PATCH 05/11] x86: remove HIGHMEM64G support
From: Brian Gerst
Date: Wed Dec 04 2024 - 08:45:02 EST
On Wed, Dec 4, 2024 at 5:34 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The HIGHMEM64G support was added in linux-2.3.25 to support (then)
> high-end Pentium Pro and Pentium III Xeon servers with more than 4GB of
> addressing, NUMA and PCI-X slots started appearing.
>
> I have found no evidence of this ever being used in regular dual-socket
> servers or consumer devices, all the users seem obsolete these days,
> even by i386 standards:
>
> - Support for NUMA servers (NUMA-Q, IBM x440, unisys) was already
> removed ten years ago.
>
> - 4+ socket non-NUMA servers based on Intel 450GX/450NX, HP F8 and
> ServerWorks ServerSet/GrandChampion could theoretically still work
> with 8GB, but these were exceptionally rare even 20 years ago and
> would have usually been equipped with than the maximum amount of
> RAM.
>
> - Some SKUs of the Celeron D from 2004 had 64-bit mode fused off but
> could still work in a Socket 775 mainboard designed for the later
> Core 2 Duo and 8GB. Apparently most BIOSes at the time only allowed
> 64-bit CPUs.
>
> - In the early days of x86-64 hardware, there was sometimes the need
> to run a 32-bit kernel to work around bugs in the hardware drivers,
> or in the syscall emulation for 32-bit userspace. This likely still
> works but there should never be a need for this any more.
>
> Removing this also drops the need for PHYS_ADDR_T_64BIT and SWIOTLB.
> PAE mode is still required to get access to the 'NX' bit on Atom
> 'Pentium M' and 'Core Duo' CPUs.
8GB of memory is still useful for 32-bit guest VMs.
Brian Gerst