|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 0/3] Fixing ACPI BGRT (Boot Graphics Resource Table) corruption
This series fixes ACPI BGRT (Boot Graphics Resource Table) corruption, that occured when Xen reuses the memory containing the boot logo image before dom0 is able to parse ACPI tables. The BGRT table contains a pointer to a BMP image stored in BootServicesData memory. When Xen reclaims this memory early in boot, the pointer becomes invalid, causing Linux dom0 to report: Xen: `(XEN) ACPI: BGRT: invalidating v1 image at 0x47cc2018` Linux (dom0): `ACPI BIOS Warning (bug): Incorrect checksum in table [BGRT] - 0xF9, should be 0xB4 (20250807/utcksum-58)` This series: 1. Adds BGRT image preservation during EFI boot (similar to ESRT) 2. Clarify BGRT invalidation behavior with preservation. 3. Provides an opt-out mechanism (efi=no-bgrt) for servers The preservation is enabled by default to fix the corruption for all users, with minimal overhead (~1MB). Also, servers that don't need boot graphics can disable it using the "efi=no-bgrt" option. Changes since v1: As Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, pointed out the BGRT invalidation behaviour should still presist and server as a safety net when "efi=no-bgrt" or the preservation fails for some reason thus: Add Clarify comment for BGRT invalidation behavior with preservation. Testing: - Verified on Intel UEFI system with Fedora 43 dom0 - Before: ACPI checksum errors in dom0 - After: Clean boot, no ACPI warnings - Memory overhead: ~972 KB (preserved image size) Signed-off-by: Soumyajyotii Ssarkar <soumyajyotisarkar23@xxxxxxxxx> Soumyajyotii Ssarkar (3): x86/efi: Add BGRT image preservation during boot x86/acpi: Clarify BGRT invalidation behavior with preservation x86/efi: Add opt-out mechanism for BGRT preservation xen/arch/x86/acpi/boot.c | 5 + xen/arch/x86/efi/efi-boot.h | 2 + xen/common/efi/boot.c | 199 ++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+) -- 2.53.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |