The RSDP address hint provided by kenv might not be correct (it's only
a hint), the actual RSDP address used by the kernel can be fetched
from sysctl, so always use it.
Sponsored by: Citrix Systems R&D
Differential D14880
acpidump: always fetch the RSDP from sysctl royger on Mar 28 2018, 2:25 PM. Authored by Tags None Referenced Files
Subscribers None
Details
Diff Detail
Event TimelineComment Actions Hmm, what are the cases when the hint is wrong? The kernel always prefers the hint for the acpi0 driver (see sys/x86/acpica/OsdEnvironment.c:AcpiOsGetRootPointer). The hint name is just an implementation detail, it is only set by the loader if the loader actually finds the root pointer via the memory scan or from EFI's system tables. Comment Actions IMO it seem better to use the address that the kernel is using and reporting in the sysctl. Not specially fuzzed about it, just seemed more correct. Comment Actions I think it would be fine to prefer the sysctl to the kenv, but imagine booting a kernel with 'hint.acpi.0.disabled=1'. In that case I think you would want acpidump to honor the kenv hint from the loader's memory scan (or from an EFI table) rather than doing the memory scan in acpidump? But also, I don't think the commit log is accurate to say that the hint can be wrong. We currently assume it is correct if set. |