1/*******************************************************************************
2 *
3 * Module Name: dsmthdat - control method arguments and local variables
4 * $Revision: 74 $
5 *
6 ******************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
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.
--- 259 unchanged lines hidden (view full) ---
280 }
281
282 /* Copy passed parameters into the new method stack frame */
283
284 while ((Index < ACPI_METHOD_NUM_ARGS) && (Index < MaxParamCount) && Params[Index])
285 {
286 /*
287 * A valid parameter.
288 * Store the argument in the method/walk descriptor
289 */
290 Status = AcpiDsStoreObjectToLocal (AML_ARG_OP, Index, Params[Index],
291 WalkState);
292 if (ACPI_FAILURE (Status))
293 {
294 return_ACPI_STATUS (Status);
295 }
296
297 Index++;
298 }
299
--- 252 unchanged lines hidden (view full) ---
552 case AML_LOCAL_OP:
553
554 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Uninitialized Local[%d] at node %p\n",
555 Index, Node));
556
557 return_ACPI_STATUS (AE_AML_UNINITIALIZED_LOCAL);
558
559 default:
560 return_ACPI_STATUS (AE_AML_INTERNAL);
561 }
562 }
563
564 /*
565 * The Index points to an initialized and valid object.
566 * Return an additional reference to the object
567 */
--- 90 unchanged lines hidden (view full) ---
658 UINT32 Index,
659 ACPI_OPERAND_OBJECT *ObjDesc,
660 ACPI_WALK_STATE *WalkState)
661{
662 ACPI_STATUS Status;
663 ACPI_NAMESPACE_NODE *Node;
664 ACPI_OPERAND_OBJECT *CurrentObjDesc;
665 ACPI_OPERAND_OBJECT *NewObjDesc;
666 UINT8 ObjType;
667
668
669 ACPI_FUNCTION_TRACE ("DsStoreObjectToLocal");
670 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Opcode=%d Idx=%d Obj=%p\n",
671 Opcode, Index, ObjDesc));
672
673 /* Parameter validation */
674
--- 15 unchanged lines hidden (view full) ---
690 {
691 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Obj=%p already installed!\n",
692 ObjDesc));
693 return_ACPI_STATUS (Status);
694 }
695
696 /*
697 * If the reference count on the object is more than one, we must
698 * take a copy of the object before we store.
699 */
700 NewObjDesc = ObjDesc;
701 ObjType = ACPI_GET_OBJECT_TYPE(ObjDesc);
702 if (ObjDesc->Common.ReferenceCount > 1 &&
703 ObjType != ACPI_TYPE_BUFFER &&
704 ObjType != ACPI_TYPE_PACKAGE &&
705 ObjType != ACPI_TYPE_REGION)
706 {
707 Status = AcpiUtCopyIobjectToIobject (ObjDesc, &NewObjDesc, WalkState);
708 if (ACPI_FAILURE (Status))
709 {
710 return_ACPI_STATUS (Status);
711 }
712 }
713
--- 91 unchanged lines hidden ---
2 *
3 * Module Name: dsmthdat - control method arguments and local variables
4 * $Revision: 74 $
5 *
6 ******************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
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.
--- 259 unchanged lines hidden (view full) ---
280 }
281
282 /* Copy passed parameters into the new method stack frame */
283
284 while ((Index < ACPI_METHOD_NUM_ARGS) && (Index < MaxParamCount) && Params[Index])
285 {
286 /*
287 * A valid parameter.
288 * Store the argument in the method/walk descriptor
289 */
290 Status = AcpiDsStoreObjectToLocal (AML_ARG_OP, Index, Params[Index],
291 WalkState);
292 if (ACPI_FAILURE (Status))
293 {
294 return_ACPI_STATUS (Status);
295 }
296
297 Index++;
298 }
299
--- 252 unchanged lines hidden (view full) ---
552 case AML_LOCAL_OP:
553
554 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Uninitialized Local[%d] at node %p\n",
555 Index, Node));
556
557 return_ACPI_STATUS (AE_AML_UNINITIALIZED_LOCAL);
558
559 default:
560 return_ACPI_STATUS (AE_AML_INTERNAL);
561 }
562 }
563
564 /*
565 * The Index points to an initialized and valid object.
566 * Return an additional reference to the object
567 */
--- 90 unchanged lines hidden (view full) ---
658 UINT32 Index,
659 ACPI_OPERAND_OBJECT *ObjDesc,
660 ACPI_WALK_STATE *WalkState)
661{
662 ACPI_STATUS Status;
663 ACPI_NAMESPACE_NODE *Node;
664 ACPI_OPERAND_OBJECT *CurrentObjDesc;
665 ACPI_OPERAND_OBJECT *NewObjDesc;
666 UINT8 ObjType;
667
668
669 ACPI_FUNCTION_TRACE ("DsStoreObjectToLocal");
670 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Opcode=%d Idx=%d Obj=%p\n",
671 Opcode, Index, ObjDesc));
672
673 /* Parameter validation */
674
--- 15 unchanged lines hidden (view full) ---
690 {
691 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Obj=%p already installed!\n",
692 ObjDesc));
693 return_ACPI_STATUS (Status);
694 }
695
696 /*
697 * If the reference count on the object is more than one, we must
698 * take a copy of the object before we store.
699 */
700 NewObjDesc = ObjDesc;
701 ObjType = ACPI_GET_OBJECT_TYPE(ObjDesc);
702 if (ObjDesc->Common.ReferenceCount > 1 &&
703 ObjType != ACPI_TYPE_BUFFER &&
704 ObjType != ACPI_TYPE_PACKAGE &&
705 ObjType != ACPI_TYPE_REGION)
706 {
707 Status = AcpiUtCopyIobjectToIobject (ObjDesc, &NewObjDesc, WalkState);
708 if (ACPI_FAILURE (Status))
709 {
710 return_ACPI_STATUS (Status);
711 }
712 }
713
--- 91 unchanged lines hidden ---