From 6ecc4fc073072c9bde29d665ec85a56bccf176d5 Mon Sep 17 00:00:00 2001 From: Erik Schmauss Date: Mon, 7 May 2018 15:00:59 -0700 Subject: ASLTS: adding package resolution with table load testing Signed-off-by: Erik Schmauss --- .../runtime/collections/functional/table/load.asl | 37 ++++++++++++++++++++++ .../runtime/collections/functional/table/ssdt6.asl | 37 ++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 tests/aslts/src/runtime/collections/functional/table/ssdt6.asl (limited to 'tests/aslts/src') diff --git a/tests/aslts/src/runtime/collections/functional/table/load.asl b/tests/aslts/src/runtime/collections/functional/table/load.asl index 6d335dc12..30b6b2f85 100644 --- a/tests/aslts/src/runtime/collections/functional/table/load.asl +++ b/tests/aslts/src/runtime/collections/functional/table/load.asl @@ -2369,6 +2369,7 @@ Local2 = Buffer (0x0A) /* DDB Handle */ External (\DDBX, UnknownObj) + /* Recursive Load in module level code */ Method (TSTK, 1, Serialized) @@ -2432,6 +2433,38 @@ Local2 = Buffer (0x0A) Return (Zero) } } + + /* Load a table and check to see if PAC0 is initialized properly */ + Method (TSTL, 1, Serialized) + { + Concatenate (Arg0, "-tstl", Arg0) + CH03 (Arg0, Z174, __LINE__, 0x00, 0x00) + External (SS01, methodobj) + + /* iasl -ts ssdt6.asl */ + + Name (BUF1, Buffer() + { + 0x53,0x53,0x44,0x54,0x3E,0x00,0x00,0x00, /* 00000000 "SSDT>..." */ + 0x02,0x80,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ + 0x5F,0x42,0x33,0x30,0x37,0x00,0x00,0x00, /* 00000010 "_B307..." */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x27,0x04,0x18,0x20,0x14,0x0B,0x53,0x53, /* 00000020 "'.. ..SS" */ + 0x30,0x31,0x00,0xA4,0x50,0x4B,0x47,0x31, /* 00000028 "01..PKG1" */ + 0x08,0x50,0x4B,0x47,0x31,0x12,0x08,0x04, /* 00000030 ".PKG1..." */ + 0x00,0x01,0x0A,0x02,0x0A,0x03 /* 00000038 "......" */ + }) + Name (DDBH, 0x00) + Load (BUF1, DDBH) + Local0 = SS01() + Local1 = sizeof (Local0) + if (Local1 != 0x4) + { + ERR (Arg0, ZFFF, __LINE__, 0x00, 0x00, Local1, 0x4) + } + Unload (DDBH) + CH03 (Arg0, Z174, __LINE__, 0x00, 0x00) + } } Method (TLD0, 0, Serialized) @@ -2515,6 +2548,10 @@ Local2 = Buffer (0x0A) SRMT ("TLD0.tstk") \DTM0.TSTK (__METHOD__) CH03 (__METHOD__, Z174, __LINE__, 0x00, 0x00) + + SRMT ("TLD0.tstl") + \DTM0.TSTL (__METHOD__) + CH03 (__METHOD__, Z174, __LINE__, 0x00, 0x00) } /* Exceptional conditions */ diff --git a/tests/aslts/src/runtime/collections/functional/table/ssdt6.asl b/tests/aslts/src/runtime/collections/functional/table/ssdt6.asl new file mode 100644 index 000000000..0948cafab --- /dev/null +++ b/tests/aslts/src/runtime/collections/functional/table/ssdt6.asl @@ -0,0 +1,37 @@ +/* + * Some or all of this work - Copyright (c) 2006 - 2018, 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. + */ + +DefinitionBlock ("", "SSDT", 2, "Intel", "_SSDT_01", 0x00000001) +{ + Method (SS01) + { + return (PKG1) + } + Name (PKG1, Package () {0x0, 0x1, 0x2, 0x3}) +} + -- cgit v1.2.1