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     * DynObj: ASL declarations
30     */
31    Name (Z130, 0x82)
32    /* Check declarations */
33
34    Method (M373, 0, Serialized)
35    {
36        /* The Created Objects benchmark Package */
37
38        Name (PP00, Package (0x01){})
39        /* The Deleted Objects benchmark Package */
40
41        Name (PP01, Package (0x01){})
42        /* The per-memory type benchmark Package */
43
44        Name (PP02, Package (0x01){})
45        /* Package for _TCI-begin statistics */
46        /* (use NamedX, don't use ArgX/LocalX). */
47        Name (PP0A, Package (0x01){})
48        /* Objects for verified operators */
49
50        Name (NUM, 0x05)
51        Name (LPN0, 0x00)
52        Name (LPC0, 0x00)
53        Name (BCF0, Buffer (0x08){})
54        OperationRegion (R000, SystemMemory, 0x0100, 0x0100)
55        Name (I000, 0x00)
56        /* Create and initialize the Memory Consumption Statistics Packages */
57
58        Local0 = M3A0 (C200)   /* _TCI-end statistics */
59        PP0A = M3A0 (C201)     /* _TCI-begin statistics */
60        Local1 = M3A0 (0x00)      /* difference */
61        /* Available free locals */
62
63        Local2 = 0x00
64        Local3 = 0x00
65        Local4 = 0x00
66        Local5 = 0x00
67        Local6 = 0x00
68        Local7 = 0x00
69        SET0 (Z130, "m373", 0x00)
70        /* ======================== Name */
71
72        If (RN00)
73        {
74            Debug = "Name"
75            _TCI (C200, Local0)
76            Name (I100, 0x00)
77            _TCI (C201, PP0A)
78            M3A3 (Local0, PP0A, Local1)
79            PP00 = M3A8 ()
80            PP00 [C009] = 0x01 /* Integer */
81            PP01 = M3A8 ()
82            PP02 = M3A9 ()
83            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
84            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
85            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x00)
86        }
87
88        If (RN00)
89        {
90            _TCI (C200, Local0)
91            Name (S100, "qsdrtghyuiopmngsxz")
92            _TCI (C201, PP0A)
93            M3A3 (Local0, PP0A, Local1)
94            PP00 = M3A8 ()
95            PP00 [C00A] = 0x01 /* String */
96            PP01 = M3A8 ()
97            PP02 = M3A9 ()
98            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
99            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
100            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x01)
101            _TCI (C200, Local0)
102            Name (B100, Buffer (0x10)
103            {
104                 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08   // ........
105            })
106            _TCI (C201, PP0A)
107            M3A3 (Local0, PP0A, Local1)
108            PP00 = M3A8 ()
109            PP00 [C009] = 0x01 /* Integer */
110            PP00 [C00B] = 0x01 /* Buffer */
111            PP01 = M3A8 ()
112            PP01 [C009] = 0x01 /* Integer */
113            PP02 = M3A9 ()
114            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
115            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
116            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x02)
117            _TCI (C200, Local0)
118            Name (P100, Package (0x10)
119            {
120                0x01,
121                0x02,
122                0x03,
123                0x04,
124                0x05,
125                0x06,
126                0x07,
127                0x08
128            })
129            _TCI (C201, PP0A)
130            M3A3 (Local0, PP0A, Local1)
131            PP00 = M3A8 ()
132            PP00 [C009] = 0x09 /* Integer */
133            PP00 [C00C] = 0x01 /* Package */
134            PP01 = M3A8 ()
135            PP01 [C009] = 0x01 /* Integer */
136            PP02 = M3A9 ()
137            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
138            PP02 [C228] = 0x09 /* CLIST_ID_OPERAND */
139            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x03)
140        }
141
142        If (RN00)
143        {
144            _TCI (C200, Local0)
145            Name (P101, Package (0x10)
146            {
147                0x01,
148                0x02,
149                0x03,
150                0x04,
151                0x05,
152                0x06,
153                0x07,
154                0x08,
155                I000
156            })
157            _TCI (C201, PP0A)
158            M3A3 (Local0, PP0A, Local1)
159            PP00 = M3A8 ()
160            PP00 [C009] = 0x09 /* Integer */
161            PP00 [C00C] = 0x01 /* Package */
162            PP00 [C01C] = 0x01 /* LOCAL_REFERENCE */
163            PP01 = M3A8 ()
164            PP01 [C009] = 0x01 /* Integer */
165            PP02 = M3A9 ()
166            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
167            PP02 [C228] = 0x0A /* CLIST_ID_OPERAND */
168            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x04)
169        }
170
171        /* ======================== CreateField */
172
173        If (RN00)
174        {
175            Debug = "CreateField"
176            _TCI (C200, Local0)
177            CreateField (BCF0, 0x01, 0x03, BF00)
178            _TCI (C201, PP0A)
179            M3A3 (Local0, PP0A, Local1)
180            PP00 = M3A8 ()
181            PP00 [C009] = 0x02 /* Integer */
182            PP00 [C016] = 0x01 /* BufferField */
183            PP00 [C024] = 0x01 /* LOCAL_EXTRA */
184            PP01 = M3A8 ()
185            PP01 [C009] = 0x02 /* Integer */
186            PP02 = M3A9 ()
187            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
188            PP02 [C228] = 0x02 /* CLIST_ID_OPERAND */
189            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x05)
190        }
191
192        /* //////// Resource Descriptor macros */
193        /* ======================== DMA */
194        If (RN00)
195        {
196            Debug = "DMA"
197            _TCI (C200, Local0)
198            Name (RT00, ResourceTemplate () /* Integer */ /* Buffer */ /* Integer */ /* CLIST_ID_NAMESPACE */ /* CLIST_ID_OPERAND */
199            {
200                DMA (Compatibility, NotBusMaster, Transfer8, )
201                    {}
202            })
203            _TCI (C201, PP0A)
204            M3A3 (Local0, PP0A, Local1)
205            PP00 = M3A8 ()
206            PP00 [C009] = 0x01
207            PP00 [C00B] = 0x01
208            PP01 = M3A8 ()
209            PP01 [C009] = 0x01
210            PP02 = M3A9 ()
211            PP02 [C226] = 0x01
212            PP02 [C228] = 0x01
213            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x06)
214        }
215
216        /* ======================== DataTableRegion */
217
218        If (RN00)
219        {
220            Debug = "DataTableRegion"
221            _TCI (C200, Local0)
222            DataTableRegion (HDR, "DSDT", "", "")
223            _TCI (C201, PP0A)
224            M3A3 (Local0, PP0A, Local1)
225            PP00 = M3A8 ()
226            PP00 [C00A] = 0x03 /* String */
227            PP00 [C012] = 0x01 /* Operation Region */
228            PP00 [C024] = 0x01 /* LOCAL_EXTRA */
229            PP01 = M3A8 ()
230            PP01 [C00A] = 0x03 /* String */
231            PP02 = M3A9 ()
232            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
233            PP02 [C228] = 0x02 /* CLIST_ID_OPERAND */
234            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x07)
235        }
236
237        /* ======================== Field */
238
239        If (RN04)
240        {
241            Debug = "Field"
242            _TCI (C200, Local0)
243            Field (R000, ByteAcc, NoLock, Preserve)
244            {
245                F000,   8
246            }
247
248            _TCI (C201, PP0A)
249            M3A3 (Local0, PP0A, Local1)
250            PP00 = M3A8 ()
251            PP00 [C019] = 0x01 /* LOCAL_REGION_FIELD */
252            PP01 = M3A8 ()
253            PP02 = M3A9 ()
254            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
255            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x08)
256        }
257
258        /* ======================== BankField */
259
260        If (RN04)
261        {
262            Debug = "BankField"
263            Field (R000, ByteAcc, NoLock, Preserve)
264            {
265                F001,   8
266            }
267
268            _TCI (C200, Local0)
269            BankField (R000, F001, 0x00, ByteAcc, NoLock, Preserve)
270            {
271                BN00,   4
272            }
273
274            _TCI (C201, PP0A)
275            M3A3 (Local0, PP0A, Local1)
276            PP00 = M3A8 ()
277            PP00 [C01A] = 0x01 /* LOCAL_BANK_FIELD */
278            PP01 = M3A8 ()
279            PP02 = M3A9 ()
280            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
281            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x09)
282        }
283
284        /* ======================== IndexField */
285
286        If (RN04)
287        {
288            Debug = "IndexField"
289            Field (R000, ByteAcc, NoLock, Preserve)
290            {
291                F002,   8,
292                F003,   8
293            }
294
295            _TCI (C200, Local0)
296            IndexField (F002, F003, ByteAcc, NoLock, Preserve)
297            {
298                IF00,   8,
299                IF01,   8
300            }
301
302            _TCI (C201, PP0A)
303            M3A3 (Local0, PP0A, Local1)
304            PP00 = M3A8 ()
305            PP00 [C01B] = 0x02 /* LOCAL_INDEX_FIELD */
306            PP01 = M3A8 ()
307            PP02 = M3A9 ()
308            PP02 [C228] = 0x02 /* CLIST_ID_OPERAND */
309            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x0A)
310        }
311
312        /* ======================== Event */
313
314        If (RN00)
315        {
316            Debug = "Event"
317            _TCI (C200, Local0)
318            Event (E900)
319            _TCI (C201, PP0A)
320            M3A3 (Local0, PP0A, Local1)
321            PP00 = M3A8 ()
322            PP00 [C00F] = 0x01 /* Event */
323            PP01 = M3A8 ()
324            PP02 = M3A9 ()
325            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
326            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
327            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x0B)
328        }
329
330        /* ======================== Mutex */
331
332        If (RN00)
333        {
334            Debug = "Mutex"
335            _TCI (C200, Local0)
336            Mutex (MT00, 0x00)
337            _TCI (C201, PP0A)
338            M3A3 (Local0, PP0A, Local1)
339            PP00 = M3A8 ()
340            PP00 [C009] = 0x01 /* Integer */
341            PP00 [C011] = 0x01 /* Mutex */
342            PP01 = M3A8 ()
343            PP01 [C009] = 0x01 /* Integer */
344            PP02 = M3A9 ()
345            PP02 [C226] = 0x01 /* CLIST_ID_NAMESPACE */
346            PP02 [C228] = 0x01 /* CLIST_ID_OPERAND */
347            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x0C)
348        }
349
350        /* ======================== OperationRegion */
351
352        If (RN04)
353        {
354            Debug = "OperationRegion"
355            _TCI (C200, Local0)
356            OperationRegion (R001, SystemMemory, 0x0100, 0x0100)
357            _TCI (C201, PP0A)
358            M3A3 (Local0, PP0A, Local1)
359            PP00 = M3A8 ()
360            PP00 [C009] = 0x02 /* Integer */
361            /*	Store(1, Index(pp00, c012)) // OperationRegion */
362
363            PP01 = M3A8 ()
364            PP02 = M3A9 ()
365            M3A4 (Local0, PP0A, Local1, PP00, 0x00, 0x00, 0x0D)
366        }
367
368        /* ======================== Device */
369
370        If (RN03)
371        {
372            /* Causes AE_AML_NAME_NOT_FOUND exception */
373
374            Debug = "Device"
375            _TCI (C200, Local0)
376            Device (D000)
377            {
378            }
379
380            _TCI (C201, PP0A)
381            M3A3 (Local0, PP0A, Local1)
382            PP00 = M3A8 ()
383            PP00 [C00E] = 0x01 /* Device */
384            PP01 = M3A8 ()
385            PP02 = M3A9 ()
386            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x0E)
387        }
388
389        /* ======================== Method */
390
391        If (RN03)
392        {
393            /* Causes AE_AML_NAME_NOT_FOUND exception */
394
395            Debug = "Method"
396            _TCI (C200, Local0)
397            Method (M000, 0, NotSerialized)
398            {
399            }
400
401            _TCI (C201, PP0A)
402            M3A3 (Local0, PP0A, Local1)
403            PP00 = M3A8 ()
404            PP00 [C010] = 0x01 /* Method */
405            PP01 = M3A8 ()
406            PP02 = M3A9 ()
407            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x0F)
408        }
409
410        /* ======================== ThermalZone */
411
412        If (RN03)
413        {
414            /* Causes AE_AML_NAME_NOT_FOUND exception */
415
416            Debug = "ThermalZone"
417            _TCI (C200, Local0)
418            ThermalZone (TZ00)
419            {
420            }
421
422            _TCI (C201, PP0A)
423            M3A3 (Local0, PP0A, Local1)
424            PP00 = M3A8 ()
425            PP00 [C015] = 0x01 /* ThermalZone */
426            PP01 = M3A8 ()
427            PP02 = M3A9 ()
428            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x10)
429        }
430
431        /* ======================== Processor */
432
433        If (RN03)
434        {
435            /* Causes AE_AML_NAME_NOT_FOUND exception */
436
437            Debug = "Processor"
438            _TCI (C200, Local0)
439            Processor (PR00, 0x00, 0xFFFFFFFF, 0x00){}
440            _TCI (C201, PP0A)
441            M3A3 (Local0, PP0A, Local1)
442            PP00 = M3A8 ()
443            PP00 [C014] = 0x01 /* Processor */
444            PP01 = M3A8 ()
445            PP02 = M3A9 ()
446            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x11)
447        }
448
449        /* ======================== PowerResource */
450
451        If (RN03)
452        {
453            /* Causes AE_AML_NAME_NOT_FOUND exception */
454
455            Debug = "PowerResource"
456            _TCI (C200, Local0)
457            PowerResource (PW00, 0x01, 0x0000){}
458            _TCI (C201, PP0A)
459            M3A3 (Local0, PP0A, Local1)
460            PP00 = M3A8 ()
461            PP00 [C013] = 0x01 /* PowerResource */
462            PP01 = M3A8 ()
463            PP02 = M3A9 ()
464            M3A4 (Local0, PP0A, Local1, PP00, PP01, PP02, 0x12)
465        }
466
467        RST0 ()
468    }
469