Project

General

Profile

Bug #12195

acpidump failed under EFI

Added by John Levon 11 months ago. Updated 11 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
#1

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.

#2

Updated by John Levon 11 months ago

This was smartos OS-8088

#3

Updated by John Levon 11 months 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.

#4

Updated by Electric Monk 11 months ago

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

git commit 6554ec17858060401cf0f52e78b57fec69f7842d

commit  6554ec17858060401cf0f52e78b57fec69f7842d
Author: John Levon <john.levon@joyent.com>
Date:   2020-01-16T09:43:04.000Z

    12195 acpidump failed under EFI
    Reviewed by: Toomas Soome <tsoome@me.com>
    Reviewed by: Jason King <jason.brian.king@gmail.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom PDF