@@ -3,11 +3,11 @@ ACPI on Arm systems
3
3
===================
4
4
5
5
ACPI can be used for Armv8 and Armv9 systems designed to follow
6
- the Arm SBSA (Server Base System Architecture) [0] and SBBR (Server
7
- Base Boot Requirements) [1] specifications. Please note that the SBBR
8
- can be retrieved simply by visiting [1], but the SBSA is currently only
9
- available to those with an ARM login due to ARM IP licensing concerns.
10
-
6
+ the BSA (Arm Base System Architecture) [0] and BBR (Arm
7
+ Base Boot Requirements) [1] specifications. Both BSA and BBR are publicly
8
+ accessible documents.
9
+ Arm Servers, in addition to being BSA compliant, comply with a set
10
+ of rules defined in SBSA (Server Base System Architecture) [2].
11
11
12
12
The Arm kernel implements the reduced hardware model of ACPI version
13
13
5.1 or later. Links to the specification and all external documents
@@ -31,7 +31,7 @@ Why ACPI on Arm?
31
31
Before examining the details of the interface between ACPI and Linux, it is
32
32
useful to understand why ACPI is being used. Several technologies already
33
33
exist in Linux for describing non-enumerable hardware, after all. In this
34
- section we summarize a blog post [2 ] from Grant Likely that outlines the
34
+ section we summarize a blog post [3 ] from Grant Likely that outlines the
35
35
reasoning behind ACPI on Arm systems. Actually, we snitch a good portion
36
36
of the summary text almost directly, to be honest.
37
37
@@ -270,16 +270,14 @@ Drivers should look for device properties in the _DSD object ONLY; the _DSD
270
270
object is described in the ACPI specification section 6.2.5, but this only
271
271
describes how to define the structure of an object returned via _DSD, and
272
272
how specific data structures are defined by specific UUIDs. Linux should
273
- only use the _DSD Device Properties UUID [5 ]:
273
+ only use the _DSD Device Properties UUID [4 ]:
274
274
275
275
- UUID: daffd814-6eba-4d8c-8a91-bc9bbf4aa301
276
276
277
- - https://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf
278
-
279
- The UEFI Forum provides a mechanism for registering device properties [4]
280
- so that they may be used across all operating systems supporting ACPI.
281
- Device properties that have not been registered with the UEFI Forum should
282
- not be used.
277
+ Common device properties can be registered by creating a pull request to [4] so
278
+ that they may be used across all operating systems supporting ACPI.
279
+ Device properties that have not been registered with the UEFI Forum can be used
280
+ but not as "uefi-" common properties.
283
281
284
282
Before creating new device properties, check to be sure that they have not
285
283
been defined before and either registered in the Linux kernel documentation
@@ -307,7 +305,7 @@ process.
307
305
308
306
Once registration and review have been completed, the kernel provides an
309
307
interface for looking up device properties in a manner independent of
310
- whether DT or ACPI is being used. This API should be used [6 ]; it can
308
+ whether DT or ACPI is being used. This API should be used [5 ]; it can
311
309
eliminate some duplication of code paths in driver probing functions and
312
310
discourage divergence between DT bindings and ACPI device properties.
313
311
@@ -491,31 +489,23 @@ Documentation/arm64/acpi_object_usage.rst.
491
489
492
490
References
493
491
----------
494
- [0] http://silver.arm.com
495
- document ARM-DEN-0029, or newer:
496
- "Server Base System Architecture", version 2.3, dated 27 Mar 2014
492
+ [0] https://developer.arm.com/documentation/den0094/latest
493
+ document Arm-DEN-0094: "Arm Base System Architecture", version 1.0C, dated 6 Oct 2022
494
+
495
+ [1] https://developer.arm.com/documentation/den0044/latest
496
+ Document Arm-DEN-0044: "Arm Base Boot Requirements", version 2.0G, dated 15 Apr 2022
497
497
498
- [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0044a/Server_Base_Boot_Requirements.pdf
499
- Document ARM-DEN-0044A, or newer: "Server Base Boot Requirements, System
500
- Software on ARM Platforms", dated 16 Aug 2014
498
+ [2] https://developer.arm.com/documentation/den0029/latest
499
+ Document Arm-DEN-0029: "Arm Server Base System Architecture", version 7.1, dated 06 Oct 2022
501
500
502
- [2 ] http://www.secretlab.ca/archives/151,
501
+ [3 ] http://www.secretlab.ca/archives/151,
503
502
10 Jan 2015, Copyright (c) 2015,
504
503
Linaro Ltd., written by Grant Likely.
505
504
506
- [3] AMD ACPI for Seattle platform documentation
507
- http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/Seattle_ACPI_Guide.pdf
508
-
509
-
510
- [4] http://www.uefi.org/acpi
511
- please see the link for the "ACPI _DSD Device
512
- Property Registry Instructions"
513
-
514
- [5] http://www.uefi.org/acpi
515
- please see the link for the "_DSD (Device
516
- Specific Data) Implementation Guide"
505
+ [4] _DSD (Device Specific Data) Implementation Guide
506
+ https://github.com/UEFI/DSD-Guide/blob/main/dsd-guide.pdf
517
507
518
- [6 ] Kernel code for the unified device
508
+ [5 ] Kernel code for the unified device
519
509
property interface can be found in
520
510
include/linux/property.h and drivers/base/property.c.
521
511
0 commit comments