Hi, >> That's something I think that it's best for firmware to avoid. >> Much better to load tables in memory and use standard ACPI >> methods to find specific tables. > > Problem is this happens relatively late in the firmware boot process.
Completely different idea to tackle the issue: use COMMAND_ADD_POINTER not only for table pointers, but also register offsets. So the firmware doesn't need to parse fadt to figure how it should program pm_base, but instead can fixup the fadt according to the pm_base it has used. That is more in line with how firmware works (pm_base and simliar things tends to be #defines and are not runtime-configurable). And I think it's also more robust when extending/changing tables for newer acpi spec revisions. cheers, Gerd