xref: /netbsd-src/sys/external/bsd/acpica/dist/compiler/aslstubs.c (revision 046a29855e04359424fd074e8313af6b6be8cfb6)
1 /******************************************************************************
2  *
3  * Module Name: aslstubs - Stubs used to link to Aml interpreter
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2023, 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.
17  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18  *    substantially similar to the "NO WARRANTY" disclaimer below
19  *    ("Disclaimer") and any redistribution must be conditioned upon
20  *    including a substantially similar Disclaimer requirement for further
21  *    binary redistribution.
22  * 3. Neither the names of the above-listed copyright holders nor the names
23  *    of any contributors may be used to endorse or promote products derived
24  *    from this software without specific prior written permission.
25  *
26  * Alternatively, this software may be distributed under the terms of the
27  * GNU General Public License ("GPL") version 2 as published by the Free
28  * Software Foundation.
29  *
30  * NO WARRANTY
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41  * POSSIBILITY OF SUCH DAMAGES.
42  */
43 
44 #include "aslcompiler.h"
45 #include "acdispat.h"
46 #include "actables.h"
47 #include "acevents.h"
48 #include "acinterp.h"
49 #include "acnamesp.h"
50 #include "acparser.h"
51 
52 #define _COMPONENT          ACPI_COMPILER
53         ACPI_MODULE_NAME    ("aslstubs")
54 
55 
56 /*
57  * Stubs to simplify linkage to the ACPICA core subsystem.
58  * Things like Events, Global Lock, etc. are not used
59  * by the compiler, so they are stubbed out here.
60  */
61 ACPI_STATUS
AcpiNsInitializeObjects(void)62 AcpiNsInitializeObjects (
63     void)
64 {
65     return (AE_OK);
66 }
67 
68 ACPI_STATUS
AcpiPsExecuteTable(ACPI_EVALUATE_INFO * Info)69 AcpiPsExecuteTable (
70     ACPI_EVALUATE_INFO      *Info)
71 {
72     return (AE_OK);
73 }
74 
75 ACPI_STATUS
AcpiHwReadPort(ACPI_IO_ADDRESS Address,UINT32 * Value,UINT32 Width)76 AcpiHwReadPort (
77     ACPI_IO_ADDRESS         Address,
78     UINT32                  *Value,
79     UINT32                  Width)
80 {
81     return (AE_OK);
82 }
83 
84 ACPI_STATUS
AcpiHwWritePort(ACPI_IO_ADDRESS Address,UINT32 Value,UINT32 Width)85 AcpiHwWritePort (
86     ACPI_IO_ADDRESS         Address,
87     UINT32                  Value,
88     UINT32                  Width)
89 {
90     return (AE_OK);
91 }
92 
93 ACPI_STATUS
AcpiDsMethodError(ACPI_STATUS Status,ACPI_WALK_STATE * WalkState)94 AcpiDsMethodError (
95     ACPI_STATUS             Status,
96     ACPI_WALK_STATE         *WalkState)
97 {
98     return (Status);
99 }
100 
101 ACPI_STATUS
AcpiDsMethodDataGetValue(UINT8 Type,UINT32 Index,ACPI_WALK_STATE * WalkState,ACPI_OPERAND_OBJECT ** DestDesc)102 AcpiDsMethodDataGetValue (
103     UINT8                   Type,
104     UINT32                  Index,
105     ACPI_WALK_STATE         *WalkState,
106     ACPI_OPERAND_OBJECT     **DestDesc)
107 {
108     return (AE_OK);
109 }
110 
111 ACPI_STATUS
AcpiDsMethodDataGetNode(UINT8 Type,UINT32 Index,ACPI_WALK_STATE * WalkState,ACPI_NAMESPACE_NODE ** Node)112 AcpiDsMethodDataGetNode (
113     UINT8                   Type,
114     UINT32                  Index,
115     ACPI_WALK_STATE         *WalkState,
116     ACPI_NAMESPACE_NODE     **Node)
117 {
118     return (AE_OK);
119 }
120 
121 ACPI_STATUS
AcpiDsStoreObjectToLocal(UINT8 Type,UINT32 Index,ACPI_OPERAND_OBJECT * SrcDesc,ACPI_WALK_STATE * WalkState)122 AcpiDsStoreObjectToLocal (
123     UINT8                   Type,
124     UINT32                  Index,
125     ACPI_OPERAND_OBJECT     *SrcDesc,
126     ACPI_WALK_STATE         *WalkState)
127 {
128     return (AE_OK);
129 }
130 
131 ACPI_STATUS
AcpiEvInstallRegionHandlers(void)132 AcpiEvInstallRegionHandlers (
133     void)
134 {
135     return (AE_OK);
136 }
137 
138 ACPI_STATUS
AcpiEvQueueNotifyRequest(ACPI_NAMESPACE_NODE * Node,UINT32 NotifyValue)139 AcpiEvQueueNotifyRequest (
140     ACPI_NAMESPACE_NODE     *Node,
141     UINT32                  NotifyValue)
142 {
143     return (AE_OK);
144 }
145 
146 BOOLEAN
AcpiEvIsNotifyObject(ACPI_NAMESPACE_NODE * Node)147 AcpiEvIsNotifyObject (
148     ACPI_NAMESPACE_NODE     *Node)
149 {
150     return (FALSE);
151 }
152 
153 #if (!ACPI_REDUCED_HARDWARE)
154 ACPI_STATUS
AcpiEvDeleteGpeBlock(ACPI_GPE_BLOCK_INFO * GpeBlock)155 AcpiEvDeleteGpeBlock (
156     ACPI_GPE_BLOCK_INFO     *GpeBlock)
157 {
158     return (AE_OK);
159 }
160 
161 void
AcpiEvUpdateGpes(ACPI_OWNER_ID TableOwnerId)162 AcpiEvUpdateGpes (
163     ACPI_OWNER_ID           TableOwnerId)
164 {
165     return;
166 }
167 
168 ACPI_STATUS
AcpiEvAcquireGlobalLock(UINT16 Timeout)169 AcpiEvAcquireGlobalLock (
170     UINT16                  Timeout)
171 {
172     return (AE_OK);
173 }
174 
175 ACPI_STATUS
AcpiEvReleaseGlobalLock(void)176 AcpiEvReleaseGlobalLock (
177     void)
178 {
179     return (AE_OK);
180 }
181 #endif /* !ACPI_REDUCED_HARDWARE */
182 
183 ACPI_STATUS
AcpiEvInitializeRegion(ACPI_OPERAND_OBJECT * RegionObj)184 AcpiEvInitializeRegion (
185     ACPI_OPERAND_OBJECT     *RegionObj)
186 {
187     return (AE_OK);
188 }
189 
190 ACPI_STATUS
AcpiExReadDataFromField(ACPI_WALK_STATE * WalkState,ACPI_OPERAND_OBJECT * ObjDesc,ACPI_OPERAND_OBJECT ** RetBufferDesc)191 AcpiExReadDataFromField (
192     ACPI_WALK_STATE         *WalkState,
193     ACPI_OPERAND_OBJECT     *ObjDesc,
194     ACPI_OPERAND_OBJECT     **RetBufferDesc)
195 {
196     return (AE_SUPPORT);
197 }
198 
199 ACPI_STATUS
AcpiExWriteDataToField(ACPI_OPERAND_OBJECT * SourceDesc,ACPI_OPERAND_OBJECT * ObjDesc,ACPI_OPERAND_OBJECT ** ResultDesc)200 AcpiExWriteDataToField (
201     ACPI_OPERAND_OBJECT     *SourceDesc,
202     ACPI_OPERAND_OBJECT     *ObjDesc,
203     ACPI_OPERAND_OBJECT     **ResultDesc)
204 {
205     return (AE_SUPPORT);
206 }
207 
208 ACPI_STATUS
AcpiExLoadTableOp(ACPI_WALK_STATE * WalkState,ACPI_OPERAND_OBJECT ** ReturnDesc)209 AcpiExLoadTableOp (
210     ACPI_WALK_STATE         *WalkState,
211     ACPI_OPERAND_OBJECT     **ReturnDesc)
212 {
213     return (AE_SUPPORT);
214 }
215 
216 ACPI_STATUS
AcpiExUnloadTable(ACPI_OPERAND_OBJECT * DdbHandle)217 AcpiExUnloadTable (
218     ACPI_OPERAND_OBJECT     *DdbHandle)
219 {
220     return (AE_SUPPORT);
221 }
222 
223 ACPI_STATUS
AcpiExLoadOp(ACPI_OPERAND_OBJECT * ObjDesc,ACPI_OPERAND_OBJECT * Target,ACPI_WALK_STATE * WalkState)224 AcpiExLoadOp (
225     ACPI_OPERAND_OBJECT     *ObjDesc,
226     ACPI_OPERAND_OBJECT     *Target,
227     ACPI_WALK_STATE         *WalkState)
228 {
229     return (AE_SUPPORT);
230 }
231 
232 void
AcpiExDoDebugObject(ACPI_OPERAND_OBJECT * SourceDesc,UINT32 Level,UINT32 Index)233 AcpiExDoDebugObject (
234     ACPI_OPERAND_OBJECT     *SourceDesc,
235     UINT32                  Level,
236     UINT32                  Index)
237 {
238     return;
239 }
240 
241 void
AcpiExStartTraceMethod(ACPI_NAMESPACE_NODE * MethodNode,ACPI_OPERAND_OBJECT * ObjDesc,ACPI_WALK_STATE * WalkState)242 AcpiExStartTraceMethod (
243     ACPI_NAMESPACE_NODE     *MethodNode,
244     ACPI_OPERAND_OBJECT     *ObjDesc,
245     ACPI_WALK_STATE         *WalkState)
246 {
247     return;
248 }
249 
250 void
AcpiExStopTraceMethod(ACPI_NAMESPACE_NODE * MethodNode,ACPI_OPERAND_OBJECT * ObjDesc,ACPI_WALK_STATE * WalkState)251 AcpiExStopTraceMethod (
252     ACPI_NAMESPACE_NODE     *MethodNode,
253     ACPI_OPERAND_OBJECT     *ObjDesc,
254     ACPI_WALK_STATE         *WalkState)
255 {
256     return;
257 }
258 
259 void
AcpiExStartTraceOpcode(ACPI_PARSE_OBJECT * Op,ACPI_WALK_STATE * WalkState)260 AcpiExStartTraceOpcode (
261     ACPI_PARSE_OBJECT       *Op,
262     ACPI_WALK_STATE         *WalkState)
263 {
264     return;
265 }
266 
267 void
AcpiExStopTraceOpcode(ACPI_PARSE_OBJECT * Op,ACPI_WALK_STATE * WalkState)268 AcpiExStopTraceOpcode (
269     ACPI_PARSE_OBJECT       *Op,
270     ACPI_WALK_STATE         *WalkState)
271 
272 {
273     return;
274 }
275 
276 void
AcpiExTracePoint(ACPI_TRACE_EVENT_TYPE Type,BOOLEAN Begin,UINT8 * Aml,char * Pathname)277 AcpiExTracePoint (
278     ACPI_TRACE_EVENT_TYPE   Type,
279     BOOLEAN                 Begin,
280     UINT8                   *Aml,
281     char                    *Pathname)
282 {
283     return;
284 }
285 
286 ACPI_STATUS
AcpiTbFindTable(char * Signature,char * OemId,char * OemTableId,UINT32 * TableIndex)287 AcpiTbFindTable (
288     char                    *Signature,
289     char                    *OemId,
290     char                    *OemTableId,
291     UINT32                  *TableIndex)
292 {
293     return (AE_SUPPORT);
294 }
295 
296 ACPI_STATUS
AcpiNsLoadTable(UINT32 TableIndex,ACPI_NAMESPACE_NODE * Node)297 AcpiNsLoadTable (
298     UINT32                  TableIndex,
299     ACPI_NAMESPACE_NODE     *Node)
300 {
301     return (AE_NOT_IMPLEMENTED);
302 }
303 
304 ACPI_STATUS
AcpiDsRestartControlMethod(ACPI_WALK_STATE * WalkState,ACPI_OPERAND_OBJECT * ReturnDesc)305 AcpiDsRestartControlMethod (
306     ACPI_WALK_STATE         *WalkState,
307     ACPI_OPERAND_OBJECT     *ReturnDesc)
308 {
309     return (AE_OK);
310 }
311 
312 void
AcpiDsTerminateControlMethod(ACPI_OPERAND_OBJECT * MethodDesc,ACPI_WALK_STATE * WalkState)313 AcpiDsTerminateControlMethod (
314     ACPI_OPERAND_OBJECT     *MethodDesc,
315     ACPI_WALK_STATE         *WalkState)
316 {
317     return;
318 }
319 
320 ACPI_STATUS
AcpiDsCallControlMethod(ACPI_THREAD_STATE * Thread,ACPI_WALK_STATE * WalkState,ACPI_PARSE_OBJECT * Op)321 AcpiDsCallControlMethod (
322     ACPI_THREAD_STATE       *Thread,
323     ACPI_WALK_STATE         *WalkState,
324     ACPI_PARSE_OBJECT       *Op)
325 {
326     return (AE_OK);
327 }
328 
329 ACPI_STATUS
AcpiDsMethodDataInitArgs(ACPI_OPERAND_OBJECT ** Params,UINT32 MaxParamCount,ACPI_WALK_STATE * WalkState)330 AcpiDsMethodDataInitArgs (
331     ACPI_OPERAND_OBJECT     **Params,
332     UINT32                  MaxParamCount,
333     ACPI_WALK_STATE         *WalkState)
334 {
335     return (AE_OK);
336 }
337