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 --- |