mirror of
https://github.com/acpica/acpica/
synced 2025-01-19 07:59:44 +03:00
Restructuring of the AML opcode handling routines
date 2001.10.09.22.42.00; author rmoore1; state Exp;
This commit is contained in:
parent
5603dbd4a6
commit
eb1b4cfb49
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
*
|
||||
* Module Name: dsutils - Dispatcher utilities
|
||||
* $Revision: 1.76 $
|
||||
* $Revision: 1.78 $
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
@ -179,7 +179,7 @@ AcpiDsIsResultUsed (
|
||||
*/
|
||||
|
||||
ParentInfo = AcpiPsGetOpcodeInfo (Op->Parent->Opcode);
|
||||
if (ACPI_GET_OP_CLASS (ParentInfo) == AML_CLASS_UNKNOWN)
|
||||
if (ParentInfo->Class == AML_CLASS_UNKNOWN)
|
||||
{
|
||||
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unknown parent opcode. Op=%X\n", Op));
|
||||
return_VALUE (FALSE);
|
||||
@ -192,7 +192,7 @@ AcpiDsIsResultUsed (
|
||||
* Otherwise leave it as is, it will be deleted when it is used
|
||||
* as an operand later.
|
||||
*/
|
||||
switch (ACPI_GET_OP_CLASS (ParentInfo))
|
||||
switch (ParentInfo->Class)
|
||||
{
|
||||
/*
|
||||
* In these cases, the parent will never use the return object
|
||||
@ -712,7 +712,7 @@ AcpiDsMapOpcodeToDataType (
|
||||
|
||||
|
||||
OpInfo = AcpiPsGetOpcodeInfo (Opcode);
|
||||
if (ACPI_GET_OP_CLASS (OpInfo) == AML_CLASS_UNKNOWN)
|
||||
if (OpInfo->Class == AML_CLASS_UNKNOWN)
|
||||
{
|
||||
/* Unknown opcode */
|
||||
|
||||
@ -720,7 +720,12 @@ AcpiDsMapOpcodeToDataType (
|
||||
return (DataType);
|
||||
}
|
||||
|
||||
switch (ACPI_GET_OP_TYPE (OpInfo))
|
||||
|
||||
/*
|
||||
* TBD: Use op class
|
||||
*/
|
||||
|
||||
switch (OpInfo->Type)
|
||||
{
|
||||
|
||||
case AML_TYPE_LITERAL:
|
||||
@ -784,13 +789,13 @@ AcpiDsMapOpcodeToDataType (
|
||||
break;
|
||||
|
||||
|
||||
case AML_TYPE_EX_1A_0T_1R:
|
||||
case AML_TYPE_EX_1A_1T_1R:
|
||||
case AML_TYPE_EX_2A_0T_1R:
|
||||
case AML_TYPE_EX_2A_1T_1R:
|
||||
case AML_TYPE_EX_2A_2T_1R:
|
||||
case AML_TYPE_EX_3A_0T_0R:
|
||||
case AML_TYPE_EX_6A_0T_1R:
|
||||
case AML_TYPE_EXEC_1A_0T_1R:
|
||||
case AML_TYPE_EXEC_1A_1T_1R:
|
||||
case AML_TYPE_EXEC_2A_0T_1R:
|
||||
case AML_TYPE_EXEC_2A_1T_1R:
|
||||
case AML_TYPE_EXEC_2A_2T_1R:
|
||||
case AML_TYPE_EXEC_3A_1T_1R:
|
||||
case AML_TYPE_EXEC_6A_0T_1R:
|
||||
case AML_TYPE_RETURN:
|
||||
|
||||
Flags = OP_HAS_RETURN_VALUE;
|
||||
@ -811,7 +816,10 @@ AcpiDsMapOpcodeToDataType (
|
||||
break;
|
||||
|
||||
|
||||
case AML_TYPE_EX_2A_0T_0R:
|
||||
case AML_TYPE_EXEC_1A_0T_0R:
|
||||
case AML_TYPE_EXEC_2A_0T_0R:
|
||||
case AML_TYPE_EXEC_3A_0T_0R:
|
||||
case AML_TYPE_EXEC_1A_1T_0R:
|
||||
case AML_TYPE_CONTROL:
|
||||
|
||||
/* No mapping needed at this time */
|
||||
|
@ -2,7 +2,7 @@
|
||||
*
|
||||
* Module Name: dswexec - Dispatcher method execution callbacks;
|
||||
* dispatch to interpreter.
|
||||
* $Revision: 1.74 $
|
||||
* $Revision: 1.76 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -129,16 +129,20 @@
|
||||
#define _COMPONENT ACPI_DISPATCHER
|
||||
MODULE_NAME ("dswexec")
|
||||
|
||||
|
||||
/*
|
||||
* Dispatch tables for opcode classes
|
||||
*/
|
||||
ACPI_EXECUTE_OP AcpiGbl_OpClassDispatch [] = {
|
||||
AcpiExOpcode_1A_0T_0R,
|
||||
AcpiExOpcode_1A_0T_1R,
|
||||
AcpiExOpcode_1A_1T_0R,
|
||||
AcpiExOpcode_1A_1T_1R,
|
||||
AcpiExOpcode_2A_0T_0R,
|
||||
AcpiExOpcode_2A_0T_1R,
|
||||
AcpiExOpcode_2A_1T_1R,
|
||||
AcpiExOpcode_2A_2T_1R,
|
||||
AcpiExOpcode_3A_1T_0R,
|
||||
AcpiExOpcode_3A_0T_0R,
|
||||
AcpiExOpcode_3A_1T_1R,
|
||||
AcpiExOpcode_6A_0T_1R};
|
||||
|
||||
|
||||
@ -340,7 +344,7 @@ AcpiDsExecBeginOp (
|
||||
}
|
||||
|
||||
|
||||
OpcodeClass = ACPI_GET_OP_CLASS (WalkState->OpInfo);
|
||||
OpcodeClass = WalkState->OpInfo->Class;
|
||||
|
||||
/* We want to send namepaths to the load code */
|
||||
|
||||
@ -443,8 +447,8 @@ AcpiDsExecEndOp (
|
||||
|
||||
|
||||
Op = WalkState->Op;
|
||||
OpType = ACPI_GET_OP_TYPE (WalkState->OpInfo);
|
||||
OpClass = ACPI_GET_OP_CLASS (WalkState->OpInfo);
|
||||
OpType = WalkState->OpInfo->Type;
|
||||
OpClass = WalkState->OpInfo->Class;
|
||||
|
||||
if (OpClass == AML_CLASS_UNKNOWN)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user