mirror of
https://github.com/acpica/acpica/
synced 2025-02-24 09:24:08 +03:00
ASLTS: Add cases to validate if Type2Opcode is supported at module level
This patch adds test cases to validate if Type2Opcode is supported at module level. Signed-off-by: Lv Zheng <lv.zheng@intel.com>
This commit is contained in:
parent
a4e5390478
commit
52fc3de415
@ -30,7 +30,11 @@
|
||||
if (STTT("Module level code execution", TCLF, 14, W01a)) {
|
||||
SRMT("MLS0")
|
||||
MLS0()
|
||||
SRMT("MLS1")
|
||||
MLS1()
|
||||
SRMT("MLO0")
|
||||
MLO0()
|
||||
SRMT("MLO1")
|
||||
MLO1()
|
||||
}
|
||||
FTTT()
|
||||
|
@ -31,8 +31,8 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Verify if Type1Opcode (ex., If) is allowed under Device, PowerResource,
|
||||
* Processor, or ThermalZone
|
||||
* Verify if Type1Opcode (ex., If) and Type2Opcode (ex., Store) is allowed
|
||||
* under Device, PowerResource, Processor, or ThermalZone
|
||||
*
|
||||
* ASL spec state:
|
||||
* 1. DeviceTerm supports ObjectList for ACPI 1.0 ~ ACPI 6.1.
|
||||
@ -113,3 +113,68 @@ 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)
|
||||
}
|
||||
}
|
||||
|
@ -31,8 +31,8 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Verify if Type1Opcode (ex., If) is allowed under DefinitionBlock or
|
||||
* Scope
|
||||
* Verify if Type1Opcode (ex., If) and Type2Opcode (ex., Store) is allowed
|
||||
* under DefinitionBlock or Scope
|
||||
*
|
||||
* ASL spec state:
|
||||
* 1. DefinitionBlockTerm supports TermList for ACPI 1.0 ~ 6.0.
|
||||
@ -89,3 +89,45 @@ 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)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user