1 /******************************************************************************
2  *
3  * Module Name: aslstubs - Stubs used to link to Aml interpreter
4  *
5  *****************************************************************************/
6 
7 /*
8  * Copyright (C) 2000 - 2014, 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 MERCHANTIBILITY 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 
51 #define _COMPONENT          ACPI_COMPILER
52         ACPI_MODULE_NAME    ("aslstubs")
53 
54 
55 /*
56  * Stubs to simplify linkage to the ACPI CA core subsystem.
57  * Things like Events, Global Lock, etc. are not used
58  * by the compiler, so they are stubbed out here.
59  */
60 ACPI_PHYSICAL_ADDRESS
61 AeLocalGetRootPointer (
62     void)
63 {
64     return (0);
65 }
66 
67 void
68 AcpiNsExecModuleCodeList (
69     void)
70 {
71 }
72 
73 ACPI_STATUS
74 AcpiHwReadPort (
75     ACPI_IO_ADDRESS         Address,
76     UINT32                  *Value,
77     UINT32                  Width)
78 {
79     return (AE_OK);
80 }
81 
82 ACPI_STATUS
83 AcpiHwWritePort (
84     ACPI_IO_ADDRESS         Address,
85     UINT32                  Value,
86     UINT32                  Width)
87 {
88     return (AE_OK);
89 }
90 
91 ACPI_STATUS
92 AcpiDsMethodError (
93     ACPI_STATUS             Status,
94     ACPI_WALK_STATE         *WalkState)
95 {
96     return (Status);
97 }
98 
99 ACPI_STATUS
100 AcpiDsMethodDataGetValue (
101     UINT8                   Type,
102     UINT32                  Index,
103     ACPI_WALK_STATE         *WalkState,
104     ACPI_OPERAND_OBJECT     **DestDesc)
105 {
106     return (AE_OK);
107 }
108 
109 ACPI_STATUS
110 AcpiDsMethodDataGetNode (
111     UINT8                   Type,
112     UINT32                  Index,
113     ACPI_WALK_STATE         *WalkState,
114     ACPI_NAMESPACE_NODE     **Node)
115 {
116     return (AE_OK);
117 }
118 
119 ACPI_STATUS
120 AcpiDsStoreObjectToLocal (
121     UINT8                   Type,
122     UINT32                  Index,
123     ACPI_OPERAND_OBJECT     *SrcDesc,
124     ACPI_WALK_STATE         *WalkState)
125 {
126     return (AE_OK);
127 }
128 
129 ACPI_STATUS
130 AcpiEvQueueNotifyRequest (
131     ACPI_NAMESPACE_NODE     *Node,
132     UINT32                  NotifyValue)
133 {
134     return (AE_OK);
135 }
136 
137 BOOLEAN
138 AcpiEvIsNotifyObject (
139     ACPI_NAMESPACE_NODE     *Node)
140 {
141     return (FALSE);
142 }
143 
144 #if (!ACPI_REDUCED_HARDWARE)
145 ACPI_STATUS
146 AcpiEvDeleteGpeBlock (
147     ACPI_GPE_BLOCK_INFO     *GpeBlock)
148 {
149     return (AE_OK);
150 }
151 
152 ACPI_STATUS
153 AcpiEvAcquireGlobalLock (
154     UINT16                  Timeout)
155 {
156     return (AE_OK);
157 }
158 
159 ACPI_STATUS
160 AcpiEvReleaseGlobalLock (
161     void)
162 {
163     return (AE_OK);
164 }
165 #endif /* !ACPI_REDUCED_HARDWARE */
166 
167 ACPI_STATUS
168 AcpiEvInitializeRegion (
169     ACPI_OPERAND_OBJECT     *RegionObj,
170     BOOLEAN                 AcpiNsLocked)
171 {
172     return (AE_OK);
173 }
174 
175 void
176 AcpiExDoDebugObject (
177     ACPI_OPERAND_OBJECT     *SourceDesc,
178     UINT32                  Level,
179     UINT32                  Index)
180 {
181     return;
182 }
183 
184 ACPI_STATUS
185 AcpiExReadDataFromField (
186     ACPI_WALK_STATE         *WalkState,
187     ACPI_OPERAND_OBJECT     *ObjDesc,
188     ACPI_OPERAND_OBJECT     **RetBufferDesc)
189 {
190     return (AE_SUPPORT);
191 }
192 
193 ACPI_STATUS
194 AcpiExWriteDataToField (
195     ACPI_OPERAND_OBJECT     *SourceDesc,
196     ACPI_OPERAND_OBJECT     *ObjDesc,
197     ACPI_OPERAND_OBJECT     **ResultDesc)
198 {
199     return (AE_SUPPORT);
200 }
201 
202 ACPI_STATUS
203 AcpiExLoadTableOp (
204     ACPI_WALK_STATE         *WalkState,
205     ACPI_OPERAND_OBJECT     **ReturnDesc)
206 {
207     return (AE_SUPPORT);
208 }
209 
210 ACPI_STATUS
211 AcpiExUnloadTable (
212     ACPI_OPERAND_OBJECT     *DdbHandle)
213 {
214     return (AE_SUPPORT);
215 }
216 
217 ACPI_STATUS
218 AcpiExLoadOp (
219     ACPI_OPERAND_OBJECT     *ObjDesc,
220     ACPI_OPERAND_OBJECT     *Target,
221     ACPI_WALK_STATE         *WalkState)
222 {
223     return (AE_SUPPORT);
224 }
225 
226 ACPI_STATUS
227 AcpiTbFindTable (
228     char                    *Signature,
229     char                    *OemId,
230     char                    *OemTableId,
231     UINT32                  *TableIndex)
232 {
233     return (AE_SUPPORT);
234 }
235 
236 /* OSL interfaces */
237 
238 ACPI_THREAD_ID
239 AcpiOsGetThreadId (
240     void)
241 {
242     return (1);
243 }
244 
245 ACPI_STATUS
246 AcpiOsExecute (
247     ACPI_EXECUTE_TYPE       Type,
248     ACPI_OSD_EXEC_CALLBACK  Function,
249     void                    *Context)
250 {
251     return (AE_SUPPORT);
252 }
253