1/*
2 * Some or all of this work - Copyright (c) 2006 - 2016, 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/*
30 * ns0 originated but has names from root
31 */
32
33/*
34 * Internal Integer of Device instead of i000 (in m001)
35 */
36Method(m006, 1, Serialized)
37{
38	Name(ts, "m006")
39	Device(d000)
40	{
41		Name(i000, 0x00000001)
42	}
43	Name(i001, 0)
44	Name(p000, Package() {1,2,3,4})
45
46	Store(arg0, i001)
47
48	CH03(ts, z154, 0x014, 0, 0)
49
50	Method(m001)
51	{
52		Method(m002)
53		{
54			Method(m003)
55			{
56				Method(m004)
57				{
58					Method(m005)
59					{
60						Method(m006)
61						{
62							Method(m007)
63							{
64								Method(m008)
65								{
66									if (i001)
67									{
68										CopyObject(p000, \m006.d000.i000)
69									}
70									Return (0)
71								}
72								Store(0x80000000, \m006.d000.i000)
73								Return (Add(\m006.d000.i000, m008()))
74							}
75							Store(0x07000000, \m006.d000.i000)
76							Return (Add(\m006.d000.i000, m007()))
77						}
78						Store(0x00600000, \m006.d000.i000)
79						Return (Add(\m006.d000.i000, m006()))
80					}
81					Store(0x00050000, \m006.d000.i000)
82					Return (Add(\m006.d000.i000, m005()))
83				}
84				Store(0x00004000, \m006.d000.i000)
85				Return (Add(\m006.d000.i000, m004()))
86			}
87			Store(0x00000300, \m006.d000.i000)
88			Return (Add(\m006.d000.i000, m003()))
89		}
90		Store(0x00000020, ^d000.i000)
91		Return (Add(^d000.i000, m002()))
92	}
93
94	Store(Add(d000.i000, m001()), Local0)
95
96	if (FLG9) {
97		CH03(ts, z154, 0x014, 0, 0)
98		if (LNotEqual(Local0, 0x87654321)) {
99			err(ts, z154, 0x012, 0, 0, Local0, 0x87654321)
100		}
101		if (LNotEqual(d000.i000, 0x80000000)) {
102			err(ts, z154, 0x013, 0, 0, d000.i000, 0x80000000)
103		}
104	} else {
105		CH04(ts, 1, 5, z154, 0x014, 0, 0)	// AE_NOT_FOUND
106	}
107}
108
109/*
110 * Internal Integer of ThermalZone instead of i000 (in m001)
111 */
112Method(m007, 1, Serialized)
113{
114	Name(ts, "m007")
115	ThermalZone(tz00)
116	{
117		Name(i000, 0x00000001)
118	}
119	Name(i001, 0)
120	Name(p000, Package() {1,2,3,4})
121
122	Store(arg0, i001)
123
124	CH03(ts, z154, 0x014, 0, 0)
125
126	Method(m001)
127	{
128		Method(m002)
129		{
130			Method(m003)
131			{
132				Method(m004)
133				{
134					Method(m005)
135					{
136						Method(m006)
137						{
138							Method(m007)
139							{
140								Method(m008)
141								{
142									if (i001)
143									{
144										CopyObject(p000, \m007.tz00.i000)
145									}
146									Return (0)
147								}
148								Store(0x80000000, \m007.tz00.i000)
149								Return (Add(\m007.tz00.i000, m008()))
150							}
151							Store(0x07000000, \m007.tz00.i000)
152							Return (Add(\m007.tz00.i000, m007()))
153						}
154						Store(0x00600000, \m007.tz00.i000)
155						Return (Add(\m007.tz00.i000, m006()))
156					}
157					Store(0x00050000, \m007.tz00.i000)
158					Return (Add(\m007.tz00.i000, m005()))
159				}
160				Store(0x00004000, \m007.tz00.i000)
161				Return (Add(\m007.tz00.i000, m004()))
162			}
163			Store(0x00000300, \m007.tz00.i000)
164			Return (Add(\m007.tz00.i000, m003()))
165		}
166		Store(0x00000020, ^tz00.i000)
167		Return (Add(^tz00.i000, m002()))
168	}
169	Store(Add(tz00.i000, m001()), Local0)
170
171	if (FLG9) {
172		CH03(ts, z154, 0x014, 0, 0)
173		if (LNotEqual(Local0, 0x87654321)) {
174			err(ts, z154, 0x015, 0, 0, Local0, 0x87654321)
175		}
176		if (LNotEqual(tz00.i000, 0x80000000)) {
177			err(ts, z154, 0x016, 0, 0, tz00.i000, 0x80000000)
178		}
179	} else {
180		CH04(ts, 1, 5, z154, 0x014, 0, 0)	// AE_NOT_FOUND
181	}
182}
183
184/*
185 * Internal Integer of Processor instead of i000 (in m001)
186 */
187Method(m008, 1, Serialized)
188{
189	Name(ts, "m008")
190	Processor(pr00, 0, 0xFFFFFFFF, 0)
191	{
192		Name(i000, 0x00000001)
193	}
194	Name(i001, 0)
195	Name(p000, Package() {1,2,3,4})
196
197	Store(arg0, i001)
198
199	CH03(ts, z154, 0x014, 0, 0)
200
201	Method(m001)
202	{
203		Method(m002)
204		{
205			Method(m003)
206			{
207				Method(m004)
208				{
209					Method(m005)
210					{
211						Method(m006)
212						{
213							Method(m007)
214							{
215								Method(m008)
216								{
217									if (i001)
218									{
219										CopyObject(p000, \m008.pr00.i000)
220									}
221									Return (0)
222								}
223								Store(0x80000000, \m008.pr00.i000)
224								Return (Add(\m008.pr00.i000, m008()))
225							}
226							Store(0x07000000, \m008.pr00.i000)
227							Return (Add(\m008.pr00.i000, m007()))
228						}
229						Store(0x00600000, \m008.pr00.i000)
230						Return (Add(\m008.pr00.i000, m006()))
231					}
232					Store(0x00050000, \m008.pr00.i000)
233					Return (Add(\m008.pr00.i000, m005()))
234				}
235				Store(0x00004000, \m008.pr00.i000)
236				Return (Add(\m008.pr00.i000, m004()))
237			}
238			Store(0x00000300, \m008.pr00.i000)
239			Return (Add(\m008.pr00.i000, m003()))
240		}
241		Store(0x00000020, ^pr00.i000)
242		Return (Add(^pr00.i000, m002()))
243	}
244
245	Store(Add(pr00.i000, m001()), Local0)
246
247	if (FLG9) {
248		CH03(ts, z154, 0x014, 0, 0)
249		if (LNotEqual(Local0, 0x87654321)) {
250			err(ts, z154, 0x018, 0, 0, Local0, 0x87654321)
251		}
252		if (LNotEqual(pr00.i000, 0x80000000)) {
253			err(ts, z154, 0x019, 0, 0, pr00.i000, 0x80000000)
254		}
255	} else {
256		CH04(ts, 1, 5, z154, 0x014, 0, 0)	// AE_NOT_FOUND
257	}
258}
259
260/*
261 * Internal Integer of PowerResource instead of i000 (in m001)
262 */
263Method(m009, 1, Serialized)
264{
265	Name(ts, "m009")
266	PowerResource(pw00, 1, 0)
267	{
268		Name(i000, 0x00000001)
269	}
270	Name(i001, 0)
271	Name(p000, Package() {1,2,3,4})
272
273	Store(arg0, i001)
274
275	CH03(ts, z154, 0x01d, 0, 0)
276
277	Method(m001)
278	{
279		Method(m002)
280		{
281			Method(m003)
282			{
283				Method(m004)
284				{
285					Method(m005)
286					{
287						Method(m006)
288						{
289							Method(m007)
290							{
291								Method(m008)
292								{
293									if (i001)
294									{
295										CopyObject(p000, \m009.pw00.i000)
296									}
297									Return (0)
298								}
299								Store(0x80000000, \m009.pw00.i000)
300								Return (Add(\m009.pw00.i000, m008()))
301							}
302							Store(0x07000000, \m009.pw00.i000)
303							Return (Add(\m009.pw00.i000, m007()))
304						}
305						Store(0x00600000, \m009.pw00.i000)
306						Return (Add(\m009.pw00.i000, m006()))
307					}
308					Store(0x00050000, \m009.pw00.i000)
309					Return (Add(\m009.pw00.i000, m005()))
310				}
311				Store(0x00004000, \m009.pw00.i000)
312				Return (Add(\m009.pw00.i000, m004()))
313			}
314			Store(0x00000300, \m009.pw00.i000)
315			Return (Add(\m009.pw00.i000, m003()))
316		}
317		Store(0x00000020, ^pw00.i000)
318		Return (Add(^pw00.i000, m002()))
319	}
320
321	Store(Add(pw00.i000, m001()), Local0)
322
323	if (FLG9) {
324		CH03(ts, z154, 0x014, 0, 0)
325		if (LNotEqual(Local0, 0x87654321)) {
326			err(ts, z154, 0x01b, 0, 0, Local0, 0x87654321)
327		}
328		if (LNotEqual(pw00.i000, 0x80000000)) {
329			err(ts, z154, 0x01c, 0, 0, pw00.i000, 0x80000000)
330		}
331	} else {
332		CH04(ts, 1, 5, z154, 0x014, 0, 0)	// AE_NOT_FOUND
333	}
334}
335
336Method(n100)
337{
338if (1) {
339	SRMT("m006-0")
340	m006(0)
341	SRMT("m006-1")
342	if (y200) {
343		m006(1)
344	} else {
345		BLCK()
346	}
347	SRMT("m007-0")
348	m007(0)
349	SRMT("m007-1")
350	if (y200) {
351		m007(1)
352	} else {
353		BLCK()
354	}
355	SRMT("m008-0")
356	m008(0)
357	SRMT("m008-1")
358	if (y200) {
359		m008(1)
360	} else {
361		BLCK()
362	}
363	SRMT("m009-0")
364	m009(0)
365	SRMT("m009-1")
366	if (y200) {
367		m009(1)
368	} else {
369		BLCK()
370	}
371} else {
372}
373}