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