diff options
author | Robert Moore <Robert.Moore@intel.com> | 2016-07-01 07:20:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-01 07:20:27 -0700 |
commit | d18654bc9479e3c52e7066efe53dae81be951313 (patch) | |
tree | 0a9b6b7a969283c0666127789f66a02b1025bef4 | |
parent | badd47cbd3a1d4b92c4b37a1fecb7d1cfebbc0fc (diff) | |
download | acpica-revert-134-acpica-parser.tar.gz |
Revert "Acpica parser"revert-134-acpica-parser
-rw-r--r-- | source/compiler/aslstubs.c | 8 | ||||
-rw-r--r-- | source/components/dispatcher/dsopcode.c | 5 | ||||
-rw-r--r-- | source/components/events/evrgnini.c | 3 | ||||
-rw-r--r-- | source/components/executer/exconfig.c | 4 | ||||
-rw-r--r-- | source/components/namespace/nsload.c | 2 | ||||
-rw-r--r-- | source/components/namespace/nsparse.c | 185 | ||||
-rw-r--r-- | source/components/parser/psparse.c | 3 | ||||
-rw-r--r-- | source/components/parser/psxface.c | 80 | ||||
-rw-r--r-- | source/components/tables/tbxfload.c | 2 | ||||
-rw-r--r-- | source/components/utilities/utxfinit.c | 2 | ||||
-rw-r--r-- | source/include/acnamesp.h | 5 | ||||
-rw-r--r-- | source/include/acparser.h | 4 | ||||
-rw-r--r-- | source/include/acpixf.h | 6 | ||||
-rw-r--r-- | tests/aslts/src/runtime/cntl/common.asl | 1 | ||||
-rw-r--r-- | tests/aslts/src/runtime/collections/functional/module/RUN.asl | 6 | ||||
-rw-r--r-- | tests/aslts/src/runtime/collections/functional/module/object.asl | 69 | ||||
-rw-r--r-- | tests/aslts/src/runtime/collections/functional/module/order.asl | 63 | ||||
-rw-r--r-- | tests/aslts/src/runtime/collections/functional/module/scope.asl | 46 |
18 files changed, 41 insertions, 453 deletions
diff --git a/source/compiler/aslstubs.c b/source/compiler/aslstubs.c index d0ccdba69..1ae9e2a32 100644 --- a/source/compiler/aslstubs.c +++ b/source/compiler/aslstubs.c @@ -119,7 +119,6 @@ #include "acevents.h" #include "acinterp.h" #include "acnamesp.h" -#include "acparser.h" #define _COMPONENT ACPI_COMPILER ACPI_MODULE_NAME ("aslstubs") @@ -144,13 +143,6 @@ AcpiNsInitializeObjects ( } ACPI_STATUS -AcpiPsExecuteTable ( - ACPI_EVALUATE_INFO *Info) -{ - return (AE_OK); -} - -ACPI_STATUS AcpiHwReadPort ( ACPI_IO_ADDRESS Address, UINT32 *Value, diff --git a/source/components/dispatcher/dsopcode.c b/source/components/dispatcher/dsopcode.c index 5e01ffab4..ea0f11eab 100644 --- a/source/components/dispatcher/dsopcode.c +++ b/source/components/dispatcher/dsopcode.c @@ -554,11 +554,6 @@ AcpiDsEvalRegionOperands ( /* Now the address and length are valid for this opregion */ ObjDesc->Region.Flags |= AOPOBJ_DATA_VALID; - if (WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL) - { - Status = AcpiUtAddAddressRange (ObjDesc->Region.SpaceId, - ObjDesc->Region.Address, ObjDesc->Region.Length, Node); - } return_ACPI_STATUS (Status); } diff --git a/source/components/events/evrgnini.c b/source/components/events/evrgnini.c index 2e6315c3f..7880d04b7 100644 --- a/source/components/events/evrgnini.c +++ b/source/components/events/evrgnini.c @@ -690,8 +690,7 @@ AcpiEvInitializeRegion ( * * See AcpiNsExecModuleCode */ - if (!AcpiGbl_ParseTableAsTermList && - ObjDesc->Method.InfoFlags & ACPI_METHOD_MODULE_LEVEL) + if (ObjDesc->Method.InfoFlags & ACPI_METHOD_MODULE_LEVEL) { HandlerObj = ObjDesc->Method.Dispatch.Handler; } diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c index 94a833de5..333567fcc 100644 --- a/source/components/executer/exconfig.c +++ b/source/components/executer/exconfig.c @@ -191,9 +191,7 @@ AcpiExAddTable ( /* Add the table to the namespace */ - AcpiExExitInterpreter (); Status = AcpiNsLoadTable (TableIndex, ParentNode); - AcpiExEnterInterpreter (); if (ACPI_FAILURE (Status)) { AcpiUtRemoveReference (ObjDesc); @@ -204,7 +202,7 @@ AcpiExAddTable ( /* Execute any module-level code that was found in the table */ AcpiExExitInterpreter (); - if (!AcpiGbl_ParseTableAsTermList && AcpiGbl_GroupModuleLevelCode) + if (AcpiGbl_GroupModuleLevelCode) { AcpiNsExecModuleCodeList (); } diff --git a/source/components/namespace/nsload.c b/source/components/namespace/nsload.c index 6efb8ff76..c3869aa04 100644 --- a/source/components/namespace/nsload.c +++ b/source/components/namespace/nsload.c @@ -252,7 +252,7 @@ Unlock: * other ACPI implementations. Optionally, the execution can be deferred * until later, see AcpiInitializeObjects. */ - if (!AcpiGbl_ParseTableAsTermList && !AcpiGbl_GroupModuleLevelCode) + if (!AcpiGbl_GroupModuleLevelCode) { AcpiNsExecModuleCodeList (); } diff --git a/source/components/namespace/nsparse.c b/source/components/namespace/nsparse.c index 331998941..6cfdd06fa 100644 --- a/source/components/namespace/nsparse.c +++ b/source/components/namespace/nsparse.c @@ -119,7 +119,6 @@ #include "acparser.h" #include "acdispat.h" #include "actables.h" -#include "acinterp.h" #define _COMPONENT ACPI_NAMESPACE @@ -128,111 +127,6 @@ /******************************************************************************* * - * FUNCTION: NsExecuteTable - * - * PARAMETERS: TableDesc - An ACPI table descriptor for table to parse - * StartNode - Where to enter the table into the namespace - * - * RETURN: Status - * - * DESCRIPTION: Load ACPI/AML table by executing the entire table as a - * TermList. - * - ******************************************************************************/ - -ACPI_STATUS -AcpiNsExecuteTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode) -{ - ACPI_STATUS Status; - ACPI_TABLE_HEADER *Table; - ACPI_OWNER_ID OwnerId; - ACPI_EVALUATE_INFO *Info = NULL; - UINT32 AmlLength; - UINT8 *AmlStart; - ACPI_OPERAND_OBJECT *MethodObj = NULL; - - - ACPI_FUNCTION_TRACE (NsExecuteTable); - - - Status = AcpiGetTableByIndex (TableIndex, &Table); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } - - /* Table must consist of at least a complete header */ - - if (Table->Length < sizeof (ACPI_TABLE_HEADER)) - { - return_ACPI_STATUS (AE_BAD_HEADER); - } - - AmlStart = (UINT8 *) Table + sizeof (ACPI_TABLE_HEADER); - AmlLength = Table->Length - sizeof (ACPI_TABLE_HEADER); - - Status = AcpiTbGetOwnerId (TableIndex, &OwnerId); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } - - /* Create, initialize, and link a new temporary method object */ - - MethodObj = AcpiUtCreateInternalObject (ACPI_TYPE_METHOD); - if (!MethodObj) - { - return_ACPI_STATUS (AE_NO_MEMORY); - } - - /* Allocate the evaluation information block */ - - Info = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_EVALUATE_INFO)); - if (!Info) - { - Status = AE_NO_MEMORY; - goto Cleanup; - } - - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, - "Create table code block: %p\n", MethodObj)); - - MethodObj->Method.AmlStart = AmlStart; - MethodObj->Method.AmlLength = AmlLength; - MethodObj->Method.OwnerId = OwnerId; - MethodObj->Method.InfoFlags |= ACPI_METHOD_MODULE_LEVEL; - - Info->PassNumber = ACPI_IMODE_EXECUTE; - Info->Node = StartNode; - Info->ObjDesc = MethodObj; - Info->NodeFlags = Info->Node->Flags; - Info->FullPathname = AcpiNsGetNormalizedPathname (Info->Node, TRUE); - if (!Info->FullPathname) - { - Status = AE_NO_MEMORY; - goto Cleanup; - } - - (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); - Status = AcpiPsExecuteTable (Info); - (void) AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); - -Cleanup: - if (Info) - { - ACPI_FREE (Info->FullPathname); - Info->FullPathname = NULL; - } - ACPI_FREE (Info); - AcpiUtRemoveReference (MethodObj); - return_ACPI_STATUS (Status); -} - - -/******************************************************************************* - * * FUNCTION: NsOneCompleteParse * * PARAMETERS: PassNumber - 1 or 2 @@ -366,58 +260,41 @@ AcpiNsParseTable ( ACPI_FUNCTION_TRACE (NsParseTable); - AcpiExEnterInterpreter (); - - if (AcpiGbl_ParseTableAsTermList) + /* + * AML Parse, pass 1 + * + * In this pass, we load most of the namespace. Control methods + * are not parsed until later. A parse tree is not created. Instead, + * each Parser Op subtree is deleted when it is finished. This saves + * a great deal of memory, and allows a small cache of parse objects + * to service the entire parse. The second pass of the parse then + * performs another complete parse of the AML. + */ + ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start pass 1\n")); + + Status = AcpiNsOneCompleteParse (ACPI_IMODE_LOAD_PASS1, + TableIndex, StartNode); + if (ACPI_FAILURE (Status)) { - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start load pass\n")); - - Status = AcpiNsExecuteTable (TableIndex, StartNode); - if (ACPI_FAILURE (Status)) - { - goto ErrorExit; - } + return_ACPI_STATUS (Status); } - else - { - /* - * AML Parse, pass 1 - * - * In this pass, we load most of the namespace. Control methods - * are not parsed until later. A parse tree is not created. - * Instead, each Parser Op subtree is deleted when it is finished. - * This saves a great deal of memory, and allows a small cache of - * parse objects to service the entire parse. The second pass of - * the parse then performs another complete parse of the AML. - */ - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start pass 1\n")); - - Status = AcpiNsOneCompleteParse (ACPI_IMODE_LOAD_PASS1, - TableIndex, StartNode); - if (ACPI_FAILURE (Status)) - { - goto ErrorExit; - } - /* - * AML Parse, pass 2 - * - * In this pass, we resolve forward references and other things - * that could not be completed during the first pass. - * Another complete parse of the AML is performed, but the - * overhead of this is compensated for by the fact that the - * parse objects are all cached. - */ - ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start pass 2\n")); - Status = AcpiNsOneCompleteParse (ACPI_IMODE_LOAD_PASS2, - TableIndex, StartNode); - if (ACPI_FAILURE (Status)) - { - goto ErrorExit; - } + /* + * AML Parse, pass 2 + * + * In this pass, we resolve forward references and other things + * that could not be completed during the first pass. + * Another complete parse of the AML is performed, but the + * overhead of this is compensated for by the fact that the + * parse objects are all cached. + */ + ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "**** Start pass 2\n")); + Status = AcpiNsOneCompleteParse (ACPI_IMODE_LOAD_PASS2, + TableIndex, StartNode); + if (ACPI_FAILURE (Status)) + { + return_ACPI_STATUS (Status); } -ErrorExit: - AcpiExExitInterpreter (); return_ACPI_STATUS (Status); } diff --git a/source/components/parser/psparse.c b/source/components/parser/psparse.c index 22182a94b..68281bd5a 100644 --- a/source/components/parser/psparse.c +++ b/source/components/parser/psparse.c @@ -661,8 +661,7 @@ AcpiPsParseAml ( * cleanup to do */ if (((WalkState->ParseFlags & ACPI_PARSE_MODE_MASK) == - ACPI_PARSE_EXECUTE && - !(WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL)) || + ACPI_PARSE_EXECUTE) || (ACPI_FAILURE (Status))) { AcpiDsTerminateControlMethod (WalkState->MethodDesc, WalkState); diff --git a/source/components/parser/psxface.c b/source/components/parser/psxface.c index 6774c3f57..5c690a42a 100644 --- a/source/components/parser/psxface.c +++ b/source/components/parser/psxface.c @@ -347,86 +347,6 @@ Cleanup: /******************************************************************************* * - * FUNCTION: AcpiPsExecuteTable - * - * PARAMETERS: Info - Method info block, contains: - * Node - Node to where the is entered into the - * namespace - * ObjDesc - Pseudo method object describing the AML - * code of the entire table - * PassNumber - Parse or execute pass - * - * RETURN: Status - * - * DESCRIPTION: Execute a table - * - ******************************************************************************/ - -ACPI_STATUS -AcpiPsExecuteTable ( - ACPI_EVALUATE_INFO *Info) -{ - ACPI_STATUS Status; - ACPI_PARSE_OBJECT *Op = NULL; - ACPI_WALK_STATE *WalkState = NULL; - - - ACPI_FUNCTION_TRACE (PsExecuteTable); - - - /* Create and init a Root Node */ - - Op = AcpiPsCreateScopeOp (Info->ObjDesc->Method.AmlStart); - if (!Op) - { - Status = AE_NO_MEMORY; - goto Cleanup; - } - - /* Create and initialize a new walk state */ - - WalkState = AcpiDsCreateWalkState ( - Info->ObjDesc->Method.OwnerId, NULL, NULL, NULL); - if (!WalkState) - { - Status = AE_NO_MEMORY; - goto Cleanup; - } - - Status = AcpiDsInitAmlWalk (WalkState, Op, Info->Node, - Info->ObjDesc->Method.AmlStart, - Info->ObjDesc->Method.AmlLength, Info, Info->PassNumber); - if (ACPI_FAILURE (Status)) - { - goto Cleanup; - } - - if (Info->ObjDesc->Method.InfoFlags & ACPI_METHOD_MODULE_LEVEL) - { - WalkState->ParseFlags |= ACPI_PARSE_MODULE_LEVEL; - } - - /* - * Parse the AML, WalkState will be deleted by ParseAml - */ - Status = AcpiPsParseAml (WalkState); - WalkState = NULL; - -Cleanup: - if (Op) - { - AcpiPsDeleteParseTree (Op); - } - if (WalkState) - { - AcpiDsDeleteWalkState (WalkState); - } - return_ACPI_STATUS (Status); -} - - -/******************************************************************************* - * * FUNCTION: AcpiPsUpdateParameterList * * PARAMETERS: Info - See ACPI_EVALUATE_INFO diff --git a/source/components/tables/tbxfload.c b/source/components/tables/tbxfload.c index 8c6f5e5d9..6ffc3ccba 100644 --- a/source/components/tables/tbxfload.c +++ b/source/components/tables/tbxfload.c @@ -183,7 +183,7 @@ AcpiLoadTables ( "While loading namespace from ACPI tables")); } - if (AcpiGbl_ParseTableAsTermList || !AcpiGbl_GroupModuleLevelCode) + if (!AcpiGbl_GroupModuleLevelCode) { /* * Initialize the objects that remain uninitialized. This diff --git a/source/components/utilities/utxfinit.c b/source/components/utilities/utxfinit.c index 9104d9d9f..c6f875c23 100644 --- a/source/components/utilities/utxfinit.c +++ b/source/components/utilities/utxfinit.c @@ -365,7 +365,7 @@ AcpiInitializeObjects ( * all of the tables have been loaded. It is a legacy option and is * not compatible with other ACPI implementations. See AcpiNsLoadTable. */ - if (!AcpiGbl_ParseTableAsTermList && AcpiGbl_GroupModuleLevelCode) + if (AcpiGbl_GroupModuleLevelCode) { AcpiNsExecModuleCodeList (); diff --git a/source/include/acnamesp.h b/source/include/acnamesp.h index 2869bd13c..2c4348699 100644 --- a/source/include/acnamesp.h +++ b/source/include/acnamesp.h @@ -216,11 +216,6 @@ AcpiNsParseTable ( ACPI_NAMESPACE_NODE *StartNode); ACPI_STATUS -AcpiNsExecuteTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode); - -ACPI_STATUS AcpiNsOneCompleteParse ( UINT32 PassNumber, UINT32 TableIndex, diff --git a/source/include/acparser.h b/source/include/acparser.h index 35f1ab707..406b0f37c 100644 --- a/source/include/acparser.h +++ b/source/include/acparser.h @@ -155,10 +155,6 @@ ACPI_STATUS AcpiPsExecuteMethod ( ACPI_EVALUATE_INFO *Info); -ACPI_STATUS -AcpiPsExecuteTable ( - ACPI_EVALUATE_INFO *Info); - /* * psargs - Parse AML opcode arguments diff --git a/source/include/acpixf.h b/source/include/acpixf.h index 293791ff4..f2278dcfd 100644 --- a/source/include/acpixf.h +++ b/source/include/acpixf.h @@ -269,12 +269,6 @@ ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE); ACPI_INIT_GLOBAL (UINT8, AcpiGbl_GroupModuleLevelCode, FALSE); /* - * Optionally support module level code by parsing the entire table as - * a TermList. Default is TRUE, do execute entire table. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_ParseTableAsTermList, TRUE); - -/* * Optionally use 32-bit FADT addresses if and when there is a conflict * (address mismatch) between the 32-bit and 64-bit versions of the * address. Although ACPICA adheres to the ACPI specification which diff --git a/tests/aslts/src/runtime/cntl/common.asl b/tests/aslts/src/runtime/cntl/common.asl index bb0621815..9d6c77452 100644 --- a/tests/aslts/src/runtime/cntl/common.asl +++ b/tests/aslts/src/runtime/cntl/common.asl @@ -1712,7 +1712,6 @@ Name(TFN0, Package() { "ns-fullpath.asl", "scope.asl", "object.asl", - "order.asl", // below are incorrect yet: diff --git a/tests/aslts/src/runtime/collections/functional/module/RUN.asl b/tests/aslts/src/runtime/collections/functional/module/RUN.asl index cbecc6dfd..8a89e9b01 100644 --- a/tests/aslts/src/runtime/collections/functional/module/RUN.asl +++ b/tests/aslts/src/runtime/collections/functional/module/RUN.asl @@ -30,13 +30,7 @@ if (STTT("Module level code execution", TCLF, 14, W01a)) { SRMT("MLS0") MLS0() - SRMT("MLS1") - MLS1() SRMT("MLO0") MLO0() - SRMT("MLO1") - MLO1() - SRMT("MLD0") - MLD0() } FTTT() diff --git a/tests/aslts/src/runtime/collections/functional/module/object.asl b/tests/aslts/src/runtime/collections/functional/module/object.asl index 1e2cc86e9..19857cd80 100644 --- a/tests/aslts/src/runtime/collections/functional/module/object.asl +++ b/tests/aslts/src/runtime/collections/functional/module/object.asl @@ -31,8 +31,8 @@ */ /* - * Verify if Type1Opcode (ex., If) and Type2Opcode (ex., Store) is allowed - * under Device, PowerResource, Processor, or ThermalZone + * Verify if Type1Opcode (ex., If) is allowed under Device, PowerResource, + * Processor, or ThermalZone * * ASL spec state: * 1. DeviceTerm supports ObjectList for ACPI 1.0 ~ ACPI 6.1. @@ -113,68 +113,3 @@ Method(MLO0,, Serialized) err(ts, z181, 3, z181, 3, ml13, 2) } } - -/* Tests for Type2Opcode */ - -Name(ml14, 0) -Name(ml15, 0) -Name(ml16, 0) -Name(ml17, 0) - -Scope(\_SB) -{ - Device(dev1) - { - Store (1, ml14) - if (LEqual(ml14, 1)) { - Store(2, ml14) - } - PowerResource(pr01, 1, 0) - { - Store (1, ml15) - if (LEqual(ml15, 1)) { - Store(2, ml15) - } - } - } -} -Scope(\_PR) -{ - Processor(cpu1, 0, 0xFFFFFFFF, 0) - { - Store (1, ml16) - if (LEqual(ml16, 1)) { - Store(2, ml16) - } - } -} -Scope(\_TZ) -{ - ThermalZone(thz1) - { - Store (1, ml17) - if (LEqual(ml17, 1)) { - Store(2, ml17) - } - } -} - -Method(MLO1,, Serialized) -{ - Name(ts, "MLO1") - - Store("TEST: MLO1 Type2Opcode is executable under objects", Debug) - - if (LNotEqual(ml14, 2)) { - err(ts, z181, 4, z181, 4, ml14, 2) - } - if (LNotEqual(ml15, 2)) { - err(ts, z181, 5, z181, 5, ml15, 2) - } - if (LNotEqual(ml16, 2)) { - err(ts, z181, 6, z181, 6, ml16, 2) - } - if (LNotEqual(ml17, 2)) { - err(ts, z181, 7, z181, 7, ml17, 2) - } -} diff --git a/tests/aslts/src/runtime/collections/functional/module/order.asl b/tests/aslts/src/runtime/collections/functional/module/order.asl deleted file mode 100644 index 0b4380218..000000000 --- a/tests/aslts/src/runtime/collections/functional/module/order.asl +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2016, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Module level execution order - */ - -/* - * Verify if module level opcode is executed right in place. - */ - -Name(z182, 182) - -/* Tests for Type2Opcode order */ - -Name(ml20, 0) -Name(ob01, 0) - -if (CondRefOf(ob01)) -{ - Store(1, ml20) - if (CondRefOf(ob02)) - { - Store(2, ml20) - } -} -Name(ob02, 0) - -Method(MLD0,, Serialized) -{ - Name(ts, "MLD0") - - Store("TEST: MLD0, Type2Opcode is executed right in place", Debug) - - if (LNotEqual(ml20, 1)) { - err(ts, z182, 6, z182, 6, ml20, 1) - } -} diff --git a/tests/aslts/src/runtime/collections/functional/module/scope.asl b/tests/aslts/src/runtime/collections/functional/module/scope.asl index d6835353c..cbe36b850 100644 --- a/tests/aslts/src/runtime/collections/functional/module/scope.asl +++ b/tests/aslts/src/runtime/collections/functional/module/scope.asl @@ -31,8 +31,8 @@ */ /* - * Verify if Type1Opcode (ex., If) and Type2Opcode (ex., Store) is allowed - * under DefinitionBlock or Scope + * Verify if Type1Opcode (ex., If) is allowed under DefinitionBlock or + * Scope * * ASL spec state: * 1. DefinitionBlockTerm supports TermList for ACPI 1.0 ~ 6.0. @@ -89,45 +89,3 @@ Method(MLS0,, Serialized) err(ts, z180, 2, z180, 2, ml02, 2) } } - -/* Tests for Type2Opcode */ - -Name(ml03, 0) -Name(ml04, 0) -Name(ml05, 0) - -Store (1, ml03) -if (LEqual(ml03, 1)) { - Store(2, ml03) -} -Scope(\) -{ - Store (1, ml04) - if (LEqual(ml04, 1)) { - Store(2, ml04) - } -} -Scope(\_SB) -{ - Store (1, ml05) - if (LEqual(ml05, 1)) { - Store(2, ml05) - } -} - -Method(MLS1,, Serialized) -{ - Name(ts, "MLS1") - - Store("TEST: MLS1, Type2Opcode is executable under scopes", Debug) - - if (LNotEqual(ml03, 2)) { - err(ts, z180, 3, z180, 3, ml03, 2) - } - if (LNotEqual(ml04, 2)) { - err(ts, z180, 4, z180, 4, ml04, 2) - } - if (LNotEqual(ml05, 2)) { - err(ts, z180, 5, z180, 5, ml05, 2) - } -} |