]>
Commit | Line | Data |
---|---|---|
27c9188f PMD |
1 | # -*- Mode: Python -*- |
2 | # vim: filetype=python | |
3 | # | |
4 | # This work is licensed under the terms of the GNU GPL, version 2 or later. | |
5 | # See the COPYING file in the top-level directory. | |
6 | # SPDX-License-Identifier: GPL-2.0-or-later | |
7 | ||
8 | ## | |
9 | # = ACPI | |
10 | ## | |
11 | ||
12 | ## | |
13 | # @AcpiTableOptions: | |
14 | # | |
15 | # Specify an ACPI table on the command line to load. | |
16 | # | |
17 | # At most one of @file and @data can be specified. The list of files specified | |
18 | # by any one of them is loaded and concatenated in order. If both are omitted, | |
19 | # @data is implied. | |
20 | # | |
21 | # Other fields / optargs can be used to override fields of the generic ACPI | |
22 | # table header; refer to the ACPI specification 5.0, section 5.2.6 System | |
23 | # Description Table Header. If a header field is not overridden, then the | |
24 | # corresponding value from the concatenated blob is used (in case of @file), or | |
25 | # it is filled in with a hard-coded value (in case of @data). | |
26 | # | |
27 | # String fields are copied into the matching ACPI member from lowest address | |
28 | # upwards, and silently truncated / NUL-padded to length. | |
29 | # | |
30 | # @sig: table signature / identifier (4 bytes) | |
31 | # | |
32 | # @rev: table revision number (dependent on signature, 1 byte) | |
33 | # | |
34 | # @oem_id: OEM identifier (6 bytes) | |
35 | # | |
36 | # @oem_table_id: OEM table identifier (8 bytes) | |
37 | # | |
38 | # @oem_rev: OEM-supplied revision number (4 bytes) | |
39 | # | |
40 | # @asl_compiler_id: identifier of the utility that created the table | |
41 | # (4 bytes) | |
42 | # | |
43 | # @asl_compiler_rev: revision number of the utility that created the | |
44 | # table (4 bytes) | |
45 | # | |
46 | # @file: colon (:) separated list of pathnames to load and | |
47 | # concatenate as table data. The resultant binary blob is expected to | |
48 | # have an ACPI table header. At least one file is required. This field | |
49 | # excludes @data. | |
50 | # | |
51 | # @data: colon (:) separated list of pathnames to load and | |
52 | # concatenate as table data. The resultant binary blob must not have an | |
53 | # ACPI table header. At least one file is required. This field excludes | |
54 | # @file. | |
55 | # | |
56 | # Since: 1.5 | |
57 | ## | |
58 | { 'struct': 'AcpiTableOptions', | |
59 | 'data': { | |
60 | '*sig': 'str', | |
61 | '*rev': 'uint8', | |
62 | '*oem_id': 'str', | |
63 | '*oem_table_id': 'str', | |
64 | '*oem_rev': 'uint32', | |
65 | '*asl_compiler_id': 'str', | |
66 | '*asl_compiler_rev': 'uint32', | |
67 | '*file': 'str', | |
68 | '*data': 'str' }} | |
69 | ||
70 | ## | |
71 | # @ACPISlotType: | |
72 | # | |
73 | # @DIMM: memory slot | |
74 | # @CPU: logical CPU slot (since 2.7) | |
75 | ## | |
76 | { 'enum': 'ACPISlotType', 'data': [ 'DIMM', 'CPU' ] } | |
77 | ||
78 | ## | |
79 | # @ACPIOSTInfo: | |
80 | # | |
81 | # OSPM Status Indication for a device | |
82 | # For description of possible values of @source and @status fields | |
83 | # see "_OST (OSPM Status Indication)" chapter of ACPI5.0 spec. | |
84 | # | |
85 | # @device: device ID associated with slot | |
86 | # | |
87 | # @slot: slot ID, unique per slot of a given @slot-type | |
88 | # | |
89 | # @slot-type: type of the slot | |
90 | # | |
91 | # @source: an integer containing the source event | |
92 | # | |
93 | # @status: an integer containing the status code | |
94 | # | |
95 | # Since: 2.1 | |
96 | ## | |
97 | { 'struct': 'ACPIOSTInfo', | |
98 | 'data' : { '*device': 'str', | |
99 | 'slot': 'str', | |
100 | 'slot-type': 'ACPISlotType', | |
101 | 'source': 'int', | |
102 | 'status': 'int' } } | |
103 | ||
104 | ## | |
105 | # @query-acpi-ospm-status: | |
106 | # | |
107 | # Return a list of ACPIOSTInfo for devices that support status | |
108 | # reporting via ACPI _OST method. | |
109 | # | |
110 | # Since: 2.1 | |
111 | # | |
112 | # Example: | |
113 | # | |
114 | # -> { "execute": "query-acpi-ospm-status" } | |
115 | # <- { "return": [ { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0}, | |
116 | # { "slot": "1", "slot-type": "DIMM", "source": 0, "status": 0}, | |
117 | # { "slot": "2", "slot-type": "DIMM", "source": 0, "status": 0}, | |
118 | # { "slot": "3", "slot-type": "DIMM", "source": 0, "status": 0} | |
119 | # ]} | |
120 | # | |
121 | ## | |
122 | { 'command': 'query-acpi-ospm-status', 'returns': ['ACPIOSTInfo'] } | |
123 | ||
124 | ## | |
125 | # @ACPI_DEVICE_OST: | |
126 | # | |
127 | # Emitted when guest executes ACPI _OST method. | |
128 | # | |
129 | # @info: OSPM Status Indication | |
130 | # | |
131 | # Since: 2.1 | |
132 | # | |
133 | # Example: | |
134 | # | |
135 | # <- { "event": "ACPI_DEVICE_OST", | |
136 | # "data": { "device": "d1", "slot": "0", | |
137 | # "slot-type": "DIMM", "source": 1, "status": 0 } } | |
138 | # | |
139 | ## | |
140 | { 'event': 'ACPI_DEVICE_OST', | |
141 | 'data': { 'info': 'ACPIOSTInfo' } } |