type AmlObject

bend-osdev-acpi@0.1.1.0 · aml_ns.bend:16

import bend-osdev-acpi@0.1.1.0/aml_ns.bend as AmlNs
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/aml_value.bend as V

16type AmlObject is Data:
17  # Name(): a data object
18  AmlOData{v: V.AmlValue}
19  # Method(): its argument count, its flags byte and its body (AML bytes)
20  AmlOMethod{nargs: Nat, flags: U32, body: B.Octets}
21  # Scope, Device, Processor, PowerResource, ThermalZone: the ObjectType
22  # code (0 for a plain scope)
23  AmlOScope{kind: U32}
24  # OperationRegion(): address space, offset, length; parent: the scope
25  # that holds it (its device's _ADR gives a PCI region its function)
26  AmlORegion{space: U32, offset: W.W64, length: W.W64, parent: String}
27  # a field unit of a region: bit offset and width, the field's flags
28  # (access type, lock rule, update rule) and access attribute
29  AmlOField{region: String, bit_off: Nat, bits: Nat, flags: U32}
30  # a field unit reached through an index register and a data register
31  AmlOIndexField{index: String, data: String, bit_off: Nat, bits: Nat, flags: U32}
32  # a field of a buffer (CreateBitField and the others): the buffer's
33  # location, bit offset and width
34  AmlOBufField{buf: V.AmlLoc, bit_off: Nat, bits: Nat}
35  AmlOMutex{sync: U32}
36  AmlOEvent{}
37  AmlOAlias{target: String}
38  # an object the interpreter provides: 1 is \_OSI
39  AmlOBuiltin{id: U32}
40  # declared by External, not defined in the tables read
41  AmlOExternal{kind: U32}

Uses (7)

Used by (43)