psloop.c (8438a7a80a3c537ec86b2e17720cc9e1957d9651) | psloop.c (3d90091d604146a7c0a7bc071c5b8eba9201531e) |
---|---|
1/****************************************************************************** 2 * 3 * Module Name: psloop - Main AML parse loop 4 * 5 *****************************************************************************/ 6 7/****************************************************************************** 8 * --- 651 unchanged lines hidden (view full) --- 660 return_ACPI_STATUS (Status); 661 } 662 663 Status = AcpiPsCompleteOp (WalkState, &Op, Status); 664 if (ACPI_FAILURE (Status)) 665 { 666 return_ACPI_STATUS (Status); 667 } | 1/****************************************************************************** 2 * 3 * Module Name: psloop - Main AML parse loop 4 * 5 *****************************************************************************/ 6 7/****************************************************************************** 8 * --- 651 unchanged lines hidden (view full) --- 660 return_ACPI_STATUS (Status); 661 } 662 663 Status = AcpiPsCompleteOp (WalkState, &Op, Status); 664 if (ACPI_FAILURE (Status)) 665 { 666 return_ACPI_STATUS (Status); 667 } |
668 if (WalkState->Opcode == AML_SCOPE_OP) 669 { 670 /* 671 * If the scope op fails to parse, skip the body of the 672 * scope op because the parse failure indicates that the 673 * device may not exist. 674 */ 675 WalkState->ParserState.Aml = WalkState->Aml + 1; 676 WalkState->ParserState.Aml = 677 AcpiPsGetNextPackageEnd(&WalkState->ParserState); 678 WalkState->Aml = WalkState->ParserState.Aml; 679 ACPI_ERROR ((AE_INFO, "Skipping Scope block")); 680 } |
|
668 669 continue; 670 } 671 672 AcpiExStartTraceOpcode (Op, WalkState); 673 } 674 675 /* --- 26 unchanged lines hidden (view full) --- 702 Status = AcpiPsGetArguments (WalkState, AmlOpStart, Op); 703 if (ACPI_FAILURE (Status)) 704 { 705 Status = AcpiPsCompleteOp (WalkState, &Op, Status); 706 if (ACPI_FAILURE (Status)) 707 { 708 return_ACPI_STATUS (Status); 709 } | 681 682 continue; 683 } 684 685 AcpiExStartTraceOpcode (Op, WalkState); 686 } 687 688 /* --- 26 unchanged lines hidden (view full) --- 715 Status = AcpiPsGetArguments (WalkState, AmlOpStart, Op); 716 if (ACPI_FAILURE (Status)) 717 { 718 Status = AcpiPsCompleteOp (WalkState, &Op, Status); 719 if (ACPI_FAILURE (Status)) 720 { 721 return_ACPI_STATUS (Status); 722 } |
723 if ((WalkState->ControlState) && 724 ((WalkState->ControlState->Control.Opcode == AML_IF_OP) || 725 (WalkState->ControlState->Control.Opcode == AML_WHILE_OP))) 726 { 727 /* 728 * If the if/while op fails to parse, we will skip parsing 729 * the body of the op. 730 */ 731 ParserState->Aml = 732 WalkState->ControlState->Control.AmlPredicateStart + 1; 733 ParserState->Aml = 734 AcpiPsGetNextPackageEnd (ParserState); 735 WalkState->Aml = ParserState->Aml; |
|
710 | 736 |
737 ACPI_ERROR ((AE_INFO, "Skipping While/If block")); 738 if (*WalkState->Aml == AML_ELSE_OP) 739 { 740 ACPI_ERROR ((AE_INFO, "Skipping Else block")); 741 WalkState->ParserState.Aml = WalkState->Aml + 1; 742 WalkState->ParserState.Aml = 743 AcpiPsGetNextPackageEnd (ParserState); 744 WalkState->Aml = ParserState->Aml; 745 } 746 ACPI_FREE(AcpiUtPopGenericState (&WalkState->ControlState)); 747 } 748 Op = NULL; |
|
711 continue; 712 } 713 } 714 715 /* Check for arguments that need to be processed */ 716 717 ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, 718 "Parseloop: argument count: %8.8X\n", WalkState->ArgCount)); --- 93 unchanged lines hidden --- | 749 continue; 750 } 751 } 752 753 /* Check for arguments that need to be processed */ 754 755 ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, 756 "Parseloop: argument count: %8.8X\n", WalkState->ArgCount)); --- 93 unchanged lines hidden --- |