The usr/src/uts/i86pc/os/acpi_fw.h is dedicated header file for fakebop.c and lgrpplat.c defining instances of acpi tables, effectively duplicating the definitions already in place in acpica headers. Unfortunately it also means the acpi_fw.h is not current by itself nor in regard to acpica definitions.
acpi_fw.h showul be removed and headers provided by acpica should be used instead, making sure the early boot code is current in regard of acpica currently used by the kernel. Note, only structure definitions are used, as acpica itself is not available for very early boot code, the fakebop/lgrpplat implement their own methods to interpret the acpi tables.
reviewboard url: https://www.illumos.org/rb/r/177/
The principal rewrite is done, also some limited testing.