acresrc.h (26f3cdf0) acresrc.h (7b1019a6)
1/******************************************************************************
2 *
3 * Name: acresrc.h - Resource Manager function prototypes
4 *
5 *****************************************************************************/
6
7/*
1/******************************************************************************
2 *
3 * Name: acresrc.h - Resource Manager function prototypes
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2011, Intel Corp.
8 * Copyright (C) 2000 - 2016, Intel Corp.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.

--- 53 unchanged lines hidden (view full) ---

70 UINT8 ResourceOffset;
71 UINT8 AmlOffset;
72 UINT8 Value;
73
74} ACPI_RSCONVERT_INFO;
75
76/* Resource conversion opcodes */
77
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.

--- 53 unchanged lines hidden (view full) ---

70 UINT8 ResourceOffset;
71 UINT8 AmlOffset;
72 UINT8 Value;
73
74} ACPI_RSCONVERT_INFO;
75
76/* Resource conversion opcodes */
77
78#define ACPI_RSC_INITGET 0
79#define ACPI_RSC_INITSET 1
80#define ACPI_RSC_FLAGINIT 2
81#define ACPI_RSC_1BITFLAG 3
82#define ACPI_RSC_2BITFLAG 4
83#define ACPI_RSC_COUNT 5
84#define ACPI_RSC_COUNT16 6
85#define ACPI_RSC_LENGTH 7
86#define ACPI_RSC_MOVE8 8
87#define ACPI_RSC_MOVE16 9
88#define ACPI_RSC_MOVE32 10
89#define ACPI_RSC_MOVE64 11
90#define ACPI_RSC_SET8 12
91#define ACPI_RSC_DATA8 13
92#define ACPI_RSC_ADDRESS 14
93#define ACPI_RSC_SOURCE 15
94#define ACPI_RSC_SOURCEX 16
95#define ACPI_RSC_BITMASK 17
96#define ACPI_RSC_BITMASK16 18
97#define ACPI_RSC_EXIT_NE 19
98#define ACPI_RSC_EXIT_LE 20
99#define ACPI_RSC_EXIT_EQ 21
78typedef enum
79{
80 ACPI_RSC_INITGET = 0,
81 ACPI_RSC_INITSET,
82 ACPI_RSC_FLAGINIT,
83 ACPI_RSC_1BITFLAG,
84 ACPI_RSC_2BITFLAG,
85 ACPI_RSC_3BITFLAG,
86 ACPI_RSC_ADDRESS,
87 ACPI_RSC_BITMASK,
88 ACPI_RSC_BITMASK16,
89 ACPI_RSC_COUNT,
90 ACPI_RSC_COUNT16,
91 ACPI_RSC_COUNT_GPIO_PIN,
92 ACPI_RSC_COUNT_GPIO_RES,
93 ACPI_RSC_COUNT_GPIO_VEN,
94 ACPI_RSC_COUNT_SERIAL_RES,
95 ACPI_RSC_COUNT_SERIAL_VEN,
96 ACPI_RSC_DATA8,
97 ACPI_RSC_EXIT_EQ,
98 ACPI_RSC_EXIT_LE,
99 ACPI_RSC_EXIT_NE,
100 ACPI_RSC_LENGTH,
101 ACPI_RSC_MOVE_GPIO_PIN,
102 ACPI_RSC_MOVE_GPIO_RES,
103 ACPI_RSC_MOVE_SERIAL_RES,
104 ACPI_RSC_MOVE_SERIAL_VEN,
105 ACPI_RSC_MOVE8,
106 ACPI_RSC_MOVE16,
107 ACPI_RSC_MOVE32,
108 ACPI_RSC_MOVE64,
109 ACPI_RSC_SET8,
110 ACPI_RSC_SOURCE,
111 ACPI_RSC_SOURCEX
100
112
113} ACPI_RSCONVERT_OPCODES;
114
101/* Resource Conversion sub-opcodes */
102
103#define ACPI_RSC_COMPARE_AML_LENGTH 0
104#define ACPI_RSC_COMPARE_VALUE 1
105
106#define ACPI_RSC_TABLE_SIZE(d) (sizeof (d) / sizeof (ACPI_RSCONVERT_INFO))
107
108#define ACPI_RS_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_RESOURCE,f)
109#define AML_OFFSET(f) (UINT8) ACPI_OFFSET (AML_RESOURCE,f)
110
111
115/* Resource Conversion sub-opcodes */
116
117#define ACPI_RSC_COMPARE_AML_LENGTH 0
118#define ACPI_RSC_COMPARE_VALUE 1
119
120#define ACPI_RSC_TABLE_SIZE(d) (sizeof (d) / sizeof (ACPI_RSCONVERT_INFO))
121
122#define ACPI_RS_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_RESOURCE,f)
123#define AML_OFFSET(f) (UINT8) ACPI_OFFSET (AML_RESOURCE,f)
124
125
126/*
127 * Individual entry for the resource dump tables
128 */
112typedef const struct acpi_rsdump_info
113{
114 UINT8 Opcode;
115 UINT8 Offset;
129typedef const struct acpi_rsdump_info
130{
131 UINT8 Opcode;
132 UINT8 Offset;
116 char *Name;
133 const char *Name;
117 const char **Pointer;
118
119} ACPI_RSDUMP_INFO;
120
121/* Values for the Opcode field above */
122
134 const char **Pointer;
135
136} ACPI_RSDUMP_INFO;
137
138/* Values for the Opcode field above */
139
123#define ACPI_RSD_TITLE 0
124#define ACPI_RSD_LITERAL 1
125#define ACPI_RSD_STRING 2
126#define ACPI_RSD_UINT8 3
127#define ACPI_RSD_UINT16 4
128#define ACPI_RSD_UINT32 5
129#define ACPI_RSD_UINT64 6
130#define ACPI_RSD_1BITFLAG 7
131#define ACPI_RSD_2BITFLAG 8
132#define ACPI_RSD_SHORTLIST 9
133#define ACPI_RSD_LONGLIST 10
134#define ACPI_RSD_DWORDLIST 11
135#define ACPI_RSD_ADDRESS 12
136#define ACPI_RSD_SOURCE 13
140typedef enum
141{
142 ACPI_RSD_TITLE = 0,
143 ACPI_RSD_1BITFLAG,
144 ACPI_RSD_2BITFLAG,
145 ACPI_RSD_3BITFLAG,
146 ACPI_RSD_ADDRESS,
147 ACPI_RSD_DWORDLIST,
148 ACPI_RSD_LITERAL,
149 ACPI_RSD_LONGLIST,
150 ACPI_RSD_SHORTLIST,
151 ACPI_RSD_SHORTLISTX,
152 ACPI_RSD_SOURCE,
153 ACPI_RSD_STRING,
154 ACPI_RSD_UINT8,
155 ACPI_RSD_UINT16,
156 ACPI_RSD_UINT32,
157 ACPI_RSD_UINT64,
158 ACPI_RSD_WORDLIST
137
159
160} ACPI_RSDUMP_OPCODES;
161
138/* restore default alignment */
139
140#pragma pack()
141
142
143/* Resource tables indexed by internal resource type */
144
145extern const UINT8 AcpiGbl_AmlResourceSizes[];
162/* restore default alignment */
163
164#pragma pack()
165
166
167/* Resource tables indexed by internal resource type */
168
169extern const UINT8 AcpiGbl_AmlResourceSizes[];
170extern const UINT8 AcpiGbl_AmlResourceSerialBusSizes[];
146extern ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[];
147
148/* Resource tables indexed by raw AML resource descriptor type */
149
150extern const UINT8 AcpiGbl_ResourceStructSizes[];
171extern ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[];
172
173/* Resource tables indexed by raw AML resource descriptor type */
174
175extern const UINT8 AcpiGbl_ResourceStructSizes[];
176extern const UINT8 AcpiGbl_ResourceStructSerialBusSizes[];
151extern ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[];
152
177extern ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[];
178
179extern ACPI_RSCONVERT_INFO *AcpiGbl_ConvertResourceSerialBusDispatch[];
153
154typedef struct acpi_vendor_walk_info
155{
156 ACPI_VENDOR_UUID *Uuid;
157 ACPI_BUFFER *Buffer;
158 ACPI_STATUS Status;
159
160} ACPI_VENDOR_WALK_INFO;

--- 4 unchanged lines hidden (view full) ---

165 */
166ACPI_STATUS
167AcpiRsCreateResourceList (
168 ACPI_OPERAND_OBJECT *AmlBuffer,
169 ACPI_BUFFER *OutputBuffer);
170
171ACPI_STATUS
172AcpiRsCreateAmlResources (
180
181typedef struct acpi_vendor_walk_info
182{
183 ACPI_VENDOR_UUID *Uuid;
184 ACPI_BUFFER *Buffer;
185 ACPI_STATUS Status;
186
187} ACPI_VENDOR_WALK_INFO;

--- 4 unchanged lines hidden (view full) ---

192 */
193ACPI_STATUS
194AcpiRsCreateResourceList (
195 ACPI_OPERAND_OBJECT *AmlBuffer,
196 ACPI_BUFFER *OutputBuffer);
197
198ACPI_STATUS
199AcpiRsCreateAmlResources (
173 ACPI_RESOURCE *LinkedListBuffer,
200 ACPI_BUFFER *ResourceList,
174 ACPI_BUFFER *OutputBuffer);
175
176ACPI_STATUS
177AcpiRsCreatePciRoutingTable (
178 ACPI_OPERAND_OBJECT *PackageObject,
179 ACPI_BUFFER *OutputBuffer);
180
181

--- 13 unchanged lines hidden (view full) ---

195ACPI_STATUS
196AcpiRsGetPrsMethodData (
197 ACPI_NAMESPACE_NODE *Node,
198 ACPI_BUFFER *RetBuffer);
199
200ACPI_STATUS
201AcpiRsGetMethodData (
202 ACPI_HANDLE Handle,
201 ACPI_BUFFER *OutputBuffer);
202
203ACPI_STATUS
204AcpiRsCreatePciRoutingTable (
205 ACPI_OPERAND_OBJECT *PackageObject,
206 ACPI_BUFFER *OutputBuffer);
207
208

--- 13 unchanged lines hidden (view full) ---

222ACPI_STATUS
223AcpiRsGetPrsMethodData (
224 ACPI_NAMESPACE_NODE *Node,
225 ACPI_BUFFER *RetBuffer);
226
227ACPI_STATUS
228AcpiRsGetMethodData (
229 ACPI_HANDLE Handle,
203 char *Path,
230 const char *Path,
204 ACPI_BUFFER *RetBuffer);
205
206ACPI_STATUS
207AcpiRsSetSrsMethodData (
208 ACPI_NAMESPACE_NODE *Node,
209 ACPI_BUFFER *RetBuffer);
210
231 ACPI_BUFFER *RetBuffer);
232
233ACPI_STATUS
234AcpiRsSetSrsMethodData (
235 ACPI_NAMESPACE_NODE *Node,
236 ACPI_BUFFER *RetBuffer);
237
238ACPI_STATUS
239AcpiRsGetAeiMethodData (
240 ACPI_NAMESPACE_NODE *Node,
241 ACPI_BUFFER *RetBuffer);
211
212/*
213 * rscalc
214 */
215ACPI_STATUS
216AcpiRsGetListLength (
217 UINT8 *AmlBuffer,
218 UINT32 AmlBufferLength,
219 ACPI_SIZE *SizeNeeded);
220
221ACPI_STATUS
222AcpiRsGetAmlLength (
242
243/*
244 * rscalc
245 */
246ACPI_STATUS
247AcpiRsGetListLength (
248 UINT8 *AmlBuffer,
249 UINT32 AmlBufferLength,
250 ACPI_SIZE *SizeNeeded);
251
252ACPI_STATUS
253AcpiRsGetAmlLength (
223 ACPI_RESOURCE *LinkedListBuffer,
254 ACPI_RESOURCE *ResourceList,
255 ACPI_SIZE ResourceListSize,
224 ACPI_SIZE *SizeNeeded);
225
226ACPI_STATUS
227AcpiRsGetPciRoutingTableLength (
228 ACPI_OPERAND_OBJECT *PackageObject,
229 ACPI_SIZE *BufferSizeNeeded);
230
231ACPI_STATUS
232AcpiRsConvertAmlToResources (
233 UINT8 *Aml,
234 UINT32 Length,
235 UINT32 Offset,
236 UINT8 ResourceIndex,
256 ACPI_SIZE *SizeNeeded);
257
258ACPI_STATUS
259AcpiRsGetPciRoutingTableLength (
260 ACPI_OPERAND_OBJECT *PackageObject,
261 ACPI_SIZE *BufferSizeNeeded);
262
263ACPI_STATUS
264AcpiRsConvertAmlToResources (
265 UINT8 *Aml,
266 UINT32 Length,
267 UINT32 Offset,
268 UINT8 ResourceIndex,
237 void *Context);
269 void **Context);
238
239ACPI_STATUS
240AcpiRsConvertResourcesToAml (
241 ACPI_RESOURCE *Resource,
242 ACPI_SIZE AmlSizeNeeded,
243 UINT8 *OutputBuffer);
244
245

--- 69 unchanged lines hidden (view full) ---

315
316void
317AcpiRsSetResourceLength (
318 ACPI_RSDESC_SIZE TotalLength,
319 AML_RESOURCE *Aml);
320
321
322/*
270
271ACPI_STATUS
272AcpiRsConvertResourcesToAml (
273 ACPI_RESOURCE *Resource,
274 ACPI_SIZE AmlSizeNeeded,
275 UINT8 *OutputBuffer);
276
277

--- 69 unchanged lines hidden (view full) ---

347
348void
349AcpiRsSetResourceLength (
350 ACPI_RSDESC_SIZE TotalLength,
351 AML_RESOURCE *Aml);
352
353
354/*
323 * rsdump
355 * rsdump - Debugger support
324 */
356 */
357#ifdef ACPI_DEBUGGER
325void
326AcpiRsDumpResourceList (
327 ACPI_RESOURCE *Resource);
328
329void
330AcpiRsDumpIrqList (
331 UINT8 *RouteTable);
358void
359AcpiRsDumpResourceList (
360 ACPI_RESOURCE *Resource);
361
362void
363AcpiRsDumpIrqList (
364 UINT8 *RouteTable);
365#endif
332
333
334/*
335 * Resource conversion tables
336 */
337extern ACPI_RSCONVERT_INFO AcpiRsConvertDma[];
338extern ACPI_RSCONVERT_INFO AcpiRsConvertEndDpf[];
339extern ACPI_RSCONVERT_INFO AcpiRsConvertIo[];
340extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedIo[];
341extern ACPI_RSCONVERT_INFO AcpiRsConvertEndTag[];
342extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory24[];
343extern ACPI_RSCONVERT_INFO AcpiRsConvertGenericReg[];
344extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory32[];
345extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedMemory32[];
346extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress32[];
347extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress16[];
348extern ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[];
349extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress64[];
350extern ACPI_RSCONVERT_INFO AcpiRsConvertExtAddress64[];
366
367
368/*
369 * Resource conversion tables
370 */
371extern ACPI_RSCONVERT_INFO AcpiRsConvertDma[];
372extern ACPI_RSCONVERT_INFO AcpiRsConvertEndDpf[];
373extern ACPI_RSCONVERT_INFO AcpiRsConvertIo[];
374extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedIo[];
375extern ACPI_RSCONVERT_INFO AcpiRsConvertEndTag[];
376extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory24[];
377extern ACPI_RSCONVERT_INFO AcpiRsConvertGenericReg[];
378extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory32[];
379extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedMemory32[];
380extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress32[];
381extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress16[];
382extern ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[];
383extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress64[];
384extern ACPI_RSCONVERT_INFO AcpiRsConvertExtAddress64[];
385extern ACPI_RSCONVERT_INFO AcpiRsConvertGpio[];
386extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedDma[];
387extern ACPI_RSCONVERT_INFO AcpiRsConvertI2cSerialBus[];
388extern ACPI_RSCONVERT_INFO AcpiRsConvertSpiSerialBus[];
389extern ACPI_RSCONVERT_INFO AcpiRsConvertUartSerialBus[];
351
352/* These resources require separate get/set tables */
353
354extern ACPI_RSCONVERT_INFO AcpiRsGetIrq[];
355extern ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[];
356extern ACPI_RSCONVERT_INFO AcpiRsGetVendorSmall[];
357extern ACPI_RSCONVERT_INFO AcpiRsGetVendorLarge[];
358
359extern ACPI_RSCONVERT_INFO AcpiRsSetIrq[];
360extern ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[];
361extern ACPI_RSCONVERT_INFO AcpiRsSetVendor[];
362
363
364#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
365/*
366 * rsinfo
367 */
368extern ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[];
390
391/* These resources require separate get/set tables */
392
393extern ACPI_RSCONVERT_INFO AcpiRsGetIrq[];
394extern ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[];
395extern ACPI_RSCONVERT_INFO AcpiRsGetVendorSmall[];
396extern ACPI_RSCONVERT_INFO AcpiRsGetVendorLarge[];
397
398extern ACPI_RSCONVERT_INFO AcpiRsSetIrq[];
399extern ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[];
400extern ACPI_RSCONVERT_INFO AcpiRsSetVendor[];
401
402
403#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
404/*
405 * rsinfo
406 */
407extern ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[];
408extern ACPI_RSDUMP_INFO *AcpiGbl_DumpSerialBusDispatch[];
369
370/*
409
410/*
371 * rsdump
411 * rsdumpinfo
372 */
373extern ACPI_RSDUMP_INFO AcpiRsDumpIrq[];
412 */
413extern ACPI_RSDUMP_INFO AcpiRsDumpIrq[];
414extern ACPI_RSDUMP_INFO AcpiRsDumpPrt[];
374extern ACPI_RSDUMP_INFO AcpiRsDumpDma[];
375extern ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[];
376extern ACPI_RSDUMP_INFO AcpiRsDumpEndDpf[];
377extern ACPI_RSDUMP_INFO AcpiRsDumpIo[];
415extern ACPI_RSDUMP_INFO AcpiRsDumpDma[];
416extern ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[];
417extern ACPI_RSDUMP_INFO AcpiRsDumpEndDpf[];
418extern ACPI_RSDUMP_INFO AcpiRsDumpIo[];
419extern ACPI_RSDUMP_INFO AcpiRsDumpIoFlags[];
378extern ACPI_RSDUMP_INFO AcpiRsDumpFixedIo[];
379extern ACPI_RSDUMP_INFO AcpiRsDumpVendor[];
380extern ACPI_RSDUMP_INFO AcpiRsDumpEndTag[];
381extern ACPI_RSDUMP_INFO AcpiRsDumpMemory24[];
382extern ACPI_RSDUMP_INFO AcpiRsDumpMemory32[];
420extern ACPI_RSDUMP_INFO AcpiRsDumpFixedIo[];
421extern ACPI_RSDUMP_INFO AcpiRsDumpVendor[];
422extern ACPI_RSDUMP_INFO AcpiRsDumpEndTag[];
423extern ACPI_RSDUMP_INFO AcpiRsDumpMemory24[];
424extern ACPI_RSDUMP_INFO AcpiRsDumpMemory32[];
425extern ACPI_RSDUMP_INFO AcpiRsDumpMemoryFlags[];
383extern ACPI_RSDUMP_INFO AcpiRsDumpFixedMemory32[];
384extern ACPI_RSDUMP_INFO AcpiRsDumpAddress16[];
385extern ACPI_RSDUMP_INFO AcpiRsDumpAddress32[];
386extern ACPI_RSDUMP_INFO AcpiRsDumpAddress64[];
387extern ACPI_RSDUMP_INFO AcpiRsDumpExtAddress64[];
388extern ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[];
389extern ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[];
426extern ACPI_RSDUMP_INFO AcpiRsDumpFixedMemory32[];
427extern ACPI_RSDUMP_INFO AcpiRsDumpAddress16[];
428extern ACPI_RSDUMP_INFO AcpiRsDumpAddress32[];
429extern ACPI_RSDUMP_INFO AcpiRsDumpAddress64[];
430extern ACPI_RSDUMP_INFO AcpiRsDumpExtAddress64[];
431extern ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[];
432extern ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[];
433extern ACPI_RSDUMP_INFO AcpiRsDumpGpio[];
434extern ACPI_RSDUMP_INFO AcpiRsDumpFixedDma[];
435extern ACPI_RSDUMP_INFO AcpiRsDumpCommonSerialBus[];
436extern ACPI_RSDUMP_INFO AcpiRsDumpI2cSerialBus[];
437extern ACPI_RSDUMP_INFO AcpiRsDumpSpiSerialBus[];
438extern ACPI_RSDUMP_INFO AcpiRsDumpUartSerialBus[];
439extern ACPI_RSDUMP_INFO AcpiRsDumpGeneralFlags[];
390#endif
391
392#endif /* __ACRESRC_H__ */
440#endif
441
442#endif /* __ACRESRC_H__ */