dswstate.c (107325) | dswstate.c (114237) |
---|---|
1/****************************************************************************** 2 * 3 * Module Name: dswstate - Dispatcher parse tree walk management routines | 1/****************************************************************************** 2 * 3 * Module Name: dswstate - Dispatcher parse tree walk management routines |
4 * $Revision: 70 $ | 4 * $Revision: 75 $ |
5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * | 5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * |
12 * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. | 12 * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp. |
13 * All rights reserved. 14 * 15 * 2. License 16 * 17 * 2.1. This is your license from Intel Corp. under its intellectual property 18 * rights. You may have additional license terms from the party that provided 19 * you this software, covering your right to use that party's intellectual 20 * property rights. --- 133 unchanged lines hidden (view full) --- 154 State = WalkState->Results; 155 if (!State) 156 { 157 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result object pushed! State=%p\n", 158 WalkState)); 159 return (AE_NOT_EXIST); 160 } 161 | 13 * All rights reserved. 14 * 15 * 2. License 16 * 17 * 2.1. This is your license from Intel Corp. under its intellectual property 18 * rights. You may have additional license terms from the party that provided 19 * you this software, covering your right to use that party's intellectual 20 * property rights. --- 133 unchanged lines hidden (view full) --- 154 State = WalkState->Results; 155 if (!State) 156 { 157 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result object pushed! State=%p\n", 158 WalkState)); 159 return (AE_NOT_EXIST); 160 } 161 |
162 if (Index >= OBJ_NUM_OPERANDS) | 162 if (Index >= ACPI_OBJ_NUM_OPERANDS) |
163 { 164 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 165 "Index out of range: %X Obj=%p State=%p Num=%X\n", 166 Index, Object, WalkState, State->Results.NumResults)); 167 return (AE_BAD_PARAMETER); 168 } 169 170 if (!Object) --- 45 unchanged lines hidden (view full) --- 216 State = WalkState->Results; 217 if (!State) 218 { 219 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result object pushed! State=%p\n", 220 WalkState)); 221 return (AE_NOT_EXIST); 222 } 223 | 163 { 164 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 165 "Index out of range: %X Obj=%p State=%p Num=%X\n", 166 Index, Object, WalkState, State->Results.NumResults)); 167 return (AE_BAD_PARAMETER); 168 } 169 170 if (!Object) --- 45 unchanged lines hidden (view full) --- 216 State = WalkState->Results; 217 if (!State) 218 { 219 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result object pushed! State=%p\n", 220 WalkState)); 221 return (AE_NOT_EXIST); 222 } 223 |
224 if (Index >= OBJ_MAX_OPERAND) | 224 if (Index >= ACPI_OBJ_MAX_OPERAND) |
225 { 226 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 227 "Index out of range: %X State=%p Num=%X\n", 228 Index, WalkState, State->Results.NumResults)); 229 } 230 231 /* Check for a valid result object */ 232 --- 35 unchanged lines hidden (view full) --- 268 * 269 ******************************************************************************/ 270 271ACPI_STATUS 272AcpiDsResultPop ( 273 ACPI_OPERAND_OBJECT **Object, 274 ACPI_WALK_STATE *WalkState) 275{ | 225 { 226 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 227 "Index out of range: %X State=%p Num=%X\n", 228 Index, WalkState, State->Results.NumResults)); 229 } 230 231 /* Check for a valid result object */ 232 --- 35 unchanged lines hidden (view full) --- 268 * 269 ******************************************************************************/ 270 271ACPI_STATUS 272AcpiDsResultPop ( 273 ACPI_OPERAND_OBJECT **Object, 274 ACPI_WALK_STATE *WalkState) 275{ |
276 NATIVE_UINT Index; | 276 ACPI_NATIVE_UINT Index; |
277 ACPI_GENERIC_STATE *State; 278 279 280 ACPI_FUNCTION_NAME ("DsResultPop"); 281 282 283 State = WalkState->Results; 284 if (!State) --- 7 unchanged lines hidden (view full) --- 292 WalkState)); 293 return (AE_AML_NO_RETURN_VALUE); 294 } 295 296 /* Remove top element */ 297 298 State->Results.NumResults--; 299 | 277 ACPI_GENERIC_STATE *State; 278 279 280 ACPI_FUNCTION_NAME ("DsResultPop"); 281 282 283 State = WalkState->Results; 284 if (!State) --- 7 unchanged lines hidden (view full) --- 292 WalkState)); 293 return (AE_AML_NO_RETURN_VALUE); 294 } 295 296 /* Remove top element */ 297 298 State->Results.NumResults--; 299 |
300 for (Index = OBJ_NUM_OPERANDS; Index; Index--) | 300 for (Index = ACPI_OBJ_NUM_OPERANDS; Index; Index--) |
301 { 302 /* Check for a valid result object */ 303 304 if (State->Results.ObjDesc [Index -1]) 305 { 306 *Object = State->Results.ObjDesc [Index -1]; 307 State->Results.ObjDesc [Index -1] = NULL; 308 --- 23 unchanged lines hidden (view full) --- 332 * 333 ******************************************************************************/ 334 335ACPI_STATUS 336AcpiDsResultPopFromBottom ( 337 ACPI_OPERAND_OBJECT **Object, 338 ACPI_WALK_STATE *WalkState) 339{ | 301 { 302 /* Check for a valid result object */ 303 304 if (State->Results.ObjDesc [Index -1]) 305 { 306 *Object = State->Results.ObjDesc [Index -1]; 307 State->Results.ObjDesc [Index -1] = NULL; 308 --- 23 unchanged lines hidden (view full) --- 332 * 333 ******************************************************************************/ 334 335ACPI_STATUS 336AcpiDsResultPopFromBottom ( 337 ACPI_OPERAND_OBJECT **Object, 338 ACPI_WALK_STATE *WalkState) 339{ |
340 NATIVE_UINT Index; | 340 ACPI_NATIVE_UINT Index; |
341 ACPI_GENERIC_STATE *State; 342 343 344 ACPI_FUNCTION_NAME ("DsResultPopFromBottom"); 345 346 347 State = WalkState->Results; 348 if (!State) --- 66 unchanged lines hidden (view full) --- 415 416 State = WalkState->Results; 417 if (!State) 418 { 419 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result stack frame\n")); 420 return (AE_AML_INTERNAL); 421 } 422 | 341 ACPI_GENERIC_STATE *State; 342 343 344 ACPI_FUNCTION_NAME ("DsResultPopFromBottom"); 345 346 347 State = WalkState->Results; 348 if (!State) --- 66 unchanged lines hidden (view full) --- 415 416 State = WalkState->Results; 417 if (!State) 418 { 419 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result stack frame\n")); 420 return (AE_AML_INTERNAL); 421 } 422 |
423 if (State->Results.NumResults == OBJ_NUM_OPERANDS) | 423 if (State->Results.NumResults == ACPI_OBJ_NUM_OPERANDS) |
424 { 425 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 426 "Result stack overflow: Obj=%p State=%p Num=%X\n", 427 Object, WalkState, State->Results.NumResults)); 428 return (AE_STACK_OVERFLOW); 429 } 430 431 if (!Object) --- 115 unchanged lines hidden (view full) --- 547 UINT32 i; 548 549 550 ACPI_FUNCTION_TRACE_PTR ("DsObjStackDeleteAll", WalkState); 551 552 553 /* The stack size is configurable, but fixed */ 554 | 424 { 425 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 426 "Result stack overflow: Obj=%p State=%p Num=%X\n", 427 Object, WalkState, State->Results.NumResults)); 428 return (AE_STACK_OVERFLOW); 429 } 430 431 if (!Object) --- 115 unchanged lines hidden (view full) --- 547 UINT32 i; 548 549 550 ACPI_FUNCTION_TRACE_PTR ("DsObjStackDeleteAll", WalkState); 551 552 553 /* The stack size is configurable, but fixed */ 554 |
555 for (i = 0; i < OBJ_NUM_OPERANDS; i++) | 555 for (i = 0; i < ACPI_OBJ_NUM_OPERANDS; i++) |
556 { 557 if (WalkState->Operands[i]) 558 { 559 AcpiUtRemoveReference (WalkState->Operands[i]); 560 WalkState->Operands[i] = NULL; 561 } 562 } 563 --- 19 unchanged lines hidden (view full) --- 583 void *Object, 584 ACPI_WALK_STATE *WalkState) 585{ 586 ACPI_FUNCTION_NAME ("DsObjStackPush"); 587 588 589 /* Check for stack overflow */ 590 | 556 { 557 if (WalkState->Operands[i]) 558 { 559 AcpiUtRemoveReference (WalkState->Operands[i]); 560 WalkState->Operands[i] = NULL; 561 } 562 } 563 --- 19 unchanged lines hidden (view full) --- 583 void *Object, 584 ACPI_WALK_STATE *WalkState) 585{ 586 ACPI_FUNCTION_NAME ("DsObjStackPush"); 587 588 589 /* Check for stack overflow */ 590 |
591 if (WalkState->NumOperands >= OBJ_NUM_OPERANDS) | 591 if (WalkState->NumOperands >= ACPI_OBJ_NUM_OPERANDS) |
592 { 593 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 594 "overflow! Obj=%p State=%p #Ops=%X\n", 595 Object, WalkState, WalkState->NumOperands)); 596 return (AE_STACK_OVERFLOW); 597 } 598 599 /* Put the object onto the stack */ --- 208 unchanged lines hidden (view full) --- 808 809 /* or if the index is past the top of the stack */ 810 811 if (Index > (WalkState->NumOperands - (UINT32) 1)) 812 { 813 return_PTR (NULL); 814 } 815 | 592 { 593 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 594 "overflow! Obj=%p State=%p #Ops=%X\n", 595 Object, WalkState, WalkState->NumOperands)); 596 return (AE_STACK_OVERFLOW); 597 } 598 599 /* Put the object onto the stack */ --- 208 unchanged lines hidden (view full) --- 808 809 /* or if the index is past the top of the stack */ 810 811 if (Index > (WalkState->NumOperands - (UINT32) 1)) 812 { 813 return_PTR (NULL); 814 } 815 |
816 return_PTR (WalkState->Operands[(NATIVE_UINT)(WalkState->NumOperands - 1) - | 816 return_PTR (WalkState->Operands[(ACPI_NATIVE_UINT)(WalkState->NumOperands - 1) - |
817 Index]); 818} 819 820 821/******************************************************************************* 822 * 823 * FUNCTION: AcpiDsGetCurrentWalkState 824 * --- 14 unchanged lines hidden (view full) --- 839 ACPI_FUNCTION_NAME ("DsGetCurrentWalkState"); 840 841 842 if (!Thread) 843 { 844 return (NULL); 845 } 846 | 817 Index]); 818} 819 820 821/******************************************************************************* 822 * 823 * FUNCTION: AcpiDsGetCurrentWalkState 824 * --- 14 unchanged lines hidden (view full) --- 839 ACPI_FUNCTION_NAME ("DsGetCurrentWalkState"); 840 841 842 if (!Thread) 843 { 844 return (NULL); 845 } 846 |
847 ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "DsGetCurrentWalkState, =%p\n", | 847 ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "Current WalkState %p\n", |
848 Thread->WalkStateList)); 849 850 return (Thread->WalkStateList); 851} 852 853 854/******************************************************************************* 855 * --- 193 unchanged lines hidden (view full) --- 1049 Status = AcpiDsScopeStackPush (MethodNode, ACPI_TYPE_METHOD, WalkState); 1050 if (ACPI_FAILURE (Status)) 1051 { 1052 return_ACPI_STATUS (Status); 1053 } 1054 1055 /* Init the method arguments */ 1056 | 848 Thread->WalkStateList)); 849 850 return (Thread->WalkStateList); 851} 852 853 854/******************************************************************************* 855 * --- 193 unchanged lines hidden (view full) --- 1049 Status = AcpiDsScopeStackPush (MethodNode, ACPI_TYPE_METHOD, WalkState); 1050 if (ACPI_FAILURE (Status)) 1051 { 1052 return_ACPI_STATUS (Status); 1053 } 1054 1055 /* Init the method arguments */ 1056 |
1057 Status = AcpiDsMethodDataInitArgs (Params, MTH_NUM_ARGS, WalkState); | 1057 Status = AcpiDsMethodDataInitArgs (Params, ACPI_METHOD_NUM_ARGS, WalkState); |
1058 if (ACPI_FAILURE (Status)) 1059 { 1060 return_ACPI_STATUS (Status); 1061 } 1062 } 1063 else 1064 { | 1058 if (ACPI_FAILURE (Status)) 1059 { 1060 return_ACPI_STATUS (Status); 1061 } 1062 } 1063 else 1064 { |
1065 /* | 1065 /* |
1066 * Setup the current scope. 1067 * Find a Named Op that has a namespace node associated with it. 1068 * search upwards from this Op. Current scope is the first 1069 * Op with a namespace node. 1070 */ 1071 ExtraOp = ParserState->StartOp; 1072 while (ExtraOp && !ExtraOp->Common.Node) 1073 { 1074 ExtraOp = ExtraOp->Common.Parent; 1075 } 1076 if (!ExtraOp) 1077 { 1078 ParserState->StartNode = NULL; 1079 } 1080 else 1081 { 1082 ParserState->StartNode = ExtraOp->Common.Node; 1083 } | 1066 * Setup the current scope. 1067 * Find a Named Op that has a namespace node associated with it. 1068 * search upwards from this Op. Current scope is the first 1069 * Op with a namespace node. 1070 */ 1071 ExtraOp = ParserState->StartOp; 1072 while (ExtraOp && !ExtraOp->Common.Node) 1073 { 1074 ExtraOp = ExtraOp->Common.Parent; 1075 } 1076 if (!ExtraOp) 1077 { 1078 ParserState->StartNode = NULL; 1079 } 1080 else 1081 { 1082 ParserState->StartNode = ExtraOp->Common.Node; 1083 } |
1084 | 1084 |
1085 if (ParserState->StartNode) 1086 { 1087 /* Push start scope on scope stack and make it current */ 1088 1089 Status = AcpiDsScopeStackPush (ParserState->StartNode, 1090 ParserState->StartNode->Type, WalkState); 1091 if (ACPI_FAILURE (Status)) 1092 { --- 108 unchanged lines hidden --- | 1085 if (ParserState->StartNode) 1086 { 1087 /* Push start scope on scope stack and make it current */ 1088 1089 Status = AcpiDsScopeStackPush (ParserState->StartNode, 1090 ParserState->StartNode->Type, WalkState); 1091 if (ACPI_FAILURE (Status)) 1092 { --- 108 unchanged lines hidden --- |