Configuration manager
The configuration manager is a platform-specific component that collates the platform hardware information and populates an abstract platform information repository.
The configuration manager can:
- Probe the hardware
- Load information from the firmware
- Parse a hardware information file
Platform information repository
The platform information repository contains the platform hardware information that is required for constructing the firmware tables.
Hardware information parser
The hardware information parser is an optional module that can parse a hardware configuration file, for example. an XML or JSON file or a device tree, and populate the platform information repository.
Configuration manager protocol
The configuration manager also implements the configuration manager protocol that provides an interface to access information from the platform information repository.
Table manager
The table manager is responsible for driving the table generation and installation process.
The table manager uses the configuration manager protocol to obtain a list of firmware tables to install.
For each table in the list it queries the appropriate table factory for a table generator. It then invokes the generator interfaces to build the table.
Once the table has been constructed it uses the ACPI table protocol to install the table.
ACPI/SMBIOS table factory
The ACPI/SMBIOS table factory maintains a list of registered ACPI/SMBIOS table generators.
ACPI/SMBIOS table generators
The generators implement the core logic for constructing the respective firmware tables.
The generators use the configuration manager protocol to obtain the required hardware information from the platform information repository for building the table.
The framework implements a set of standard ACPI table generators for the Arm architecture. These table generators aim to comply with the Server Base Boot Requirement (SBBR). The framework is also extensible, and support for other architectures can be added easily.
Learn more about the UEFI specification, EDKII and the ACPI framework.