^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ACPI Tables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) The expectations of individual ACPI tables are discussed in the list that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) follows.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) If a section number is used, it refers to a section number in the ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) specification where the object is defined. If "Signature Reserved" is used,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) the table signature (the first four bytes of the table) is the only portion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) of the table recognized by the specification, and the actual table is defined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) outside of the UEFI Forum (see Section 5.2.6 of the specification).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) For ACPI on arm64, tables also fall into the following categories:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - Required: DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - Optional: BGRT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT, IORT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) MCHI, MPST, MSCT, NFIT, PMTT, RASF, SBST, SLIT, SPMI, SRAT, STAO,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) TCPA, TPM2, UEFI, XENV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - Not supported: BOOT, DBGP, DMAR, ETDT, HPET, IBFT, IVRS, LPIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) MSDM, OEMx, PSDT, RSDT, SLIC, WAET, WDAT, WDRT, WPBT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) ====== ========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Table Usage for ARMv8 Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) ====== ========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) BERT Section 18.3 (signature == "BERT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) **Boot Error Record Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Must be supplied if RAS support is provided by the platform. It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) is recommended this table be supplied.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) BOOT Signature Reserved (signature == "BOOT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) **simple BOOT flag table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) BGRT Section 5.2.22 (signature == "BGRT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) **Boot Graphics Resource Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Optional, not currently supported, with no real use-case for an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) ARM server.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) CPEP Section 5.2.18 (signature == "CPEP")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) **Corrected Platform Error Polling table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Optional, not currently supported, and not recommended until such
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) time as ARM-compatible hardware is available, and the specification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) suitably modified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) CSRT Signature Reserved (signature == "CSRT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) **Core System Resources Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) DBG2 Signature Reserved (signature == "DBG2")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) **DeBuG port table 2**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) License has changed and should be usable. Optional if used instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) of earlycon=<device> on the command line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) DBGP Signature Reserved (signature == "DBGP")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) **DeBuG Port table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) DSDT Section 5.2.11.1 (signature == "DSDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) **Differentiated System Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) A DSDT is required; see also SSDT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) ACPI tables contain only one DSDT but can contain one or more SSDTs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) which are optional. Each SSDT can only add to the ACPI namespace,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) but cannot modify or replace anything in the DSDT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) DMAR Signature Reserved (signature == "DMAR")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) **DMA Remapping table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) x86 only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) DRTM Signature Reserved (signature == "DRTM")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) **Dynamic Root of Trust for Measurement table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) ECDT Section 5.2.16 (signature == "ECDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) **Embedded Controller Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Optional, not currently supported, but could be used on ARM if and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) only if one uses the GPE_BIT field to represent an IRQ number, since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) there are no GPE blocks defined in hardware reduced mode. This would
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) need to be modified in the ACPI specification.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) EINJ Section 18.6 (signature == "EINJ")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) **Error Injection table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) This table is very useful for testing platform response to error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) conditions; it allows one to inject an error into the system as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) if it had actually occurred. However, this table should not be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) shipped with a production system; it should be dynamically loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) and executed with the ACPICA tools only during testing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) ERST Section 18.5 (signature == "ERST")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) **Error Record Serialization Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) On a platform supports RAS, this table must be supplied if it is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) UEFI-based; if it is UEFI-based, this table may be supplied. When this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) table is not present, UEFI run time service will be utilized to save
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) and retrieve hardware error information to and from a persistent store.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) ETDT Signature Reserved (signature == "ETDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) **Event Timer Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) Obsolete table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) FACS Section 5.2.10 (signature == "FACS")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) **Firmware ACPI Control Structure**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) It is unlikely that this table will be terribly useful. If it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) provided, the Global Lock will NOT be used since it is not part of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) the hardware reduced profile, and only 64-bit address fields will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) be considered valid.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) FADT Section 5.2.9 (signature == "FACP")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) **Fixed ACPI Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) Required for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) The HW_REDUCED_ACPI flag must be set. All of the fields that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) to be ignored when HW_REDUCED_ACPI is set are expected to be set to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) If an FACS table is provided, the X_FIRMWARE_CTRL field is to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) used, not FIRMWARE_CTRL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) If PSCI is used (as is recommended), make sure that ARM_BOOT_ARCH is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) filled in properly - that the PSCI_COMPLIANT flag is set and that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) PSCI_USE_HVC is set or unset as needed (see table 5-37).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) For the DSDT that is also required, the X_DSDT field is to be used,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) not the DSDT field.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) FPDT Section 5.2.23 (signature == "FPDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) **Firmware Performance Data Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) GTDT Section 5.2.24 (signature == "GTDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) **Generic Timer Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) Required for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) HEST Section 18.3.2 (signature == "HEST")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) **Hardware Error Source Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) ARM-specific error sources have been defined; please use those or the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) PCI types such as type 6 (AER Root Port), 7 (AER Endpoint), or 8 (AER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) Bridge), or use type 9 (Generic Hardware Error Source). Firmware first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) error handling is possible if and only if Trusted Firmware is being
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) used on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) Must be supplied if RAS support is provided by the platform. It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) is recommended this table be supplied.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) HPET Signature Reserved (signature == "HPET")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) **High Precision Event timer Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) x86 only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) IBFT Signature Reserved (signature == "IBFT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) **iSCSI Boot Firmware Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) Microsoft defined table, support TBD.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) IORT Signature Reserved (signature == "IORT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) **Input Output Remapping Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) arm64 only table, required in order to describe IO topology, SMMUs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) and GIC ITSs, and how those various components are connected together,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) such as identifying which components are behind which SMMUs/ITSs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) This table will only be required on certain SBSA platforms (e.g.,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) when using GICv3-ITS and an SMMU); on SBSA Level 0 platforms, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) remains optional.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) IVRS Signature Reserved (signature == "IVRS")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) **I/O Virtualization Reporting Structure**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) x86_64 (AMD) only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) LPIT Signature Reserved (signature == "LPIT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) **Low Power Idle Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) x86 only table as of ACPI 5.1; starting with ACPI 6.0, processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) descriptions and power states on ARM platforms should use the DSDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) and define processor container devices (_HID ACPI0010, Section 8.4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) and more specifically 8.4.3 and 8.4.4).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) MADT Section 5.2.12 (signature == "APIC")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) **Multiple APIC Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) Required for arm64. Only the GIC interrupt controller structures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) should be used (types 0xA - 0xF).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) MCFG Signature Reserved (signature == "MCFG")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) **Memory-mapped ConFiGuration space**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) If the platform supports PCI/PCIe, an MCFG table is required.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) MCHI Signature Reserved (signature == "MCHI")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) **Management Controller Host Interface table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) MPST Section 5.2.21 (signature == "MPST")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) **Memory Power State Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) MSCT Section 5.2.19 (signature == "MSCT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) **Maximum System Characteristic Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) MSDM Signature Reserved (signature == "MSDM")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) **Microsoft Data Management table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) NFIT Section 5.2.25 (signature == "NFIT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) **NVDIMM Firmware Interface Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) OEMx Signature of "OEMx" only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) **OEM Specific Tables**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) All tables starting with a signature of "OEM" are reserved for OEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) use. Since these are not meant to be of general use but are limited
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) to very specific end users, they are not recommended for use and are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) not supported by the kernel for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) PCCT Section 14.1 (signature == "PCCT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) **Platform Communications Channel Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) Recommend for use on arm64; use of PCC is recommended when using CPPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) to control performance and power for platform processors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) PMTT Section 5.2.21.12 (signature == "PMTT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) **Platform Memory Topology Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) PSDT Section 5.2.11.3 (signature == "PSDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) **Persistent System Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) Obsolete table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) RASF Section 5.2.20 (signature == "RASF")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) **RAS Feature table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) RSDP Section 5.2.5 (signature == "RSD PTR")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) **Root System Description PoinTeR**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) Required for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) RSDT Section 5.2.7 (signature == "RSDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) **Root System Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) Since this table can only provide 32-bit addresses, it is deprecated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) on arm64, and will not be used. If provided, it will be ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) SBST Section 5.2.14 (signature == "SBST")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) **Smart Battery Subsystem Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) SLIC Signature Reserved (signature == "SLIC")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) **Software LIcensing table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) SLIT Section 5.2.17 (signature == "SLIT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) **System Locality distance Information Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) Optional in general, but required for NUMA systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) SPCR Signature Reserved (signature == "SPCR")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) **Serial Port Console Redirection table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) Required for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) SPMI Signature Reserved (signature == "SPMI")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) **Server Platform Management Interface table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) Optional, not currently supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) SRAT Section 5.2.16 (signature == "SRAT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) **System Resource Affinity Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) Optional, but if used, only the GICC Affinity structures are read.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) To support arm64 NUMA, this table is required.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) SSDT Section 5.2.11.2 (signature == "SSDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) **Secondary System Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) These tables are a continuation of the DSDT; these are recommended
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) for use with devices that can be added to a running system, but can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) also serve the purpose of dividing up device descriptions into more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) manageable pieces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) An SSDT can only ADD to the ACPI namespace. It cannot modify or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) replace existing device descriptions already in the namespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) These tables are optional, however. ACPI tables should contain only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) one DSDT but can contain many SSDTs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) STAO Signature Reserved (signature == "STAO")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) **_STA Override table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) Optional, but only necessary in virtualized environments in order to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) hide devices from guest OSs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) TCPA Signature Reserved (signature == "TCPA")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) **Trusted Computing Platform Alliance table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) Optional, not currently supported, and may need changes to fully
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) interoperate with arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) TPM2 Signature Reserved (signature == "TPM2")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) **Trusted Platform Module 2 table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) Optional, not currently supported, and may need changes to fully
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) interoperate with arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) UEFI Signature Reserved (signature == "UEFI")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) **UEFI ACPI data table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) Optional, not currently supported. No known use case for arm64,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) at present.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) WAET Signature Reserved (signature == "WAET")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) **Windows ACPI Emulated devices Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) WDAT Signature Reserved (signature == "WDAT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) **Watch Dog Action Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) WDRT Signature Reserved (signature == "WDRT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) **Watch Dog Resource Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) WPBT Signature Reserved (signature == "WPBT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) **Windows Platform Binary Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) Microsoft only table, will not be supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) XENV Signature Reserved (signature == "XENV")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) **Xen project table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) Optional, used only by Xen at present.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) XSDT Section 5.2.8 (signature == "XSDT")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) **eXtended System Description Table**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) Required for arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) ====== ========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) ACPI Objects
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) The expectations on individual ACPI objects that are likely to be used are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) shown in the list that follows; any object not explicitly mentioned below
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) should be used as needed for a particular platform or particular subsystem,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) such as power management or PCI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) ===== ================ ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) Name Section Usage for ARMv8 Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) ===== ================ ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) _CCA 6.2.17 This method must be defined for all bus masters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) on arm64 - there are no assumptions made about
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) whether such devices are cache coherent or not.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) The _CCA value is inherited by all descendants of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) these devices so it does not need to be repeated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) Without _CCA on arm64, the kernel does not know what
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) to do about setting up DMA for the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) NB: this method provides default cache coherency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) attributes; the presence of an SMMU can be used to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) modify that, however. For example, a master could
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) default to non-coherent, but be made coherent with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) the appropriate SMMU configuration (see Table 17 of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) the IORT specification, ARM Document DEN 0049B).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) _CID 6.1.2 Use as needed, see also _HID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) _CLS 6.1.3 Use as needed, see also _HID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) _CPC 8.4.7.1 Use as needed, power management specific. CPPC is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) recommended on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) _CRS 6.2.2 Required on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) _CSD 8.4.2.2 Use as needed, used only in conjunction with _CST.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) _CST 8.4.2.1 Low power idle states (8.4.4) are recommended instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) of C-states.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) _DDN 6.1.4 This field can be used for a device name. However,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) it is meant for DOS device names (e.g., COM1), so be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) careful of its use across OSes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) _DSD 6.2.5 To be used with caution. If this object is used, try
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) to use it within the constraints already defined by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) Device Properties UUID. Only in rare circumstances
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) should it be necessary to create a new _DSD UUID.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) In either case, submit the _DSD definition along with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) any driver patches for discussion, especially when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) device properties are used. A driver will not be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) considered complete without a corresponding _DSD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) description. Once approved by kernel maintainers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) the UUID or device properties must then be registered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) with the UEFI Forum; this may cause some iteration as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) more than one OS will be registering entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) _DSM 9.1.1 Do not use this method. It is not standardized, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) return values are not well documented, and it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) currently a frequent source of error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) \_GL 5.7.1 This object is not to be used in hardware reduced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) mode, and therefore should not be used on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) _GLK 6.5.7 This object requires a global lock be defined; there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) is no global lock on arm64 since it runs in hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) reduced mode. Hence, do not use this object on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) \_GPE 5.3.1 This namespace is for x86 use only. Do not use it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) _HID 6.1.5 This is the primary object to use in device probing,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) though _CID and _CLS may also be used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) _INI 6.5.1 Not required, but can be useful in setting up devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) when UEFI leaves them in a state that may not be what
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) the driver expects before it starts probing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) _LPI 8.4.4.3 Recommended for use with processor definitions (_HID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) ACPI0010) on arm64. See also _RDI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) _MLS 6.1.7 Highly recommended for use in internationalization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) _OFF 7.2.2 It is recommended to define this method for any device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) that can be turned on or off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) _ON 7.2.3 It is recommended to define this method for any device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) that can be turned on or off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) \_OS 5.7.3 This method will return "Linux" by default (this is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) the value of the macro ACPI_OS_NAME on Linux). The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) command line parameter acpi_os=<string> can be used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) to set it to some other value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) _OSC 6.2.11 This method can be a global method in ACPI (i.e.,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) \_SB._OSC), or it may be associated with a specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) device (e.g., \_SB.DEV0._OSC), or both. When used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) as a global method, only capabilities published in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) the ACPI specification are allowed. When used as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) a device-specific method, the process described for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) using _DSD MUST be used to create an _OSC definition;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) out-of-process use of _OSC is not allowed. That is,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) submit the device-specific _OSC usage description as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) part of the kernel driver submission, get it approved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) by the kernel community, then register it with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) UEFI Forum.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) \_OSI 5.7.2 Deprecated on ARM64. As far as ACPI firmware is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) concerned, _OSI is not to be used to determine what
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) sort of system is being used or what functionality
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) is provided. The _OSC method is to be used instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) _PDC 8.4.1 Deprecated, do not use on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) \_PIC 5.8.1 The method should not be used. On arm64, the only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) interrupt model available is GIC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) \_PR 5.3.1 This namespace is for x86 use only on legacy systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) Do not use it on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) _PRT 6.2.13 Required as part of the definition of all PCI root
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) _PRx 7.3.8-11 Use as needed; power management specific. If _PR0 is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) defined, _PR3 must also be defined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) _PSx 7.3.2-5 Use as needed; power management specific. If _PS0 is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) defined, _PS3 must also be defined. If clocks or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) regulators need adjusting to be consistent with power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) usage, change them in these methods.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) _RDI 8.4.4.4 Recommended for use with processor definitions (_HID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) ACPI0010) on arm64. This should only be used in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) conjunction with _LPI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) \_REV 5.7.4 Always returns the latest version of ACPI supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) \_SB 5.3.1 Required on arm64; all devices must be defined in this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) namespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) _SLI 6.2.15 Use is recommended when SLIT table is in use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) _STA 6.3.7, It is recommended to define this method for any device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) 7.2.4 that can be turned on or off. See also the STAO table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) that provides overrides to hide devices in virtualized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) environments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) _SRS 6.2.16 Use as needed; see also _PRS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) _STR 6.1.10 Recommended for conveying device names to end users;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) this is preferred over using _DDN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) _SUB 6.1.9 Use as needed; _HID or _CID are preferred.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) _SUN 6.1.11 Use as needed, but recommended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) _SWS 7.4.3 Use as needed; power management specific; this may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) require specification changes for use on arm64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) _UID 6.1.12 Recommended for distinguishing devices of the same
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) class; define it if at all possible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) ===== ================ ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) ACPI Event Model
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) ----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) Do not use GPE block devices; these are not supported in the hardware reduced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) profile used by arm64. Since there are no GPE blocks defined for use on ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) platforms, ACPI events must be signaled differently.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) There are two options: GPIO-signaled interrupts (Section 5.6.5), and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) interrupt-signaled events (Section 5.6.9). Interrupt-signaled events are a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) new feature in the ACPI 6.1 specification. Either - or both - can be used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) on a given platform, and which to use may be dependent of limitations in any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) given SoC. If possible, interrupt-signaled events are recommended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) ACPI Processor Control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) ----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) Section 8 of the ACPI specification changed significantly in version 6.0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) Processors should now be defined as Device objects with _HID ACPI0007; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) not use the deprecated Processor statement in ASL. All multiprocessor systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) should also define a hierarchy of processors, done with Processor Container
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) Devices (see Section 8.4.3.1, _HID ACPI0010); do not use processor aggregator
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) devices (Section 8.5) to describe processor topology. Section 8.4 of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) specification describes the semantics of these object definitions and how
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) they interrelate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) Most importantly, the processor hierarchy defined also defines the low power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) idle states that are available to the platform, along with the rules for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) determining which processors can be turned on or off and the circumstances
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) that control that. Without this information, the processors will run in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) whatever power state they were left in by UEFI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) Note too, that the processor Device objects defined and the entries in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) MADT for GICs are expected to be in synchronization. The _UID of the Device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) object must correspond to processor IDs used in the MADT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) It is recommended that CPPC (8.4.5) be used as the primary model for processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) performance control on arm64. C-states and P-states may become available at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) some point in the future, but most current design work appears to favor CPPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) Further, it is essential that the ARMv8 SoC provide a fully functional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) implementation of PSCI; this will be the only mechanism supported by ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) to control CPU power state. Booting of secondary CPUs using the ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) parking protocol is possible, but discouraged, since only PSCI is supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) for ARM servers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) ACPI System Address Map Interfaces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) ----------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) In Section 15 of the ACPI specification, several methods are mentioned as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) possible mechanisms for conveying memory resource information to the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) For arm64, we will only support UEFI for booting with ACPI, hence the UEFI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) GetMemoryMap() boot service is the only mechanism that will be used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) ACPI Platform Error Interfaces (APEI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) -------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) The APEI tables supported are described above.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) APEI requires the equivalent of an SCI and an NMI on ARMv8. The SCI is used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) to notify the OSPM of errors that have occurred but can be corrected and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) system can continue correct operation, even if possibly degraded. The NMI is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) used to indicate fatal errors that cannot be corrected, and require immediate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) attention.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) Since there is no direct equivalent of the x86 SCI or NMI, arm64 handles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) these slightly differently. The SCI is handled as a high priority interrupt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) given that these are corrected (or correctable) errors being reported, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) is sufficient. The NMI is emulated as the highest priority interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) possible. This implies some caution must be used since there could be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) interrupts at higher privilege levels or even interrupts at the same priority
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) as the emulated NMI. In Linux, this should not be the case but one should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) be aware it could happen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) ACPI Objects Not Supported on ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) -----------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) While this may change in the future, there are several classes of objects
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) that can be defined, but are not currently of general interest to ARM servers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) Some of these objects have x86 equivalents, and may actually make sense in ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) servers. However, there is either no hardware available at present, or there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) may not even be a non-ARM implementation yet. Hence, they are not currently
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) The following classes of objects are not supported:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) - Section 9.2: ambient light sensor devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) - Section 9.3: battery devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) - Section 9.4: lids (e.g., laptop lids)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) - Section 9.8.2: IDE controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) - Section 9.9: floppy controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) - Section 9.10: GPE block devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) - Section 9.15: PC/AT RTC/CMOS devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) - Section 9.16: user presence detection devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) - Section 9.17: I/O APIC devices; all GICs must be enumerable via MADT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) - Section 9.18: time and alarm devices (see 9.15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) - Section 10: power source and power meter devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) - Section 11: thermal management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) - Section 12: embedded controllers interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) - Section 13: SMBus interfaces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) This also means that there is no support for the following objects:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) ==== =========================== ==== ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) Name Section Name Section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) ==== =========================== ==== ==========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) _ALC 9.3.4 _FDM 9.10.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) _ALI 9.3.2 _FIX 6.2.7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) _ALP 9.3.6 _GAI 10.4.5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) _ALR 9.3.5 _GHL 10.4.7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) _ALT 9.3.3 _GTM 9.9.2.1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) _BCT 10.2.2.10 _LID 9.5.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) _BDN 6.5.3 _PAI 10.4.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) _BIF 10.2.2.1 _PCL 10.3.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) _BIX 10.2.2.1 _PIF 10.3.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) _BLT 9.2.3 _PMC 10.4.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) _BMA 10.2.2.4 _PMD 10.4.8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) _BMC 10.2.2.12 _PMM 10.4.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) _BMD 10.2.2.11 _PRL 10.3.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) _BMS 10.2.2.5 _PSR 10.3.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) _BST 10.2.2.6 _PTP 10.4.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) _BTH 10.2.2.7 _SBS 10.1.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) _BTM 10.2.2.9 _SHL 10.4.6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) _BTP 10.2.2.8 _STM 9.9.2.1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) _DCK 6.5.2 _UPD 9.16.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) _EC 12.12 _UPP 9.16.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) _FDE 9.10.1 _WPC 10.5.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) _FDI 9.10.2 _WPP 10.5.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) ==== =========================== ==== ==========