xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision bf6fac21dc33fa0efccada505448c1ce3a6359ab)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acpixf.h - External interfaces to the ACPI subsystem
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
8efcc2a30SJung-uk Kim  * Copyright (C) 2000 - 2013, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim 
45a9f12690SJung-uk Kim #ifndef __ACXFACE_H__
46a9f12690SJung-uk Kim #define __ACXFACE_H__
47a9f12690SJung-uk Kim 
48a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
49a9f12690SJung-uk Kim 
50*bf6fac21SJung-uk Kim #define ACPI_CA_VERSION                 0x20130725
51a9f12690SJung-uk Kim 
52a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
54ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
551df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
56a9f12690SJung-uk Kim 
57a9f12690SJung-uk Kim /*
58a9f12690SJung-uk Kim  * Globals that are publically available
59a9f12690SJung-uk Kim  */
60a9f12690SJung-uk Kim extern UINT32               AcpiCurrentGpeCount;
61a9f12690SJung-uk Kim extern ACPI_TABLE_FADT      AcpiGbl_FADT;
6242fecd12SJung-uk Kim extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
633f0275a0SJung-uk Kim extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
64*bf6fac21SJung-uk Kim extern UINT8                AcpiGbl_OsiData;
65a9f12690SJung-uk Kim 
66a9f12690SJung-uk Kim /* Runtime configuration of debug print levels */
67a9f12690SJung-uk Kim 
68a9f12690SJung-uk Kim extern UINT32               AcpiDbgLevel;
69a9f12690SJung-uk Kim extern UINT32               AcpiDbgLayer;
70a9f12690SJung-uk Kim 
71a9f12690SJung-uk Kim /* ACPICA runtime options */
72a9f12690SJung-uk Kim 
73a9f12690SJung-uk Kim extern UINT8                AcpiGbl_EnableInterpreterSlack;
74a9f12690SJung-uk Kim extern UINT8                AcpiGbl_AllMethodsSerialized;
75a9f12690SJung-uk Kim extern UINT8                AcpiGbl_CreateOsiMethod;
76a9f12690SJung-uk Kim extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
77a9f12690SJung-uk Kim extern ACPI_NAME            AcpiGbl_TraceMethodName;
78a9f12690SJung-uk Kim extern UINT32               AcpiGbl_TraceFlags;
79ca3cf4faSJung-uk Kim extern UINT8                AcpiGbl_EnableAmlDebugObject;
808c8be05fSJung-uk Kim extern UINT8                AcpiGbl_CopyDsdtLocally;
81a88e22b7SJung-uk Kim extern UINT8                AcpiGbl_TruncateIoAddresses;
823f0275a0SJung-uk Kim extern UINT8                AcpiGbl_DisableAutoRepair;
83a9d8d09cSJung-uk Kim extern UINT8                AcpiGbl_DisableSsdtTableLoad;
84a9f12690SJung-uk Kim 
85a9f12690SJung-uk Kim 
86a9f12690SJung-uk Kim /*
87a159c266SJung-uk Kim  * Hardware-reduced prototypes. All interfaces that use these macros will
88a159c266SJung-uk Kim  * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
89a159c266SJung-uk Kim  * is set to TRUE.
90a159c266SJung-uk Kim  */
91a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
92a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
93a159c266SJung-uk Kim     Prototype;
94a159c266SJung-uk Kim 
95a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
96a159c266SJung-uk Kim     Prototype;
97a159c266SJung-uk Kim 
98a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
99a159c266SJung-uk Kim     Prototype;
100a159c266SJung-uk Kim 
101a159c266SJung-uk Kim #else
102a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
103a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
104a159c266SJung-uk Kim 
105a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
106a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
107a159c266SJung-uk Kim 
108a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
109a159c266SJung-uk Kim     static ACPI_INLINE Prototype {}
110a159c266SJung-uk Kim 
111a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
112a159c266SJung-uk Kim 
113a159c266SJung-uk Kim 
114a159c266SJung-uk Kim /*
1155a77b11bSJung-uk Kim  * Initialization
116a9f12690SJung-uk Kim  */
117a9f12690SJung-uk Kim ACPI_STATUS
118a9f12690SJung-uk Kim AcpiInitializeTables (
119a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
120a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
121a9f12690SJung-uk Kim     BOOLEAN                 AllowResize);
122a9f12690SJung-uk Kim 
123a9f12690SJung-uk Kim ACPI_STATUS
124a9f12690SJung-uk Kim AcpiInitializeSubsystem (
125a9f12690SJung-uk Kim     void);
126a9f12690SJung-uk Kim 
127a9f12690SJung-uk Kim ACPI_STATUS
128a9f12690SJung-uk Kim AcpiEnableSubsystem (
129a9f12690SJung-uk Kim     UINT32                  Flags);
130a9f12690SJung-uk Kim 
131a9f12690SJung-uk Kim ACPI_STATUS
132a9f12690SJung-uk Kim AcpiInitializeObjects (
133a9f12690SJung-uk Kim     UINT32                  Flags);
134a9f12690SJung-uk Kim 
135a9f12690SJung-uk Kim ACPI_STATUS
136a9f12690SJung-uk Kim AcpiTerminate (
137a9f12690SJung-uk Kim     void);
138a9f12690SJung-uk Kim 
139a9f12690SJung-uk Kim 
1405a77b11bSJung-uk Kim /*
1415a77b11bSJung-uk Kim  * Miscellaneous global interfaces
1425a77b11bSJung-uk Kim  */
143a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
144a9f12690SJung-uk Kim ACPI_STATUS
145a9f12690SJung-uk Kim AcpiEnable (
146a159c266SJung-uk Kim     void))
147a9f12690SJung-uk Kim 
148a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
149a9f12690SJung-uk Kim ACPI_STATUS
150a9f12690SJung-uk Kim AcpiDisable (
151a159c266SJung-uk Kim     void))
152a9f12690SJung-uk Kim 
153a9f12690SJung-uk Kim ACPI_STATUS
1545a77b11bSJung-uk Kim AcpiSubsystemStatus (
1555a77b11bSJung-uk Kim     void);
1565a77b11bSJung-uk Kim 
1575a77b11bSJung-uk Kim ACPI_STATUS
158a9f12690SJung-uk Kim AcpiGetSystemInfo (
159a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
160a9f12690SJung-uk Kim 
161a9f12690SJung-uk Kim ACPI_STATUS
162a9f12690SJung-uk Kim AcpiGetStatistics (
163a9f12690SJung-uk Kim     ACPI_STATISTICS         *Stats);
164a9f12690SJung-uk Kim 
165a9f12690SJung-uk Kim const char *
166a9f12690SJung-uk Kim AcpiFormatException (
167a9f12690SJung-uk Kim     ACPI_STATUS             Exception);
168a9f12690SJung-uk Kim 
169a9f12690SJung-uk Kim ACPI_STATUS
170a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
171a9f12690SJung-uk Kim     void);
172a9f12690SJung-uk Kim 
173709fac06SJung-uk Kim ACPI_STATUS
174709fac06SJung-uk Kim AcpiInstallInterface (
175709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
176709fac06SJung-uk Kim 
177709fac06SJung-uk Kim ACPI_STATUS
178709fac06SJung-uk Kim AcpiRemoveInterface (
179709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
180a9f12690SJung-uk Kim 
181*bf6fac21SJung-uk Kim ACPI_STATUS
182*bf6fac21SJung-uk Kim AcpiUpdateInterfaces (
183*bf6fac21SJung-uk Kim     UINT8                   Action);
184*bf6fac21SJung-uk Kim 
185ec3fc72fSJung-uk Kim UINT32
186ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
187ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
188ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
189ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
190ec3fc72fSJung-uk Kim     BOOLEAN                 Warn);
191ec3fc72fSJung-uk Kim 
1921df130f1SJung-uk Kim ACPI_STATUS
1931df130f1SJung-uk Kim AcpiDecodePldBuffer (
1941df130f1SJung-uk Kim     UINT8                   *InBuffer,
1951df130f1SJung-uk Kim     ACPI_SIZE               Length,
1961df130f1SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer);
1975a77b11bSJung-uk Kim 
198a9f12690SJung-uk Kim /*
199709fac06SJung-uk Kim  * ACPI Memory management
200a9f12690SJung-uk Kim  */
201a9f12690SJung-uk Kim void *
202a9f12690SJung-uk Kim AcpiAllocate (
203a9f12690SJung-uk Kim     UINT32                  Size);
204a9f12690SJung-uk Kim 
205a9f12690SJung-uk Kim void *
206a9f12690SJung-uk Kim AcpiCallocate (
207a9f12690SJung-uk Kim     UINT32                  Size);
208a9f12690SJung-uk Kim 
209a9f12690SJung-uk Kim void
210a9f12690SJung-uk Kim AcpiFree (
211a9f12690SJung-uk Kim     void                    *Address);
212a9f12690SJung-uk Kim 
213a9f12690SJung-uk Kim 
214a9f12690SJung-uk Kim /*
215e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
216e8241eabSJung-uk Kim  */
217e8241eabSJung-uk Kim ACPI_STATUS
218e8241eabSJung-uk Kim AcpiLoadTable (
219e8241eabSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
220e8241eabSJung-uk Kim 
221e8241eabSJung-uk Kim ACPI_STATUS
222e8241eabSJung-uk Kim AcpiUnloadParentTable (
223e8241eabSJung-uk Kim     ACPI_HANDLE             Object);
224e8241eabSJung-uk Kim 
225e8241eabSJung-uk Kim ACPI_STATUS
226e8241eabSJung-uk Kim AcpiLoadTables (
227e8241eabSJung-uk Kim     void);
228e8241eabSJung-uk Kim 
229e8241eabSJung-uk Kim 
230e8241eabSJung-uk Kim /*
231a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
232a9f12690SJung-uk Kim  */
233a9f12690SJung-uk Kim ACPI_STATUS
234a9f12690SJung-uk Kim AcpiReallocateRootTable (
235a9f12690SJung-uk Kim     void);
236a9f12690SJung-uk Kim 
237a9f12690SJung-uk Kim ACPI_STATUS
238a9f12690SJung-uk Kim AcpiFindRootPointer (
239a9f12690SJung-uk Kim     ACPI_SIZE               *RsdpAddress);
240a9f12690SJung-uk Kim 
241a9f12690SJung-uk Kim ACPI_STATUS
242a9f12690SJung-uk Kim AcpiGetTableHeader (
243a9f12690SJung-uk Kim     ACPI_STRING             Signature,
244a9f12690SJung-uk Kim     UINT32                  Instance,
245a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader);
246a9f12690SJung-uk Kim 
247a9f12690SJung-uk Kim ACPI_STATUS
248a9f12690SJung-uk Kim AcpiGetTable (
249a9f12690SJung-uk Kim     ACPI_STRING             Signature,
250a9f12690SJung-uk Kim     UINT32                  Instance,
251a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
252a9f12690SJung-uk Kim 
253a9f12690SJung-uk Kim ACPI_STATUS
254a9f12690SJung-uk Kim AcpiGetTableByIndex (
255a9f12690SJung-uk Kim     UINT32                  TableIndex,
256a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
257a9f12690SJung-uk Kim 
258a9f12690SJung-uk Kim ACPI_STATUS
259a9f12690SJung-uk Kim AcpiInstallTableHandler (
260a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
261a9f12690SJung-uk Kim     void                    *Context);
262a9f12690SJung-uk Kim 
263a9f12690SJung-uk Kim ACPI_STATUS
264a9f12690SJung-uk Kim AcpiRemoveTableHandler (
265a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler);
266a9f12690SJung-uk Kim 
267a9f12690SJung-uk Kim 
268a9f12690SJung-uk Kim /*
269a9f12690SJung-uk Kim  * Namespace and name interfaces
270a9f12690SJung-uk Kim  */
271a9f12690SJung-uk Kim ACPI_STATUS
272a9f12690SJung-uk Kim AcpiWalkNamespace (
273a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
274a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
275a9f12690SJung-uk Kim     UINT32                  MaxDepth,
276*bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
277*bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
278a9f12690SJung-uk Kim     void                    *Context,
279a9f12690SJung-uk Kim     void                    **ReturnValue);
280a9f12690SJung-uk Kim 
281a9f12690SJung-uk Kim ACPI_STATUS
282a9f12690SJung-uk Kim AcpiGetDevices (
283a9f12690SJung-uk Kim     char                    *HID,
284a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
285a9f12690SJung-uk Kim     void                    *Context,
286a9f12690SJung-uk Kim     void                    **ReturnValue);
287a9f12690SJung-uk Kim 
288a9f12690SJung-uk Kim ACPI_STATUS
289a9f12690SJung-uk Kim AcpiGetName (
2903f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
291a9f12690SJung-uk Kim     UINT32                  NameType,
292a9f12690SJung-uk Kim     ACPI_BUFFER             *RetPathPtr);
293a9f12690SJung-uk Kim 
294a9f12690SJung-uk Kim ACPI_STATUS
295a9f12690SJung-uk Kim AcpiGetHandle (
296a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
297a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
298a9f12690SJung-uk Kim     ACPI_HANDLE             *RetHandle);
299a9f12690SJung-uk Kim 
300a9f12690SJung-uk Kim ACPI_STATUS
301a9f12690SJung-uk Kim AcpiAttachData (
3023f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
303a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
304a9f12690SJung-uk Kim     void                    *Data);
305a9f12690SJung-uk Kim 
306a9f12690SJung-uk Kim ACPI_STATUS
307a9f12690SJung-uk Kim AcpiDetachData (
3083f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
309a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler);
310a9f12690SJung-uk Kim 
311a9f12690SJung-uk Kim ACPI_STATUS
312a9f12690SJung-uk Kim AcpiGetData (
3133f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
314a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
315a9f12690SJung-uk Kim     void                    **Data);
316a9f12690SJung-uk Kim 
317a9f12690SJung-uk Kim ACPI_STATUS
318a9f12690SJung-uk Kim AcpiDebugTrace (
319a9f12690SJung-uk Kim     char                    *Name,
320a9f12690SJung-uk Kim     UINT32                  DebugLevel,
321a9f12690SJung-uk Kim     UINT32                  DebugLayer,
322a9f12690SJung-uk Kim     UINT32                  Flags);
323a9f12690SJung-uk Kim 
324a9f12690SJung-uk Kim 
325a9f12690SJung-uk Kim /*
326a9f12690SJung-uk Kim  * Object manipulation and enumeration
327a9f12690SJung-uk Kim  */
328a9f12690SJung-uk Kim ACPI_STATUS
329a9f12690SJung-uk Kim AcpiEvaluateObject (
330a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
331a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
332a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
333a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer);
334a9f12690SJung-uk Kim 
335a9f12690SJung-uk Kim ACPI_STATUS
336a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
337a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
338a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
339a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
340a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
341a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType);
342a9f12690SJung-uk Kim 
343a9f12690SJung-uk Kim ACPI_STATUS
344a9f12690SJung-uk Kim AcpiGetObjectInfo (
3453f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
346d6dd1baeSJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer);
347a9f12690SJung-uk Kim 
348a9f12690SJung-uk Kim ACPI_STATUS
349a9f12690SJung-uk Kim AcpiInstallMethod (
350a9f12690SJung-uk Kim     UINT8                   *Buffer);
351a9f12690SJung-uk Kim 
352a9f12690SJung-uk Kim ACPI_STATUS
353a9f12690SJung-uk Kim AcpiGetNextObject (
354a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
355a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
356a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
357a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
358a9f12690SJung-uk Kim 
359a9f12690SJung-uk Kim ACPI_STATUS
360a9f12690SJung-uk Kim AcpiGetType (
361a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
362a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType);
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim ACPI_STATUS
365a9f12690SJung-uk Kim AcpiGetParent (
366a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
367a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
368a9f12690SJung-uk Kim 
369a9f12690SJung-uk Kim 
370a9f12690SJung-uk Kim /*
371a9f12690SJung-uk Kim  * Handler interfaces
372a9f12690SJung-uk Kim  */
373a9f12690SJung-uk Kim ACPI_STATUS
374a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
375a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
376a9f12690SJung-uk Kim     UINT32                  Function);
377a9f12690SJung-uk Kim 
378a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
379a9f12690SJung-uk Kim ACPI_STATUS
3805a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
3815a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
382a159c266SJung-uk Kim     void                    *Context))
3835a77b11bSJung-uk Kim 
384a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
3855a77b11bSJung-uk Kim ACPI_STATUS
386a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
387a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
388a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
389a159c266SJung-uk Kim     void                    *Context))
390a9f12690SJung-uk Kim 
391a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
392a9f12690SJung-uk Kim ACPI_STATUS
393a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
394a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
395a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
396a9f12690SJung-uk Kim 
397a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
398a9f12690SJung-uk Kim ACPI_STATUS
3995a77b11bSJung-uk Kim AcpiInstallGpeHandler (
4005a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
4015a77b11bSJung-uk Kim     UINT32                  GpeNumber,
4025a77b11bSJung-uk Kim     UINT32                  Type,
4035a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
404a159c266SJung-uk Kim     void                    *Context))
4055a77b11bSJung-uk Kim 
406a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
4075a77b11bSJung-uk Kim ACPI_STATUS
4085a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
4095a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
4105a77b11bSJung-uk Kim     UINT32                  GpeNumber,
411a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
4125a77b11bSJung-uk Kim 
4135a77b11bSJung-uk Kim ACPI_STATUS
414a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
415a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
416a9f12690SJung-uk Kim     UINT32                  HandlerType,
417a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
418a9f12690SJung-uk Kim     void                    *Context);
419a9f12690SJung-uk Kim 
420a9f12690SJung-uk Kim ACPI_STATUS
421a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
422a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
423a9f12690SJung-uk Kim     UINT32                  HandlerType,
424a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler);
425a9f12690SJung-uk Kim 
426a9f12690SJung-uk Kim ACPI_STATUS
427a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
428a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
429a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
430a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
431a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
432a9f12690SJung-uk Kim     void                    *Context);
433a9f12690SJung-uk Kim 
434a9f12690SJung-uk Kim ACPI_STATUS
435a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
436a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
437a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
438a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler);
439a9f12690SJung-uk Kim 
440a9f12690SJung-uk Kim ACPI_STATUS
441a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
442a9f12690SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler);
443a9f12690SJung-uk Kim 
444709fac06SJung-uk Kim ACPI_STATUS
445709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
446709fac06SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler);
447709fac06SJung-uk Kim 
448a9f12690SJung-uk Kim 
449a9f12690SJung-uk Kim /*
4505a77b11bSJung-uk Kim  * Global Lock interfaces
451a9f12690SJung-uk Kim  */
452a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
453a9f12690SJung-uk Kim ACPI_STATUS
454a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
455a9f12690SJung-uk Kim     UINT16                  Timeout,
456a159c266SJung-uk Kim     UINT32                  *Handle))
457a9f12690SJung-uk Kim 
458a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
459a9f12690SJung-uk Kim ACPI_STATUS
460a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
461a159c266SJung-uk Kim     UINT32                  Handle))
462a9f12690SJung-uk Kim 
4635a77b11bSJung-uk Kim 
4645a77b11bSJung-uk Kim /*
4653f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
4663f0275a0SJung-uk Kim  */
4673f0275a0SJung-uk Kim ACPI_STATUS
4683f0275a0SJung-uk Kim AcpiAcquireMutex (
4693f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4703f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
4713f0275a0SJung-uk Kim     UINT16                  Timeout);
4723f0275a0SJung-uk Kim 
4733f0275a0SJung-uk Kim ACPI_STATUS
4743f0275a0SJung-uk Kim AcpiReleaseMutex (
4753f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4763f0275a0SJung-uk Kim     ACPI_STRING             Pathname);
4773f0275a0SJung-uk Kim 
4783f0275a0SJung-uk Kim 
4793f0275a0SJung-uk Kim /*
4805a77b11bSJung-uk Kim  * Fixed Event interfaces
4815a77b11bSJung-uk Kim  */
482a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
483a9f12690SJung-uk Kim ACPI_STATUS
484a9f12690SJung-uk Kim AcpiEnableEvent (
485a9f12690SJung-uk Kim     UINT32                  Event,
486a159c266SJung-uk Kim     UINT32                  Flags))
487a9f12690SJung-uk Kim 
488a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
489a9f12690SJung-uk Kim ACPI_STATUS
490a9f12690SJung-uk Kim AcpiDisableEvent (
491a9f12690SJung-uk Kim     UINT32                  Event,
492a159c266SJung-uk Kim     UINT32                  Flags))
493a9f12690SJung-uk Kim 
494a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
495a9f12690SJung-uk Kim ACPI_STATUS
496a9f12690SJung-uk Kim AcpiClearEvent (
497a159c266SJung-uk Kim     UINT32                  Event))
498a9f12690SJung-uk Kim 
499a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
500a9f12690SJung-uk Kim ACPI_STATUS
501a9f12690SJung-uk Kim AcpiGetEventStatus (
502a9f12690SJung-uk Kim     UINT32                  Event,
503a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
504a9f12690SJung-uk Kim 
505a9f12690SJung-uk Kim 
506a9f12690SJung-uk Kim /*
5075a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
508a9f12690SJung-uk Kim  */
509a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
510a9f12690SJung-uk Kim ACPI_STATUS
5115a77b11bSJung-uk Kim AcpiUpdateAllGpes (
512a159c266SJung-uk Kim     void))
513a9f12690SJung-uk Kim 
514a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
515a9f12690SJung-uk Kim ACPI_STATUS
516a9f12690SJung-uk Kim AcpiEnableGpe (
517a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
518a159c266SJung-uk Kim     UINT32                  GpeNumber))
519a9f12690SJung-uk Kim 
520a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
521a9f12690SJung-uk Kim ACPI_STATUS
522a9f12690SJung-uk Kim AcpiDisableGpe (
523a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
524a159c266SJung-uk Kim     UINT32                  GpeNumber))
525a9f12690SJung-uk Kim 
526a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
527a9f12690SJung-uk Kim ACPI_STATUS
528a9f12690SJung-uk Kim AcpiClearGpe (
529a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
530a159c266SJung-uk Kim     UINT32                  GpeNumber))
531a9f12690SJung-uk Kim 
532a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
533a9f12690SJung-uk Kim ACPI_STATUS
5345a77b11bSJung-uk Kim AcpiSetGpe (
5355a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
5365a77b11bSJung-uk Kim     UINT32                  GpeNumber,
537a159c266SJung-uk Kim     UINT8                   Action))
5385a77b11bSJung-uk Kim 
539a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5405a77b11bSJung-uk Kim ACPI_STATUS
5415a77b11bSJung-uk Kim AcpiFinishGpe (
5425a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
543a159c266SJung-uk Kim     UINT32                  GpeNumber))
5445a77b11bSJung-uk Kim 
545a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5465a77b11bSJung-uk Kim ACPI_STATUS
5475a77b11bSJung-uk Kim AcpiSetupGpeForWake (
5485a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
5495a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
550a159c266SJung-uk Kim     UINT32                  GpeNumber))
5515a77b11bSJung-uk Kim 
552a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5535a77b11bSJung-uk Kim ACPI_STATUS
5545a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
555a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
556a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
557a159c266SJung-uk Kim     UINT8                   Action))
558a88e22b7SJung-uk Kim 
559a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
560a88e22b7SJung-uk Kim ACPI_STATUS
561a9f12690SJung-uk Kim AcpiGetGpeStatus (
562a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
563a9f12690SJung-uk Kim     UINT32                  GpeNumber,
564a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
565a9f12690SJung-uk Kim 
566a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
567a9f12690SJung-uk Kim ACPI_STATUS
568a9f12690SJung-uk Kim AcpiDisableAllGpes (
569a159c266SJung-uk Kim     void))
570a9f12690SJung-uk Kim 
571a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
572a9f12690SJung-uk Kim ACPI_STATUS
573a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
574a159c266SJung-uk Kim     void))
575a9f12690SJung-uk Kim 
576a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
577a9f12690SJung-uk Kim ACPI_STATUS
578a9f12690SJung-uk Kim AcpiGetGpeDevice (
579a9f12690SJung-uk Kim     UINT32                  GpeIndex,
580a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
581a9f12690SJung-uk Kim 
582a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
583a9f12690SJung-uk Kim ACPI_STATUS
584a9f12690SJung-uk Kim AcpiInstallGpeBlock (
585a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
586a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
587a9f12690SJung-uk Kim     UINT32                  RegisterCount,
588a159c266SJung-uk Kim     UINT32                  InterruptNumber))
589a9f12690SJung-uk Kim 
590a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
591a9f12690SJung-uk Kim ACPI_STATUS
592a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
593a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
594a9f12690SJung-uk Kim 
595a9f12690SJung-uk Kim 
596a9f12690SJung-uk Kim /*
597a9f12690SJung-uk Kim  * Resource interfaces
598a9f12690SJung-uk Kim  */
599a9f12690SJung-uk Kim typedef
600a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
601a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
602a9f12690SJung-uk Kim     void                    *Context);
603a9f12690SJung-uk Kim 
604a9f12690SJung-uk Kim ACPI_STATUS
605a9f12690SJung-uk Kim AcpiGetVendorResource (
6063f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
607a9f12690SJung-uk Kim     char                    *Name,
608a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
609a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
610a9f12690SJung-uk Kim 
611a9f12690SJung-uk Kim ACPI_STATUS
612a9f12690SJung-uk Kim AcpiGetCurrentResources (
6133f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
614a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
615a9f12690SJung-uk Kim 
616a9f12690SJung-uk Kim ACPI_STATUS
617a9f12690SJung-uk Kim AcpiGetPossibleResources (
6183f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
619a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
620a9f12690SJung-uk Kim 
621a9f12690SJung-uk Kim ACPI_STATUS
6223f0275a0SJung-uk Kim AcpiGetEventResources (
6233f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
6243f0275a0SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
6253f0275a0SJung-uk Kim 
6263f0275a0SJung-uk Kim ACPI_STATUS
627efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
628efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
629efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
630efcc2a30SJung-uk Kim     void                        *Context);
631efcc2a30SJung-uk Kim 
632efcc2a30SJung-uk Kim ACPI_STATUS
633a9f12690SJung-uk Kim AcpiWalkResources (
6343f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
635a9f12690SJung-uk Kim     char                        *Name,
636a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
637a9f12690SJung-uk Kim     void                        *Context);
638a9f12690SJung-uk Kim 
639a9f12690SJung-uk Kim ACPI_STATUS
640a9f12690SJung-uk Kim AcpiSetCurrentResources (
6413f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
642a9f12690SJung-uk Kim     ACPI_BUFFER             *InBuffer);
643a9f12690SJung-uk Kim 
644a9f12690SJung-uk Kim ACPI_STATUS
645a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
6463f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
647a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
648a9f12690SJung-uk Kim 
649a9f12690SJung-uk Kim ACPI_STATUS
650a9f12690SJung-uk Kim AcpiResourceToAddress64 (
651a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
652a9f12690SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out);
653a9f12690SJung-uk Kim 
6543f0275a0SJung-uk Kim ACPI_STATUS
6553f0275a0SJung-uk Kim AcpiBufferToResource (
6563f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
6573f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
6583f0275a0SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr);
6593f0275a0SJung-uk Kim 
660a9f12690SJung-uk Kim 
661a9f12690SJung-uk Kim /*
662a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
663a9f12690SJung-uk Kim  */
664a9f12690SJung-uk Kim ACPI_STATUS
665a9f12690SJung-uk Kim AcpiReset (
666a9f12690SJung-uk Kim     void);
667a9f12690SJung-uk Kim 
668a9f12690SJung-uk Kim ACPI_STATUS
669a9f12690SJung-uk Kim AcpiRead (
670d6dd1baeSJung-uk Kim     UINT64                  *Value,
671a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
672a9f12690SJung-uk Kim 
673a9f12690SJung-uk Kim ACPI_STATUS
674a9f12690SJung-uk Kim AcpiWrite (
675d6dd1baeSJung-uk Kim     UINT64                  Value,
676a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
677a9f12690SJung-uk Kim 
678a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
679a9f12690SJung-uk Kim ACPI_STATUS
680a9f12690SJung-uk Kim AcpiReadBitRegister (
681a9f12690SJung-uk Kim     UINT32                  RegisterId,
682a159c266SJung-uk Kim     UINT32                  *ReturnValue))
683a9f12690SJung-uk Kim 
684a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
685a9f12690SJung-uk Kim ACPI_STATUS
686a9f12690SJung-uk Kim AcpiWriteBitRegister (
687a9f12690SJung-uk Kim     UINT32                  RegisterId,
688a159c266SJung-uk Kim     UINT32                  Value))
689a9f12690SJung-uk Kim 
690a159c266SJung-uk Kim 
691a159c266SJung-uk Kim /*
692a159c266SJung-uk Kim  * Sleep/Wake interfaces
693a159c266SJung-uk Kim  */
694a9f12690SJung-uk Kim ACPI_STATUS
695a9f12690SJung-uk Kim AcpiGetSleepTypeData (
696a9f12690SJung-uk Kim     UINT8                   SleepState,
697a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
698a9f12690SJung-uk Kim     UINT8                   *Slp_TypB);
699a9f12690SJung-uk Kim 
700a9f12690SJung-uk Kim ACPI_STATUS
701a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
702a9f12690SJung-uk Kim     UINT8                   SleepState);
703a9f12690SJung-uk Kim 
704a9f12690SJung-uk Kim ACPI_STATUS
705a9f12690SJung-uk Kim AcpiEnterSleepState (
7061df130f1SJung-uk Kim     UINT8                   SleepState);
707a9f12690SJung-uk Kim 
708a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
709a9f12690SJung-uk Kim ACPI_STATUS
710a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
711a159c266SJung-uk Kim     void))
712a159c266SJung-uk Kim 
713a159c266SJung-uk Kim ACPI_STATUS
714a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
7151df130f1SJung-uk Kim     UINT8                   SleepState);
716a9f12690SJung-uk Kim 
717a9f12690SJung-uk Kim ACPI_STATUS
718a9f12690SJung-uk Kim AcpiLeaveSleepState (
719a159c266SJung-uk Kim     UINT8                   SleepState);
720a159c266SJung-uk Kim 
721a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
722a9f12690SJung-uk Kim ACPI_STATUS
723a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
724a159c266SJung-uk Kim     UINT32                  PhysicalAddress))
725a9f12690SJung-uk Kim 
726a9f12690SJung-uk Kim #if ACPI_MACHINE_WIDTH == 64
727a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
728a9f12690SJung-uk Kim ACPI_STATUS
729a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector64 (
730a159c266SJung-uk Kim     UINT64                  PhysicalAddress))
731a9f12690SJung-uk Kim #endif
732a9f12690SJung-uk Kim 
733a9f12690SJung-uk Kim 
734a9f12690SJung-uk Kim /*
735a159c266SJung-uk Kim  * ACPI Timer interfaces
736a159c266SJung-uk Kim  */
737a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
738a159c266SJung-uk Kim ACPI_STATUS
739a159c266SJung-uk Kim AcpiGetTimerResolution (
740a159c266SJung-uk Kim     UINT32                  *Resolution))
741a159c266SJung-uk Kim 
742a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
743a159c266SJung-uk Kim ACPI_STATUS
744a159c266SJung-uk Kim AcpiGetTimer (
745a159c266SJung-uk Kim     UINT32                  *Ticks))
746a159c266SJung-uk Kim 
747a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
748a159c266SJung-uk Kim ACPI_STATUS
749a159c266SJung-uk Kim AcpiGetTimerDuration (
750a159c266SJung-uk Kim     UINT32                  StartTicks,
751a159c266SJung-uk Kim     UINT32                  EndTicks,
752a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
753a159c266SJung-uk Kim 
754a159c266SJung-uk Kim 
755a159c266SJung-uk Kim /*
756a9f12690SJung-uk Kim  * Error/Warning output
757a9f12690SJung-uk Kim  */
758a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
759a9f12690SJung-uk Kim AcpiError (
760a9f12690SJung-uk Kim     const char              *ModuleName,
761a9f12690SJung-uk Kim     UINT32                  LineNumber,
762a9f12690SJung-uk Kim     const char              *Format,
763a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
764a9f12690SJung-uk Kim 
765a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
766a9f12690SJung-uk Kim AcpiException (
767a9f12690SJung-uk Kim     const char              *ModuleName,
768a9f12690SJung-uk Kim     UINT32                  LineNumber,
769a9f12690SJung-uk Kim     ACPI_STATUS             Status,
770a9f12690SJung-uk Kim     const char              *Format,
771a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(4);
772a9f12690SJung-uk Kim 
773a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
774a9f12690SJung-uk Kim AcpiWarning (
775a9f12690SJung-uk Kim     const char              *ModuleName,
776a9f12690SJung-uk Kim     UINT32                  LineNumber,
777a9f12690SJung-uk Kim     const char              *Format,
778a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
779a9f12690SJung-uk Kim 
780a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
781a9f12690SJung-uk Kim AcpiInfo (
782a9f12690SJung-uk Kim     const char              *ModuleName,
783a9f12690SJung-uk Kim     UINT32                  LineNumber,
784a9f12690SJung-uk Kim     const char              *Format,
785a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
786a9f12690SJung-uk Kim 
787e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
788e8241eabSJung-uk Kim AcpiBiosError (
789e8241eabSJung-uk Kim     const char              *ModuleName,
790e8241eabSJung-uk Kim     UINT32                  LineNumber,
791e8241eabSJung-uk Kim     const char              *Format,
792e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
793e8241eabSJung-uk Kim 
794e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
795e8241eabSJung-uk Kim AcpiBiosWarning (
796e8241eabSJung-uk Kim     const char              *ModuleName,
797e8241eabSJung-uk Kim     UINT32                  LineNumber,
798e8241eabSJung-uk Kim     const char              *Format,
799e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
800e8241eabSJung-uk Kim 
801a9f12690SJung-uk Kim 
802a9f12690SJung-uk Kim /*
803a9f12690SJung-uk Kim  * Debug output
804a9f12690SJung-uk Kim  */
805a9f12690SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
806a9f12690SJung-uk Kim 
807a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
808a9f12690SJung-uk Kim AcpiDebugPrint (
809a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
810a9f12690SJung-uk Kim     UINT32                  LineNumber,
811a9f12690SJung-uk Kim     const char              *FunctionName,
812a9f12690SJung-uk Kim     const char              *ModuleName,
813a9f12690SJung-uk Kim     UINT32                  ComponentId,
814a9f12690SJung-uk Kim     const char              *Format,
815a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
816a9f12690SJung-uk Kim 
817a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
818a9f12690SJung-uk Kim AcpiDebugPrintRaw (
819a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
820a9f12690SJung-uk Kim     UINT32                  LineNumber,
821a9f12690SJung-uk Kim     const char              *FunctionName,
822a9f12690SJung-uk Kim     const char              *ModuleName,
823a9f12690SJung-uk Kim     UINT32                  ComponentId,
824a9f12690SJung-uk Kim     const char              *Format,
825a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
826a9f12690SJung-uk Kim #endif
827a9f12690SJung-uk Kim 
828a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
829