Bug #12195


acpidump failed under EFI

Added by John Levon over 3 years ago. Updated over 3 years ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:
External Bug:
Actions #1

Updated by John Levon over 3 years 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.

Actions #2

Updated by John Levon over 3 years ago

This was smartos OS-8088

Actions #3

Updated by John Levon over 3 years ago

I tested this with:

iPXE booted legacy and EFI (so bootloader doesn't provide us an RSDP copy)
loader booted legacy and EFI
SmartOS KVM instance

as well as on a couple of other systems. On all I verified the property looked good and acpidump now/still worked.

Actions #4

Updated by Electric Monk over 3 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 6554ec17858060401cf0f52e78b57fec69f7842d

commit  6554ec17858060401cf0f52e78b57fec69f7842d
Author: John Levon <>
Date:   2020-01-16T09:43:04.000Z

    12195 acpidump failed under EFI
    Reviewed by: Toomas Soome <>
    Reviewed by: Jason King <>
    Approved by: Dan McDonald <>


Also available in: Atom PDF