exoparg2.c (99679) | exoparg2.c (100966) |
---|---|
1/****************************************************************************** 2 * 3 * Module Name: exoparg2 - AML execution - opcodes with 2 arguments | 1/****************************************************************************** 2 * 3 * Module Name: exoparg2 - AML execution - opcodes with 2 arguments |
4 * $Revision: 108 $ | 4 * $Revision: 109 $ |
5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. --- 452 unchanged lines hidden (view full) --- 465 * At this point, the Source operand is either a Package or a Buffer 466 */ 467 if (ACPI_GET_OBJECT_TYPE (Operand[0]) == ACPI_TYPE_PACKAGE) 468 { 469 /* Object to be indexed is a Package */ 470 471 if (Index >= Operand[0]->Package.Count) 472 { | 5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. --- 452 unchanged lines hidden (view full) --- 465 * At this point, the Source operand is either a Package or a Buffer 466 */ 467 if (ACPI_GET_OBJECT_TYPE (Operand[0]) == ACPI_TYPE_PACKAGE) 468 { 469 /* Object to be indexed is a Package */ 470 471 if (Index >= Operand[0]->Package.Count) 472 { |
473 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Index value beyond package end\n")); | 473 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Index value (%X) beyond package end (%X)\n", 474 Index, Operand[0]->Package.Count)); |
474 Status = AE_AML_PACKAGE_LIMIT; 475 goto Cleanup; 476 } 477 478 if ((ACPI_GET_OBJECT_TYPE (Operand[2]) == ACPI_TYPE_INTEGER) && 479 (Operand[2]->Common.Flags & AOPOBJ_AML_CONSTANT)) 480 { 481 /* --- 29 unchanged lines hidden (view full) --- 511 } 512 513 else 514 { 515 /* Object to be indexed is a Buffer */ 516 517 if (Index >= Operand[0]->Buffer.Length) 518 { | 475 Status = AE_AML_PACKAGE_LIMIT; 476 goto Cleanup; 477 } 478 479 if ((ACPI_GET_OBJECT_TYPE (Operand[2]) == ACPI_TYPE_INTEGER) && 480 (Operand[2]->Common.Flags & AOPOBJ_AML_CONSTANT)) 481 { 482 /* --- 29 unchanged lines hidden (view full) --- 512 } 513 514 else 515 { 516 /* Object to be indexed is a Buffer */ 517 518 if (Index >= Operand[0]->Buffer.Length) 519 { |
519 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Index value beyond end of buffer\n")); | 520 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Index value (%X) beyond end of buffer (%X)\n", 521 Index, Operand[0]->Buffer.Length)); |
520 Status = AE_AML_BUFFER_LIMIT; 521 goto Cleanup; 522 } 523 524 ReturnDesc->Reference.Opcode = AML_INDEX_OP; 525 ReturnDesc->Reference.TargetType = ACPI_TYPE_BUFFER_FIELD; 526 ReturnDesc->Reference.Object = Operand[0]; 527 ReturnDesc->Reference.Offset = Index; --- 112 unchanged lines hidden (view full) --- 640 LogicalResult = TRUE; /* TRUE, Wait timed out */ 641 Status = AE_OK; 642 } 643 break; 644 645 646 default: 647 | 522 Status = AE_AML_BUFFER_LIMIT; 523 goto Cleanup; 524 } 525 526 ReturnDesc->Reference.Opcode = AML_INDEX_OP; 527 ReturnDesc->Reference.TargetType = ACPI_TYPE_BUFFER_FIELD; 528 ReturnDesc->Reference.Object = Operand[0]; 529 ReturnDesc->Reference.Offset = Index; --- 112 unchanged lines hidden (view full) --- 642 LogicalResult = TRUE; /* TRUE, Wait timed out */ 643 Status = AE_OK; 644 } 645 break; 646 647 648 default: 649 |
648 ACPI_REPORT_ERROR (("AcpiExOpcode_2A_0T_1R: Unknown opcode %X\n", WalkState->Opcode)); | 650 ACPI_REPORT_ERROR (("AcpiExOpcode_2A_0T_1R: Unknown opcode %X\n", 651 WalkState->Opcode)); |
649 Status = AE_AML_BAD_OPCODE; 650 goto Cleanup; 651 } 652 653 654StoreLogicalResult: 655 /* 656 * Set return value to according to LogicalResult. logical TRUE (all ones) --- 23 unchanged lines hidden --- | 652 Status = AE_AML_BAD_OPCODE; 653 goto Cleanup; 654 } 655 656 657StoreLogicalResult: 658 /* 659 * Set return value to according to LogicalResult. logical TRUE (all ones) --- 23 unchanged lines hidden --- |