1/*
2 * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * Neither the name of Intel Corporation nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30in progress:
31
32Do these:
33!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34+++ 1) clean up the current set of tests
35+++ 2) Make automatically aslst_abbu.aml which include the original common.asl and ehandle.asl files
36+++ 3) introduce 'stack' directory for the stuff from ns8
37+++ 4) slways should be place in POUT for lines below:
38       OUTP(":STST:Identity2MS:abbu:mmmm:FAIL:Errors # 12 34 56 78:")
39       OUTP(":STST:Identity2MS:abbu:mmmm:PASS:")
40       Store("******** POUT exceeded ********, number of lost messages:", Index(POUT, Local0))
41+++ 3) do the method examples and run points for each of the enumerated by 'Stuff not working under MS'
42
434) add the tests of namespace test case with the root names \_SB.d000.p000 ...
4410) do ns6
45   .....
4611) develop the test to achieve cover, do methodically other urgent tests inside abbu
4712) complete the namespace test case
48!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4913) fix bug of m01e
50 *
51 */
52
53/*
54 * Common declarations
55 */
56
57/*
58 * Broke ACPICA (m01e)
59 *
60 * 0 - blocks execution
61 */
62Name(fix0, 1) // blocks m01e
63Name(fix1, 1) // causes break of path for ACPICA
64
65/*
66 * Do additional checking
67 */
68Name(chk0, 0) // use it for those which break execution on MS (should be 0 for run on MS)
69Name(chk1, 1) // use it for those which don't break execution on MS
70Name(chk2, 0) // use it for those which break execution while re-bootin on MS
71
72Name(prt0, 0) // conditional OUTP printing
73
74Name(SLC0, 0) // modification of SCLK
75
76/*
77 * Initialization of msfail
78 */
79Method(IIN1)
80{
81	if (run4) {
82		Store(1, y262)
83		Store(1, y275)
84		Store(1, SLC0)
85		Store(0, SLCK)
86	} else {
87		OUTP("WARNING: don't forget to check run4 !!!!!!!!!!")
88
89		Store(0, SLC0)
90		if (SLCK) {
91			Store(1, SLC0)
92		}
93	}
94
95	if (ABUU) {
96		Store(0, chk0)
97		Store(1, chk1)
98		Store(0, chk2)
99		Store(0, fix0)
100		Store(0, fix1)
101	} else {
102		Store(1, chk0)
103		Store(1, chk1)
104		Store(1, chk2)
105		Store(1, fix0)
106		Store(0, fix1)
107	}
108}
109
110Include("./run_points.asl")
111
112// NameSpace
113
114// Initial
115Include("./initial/ns_in00.asl")
116Include("./initial/ns_in10.asl")
117Include("./initial/ns_in20.asl")
118Include("./initial/ns_in30.asl")
119Include("./initial/ns_in40.asl")
120Include("./initial/ns_in50.asl")
121
122// Device
123// Include("./device/ns_dv00.asl")
124Include("./device/device.asl")
125
126// Include("./ns3.asl")
127Include("./ns4.asl")
128Include("./ns6.asl")
129
130// Miscellaneous
131
132Include("./misc/ms0.asl")
133Include("./misc/ms1.asl")
134
135// MsFail
136
137Include("./MsFail/msfail.asl")
138
139
140// Specific initialization of abbu
141
142// Reset to the initial state
143Method(RST8)
144{
145	Store(0, ERRS)
146	Store(0, RMRC)
147}
148
149// Specific initialization of abbu
150Method(IIN0)
151{
152	// Reset to the initial state
153	RST8()
154
155	// Reset POUT service to the initial state
156	RST9()
157
158	// Initialization of msfail
159	IIN1()
160}
161
162// Conditional output
163Method(OUTC, 1)
164{
165	if (prt0) {
166		OUTP(arg0)
167	}
168}
169
170// Run the tests
171
172Method(MAIN) {
173
174	// Initialization
175	STRT(0)
176
177	// Specific initialization of abbu
178	IIN0()
179
180	// Run verification methods
181	Include("./RUN.asl")
182
183	// Final actions
184	Store(FNSH(), Local7)
185
186	if (ABUU) {
187		Return(POUT)
188	}
189	Return(Local7)
190}
191