[tip: x86/boot] x86/boot/e820: Simplify the PPro Erratum #50 workaround

From: tip-bot2 for Ingo Molnar

Date: Sun Dec 14 2025 - 03:37:49 EST


The following commit has been merged into the x86/boot branch of tip:

Commit-ID: 3814bf08452ecfc6db0de53a2e4f977e9661c1f4
Gitweb: https://git.kernel.org/tip/3814bf08452ecfc6db0de53a2e4f977e9661c1f4
Author: Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Thu, 15 May 2025 14:05:19 +02:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Sun, 14 Dec 2025 09:19:37 +01:00

x86/boot/e820: Simplify the PPro Erratum #50 workaround

No need to print out the table - users won't really be able
to tell much from it anyway and the messages around this
erratum are unnecessarily obtuse.

Instead clearly inform the user that a 256 kB hole is being
punched in their memory map at the 1.75 GB physical address.

Not that there are many PPro users left. :-)

Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: H . Peter Anvin <hpa@xxxxxxxxx>
Cc: Andy Shevchenko <andy@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxxxx>
Cc: David Woodhouse <dwmw@xxxxxxxxxxxx>
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Rapoport <rppt@xxxxxxxxxx>
Cc: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Link: https://patch.msgid.link/20250515120549.2820541-4-mingo@xxxxxxxxxx
---
arch/x86/kernel/setup.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 1b2edd0..a231b24 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1015,11 +1015,9 @@ void __init setup_arch(char **cmdline_p)
trim_bios_range();
#ifdef CONFIG_X86_32
if (ppro_with_ram_bug()) {
- e820__range_update(0x70000000ULL, 0x40000ULL, E820_TYPE_RAM,
- E820_TYPE_RESERVED);
+ pr_info("Applying PPro RAM bug workaround: punching 256 kB hole at 1.75 GB physical.\n");
+ e820__range_update(0x70000000ULL, SZ_256K, E820_TYPE_RAM, E820_TYPE_RESERVED);
e820__update_table(e820_table);
- printk(KERN_INFO "fixed physical RAM map:\n");
- e820__print_table("bad_ppro");
}
#else
early_gart_iommu_check();