Deleted Added
full compact
aslexternal.c (316303) aslexternal.c (322877)
1/******************************************************************************
2 *
3 * Module Name: aslexternal - ASL External opcode compiler support
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

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

197 ArgCountOp = Op->Asl.Child->Asl.Next->Asl.Next;
198 ArgCountOp->Asl.AmlOpcode = AML_RAW_DATA_BYTE;
199 ArgCountOp->Asl.ParseOpcode = PARSEOP_BYTECONST;
200 ArgCountOp->Asl.Value.Integer = 0;
201 UtSetParseOpName (ArgCountOp);
202
203 /* Create new list node of arbitrary type */
204
1/******************************************************************************
2 *
3 * Module Name: aslexternal - ASL External opcode compiler support
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

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

197 ArgCountOp = Op->Asl.Child->Asl.Next->Asl.Next;
198 ArgCountOp->Asl.AmlOpcode = AML_RAW_DATA_BYTE;
199 ArgCountOp->Asl.ParseOpcode = PARSEOP_BYTECONST;
200 ArgCountOp->Asl.Value.Integer = 0;
201 UtSetParseOpName (ArgCountOp);
202
203 /* Create new list node of arbitrary type */
204
205 ListOp = TrAllocateNode (PARSEOP_DEFAULT_ARG);
205 ListOp = TrAllocateOp (PARSEOP_DEFAULT_ARG);
206
207 /* Store External node as child */
208
209 ListOp->Asl.Child = Op;
210 ListOp->Asl.Next = NULL;
211
212 if (Gbl_ExternalsListHead)
213 {

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

261
262 Next = Gbl_ExternalsListHead;
263 while (Next)
264 {
265 ArgCount = 0;
266
267 /* Skip if External node already handled */
268
206
207 /* Store External node as child */
208
209 ListOp->Asl.Child = Op;
210 ListOp->Asl.Next = NULL;
211
212 if (Gbl_ExternalsListHead)
213 {

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

261
262 Next = Gbl_ExternalsListHead;
263 while (Next)
264 {
265 ArgCount = 0;
266
267 /* Skip if External node already handled */
268
269 if (Next->Asl.Child->Asl.CompileFlags & NODE_VISITED)
269 if (Next->Asl.Child->Asl.CompileFlags & OP_VISITED)
270 {
271 Next = Next->Asl.Next;
272 continue;
273 }
274
275 NameOp = Next->Asl.Child->Asl.Child;
276 ExternalName = AcpiNsGetNormalizedPathname (NameOp->Asl.Node, TRUE);
277
278 if (strcmp (CallName, ExternalName))
279 {
280 ACPI_FREE (ExternalName);
281 Next = Next->Asl.Next;
282 continue;
283 }
284
270 {
271 Next = Next->Asl.Next;
272 continue;
273 }
274
275 NameOp = Next->Asl.Child->Asl.Child;
276 ExternalName = AcpiNsGetNormalizedPathname (NameOp->Asl.Node, TRUE);
277
278 if (strcmp (CallName, ExternalName))
279 {
280 ACPI_FREE (ExternalName);
281 Next = Next->Asl.Next;
282 continue;
283 }
284
285 Next->Asl.Child->Asl.CompileFlags |= NODE_VISITED;
285 Next->Asl.Child->Asl.CompileFlags |= OP_VISITED;
286
287 /*
288 * Since we will reposition Externals to the Root, set Namepath
289 * to the fully qualified name and recalculate the aml length
290 */
291 Status = UtInternalizeName (ExternalName,
292 &NameOp->Asl.Value.String);
293

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

430 ACPI_PARSE_OBJECT *ParentOp;
431 ACPI_PARSE_OBJECT *ExternalOp;
432 ACPI_PARSE_OBJECT *PredicateOp;
433 ACPI_PARSE_OBJECT *NextOp;
434 ACPI_PARSE_OBJECT *Prev;
435 ACPI_PARSE_OBJECT *Next;
436 char *ExternalName;
437 ACPI_OBJECT_TYPE ObjType;
286
287 /*
288 * Since we will reposition Externals to the Root, set Namepath
289 * to the fully qualified name and recalculate the aml length
290 */
291 Status = UtInternalizeName (ExternalName,
292 &NameOp->Asl.Value.String);
293

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

430 ACPI_PARSE_OBJECT *ParentOp;
431 ACPI_PARSE_OBJECT *ExternalOp;
432 ACPI_PARSE_OBJECT *PredicateOp;
433 ACPI_PARSE_OBJECT *NextOp;
434 ACPI_PARSE_OBJECT *Prev;
435 ACPI_PARSE_OBJECT *Next;
436 char *ExternalName;
437 ACPI_OBJECT_TYPE ObjType;
438 ACPI_STATUS Status;
438 UINT32 i;
439
440
441 if (!Gbl_ExternalsListHead)
442 {
443 return;
444 }
445

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

468 Next = ExternalOp->Asl.Child;
469 Next->Asl.LineNumber = 0;
470 Next->Asl.LogicalLineNumber = 0;
471
472 if (Next->Asl.ParseOpcode == PARSEOP_NAMESEG)
473 {
474 Next->Asl.ParseOpcode = PARSEOP_NAMESTRING;
475 }
439 UINT32 i;
440
441
442 if (!Gbl_ExternalsListHead)
443 {
444 return;
445 }
446

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

469 Next = ExternalOp->Asl.Child;
470 Next->Asl.LineNumber = 0;
471 Next->Asl.LogicalLineNumber = 0;
472
473 if (Next->Asl.ParseOpcode == PARSEOP_NAMESEG)
474 {
475 Next->Asl.ParseOpcode = PARSEOP_NAMESTRING;
476 }
477
476 Next->Asl.ExternalName = ExternalName;
478 Next->Asl.ExternalName = ExternalName;
477 UtInternalizeName (ExternalName, &Next->Asl.Value.String);
479 Status = UtInternalizeName (ExternalName, &Next->Asl.Value.String);
480 if (ACPI_FAILURE (Status))
481 {
482 AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL,
483 Next, "Could not internalize namestring");
484 return;
485 }
486
478 Next->Asl.AmlLength = strlen (Next->Asl.Value.String);
479
480 Next = Next->Asl.Next;
481 Next->Asl.LineNumber = 0;
482 Next->Asl.LogicalLineNumber = 0;
483
484 Next = Next->Asl.Next;
485 Next->Asl.LineNumber = 0;

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

530 Prev = Gbl_ExternalsListHead->Asl.Child;
531 Next = Prev;
532 while (Next)
533 {
534 ObjType = (ACPI_OBJECT_TYPE)
535 Next->Asl.Child->Asl.Next->Asl.Value.Integer;
536
537 if (ObjType == ACPI_TYPE_METHOD &&
487 Next->Asl.AmlLength = strlen (Next->Asl.Value.String);
488
489 Next = Next->Asl.Next;
490 Next->Asl.LineNumber = 0;
491 Next->Asl.LogicalLineNumber = 0;
492
493 Next = Next->Asl.Next;
494 Next->Asl.LineNumber = 0;

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

539 Prev = Gbl_ExternalsListHead->Asl.Child;
540 Next = Prev;
541 while (Next)
542 {
543 ObjType = (ACPI_OBJECT_TYPE)
544 Next->Asl.Child->Asl.Next->Asl.Value.Integer;
545
546 if (ObjType == ACPI_TYPE_METHOD &&
538 !(Next->Asl.CompileFlags & NODE_VISITED))
547 !(Next->Asl.CompileFlags & OP_VISITED))
539 {
540 if (Next == Prev)
541 {
542 Gbl_ExternalsListHead->Asl.Child = Next->Asl.Next;
543 Next->Asl.Next = NULL;
544 Prev = Gbl_ExternalsListHead->Asl.Child;
545 Next = Prev;
546 continue;

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

564 {
565 return;
566 }
567
568 /* Convert Gbl_ExternalsListHead parent to If(). */
569
570 Gbl_ExternalsListHead->Asl.ParseOpcode = PARSEOP_IF;
571 Gbl_ExternalsListHead->Asl.AmlOpcode = AML_IF_OP;
548 {
549 if (Next == Prev)
550 {
551 Gbl_ExternalsListHead->Asl.Child = Next->Asl.Next;
552 Next->Asl.Next = NULL;
553 Prev = Gbl_ExternalsListHead->Asl.Child;
554 Next = Prev;
555 continue;

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

573 {
574 return;
575 }
576
577 /* Convert Gbl_ExternalsListHead parent to If(). */
578
579 Gbl_ExternalsListHead->Asl.ParseOpcode = PARSEOP_IF;
580 Gbl_ExternalsListHead->Asl.AmlOpcode = AML_IF_OP;
572 Gbl_ExternalsListHead->Asl.CompileFlags = NODE_AML_PACKAGE;
581 Gbl_ExternalsListHead->Asl.CompileFlags = OP_AML_PACKAGE;
573 UtSetParseOpName (Gbl_ExternalsListHead);
574
575 /* Create a Zero op for the If predicate */
576
582 UtSetParseOpName (Gbl_ExternalsListHead);
583
584 /* Create a Zero op for the If predicate */
585
577 PredicateOp = TrAllocateNode (PARSEOP_ZERO);
586 PredicateOp = TrAllocateOp (PARSEOP_ZERO);
578 PredicateOp->Asl.AmlOpcode = AML_ZERO_OP;
579
580 PredicateOp->Asl.Parent = Gbl_ExternalsListHead;
581 PredicateOp->Asl.Child = NULL;
582 PredicateOp->Asl.Next = Gbl_ExternalsListHead->Asl.Child;
583 Gbl_ExternalsListHead->Asl.Child = PredicateOp;
584
585 /* Set line numbers (for listings, etc.) */

--- 36 unchanged lines hidden ---
587 PredicateOp->Asl.AmlOpcode = AML_ZERO_OP;
588
589 PredicateOp->Asl.Parent = Gbl_ExternalsListHead;
590 PredicateOp->Asl.Child = NULL;
591 PredicateOp->Asl.Next = Gbl_ExternalsListHead->Asl.Child;
592 Gbl_ExternalsListHead->Asl.Child = PredicateOp;
593
594 /* Set line numbers (for listings, etc.) */

--- 36 unchanged lines hidden ---