acpidump failed under EFI
Updated by John Levon 11 months ago
On various systems, acpidump fails with:
# acpidump EBDA (0x0009f800) found, but is not mappable Could not get ACPI tables, AE_NOT_FOUND
This turns out to be due to the fact that acpi-root-tab is pointing to the bootloader's copy of the RSDP, instead of the real system-provided RSDP. As the loader copy lives in boot mem, it is only necessarily valid until we free that region. Under both problematic systems, this location has been used for OS memory. Then acpidump falls back to looking at the EBDA, which isn't meaningful on EFI systems.
Note that acpica in the kernel happens to work because it attaches prior to us freeing up the boot mem area.
And on legacy systems, quite often it happens that the boot mem area ends up in non-mapped page in the memlists anyway.
To fix this, we'll do a little more work in fakebop such that we set the property to the real RSDP location; we only fall back to the bootloader's copy if we can't find it elsewhere.
Updated by Electric Monk 11 months ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit 6554ec17858060401cf0f52e78b57fec69f7842d Author: John Levon <email@example.com> Date: 2020-01-16T09:43:04.000Z 12195 acpidump failed under EFI Reviewed by: Toomas Soome <firstname.lastname@example.org> Reviewed by: Jason King <email@example.com> Approved by: Dan McDonald <firstname.lastname@example.org>