|
@@ -0,0 +1,69 @@
|
|
|
+Copyright (C) 2018 Intel Corporation
|
|
|
+Author: Sakari Ailus <sakari.ailus@linux.intel.com>
|
|
|
+
|
|
|
+
|
|
|
+Referencing hierarchical data nodes
|
|
|
+-----------------------------------
|
|
|
+
|
|
|
+ACPI in general allows referring to device objects in the tree only.
|
|
|
+Hierarchical data extension nodes may not be referred to directly, hence this
|
|
|
+document defines a scheme to implement such references.
|
|
|
+
|
|
|
+A reference consist of the device object name followed by one or more
|
|
|
+hierarchical data extension [1] keys. Specifically, the hierarchical data
|
|
|
+extension node which is referred to by the key shall lie directly under the
|
|
|
+parent object i.e. either the device object or another hierarchical data
|
|
|
+extension node.
|
|
|
+
|
|
|
+Example
|
|
|
+-------
|
|
|
+
|
|
|
+ In the ASL snippet below, the "reference" _DSD property [2] contains a
|
|
|
+ device object reference to DEV0 and under that device object, a
|
|
|
+ hierarchical data extension key "node" referring to the NODE object and
|
|
|
+ lastly, a hierarchical data extension key "anothernode" referring to the
|
|
|
+ ANOD object which is also the final target of the reference.
|
|
|
+
|
|
|
+ Device (DEV0)
|
|
|
+ {
|
|
|
+ Name (_DSD, Package () {
|
|
|
+ ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
|
|
+ Package () {
|
|
|
+ Package () { "node", NODE },
|
|
|
+ }
|
|
|
+ })
|
|
|
+ Name (NODE, Package() {
|
|
|
+ ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
|
|
+ Package () {
|
|
|
+ Package () { "anothernode", ANOD },
|
|
|
+ }
|
|
|
+ })
|
|
|
+ Name (ANOD, Package() {
|
|
|
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
|
|
+ Package () {
|
|
|
+ Package () { "random-property", 0 },
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ Device (DEV1)
|
|
|
+ {
|
|
|
+ Name (_DSD, Package () {
|
|
|
+ ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
|
|
+ Package () {
|
|
|
+ Package () { "reference", ^DEV0, "node", "anothernode" },
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+References
|
|
|
+----------
|
|
|
+
|
|
|
+[1] Hierarchical Data Extension UUID For _DSD.
|
|
|
+ <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>,
|
|
|
+ referenced 2018-07-17.
|
|
|
+
|
|
|
+[2] Device Properties UUID For _DSD.
|
|
|
+ <URL:http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf>,
|
|
|
+ referenced 2016-10-04.
|