1 /****************************************************************************** 2 * 3 * Module Name: aslstubs - Stubs used to link to Aml interpreter 4 * 5 *****************************************************************************/ 6 7 /* 8 * Copyright (C) 2000 - 2021, 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 62 AcpiNsInitializeObjects ( 63 void) 64 { 65 return (AE_OK); 66 } 67 68 ACPI_STATUS 69 AcpiPsExecuteTable ( 70 ACPI_EVALUATE_INFO *Info) 71 { 72 return (AE_OK); 73 } 74 75 ACPI_STATUS 76 AcpiHwReadPort ( 77 ACPI_IO_ADDRESS Address, 78 UINT32 *Value, 79 UINT32 Width) 80 { 81 return (AE_OK); 82 } 83 84 ACPI_STATUS 85 AcpiHwWritePort ( 86 ACPI_IO_ADDRESS Address, 87 UINT32 Value, 88 UINT32 Width) 89 { 90 return (AE_OK); 91 } 92 93 ACPI_STATUS 94 AcpiDsMethodError ( 95 ACPI_STATUS Status, 96 ACPI_WALK_STATE *WalkState) 97 { 98 return (Status); 99 } 100 101 ACPI_STATUS 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 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 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 132 AcpiEvInstallRegionHandlers ( 133 void) 134 { 135 return (AE_OK); 136 } 137 138 ACPI_STATUS 139 AcpiEvQueueNotifyRequest ( 140 ACPI_NAMESPACE_NODE *Node, 141 UINT32 NotifyValue) 142 { 143 return (AE_OK); 144 } 145 146 BOOLEAN 147 AcpiEvIsNotifyObject ( 148 ACPI_NAMESPACE_NODE *Node) 149 { 150 return (FALSE); 151 } 152 153 #if (!ACPI_REDUCED_HARDWARE) 154 ACPI_STATUS 155 AcpiEvDeleteGpeBlock ( 156 ACPI_GPE_BLOCK_INFO *GpeBlock) 157 { 158 return (AE_OK); 159 } 160 161 void 162 AcpiEvUpdateGpes ( 163 ACPI_OWNER_ID TableOwnerId) 164 { 165 return; 166 } 167 168 ACPI_STATUS 169 AcpiEvAcquireGlobalLock ( 170 UINT16 Timeout) 171 { 172 return (AE_OK); 173 } 174 175 ACPI_STATUS 176 AcpiEvReleaseGlobalLock ( 177 void) 178 { 179 return (AE_OK); 180 } 181 #endif /* !ACPI_REDUCED_HARDWARE */ 182 183 ACPI_STATUS 184 AcpiEvInitializeRegion ( 185 ACPI_OPERAND_OBJECT *RegionObj) 186 { 187 return (AE_OK); 188 } 189 190 ACPI_STATUS 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 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 209 AcpiExLoadTableOp ( 210 ACPI_WALK_STATE *WalkState, 211 ACPI_OPERAND_OBJECT **ReturnDesc) 212 { 213 return (AE_SUPPORT); 214 } 215 216 ACPI_STATUS 217 AcpiExUnloadTable ( 218 ACPI_OPERAND_OBJECT *DdbHandle) 219 { 220 return (AE_SUPPORT); 221 } 222 223 ACPI_STATUS 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 233 AcpiExDoDebugObject ( 234 ACPI_OPERAND_OBJECT *SourceDesc, 235 UINT32 Level, 236 UINT32 Index) 237 { 238 return; 239 } 240 241 void 242 AcpiExStartTraceMethod ( 243 ACPI_NAMESPACE_NODE *MethodNode, 244 ACPI_OPERAND_OBJECT *ObjDesc, 245 ACPI_WALK_STATE *WalkState) 246 { 247 return; 248 } 249 250 void 251 AcpiExStopTraceMethod ( 252 ACPI_NAMESPACE_NODE *MethodNode, 253 ACPI_OPERAND_OBJECT *ObjDesc, 254 ACPI_WALK_STATE *WalkState) 255 { 256 return; 257 } 258 259 void 260 AcpiExStartTraceOpcode ( 261 ACPI_PARSE_OBJECT *Op, 262 ACPI_WALK_STATE *WalkState) 263 { 264 return; 265 } 266 267 void 268 AcpiExStopTraceOpcode ( 269 ACPI_PARSE_OBJECT *Op, 270 ACPI_WALK_STATE *WalkState) 271 272 { 273 return; 274 } 275 276 void 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 287 AcpiTbFindTable ( 288 char *Signature, 289 char *OemId, 290 char *OemTableId, 291 UINT32 *TableIndex) 292 { 293 return (AE_SUPPORT); 294 } 295 296 ACPI_STATUS 297 AcpiNsLoadTable ( 298 UINT32 TableIndex, 299 ACPI_NAMESPACE_NODE *Node) 300 { 301 return (AE_NOT_IMPLEMENTED); 302 } 303 304 ACPI_STATUS 305 AcpiDsRestartControlMethod ( 306 ACPI_WALK_STATE *WalkState, 307 ACPI_OPERAND_OBJECT *ReturnDesc) 308 { 309 return (AE_OK); 310 } 311 312 void 313 AcpiDsTerminateControlMethod ( 314 ACPI_OPERAND_OBJECT *MethodDesc, 315 ACPI_WALK_STATE *WalkState) 316 { 317 return; 318 } 319 320 ACPI_STATUS 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 330 AcpiDsMethodDataInitArgs ( 331 ACPI_OPERAND_OBJECT **Params, 332 UINT32 MaxParamCount, 333 ACPI_WALK_STATE *WalkState) 334 { 335 return (AE_OK); 336 } 337