Deleted Added
full compact
dsobject.c (80062) dsobject.c (82367)
1/******************************************************************************
2 *
3 * Module Name: dsobject - Dispatcher object management routines
1/******************************************************************************
2 *
3 * Module Name: dsobject - Dispatcher object management routines
4 * $Revision: 67 $
4 * $Revision: 71 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.

--- 179 unchanged lines hidden (view full) ---

192 Info->OpRegionCount++;
193 break;
194
195
196 case ACPI_TYPE_METHOD:
197
198 Info->MethodCount++;
199
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.

--- 179 unchanged lines hidden (view full) ---

192 Info->OpRegionCount++;
193 break;
194
195
196 case ACPI_TYPE_METHOD:
197
198 Info->MethodCount++;
199
200 if (!(AcpiDbgLevel & TRACE_INIT))
200 if (!(AcpiDbgLevel & ACPI_LV_INIT))
201 {
201 {
202 DEBUG_PRINT_RAW (ACPI_OK, ("."));
202 ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OK, "."));
203 }
204
205 /*
206 * Set the execution data width (32 or 64) based upon the
207 * revision number of the parent ACPI table.
208 */
209
210 if (TableRevision == 1)

--- 7 unchanged lines hidden (view full) ---

218 */
219
220 Status = AcpiDsParseMethod (ObjHandle);
221
222 /* TBD: [Errors] what do we do with an error? */
223
224 if (ACPI_FAILURE (Status))
225 {
203 }
204
205 /*
206 * Set the execution data width (32 or 64) based upon the
207 * revision number of the parent ACPI table.
208 */
209
210 if (TableRevision == 1)

--- 7 unchanged lines hidden (view full) ---

218 */
219
220 Status = AcpiDsParseMethod (ObjHandle);
221
222 /* TBD: [Errors] what do we do with an error? */
223
224 if (ACPI_FAILURE (Status))
225 {
226 DEBUG_PRINTP (ACPI_ERROR, ("Method %p [%4.4s] parse failed! %s\n",
226 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Method %p [%4.4s] parse failed! %s\n",
227 ObjHandle, &((ACPI_NAMESPACE_NODE *)ObjHandle)->Name,
228 AcpiFormatException (Status)));
229 break;
230 }
231
232 /*
233 * Delete the parse tree. We simple re-parse the method
234 * for every execution since there isn't much overhead

--- 33 unchanged lines hidden (view full) ---

268{
269 ACPI_STATUS Status;
270 ACPI_INIT_WALK_INFO Info;
271
272
273 FUNCTION_TRACE ("DsInitializeObjects");
274
275
227 ObjHandle, &((ACPI_NAMESPACE_NODE *)ObjHandle)->Name,
228 AcpiFormatException (Status)));
229 break;
230 }
231
232 /*
233 * Delete the parse tree. We simple re-parse the method
234 * for every execution since there isn't much overhead

--- 33 unchanged lines hidden (view full) ---

268{
269 ACPI_STATUS Status;
270 ACPI_INIT_WALK_INFO Info;
271
272
273 FUNCTION_TRACE ("DsInitializeObjects");
274
275
276 DEBUG_PRINTP (TRACE_DISPATCH,
277 ("**** Starting initialization of namespace objects ****\n"));
278 DEBUG_PRINT_RAW (ACPI_OK, ("Parsing Methods:"));
276 ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
277 "**** Starting initialization of namespace objects ****\n"));
278 ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OK, "Parsing Methods:"));
279
280
281 Info.MethodCount = 0;
282 Info.OpRegionCount = 0;
283 Info.ObjectCount = 0;
284 Info.TableDesc = TableDesc;
285
286
287 /* Walk entire namespace from the supplied root */
288
289 Status = AcpiWalkNamespace (ACPI_TYPE_ANY, StartNode, ACPI_UINT32_MAX,
290 AcpiDsInitOneObject, &Info, NULL);
291 if (ACPI_FAILURE (Status))
292 {
279
280
281 Info.MethodCount = 0;
282 Info.OpRegionCount = 0;
283 Info.ObjectCount = 0;
284 Info.TableDesc = TableDesc;
285
286
287 /* Walk entire namespace from the supplied root */
288
289 Status = AcpiWalkNamespace (ACPI_TYPE_ANY, StartNode, ACPI_UINT32_MAX,
290 AcpiDsInitOneObject, &Info, NULL);
291 if (ACPI_FAILURE (Status))
292 {
293 DEBUG_PRINTP (ACPI_ERROR, ("WalkNamespace failed! %x\n", Status));
293 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "WalkNamespace failed! %x\n", Status));
294 }
295
294 }
295
296 DEBUG_PRINT_RAW (ACPI_OK,
297 ("\n%d Control Methods found and parsed (%d nodes total)\n",
296 ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OK,
297 "\n%d Control Methods found and parsed (%d nodes total)\n",
298 Info.MethodCount, Info.ObjectCount));
298 Info.MethodCount, Info.ObjectCount));
299 DEBUG_PRINTP (TRACE_DISPATCH,
300 ("%d Control Methods found\n", Info.MethodCount));
301 DEBUG_PRINTP (TRACE_DISPATCH,
302 ("%d Op Regions found\n", Info.OpRegionCount));
299 ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
300 "%d Control Methods found\n", Info.MethodCount));
301 ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
302 "%d Op Regions found\n", Info.OpRegionCount));
303
304 return_ACPI_STATUS (AE_OK);
305}
306
307
308/*****************************************************************************
309 *
310 * FUNCTION: AcpiDsInitObjectFromOp

--- 10 unchanged lines hidden (view full) ---

321 *
322 ****************************************************************************/
323
324ACPI_STATUS
325AcpiDsInitObjectFromOp (
326 ACPI_WALK_STATE *WalkState,
327 ACPI_PARSE_OBJECT *Op,
328 UINT16 Opcode,
303
304 return_ACPI_STATUS (AE_OK);
305}
306
307
308/*****************************************************************************
309 *
310 * FUNCTION: AcpiDsInitObjectFromOp

--- 10 unchanged lines hidden (view full) ---

321 *
322 ****************************************************************************/
323
324ACPI_STATUS
325AcpiDsInitObjectFromOp (
326 ACPI_WALK_STATE *WalkState,
327 ACPI_PARSE_OBJECT *Op,
328 UINT16 Opcode,
329 ACPI_OPERAND_OBJECT **ObjDesc)
329 ACPI_OPERAND_OBJECT **RetObjDesc)
330{
331 ACPI_STATUS Status;
332 ACPI_PARSE_OBJECT *Arg;
333 ACPI_PARSE2_OBJECT *ByteList;
334 ACPI_OPERAND_OBJECT *ArgDesc;
335 ACPI_OPCODE_INFO *OpInfo;
330{
331 ACPI_STATUS Status;
332 ACPI_PARSE_OBJECT *Arg;
333 ACPI_PARSE2_OBJECT *ByteList;
334 ACPI_OPERAND_OBJECT *ArgDesc;
335 ACPI_OPCODE_INFO *OpInfo;
336 ACPI_OPERAND_OBJECT *ObjDesc;
336
337
338 PROC_NAME ("DsInitObjectFromOp");
339
340
337
338
339 PROC_NAME ("DsInitObjectFromOp");
340
341
342 ObjDesc = *RetObjDesc;
341 OpInfo = AcpiPsGetOpcodeInfo (Opcode);
342 if (ACPI_GET_OP_TYPE (OpInfo) != ACPI_OP_TYPE_OPCODE)
343 {
344 /* Unknown opcode */
345
346 return (AE_TYPE);
347 }
348
349
350 /* Get and prepare the first argument */
351
343 OpInfo = AcpiPsGetOpcodeInfo (Opcode);
344 if (ACPI_GET_OP_TYPE (OpInfo) != ACPI_OP_TYPE_OPCODE)
345 {
346 /* Unknown opcode */
347
348 return (AE_TYPE);
349 }
350
351
352 /* Get and prepare the first argument */
353
352 switch ((*ObjDesc)->Common.Type)
354 switch (ObjDesc->Common.Type)
353 {
354 case ACPI_TYPE_BUFFER:
355
356 /* First arg is a number */
357
358 AcpiDsCreateOperand (WalkState, Op->Value.Arg, 0);
359 ArgDesc = WalkState->Operands [WalkState->NumOperands - 1];
360 AcpiDsObjStackPop (1, WalkState);

--- 6 unchanged lines hidden (view full) ---

367 AcpiUtRemoveReference (ArgDesc);
368 return (Status);
369 }
370
371 /* We are expecting a number */
372
373 if (ArgDesc->Common.Type != ACPI_TYPE_INTEGER)
374 {
355 {
356 case ACPI_TYPE_BUFFER:
357
358 /* First arg is a number */
359
360 AcpiDsCreateOperand (WalkState, Op->Value.Arg, 0);
361 ArgDesc = WalkState->Operands [WalkState->NumOperands - 1];
362 AcpiDsObjStackPop (1, WalkState);

--- 6 unchanged lines hidden (view full) ---

369 AcpiUtRemoveReference (ArgDesc);
370 return (Status);
371 }
372
373 /* We are expecting a number */
374
375 if (ArgDesc->Common.Type != ACPI_TYPE_INTEGER)
376 {
375 DEBUG_PRINTP (ACPI_ERROR,
376 ("Expecting number, got obj: %p type %X\n",
377 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
378 "Expecting number, got obj: %p type %X\n",
377 ArgDesc, ArgDesc->Common.Type));
378 AcpiUtRemoveReference (ArgDesc);
379 return (AE_TYPE);
380 }
381
382 /* Get the value, delete the internal object */
383
379 ArgDesc, ArgDesc->Common.Type));
380 AcpiUtRemoveReference (ArgDesc);
381 return (AE_TYPE);
382 }
383
384 /* Get the value, delete the internal object */
385
384 (*ObjDesc)->Buffer.Length = (UINT32) ArgDesc->Integer.Value;
386 ObjDesc->Buffer.Length = (UINT32) ArgDesc->Integer.Value;
385 AcpiUtRemoveReference (ArgDesc);
386
387 /* Allocate the buffer */
388
387 AcpiUtRemoveReference (ArgDesc);
388
389 /* Allocate the buffer */
390
389 if ((*ObjDesc)->Buffer.Length == 0)
391 if (ObjDesc->Buffer.Length == 0)
390 {
392 {
391 (*ObjDesc)->Buffer.Pointer = NULL;
393 ObjDesc->Buffer.Pointer = NULL;
392 REPORT_WARNING (("Buffer created with zero length in AML\n"));
393 break;
394 }
395
396 else
397 {
394 REPORT_WARNING (("Buffer created with zero length in AML\n"));
395 break;
396 }
397
398 else
399 {
398 (*ObjDesc)->Buffer.Pointer = ACPI_MEM_CALLOCATE (
399 (*ObjDesc)->Buffer.Length);
400 ObjDesc->Buffer.Pointer = ACPI_MEM_CALLOCATE (
401 ObjDesc->Buffer.Length);
400
402
401 if (!(*ObjDesc)->Buffer.Pointer)
403 if (!ObjDesc->Buffer.Pointer)
402 {
403 return (AE_NO_MEMORY);
404 }
405 }
406
407 /*
404 {
405 return (AE_NO_MEMORY);
406 }
407 }
408
409 /*
408 * Second arg is the buffer data (optional)
409 * ByteList can be either individual bytes or a
410 * string initializer!
410 * Second arg is the buffer data (optional) ByteList can be either
411 * individual bytes or a string initializer.
411 */
412
412 */
413
413 /* skip first arg */
414 Arg = Op->Value.Arg;
414 Arg = Op->Value.Arg; /* skip first arg */
415
415 ByteList = (ACPI_PARSE2_OBJECT *) Arg->Next;
416 if (ByteList)
417 {
418 if (ByteList->Opcode != AML_INT_BYTELIST_OP)
419 {
416 ByteList = (ACPI_PARSE2_OBJECT *) Arg->Next;
417 if (ByteList)
418 {
419 if (ByteList->Opcode != AML_INT_BYTELIST_OP)
420 {
420 DEBUG_PRINTP (ACPI_ERROR, ("Expecting bytelist, got: %x\n",
421 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Expecting bytelist, got: %x\n",
421 ByteList));
422 return (AE_TYPE);
423 }
424
422 ByteList));
423 return (AE_TYPE);
424 }
425
425 MEMCPY ((*ObjDesc)->Buffer.Pointer, ByteList->Data,
426 (*ObjDesc)->Buffer.Length);
426 MEMCPY (ObjDesc->Buffer.Pointer, ByteList->Data,
427 ObjDesc->Buffer.Length);
427 }
428
429 break;
430
431
432 case ACPI_TYPE_PACKAGE:
433
434 /*
428 }
429
430 break;
431
432
433 case ACPI_TYPE_PACKAGE:
434
435 /*
435 * When called, an internal package object has already
436 * been built and is pointed to by *ObjDesc.
437 * AcpiDsBuildInternalObject build another internal
438 * package object, so remove reference to the original
439 * so that it is deleted. Error checking is done
440 * within the remove reference function.
436 * When called, an internal package object has already been built and
437 * is pointed to by ObjDesc. AcpiDsBuildInternalObject builds another
438 * internal package object, so remove reference to the original so
439 * that it is deleted. Error checking is done within the remove
440 * reference function.
441 */
441 */
442 AcpiUtRemoveReference(*ObjDesc);
443
444 Status = AcpiDsBuildInternalObject (WalkState, Op, ObjDesc);
442 AcpiUtRemoveReference (ObjDesc);
443 Status = AcpiDsBuildInternalObject (WalkState, Op, RetObjDesc);
445 break;
446
447 case ACPI_TYPE_INTEGER:
444 break;
445
446 case ACPI_TYPE_INTEGER:
448 (*ObjDesc)->Integer.Value = Op->Value.Integer;
447 ObjDesc->Integer.Value = Op->Value.Integer;
449 break;
450
451
452 case ACPI_TYPE_STRING:
448 break;
449
450
451 case ACPI_TYPE_STRING:
453 (*ObjDesc)->String.Pointer = Op->Value.String;
454 (*ObjDesc)->String.Length = STRLEN (Op->Value.String);
452 ObjDesc->String.Pointer = Op->Value.String;
453 ObjDesc->String.Length = STRLEN (Op->Value.String);
455 break;
456
457
458 case ACPI_TYPE_METHOD:
459 break;
460
461
462 case INTERNAL_TYPE_REFERENCE:
463
464 switch (ACPI_GET_OP_CLASS (OpInfo))
465 {
466 case OPTYPE_LOCAL_VARIABLE:
467
468 /* Split the opcode into a base opcode + offset */
469
454 break;
455
456
457 case ACPI_TYPE_METHOD:
458 break;
459
460
461 case INTERNAL_TYPE_REFERENCE:
462
463 switch (ACPI_GET_OP_CLASS (OpInfo))
464 {
465 case OPTYPE_LOCAL_VARIABLE:
466
467 /* Split the opcode into a base opcode + offset */
468
470 (*ObjDesc)->Reference.Opcode = AML_LOCAL_OP;
471 (*ObjDesc)->Reference.Offset = Opcode - AML_LOCAL_OP;
469 ObjDesc->Reference.Opcode = AML_LOCAL_OP;
470 ObjDesc->Reference.Offset = Opcode - AML_LOCAL_OP;
472 break;
473
471 break;
472
473
474 case OPTYPE_METHOD_ARGUMENT:
475
476 /* Split the opcode into a base opcode + offset */
477
474 case OPTYPE_METHOD_ARGUMENT:
475
476 /* Split the opcode into a base opcode + offset */
477
478 (*ObjDesc)->Reference.Opcode = AML_ARG_OP;
479 (*ObjDesc)->Reference.Offset = Opcode - AML_ARG_OP;
478 ObjDesc->Reference.Opcode = AML_ARG_OP;
479 ObjDesc->Reference.Offset = Opcode - AML_ARG_OP;
480 break;
481
480 break;
481
482
483#ifdef INTEGER_CONST__
484 case OPTYPE_CONSTANT:
485
486 /* TBD: Why is the DEBUG object a CONSTANT? */
487
488 if (Op->Opcode == AML_DEBUG_OP)
489 {
490 break;
491 }
492
493 /* Reference object no longer needed */
494
495 AcpiUtRemoveReference (ObjDesc);
496
497 /* Create/Init a new Integer object */
498
499 ObjDesc = AcpiUtCreateInternalObject (ACPI_TYPE_INTEGER);
500 if (!ObjDesc)
501 {
502 return_ACPI_STATUS (AE_NO_MEMORY);
503 }
504
505 /*
506 * Decode constants here. Turn them into real integer objects
507 * that are initialized to the value of the constant.
508 */
509 switch (Op->Opcode)
510 {
511 case AML_ONE_OP:
512 ObjDesc->Integer.Value = 1;
513 break;
514
515 case AML_ONES_OP:
516 ObjDesc->Integer.Value = ACPI_INTEGER_MAX;
517 break;
518
519 case AML_REVISION_OP:
520 ObjDesc->Integer.Value = ACPI_CA_VERSION;
521 break;
522
523 case AML_ZERO_OP:
524 ObjDesc->Integer.Flags |= AOPOBJ_ZERO_CONST;
525 ObjDesc->Integer.Value = 0;
526 break;
527
528 default:
529 ObjDesc->Integer.Value = 0;
530 break;
531 }
532
533 *RetObjDesc = ObjDesc;
534 break;
535#endif
536
482 default: /* Constants, Literals, etc.. */
483
484 if (Op->Opcode == AML_INT_NAMEPATH_OP)
485 {
486 /* Node was saved in Op */
487
537 default: /* Constants, Literals, etc.. */
538
539 if (Op->Opcode == AML_INT_NAMEPATH_OP)
540 {
541 /* Node was saved in Op */
542
488 (*ObjDesc)->Reference.Node = Op->Node;
543 ObjDesc->Reference.Node = Op->Node;
489 }
490
544 }
545
491 (*ObjDesc)->Reference.Opcode = Opcode;
546 ObjDesc->Reference.Opcode = Opcode;
492 break;
493 }
494
495 break;
496
497
498 default:
499
547 break;
548 }
549
550 break;
551
552
553 default:
554
500 DEBUG_PRINTP (ACPI_ERROR, ("Unimplemented data type: %x\n",
501 (*ObjDesc)->Common.Type));
555 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unimplemented data type: %x\n",
556 ObjDesc->Common.Type));
502
503 break;
504 }
505
506 return (AE_OK);
507}
508
509

--- 29 unchanged lines hidden (view full) ---

539
540 if (Op->Opcode == AML_INT_NAMEPATH_OP)
541 {
542 /*
543 * This is an object reference. If The name was
544 * previously looked up in the NS, it is stored in this op.
545 * Otherwise, go ahead and look it up now
546 */
557
558 break;
559 }
560
561 return (AE_OK);
562}
563
564

--- 29 unchanged lines hidden (view full) ---

594
595 if (Op->Opcode == AML_INT_NAMEPATH_OP)
596 {
597 /*
598 * This is an object reference. If The name was
599 * previously looked up in the NS, it is stored in this op.
600 * Otherwise, go ahead and look it up now
601 */
547
548 if (!Op->Node)
549 {
550 Status = AcpiNsLookup (WalkState->ScopeInfo,
551 Op->Value.String, ACPI_TYPE_ANY,
552 IMODE_EXECUTE,
553 NS_SEARCH_PARENT | NS_DONT_OPEN_SCOPE,
554 NULL,
555 (ACPI_NAMESPACE_NODE **)&(Op->Node));

--- 87 unchanged lines hidden (view full) ---

643 ACPI_OPERAND_OBJECT *ObjDesc;
644 ACPI_STATUS Status = AE_OK;
645
646
647 FUNCTION_TRACE ("DsBuildInternalPackageObj");
648
649
650 ObjDesc = AcpiUtCreateInternalObject (ACPI_TYPE_PACKAGE);
602 if (!Op->Node)
603 {
604 Status = AcpiNsLookup (WalkState->ScopeInfo,
605 Op->Value.String, ACPI_TYPE_ANY,
606 IMODE_EXECUTE,
607 NS_SEARCH_PARENT | NS_DONT_OPEN_SCOPE,
608 NULL,
609 (ACPI_NAMESPACE_NODE **)&(Op->Node));

--- 87 unchanged lines hidden (view full) ---

697 ACPI_OPERAND_OBJECT *ObjDesc;
698 ACPI_STATUS Status = AE_OK;
699
700
701 FUNCTION_TRACE ("DsBuildInternalPackageObj");
702
703
704 ObjDesc = AcpiUtCreateInternalObject (ACPI_TYPE_PACKAGE);
705 *ObjDescPtr = ObjDesc;
651 if (!ObjDesc)
652 {
653 return_ACPI_STATUS (AE_NO_MEMORY);
654 }
706 if (!ObjDesc)
707 {
708 return_ACPI_STATUS (AE_NO_MEMORY);
709 }
710
711 if (Op->Opcode == AML_VAR_PACKAGE_OP)
712 {
713 /*
714 * Variable length package parameters are evaluated JIT
715 */
716 return_ACPI_STATUS (AE_OK);
717 }
655
656 /* The first argument must be the package length */
657
658 Arg = Op->Value.Arg;
718
719 /* The first argument must be the package length */
720
721 Arg = Op->Value.Arg;
659 ObjDesc->Package.Count = Arg->Value.Integer;
722 ObjDesc->Package.Count = Arg->Value.Integer32;
660
661 /*
662 * Allocate the array of pointers (ptrs to the
663 * individual objects) Add an extra pointer slot so
664 * that the list is always null terminated.
665 */
723
724 /*
725 * Allocate the array of pointers (ptrs to the
726 * individual objects) Add an extra pointer slot so
727 * that the list is always null terminated.
728 */
666
667 ObjDesc->Package.Elements = ACPI_MEM_CALLOCATE (
668 (ObjDesc->Package.Count + 1) * sizeof (void *));
669
670 if (!ObjDesc->Package.Elements)
671 {
672 AcpiUtDeleteObjectDesc (ObjDesc);
673 return_ACPI_STATUS (AE_NO_MEMORY);
674 }
675
676 ObjDesc->Package.NextElement = ObjDesc->Package.Elements;
677
678 /*
679 * Now init the elements of the package
680 */
729 ObjDesc->Package.Elements = ACPI_MEM_CALLOCATE (
730 (ObjDesc->Package.Count + 1) * sizeof (void *));
731
732 if (!ObjDesc->Package.Elements)
733 {
734 AcpiUtDeleteObjectDesc (ObjDesc);
735 return_ACPI_STATUS (AE_NO_MEMORY);
736 }
737
738 ObjDesc->Package.NextElement = ObjDesc->Package.Elements;
739
740 /*
741 * Now init the elements of the package
742 */
681
682 Arg = Arg->Next;
683 while (Arg)
684 {
685 if (Arg->Opcode == AML_PACKAGE_OP)
686 {
687 Status = AcpiDsBuildInternalPackageObj (WalkState, Arg,
688 ObjDesc->Package.NextElement);
689 }
690
691 else
692 {
693 Status = AcpiDsBuildInternalSimpleObj (WalkState, Arg,
694 ObjDesc->Package.NextElement);
695 }
696
697 ObjDesc->Package.NextElement++;
698 Arg = Arg->Next;
699 }
700
743 Arg = Arg->Next;
744 while (Arg)
745 {
746 if (Arg->Opcode == AML_PACKAGE_OP)
747 {
748 Status = AcpiDsBuildInternalPackageObj (WalkState, Arg,
749 ObjDesc->Package.NextElement);
750 }
751
752 else
753 {
754 Status = AcpiDsBuildInternalSimpleObj (WalkState, Arg,
755 ObjDesc->Package.NextElement);
756 }
757
758 ObjDesc->Package.NextElement++;
759 Arg = Arg->Next;
760 }
761
701 *ObjDescPtr = ObjDesc;
762 ObjDesc->Package.Flags |= AOPOBJ_DATA_VALID;
702 return_ACPI_STATUS (Status);
703}
704
705
706/*****************************************************************************
707 *
708 * FUNCTION: AcpiDsBuildInternalObject
709 *

--- 11 unchanged lines hidden (view full) ---

721AcpiDsBuildInternalObject (
722 ACPI_WALK_STATE *WalkState,
723 ACPI_PARSE_OBJECT *Op,
724 ACPI_OPERAND_OBJECT **ObjDescPtr)
725{
726 ACPI_STATUS Status;
727
728
763 return_ACPI_STATUS (Status);
764}
765
766
767/*****************************************************************************
768 *
769 * FUNCTION: AcpiDsBuildInternalObject
770 *

--- 11 unchanged lines hidden (view full) ---

782AcpiDsBuildInternalObject (
783 ACPI_WALK_STATE *WalkState,
784 ACPI_PARSE_OBJECT *Op,
785 ACPI_OPERAND_OBJECT **ObjDescPtr)
786{
787 ACPI_STATUS Status;
788
789
729 if (Op->Opcode == AML_PACKAGE_OP)
790 switch (Op->Opcode)
730 {
791 {
792 case AML_PACKAGE_OP:
793 case AML_VAR_PACKAGE_OP:
794
731 Status = AcpiDsBuildInternalPackageObj (WalkState, Op, ObjDescPtr);
795 Status = AcpiDsBuildInternalPackageObj (WalkState, Op, ObjDescPtr);
732 }
796 break;
733
797
734 else
735 {
798
799 default:
800
736 Status = AcpiDsBuildInternalSimpleObj (WalkState, Op, ObjDescPtr);
801 Status = AcpiDsBuildInternalSimpleObj (WalkState, Op, ObjDescPtr);
802 break;
737 }
738
739 return (Status);
740}
741
742
743/*****************************************************************************
744 *

--- 64 unchanged lines hidden ---
803 }
804
805 return (Status);
806}
807
808
809/*****************************************************************************
810 *

--- 64 unchanged lines hidden ---