summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2016-06-22 09:28:53 +0800
committerLv Zheng <lv.zheng@intel.com>2016-06-22 09:28:53 +0800
commit6f52b66ca169725ca84f3f26799288096b11051e (patch)
tree5aef68b65775e6bb6f2c64adbe6353a59180e01a
parent8488fcf57a258104d5438c6a98db8f2ca810b689 (diff)
downloadacpica-6f52b66ca169725ca84f3f26799288096b11051e.tar.gz
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>
-rw-r--r--tests/aslts/src/runtime/collections/functional/module/RUN.asl4
-rw-r--r--tests/aslts/src/runtime/collections/functional/module/object.asl69
-rw-r--r--tests/aslts/src/runtime/collections/functional/module/scope.asl46
3 files changed, 115 insertions, 4 deletions
diff --git a/tests/aslts/src/runtime/collections/functional/module/RUN.asl b/tests/aslts/src/runtime/collections/functional/module/RUN.asl
index 8a89e9b01..f92c2e9d2 100644
--- a/tests/aslts/src/runtime/collections/functional/module/RUN.asl
+++ b/tests/aslts/src/runtime/collections/functional/module/RUN.asl
@@ -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()
diff --git a/tests/aslts/src/runtime/collections/functional/module/object.asl b/tests/aslts/src/runtime/collections/functional/module/object.asl
index 19857cd80..1e2cc86e9 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) 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)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/functional/module/scope.asl b/tests/aslts/src/runtime/collections/functional/module/scope.asl
index cbe36b850..d6835353c 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) 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)
+ }
+}