This crate provides the ability to generate static tables (e.g. FADT/FACP, MCFG, etc) as well as generate AML for filling a DSDT table.
amlprovides the ability to generate AML code, see the chapter titled "ACPI Machine Language (AML) Specification" in the ACPI Specification.bertcontains routines for creating aBERTtablecedtcontains routines for creating aCEDTtable (see the CXL specification for more details)facscontains routines for creating aFACStablefadtcontains routines for creating aFADTtable (also known as FACP)hmatcontains routines for creating aHMATtablehestcontains routines for creating aHESTtable, except for the parts that are specified by UEFImadtcontains routines for creating anMADTtable (also known as APIC)mcfgcontains routines for creating anMCFGtableppttcontains routines for creating aPPTTtablerhctcontains routines for creating aRHCTtablerimtcontains routines for creating aRIMTtablerqsccontains routines for creating aRQSCtablersdpcontains a helper for creating aRSDPtablesdtprovides the ability to build user defined tables including header and checksum validationslitcontains routines for creating aSLITtablespcrcontains routines for creating aSPCRtable (not included in ACPI specification, see 0 for details)sratcontains routines for creating aSRATtabletpm2contains routines for creating bothTCPA(TPM 1.2) andTPM2tablesviotcontains routines for creating aVIOTtablexsdtcontains routines for creating anXSDTtable
The crate is currently used by the Cloud Hypervisor project so detailed examples of populating different ACPI table types can be found there.
This crate is licensed under the Apache 2.0 licence. The full text can be found in the LICENSE-APACHE file.