Skip to content

Commit 3927eaf

Browse files
jmarinhoctmarinas
authored andcommitted
Documentation/arm64: Update ACPI tables from BBR
The BBR specification requires (or conditionally requires) a set of ACPI tables for a proper working system. This commit updates: - the list of ACPI tables to reflect the contents of BBR version 2.0 (see https://developer.arm.com/documentation/den0044/g). - the list of ACPI tables in acpi_object_usage. This last update ensures that both files remain coherent. Cc: Jeremy Linton <[email protected]> Cc: James Morse <[email protected]> Cc: Rob Herring <[email protected]> Cc: Will Deacon <[email protected]> Cc: Jonathan Corbet <[email protected]> Cc: Hanjun Guo <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Jose Marinho <[email protected]> Reviewed-by: Samer El-Haj-Mahmoud <[email protected]> Acked-by: Sudeep Holla <[email protected]> Reviewed-by: Jeremy Linton <[email protected]> Reviewed-by: Hanjun Guo <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent 8c350df commit 3927eaf

File tree

2 files changed

+140
-13
lines changed

2 files changed

+140
-13
lines changed

Documentation/arm64/acpi_object_usage.rst

Lines changed: 76 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,37 @@ For ACPI on arm64, tables also fall into the following categories:
1717

1818
- Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT
1919

20-
- Optional: BGRT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT, IBFT,
21-
IORT, MCHI, MPST, MSCT, NFIT, PMTT, RASF, SBST, SLIT, SPMI, SRAT,
22-
STAO, TCPA, TPM2, UEFI, XENV
20+
- Optional: AGDI, BGRT, CEDT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT,
21+
HMAT, IBFT, IORT, MCHI, MPAM, MPST, MSCT, NFIT, PMTT, PPTT, RASF, SBST,
22+
SDEI, SLIT, SPMI, SRAT, STAO, TCPA, TPM2, UEFI, XENV
2323

24-
- Not supported: BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT, MSDM, OEMx,
25-
PSDT, RSDT, SLIC, WAET, WDAT, WDRT, WPBT
24+
- Not supported: AEST, APMT, BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT,
25+
MSDM, OEMx, PDTT, PSDT, RAS2, RSDT, SLIC, WAET, WDAT, WDRT, WPBT
2626

2727
====== ========================================================================
2828
Table Usage for ARMv8 Linux
2929
====== ========================================================================
30+
AEST Signature Reserved (signature == "AEST")
31+
32+
**Arm Error Source Table**
33+
34+
This table informs the OS of any error nodes in the system that are
35+
compliant with the Arm RAS architecture.
36+
37+
AGDI Signature Reserved (signature == "AGDI")
38+
39+
**Arm Generic diagnostic Dump and Reset Device Interface Table**
40+
41+
This table describes a non-maskable event, that is used by the platform
42+
firmware, to request the OS to generate a diagnostic dump and reset the device.
43+
44+
APMT Signature Reserved (signature == "APMT")
45+
46+
**Arm Performance Monitoring Table**
47+
48+
This table describes the properties of PMU support implmented by
49+
components in the system.
50+
3051
BERT Section 18.3 (signature == "BERT")
3152

3253
**Boot Error Record Table**
@@ -47,6 +68,13 @@ BGRT Section 5.2.22 (signature == "BGRT")
4768
Optional, not currently supported, with no real use-case for an
4869
ARM server.
4970

71+
CEDT Signature Reserved (signature == "CEDT")
72+
73+
**CXL Early Discovery Table**
74+
75+
This table allows the OS to discover any CXL Host Bridges and the Host
76+
Bridge registers.
77+
5078
CPEP Section 5.2.18 (signature == "CPEP")
5179

5280
**Corrected Platform Error Polling table**
@@ -184,6 +212,15 @@ HEST Section 18.3.2 (signature == "HEST")
184212
Must be supplied if RAS support is provided by the platform. It
185213
is recommended this table be supplied.
186214

215+
HMAT Section 5.2.28 (signature == "HMAT")
216+
217+
**Heterogeneous Memory Attribute Table**
218+
219+
This table describes the memory attributes, such as memory side cache
220+
attributes and bandwidth and latency details, related to Memory Proximity
221+
Domains. The OS uses this information to optimize the system memory
222+
configuration.
223+
187224
HPET Signature Reserved (signature == "HPET")
188225

189226
**High Precision Event timer Table**
@@ -241,6 +278,13 @@ MCHI Signature Reserved (signature == "MCHI")
241278

242279
Optional, not currently supported.
243280

281+
MPAM Signature Reserved (signature == "MPAM")
282+
283+
**Memory Partitioning And Monitoring table**
284+
285+
This table allows the OS to discover the MPAM controls implemented by
286+
the subsystems.
287+
244288
MPST Section 5.2.21 (signature == "MPST")
245289

246290
**Memory Power State Table**
@@ -281,18 +325,39 @@ PCCT Section 14.1 (signature == "PCCT)
281325
Recommend for use on arm64; use of PCC is recommended when using CPPC
282326
to control performance and power for platform processors.
283327

328+
PDTT Section 5.2.29 (signature == "PDTT")
329+
330+
**Platform Debug Trigger Table**
331+
332+
This table describes PCC channels used to gather debug logs of
333+
non-architectural features.
334+
335+
284336
PMTT Section 5.2.21.12 (signature == "PMTT")
285337

286338
**Platform Memory Topology Table**
287339

288340
Optional, not currently supported.
289341

342+
PPTT Section 5.2.30 (signature == "PPTT")
343+
344+
**Processor Properties Topology Table**
345+
346+
This table provides the processor and cache topology.
347+
290348
PSDT Section 5.2.11.3 (signature == "PSDT")
291349

292350
**Persistent System Description Table**
293351

294352
Obsolete table, will not be supported.
295353

354+
RAS2 Section 5.2.21 (signature == "RAS2")
355+
356+
**RAS Features 2 table**
357+
358+
This table provides interfaces for the RAS capabilities implemented in
359+
the platform.
360+
296361
RASF Section 5.2.20 (signature == "RASF")
297362

298363
**RAS Feature table**
@@ -318,6 +383,12 @@ SBST Section 5.2.14 (signature == "SBST")
318383

319384
Optional, not currently supported.
320385

386+
SDEI Signature Reserved (signature == "SDEI")
387+
388+
**Software Delegated Exception Interface table**
389+
390+
This table advertises the presence of the SDEI interface.
391+
321392
SLIC Signature Reserved (signature == "SLIC")
322393

323394
**Software LIcensing table**

Documentation/arm64/arm-acpi.rst

Lines changed: 64 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ hardware reduced mode must be set to zero.
170170

171171
For the ACPI core to operate properly, and in turn provide the information
172172
the kernel needs to configure devices, it expects to find the following
173-
tables (all section numbers refer to the ACPI 6.1 specification):
173+
tables (all section numbers refer to the ACPI 6.5 specification):
174174

175175
- RSDP (Root System Description Pointer), section 5.2.5
176176

@@ -185,20 +185,76 @@ tables (all section numbers refer to the ACPI 6.1 specification):
185185

186186
- GTDT (Generic Timer Description Table), section 5.2.24
187187

188+
- PPTT (Processor Properties Topology Table), section 5.2.30
189+
190+
- DBG2 (DeBuG port table 2), section 5.2.6, specifically Table 5-6.
191+
192+
- APMT (Arm Performance Monitoring unit Table), section 5.2.6, specifically Table 5-6.
193+
194+
- AGDI (Arm Generic diagnostic Dump and Reset Device Interface Table), section 5.2.6, specifically Table 5-6.
195+
188196
- If PCI is supported, the MCFG (Memory mapped ConFiGuration
189-
Table), section 5.2.6, specifically Table 5-31.
197+
Table), section 5.2.6, specifically Table 5-6.
190198

191199
- If booting without a console=<device> kernel parameter is
192200
supported, the SPCR (Serial Port Console Redirection table),
193-
section 5.2.6, specifically Table 5-31.
201+
section 5.2.6, specifically Table 5-6.
194202

195203
- If necessary to describe the I/O topology, SMMUs and GIC ITSs,
196204
the IORT (Input Output Remapping Table, section 5.2.6, specifically
197-
Table 5-31).
205+
Table 5-6).
206+
207+
- If NUMA is supported, the following tables are required:
208+
209+
- SRAT (System Resource Affinity Table), section 5.2.16
210+
211+
- SLIT (System Locality distance Information Table), section 5.2.17
212+
213+
- If NUMA is supported, and the system contains heterogeneous memory,
214+
the HMAT (Heterogeneous Memory Attribute Table), section 5.2.28.
215+
216+
- If the ACPI Platform Error Interfaces are required, the following
217+
tables are conditionally required:
218+
219+
- BERT (Boot Error Record Table, section 18.3.1)
220+
221+
- EINJ (Error INJection table, section 18.6.1)
222+
223+
- ERST (Error Record Serialization Table, section 18.5)
224+
225+
- HEST (Hardware Error Source Table, section 18.3.2)
226+
227+
- SDEI (Software Delegated Exception Interface table, section 5.2.6,
228+
specifically Table 5-6)
229+
230+
- AEST (Arm Error Source Table, section 5.2.6,
231+
specifically Table 5-6)
232+
233+
- RAS2 (ACPI RAS2 feature table, section 5.2.21)
234+
235+
- If the system contains controllers using PCC channel, the
236+
PCCT (Platform Communications Channel Table), section 14.1
237+
238+
- If the system contains a controller to capture board-level system state,
239+
and communicates with the host via PCC, the PDTT (Platform Debug Trigger
240+
Table), section 5.2.29.
241+
242+
- If NVDIMM is supported, the NFIT (NVDIMM Firmware Interface Table), section 5.2.26
243+
244+
- If video framebuffer is present, the BGRT (Boot Graphics Resource Table), section 5.2.23
245+
246+
- If IPMI is implemented, the SPMI (Server Platform Management Interface),
247+
section 5.2.6, specifically Table 5-6.
248+
249+
- If the system contains a CXL Host Bridge, the CEDT (CXL Early Discovery
250+
Table), section 5.2.6, specifically Table 5-6.
251+
252+
- If the system supports MPAM, the MPAM (Memory Partitioning And Monitoring table), section 5.2.6,
253+
specifically Table 5-6.
254+
255+
- If the system lacks persistent storage, the IBFT (ISCSI Boot Firmware
256+
Table), section 5.2.6, specifically Table 5-6.
198257

199-
- If NUMA is supported, the SRAT (System Resource Affinity Table)
200-
and SLIT (System Locality distance Information Table), sections
201-
5.2.16 and 5.2.17, respectively.
202258

203259
If the above tables are not all present, the kernel may or may not be
204260
able to boot properly since it may not be able to configure all of the
@@ -450,7 +506,7 @@ version 5.1 was released and version 6.0 substantially completed, with most of
450506
the changes being driven by Arm-specific requirements. Proposed changes are
451507
presented and discussed in the ASWG (ACPI Specification Working Group) which
452508
is a part of the UEFI Forum. The current version of the ACPI specification
453-
is 6.1 release in January 2016.
509+
is 6.5 release in August 2022.
454510

455511
Participation in this group is open to all UEFI members. Please see
456512
http://www.uefi.org/workinggroup for details on group membership.

0 commit comments

Comments
 (0)