Deleted Added
full compact
asllookup.c (151937) asllookup.c (167802)
1/******************************************************************************
2 *
3 * Module Name: asllookup- Namespace lookup
1/******************************************************************************
2 *
3 * Module Name: asllookup- Namespace lookup
4 * $Revision: 1.95 $
4 * $Revision: 1.103 $
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 - 2005, Intel Corp.
12 * Some or all of this work - Copyright (c) 1999 - 2007, 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.

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

162 void *Context);
163
164static ACPI_STATUS
165LkNamespaceLocateEnd (
166 ACPI_PARSE_OBJECT *Op,
167 UINT32 Level,
168 void *Context);
169
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.

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

162 void *Context);
163
164static ACPI_STATUS
165LkNamespaceLocateEnd (
166 ACPI_PARSE_OBJECT *Op,
167 UINT32 Level,
168 void *Context);
169
170static ACPI_STATUS
171LkIsObjectUsed (
172 ACPI_HANDLE ObjHandle,
173 UINT32 Level,
174 void *Context,
175 void **ReturnValue);
170
176
177
171/*******************************************************************************
172 *
173 * FUNCTION: LsDoOneNamespaceObject
174 *
175 * PARAMETERS: ACPI_WALK_CALLBACK
176 *
177 * RETURN: Status
178 *

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

191 ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
192 ACPI_OPERAND_OBJECT *ObjDesc;
193 ACPI_PARSE_OBJECT *Op;
194
195
196 Gbl_NumNamespaceObjects++;
197
198 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%5d [%d] %*s %4.4s - %s",
178/*******************************************************************************
179 *
180 * FUNCTION: LsDoOneNamespaceObject
181 *
182 * PARAMETERS: ACPI_WALK_CALLBACK
183 *
184 * RETURN: Status
185 *

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

198 ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
199 ACPI_OPERAND_OBJECT *ObjDesc;
200 ACPI_PARSE_OBJECT *Op;
201
202
203 Gbl_NumNamespaceObjects++;
204
205 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%5d [%d] %*s %4.4s - %s",
199 Gbl_NumNamespaceObjects, Level, (Level * 3), " ",
200 &Node->Name,
201 AcpiUtGetTypeName (Node->Type));
206 Gbl_NumNamespaceObjects, Level, (Level * 3), " ",
207 &Node->Name,
208 AcpiUtGetTypeName (Node->Type));
202
203 Op = Node->Op;
204 ObjDesc = ACPI_CAST_PTR (ACPI_OPERAND_OBJECT, Node->Object);
205
206 if (!Op)
207 {
208 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "\n");
209 return (AE_OK);
210 }
211
212
213 if ((ObjDesc) &&
209
210 Op = Node->Op;
211 ObjDesc = ACPI_CAST_PTR (ACPI_OPERAND_OBJECT, Node->Object);
212
213 if (!Op)
214 {
215 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "\n");
216 return (AE_OK);
217 }
218
219
220 if ((ObjDesc) &&
214 (ObjDesc->Common.Descriptor == ACPI_DESC_TYPE_OPERAND))
221 (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc) == ACPI_DESC_TYPE_OPERAND))
215 {
216 switch (Node->Type)
217 {
218 case ACPI_TYPE_INTEGER:
219
220 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
221 " [Initial Value 0x%8.8X%8.8X]",
222 ACPI_FORMAT_UINT64 (ObjDesc->Integer.Value));

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

353 }
354 if ((Op->Asl.ParseOpcode == PARSEOP_NAMESEG) ||
355 (Op->Asl.ParseOpcode == PARSEOP_NAMESTRING))
356 {
357 Op = Op->Asl.Next;
358 }
359 Op = Op->Asl.Child;
360
222 {
223 switch (Node->Type)
224 {
225 case ACPI_TYPE_INTEGER:
226
227 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
228 " [Initial Value 0x%8.8X%8.8X]",
229 ACPI_FORMAT_UINT64 (ObjDesc->Integer.Value));

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

360 }
361 if ((Op->Asl.ParseOpcode == PARSEOP_NAMESEG) ||
362 (Op->Asl.ParseOpcode == PARSEOP_NAMESTRING))
363 {
364 Op = Op->Asl.Next;
365 }
366 Op = Op->Asl.Child;
367
361 if (Op->Asl.ParseOpcode == PARSEOP_INTEGER)
368 if (Op && (Op->Asl.ParseOpcode == PARSEOP_INTEGER))
362 {
363 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
364 " [Initial Length 0x%.2X bytes]",
365 Op->Asl.Value.Integer);
366 }
367 break;
368
369
370 case ACPI_TYPE_METHOD:
371
372 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
373 " [Code Length 0x%.4X bytes]",
374 Op->Asl.AmlSubtreeLength);
375 break;
376
377
369 {
370 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
371 " [Initial Length 0x%.2X bytes]",
372 Op->Asl.Value.Integer);
373 }
374 break;
375
376
377 case ACPI_TYPE_METHOD:
378
379 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
380 " [Code Length 0x%.4X bytes]",
381 Op->Asl.AmlSubtreeLength);
382 break;
383
384
385 case ACPI_TYPE_LOCAL_RESOURCE:
386
387 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
388 " [Desc Offset 0x%.4X Bytes]", Node->Value);
389 break;
390
391
392 case ACPI_TYPE_LOCAL_RESOURCE_FIELD:
393
394 if (Node->Flags & 0x80)
395 {
396 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
397 " [Field Offset 0x%.4X Bits 0x%.4X Bytes]",
398 Node->Value, Node->Value / 8);
399 }
400 else
401 {
402 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
403 " [Field Offset 0x%.4X Bytes]", Node->Value);
404 }
405 break;
406
407
378 default:
379 /* Nothing to do for other types */
380 break;
381 }
382 }
383
384 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "\n");
385 return (AE_OK);
386}
387
388
408 default:
409 /* Nothing to do for other types */
410 break;
411 }
412 }
413
414 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "\n");
415 return (AE_OK);
416}
417
418
419void
420LsSetupNsList (void * Handle)
421{
422
423 Gbl_NsOutputFlag = TRUE;
424 Gbl_Files[ASL_FILE_NAMESPACE_OUTPUT].Handle = Handle;
425}
426
427
389/*******************************************************************************
390 *
391 * FUNCTION: LsDisplayNamespace
392 *
393 * PARAMETERS: None
394 *
395 * RETURN: Status
396 *

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

407 ACPI_STATUS Status;
408
409
410 if (!Gbl_NsOutputFlag)
411 {
412 return (AE_OK);
413 }
414
428/*******************************************************************************
429 *
430 * FUNCTION: LsDisplayNamespace
431 *
432 * PARAMETERS: None
433 *
434 * RETURN: Status
435 *

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

446 ACPI_STATUS Status;
447
448
449 if (!Gbl_NsOutputFlag)
450 {
451 return (AE_OK);
452 }
453
454 Gbl_NumNamespaceObjects = 0;
455
415 /* File header */
416
417 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "Contents of ACPI Namespace\n\n");
418 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "Count Depth Name - Type\n\n");
419
420 /* Walk entire namespace from the root */
421
422 Status = AcpiNsWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,

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

493 }
494
495 return (FALSE);
496}
497
498
499/*******************************************************************************
500 *
456 /* File header */
457
458 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "Contents of ACPI Namespace\n\n");
459 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "Count Depth Name - Type\n\n");
460
461 /* Walk entire namespace from the root */
462
463 Status = AcpiNsWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,

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

534 }
535
536 return (FALSE);
537}
538
539
540/*******************************************************************************
541 *
542 * FUNCTION: LkGetNameOp
543 *
544 * PARAMETERS: Op - Current Op
545 *
546 * RETURN: NameOp associated with the input op
547 *
548 * DESCRIPTION: Find the name declaration op associated with the operator
549 *
550 ******************************************************************************/
551
552ACPI_PARSE_OBJECT *
553LkGetNameOp (
554 ACPI_PARSE_OBJECT *Op)
555{
556 const ACPI_OPCODE_INFO *OpInfo;
557 ACPI_PARSE_OBJECT *NameOp = Op;
558
559
560 OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
561
562
563 /* Get the NamePath from the appropriate place */
564
565 if (OpInfo->Flags & AML_NAMED)
566 {
567 /* For nearly all NAMED operators, the name reference is the first child */
568
569 NameOp = Op->Asl.Child;
570 if (Op->Asl.AmlOpcode == AML_ALIAS_OP)
571 {
572 /*
573 * ALIAS is the only oddball opcode, the name declaration
574 * (alias name) is the second operand
575 */
576 NameOp = Op->Asl.Child->Asl.Next;
577 }
578 }
579 else if (OpInfo->Flags & AML_CREATE)
580 {
581 /* Name must appear as the last parameter */
582
583 NameOp = Op->Asl.Child;
584 while (!(NameOp->Asl.CompileFlags & NODE_IS_NAME_DECLARATION))
585 {
586 NameOp = NameOp->Asl.Next;
587 }
588 }
589
590 return (NameOp);
591}
592
593
594/*******************************************************************************
595 *
596 * FUNCTION: LkIsObjectUsed
597 *
598 * PARAMETERS: ACPI_WALK_CALLBACK
599 *
600 * RETURN: Status
601 *
602 * DESCRIPTION: Check for an unreferenced namespace object and emit a warning.
603 * We have to be careful, because some types and names are
604 * typically or always unreferenced, we don't want to issue
605 * excessive warnings.
606 *
607 ******************************************************************************/
608
609static ACPI_STATUS
610LkIsObjectUsed (
611 ACPI_HANDLE ObjHandle,
612 UINT32 Level,
613 void *Context,
614 void **ReturnValue)
615{
616 ACPI_NAMESPACE_NODE *Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, ObjHandle);
617
618
619 /* Referenced flag is set during the namespace xref */
620
621 if (Node->Flags & ANOBJ_IS_REFERENCED)
622 {
623 return (AE_OK);
624 }
625
626 /*
627 * Ignore names that start with an underscore,
628 * these are the reserved ACPI names and are typically not referenced,
629 * they are called by the host OS.
630 */
631 if (Node->Name.Ascii[0] == '_')
632 {
633 return (AE_OK);
634 }
635
636 /* There are some types that are typically not referenced, ignore them */
637
638 switch (Node->Type)
639 {
640 case ACPI_TYPE_DEVICE:
641 case ACPI_TYPE_PROCESSOR:
642 case ACPI_TYPE_POWER:
643 case ACPI_TYPE_LOCAL_RESOURCE:
644 return (AE_OK);
645
646 default:
647 break;
648 }
649
650 /* All others are valid unreferenced namespace objects */
651
652 if (Node->Op)
653 {
654 AslError (ASL_WARNING2, ASL_MSG_NOT_REFERENCED, LkGetNameOp (Node->Op), NULL);
655 }
656 return (AE_OK);
657}
658
659
660/*******************************************************************************
661 *
662 * FUNCTION: LkFindUnreferencedObjects
663 *
664 * PARAMETERS: None
665 *
666 * RETURN: None
667 *
668 * DESCRIPTION: Namespace walk to find objects that are not referenced in any
669 * way. Must be called after the namespace has been cross
670 * referenced.
671 *
672 ******************************************************************************/
673
674void
675LkFindUnreferencedObjects (
676 void)
677{
678
679 /* Walk entire namespace from the supplied root */
680
681 (void) AcpiNsWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
682 ACPI_UINT32_MAX, FALSE, LkIsObjectUsed,
683 NULL, NULL);
684}
685
686
687/*******************************************************************************
688 *
501 * FUNCTION: LkCrossReferenceNamespace
502 *
503 * PARAMETERS: None
504 *
505 * RETURN: Status
506 *
507 * DESCRIPTION: Perform a cross reference check of the parse tree against the
508 * namespace. Every named referenced within the parse tree

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

636 ACPI_PARSE_OBJECT *OwningOp;
637 ACPI_PARSE_OBJECT *SpaceIdOp;
638 UINT32 MinimumLength;
639 UINT32 Temp;
640 const ACPI_OPCODE_INFO *OpInfo;
641 UINT32 Flags;
642
643
689 * FUNCTION: LkCrossReferenceNamespace
690 *
691 * PARAMETERS: None
692 *
693 * RETURN: Status
694 *
695 * DESCRIPTION: Perform a cross reference check of the parse tree against the
696 * namespace. Every named referenced within the parse tree

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

824 ACPI_PARSE_OBJECT *OwningOp;
825 ACPI_PARSE_OBJECT *SpaceIdOp;
826 UINT32 MinimumLength;
827 UINT32 Temp;
828 const ACPI_OPCODE_INFO *OpInfo;
829 UINT32 Flags;
830
831
644 ACPI_FUNCTION_TRACE_PTR ("LkNamespaceLocateBegin", Op);
832 ACPI_FUNCTION_TRACE_PTR (LkNamespaceLocateBegin, Op);
645
646 /*
647 * If this node is the actual declaration of a name
648 * [such as the XXXX name in "Method (XXXX)"],
649 * we are not interested in it here. We only care about names that are
650 * references to other objects within the namespace and the parent objects
651 * of name declarations
652 */

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

683 */
684 Flags |= ACPI_NS_DONT_OPEN_SCOPE;
685 }
686
687 /* Get the NamePath from the appropriate place */
688
689 if (OpInfo->Flags & AML_NAMED)
690 {
833
834 /*
835 * If this node is the actual declaration of a name
836 * [such as the XXXX name in "Method (XXXX)"],
837 * we are not interested in it here. We only care about names that are
838 * references to other objects within the namespace and the parent objects
839 * of name declarations
840 */

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

871 */
872 Flags |= ACPI_NS_DONT_OPEN_SCOPE;
873 }
874
875 /* Get the NamePath from the appropriate place */
876
877 if (OpInfo->Flags & AML_NAMED)
878 {
691 /* For all NAMED operators, the name reference is the first child */
879 /* For nearly all NAMED operators, the name reference is the first child */
692
693 Path = Op->Asl.Child->Asl.Value.String;
694 if (Op->Asl.AmlOpcode == AML_ALIAS_OP)
695 {
696 /*
697 * ALIAS is the only oddball opcode, the name declaration
698 * (alias name) is the second operand
699 */

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

724 * Lookup the name in the namespace. Name must exist at this point, or it
725 * is an invalid reference.
726 *
727 * The namespace is also used as a lookup table for references to resource
728 * descriptors and the fields within them.
729 */
730 Gbl_NsLookupCount++;
731
880
881 Path = Op->Asl.Child->Asl.Value.String;
882 if (Op->Asl.AmlOpcode == AML_ALIAS_OP)
883 {
884 /*
885 * ALIAS is the only oddball opcode, the name declaration
886 * (alias name) is the second operand
887 */

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

912 * Lookup the name in the namespace. Name must exist at this point, or it
913 * is an invalid reference.
914 *
915 * The namespace is also used as a lookup table for references to resource
916 * descriptors and the fields within them.
917 */
918 Gbl_NsLookupCount++;
919
732 Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ObjectType,
920 Status = AcpiNsLookup (WalkState->ScopeInfo, Path, ObjectType,
733 ACPI_IMODE_EXECUTE, Flags, WalkState, &(Node));
734 if (ACPI_FAILURE (Status))
735 {
736 if (Status == AE_NOT_FOUND)
737 {
738 /*
739 * We didn't find the name reference by path -- we can qualify this
740 * a little better before we print an error message

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

798 }
799 }
800
801 Status = AE_OK;
802 }
803 return (Status);
804 }
805
921 ACPI_IMODE_EXECUTE, Flags, WalkState, &(Node));
922 if (ACPI_FAILURE (Status))
923 {
924 if (Status == AE_NOT_FOUND)
925 {
926 /*
927 * We didn't find the name reference by path -- we can qualify this
928 * a little better before we print an error message

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

986 }
987 }
988
989 Status = AE_OK;
990 }
991 return (Status);
992 }
993
994 /* Check for a reference vs. name declaration */
995
996 if (!(OpInfo->Flags & AML_NAMED) &&
997 !(OpInfo->Flags & AML_CREATE))
998 {
999 /* This node has been referenced, mark it for reference check */
1000
1001 Node->Flags |= ANOBJ_IS_REFERENCED;
1002 }
1003
806 /* Attempt to optimize the NamePath */
807
808 OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
809
810 /*
1004 /* Attempt to optimize the NamePath */
1005
1006 OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
1007
1008 /*
811 * Dereference an alias. (A name reference that is an alias.)
812 * Aliases are not nested; The alias always points to the final object
1009 * 1) Dereference an alias (A name reference that is an alias)
1010 * Aliases are not nested, the alias always points to the final object
813 */
814 if ((Op->Asl.ParseOpcode != PARSEOP_ALIAS) &&
815 (Node->Type == ACPI_TYPE_LOCAL_ALIAS))
816 {
817 /* This node points back to the original PARSEOP_ALIAS */
818
819 NextOp = Node->Op;
820
821 /* The first child is the alias target op */
822
823 NextOp = NextOp->Asl.Child;
824
1011 */
1012 if ((Op->Asl.ParseOpcode != PARSEOP_ALIAS) &&
1013 (Node->Type == ACPI_TYPE_LOCAL_ALIAS))
1014 {
1015 /* This node points back to the original PARSEOP_ALIAS */
1016
1017 NextOp = Node->Op;
1018
1019 /* The first child is the alias target op */
1020
1021 NextOp = NextOp->Asl.Child;
1022
825 /* Who in turn points back to original target alias node */
1023 /* That in turn points back to original target alias node */
826
827 if (NextOp->Asl.Node)
828 {
829 Node = NextOp->Asl.Node;
830 }
1024
1025 if (NextOp->Asl.Node)
1026 {
1027 Node = NextOp->Asl.Node;
1028 }
831 else
832 {
833 AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL, Op,
834 "Missing alias link");
835 }
1029
1030 /* Else - forward reference to alias, will be resolved later */
836 }
837
1031 }
1032
838 /* 1) Check for a reference to a resource descriptor */
1033 /* 2) Check for a reference to a resource descriptor */
839
1034
840 else if ((Node->Type == ACPI_TYPE_LOCAL_RESOURCE_FIELD) ||
1035 if ((Node->Type == ACPI_TYPE_LOCAL_RESOURCE_FIELD) ||
841 (Node->Type == ACPI_TYPE_LOCAL_RESOURCE))
842 {
843 /*
844 * This was a reference to a field within a resource descriptor. Extract
845 * the associated field offset (either a bit or byte offset depending on
846 * the field type) and change the named reference into an integer for
847 * AML code generation
848 */

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

905 Op->Asl.AmlLength = 0;
906 Op->Asl.ParseOpcode = PARSEOP_INTEGER;
907 Op->Asl.Value.Integer = (UINT64) Temp;
908 Op->Asl.CompileFlags |= NODE_IS_RESOURCE_FIELD;
909
910 OpcGenerateAmlOpcode (Op);
911 }
912
1036 (Node->Type == ACPI_TYPE_LOCAL_RESOURCE))
1037 {
1038 /*
1039 * This was a reference to a field within a resource descriptor. Extract
1040 * the associated field offset (either a bit or byte offset depending on
1041 * the field type) and change the named reference into an integer for
1042 * AML code generation
1043 */

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

1100 Op->Asl.AmlLength = 0;
1101 Op->Asl.ParseOpcode = PARSEOP_INTEGER;
1102 Op->Asl.Value.Integer = (UINT64) Temp;
1103 Op->Asl.CompileFlags |= NODE_IS_RESOURCE_FIELD;
1104
1105 OpcGenerateAmlOpcode (Op);
1106 }
1107
913 /* 2) Check for a method invocation */
1108 /* 3) Check for a method invocation */
914
915 else if ((((Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) || (Op->Asl.ParseOpcode == PARSEOP_NAMESEG)) &&
916 (Node->Type == ACPI_TYPE_METHOD) &&
917 (Op->Asl.Parent) &&
918 (Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_METHOD)) ||
919
920 (Op->Asl.ParseOpcode == PARSEOP_METHODCALL))
921 {

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

991 else
992 {
993 AslError (ASL_ERROR, ASL_MSG_ARG_COUNT_HI, Op, MsgBuffer);
994 }
995 }
996 }
997 }
998
1109
1110 else if ((((Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) || (Op->Asl.ParseOpcode == PARSEOP_NAMESEG)) &&
1111 (Node->Type == ACPI_TYPE_METHOD) &&
1112 (Op->Asl.Parent) &&
1113 (Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_METHOD)) ||
1114
1115 (Op->Asl.ParseOpcode == PARSEOP_METHODCALL))
1116 {

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

1186 else
1187 {
1188 AslError (ASL_ERROR, ASL_MSG_ARG_COUNT_HI, Op, MsgBuffer);
1189 }
1190 }
1191 }
1192 }
1193
999 /* 3) Check for an ASL Field definition */
1194 /* 4) Check for an ASL Field definition */
1000
1001 else if ((Op->Asl.Parent) &&
1002 ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_FIELD) ||
1003 (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_BANKFIELD)))
1004 {
1005 /*
1006 * Offset checking for fields. If the parent operation region has a
1007 * constant length (known at compile time), we can check fields

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

1132 ACPI_PARSE_OBJECT *Op,
1133 UINT32 Level,
1134 void *Context)
1135{
1136 ACPI_WALK_STATE *WalkState = (ACPI_WALK_STATE *) Context;
1137 const ACPI_OPCODE_INFO *OpInfo;
1138
1139
1195
1196 else if ((Op->Asl.Parent) &&
1197 ((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_FIELD) ||
1198 (Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_BANKFIELD)))
1199 {
1200 /*
1201 * Offset checking for fields. If the parent operation region has a
1202 * constant length (known at compile time), we can check fields

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

1327 ACPI_PARSE_OBJECT *Op,
1328 UINT32 Level,
1329 void *Context)
1330{
1331 ACPI_WALK_STATE *WalkState = (ACPI_WALK_STATE *) Context;
1332 const ACPI_OPCODE_INFO *OpInfo;
1333
1334
1140 ACPI_FUNCTION_TRACE ("LkNamespaceLocateEnd");
1335 ACPI_FUNCTION_TRACE (LkNamespaceLocateEnd);
1141
1142
1143 /* We are only interested in opcodes that have an associated name */
1144
1145 OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
1146 if (!(OpInfo->Flags & AML_NAMED))
1147 {
1148 return (AE_OK);

--- 27 unchanged lines hidden ---
1336
1337
1338 /* We are only interested in opcodes that have an associated name */
1339
1340 OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
1341 if (!(OpInfo->Flags & AML_NAMED))
1342 {
1343 return (AE_OK);

--- 27 unchanged lines hidden ---