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     * Check implicit conversion being applied to data images
30     */
31    Name (Z122, 0x7A)
32    /* Flags of types can be used in Index Operator */
33
34    Name (B66F, Buffer (0x12)
35    {
36        /* 0000 */  0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
37        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
38        /* 0010 */  0x00, 0x00                                       // ..
39    })
40    /* Not invalid types for testing to store in, */
41    /* excluded: Field Unit, Op.Region, Thermal Zone, */
42    /*           DDB handle, Debug, Reference */
43    Name (B670, Buffer (0x12)
44    {
45        /* 0000 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,  // ........
46        /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00,  // ........
47        /* 0010 */  0x00, 0x00                                       // ..
48    })
49    /* Not invalid types for testing to be stored, */
50    /* excluded: Field Unit, Op.Region, Thermal Zone, */
51    /*           DDB handle, Debug, Reference */
52    Name (B671, Buffer (0x12)
53    {
54        /* 0000 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,  // ........
55        /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00,  // ........
56        /* 0010 */  0x00, 0x00                                       // ..
57    })
58    /* Flags of types of non-Computational Data Objects */
59
60    Name (B674, Buffer (0x12)
61    {
62        /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,  // ........
63        /* 0008 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,  // ........
64        /* 0010 */  0x01, 0x01                                       // ..
65    })
66    /* Possible types of the Named Object */
67
68    Name (B676, Buffer (0x12)
69    {
70        /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,  // ........
71        /* 0008 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,  // ........
72        /* 0010 */  0x00, 0x01                                       // ..
73    })
74    /* Possible types of the LocalX Object */
75
76    Name (B677, Buffer (0x12)
77    {
78        /* 0000 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,  // ........
79        /* 0008 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,  // ........
80        /* 0010 */  0x00, 0x01                                       // ..
81    })
82    /* Flags of types of Fixed type Data Objects (Fields) */
83
84    Name (B678, Buffer (0x12)
85    {
86        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
87        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
88        /* 0010 */  0x00, 0x00                                       // ..
89    })
90    /* Flags of types of Computational Data Objects */
91    /* (Fields and Integer, String, Buffer) */
92    Name (B679, Buffer (0x12)
93    {
94        /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00,  // ........
95        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
96        /* 0010 */  0x00, 0x00                                       // ..
97    })
98    /* Type group numbers according with the type of an Object */
99
100    Name (B67A, Buffer (0x12)
101    {
102        /* 0000 */  0x00, 0x02, 0x02, 0x02, 0x03, 0x01, 0x05, 0x05,  // ........
103        /* 0008 */  0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x01, 0x00,  // ........
104        /* 0010 */  0x00, 0x06                                       // ..
105    })
106    /* Flags of types not causing exceptions on Increment/Decrement */
107    /* (~ Computational Data Objects) */
108    Name (B67B, Buffer (0x12)
109    {
110        /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00,  // ........
111        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
112        /* 0010 */  0x00, 0x00                                       // ..
113    })
114    /* Flags of types that can be verified only by ObjectType */
115    /* (Not Computational Data, Package and Method Objects) */
116    Name (B67C, Buffer (0x12)
117    {
118        /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,  // ........
119        /* 0008 */  0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,  // ........
120        /* 0010 */  0x01, 0x01                                       // ..
121    })
122    /* Possible types of Package Elements */
123
124    Name (B67D, Buffer (0x12)
125    {
126        /* 0000 */  0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
127        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
128        /* 0010 */  0x00, 0x01                                       // ..
129    })
130    /* Not invalid types for Store taking into */
131    /* account the ACPICA exresop restriction: */
132    /* Needed Integer/Buffer/String/Package/Ref/Ddb */
133    Name (B67F, Buffer (0x12)
134    {
135        /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,  // ........
136        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
137        /* 0010 */  0x00, 0x01                                       // ..
138    })
139    /* Testing Destination Named Objects */
140    /* Integers */
141    Name (I680, 0xA0A1A2A35F5E5D80)
142    Name (I681, 0xA0A1A2A35F5E5D81)
143    Name (I682, 0xA0A1A2A35F5E5D82)
144    Name (I683, 0xA0A1A2A35F5E5D83)
145    Name (I684, 0xA0A1A2A35F5E5D84)
146    Name (I685, 0xA0A1A2A35F5E5D85)
147    Name (I686, 0xA0A1A2A35F5E5D86)
148    Name (I687, 0xA0A1A2A35F5E5D87)
149    Name (I688, 0xA0A1A2A35F5E5D88)
150    Name (I689, 0xA0A1A2A35F5E5D89)
151    Name (I68A, 0xA0A1A2A35F5E5D8A)
152    Name (I68B, 0xA0A1A2A35F5E5D8B)
153    Name (I68C, 0xA0A1A2A35F5E5D8C)
154    Name (I68D, 0xA0A1A2A35F5E5D8D)
155    Name (I68E, 0xA0A1A2A35F5E5D8E)
156    Name (I68F, 0xA0A1A2A35F5E5D8F)
157    Name (I690, 0xA0A1A2A35F5E5D90)
158    Name (I691, 0xA0A1A2A35F5E5D91)
159    Name (I692, 0xA0A1A2A35F5E5D92)
160    Name (I693, 0xA0A1A2A35F5E5D93)
161    Name (I694, 0xA0A1A2A35F5E5D94)
162    Name (I695, 0xA0A1A2A35F5E5D95)
163    Name (I696, 0xA0A1A2A35F5E5D96)
164    Name (I697, 0xA0A1A2A35F5E5D97)
165    Name (I698, 0xA0A1A2A35F5E5D98)
166    Name (I699, 0xA0A1A2A35F5E5D99)
167    Name (I69A, 0xA0A1A2A35F5E5D9A)
168    Name (I69B, 0xA0A1A2A35F5E5D9B)
169    Name (I69C, 0xA0A1A2A35F5E5D9C)
170    Name (I69D, 0xA0A1A2A35F5E5D9D)
171    Name (I69E, 0xA0A1A2A35F5E5D9E)
172    Name (I69F, 0xA0A1A2A35F5E5D9F)
173    /* Strings */
174
175    Name (S680, "initial named string80")
176    Name (S681, "initial named string81")
177    Name (S682, "initial named string82")
178    Name (S683, "initial named string83")
179    Name (S684, "initial named string84")
180    Name (S685, "initial named string85")
181    Name (S686, "initial named string86")
182    Name (S687, "initial named string87")
183    Name (S688, "initial named string88")
184    Name (S689, "initial named string89")
185    Name (S68A, "initial named string8a")
186    Name (S68B, "initial named string8b")
187    Name (S68C, "initial named string8c")
188    Name (S68D, "initial named string8d")
189    Name (S68E, "initial named string8e")
190    Name (S68F, "initial named string8f")
191    Name (S690, "initial named string90")
192    Name (S691, "initial named string91")
193    Name (S692, "initial named string92")
194    Name (S693, "initial named string93")
195    Name (S694, "initial named string94")
196    Name (S695, "initial named string95")
197    Name (S696, "initial named string96")
198    Name (S697, "initial named string97")
199    Name (S698, "initial named string98")
200    Name (S699, "initial named string99")
201    Name (S69A, "initial named string9a")
202    Name (S69B, "initial named string9b")
203    Name (S69C, "initial named string9c")
204    Name (S69D, "initial named string9d")
205    Name (S69E, "initial named string9e")
206    Name (S69F, "initial named string9f")
207    /* Buffers */
208
209    Name (B680, Buffer (0x09)
210    {
211        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
212        /* 0008 */  0x80                                             // .
213    })
214    Name (B681, Buffer (0x09)
215    {
216        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
217        /* 0008 */  0x81                                             // .
218    })
219    Name (B682, Buffer (0x09)
220    {
221        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
222        /* 0008 */  0x82                                             // .
223    })
224    Name (B683, Buffer (0x09)
225    {
226        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
227        /* 0008 */  0x83                                             // .
228    })
229    Name (B684, Buffer (0x09)
230    {
231        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
232        /* 0008 */  0x84                                             // .
233    })
234    Name (B685, Buffer (0x09)
235    {
236        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
237        /* 0008 */  0x85                                             // .
238    })
239    Name (B686, Buffer (0x09)
240    {
241        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
242        /* 0008 */  0x86                                             // .
243    })
244    Name (B687, Buffer (0x09)
245    {
246        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
247        /* 0008 */  0x87                                             // .
248    })
249    Name (B688, Buffer (0x09)
250    {
251        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
252        /* 0008 */  0x88                                             // .
253    })
254    Name (B689, Buffer (0x09)
255    {
256        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
257        /* 0008 */  0x89                                             // .
258    })
259    Name (B68A, Buffer (0x09)
260    {
261        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
262        /* 0008 */  0x8A                                             // .
263    })
264    Name (B68B, Buffer (0x09)
265    {
266        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
267        /* 0008 */  0x8B                                             // .
268    })
269    Name (B68C, Buffer (0x09)
270    {
271        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
272        /* 0008 */  0x8C                                             // .
273    })
274    Name (B68D, Buffer (0x09)
275    {
276        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
277        /* 0008 */  0x8D                                             // .
278    })
279    Name (B68E, Buffer (0x09)
280    {
281        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
282        /* 0008 */  0x8E                                             // .
283    })
284    Name (B68F, Buffer (0x09)
285    {
286        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
287        /* 0008 */  0x8F                                             // .
288    })
289    Name (B690, Buffer (0x09)
290    {
291        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
292        /* 0008 */  0x90                                             // .
293    })
294    Name (B691, Buffer (0x09)
295    {
296        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
297        /* 0008 */  0x91                                             // .
298    })
299    Name (B692, Buffer (0x09)
300    {
301        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
302        /* 0008 */  0x92                                             // .
303    })
304    Name (B693, Buffer (0x09)
305    {
306        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
307        /* 0008 */  0x93                                             // .
308    })
309    Name (B694, Buffer (0x09)
310    {
311        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
312        /* 0008 */  0x94                                             // .
313    })
314    Name (B695, Buffer (0x09)
315    {
316        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
317        /* 0008 */  0x95                                             // .
318    })
319    Name (B696, Buffer (0x09)
320    {
321        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
322        /* 0008 */  0x96                                             // .
323    })
324    Name (B697, Buffer (0x09)
325    {
326        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
327        /* 0008 */  0x97                                             // .
328    })
329    Name (B698, Buffer (0x09)
330    {
331        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
332        /* 0008 */  0x98                                             // .
333    })
334    Name (B699, Buffer (0x09)
335    {
336        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
337        /* 0008 */  0x99                                             // .
338    })
339    Name (B69A, Buffer (0x09)
340    {
341        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
342        /* 0008 */  0x9A                                             // .
343    })
344    Name (B69B, Buffer (0x09)
345    {
346        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
347        /* 0008 */  0x9B                                             // .
348    })
349    Name (B69C, Buffer (0x09)
350    {
351        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
352        /* 0008 */  0x9C                                             // .
353    })
354    Name (B69D, Buffer (0x09)
355    {
356        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
357        /* 0008 */  0x9D                                             // .
358    })
359    Name (B69E, Buffer (0x09)
360    {
361        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
362        /* 0008 */  0x9E                                             // .
363    })
364    Name (B69F, Buffer (0x09)
365    {
366        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
367        /* 0008 */  0x9F                                             // .
368    })
369    /* Packages */
370
371    Name (P680, Package (0x01)
372    {
373        0x00
374    })
375    /* Buffer Fields */
376
377    Name (B675, Buffer (0x17){})
378    CreateField (B675, 0x00, 0x1F, BF80)
379    CreateField (B675, 0x23, 0x3F, BF81)
380    CreateField (B675, 0x6E, 0x45, BF82)
381    /* Auxiliary Source Named Objects */
382
383    Name (I6E0, 0xFE7CB391D650A284)
384    Name (I6E1, 0xFE7CB391D650A284)
385    Name (I6E2, 0xFE7CB391D650A284)
386    Name (I6E3, 0xFE7CB391D650A284)
387    Name (I6E4, 0xFE7CB391D650A284)
388    Name (I6E5, 0xFE7CB391D650A284)
389    Name (I6E6, 0xFE7CB391D650A284)
390    Name (I6E7, 0xFE7CB391D650A284)
391    Name (I6E8, 0xFE7CB391D650A284)
392    Name (I6E9, 0xFE7CB391D650A284)
393    Name (P690, Package (0x12)
394    {
395        0xFE7CB391D650A284,
396        "FE7CB391D650A284",
397        Buffer (0x08)
398        {
399             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
400        },
401
402        0xFE7CB391D650A284,
403        "FE7CB391D650A284",
404        Buffer (0x08)
405        {
406             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
407        },
408
409        0xFE7CB391D650A284,
410        "FE7CB391D650A284",
411        Buffer (0x08)
412        {
413             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
414        },
415
416        0xFE7CB391D650A284,
417        "FE7CB391D650A284",
418        Buffer (0x08)
419        {
420             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
421        },
422
423        0xFE7CB391D650A284,
424        "FE7CB391D650A284",
425        Buffer (0x08)
426        {
427             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
428        },
429
430        0xFE7CB391D650A284,
431        "FE7CB391D650A284",
432        Buffer (0x08)
433        {
434             0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
435        }
436    })
437    Name (P691, Package (0x01){})
438    Name (S6E0, "FE7CB391D650A284")
439    Name (S6E1, "FE7CB391D650A284")
440    Name (S6E2, "FE7CB391D650A284")
441    Name (S6E3, "FE7CB391D650A284")
442    Name (S6E4, "FE7CB391D650A284")
443    Name (S6E5, "FE7CB391D650A284")
444    Name (S6E6, "FE7CB391D650A284")
445    Name (S6E7, "FE7CB391D650A284")
446    Name (S6E8, "FE7CB391D650A284")
447    Name (S6E9, "FE7CB391D650A284")
448    Name (B6E0, Buffer (0x08)
449    {
450         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
451    })
452    Name (B6E1, Buffer (0x08)
453    {
454         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
455    })
456    Name (B6E2, Buffer (0x08)
457    {
458         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
459    })
460    Name (B6E3, Buffer (0x08)
461    {
462         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
463    })
464    Name (B6E4, Buffer (0x08)
465    {
466         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
467    })
468    Name (B6E5, Buffer (0x08)
469    {
470         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
471    })
472    Name (B6E6, Buffer (0x08)
473    {
474         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
475    })
476    Name (B6E7, Buffer (0x08)
477    {
478         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
479    })
480    Name (B6E8, Buffer (0x08)
481    {
482         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
483    })
484    Name (B6E9, Buffer (0x08)
485    {
486         0x84, 0xA2, 0x50, 0xD6, 0x91, 0xB3, 0x7C, 0xFE   // ..P...|.
487    })
488    /* Matrixes of exceptions expected during an attempt to make */
489    /* a copy of the Result Object by some storing operator, */
490    /* a raw relies to the type group of a Target Object, */
491    /* a column relies to the type group of a Result Object */
492    /* (uninitialized, fixed, other computational data types, */
493    /* Package, Method, others, reference) */
494    /* Store to Named Object */
495    Name (P6A0, Package (0x07)
496    {
497        Buffer (0x07)
498        {
499             0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00         // .......
500        },
501
502        Buffer (0x07)
503        {
504             0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01         // .......
505        },
506
507        Buffer (0x07)
508        {
509             0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01         // .......
510        },
511
512        Buffer (0x07)
513        {
514             0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00         // .......
515        },
516
517        Buffer (0x07)
518        {
519             0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00         // .......
520        },
521
522        Buffer (0x07)
523        {
524             0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00         // .......
525        },
526
527        Buffer (0x07)
528        {
529             0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00         // .......
530        }
531    })
532    /* Store in other cases and CopyObject */
533
534    Name (P6A1, Package (0x07)
535    {
536        Buffer (0x07)
537        {
538             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
539        },
540
541        Buffer (0x07)
542        {
543             0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01         // .......
544        },
545
546        Buffer (0x07)
547        {
548             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
549        },
550
551        Buffer (0x07)
552        {
553             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
554        },
555
556        Buffer (0x07)
557        {
558             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
559        },
560
561        Buffer (0x07)
562        {
563             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
564        },
565
566        Buffer (0x07)
567        {
568             0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
569        }
570    })
571    /* Matrixes of saving Target type storings */
572    /* (have sense in absence of exceptions) */
573    /* Store to Named Object */
574    Name (P6A2, Package (0x07)
575    {
576        Buffer (0x07)
577        {
578             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
579        },
580
581        Buffer (0x07)
582        {
583             0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00         // .......
584        },
585
586        Buffer (0x07)
587        {
588             0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00         // .......
589        },
590
591        Buffer (0x07)
592        {
593             0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00         // .......
594        },
595
596        Buffer (0x07)
597        {
598             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
599        },
600
601        Buffer (0x07)
602        {
603             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
604        },
605
606        Buffer (0x07)
607        {
608             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
609        }
610    })
611    /* Store in other cases and CopyObject */
612
613    Name (P6A3, Package (0x07)
614    {
615        Buffer (0x07)
616        {
617             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
618        },
619
620        Buffer (0x07)
621        {
622             0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00         // .......
623        },
624
625        Buffer (0x07)
626        {
627             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
628        },
629
630        Buffer (0x07)
631        {
632             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
633        },
634
635        Buffer (0x07)
636        {
637             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
638        },
639
640        Buffer (0x07)
641        {
642             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
643        },
644
645        Buffer (0x07)
646        {
647             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         // .......
648        }
649    })
650    /* Check Result of operation on equal to Benchmark value */
651    /* m680(<method name>, */
652    /*	<internal type of error if it occurs>, */
653    /*	<internal subtype>, */
654    /*	<Result>, */
655    /*	<Benchmark value>) */
656    Method (M680, 5, NotSerialized)
657    {
658        Local0 = ObjectType (Arg3)
659        Local1 = ObjectType (Arg4)
660        If ((Local0 != Local1))
661        {
662            ERR (Concatenate (Arg0, "-OType"), Z122, __LINE__, Arg2, 0x00, Local0, Local1)
663            Return (0x01)
664        }
665        ElseIf (DerefOf (B679 [Local0]))
666        {
667            If ((Arg3 != Arg4))
668            {
669                ERR (Arg0, Z122, __LINE__, Arg2, 0x00, Arg3, Arg4)
670                Return (0x01)
671            }
672        }
673
674        Return (0x00)
675    }
676
677    /* Return Indexed reference */
678    /* m681(<source>, <index>) */
679    Method (M681, 2, NotSerialized)
680    {
681        Return (Arg0 [Arg1])
682    }
683
684    /* Return the value of an Auxiliary Source Named Object */
685    /* m682(<type>, <index>) */
686    Method (M682, 2, Serialized)
687    {
688        Switch (ToInteger (Arg0))
689        {
690            Case (0x01)
691            {
692                Switch (ToInteger (Arg1))
693                {
694                    Case (0x00)
695                    {
696                        Return (I6E0) /* \I6E0 */
697                    }
698                    Case (0x01)
699                    {
700                        Return (I6E1) /* \I6E1 */
701                    }
702                    Case (0x02)
703                    {
704                        Return (I6E2) /* \I6E2 */
705                    }
706                    Case (0x03)
707                    {
708                        Return (I6E3) /* \I6E3 */
709                    }
710                    Case (0x04)
711                    {
712                        Return (I6E4) /* \I6E4 */
713                    }
714                    Case (0x05)
715                    {
716                        Return (I6E5) /* \I6E5 */
717                    }
718                    Case (0x06)
719                    {
720                        Return (I6E6) /* \I6E6 */
721                    }
722                    Case (0x07)
723                    {
724                        Return (I6E7) /* \I6E7 */
725                    }
726                    Case (0x08)
727                    {
728                        Return (I6E8) /* \I6E8 */
729                    }
730                    Case (0x09)
731                    {
732                        Return (I6E9) /* \I6E9 */
733                    }
734
735                }
736            }
737            Case (0x02)
738            {
739                Switch (ToInteger (Arg1))
740                {
741                    Case (0x00)
742                    {
743                        Return (S6E0) /* \S6E0 */
744                    }
745                    Case (0x01)
746                    {
747                        Return (S6E1) /* \S6E1 */
748                    }
749                    Case (0x02)
750                    {
751                        Return (S6E2) /* \S6E2 */
752                    }
753                    Case (0x03)
754                    {
755                        Return (S6E3) /* \S6E3 */
756                    }
757                    Case (0x04)
758                    {
759                        Return (S6E4) /* \S6E4 */
760                    }
761                    Case (0x05)
762                    {
763                        Return (S6E5) /* \S6E5 */
764                    }
765                    Case (0x06)
766                    {
767                        Return (S6E6) /* \S6E6 */
768                    }
769                    Case (0x07)
770                    {
771                        Return (S6E7) /* \S6E7 */
772                    }
773                    Case (0x08)
774                    {
775                        Return (S6E8) /* \S6E8 */
776                    }
777                    Case (0x09)
778                    {
779                        Return (S6E9) /* \S6E9 */
780                    }
781
782                }
783            }
784            Case (0x03)
785            {
786                Switch (ToInteger (Arg1))
787                {
788                    Case (0x00)
789                    {
790                        Return (B6E0) /* \B6E0 */
791                    }
792                    Case (0x01)
793                    {
794                        Return (B6E1) /* \B6E1 */
795                    }
796                    Case (0x02)
797                    {
798                        Return (B6E2) /* \B6E2 */
799                    }
800                    Case (0x03)
801                    {
802                        Return (B6E3) /* \B6E3 */
803                    }
804                    Case (0x04)
805                    {
806                        Return (B6E4) /* \B6E4 */
807                    }
808                    Case (0x05)
809                    {
810                        Return (B6E5) /* \B6E5 */
811                    }
812                    Case (0x06)
813                    {
814                        Return (B6E6) /* \B6E6 */
815                    }
816                    Case (0x07)
817                    {
818                        Return (B6E7) /* \B6E7 */
819                    }
820                    Case (0x08)
821                    {
822                        Return (B6E8) /* \B6E8 */
823                    }
824                    Case (0x09)
825                    {
826                        Return (B6E9) /* \B6E9 */
827                    }
828
829                }
830            }
831            Case (0xFF)
832            {
833                Local0 = 0x00
834            }
835
836        }
837
838        Return (Local0)
839    }
840
841    /* Initialize the bytes of the buffer in the range of bits */
842    /* m683(<buffer>, <bit1>, <length>, <byte>) */
843    Method (M683, 4, NotSerialized)
844    {
845        /* First byte */
846
847        Local1 = (Arg1 / 0x08)
848        /*Last byte */
849
850        Local2 = (((Arg1 + Arg2) - 0x01) / 0x08)
851        Local0 = ((Local2 + 0x01) - Local1)
852        While (Local0)
853        {
854            Arg0 [Local1] = Arg3
855            Local1++
856            Local0--
857        }
858    }
859
860    /* Return the number of the type group */
861
862    Method (M684, 1, NotSerialized)
863    {
864        Return (DerefOf (B67A [Arg0]))
865    }
866
867    /* Return flag of exception on storing */
868    /* m685(<opcode>, <target type>, <result type>, */
869    /*      <flag of being Named Source>, <flag of being Named Target>) */
870    Method (M685, 5, NotSerialized)
871    {
872        If (Arg0)
873        {
874            /* CopyObject issue */
875
876            Return (DerefOf (DerefOf (P6A1 [M684 (Arg1)]) [M684 (Arg2)]))
877        }
878        Else
879        {
880            /* Store issue */
881
882            If ((Arg3 && (Arg2 == 0x08)))
883            {
884                /* Store Named of type Method causes invocation of the Method */
885                /* which returns a String in the test */
886                Arg2 = 0x02
887            }
888
889            If (DerefOf (B67F [Arg2]))
890            {
891                /* Data can be stored */
892
893                If ((Arg4 || DerefOf (B678 [Arg1])))
894                {
895                    /* Store to Named or to Fixed Type */
896                    /* Result Object Conversion issue */
897                    Return (DerefOf (DerefOf (P6A0 [M684 (Arg1)]) [M684 (Arg2)]))
898                }
899                Else
900                {
901                    Return (0x00)
902                }
903            }
904            Else
905            {
906                Return (0x01)
907            }
908        }
909    }
910
911    /* Return flag of type saving on storing */
912    /* m686(<opcode>, <target type>, <result type>) */
913    Method (M686, 3, NotSerialized)
914    {
915        If (Arg0)
916        {
917            If ((Arg0 == 0x02))
918            {
919                /* CopyObject to Named Object issue */
920
921                Return (DerefOf (DerefOf (P6A3 [M684 (Arg1)]) [M684 (Arg2)]))
922            }
923            Else
924            {
925                Return (0x00)
926            }
927        }
928        Else
929        {
930            /* Store to Named Object issue */
931
932            Return (DerefOf (DerefOf (P6A2 [M684 (Arg1)]) [M684 (Arg2)]))
933        }
934    }
935
936    /* Store the Object by the reference */
937    /* m687(<source>, <reference>) */
938    Method (M687, 2, NotSerialized)
939    {
940        Arg1 = Arg0
941    }
942
943    /* Gathers simple statistics of Store/CopyObject operators */
944    /* m688(<name>) */
945    Method (M688, 1, Serialized)
946    {
947        /* Objects are used as Source */
948        /* Integer */
949        Name (INT0, 0xFEDCBA9876543210)
950        /* String */
951
952        Name (STR0, "source string")
953        /* Buffer */
954
955        Name (BUF0, Buffer (0x09)
956        {
957            /* 0000 */  0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02,  // ........
958            /* 0008 */  0x01                                             // .
959        })
960        /* Base of Buffer Fields */
961
962        Name (BUFZ, Buffer (0x14){})
963        /* Package */
964
965        Name (PAC0, Package (0x03)
966        {
967            0xFEDCBA987654321F,
968            "test package",
969            Buffer (0x09)
970            {
971                /* 0000 */  0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, 0x0C,  // ........
972                /* 0008 */  0x0B                                             // .
973            }
974        })
975        If (Y361)
976        {
977            /* Field Unit */
978
979            Field (OPR0, ByteAcc, NoLock, Preserve)
980            {
981                FLU0,   69
982            }
983        }
984
985        /* Device */
986
987        Device (DEV0)
988        {
989            Name (S000, "DEV0")
990        }
991
992        /* Event */
993
994        Event (EVE0)
995        /* Method */
996
997        Name (MM00, "ff0X")  /* Value, returned from MMMX */
998        Method (MMM0, 0, NotSerialized)
999        {
1000            Return (MM00) /* \M688.MM00 */
1001        }
1002
1003        /* Mutex */
1004
1005        Mutex (MTX0, 0x00)
1006        If (Y361)
1007        {
1008            /* Operation Region */
1009
1010            OperationRegion (OPR0, SystemMemory, 0x00, 0x14)
1011        }
1012
1013        /* Power Resource */
1014
1015        PowerResource (PWR0, 0x00, 0x0000)
1016        {
1017            Name (S000, "PWR0")
1018        }
1019
1020        /* Processor */
1021
1022        Processor (CPU0, 0x00, 0xFFFFFFFF, 0x00)
1023        {
1024            Name (S000, "CPU0")
1025        }
1026
1027        /* Thermal Zone */
1028
1029        ThermalZone (TZN0)
1030        {
1031            Name (S000, "TZN0")
1032        }
1033
1034        /* Buffer Field */
1035
1036        CreateField (BUFZ, 0x00, 0x45, BFL0)
1037        /* Data to gather statistics */
1038
1039        Name (STCS, 0x00)
1040        Name (INDM, 0xFF)
1041        Name (PAC2, Package (0x01){})
1042        Name (IND2, 0x00)
1043        Name (PAC3, Package (0x01){})
1044        Name (IND3, 0x00)
1045        /* Update statistics */
1046        /* m000(<type>, <shift>, <low>, <up>) */
1047        Method (M000, 4, NotSerialized)
1048        {
1049            If ((Arg0 == 0x02))
1050            {
1051                If ((IND2 < INDM))
1052                {
1053                    Store (((Arg3 * Arg1) + Arg2), PAC2 [IND2])
1054                    IND2++
1055                }
1056            }
1057            ElseIf ((Arg0 == 0x03))
1058            {
1059                If ((IND3 < INDM))
1060                {
1061                    Store (((Arg3 * Arg1) + Arg2), PAC3 [IND3])
1062                    IND3++
1063                }
1064            }
1065        }
1066
1067        /* Initialize statistics */
1068
1069        Method (M001, 0, NotSerialized)
1070        {
1071            If (STCS)
1072            {
1073                PAC2 = Package (0xFF){}
1074                IND2 = 0x00
1075                PAC3 = Package (0xFF){}
1076                IND3 = 0x00
1077            }
1078        }
1079
1080        /* Output statistics */
1081
1082        Method (M002, 1, Serialized)
1083        {
1084            Name (LPN0, 0x00)
1085            Name (LPC0, 0x00)
1086            If (STCS)
1087            {
1088                Debug = Arg0
1089                If (IND2)
1090                {
1091                    Debug = "Run-time exceptions:"
1092                    Debug = IND2 /* \M688.IND2 */
1093                    Debug = "Types:"
1094                    LPN0 = IND2 /* \M688.IND2 */
1095                    LPC0 = 0x00
1096                    While (LPN0)
1097                    {
1098                        Debug = DerefOf (PAC2 [LPC0])
1099                        LPN0--
1100                        LPC0++
1101                    }
1102                }
1103
1104                If (IND3)
1105                {
1106                    Debug = "Type mismatch:"
1107                    Debug = IND3 /* \M688.IND3 */
1108                    LPN0 = IND3 /* \M688.IND3 */
1109                    LPC0 = 0x00
1110                    While (LPN0)
1111                    {
1112                        Debug = DerefOf (PAC3 [LPC0])
1113                        LPN0--
1114                        LPC0++
1115                    }
1116                }
1117            }
1118        }
1119
1120        /* Check exceptions */
1121
1122        Method (M003, 1, NotSerialized)
1123        {
1124            If (CH03 (Arg0, Z122, __LINE__, 0x00, 0x00))
1125            {
1126                If (STCS)
1127                {
1128                    If ((IND2 < INDM))
1129                    {
1130                        PAC2 [IND2] = Arg0
1131                        IND2++
1132                    }
1133                }
1134            }
1135        }
1136
1137        /* Check equality */
1138
1139        Method (M004, 3, NotSerialized)
1140        {
1141            If ((Arg0 != Arg1))
1142            {
1143                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Arg0, Arg1)
1144                If (STCS)
1145                {
1146                    M000 (0x03, 0x0100, Arg2, Arg1)
1147                }
1148            }
1149        }
1150
1151        /* Gathers statistics of Store to Local */
1152
1153        Method (M010, 2, NotSerialized)
1154        {
1155            /* Initialize statistics */
1156
1157            M001 ()
1158            If (Arg1)
1159            {
1160                Local1 = 0x00
1161            }
1162
1163            Local0 = Local1
1164            M003 (ObjectType (Local1))
1165            Local0 = INT0 /* \M688.INT0 */
1166            M003 (ObjectType (INT0))
1167            Local0 = STR0 /* \M688.STR0 */
1168            M003 (ObjectType (STR0))
1169            Local0 = BUF0 /* \M688.BUF0 */
1170            M003 (ObjectType (BUF0))
1171            Local0 = PAC0 /* \M688.PAC0 */
1172            M003 (ObjectType (PAC0))
1173            Local0 = FLU0 /* \M688.FLU0 */
1174            M003 (ObjectType (FLU0))
1175            /*
1176             // Removed 09/2015: iASL now disallows stores to these objects
1177             Store(DEV0, Local0)
1178             m003(ObjectType(DEV0))
1179             Store(EVE0, Local0)
1180             m003(ObjectType(EVE0))
1181             Store(MTX0, Local0)
1182             m003(ObjectType(MTX0))
1183             Store(OPR0, Local0)
1184             m003(ObjectType(OPR0))
1185             Store(PWR0, Local0)
1186             m003(ObjectType(PWR0))
1187             Store(CPU0, Local0)
1188             m003(ObjectType(CPU0))
1189             Store(TZN0, Local0)
1190             m003(ObjectType(TZN0))
1191             */
1192            Local0 = BFL0 /* \M688.BFL0 */
1193            M003 (ObjectType (BFL0))
1194            /* Output statistics */
1195
1196            M002 ("Store to LocalX")
1197        }
1198
1199        /* Gathers statistics of CopyObject to Local */
1200
1201        Method (M011, 2, NotSerialized)
1202        {
1203            /* Initialize statistics */
1204
1205            M001 ()
1206            If (Arg1)
1207            {
1208                Local1 = 0x00
1209            }
1210
1211            CopyObject (Local1, Local0)
1212            M003 (ObjectType (Local1))
1213            CopyObject (INT0, Local0)
1214            M003 (ObjectType (INT0))
1215            CopyObject (STR0, Local0)
1216            M003 (ObjectType (STR0))
1217            CopyObject (BUF0, Local0)
1218            M003 (ObjectType (BUF0))
1219            CopyObject (PAC0, Local0)
1220            M003 (ObjectType (PAC0))
1221            CopyObject (FLU0, Local0)
1222            M003 (ObjectType (FLU0))
1223            CopyObject (DEV0, Local0)
1224            M003 (ObjectType (DEV0))
1225            CopyObject (EVE0, Local0)
1226            M003 (ObjectType (EVE0))
1227            CopyObject (MMM0 (), Local0)
1228            M003 (ObjectType (MMM0))
1229            CopyObject (MTX0, Local0)
1230            M003 (ObjectType (MTX0))
1231            CopyObject (OPR0, Local0)
1232            M003 (ObjectType (OPR0))
1233            CopyObject (PWR0, Local0)
1234            M003 (ObjectType (PWR0))
1235            CopyObject (CPU0, Local0)
1236            M003 (ObjectType (CPU0))
1237            CopyObject (TZN0, Local0)
1238            M003 (ObjectType (TZN0))
1239            CopyObject (BFL0, Local0)
1240            M003 (ObjectType (BFL0))
1241            /* Output statistics */
1242
1243            M002 ("CopyObject to LocalX")
1244        }
1245
1246        /* Gathers statistics of CopyObject to Integer */
1247
1248        Method (M012, 2, Serialized)
1249        {
1250            /* Integer */
1251
1252            Name (INT1, 0xFEDCBA9876543211)
1253            Name (INT2, 0xFEDCBA9876543212)
1254            Name (INT3, 0xFEDCBA9876543213)
1255            Name (INT4, 0xFEDCBA9876543214)
1256            Name (INT5, 0xFEDCBA9876543215)
1257            Name (INT6, 0xFEDCBA9876543216)
1258            Name (INT7, 0xFEDCBA9876543217)
1259            Name (INT8, 0xFEDCBA9876543218)
1260            Name (INT9, 0xFEDCBA9876543219)
1261            Name (INTA, 0xFEDCBA987654321A)
1262            Name (INTB, 0xFEDCBA987654321B)
1263            Name (INTC, 0xFEDCBA987654321C)
1264            Name (INTD, 0xFEDCBA987654321D)
1265            Name (INTE, 0xFEDCBA987654321E)
1266            Name (INTF, 0xFEDCBA987654321F)
1267            /* Initialize statistics */
1268
1269            M001 ()
1270            If (Arg1)
1271            {
1272                Local1 = 0x00
1273            }
1274
1275            CopyObject (Local1, INTF) /* \M688.M012.INTF */
1276            M003 (ObjectType (Local1))
1277            M004 (Arg0, ObjectType (INTF), 0x00)
1278            CopyObject (INT0, INT1) /* \M688.M012.INT1 */
1279            M003 (ObjectType (INT0))
1280            M004 (Arg0, ObjectType (INT1), 0x01)
1281            CopyObject (STR0, INT2) /* \M688.M012.INT2 */
1282            M003 (ObjectType (STR0))
1283            M004 (Arg0, ObjectType (INT2), 0x02)
1284            CopyObject (BUF0, INT3) /* \M688.M012.INT3 */
1285            M003 (ObjectType (BUF0))
1286            M004 (Arg0, ObjectType (INT3), 0x03)
1287            CopyObject (PAC0, INT4) /* \M688.M012.INT4 */
1288            M003 (ObjectType (PAC0))
1289            M004 (Arg0, ObjectType (INT4), 0x04)
1290            CopyObject (FLU0, INT5) /* \M688.M012.INT5 */
1291            M003 (ObjectType (FLU0))
1292            M004 (Arg0, ObjectType (INT5), 0x05)
1293            CopyObject (DEV0, INT6) /* \M688.M012.INT6 */
1294            M003 (ObjectType (DEV0))
1295            M004 (Arg0, ObjectType (INT6), 0x06)
1296            CopyObject (EVE0, INT7) /* \M688.M012.INT7 */
1297            M003 (ObjectType (EVE0))
1298            M004 (Arg0, ObjectType (INT7), 0x07)
1299            CopyObject (MMM0 (), INT8) /* \M688.M012.INT8 */
1300            M003 (ObjectType (MMM0))
1301            M004 (Arg0, ObjectType (INT8), 0x08)
1302            CopyObject (MTX0, INT9) /* \M688.M012.INT9 */
1303            M003 (ObjectType (MTX0))
1304            M004 (Arg0, ObjectType (INT9), 0x09)
1305            CopyObject (OPR0, INTA) /* \M688.M012.INTA */
1306            M003 (ObjectType (OPR0))
1307            M004 (Arg0, ObjectType (INTA), 0x0A)
1308            CopyObject (PWR0, INTB) /* \M688.M012.INTB */
1309            M003 (ObjectType (PWR0))
1310            M004 (Arg0, ObjectType (INTB), 0x0B)
1311            CopyObject (CPU0, INTC) /* \M688.M012.INTC */
1312            M003 (ObjectType (CPU0))
1313            M004 (Arg0, ObjectType (INTC), 0x0C)
1314            CopyObject (TZN0, INTD) /* \M688.M012.INTD */
1315            M003 (ObjectType (TZN0))
1316            M004 (Arg0, ObjectType (INTD), 0x0D)
1317            CopyObject (BFL0, INTE) /* \M688.M012.INTE */
1318            M003 (ObjectType (BFL0))
1319            M004 (Arg0, ObjectType (INTE), 0x0E)
1320            /* Output statistics */
1321
1322            M002 ("CopyObject to Integer Named Object")
1323        }
1324
1325        M010 (Concatenate (Arg0, "-m010"), 0x00)
1326        M011 (Concatenate (Arg0, "-m011"), 0x00)
1327        M012 (Concatenate (Arg0, "-m012"), 0x00)
1328    }
1329
1330    /* Verify storing of an immediate Source Object into different kinds */
1331    /* of Target Objects by means of the specified operator (Store/CopyObject) */
1332    /* m689(<name>, <store op>, <exc. conditions>) */
1333    Method (M689, 3, Serialized)
1334    {
1335        /* Object-initializers are used either with Source or Target */
1336        /* (names ended by 0 and 1 respectively) */
1337        /* Integer */
1338        Name (INT0, 0xFEDCBA9876543210)
1339        Name (INT1, 0xFEDCBA9876543211)
1340        /* String */
1341
1342        Name (STR0, "source string")
1343        Name (STR1, "target string")
1344        /* Buffer */
1345
1346        Name (BUF0, Buffer (0x09)
1347        {
1348            /* 0000 */  0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02,  // ........
1349            /* 0008 */  0x01                                             // .
1350        })
1351        Name (BUF1, Buffer (0x11)
1352        {
1353             0xC3                                             // .
1354        })
1355        /* Initializer of Fields */
1356
1357        Name (BUF2, Buffer (0x09)
1358        {
1359            /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
1360            /* 0008 */  0x15                                             // .
1361        })
1362        /* Base of Buffer Fields */
1363
1364        Name (BUFZ, Buffer (0x30){})
1365        /* Package */
1366
1367        Name (PAC0, Package (0x03)
1368        {
1369            0xFEDCBA987654321F,
1370            "test package",
1371            Buffer (0x09)
1372            {
1373                /* 0000 */  0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, 0x0C,  // ........
1374                /* 0008 */  0x0B                                             // .
1375            }
1376        })
1377        Name (PAC1, Package (0x01)
1378        {
1379            "target package"
1380        })
1381        If (Y361)
1382        {
1383            /* Field Unit */
1384
1385            Field (OPR0, ByteAcc, NoLock, Preserve)
1386            {
1387                FLU0,   69,
1388                FLU2,   64,
1389                FLU4,   32
1390            }
1391        }
1392
1393        /* Device */
1394
1395        Device (DEV0)
1396        {
1397            Name (S000, "DEV0")
1398        }
1399
1400        Device (DEV1)
1401        {
1402            Name (S000, "DEV1")
1403        }
1404
1405        /* Event */
1406
1407        Event (EVE0)
1408        Event (EVE1)
1409        /* Method */
1410
1411        Name (MM00, "ff0X")  /* Value, returned from MMMX */
1412        Name (MM01, "ff1Y")  /* Value, returned from MMMY */
1413        Name (MMM0, 0x00)   /* Method as Source Object */
1414        Name (MMM1, 0x00)   /* Method as Target Object */
1415        Method (MMMX, 0, NotSerialized)
1416        {
1417            Return (MM00) /* \M689.MM00 */
1418        }
1419
1420        Method (MMMY, 0, NotSerialized)
1421        {
1422            Return (MM01) /* \M689.MM01 */
1423        }
1424
1425        /* Mutex */
1426
1427        Mutex (MTX0, 0x00)
1428        Mutex (MTX1, 0x00)
1429        If (Y361)
1430        {
1431            /* Operation Region */
1432
1433            OperationRegion (OPR0, SystemMemory, 0x00, 0x30)
1434            OperationRegion (OPR1, SystemMemory, 0x00, 0x18)
1435        }
1436
1437        /* Power Resource */
1438
1439        PowerResource (PWR0, 0x00, 0x0000)
1440        {
1441            Name (S000, "PWR0")
1442        }
1443
1444        PowerResource (PWR1, 0x00, 0x0000)
1445        {
1446            Name (S000, "PWR1")
1447        }
1448
1449        /* Processor */
1450
1451        Processor (CPU0, 0x00, 0xFFFFFFFF, 0x00)
1452        {
1453            Name (S000, "CPU0")
1454        }
1455
1456        Processor (CPU1, 0x00, 0xFFFFFFFF, 0x00)
1457        {
1458            Name (S000, "CPU1")
1459        }
1460
1461        /* Thermal Zone */
1462
1463        ThermalZone (TZN0)
1464        {
1465            Name (S000, "TZN0")
1466        }
1467
1468        ThermalZone (TZN1)
1469        {
1470            Name (S000, "TZN1")
1471        }
1472
1473        /* Buffer Field */
1474
1475        CreateField (BUFZ, 0x00, 0x45, BFL0)
1476        CreateField (BUFZ, 0x50, 0x40, BFL2)
1477        CreateField (BUFZ, 0xA0, 0x20, BFL4)
1478        /* Reference */
1479
1480        Name (ORF0, "ORF0")
1481        Name (REF0, Package (0x01){})
1482        Name (ORF1, "ORF0")
1483        Name (REF1, Package (0x01){})
1484        /* Data to gather statistics */
1485
1486        Name (STCS, 0x00)
1487        Name (INDM, 0xFF)
1488        Name (PAC2, Package (0x01){})
1489        Name (IND2, 0x00)
1490        Name (PAC3, Package (0x01){})
1491        Name (IND3, 0x00)
1492        Name (PAC4, Package (0x02)
1493        {
1494            "Store",
1495            "Copyobject"
1496        })
1497        Name (PAC5, Package (0x07)
1498        {
1499            "Storing Named-Named with ",
1500            "Storing Named-LocalX with ",
1501            "Storing LocalX-Named with ",
1502            "Storing LocalX-LocalX with ",
1503            "Storing Named-ArgX(Named on read-only argument rule) with ",
1504            "Storing Named-ArgX(Named by reference) with ",
1505            "Storing LocalX-Element of Package with "
1506        })
1507        Name (TERR, "-test error")
1508        /* Update statistics */
1509        /* m000(<type>, <shift>, <low>, <up>) */
1510        Method (M000, 4, NotSerialized)
1511        {
1512            If ((Arg0 == 0x02))
1513            {
1514                If ((IND2 < INDM))
1515                {
1516                    Store (((Arg3 * Arg1) + Arg2), PAC2 [IND2])
1517                    IND2++
1518                }
1519            }
1520            ElseIf ((Arg0 == 0x03))
1521            {
1522                If ((IND3 < INDM))
1523                {
1524                    Store (((Arg3 * Arg1) + Arg2), PAC3 [IND3])
1525                    IND3++
1526                }
1527            }
1528        }
1529
1530        /* Initialize statistics */
1531
1532        Method (M001, 0, NotSerialized)
1533        {
1534            If (STCS)
1535            {
1536                PAC2 = Package (INDM){}
1537                IND2 = 0x00
1538                PAC3 = Package (INDM){}
1539                IND3 = 0x00
1540            }
1541        }
1542
1543        /* Output statistics */
1544
1545        Method (M002, 1, Serialized)
1546        {
1547            Name (LPN0, 0x00)
1548            Name (LPC0, 0x00)
1549            If (STCS)
1550            {
1551                Debug = Arg0
1552                If (IND2)
1553                {
1554                    Debug = "Run-time exceptions:"
1555                    Debug = IND2 /* \M689.IND2 */
1556                    Debug = "Types:"
1557                    LPN0 = IND2 /* \M689.IND2 */
1558                    LPC0 = 0x00
1559                    While (LPN0)
1560                    {
1561                        Debug = DerefOf (PAC2 [LPC0])
1562                        LPN0--
1563                        LPC0++
1564                    }
1565                }
1566
1567                If (IND3)
1568                {
1569                    Debug = "Type mismatch:"
1570                    Debug = IND3 /* \M689.IND3 */
1571                    LPN0 = IND3 /* \M689.IND3 */
1572                    LPC0 = 0x00
1573                    While (LPN0)
1574                    {
1575                        Debug = DerefOf (PAC3 [LPC0])
1576                        LPN0--
1577                        LPC0++
1578                    }
1579                }
1580            }
1581        }
1582
1583        /* Prepare Target of specified type */
1584
1585        Method (M003, 4, Serialized)
1586        {
1587            Switch (ToInteger (Arg1))
1588            {
1589                Case (0x00)
1590                {
1591                                /* Only check */
1592                }
1593                Case (0x01)
1594                {
1595                    CopyObject (DerefOf (Arg3), INT1) /* \M689.INT1 */
1596                    CopyObject (INT1, Arg2)
1597                }
1598                Case (0x02)
1599                {
1600                    CopyObject (DerefOf (Arg3), STR1) /* \M689.STR1 */
1601                    CopyObject (STR1, Arg2)
1602                }
1603                Case (0x03)
1604                {
1605                    If (Y136)
1606                    {
1607                        CopyObject (DerefOf (Arg3), BUF1) /* \M689.BUF1 */
1608                    }
1609                    Else
1610                    {
1611                        M687 (DerefOf (Arg3), RefOf (BUF1))
1612                    }
1613
1614                    CopyObject (BUF1, Arg2)
1615                }
1616                Case (0x04)
1617                {
1618                    CopyObject (DerefOf (Arg3), PAC1) /* \M689.PAC1 */
1619                    CopyObject (PAC1, Arg2)
1620                }
1621                Case (0x05)
1622                {
1623                                /* Check only */
1624                }
1625                Case (0x06)
1626                {
1627                    CopyObject (DEV1, Arg2)
1628                }
1629                Case (0x07)
1630                {
1631                    CopyObject (EVE1, Arg2)
1632                }
1633                Case (0x08)
1634                {
1635                    CopyObject (DerefOf (DerefOf (Arg3) [0x00]), MMM1) /* \M689.MMM1 */
1636                    CopyObject (DerefOf (DerefOf (Arg3) [0x01]), MM01) /* \M689.MM01 */
1637                    CopyObject (DerefOf (RefOf (MMM1)), Arg2)
1638                }
1639                Case (0x09)
1640                {
1641                    CopyObject (MTX1, Arg2)
1642                }
1643                Case (0x0A)
1644                {
1645                    CopyObject (OPR1, Arg2)
1646                }
1647                Case (0x0B)
1648                {
1649                    CopyObject (PWR1, Arg2)
1650                }
1651                Case (0x0C)
1652                {
1653                    CopyObject (CPU1, Arg2)
1654                }
1655                Case (0x0D)
1656                {
1657                    CopyObject (TZN1, Arg2)
1658                }
1659                Case (0x0E)
1660                {
1661                                /* Check only */
1662                }
1663                Case (0x11)
1664                {
1665                    CopyObject (RefOf (ORF1), REF1) /* \M689.REF1 */
1666                    /*if (y522) { */
1667
1668                    CopyObject (REF1, Arg2)
1669                                /*} else { */
1670                /*	CopyObject(DeRefof(REF1), arg2) */
1671                /*} */
1672                }
1673                /* Unexpected Target Type */
1674
1675                Default
1676                {
1677                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
1678                    Return (0x01)
1679                }
1680
1681            }
1682
1683            If (CH03 (Arg0, Z122, __LINE__, 0x00, 0x00))
1684            {
1685                /*Exception during preparing of Target Object */
1686
1687                Return (0x01)
1688            }
1689
1690            If ((Arg1 == 0x11))
1691            {
1692                /* Reference */
1693
1694                Return (0x00)
1695            }
1696
1697            Local0 = ObjectType (Arg2)
1698            If ((Local0 != Arg1))
1699            {
1700                /* ObjectType of Target can not be set up */
1701
1702                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
1703                Return (0x01)
1704            }
1705
1706            Return (0x00)
1707        }
1708
1709        /* Prepare Source of specified type */
1710
1711        Method (M004, 4, Serialized)
1712        {
1713            Switch (ToInteger (Arg1))
1714            {
1715                Case (0x00)
1716                {
1717                }
1718                Case (0x01)
1719                {
1720                    CopyObject (DerefOf (Arg3), INT0) /* \M689.INT0 */
1721                    CopyObject (INT0, Arg2)
1722                }
1723                Case (0x02)
1724                {
1725                    CopyObject (DerefOf (Arg3), STR0) /* \M689.STR0 */
1726                    CopyObject (STR0, Arg2)
1727                }
1728                Case (0x03)
1729                {
1730                    If (Y136)
1731                    {
1732                        CopyObject (DerefOf (Arg3), BUF0) /* \M689.BUF0 */
1733                    }
1734                    Else
1735                    {
1736                        M687 (DerefOf (Arg3), RefOf (BUF0))
1737                    }
1738
1739                    CopyObject (BUF0, Arg2)
1740                }
1741                Case (0x04)
1742                {
1743                    CopyObject (DerefOf (Arg3), PAC0) /* \M689.PAC0 */
1744                    CopyObject (PAC0, Arg2)
1745                }
1746                Case (0x05)
1747                {
1748                    Local0 = DerefOf (DerefOf (Arg3) [0x00])
1749                    If ((Local0 == 0x00))
1750                    {
1751                        FLU0 = DerefOf (DerefOf (Arg3) [0x01])
1752                    }
1753                    ElseIf ((Local0 == 0x01))
1754                    {
1755                        FLU2 = DerefOf (DerefOf (Arg3) [0x01])
1756                    }
1757                    Else
1758                    {
1759                        FLU4 = DerefOf (DerefOf (Arg3) [0x01])
1760                    }
1761                }
1762                Case (0x06)
1763                {
1764                    CopyObject (DEV0, Arg2)
1765                }
1766                Case (0x07)
1767                {
1768                    CopyObject (EVE0, Arg2)
1769                }
1770                Case (0x08)
1771                {
1772                    CopyObject (DerefOf (DerefOf (Arg3) [0x00]), MMM0) /* \M689.MMM0 */
1773                    CopyObject (DerefOf (DerefOf (Arg3) [0x01]), MM00) /* \M689.MM00 */
1774                    CopyObject (DerefOf (RefOf (MMM0)), Arg2)
1775                }
1776                Case (0x09)
1777                {
1778                    CopyObject (MTX0, Arg2)
1779                }
1780                Case (0x0A)
1781                {
1782                    CopyObject (OPR0, Arg2)
1783                }
1784                Case (0x0B)
1785                {
1786                    CopyObject (PWR0, Arg2)
1787                }
1788                Case (0x0C)
1789                {
1790                    CopyObject (CPU0, Arg2)
1791                }
1792                Case (0x0D)
1793                {
1794                    CopyObject (TZN0, Arg2)
1795                }
1796                Case (0x0E)
1797                {
1798                    Local0 = DerefOf (DerefOf (Arg3) [0x00])
1799                    If ((Local0 == 0x00))
1800                    {
1801                        BFL0 = DerefOf (DerefOf (Arg3) [0x01])
1802                    }
1803                    ElseIf ((Local0 == 0x01))
1804                    {
1805                        BFL2 = DerefOf (DerefOf (Arg3) [0x01])
1806                    }
1807                    Else
1808                    {
1809                        BFL4 = DerefOf (DerefOf (Arg3) [0x01])
1810                    }
1811                }
1812                Case (0x11)
1813                {
1814                    CopyObject (RefOf (ORF0), REF0) /* \M689.REF0 */
1815                    /*if (y522) { */
1816
1817                    CopyObject (REF0, Arg2)
1818                                /*} else { */
1819                /*	CopyObject(DeRefof(REF0), arg2) */
1820                /*} */
1821                }
1822                /* Unexpected Source Type */
1823
1824                Default
1825                {
1826                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
1827                    Return (0x01)
1828                }
1829
1830            }
1831
1832            If (CH03 (Arg0, Z122, __LINE__, 0x00, 0x00))
1833            {
1834                /* Exception during preparing of Source Object */
1835
1836                Return (0x01)
1837            }
1838
1839            If ((Arg1 == 0x11))
1840            {
1841                /* Reference */
1842
1843                Return (0x00)
1844            }
1845
1846            Local0 = ObjectType (Arg2)
1847            If ((Local0 != Arg1))
1848            {
1849                /* ObjectType of Source can not be set up */
1850
1851                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
1852                Return (0x01)
1853            }
1854
1855            Return (0x00)
1856        }
1857
1858        /* Check Source Object type is not corrupted after storing, */
1859        /* for the computational data types verify its value against */
1860        /* the Object-initializer value */
1861        Method (M005, 4, Serialized)
1862        {
1863            Name (MMM2, 0x00) /* An auxiliary Object to invoke Method */
1864            If ((Arg1 == 0x11))
1865            {
1866                /* Source object is a reference */
1867                /* Check that it can be used as reference */
1868                Local0 = DerefOf (Arg2)
1869                Local3 = DerefOf (Local0)
1870                If (CH03 (Arg0, Z122, __LINE__, 0x00, Local0))
1871                {
1872                    /* Derefof caused unexpected exception */
1873
1874                    Return (0x01)
1875                }
1876
1877                Return (0x00)
1878            }
1879
1880            Local0 = ObjectType (Arg2)
1881            If ((Local0 != Arg1))
1882            {
1883                /* ObjectType of Source object is corrupted */
1884
1885                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
1886                Return (0x01)
1887            }
1888
1889            Switch (ToInteger (Arg1))
1890            {
1891                Case (0x00)
1892                {
1893                    Return (0x00)
1894                }
1895                Case (0x01)
1896                {
1897                    Local0 = ObjectType (INT0)
1898                }
1899                Case (0x02)
1900                {
1901                    Local0 = ObjectType (STR0)
1902                }
1903                Case (0x03)
1904                {
1905                    Local0 = ObjectType (BUF0)
1906                }
1907                Case (0x04)
1908                {
1909                    Local0 = ObjectType (PAC0)
1910                }
1911                Case (0x05)
1912                {
1913                    Local0 = DerefOf (DerefOf (Arg3) [0x00])
1914                    If ((Local0 == 0x00))
1915                    {
1916                        Local0 = ObjectType (FLU0)
1917                    }
1918                    ElseIf ((Local0 == 0x01))
1919                    {
1920                        Local0 = ObjectType (FLU2)
1921                    }
1922                    Else
1923                    {
1924                        Local0 = ObjectType (FLU4)
1925                    }
1926                }
1927                Case (0x06)
1928                {
1929                    Local0 = ObjectType (DEV0)
1930                }
1931                Case (0x07)
1932                {
1933                    Local0 = ObjectType (EVE0)
1934                }
1935                Case (0x08)
1936                {
1937                    Local0 = ObjectType (MMM0)
1938                }
1939                Case (0x09)
1940                {
1941                    Local0 = ObjectType (MTX0)
1942                }
1943                Case (0x0A)
1944                {
1945                    Local0 = ObjectType (OPR0)
1946                }
1947                Case (0x0B)
1948                {
1949                    Local0 = ObjectType (PWR0)
1950                }
1951                Case (0x0C)
1952                {
1953                    Local0 = ObjectType (CPU0)
1954                }
1955                Case (0x0D)
1956                {
1957                    Local0 = ObjectType (TZN0)
1958                }
1959                Case (0x0E)
1960                {
1961                    Local0 = DerefOf (DerefOf (Arg3) [0x00])
1962                    If ((Local0 == 0x00))
1963                    {
1964                        Local0 = ObjectType (BFL0)
1965                    }
1966                    ElseIf ((Local0 == 0x01))
1967                    {
1968                        Local0 = ObjectType (BFL2)
1969                    }
1970                    Else
1971                    {
1972                        Local0 = ObjectType (BFL4)
1973                    }
1974                }
1975                /* Unexpected Result Type */
1976
1977                Default
1978                {
1979                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
1980                    Return (0x01)
1981                }
1982
1983            }
1984
1985            If ((Local0 != Arg1))
1986            {
1987                /* Mismatch of Source Type against specified Result Type */
1988
1989                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
1990                If (STCS)
1991                {
1992                    M000 (0x03, 0x01000000, Local0, Arg1)
1993                }
1994
1995                Return (0x01)
1996            }
1997            Else
1998            {
1999                /* Check equality of the Source value to the Object-initializer one */
2000
2001                Switch (ToInteger (Arg1))
2002                {
2003                    Case (0x01)
2004                    {
2005                        If ((INT0 != DerefOf (Arg3)))
2006                        {
2007                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, INT0, DerefOf (Arg3))
2008                            Return (0x01)
2009                        }
2010
2011                        If ((DerefOf (Arg2) != INT0))
2012                        {
2013                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), INT0)
2014                            Return (0x01)
2015                        }
2016                    }
2017                    Case (0x02)
2018                    {
2019                        If ((STR0 != DerefOf (Arg3)))
2020                        {
2021                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, STR0, DerefOf (Arg3))
2022                            Return (0x01)
2023                        }
2024
2025                        If ((DerefOf (Arg2) != STR0))
2026                        {
2027                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), STR0)
2028                            Return (0x01)
2029                        }
2030                    }
2031                    Case (0x03)
2032                    {
2033                        If ((BUF0 != DerefOf (Arg3)))
2034                        {
2035                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BUF0, DerefOf (Arg3))
2036                            Return (0x01)
2037                        }
2038
2039                        If ((DerefOf (Arg2) != BUF0))
2040                        {
2041                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), BUF0)
2042                            Return (0x01)
2043                        }
2044                    }
2045                    Case (0x04)
2046                    {
2047                        Local0 = SizeOf (PAC0)
2048                        If ((SizeOf (Arg3) != Local0))
2049                        {
2050                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg3), Local0)
2051                            Return (0x01)
2052                        }
2053
2054                        While (Local0)
2055                        {
2056                            Local0--
2057                            Local1 = ObjectType (DerefOf (DerefOf (Arg3) [Local0]))
2058                            Local2 = ObjectType (DerefOf (PAC0 [Local0]))
2059                            If ((Local1 != Local2))
2060                            {
2061                                /* ObjectType is corrupted */
2062
2063                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
2064                                Return (0x01)
2065                            }
2066                            ElseIf (DerefOf (B679 [Local1]))
2067                            {
2068                                /* the computational data type */
2069
2070                                If ((DerefOf (DerefOf (Arg3) [Local0]) != DerefOf (PAC0 [
2071                                    Local0])))
2072                                {
2073                                    /* The value is corrupted */
2074
2075                                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg3) [Local0]),
2076                                        Local0)
2077                                    Return (0x01)
2078                                }
2079                            }
2080                        }
2081
2082                        Local0 = SizeOf (PAC0)
2083                        If ((SizeOf (Arg2) != Local0))
2084                        {
2085                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg2), Local0)
2086                            Return (0x01)
2087                        }
2088
2089                        While (Local0)
2090                        {
2091                            Local0--
2092                            Local1 = ObjectType (DerefOf (DerefOf (Arg2) [Local0]))
2093                            Local2 = ObjectType (DerefOf (PAC0 [Local0]))
2094                            If ((Local1 != Local2))
2095                            {
2096                                /* ObjectType is corrupted */
2097
2098                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
2099                                Return (0x01)
2100                            }
2101                            ElseIf (DerefOf (B679 [Local1]))
2102                            {
2103                                /* the computational data type */
2104
2105                                If ((DerefOf (DerefOf (Arg2) [Local0]) != DerefOf (PAC0 [
2106                                    Local0])))
2107                                {
2108                                    /* The value is corrupted */
2109
2110                                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg2) [Local0]),
2111                                        Local0)
2112                                    Return (0x01)
2113                                }
2114                            }
2115                        }
2116                    }
2117                    Case (0x05)
2118                    {
2119                        Local0 = DerefOf (DerefOf (Arg3) [0x00])
2120                        If ((Local0 == 0x00))
2121                        {
2122                            If ((FLU0 != DerefOf (DerefOf (Arg3) [0x01])))
2123                            {
2124                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, FLU0, DerefOf (DerefOf (Arg3) [0x01]
2125                                    ))
2126                                Return (0x01)
2127                            }
2128
2129                            If ((DerefOf (Arg2) != FLU0))
2130                            {
2131                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), FLU0)
2132                                Return (0x01)
2133                            }
2134                        }
2135                        ElseIf ((Local0 == 0x01))
2136                        {
2137                            If ((FLU2 != DerefOf (DerefOf (Arg3) [0x01])))
2138                            {
2139                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, FLU2, DerefOf (DerefOf (Arg3) [0x01]
2140                                    ))
2141                                Return (0x01)
2142                            }
2143
2144                            If ((DerefOf (Arg2) != FLU2))
2145                            {
2146                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), FLU2)
2147                                Return (0x01)
2148                            }
2149                        }
2150                        Else
2151                        {
2152                            If ((FLU4 != DerefOf (DerefOf (Arg3) [0x01])))
2153                            {
2154                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, FLU4, DerefOf (DerefOf (Arg3) [0x01]
2155                                    ))
2156                                Return (0x01)
2157                            }
2158
2159                            If ((DerefOf (Arg2) != FLU4))
2160                            {
2161                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), FLU4)
2162                                Return (0x01)
2163                            }
2164                        }
2165                    }
2166                    Case (0x08)
2167                    {
2168                        CopyObject (DerefOf (Arg2), MMM2) /* \M689.M005.MMM2 */
2169                        If ((MMM2 != MMM0))
2170                        {
2171                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, MMM2, MMM0)
2172                            Return (0x01)
2173                        }
2174                    }
2175                    Case (0x0E)
2176                    {
2177                        Local0 = DerefOf (DerefOf (Arg3) [0x00])
2178                        If ((Local0 == 0x00))
2179                        {
2180                            If ((BFL0 != DerefOf (DerefOf (Arg3) [0x01])))
2181                            {
2182                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BFL0, DerefOf (DerefOf (Arg3) [0x01]
2183                                    ))
2184                                Return (0x01)
2185                            }
2186
2187                            If ((DerefOf (Arg2) != BFL0))
2188                            {
2189                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), BFL0)
2190                                Return (0x01)
2191                            }
2192                        }
2193                        ElseIf ((Local0 == 0x01))
2194                        {
2195                            If ((BFL2 != DerefOf (DerefOf (Arg3) [0x01])))
2196                            {
2197                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BFL2, DerefOf (DerefOf (Arg3) [0x01]
2198                                    ))
2199                                Return (0x01)
2200                            }
2201
2202                            If ((DerefOf (Arg2) != BFL2))
2203                            {
2204                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), BFL2)
2205                                Return (0x01)
2206                            }
2207                        }
2208                        Else
2209                        {
2210                            If ((BFL4 != DerefOf (DerefOf (Arg3) [0x01])))
2211                            {
2212                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BFL4, DerefOf (DerefOf (Arg3) [0x01]
2213                                    ))
2214                                Return (0x01)
2215                            }
2216
2217                            If ((DerefOf (Arg2) != BFL4))
2218                            {
2219                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), BFL4)
2220                                Return (0x01)
2221                            }
2222                        }
2223                    }
2224
2225                }
2226            }
2227
2228            Return (0x00)
2229        }
2230
2231        /* Check Target Object to have the expected type and value */
2232        /* m006(<msg>, <ref to target>, <target type>, <result object type>, */
2233        /*      <op>, <target save type>, <test data package>) */
2234        Method (M006, 7, Serialized)
2235        {
2236            Name (MMM2, 0x00) /* An auxiliary Object to invoke Method */
2237            Local2 = ObjectType (Arg1)
2238            If ((Local2 != Arg2))
2239            {
2240                If (STCS)
2241                {
2242                    M000 (0x03, 0x00010000, Arg2, Local2)
2243                }
2244            }
2245
2246            If (M686 (Arg5, Arg2, Arg3))
2247            {
2248                /* Target must save type */
2249
2250                If ((Local2 != Arg2))
2251                {
2252                    /* Types mismatch Target/Target on storing */
2253
2254                    If ((Arg2 == C016))
2255                    {
2256                        If (X170){                        /*this sentence is for m00d and invalid, removed. */
2257                        /*err(arg0, z122, __LINE__, 0, 0, Local2, arg2) */
2258                        }
2259                    }
2260                    Else
2261                    {
2262                        ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local2, Arg2)
2263                    }
2264
2265                    If (STCS)
2266                    {
2267                        M000 (0x03, 0x0100, Arg2, Local2)
2268                    }
2269
2270                    Return (0x01)
2271                }
2272            }
2273            ElseIf            /* Target if it is not of fixed type */
2274            /* must accept type of the Result Object */
2275 ((Local2 != Arg3))
2276            {
2277                If ((M684 (Arg3) == 0x06))
2278                {
2279                    /* Result object is a reference */
2280                    /* Check that Target can be used as reference */
2281                    Local0 = DerefOf (Arg1)
2282                    Local3 = DerefOf (Local0)
2283                    If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg3))
2284                    {
2285                        /* Derefof caused unexpected exception */
2286
2287                        Return (0x01)
2288                    }
2289                }
2290                ElseIf ((M684 (Arg3) != 0x01))
2291                {
2292                    /* Types mismatch Result/Target on storing */
2293
2294                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local2, Arg3)
2295                    Return (0x01)
2296                }
2297                ElseIf ((Local2 != 0x03))
2298                {
2299                    /* Types mismatch Result/Target on storing */
2300                    /* Test fixed type Objects are converted to Buffer */
2301                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local2, 0x03)
2302                    Return (0x01)
2303                }
2304
2305                If (STCS)
2306                {
2307                    M000 (0x03, 0x0100, Arg3, Local2)
2308                }
2309            }
2310
2311            /* Retrieve the benchmark value */
2312
2313            If (M686 (Arg5, Arg2, Arg3))
2314            {
2315                /* Save type of Target */
2316
2317                If (DerefOf (B67C [Arg2]))
2318                {
2319                    /* Types that can be verified only by ObjectType */
2320
2321                    Return (0x00)
2322                }
2323
2324                /* Retrieve the benchmark value */
2325
2326                Local7 = DerefOf (DerefOf (Arg6 [0x05]) [Arg2])
2327            }
2328            Else
2329            {
2330                /* Accept type of Result */
2331
2332                If (DerefOf (B67C [Arg3]))
2333                {
2334                    /* Types that can be verified only by ObjectType */
2335
2336                    Return (0x00)
2337                }
2338
2339                Local7 = DerefOf (Arg6 [0x04])
2340            }
2341
2342            If ((Arg3 == 0x08))
2343            {
2344                /* Method */
2345
2346                CopyObject (DerefOf (Arg1), MMM2) /* \M689.M006.MMM2 */
2347                If ((MMM2 != Local7))
2348                {
2349                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, MMM2, Local7)
2350                    Return (0x01)
2351                }
2352            }
2353            ElseIf ((Arg3 != 0x04))
2354            {
2355                /* Not Package */
2356
2357                If ((DerefOf (Arg1) != Local7))
2358                {
2359                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg1), Local7)
2360                    Return (0x01)
2361                }
2362            }
2363            Else
2364            {
2365                /* Package */
2366
2367                Local0 = SizeOf (Local7)
2368                If ((SizeOf (Arg1) != Local0))
2369                {
2370                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg1), Local0)
2371                    Return (0x01)
2372                }
2373
2374                While (Local0)
2375                {
2376                    Local0--
2377                    Local1 = ObjectType (DerefOf (DerefOf (Arg1) [Local0]))
2378                    Local2 = ObjectType (DerefOf (Local7 [Local0]))
2379                    If ((Local1 != Local2))
2380                    {
2381                        /* ObjectType is corrupted */
2382
2383                        ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
2384                        Return (0x01)
2385                    }
2386                    ElseIf (DerefOf (B679 [Local1]))
2387                    {
2388                        /* the computational data type */
2389
2390                        If ((DerefOf (DerefOf (Arg1) [Local0]) != DerefOf (Local7 [
2391                            Local0])))
2392                        {
2393                            /* The value is corrupted */
2394
2395                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg1) [Local0]),
2396                                DerefOf (Local7 [Local0]))
2397                            Return (0x01)
2398                        }
2399                    }
2400                }
2401            }
2402
2403            Return (0x00)
2404        }
2405
2406        /* Update specified Object */
2407        /* m007(<msg>, <ref to target>) */
2408        Method (M007, 2, NotSerialized)
2409        {
2410            Local0 = ObjectType (Arg1)
2411            If (DerefOf (B66F [Local0]))
2412            {
2413                /* Can be used in Index Operator */
2414
2415                Local1 = SizeOf (Arg1)
2416                If (Local1)
2417                {
2418                    /* Update the last Member Object */
2419
2420                    Local1--
2421                    Local2 = DerefOf (Arg1) [Local1]
2422                    Local3 = RefOf (Local2)
2423                    Local4 = DerefOf (Local2)
2424                    If ((ObjectType (Local4) == 0x01))
2425                    {
2426                        /* Integer */
2427
2428                        Store (~Local4, DerefOf (Local3))
2429                    }
2430                    Else
2431                    {
2432                        DerefOf (Local3) = Ones
2433                        If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1))
2434                        {
2435                            /* Store caused unexpected exception */
2436
2437                            Return (0x01)
2438                        }
2439                    }
2440
2441                    If (Local1)
2442                    {
2443                        /* Update the First Member Object */
2444
2445                        Local2 = DerefOf (Arg1) [0x00]
2446                        Local4 = DerefOf (Local2)
2447                        If ((ObjectType (Local4) == 0x01))
2448                        {
2449                            /* Integer */
2450
2451                            Store (~Local4, DerefOf (Local3))
2452                        }
2453                        Else
2454                        {
2455                            DerefOf (Local3) = Ones
2456                            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1))
2457                            {
2458                                /* Store caused unexpected exception */
2459
2460                                Return (0x01)
2461                            }
2462                        }
2463                    }
2464                }
2465                ElseIf ((Local0 == 0x04))
2466                {
2467                    /* Empty Package */
2468
2469                    Arg1 = Package (0x01)
2470                        {
2471                            "update string"
2472                        }
2473                }
2474                Else
2475                {
2476                    /* Empty String/Buffer */
2477
2478                    Arg1 = "update string"
2479                }
2480            }
2481            ElseIf (DerefOf (B674 [Local0]))
2482            {
2483                /* Non-Computational Data Objects */
2484
2485                CopyObject ("update string", Arg1)
2486            }
2487            Else
2488            {
2489                Store (~ToInteger (DerefOf (Arg1)), Arg1)
2490            }
2491
2492            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1))
2493            {
2494                /* Update caused unexpected exception */
2495
2496                Return (0x01)
2497            }
2498
2499            Return (0x00)
2500        }
2501
2502        /* Check processing of an Source Named Object of the specified type */
2503        /* on immediate storing to a Target Named Object of the specified type */
2504        /* m008(<msg>, <aux>, <target type>, <source type>, */
2505        /*      <op>, <exc. condition>, <test data package>) */
2506        Method (M008, 7, Serialized)
2507        {
2508            /* Source Named Object */
2509
2510            Name (SRC0, 0x00)
2511            /* Target Named Object */
2512
2513            Name (DST0, 0x00)
2514            Name (SCL0, Buffer (0x12)
2515            {
2516                /* 0000 */  0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
2517                /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2518                /* 0010 */  0x00, 0x00                                       // ..
2519            })
2520            Name (SCL1, Buffer (0x12)
2521            {
2522                /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,  // ........
2523                /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
2524                /* 0010 */  0x00, 0x00                                       // ..
2525            })
2526            Concatenate (Arg0, "-", Arg0)
2527            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
2528                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
2529            If (STCS)
2530            {
2531                Debug = Arg0
2532            }
2533
2534            /* Choose expected Result Object type */
2535            /*		if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) { */
2536            If ((Arg3 == 0x08))
2537            {
2538                /* Method expected to be invoked and result in String */
2539
2540                Local5 = 0x02
2541            }
2542            Else
2543            {
2544                Local5 = Arg3
2545            }
2546
2547            /* Prepare Source of specified type */
2548
2549            Store (Arg6 [0x02], Local7)
2550            If ((Arg3 == 0x05))
2551            {
2552                /* Field Unit Source */
2553
2554                Local0 = DerefOf (DerefOf (Local7) [0x00])
2555                If ((Local0 == 0x00))
2556                {
2557                    Local6 = RefOf (FLU0)
2558                    Local5 = 0x03
2559                }
2560                ElseIf ((Local0 == 0x01))
2561                {
2562                    Local6 = RefOf (FLU2)
2563                    If (F64)
2564                    {
2565                        Local5 = 0x01
2566                    }
2567                    Else
2568                    {
2569                        Local5 = 0x03
2570                    }
2571                }
2572                Else
2573                {
2574                    Local6 = RefOf (FLU4)
2575                    Local5 = 0x01
2576                }
2577            }
2578            ElseIf ((Arg3 == 0x0E))
2579            {
2580                /* Buffer Field Source */
2581
2582                Local0 = DerefOf (DerefOf (Local7) [0x00])
2583                If ((Local0 == 0x00))
2584                {
2585                    Local6 = RefOf (BFL0)
2586                }
2587                ElseIf ((Local0 == 0x01))
2588                {
2589                    Local6 = RefOf (BFL2)
2590                }
2591                Else
2592                {
2593                    Local6 = RefOf (BFL4)
2594                }
2595                Local5 = 0x03
2596            }
2597            Else
2598            {
2599                Local6 = RefOf (SRC0)
2600            }
2601
2602            If (M004 (Concatenate (Arg0, "-m004"), Arg3, Local6, Local7))
2603            {
2604                /* Source Object can not be prepared */
2605
2606                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
2607                Return (0x01)
2608            }
2609
2610            /* Prepare Target of specified type */
2611
2612            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
2613            If ((Arg2 == 0x05))
2614            {
2615                /* Field Unit Target */
2616
2617                Field (OPR0, ByteAcc, NoLock, Preserve)
2618                {
2619                    FLUX,   192,
2620                    FLU1,   69
2621                }
2622
2623                Local1 = RefOf (FLU1)
2624            }
2625            ElseIf ((Arg2 == 0x0E))
2626            {
2627                /* Buffer Field Target */
2628
2629                CreateField (BUFZ, 0xC0, 0x45, BFL1)
2630                Local1 = RefOf (BFL1)
2631            }
2632            Else
2633            {
2634                Local1 = RefOf (DST0)
2635            }
2636
2637            If (M003 (Concatenate (Arg0, "-m003"), Arg2, Local1, Local7))
2638            {
2639                /* Target Object can not be prepared */
2640
2641                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
2642                Return (0x01)
2643            }
2644
2645            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
2646            {
2647                /* Unexpected exception during preparation */
2648
2649                Return (0x01)
2650            }
2651
2652            /* Use a Source Object to immediately store into the Target */
2653
2654            Store (Arg6 [0x02], Local7)
2655            If ((Arg2 == 0x05))
2656            {
2657                /* Field Unit Target */
2658
2659                If ((Arg4 == 0x00))
2660                {
2661                    /* Store */
2662
2663                    If ((Arg3 == 0x05))
2664                    {
2665                        /* Field Unit Source */
2666
2667                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2668                        If ((Local0 == 0x00))
2669                        {
2670                            FLU1 = FLU0 /* \M689.FLU0 */
2671                        }
2672                        ElseIf ((Local0 == 0x01))
2673                        {
2674                            FLU1 = FLU2 /* \M689.FLU2 */
2675                        }
2676                        Else
2677                        {
2678                            FLU1 = FLU4 /* \M689.FLU4 */
2679                        }
2680                    }
2681                    ElseIf ((Arg3 == 0x0E))
2682                    {
2683                        /* Buffer Field Source */
2684
2685                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2686                        If ((Local0 == 0x00))
2687                        {
2688                            FLU1 = BFL0 /* \M689.BFL0 */
2689                        }
2690                        ElseIf ((Local0 == 0x01))
2691                        {
2692                            FLU1 = BFL2 /* \M689.BFL2 */
2693                        }
2694                        Else
2695                        {
2696                            FLU1 = BFL4 /* \M689.BFL4 */
2697                        }
2698                    }
2699                    Else
2700                    {
2701                        FLU1 = SRC0 /* \M689.M008.SRC0 */
2702                    }
2703                }
2704                ElseIf ((Arg4 == 0x01))
2705                {
2706                    /* CopyObject */
2707
2708                    If ((Arg3 == 0x05))
2709                    {
2710                        /* Field Unit Source */
2711
2712                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2713                        If ((Local0 == 0x00))
2714                        {
2715                            CopyObject (FLU0, FLU1) /* \M689.M008.FLU1 */
2716                        }
2717                        ElseIf ((Local0 == 0x01))
2718                        {
2719                            CopyObject (FLU2, FLU1) /* \M689.M008.FLU1 */
2720                        }
2721                        Else
2722                        {
2723                            CopyObject (FLU4, FLU1) /* \M689.M008.FLU1 */
2724                        }
2725                    }
2726                    ElseIf ((Arg3 == 0x0E))
2727                    {
2728                        /* Buffer Field Source */
2729
2730                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2731                        If ((Local0 == 0x00))
2732                        {
2733                            CopyObject (BFL0, FLU1) /* \M689.M008.FLU1 */
2734                        }
2735                        ElseIf ((Local0 == 0x01))
2736                        {
2737                            CopyObject (BFL2, FLU1) /* \M689.M008.FLU1 */
2738                        }
2739                        Else
2740                        {
2741                            CopyObject (BFL4, FLU1) /* \M689.M008.FLU1 */
2742                        }
2743                    }
2744                    Else
2745                    {
2746                        CopyObject (SRC0, FLU1) /* \M689.M008.FLU1 */
2747                    }
2748                }
2749                Else
2750                {
2751                    /* Unexpected Kind of Op (0 - Store, ...) */
2752
2753                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
2754                    Return (0x01)
2755                }
2756            }
2757            ElseIf ((Arg2 == 0x0E))
2758            {
2759                /* Buffer Field Target */
2760
2761                If ((Arg4 == 0x00))
2762                {
2763                    /* Store */
2764
2765                    If ((Arg3 == 0x05))
2766                    {
2767                        /* Field Unit Source */
2768
2769                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2770                        If ((Local0 == 0x00))
2771                        {
2772                            BFL1 = FLU0 /* \M689.FLU0 */
2773                        }
2774                        ElseIf ((Local0 == 0x01))
2775                        {
2776                            BFL1 = FLU2 /* \M689.FLU2 */
2777                        }
2778                        Else
2779                        {
2780                            BFL1 = FLU4 /* \M689.FLU4 */
2781                        }
2782                    }
2783                    ElseIf ((Arg3 == 0x0E))
2784                    {
2785                        /* Buffer Field Source */
2786
2787                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2788                        If ((Local0 == 0x00))
2789                        {
2790                            BFL1 = BFL0 /* \M689.BFL0 */
2791                        }
2792                        ElseIf ((Local0 == 0x01))
2793                        {
2794                            BFL1 = BFL2 /* \M689.BFL2 */
2795                        }
2796                        Else
2797                        {
2798                            BFL1 = BFL4 /* \M689.BFL4 */
2799                        }
2800                    }
2801                    Else
2802                    {
2803                        BFL1 = SRC0 /* \M689.M008.SRC0 */
2804                    }
2805                }
2806                ElseIf ((Arg4 == 0x01))
2807                {
2808                    /* CopyObject */
2809
2810                    If ((Arg3 == 0x05))
2811                    {
2812                        /* Field Unit Source */
2813
2814                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2815                        If ((Local0 == 0x00))
2816                        {
2817                            CopyObject (FLU0, BFL1) /* \M689.M008.BFL1 */
2818                        }
2819                        ElseIf ((Local0 == 0x01))
2820                        {
2821                            CopyObject (FLU2, BFL1) /* \M689.M008.BFL1 */
2822                        }
2823                        Else
2824                        {
2825                            CopyObject (FLU4, BFL1) /* \M689.M008.BFL1 */
2826                        }
2827                    }
2828                    ElseIf ((Arg3 == 0x0E))
2829                    {
2830                        /* Buffer Field Source */
2831
2832                        Local0 = DerefOf (DerefOf (Local7) [0x00])
2833                        If ((Local0 == 0x00))
2834                        {
2835                            CopyObject (BFL0, BFL1) /* \M689.M008.BFL1 */
2836                        }
2837                        ElseIf ((Local0 == 0x01))
2838                        {
2839                            CopyObject (BFL2, BFL1) /* \M689.M008.BFL1 */
2840                        }
2841                        Else
2842                        {
2843                            CopyObject (BFL4, BFL1) /* \M689.M008.BFL1 */
2844                        }
2845                    }
2846                    Else
2847                    {
2848                        CopyObject (SRC0, BFL1) /* \M689.M008.BFL1 */
2849                    }
2850                }
2851                Else
2852                {
2853                    /* Unexpected Kind of Op (0 - Store, ...) */
2854
2855                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
2856                    Return (0x01)
2857                }
2858            }
2859            ElseIf ((Arg4 == 0x00))
2860            {
2861                /* Store */
2862
2863                If ((Arg3 == 0x05))
2864                {
2865                    /* Field Unit Source */
2866
2867                    Local0 = DerefOf (DerefOf (Local7) [0x00])
2868                    If ((Local0 == 0x00))
2869                    {
2870                        DST0 = FLU0 /* \M689.FLU0 */
2871                    }
2872                    ElseIf ((Local0 == 0x01))
2873                    {
2874                        DST0 = FLU2 /* \M689.FLU2 */
2875                    }
2876                    Else
2877                    {
2878                        DST0 = FLU4 /* \M689.FLU4 */
2879                    }
2880                }
2881                ElseIf ((Arg3 == 0x0E))
2882                {
2883                    /* Buffer Field Source */
2884
2885                    Local0 = DerefOf (DerefOf (Local7) [0x00])
2886                    If ((Local0 == 0x00))
2887                    {
2888                        DST0 = BFL0 /* \M689.BFL0 */
2889                    }
2890                    ElseIf ((Local0 == 0x01))
2891                    {
2892                        DST0 = BFL2 /* \M689.BFL2 */
2893                    }
2894                    Else
2895                    {
2896                        DST0 = BFL4 /* \M689.BFL4 */
2897                    }
2898                }
2899                Else
2900                {
2901                    DST0 = SRC0 /* \M689.M008.SRC0 */
2902                }
2903            }
2904            ElseIf ((Arg4 == 0x01))
2905            {
2906                /* CopyObject */
2907
2908                If ((Arg3 == 0x05))
2909                {
2910                    /* Field Unit Source */
2911
2912                    Local0 = DerefOf (DerefOf (Local7) [0x00])
2913                    If ((Local0 == 0x00))
2914                    {
2915                        CopyObject (FLU0, DST0) /* \M689.M008.DST0 */
2916                    }
2917                    ElseIf ((Local0 == 0x01))
2918                    {
2919                        CopyObject (FLU2, DST0) /* \M689.M008.DST0 */
2920                    }
2921                    Else
2922                    {
2923                        CopyObject (FLU4, DST0) /* \M689.M008.DST0 */
2924                    }
2925                }
2926                ElseIf ((Arg3 == 0x0E))
2927                {
2928                    /* Buffer Field Source */
2929
2930                    Local0 = DerefOf (DerefOf (Local7) [0x00])
2931                    If ((Local0 == 0x00))
2932                    {
2933                        CopyObject (BFL0, DST0) /* \M689.M008.DST0 */
2934                    }
2935                    ElseIf ((Local0 == 0x01))
2936                    {
2937                        CopyObject (BFL2, DST0) /* \M689.M008.DST0 */
2938                    }
2939                    Else
2940                    {
2941                        CopyObject (BFL4, DST0) /* \M689.M008.DST0 */
2942                    }
2943                }
2944                Else
2945                {
2946                    CopyObject (SRC0, DST0) /* \M689.M008.DST0 */
2947                }
2948            }
2949            Else
2950            {
2951                /* Unexpected Kind of Op (0 - Store, ...) */
2952
2953                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
2954                Return (0x01)
2955            }
2956
2957            If (Arg5)
2958            {
2959                /* Exception is expected */
2960
2961                If (((Arg4 == 0x01) && (Arg2 == C016)))
2962                {
2963                    If (X170)
2964                    {
2965                        If (!CH06 (Arg0, 0x39, 0xFF))
2966                        {
2967                            If (STCS)
2968                            {
2969                                M000 (0x02, 0x0100, Arg2, Arg3)
2970                            }
2971                        }
2972                    }
2973                    Else
2974                    {
2975                        CH03 (Arg0, Z122, __LINE__, 0x00, Arg2)
2976                    }
2977                }
2978                ElseIf (!CH06 (Arg0, 0x39, 0xFF))
2979                {
2980                    If (STCS)
2981                    {
2982                        M000 (0x02, 0x0100, Arg2, Arg3)
2983                    }
2984                }
2985
2986                /* No further test if exception is expected */
2987
2988                Return (0x00)
2989            }
2990            ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
2991            {
2992                /* Storing caused unexpected exception */
2993
2994                If (STCS)
2995                {
2996                    M000 (0x02, 0x0100, Arg2, Arg3)
2997                }
2998            }
2999            Else
3000            {
3001                /* Check Target Object to have the expected type and value */
3002                /* Target accept type on storing to Named by Store operator is 0 */
3003                If (Arg4)
3004                {
3005                    Local0 = 0x02
3006                }
3007                Else
3008                {
3009                    Local0 = 0x00
3010                }
3011
3012                M006 (Concatenate (Arg0, "-m006"), Local1, Arg2, Local5, Arg4, Local0, Arg6)
3013            }
3014
3015            /* Check Source Object value and type is not corrupted after storing */
3016
3017            Store (Arg6 [0x02], Local7)
3018            If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3019            {
3020                If (STCS)
3021                {
3022                    Debug = "m008, Source Object has been corrupted during storing"
3023                }
3024
3025                Return (0x01)
3026            }
3027
3028            /* Check auxiliary Target Object to have the initial type and value */
3029
3030            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3031            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3032            {
3033                If (STCS)
3034                {
3035                    Debug = "m008, auxiliary Target Object has been corrupted during storing"
3036                }
3037
3038                Return (0x01)
3039            }
3040
3041            /* Update Target Object */
3042
3043            If (M007 (Concatenate (Arg0, "-m007"), Local1))
3044            {
3045                If (STCS)
3046                {
3047                    Debug = "m008, Error during update of Target"
3048                }
3049
3050                Return (0x01)
3051            }
3052
3053            /* Check Source Object value and type is not corrupted after updating the copy */
3054
3055            Store (Arg6 [0x02], Local7)
3056            If (Y900)
3057            {
3058                If (((Arg4 == 0x00) &&                         /* Source type is 2-4 */
3059
3060(DerefOf (Index (Buffer (0x12)
3061                                    {
3062                                        /* 0000 */  0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3063                                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3064                                        /* 0010 */  0x00, 0x00                                       // ..
3065                                    }, Arg3
3066                    )) &&                             /* Target type is 4, 6-9, 11-12 */
3067
3068DerefOf (Index (Buffer (0x12)
3069                                    {
3070                                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,  // ........
3071                                        /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3072                                        /* 0010 */  0x00, 0x00                                       // ..
3073                                    }, Arg2))) /* Store */))
3074                {
3075                    If (X153)
3076                    {
3077                        If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3078                        {
3079                            If (STCS)
3080                            {
3081                                Debug = "m008, Source Object has been corrupted during update of Target"
3082                            }
3083                        }
3084                    }
3085                }
3086                ElseIf (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3087                {
3088                    If (STCS)
3089                    {
3090                        Debug = "m008, Source Object has been corrupted during update of Target"
3091                    }
3092                }
3093            }
3094            ElseIf (((Arg4 == 0x00) &&                     /* Source type is 2-4 */
3095
3096(DerefOf (SCL0 [Arg3]) &&                         /* Target type is 4, 6-9, 11-12 */
3097
3098
3099                DerefOf (SCL1 [Arg2])) /* Store */))
3100            {
3101                If (X153)
3102                {
3103                    If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3104                    {
3105                        If (STCS)
3106                        {
3107                            Debug = "m008, Source Object has been corrupted during update of Target"
3108                        }
3109                    }
3110                }
3111            }
3112            ElseIf (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3113            {
3114                If (STCS)
3115                {
3116                    Debug = "m008, Source Object has been corrupted during update of Target"
3117                }
3118            }
3119
3120            /* Check auxiliary Target Object to have the initial type and value */
3121
3122            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3123            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3124            {
3125                If (STCS)
3126                {
3127                    Debug = "m008, auxiliary Target Object has been corrupted during update of Target"
3128                }
3129
3130                Return (0x01)
3131            }
3132
3133            Return (0x00)
3134        }
3135
3136        /* Check processing of an Source Named Object of the specified type */
3137        /* on immediate storing to a Target LocalX Object of the specified type */
3138        /* m009(<msg>, <aux>, <target type>, <source type>, */
3139        /*      <op>, <exc. condition>, <test data package>) */
3140        Method (M009, 7, Serialized)
3141        {
3142            /* Source Named Object */
3143
3144            Name (SRC0, 0x00)
3145            /* Target LocalX Object: Local4 */
3146
3147            Concatenate (Arg0, "-", Arg0)
3148            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
3149                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
3150            If (STCS)
3151            {
3152                Debug = Arg0
3153            }
3154
3155            /* Choose expected Result Object type */
3156            /*		if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) { */
3157            If ((Arg3 == 0x08))
3158            {
3159                /* Method expected to be invoked and result in String */
3160
3161                Local5 = 0x02
3162            }
3163            Else
3164            {
3165                Local5 = Arg3
3166            }
3167
3168            /* Prepare Source of specified type */
3169
3170            Store (Arg6 [0x02], Local7)
3171            If ((Arg3 == 0x05))
3172            {
3173                /* Field Unit Source */
3174
3175                Local0 = DerefOf (DerefOf (Local7) [0x00])
3176                If ((Local0 == 0x00))
3177                {
3178                    Local6 = RefOf (FLU0)
3179                }
3180                ElseIf ((Local0 == 0x01))
3181                {
3182                    Local6 = RefOf (FLU2)
3183                    Local5 = 0x03
3184                    If (F64)
3185                    {
3186                        Local5 = 0x01
3187                    }
3188                    Else
3189                    {
3190                        Local5 = 0x03
3191                    }
3192                }
3193                Else
3194                {
3195                    Local6 = RefOf (FLU4)
3196                    Local5 = 0x01
3197                }
3198            }
3199            ElseIf ((Arg3 == 0x0E))
3200            {
3201                /* Buffer Field Source */
3202
3203                Local0 = DerefOf (DerefOf (Local7) [0x00])
3204                If ((Local0 == 0x00))
3205                {
3206                    Local6 = RefOf (BFL0)
3207                }
3208                ElseIf ((Local0 == 0x01))
3209                {
3210                    Local6 = RefOf (BFL2)
3211                }
3212                Else
3213                {
3214                    Local6 = RefOf (BFL4)
3215                }
3216                Local5 = 0x03
3217            }
3218            Else
3219            {
3220                Local6 = RefOf (SRC0)
3221            }
3222
3223            If (M004 (Concatenate (Arg0, "-m004"), Arg3, Local6, Local7))
3224            {
3225                /* Source Object can not be prepared */
3226
3227                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
3228                Return (0x01)
3229            }
3230
3231            /* Prepare Target of specified type */
3232
3233            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3234            If (M003 (Concatenate (Arg0, "-m003"), Arg2, RefOf (Local4), Local7))
3235            {
3236                /* Target Object can not be prepared */
3237
3238                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
3239                Return (0x01)
3240            }
3241
3242            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3243            {
3244                /* Unexpected exception during preparation */
3245
3246                Return (0x01)
3247            }
3248
3249            /* Use a Source Object to immediately store into the Target */
3250
3251            Store (Arg6 [0x02], Local7)
3252            If ((Arg4 == 0x00))
3253            {
3254                /* Store */
3255
3256                If ((Arg3 == 0x05))
3257                {
3258                    /* Field Unit Source */
3259
3260                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3261                    If ((Local0 == 0x00))
3262                    {
3263                        Local4 = FLU0 /* \M689.FLU0 */
3264                    }
3265                    ElseIf ((Local0 == 0x01))
3266                    {
3267                        Local4 = FLU2 /* \M689.FLU2 */
3268                    }
3269                    Else
3270                    {
3271                        Local4 = FLU4 /* \M689.FLU4 */
3272                    }
3273                }
3274                ElseIf ((Arg3 == 0x0E))
3275                {
3276                    /* Buffer Field Source */
3277
3278                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3279                    If ((Local0 == 0x00))
3280                    {
3281                        Local4 = BFL0 /* \M689.BFL0 */
3282                    }
3283                    ElseIf ((Local0 == 0x01))
3284                    {
3285                        Local4 = BFL2 /* \M689.BFL2 */
3286                    }
3287                    Else
3288                    {
3289                        Local4 = BFL4 /* \M689.BFL4 */
3290                    }
3291                }
3292                Else
3293                {
3294                    Local4 = SRC0 /* \M689.M009.SRC0 */
3295                }
3296            }
3297            ElseIf ((Arg4 == 0x01))
3298            {
3299                /* CopyObject */
3300
3301                If ((Arg3 == 0x05))
3302                {
3303                    /* Field Unit Source */
3304
3305                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3306                    If ((Local0 == 0x00))
3307                    {
3308                        CopyObject (FLU0, Local4)
3309                    }
3310                    ElseIf ((Local0 == 0x01))
3311                    {
3312                        CopyObject (FLU2, Local4)
3313                    }
3314                    Else
3315                    {
3316                        CopyObject (FLU4, Local4)
3317                    }
3318                }
3319                ElseIf ((Arg3 == 0x0E))
3320                {
3321                    /* Buffer Field Source */
3322
3323                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3324                    If ((Local0 == 0x00))
3325                    {
3326                        CopyObject (BFL0, Local4)
3327                    }
3328                    ElseIf ((Local0 == 0x01))
3329                    {
3330                        CopyObject (BFL2, Local4)
3331                    }
3332                    Else
3333                    {
3334                        CopyObject (BFL4, Local4)
3335                    }
3336                }
3337                Else
3338                {
3339                    CopyObject (SRC0, Local4)
3340                }
3341            }
3342            Else
3343            {
3344                /* Unexpected Kind of Op (0 - Store, ...) */
3345
3346                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
3347                Return (0x01)
3348            }
3349
3350            If (Arg5)
3351            {
3352                /* Exception is expected */
3353
3354                If (!CH06 (Arg0, 0x0F, 0xFF))
3355                {
3356                    If (STCS)
3357                    {
3358                        M000 (0x02, 0x0100, Arg2, Arg3)
3359                    }
3360                }
3361            }
3362            ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3363            {
3364                /* Storing caused unexpected exception */
3365
3366                If (STCS)
3367                {
3368                    M000 (0x02, 0x0100, Arg2, Arg3)
3369                }
3370            }
3371            Else
3372            {
3373                /* Check Target Object to have the expected type and value */
3374                /* Target accept type on storing to LocalX is 1 */
3375                Local0 = 0x01
3376                M006 (Concatenate (Arg0, "-m006"), RefOf (Local4), Arg2, Local5, Arg4, Local0, Arg6)
3377            }
3378
3379            /* Check Source Object value and type is not corrupted after storing */
3380
3381            Store (Arg6 [0x02], Local7)
3382            If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3383            {
3384                If (STCS)
3385                {
3386                    Debug = "m009, Source Object has been corrupted during storing"
3387                }
3388            }
3389
3390            /* Check auxiliary Target Object to have the initial type and value */
3391
3392            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3393            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3394            {
3395                If (STCS)
3396                {
3397                    Debug = "m009, auxiliary Target Object has been corrupted during storing"
3398                }
3399
3400                Return (0x01)
3401            }
3402
3403            /* Update Target Object */
3404
3405            If (M007 (Concatenate (Arg0, "-m007"), RefOf (Local4)))
3406            {
3407                If (STCS)
3408                {
3409                    Debug = "m009, Error during update of Target"
3410                }
3411
3412                Return (0x01)
3413            }
3414
3415            /* Check Source Object value and type is not corrupted after updating the copy */
3416
3417            Store (Arg6 [0x02], Local7)
3418            If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
3419            {
3420                If (STCS)
3421                {
3422                    Debug = "m009, Source Object has been corrupted during update of Target"
3423                }
3424            }
3425
3426            /* Check auxiliary Target Object to have the initial type and value */
3427
3428            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3429            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3430            {
3431                If (STCS)
3432                {
3433                    Debug = "m009, auxiliary Target Object has been corrupted during update of Target"
3434                }
3435
3436                Return (0x01)
3437            }
3438
3439            Return (0x00)
3440        }
3441
3442        /* Check processing of an Source LocalX Object of the specified type */
3443        /* on immediate storing to a Target Named Object of the specified type */
3444        /* m00a(<msg>, <aux>, <target type>, <source type>, */
3445        /*      <op>, <exc. condition>, <test data package>) */
3446        Method (M00A, 7, Serialized)
3447        {
3448            /* Source Object: Local1 */
3449            /* Target Named Object (or the reference to it in case of Fields) */
3450            Name (DST0, 0x00)
3451            Name (SCL0, Buffer (0x12)
3452            {
3453                /* 0000 */  0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3454                /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3455                /* 0010 */  0x00, 0x00                                       // ..
3456            })
3457            Name (SCL1, Buffer (0x12)
3458            {
3459                /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,  // ........
3460                /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3461                /* 0010 */  0x00, 0x00                                       // ..
3462            })
3463            Concatenate (Arg0, "-", Arg0)
3464            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
3465                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
3466            If (STCS)
3467            {
3468                Debug = Arg0
3469            }
3470
3471            /* Prepare Source of specified type */
3472
3473            Store (Arg6 [0x02], Local7)
3474            If (M004 (Concatenate (Arg0, "-m004"), Arg3, RefOf (Local1), Local7))
3475            {
3476                /* Source Object can not be prepared */
3477
3478                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
3479                Return (0x01)
3480            }
3481
3482            /* Prepare Target of specified type */
3483
3484            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3485            If ((Arg2 == 0x05))
3486            {
3487                /* Field Unit Target */
3488
3489                Field (OPR0, ByteAcc, NoLock, Preserve)
3490                {
3491                    FLUX,   192,
3492                    FLU1,   69
3493                }
3494
3495                Local4 = RefOf (FLU1)
3496            }
3497            ElseIf ((Arg2 == 0x0E))
3498            {
3499                /* Buffer Field Target */
3500
3501                CreateField (BUFZ, 0xC0, 0x45, BFL1)
3502                Local4 = RefOf (BFL1)
3503            }
3504            Else
3505            {
3506                Local4 = RefOf (DST0)
3507            }
3508
3509            If (M003 (Concatenate (Arg0, "-m003"), Arg2, Local4, Local7))
3510            {
3511                /* Target Object can not be prepared */
3512
3513                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
3514                Return (0x01)
3515            }
3516
3517            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3518            {
3519                /* Unexpected exception during preparation */
3520
3521                Return (0x01)
3522            }
3523
3524            /* Use a Source Object to immediately store into the Target */
3525
3526            If ((Arg2 == 0x05))
3527            {
3528                /* Field Unit Target */
3529
3530                If ((Arg4 == 0x00))
3531                {
3532                    /* Store */
3533
3534                    FLU1 = Local1
3535                }
3536                ElseIf ((Arg4 == 0x01))
3537                {
3538                    /* CopyObject */
3539
3540                    CopyObject (Local1, FLU1) /* \M689.M00A.FLU1 */
3541                }
3542                Else
3543                {
3544                    /* Unexpected Kind of Op (0 - Store, ...) */
3545
3546                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
3547                    Return (0x01)
3548                }
3549            }
3550            ElseIf ((Arg2 == 0x0E))
3551            {
3552                /* Buffer Field Target */
3553
3554                If ((Arg4 == 0x00))
3555                {
3556                    /* Store */
3557
3558                    BFL1 = Local1
3559                }
3560                ElseIf ((Arg4 == 0x01))
3561                {
3562                    /* CopyObject */
3563
3564                    CopyObject (Local1, BFL1) /* \M689.M00A.BFL1 */
3565                }
3566                Else
3567                {
3568                    /* Unexpected Kind of Op (0 - Store, ...) */
3569
3570                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
3571                    Return (0x01)
3572                }
3573            }
3574            ElseIf ((Arg4 == 0x00))
3575            {
3576                /* Store */
3577
3578                DST0 = Local1
3579            }
3580            ElseIf ((Arg4 == 0x01))
3581            {
3582                /* CopyObject */
3583
3584                CopyObject (Local1, DST0) /* \M689.M00A.DST0 */
3585            }
3586            Else
3587            {
3588                /* Unexpected Kind of Op (0 - Store, ...) */
3589
3590                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
3591                Return (0x01)
3592            }
3593
3594            If (Arg5)
3595            {
3596                /* Exception is expected */
3597
3598                If (((Arg4 == 0x01) && ((Arg2 == C016) && (Arg3 !=
3599                    C008))))
3600                {
3601                    If (X170)
3602                    {
3603                        If (!CH06 (Arg0, 0x46, 0xFF))
3604                        {
3605                            If (STCS)
3606                            {
3607                                M000 (0x02, 0x0100, Arg2, Arg3)
3608                            }
3609                        }
3610                    }
3611                    Else
3612                    {
3613                        CH03 (Arg0, Z122, __LINE__, 0x00, Arg2)
3614                    }
3615                }
3616                ElseIf (!CH06 (Arg0, 0x46, 0xFF))
3617                {
3618                    If (STCS)
3619                    {
3620                        M000 (0x02, 0x0100, Arg2, Arg3)
3621                    }
3622                }
3623
3624                /* No further test if exception is expected */
3625
3626                Return (0x00)
3627            }
3628            ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3629            {
3630                /* Storing caused unexpected exception */
3631
3632                If (STCS)
3633                {
3634                    M000 (0x02, 0x0100, Arg2, Arg3)
3635                }
3636            }
3637            Else
3638            {
3639                /* Check Target Object to have the expected type and value */
3640                /* Target accept type on storing to Named of Store operator is 0 */
3641                If (Arg4)
3642                {
3643                    Local0 = 0x02
3644                }
3645                Else
3646                {
3647                    Local0 = 0x00
3648                }
3649
3650                M006 (Concatenate (Arg0, "-m006"), Local4, Arg2, Arg3, Arg4, Local0, Arg6)
3651            }
3652
3653            /* Check Source Object value and type is not corrupted after storing */
3654
3655            Store (Arg6 [0x02], Local7)
3656            If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3657            {
3658                If (STCS)
3659                {
3660                    Debug = "m00a, Source Object has been corrupted during storing"
3661                }
3662            }
3663
3664            /* Check auxiliary Target Object to have the initial type and value */
3665
3666            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3667            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3668            {
3669                If (STCS)
3670                {
3671                    Debug = "m00a, auxiliary Target Object has been corrupted during storing"
3672                }
3673
3674                Return (0x01)
3675            }
3676
3677            /* Update Target Object */
3678
3679            If (M007 (Concatenate (Arg0, "-m007"), Local4))
3680            {
3681                If (STCS)
3682                {
3683                    Debug = "m00a, Error during update of Target"
3684                }
3685
3686                Return (0x01)
3687            }
3688
3689            /* Check Source Object value and type is not corrupted after updating the copy */
3690
3691            Store (Arg6 [0x02], Local7)
3692            If (Y900)
3693            {
3694                If (((Arg4 == 0x00) &&                         /* Source type is 2-4 */
3695
3696(DerefOf (Index (Buffer (0x12)
3697                                    {
3698                                        /* 0000 */  0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3699                                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
3700                                        /* 0010 */  0x00, 0x00                                       // ..
3701                                    }, Arg3
3702                    )) &&                             /* Target type is 4, 6-9, 11-12 */
3703
3704DerefOf (Index (Buffer (0x12)
3705                                    {
3706                                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,  // ........
3707                                        /* 0008 */  0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,  // ........
3708                                        /* 0010 */  0x00, 0x00                                       // ..
3709                                    }, Arg2))) /* Store */))
3710                {
3711                    If (X153)
3712                    {
3713                        If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3714                        {
3715                            If (STCS)
3716                            {
3717                                Debug = "m00a, Source Object has been corrupted during update of Target"
3718                            }
3719                        }
3720                    }
3721                }
3722                ElseIf (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3723                {
3724                    If (STCS)
3725                    {
3726                        Debug = "m00a, Source Object has been corrupted during update of Target"
3727                    }
3728                }
3729            }
3730            ElseIf            /* if (y900) */
3731
3732 (((Arg4 == 0x00) &&                     /* Source type is 2-4 */
3733
3734(DerefOf (SCL0 [Arg3]) &&                         /* Target type is 4, 6-9, 11-12 */
3735
3736
3737                DerefOf (SCL1 [Arg2])) /* Store */))
3738            {
3739                If (X153)
3740                {
3741                    If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3742                    {
3743                        If (STCS)
3744                        {
3745                            Debug = "m00a, Source Object has been corrupted during update of Target"
3746                        }
3747                    }
3748                }
3749            }
3750            ElseIf (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3751            {
3752                If (STCS)
3753                {
3754                    Debug = "m00a, Source Object has been corrupted during update of Target"
3755                }
3756            }
3757
3758            /* Check auxiliary Target Object to have the initial type and value */
3759
3760            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3761            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3762            {
3763                If (STCS)
3764                {
3765                    Debug = "m00a, auxiliary Target Object has been corrupted during update of Target"
3766                }
3767
3768                Return (0x01)
3769            }
3770
3771            Return (0x00)
3772        }
3773
3774        /* Check processing of an Source LocalX Object of the specified type */
3775        /* on immediate storing to a Target LocalX Object of the specified type */
3776        /* m00b(<msg>, <aux>, <target type>, <source type>, */
3777        /*      <op>, <exc. condition>, <test data package>) */
3778        Method (M00B, 7, NotSerialized)
3779        {
3780            /* Source LocalX Object: Local1 */
3781            /* Target LocalX Object: Local4 */
3782            Concatenate (Arg0, "-", Arg0)
3783            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
3784                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
3785            If (STCS)
3786            {
3787                Debug = Arg0
3788            }
3789
3790            /* Prepare Source of specified type */
3791
3792            Store (Arg6 [0x02], Local7)
3793            If (M004 (Concatenate (Arg0, "-m004"), Arg3, RefOf (Local1), Local7))
3794            {
3795                /* Source Object can not be prepared */
3796
3797                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
3798                Return (0x01)
3799            }
3800
3801            /* Prepare Target of specified type */
3802
3803            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3804            If (M003 (Concatenate (Arg0, "-m003"), Arg2, RefOf (Local4), Local7))
3805            {
3806                /* Target Object can not be prepared */
3807
3808                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
3809                Return (0x01)
3810            }
3811
3812            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3813            {
3814                /* Unexpected exception during preparation */
3815
3816                Return (0x01)
3817            }
3818
3819            /* Use a Source Object to immediately store into the Target */
3820
3821            If ((Arg4 == 0x00))
3822            {
3823                /* Store */
3824
3825                Local4 = Local1
3826            }
3827            ElseIf ((Arg4 == 0x01))
3828            {
3829                /* CopyObject */
3830
3831                CopyObject (Local1, Local4)
3832            }
3833            Else
3834            {
3835                /* Unexpected Kind of Op (0 - Store, ...) */
3836
3837                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
3838                Return (0x01)
3839            }
3840
3841            If (Arg5)
3842            {
3843                /* Exception is expected */
3844
3845                If (!CH06 (Arg0, 0x0F, 0xFF))
3846                {
3847                    If (STCS)
3848                    {
3849                        M000 (0x02, 0x0100, Arg2, Arg3)
3850                    }
3851                }
3852            }
3853            ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
3854            {
3855                /* Storing caused unexpected exception */
3856
3857                If (STCS)
3858                {
3859                    M000 (0x02, 0x0100, Arg2, Arg3)
3860                }
3861            }
3862            Else
3863            {
3864                /* Check Target Object to have the expected type and value */
3865                /* Target accept type on storing to LocalX is 1 */
3866                Local0 = 0x01
3867                M006 (Concatenate (Arg0, "-m006"), RefOf (Local4), Arg2, Arg3, Arg4, Local0, Arg6)
3868            }
3869
3870            /* Check Source Object value and type is not corrupted after storing */
3871
3872            Store (Arg6 [0x02], Local7)
3873            If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3874            {
3875                If (STCS)
3876                {
3877                    Debug = "m00b, Source Object has been corrupted during storing"
3878                }
3879            }
3880
3881            /* Check auxiliary Target Object to have the initial type and value */
3882
3883            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3884            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3885            {
3886                If (STCS)
3887                {
3888                    Debug = "m00b, auxiliary Target Object has been corrupted during storing"
3889                }
3890
3891                Return (0x01)
3892            }
3893
3894            /* Update Target Object */
3895
3896            If (M007 (Concatenate (Arg0, "-m007"), RefOf (Local4)))
3897            {
3898                If (STCS)
3899                {
3900                    Debug = "m00b, Error during update of Target"
3901                }
3902
3903                Return (0x01)
3904            }
3905
3906            /* Check Source Object value and type is not corrupted after updating the copy */
3907
3908            Store (Arg6 [0x02], Local7)
3909            If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
3910            {
3911                If (STCS)
3912                {
3913                    Debug = "m00b, Source Object has been corrupted during update of Target"
3914                }
3915            }
3916
3917            /* Check auxiliary Target Object to have the initial type and value */
3918
3919            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
3920            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
3921            {
3922                If (STCS)
3923                {
3924                    Debug = "m00b, auxiliary Target Object has been corrupted during update of Target"
3925                }
3926
3927                Return (0x01)
3928            }
3929
3930            Return (0x00)
3931        }
3932
3933        /* Check processing of an Source Named Object of the specified type */
3934        /* on immediate storing to an argument of Method passed to as immediate */
3935        /* Named Object of another specified type */
3936        /* m00c(<msg>, <aux>, <target type>, <source type>, */
3937        /*      <op>, <exc. condition>, <test data package>) */
3938        Method (M00C, 7, Serialized)
3939        {
3940            Method (M10C, 7, Serialized)
3941            {
3942                /* Source Named Object */
3943
3944                Name (SRC0, 0x00)
3945                /* Target Named Object: ARG1 */
3946                /* Choose expected Result Object type */
3947                /*			if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) { */
3948                If ((Arg3 == 0x08))
3949                {
3950                    /* Method expected to be invoked and result in String */
3951
3952                    Local5 = 0x02
3953                }
3954                Else
3955                {
3956                    Local5 = Arg3
3957                }
3958
3959                /* Prepare Source of specified type */
3960
3961                Store (Arg6 [0x02], Local7)
3962                If ((Arg3 == 0x05))
3963                {
3964                    /* Field Unit Source */
3965
3966                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3967                    If ((Local0 == 0x00))
3968                    {
3969                        Local6 = RefOf (FLU0)
3970                        Local5 = 0x03
3971                    }
3972                    ElseIf ((Local0 == 0x01))
3973                    {
3974                        Local6 = RefOf (FLU2)
3975                        If (F64)
3976                        {
3977                            Local5 = 0x01
3978                        }
3979                        Else
3980                        {
3981                            Local5 = 0x03
3982                        }
3983                    }
3984                    Else
3985                    {
3986                        Local6 = RefOf (FLU4)
3987                        Local5 = 0x01
3988                    }
3989                }
3990                ElseIf ((Arg3 == 0x0E))
3991                {
3992                    /* Buffer Field Source */
3993
3994                    Local0 = DerefOf (DerefOf (Local7) [0x00])
3995                    If ((Local0 == 0x00))
3996                    {
3997                        Local6 = RefOf (BFL0)
3998                    }
3999                    ElseIf ((Local0 == 0x01))
4000                    {
4001                        Local6 = RefOf (BFL2)
4002                    }
4003                    Else
4004                    {
4005                        Local6 = RefOf (BFL4)
4006                    }
4007                    Local5 = 0x03
4008                }
4009                Else
4010                {
4011                    Local6 = RefOf (SRC0)
4012                }
4013
4014                If (M004 (Concatenate (Arg0, "-m004"), Arg3, Local6, Local7))
4015                {
4016                    /* Source Object can not be prepared */
4017
4018                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
4019                    Return (0x01)
4020                }
4021
4022                Local1 = RefOf (Arg1)
4023                If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4024                {
4025                    /* Unexpected exception during preparation */
4026
4027                    Return (0x01)
4028                }
4029
4030                /* Use a Source Object to immediately store into the Target */
4031
4032                Store (Arg6 [0x02], Local7)
4033                If ((Arg4 == 0x00))
4034                {
4035                    /* Store */
4036
4037                    If ((Arg3 == 0x05))
4038                    {
4039                        /* Field Unit Source */
4040
4041                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4042                        If ((Local0 == 0x00))
4043                        {
4044                            Arg1 = FLU0 /* \M689.FLU0 */
4045                        }
4046                        ElseIf ((Local0 == 0x01))
4047                        {
4048                            Arg1 = FLU2 /* \M689.FLU2 */
4049                        }
4050                        Else
4051                        {
4052                            Arg1 = FLU4 /* \M689.FLU4 */
4053                        }
4054                    }
4055                    ElseIf ((Arg3 == 0x0E))
4056                    {
4057                        /* Buffer Field Source */
4058
4059                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4060                        If ((Local0 == 0x00))
4061                        {
4062                            Arg1 = BFL0 /* \M689.BFL0 */
4063                        }
4064                        ElseIf ((Local0 == 0x01))
4065                        {
4066                            Arg1 = BFL2 /* \M689.BFL2 */
4067                        }
4068                        Else
4069                        {
4070                            Arg1 = BFL4 /* \M689.BFL4 */
4071                        }
4072                    }
4073                    Else
4074                    {
4075                        Arg1 = SRC0 /* \M689.M00C.M10C.SRC0 */
4076                    }
4077                }
4078                ElseIf ((Arg4 == 0x01))
4079                {
4080                    /* CopyObject */
4081
4082                    If ((Arg3 == 0x05))
4083                    {
4084                        /* Field Unit Source */
4085
4086                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4087                        If ((Local0 == 0x00))
4088                        {
4089                            CopyObject (FLU0, Arg1)
4090                        }
4091                        ElseIf ((Local0 == 0x01))
4092                        {
4093                            CopyObject (FLU2, Arg1)
4094                        }
4095                        Else
4096                        {
4097                            CopyObject (FLU4, Arg1)
4098                        }
4099                    }
4100                    ElseIf ((Arg3 == 0x0E))
4101                    {
4102                        /* Buffer Field Source */
4103
4104                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4105                        If ((Local0 == 0x00))
4106                        {
4107                            CopyObject (BFL0, Arg1)
4108                        }
4109                        ElseIf ((Local0 == 0x01))
4110                        {
4111                            CopyObject (BFL2, Arg1)
4112                        }
4113                        Else
4114                        {
4115                            CopyObject (BFL4, Arg1)
4116                        }
4117                    }
4118                    Else
4119                    {
4120                        CopyObject (SRC0, Arg1)
4121                    }
4122                }
4123                Else
4124                {
4125                    /* Unexpected Kind of Op (0 - Store, ...) */
4126
4127                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
4128                    Return (0x01)
4129                }
4130
4131                If (Arg5)
4132                {
4133                    /* Exception is expected */
4134
4135                    If ((((Arg4 == 0x00) && ((Arg2 == C016) && (Arg3 ==
4136                        C00C))) || ((Arg4 == 0x01) && ((Arg2 == C016) && (Arg3 != C008)))))
4137                    {
4138                        If (X170)
4139                        {
4140                            If (!CH06 (Arg0, 0x50, 0xFF))
4141                            {
4142                                If (STCS)
4143                                {
4144                                    M000 (0x02, 0x0100, Arg2, Arg3)
4145                                }
4146                            }
4147                        }
4148                        Else
4149                        {
4150                            CH03 (Arg0, Z122, __LINE__, 0x00, Arg2)
4151                        }
4152                    }
4153                    ElseIf (!CH06 (Arg0, 0x50, 0xFF))
4154                    {
4155                        If (STCS)
4156                        {
4157                            M000 (0x02, 0x0100, Arg2, Arg3)
4158                        }
4159                    }
4160                }
4161                ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4162                {
4163                    /* Storing caused unexpected exception */
4164
4165                    If (STCS)
4166                    {
4167                        M000 (0x02, 0x0100, Arg2, Arg3)
4168                    }
4169                }
4170                Else
4171                {
4172                    /* Check Target Object to have the expected type and value */
4173                    /* Target accept type on storing to read-only ArgX is 1 */
4174                    Local0 = 0x01
4175                    M006 (Concatenate (Arg0, "-m006"), Local1, Arg2, Local5, Arg4, Local0, Arg6)
4176                }
4177
4178                /* Check Source Object value and type is not corrupted after storing */
4179
4180                Store (Arg6 [0x02], Local7)
4181                If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
4182                {
4183                    If (STCS)
4184                    {
4185                        Debug = "m00c, Source Object has been corrupted during storing"
4186                    }
4187
4188                    Return (0x01)
4189                }
4190
4191                /* Check auxiliary Target Object to have the initial type and value */
4192
4193                Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4194                If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4195                {
4196                    If (STCS)
4197                    {
4198                        Debug = "m00c, auxiliary Target Object has been corrupted during storing"
4199                    }
4200
4201                    Return (0x01)
4202                }
4203
4204                /* Update Target Object */
4205
4206                If (M007 (Concatenate (Arg0, "-m007"), Local1))
4207                {
4208                    If (STCS)
4209                    {
4210                        Debug = "m00c, Error during update of Target"
4211                    }
4212
4213                    Return (0x01)
4214                }
4215
4216                /* Check Source Object value and type is not corrupted after updating the copy */
4217
4218                Store (Arg6 [0x02], Local7)
4219                If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
4220                {
4221                    If (STCS)
4222                    {
4223                        Debug = "m00c, Source Object has been corrupted during update of Target"
4224                    }
4225                }
4226
4227                /* Check auxiliary Target Object to have the initial type and value */
4228
4229                Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4230                If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4231                {
4232                    If (STCS)
4233                    {
4234                        Debug = "m00c, auxiliary Target Object has been corrupted during update of Target"
4235                    }
4236
4237                    Return (0x01)
4238                }
4239
4240                Return (0x00)
4241            }
4242
4243            /* Target Named Object */
4244
4245            Name (DST0, 0x00)
4246            Concatenate (Arg0, "-", Arg0)
4247            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
4248                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
4249            If (STCS)
4250            {
4251                Debug = Arg0
4252            }
4253
4254            /* Prepare Target of specified type */
4255
4256            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4257            If ((Arg2 == 0x05))
4258            {
4259                /* Field Unit Target */
4260
4261                Field (OPR0, ByteAcc, NoLock, Preserve)
4262                {
4263                    FLUX,   192,
4264                    FLU1,   69
4265                }
4266
4267                Local1 = RefOf (FLU1)
4268                FLU1 = DerefOf (Local7)
4269            }
4270            ElseIf ((Arg2 == 0x0E))
4271            {
4272                /* Buffer Field Target */
4273
4274                CreateField (BUFZ, 0xC0, 0x45, BFL1)
4275                Local1 = RefOf (BFL1)
4276                BFL1 = DerefOf (Local7)
4277            }
4278            Else
4279            {
4280                Local1 = RefOf (DST0)
4281            }
4282
4283            If (M003 (Concatenate (Arg0, "-m003"), Arg2, Local1, Local7))
4284            {
4285                /* Target Object can not be prepared */
4286
4287                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
4288                Return (0x01)
4289            }
4290
4291            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4292            {
4293                /* Unexpected exception during preparation */
4294
4295                Return (0x01)
4296            }
4297
4298            /* Use the Target Object to be the ArgX Object */
4299
4300            If (M10C (Concatenate (Arg0, "-m10c"), DST0, Arg2, Arg3, Arg4, Arg5, Arg6))
4301            {
4302                If (STCS)
4303                {
4304                    Debug = "m00c, error on using the Target Object as the ArgX Object"
4305                }
4306
4307                Return (0x01)
4308            }
4309
4310            If (Arg5)
4311            {
4312                /* Exception is expected */
4313
4314                Return (0x00)
4315            }
4316
4317            /* Check Target Object to be saving the initial type and value */
4318
4319            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4320            If (M015 (Concatenate (Arg0, "-m015"), Arg2, Local1, Local7))
4321            {
4322                If (STCS)
4323                {
4324                    Debug = "m00c, Target Object has been corrupted during storing to ArgX"
4325                }
4326
4327                Return (0x01)
4328            }
4329
4330            Return (0x00)
4331        }
4332
4333        /* Check processing of an Source Named Object of the specified type */
4334        /* on immediate storing to an argument of Method passed to as reference */
4335        /* to the Named Object of another specified type */
4336        /* m00d(<msg>, <aux>, <target type>, <source type>, */
4337        /*      <op>, <exc. condition>, <test data package>) */
4338        Method (M00D, 7, Serialized)
4339        {
4340            Method (M10D, 7, Serialized)
4341            {
4342                /* Source Named Object */
4343
4344                Name (SRC0, 0x00)
4345                /* Target Named Object: ARG1 */
4346                /* Choose expected Result Object type */
4347                /*			if (LAnd(LEqual(arg4, 0), LEqual(arg3, 8))) { */
4348                If ((Arg3 == 0x08))
4349                {
4350                    /* Method expected to be invoked and result in String */
4351
4352                    Local5 = 0x02
4353                }
4354                Else
4355                {
4356                    Local5 = Arg3
4357                }
4358
4359                /* Prepare Source of specified type */
4360
4361                Store (Arg6 [0x02], Local7)
4362                If ((Arg3 == 0x05))
4363                {
4364                    /* Field Unit Source */
4365
4366                    Local0 = DerefOf (DerefOf (Local7) [0x00])
4367                    If ((Local0 == 0x00))
4368                    {
4369                        Local6 = RefOf (FLU0)
4370                        Local5 = 0x03
4371                    }
4372                    ElseIf ((Local0 == 0x01))
4373                    {
4374                        Local6 = RefOf (FLU2)
4375                        If (F64)
4376                        {
4377                            Local5 = 0x01
4378                        }
4379                        Else
4380                        {
4381                            Local5 = 0x03
4382                        }
4383                    }
4384                    Else
4385                    {
4386                        Local6 = RefOf (FLU4)
4387                        Local5 = 0x01
4388                    }
4389                }
4390                ElseIf ((Arg3 == 0x0E))
4391                {
4392                    /* Buffer Field Source */
4393
4394                    Local0 = DerefOf (DerefOf (Local7) [0x00])
4395                    If ((Local0 == 0x00))
4396                    {
4397                        Local6 = RefOf (BFL0)
4398                    }
4399                    ElseIf ((Local0 == 0x01))
4400                    {
4401                        Local6 = RefOf (BFL2)
4402                    }
4403                    Else
4404                    {
4405                        Local6 = RefOf (BFL4)
4406                    }
4407                    Local5 = 0x03
4408                }
4409                Else
4410                {
4411                    Local6 = RefOf (SRC0)
4412                }
4413
4414                If (M004 (Concatenate (Arg0, "-m004"), Arg3, Local6, Local7))
4415                {
4416                    /* Source Object can not be prepared */
4417
4418                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
4419                    Return (0x01)
4420                }
4421
4422                If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4423                {
4424                    /* Unexpected exception during preparation */
4425
4426                    Return (0x01)
4427                }
4428
4429                /* Use a Source Object to immediately store into the Target */
4430
4431                Store (Arg6 [0x02], Local7)
4432                If ((Arg4 == 0x00))
4433                {
4434                    /* Store */
4435
4436                    If ((Arg3 == 0x05))
4437                    {
4438                        /* Field Unit Source */
4439
4440                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4441                        If ((Local0 == 0x00))
4442                        {
4443                            Arg1 = FLU0 /* \M689.FLU0 */
4444                        }
4445                        ElseIf ((Local0 == 0x01))
4446                        {
4447                            Arg1 = FLU2 /* \M689.FLU2 */
4448                        }
4449                        Else
4450                        {
4451                            Arg1 = FLU4 /* \M689.FLU4 */
4452                        }
4453                    }
4454                    ElseIf ((Arg3 == 0x0E))
4455                    {
4456                        /* Buffer Field Source */
4457
4458                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4459                        If ((Local0 == 0x00))
4460                        {
4461                            Arg1 = BFL0 /* \M689.BFL0 */
4462                        }
4463                        ElseIf ((Local0 == 0x01))
4464                        {
4465                            Arg1 = BFL2 /* \M689.BFL2 */
4466                        }
4467                        Else
4468                        {
4469                            Arg1 = BFL4 /* \M689.BFL4 */
4470                        }
4471                    }
4472                    Else
4473                    {
4474                        Arg1 = SRC0 /* \M689.M00D.M10D.SRC0 */
4475                    }
4476                }
4477                ElseIf ((Arg4 == 0x01))
4478                {
4479                    /* CopyObject */
4480
4481                    If ((Arg3 == 0x05))
4482                    {
4483                        /* Field Unit Source */
4484
4485                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4486                        If ((Local0 == 0x00))
4487                        {
4488                            CopyObject (FLU0, Arg1)
4489                        }
4490                        ElseIf ((Local0 == 0x01))
4491                        {
4492                            CopyObject (FLU2, Arg1)
4493                        }
4494                        Else
4495                        {
4496                            CopyObject (FLU4, Arg1)
4497                        }
4498                    }
4499                    ElseIf ((Arg3 == 0x0E))
4500                    {
4501                        /* Buffer Field Source */
4502
4503                        Local0 = DerefOf (DerefOf (Local7) [0x00])
4504                        If ((Local0 == 0x00))
4505                        {
4506                            CopyObject (BFL0, Arg1)
4507                        }
4508                        ElseIf ((Local0 == 0x01))
4509                        {
4510                            CopyObject (BFL2, Arg1)
4511                        }
4512                        Else
4513                        {
4514                            CopyObject (BFL4, Arg1)
4515                        }
4516                    }
4517                    Else
4518                    {
4519                        CopyObject (SRC0, Arg1)
4520                    }
4521                }
4522                Else
4523                {
4524                    /* Unexpected Kind of Op (0 - Store, ...) */
4525
4526                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
4527                    Return (0x01)
4528                }
4529
4530                If (Arg5)
4531                {
4532                    /* Exception is expected */
4533
4534                    If (((Arg4 == 0x01) && (Arg2 == C016)))
4535                    {
4536                        If (X170)
4537                        {
4538                            If (!CH06 (Arg0, 0x57, 0xFF))
4539                            {
4540                                If (STCS)
4541                                {
4542                                    M000 (0x02, 0x0100, Arg2, Arg3)
4543                                }
4544                            }
4545                        }
4546                        Else
4547                        {
4548                            CH03 (Arg0, Z122, __LINE__, 0x00, Arg2)
4549                        }
4550                    }
4551                    ElseIf (!CH06 (Arg0, 0x57, 0xFF))
4552                    {
4553                        If (STCS)
4554                        {
4555                            M000 (0x02, 0x0100, Arg2, Arg3)
4556                        }
4557                    }
4558                }
4559                ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4560                {
4561                    /* Storing caused unexpected exception */
4562
4563                    If (STCS)
4564                    {
4565                        M000 (0x02, 0x0100, Arg2, Arg3)
4566                    }
4567                }
4568                Else
4569                {
4570                    /* Check Target Object to have the expected type and value */
4571                    /* Target accept type on storing to ArgX containing reference is 1 */
4572                    /* (besides Store() to fixed types) */
4573                    If (((Arg4 == 0x00) && DerefOf (B678 [Arg2])))
4574                    {
4575                        Local0 = 0x00
4576                    }
4577                    Else
4578                    {
4579                        Local0 = 0x01
4580                    }
4581
4582                    M006 (Concatenate (Arg0, "-m006"), Arg1, Arg2, Local5, Arg4, Local0, Arg6)
4583                }
4584
4585                /* Check Source Object value and type is not corrupted after storing */
4586
4587                Store (Arg6 [0x02], Local7)
4588                If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
4589                {
4590                    If (STCS)
4591                    {
4592                        Debug = "m00d, Source Object has been corrupted during storing"
4593                    }
4594
4595                    Return (0x01)
4596                }
4597
4598                /* Check auxiliary Target Object to have the initial type and value */
4599
4600                Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4601                If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4602                {
4603                    If (STCS)
4604                    {
4605                        Debug = "m00d, auxiliary Target Object has been corrupted during storing"
4606                    }
4607
4608                    Return (0x01)
4609                }
4610
4611                /* Update Target Object */
4612
4613                If (M007 (Concatenate (Arg0, "-m007"), Arg1))
4614                {
4615                    If (STCS)
4616                    {
4617                        Debug = "m00d, Error during update of Target"
4618                    }
4619
4620                    Return (0x01)
4621                }
4622
4623                /* Check Source Object value and type is not corrupted after updating the copy */
4624
4625                Store (Arg6 [0x02], Local7)
4626                If (M005 (Concatenate (Arg0, "-m005"), Arg3, Local6, Local7))
4627                {
4628                    If (STCS)
4629                    {
4630                        Debug = "m00d, Source Object has been corrupted during update of Target"
4631                    }
4632                }
4633
4634                /* Check auxiliary Target Object to have the initial type and value */
4635
4636                Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4637                If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4638                {
4639                    If (STCS)
4640                    {
4641                        Debug = "m00d, auxiliary Target Object has been corrupted during update of Target"
4642                    }
4643
4644                    Return (0x01)
4645                }
4646
4647                Return (0x00)
4648            }
4649
4650            /* Target Named Object */
4651
4652            Name (DST0, 0x00)
4653            Concatenate (Arg0, "-", Arg0)
4654            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
4655                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
4656            If (STCS)
4657            {
4658                Debug = Arg0
4659            }
4660
4661            /* Prepare Target of specified type */
4662
4663            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4664            If ((Arg2 == 0x05))
4665            {
4666                /* Field Unit Target */
4667
4668                Field (OPR0, ByteAcc, NoLock, Preserve)
4669                {
4670                    FLUX,   192,
4671                    FLU1,   69
4672                }
4673
4674                Local1 = RefOf (FLU1)
4675                FLU1 = DerefOf (Local7)
4676            }
4677            ElseIf ((Arg2 == 0x0E))
4678            {
4679                /* Buffer Field Target */
4680
4681                CreateField (BUFZ, 0xC0, 0x45, BFL1)
4682                Local1 = RefOf (BFL1)
4683                BFL1 = DerefOf (Local7)
4684            }
4685            Else
4686            {
4687                Local1 = RefOf (DST0)
4688            }
4689
4690            If (M003 (Concatenate (Arg0, "-m003"), Arg2, Local1, Local7))
4691            {
4692                /* Target Object can not be prepared */
4693
4694                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
4695                Return (0x01)
4696            }
4697
4698            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4699            {
4700                /* Unexpected exception during preparation */
4701
4702                Return (0x01)
4703            }
4704
4705            /* Use the reference to Target Object to be the ArgX Object */
4706
4707            If (M10D (Concatenate (Arg0, "-m10d"), RefOf (DST0), Arg2, Arg3, Arg4, Arg5,
4708                Arg6))
4709            {
4710                If (STCS)
4711                {
4712                    Debug = "m00d, error on using the Target Object as the ArgX Object"
4713                }
4714
4715                Return (0x01)
4716            }
4717
4718            Return (0x00)
4719        }
4720
4721        /* Check processing of an Source LocalX Object of the specified type */
4722        /* on immediate storing to an Element of Package of the specified type */
4723        /* m00e(<msg>, <aux>, <target type>, <source type>, */
4724        /*      <op>, <exc. condition>, <test data package>) */
4725        Method (M00E, 7, Serialized)
4726        {
4727            /* Source LocalX Object: Local1 */
4728            /* Target Package */
4729            Name (DST0, Package (0x01){})
4730            Concatenate (Arg0, "-", Arg0)
4731            Concatenate (Arg0, Concatenate (Mid (Arg4, 0x00, 0x02), Concatenate (Mid (Arg2, 0x00,
4732                0x02), Mid (Arg3, 0x00, 0x02))), Arg0)
4733            If (STCS)
4734            {
4735                Debug = Arg0
4736            }
4737
4738            /* Prepare Source of specified type */
4739
4740            Store (Arg6 [0x02], Local7)
4741            If (M004 (Concatenate (Arg0, "-m004"), Arg3, RefOf (Local1), Local7))
4742            {
4743                /* Source Object can not be prepared */
4744
4745                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg3, 0x00)
4746                Return (0x01)
4747            }
4748
4749            /* Prepare Target of specified type */
4750
4751            Local4 = DST0 [0x00]
4752            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4753            If (M013 (Concatenate (Arg0, "-m003"), Arg2, DST0, Local7))
4754            {
4755                /* Target Object can not be prepared */
4756
4757                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
4758                Return (0x01)
4759            }
4760
4761            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4762            {
4763                /* Unexpected exception during preparation */
4764
4765                Return (0x01)
4766            }
4767
4768            /* Check Target Object to have the initial type and value */
4769
4770            If (M015 (Concatenate (Arg0, "-m015"), Arg2, Local4, Local7))
4771            {
4772                /* Target Object can not be prepared */
4773
4774                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg2, 0x00)
4775                Return (0x01)
4776            }
4777
4778            /* Use a Source Object to immediately store into the Target */
4779
4780            If ((Arg4 == 0x00))
4781            {
4782                /* Store */
4783
4784                DST0 [0x00] = Local1
4785                        /*} elseif (LEqual(arg4, 1)) {	// CopyObject */
4786            /*		CopyObject(Local1, Index(DST0, 0)) */
4787            }
4788            Else
4789            {
4790                /* Unexpected Kind of Op (0 - Store, ...) */
4791
4792                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg4, 0x00)
4793                Return (0x01)
4794            }
4795
4796            If (Arg5)
4797            {
4798                /* Exception is expected */
4799
4800                If (!CH06 (Arg0, 0x60, 0xFF))
4801                {
4802                    If (STCS)
4803                    {
4804                        M000 (0x02, 0x0100, Arg2, Arg3)
4805                    }
4806                }
4807            }
4808            ElseIf (CH03 (Arg0, Z122, __LINE__, 0x00, Arg2))
4809            {
4810                /* Storing caused unexpected exception */
4811
4812                If (STCS)
4813                {
4814                    M000 (0x02, 0x0100, Arg2, Arg3)
4815                }
4816            }
4817            Else
4818            {
4819                /* Check Target Object to have the expected type and value */
4820                /* Target accept type on storing to an Element of Package is 1 */
4821                Local0 = 0x01
4822                M006 (Concatenate (Arg0, "-m006"), Local4, Arg2, Arg3, Arg4, Local0, Arg6)
4823            }
4824
4825            /* Check Source Object value and type is not corrupted after storing */
4826
4827            Store (Arg6 [0x02], Local7)
4828            If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
4829            {
4830                If (STCS)
4831                {
4832                    Debug = "m00e, Source Object has been corrupted during storing"
4833                }
4834            }
4835
4836            /* Check auxiliary Target Object to have the initial type and value */
4837
4838            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4839            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4840            {
4841                If (STCS)
4842                {
4843                    Debug = "m00e, auxiliary Target Object has been corrupted during storing"
4844                }
4845
4846                Return (0x01)
4847            }
4848
4849            /* Update Target Object */
4850
4851            If (M017 (Concatenate (Arg0, "-m007"), DST0))
4852            {
4853                If (STCS)
4854                {
4855                    Debug = "m00e, Error during update of Target"
4856                }
4857
4858                Return (0x01)
4859            }
4860
4861            /* Check Source Object value and type is not corrupted after updating the copy */
4862
4863            Store (Arg6 [0x02], Local7)
4864            If (M005 (Concatenate (Arg0, "-m005"), Arg3, RefOf (Local1), Local7))
4865            {
4866                If (STCS)
4867                {
4868                    Debug = "m00e, Source Object has been corrupted during update of Target"
4869                }
4870            }
4871
4872            /* Check auxiliary Target Object to have the initial type and value */
4873
4874            Store (DerefOf (Arg6 [0x03]) [Arg2], Local7)
4875            If (M016 (Concatenate (Arg0, "-m016"), Arg2, 0x00, Local7))
4876            {
4877                If (STCS)
4878                {
4879                    Debug = "m00e, auxiliary Target Object has been corrupted during update of Target"
4880                }
4881
4882                Return (0x01)
4883            }
4884
4885            Return (0x00)
4886        }
4887
4888        /* Prepare Target as Package Element of specified type */
4889
4890        Method (M013, 4, Serialized)
4891        {
4892            Switch (ToInteger (Arg1))
4893            {
4894                Case (0x00)
4895                {
4896                                /* Only check */
4897                }
4898                Case (0x01)
4899                {
4900                    CopyObject (DerefOf (Arg3), INT1) /* \M689.INT1 */
4901                    Arg2 [0x00] = INT1 /* \M689.INT1 */
4902                }
4903                Case (0x02)
4904                {
4905                    CopyObject (DerefOf (Arg3), STR1) /* \M689.STR1 */
4906                    Arg2 [0x00] = STR1 /* \M689.STR1 */
4907                }
4908                Case (0x03)
4909                {
4910                    If (Y136)
4911                    {
4912                        CopyObject (DerefOf (Arg3), BUF1) /* \M689.BUF1 */
4913                    }
4914                    Else
4915                    {
4916                        M687 (DerefOf (Arg3), RefOf (BUF1))
4917                    }
4918
4919                    Arg2 [0x00] = BUF1 /* \M689.BUF1 */
4920                }
4921                Case (0x04)
4922                {
4923                    CopyObject (DerefOf (Arg3), PAC1) /* \M689.PAC1 */
4924                    Arg2 [0x00] = PAC1 /* \M689.PAC1 */
4925                }
4926                Case (0x11)
4927                {
4928                    CopyObject (RefOf (ORF1), REF1) /* \M689.REF1 */
4929                    /*if (y522) { */
4930
4931                    Arg2 [0x00] = REF1 /* \M689.REF1 */
4932                                /*} else { */
4933                /*	Store(DeRefof(REF1), Index(arg2, 0)) */
4934                /*} */
4935                }
4936                /* Unexpected Target Type */
4937
4938                Default
4939                {
4940                    ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
4941                    Return (0x01)
4942                }
4943
4944            }
4945
4946            If (CH03 (Arg0, Z122, __LINE__, 0x00, 0x00))
4947            {
4948                /*Exception during preparing of Target Object */
4949
4950                Return (0x01)
4951            }
4952
4953            If ((Arg1 == 0x11))
4954            {
4955                /* Reference */
4956
4957                Return (0x00)
4958            }
4959
4960            Local0 = ObjectType (Arg2 [0x00])
4961            If ((Local0 != Arg1))
4962            {
4963                /* ObjectType of Target can not be set up */
4964
4965                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
4966                Return (0x01)
4967            }
4968
4969            Return (0x00)
4970        }
4971
4972        /* Check Target Object type is not corrupted after storing, */
4973        /* for the computational data types verify its value against */
4974        /* the Object-initializer value */
4975        Method (M015, 4, Serialized)
4976        {
4977            Name (MMM2, 0x00) /* An auxiliary Object to invoke Method */
4978            If ((Arg1 == 0x11))
4979            {
4980                /* Target object is a reference */
4981                /* Check that it can be used as reference */
4982                Local0 = DerefOf (Arg2)
4983                Local3 = DerefOf (Local0)
4984                If (CH03 (Arg0, Z122, __LINE__, 0x00, Local0))
4985                {
4986                    /* Derefof caused unexpected exception */
4987
4988                    Return (0x01)
4989                }
4990            }
4991            Else
4992            {
4993                Local0 = ObjectType (Arg2)
4994                If ((Local0 != Arg1))
4995                {
4996                    /* ObjectType of Target object is corrupted */
4997
4998                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
4999                    Return (0x01)
5000                }
5001            }
5002
5003            Switch (ToInteger (Arg1))
5004            {
5005                Case (0x00)
5006                {
5007                    Return (0x00)
5008                }
5009                Case (0x01)
5010                {
5011                    Local0 = ObjectType (INT1)
5012                }
5013                Case (0x02)
5014                {
5015                    Local0 = ObjectType (STR1)
5016                }
5017                Case (0x03)
5018                {
5019                    Local0 = ObjectType (BUF1)
5020                }
5021                Case (0x04)
5022                {
5023                    Local0 = ObjectType (PAC1)
5024                }
5025                Case (0x05)
5026                {
5027                    Local0 = 0x05
5028                }
5029                Case (0x06)
5030                {
5031                    Local0 = ObjectType (DEV1)
5032                }
5033                Case (0x07)
5034                {
5035                    Local0 = ObjectType (EVE1)
5036                }
5037                Case (0x08)
5038                {
5039                    Local0 = ObjectType (MMM1)
5040                }
5041                Case (0x09)
5042                {
5043                    Local0 = ObjectType (MTX1)
5044                }
5045                Case (0x0A)
5046                {
5047                    Local0 = ObjectType (OPR1)
5048                }
5049                Case (0x0B)
5050                {
5051                    Local0 = ObjectType (PWR1)
5052                }
5053                Case (0x0C)
5054                {
5055                    Local0 = ObjectType (CPU1)
5056                }
5057                Case (0x0D)
5058                {
5059                    Local0 = ObjectType (TZN1)
5060                }
5061                Case (0x0E)
5062                {
5063                    Local0 = 0x0E
5064                }
5065                Case (0x11)
5066                {
5067                    /*Store(Derefof(REF1), Local3) */
5068
5069                    Local3 = REF1 /* \M689.REF1 */
5070                    If (CH03 (Arg0, Z122, __LINE__, 0x00, Local0))
5071                    {
5072                        /* Derefof caused unexpected exception */
5073
5074                        Return (0x01)
5075                    }
5076
5077                    Return (0x00)
5078                }
5079                /* Unexpected Result Type */
5080
5081                Default
5082                {
5083                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
5084                    Return (0x01)
5085                }
5086
5087            }
5088
5089            If ((Local0 != Arg1))
5090            {
5091                /* Mismatch of Target Type against the specified one */
5092
5093                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
5094                If (STCS)
5095                {
5096                    M000 (0x03, 0x01000000, Local0, Arg1)
5097                }
5098
5099                Return (0x01)
5100            }
5101            Else
5102            {
5103                /* Check equality of the Source value to the Object-initializer one */
5104
5105                Switch (ToInteger (Arg1))
5106                {
5107                    Case (0x01)
5108                    {
5109                        If ((INT1 != DerefOf (Arg3)))
5110                        {
5111                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, INT1, DerefOf (Arg3))
5112                            Return (0x01)
5113                        }
5114
5115                        If ((DerefOf (Arg2) != INT1))
5116                        {
5117                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), INT1)
5118                            Return (0x01)
5119                        }
5120                    }
5121                    Case (0x02)
5122                    {
5123                        If ((STR1 != DerefOf (Arg3)))
5124                        {
5125                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, STR1, DerefOf (Arg3))
5126                            Return (0x01)
5127                        }
5128
5129                        If ((DerefOf (Arg2) != STR1))
5130                        {
5131                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), STR1)
5132                            Return (0x01)
5133                        }
5134                    }
5135                    Case (0x03)
5136                    {
5137                        If ((BUF1 != DerefOf (Arg3)))
5138                        {
5139                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BUF1, DerefOf (Arg3))
5140                            Return (0x01)
5141                        }
5142
5143                        If ((DerefOf (Arg2) != BUF1))
5144                        {
5145                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), BUF1)
5146                            Return (0x01)
5147                        }
5148                    }
5149                    Case (0x04)
5150                    {
5151                        Local0 = SizeOf (PAC1)
5152                        If ((SizeOf (Arg3) != Local0))
5153                        {
5154                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg3), Local0)
5155                            Return (0x01)
5156                        }
5157
5158                        While (Local0)
5159                        {
5160                            Local0--
5161                            Local1 = ObjectType (DerefOf (DerefOf (Arg3) [Local0]))
5162                            Local2 = ObjectType (DerefOf (PAC1 [Local0]))
5163                            If ((Local1 != Local2))
5164                            {
5165                                /* ObjectType is corrupted */
5166
5167                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
5168                                Return (0x01)
5169                            }
5170                            ElseIf (DerefOf (B679 [Local1]))
5171                            {
5172                                /* the computational data type */
5173
5174                                If ((DerefOf (DerefOf (Arg3) [Local0]) != DerefOf (PAC1 [
5175                                    Local0])))
5176                                {
5177                                    /* The value is corrupted */
5178
5179                                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg3) [Local0]),
5180                                        Local0)
5181                                    Return (0x01)
5182                                }
5183                            }
5184                        }
5185
5186                        Local0 = SizeOf (PAC1)
5187                        If ((SizeOf (Arg2) != Local0))
5188                        {
5189                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg2), Local0)
5190                            Return (0x01)
5191                        }
5192
5193                        While (Local0)
5194                        {
5195                            Local0--
5196                            Local1 = ObjectType (DerefOf (DerefOf (Arg2) [Local0]))
5197                            Local2 = ObjectType (DerefOf (PAC1 [Local0]))
5198                            If ((Local1 != Local2))
5199                            {
5200                                /* ObjectType is corrupted */
5201
5202                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
5203                                Return (0x01)
5204                            }
5205                            ElseIf (DerefOf (B679 [Local1]))
5206                            {
5207                                /* the computational data type */
5208
5209                                If ((DerefOf (DerefOf (Arg2) [Local0]) != DerefOf (PAC1 [
5210                                    Local0])))
5211                                {
5212                                    /* The value is corrupted */
5213
5214                                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg2) [Local0]),
5215                                        Local0)
5216                                    Return (0x01)
5217                                }
5218                            }
5219                        }
5220                    }
5221                    Case (0x05)
5222                    {
5223                        If ((DerefOf (Arg2) != DerefOf (Arg3)))
5224                        {
5225                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), DerefOf (Arg3))
5226                            Return (0x01)
5227                        }
5228                    }
5229                    Case (0x08)
5230                    {
5231                        CopyObject (DerefOf (Arg2), MMM2) /* \M689.M015.MMM2 */
5232                        If ((MMM2 != MMM1))
5233                        {
5234                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, MMM2, MMM1)
5235                            Return (0x01)
5236                        }
5237                    }
5238                    Case (0x0E)
5239                    {
5240                        If ((DerefOf (Arg2) != DerefOf (Arg3)))
5241                        {
5242                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (Arg2), DerefOf (Arg3))
5243                            Return (0x01)
5244                        }
5245                    }
5246
5247                }
5248            }
5249
5250            Return (0x00)
5251        }
5252
5253        /* Check auxiliary Target Named Object type is not corrupted, */
5254        /* for the computational data types verify its value against */
5255        /* the Object-initializer value */
5256        Method (M016, 4, Serialized)
5257        {
5258            Switch (ToInteger (Arg1))
5259            {
5260                Case (0x00)
5261                {
5262                    Return (0x00)
5263                }
5264                Case (0x01)
5265                {
5266                    Local0 = ObjectType (INT1)
5267                }
5268                Case (0x02)
5269                {
5270                    Local0 = ObjectType (STR1)
5271                }
5272                Case (0x03)
5273                {
5274                    Local0 = ObjectType (BUF1)
5275                }
5276                Case (0x04)
5277                {
5278                    Local0 = ObjectType (PAC1)
5279                }
5280                Case (0x05)
5281                {
5282                    Local0 = 0x05
5283                }
5284                Case (0x06)
5285                {
5286                    Local0 = ObjectType (DEV1)
5287                }
5288                Case (0x07)
5289                {
5290                    Local0 = ObjectType (EVE1)
5291                }
5292                Case (0x08)
5293                {
5294                    Local0 = ObjectType (MMM1)
5295                }
5296                Case (0x09)
5297                {
5298                    Local0 = ObjectType (MTX1)
5299                }
5300                Case (0x0A)
5301                {
5302                    Local0 = ObjectType (OPR1)
5303                }
5304                Case (0x0B)
5305                {
5306                    Local0 = ObjectType (PWR1)
5307                }
5308                Case (0x0C)
5309                {
5310                    Local0 = ObjectType (CPU1)
5311                }
5312                Case (0x0D)
5313                {
5314                    Local0 = ObjectType (TZN1)
5315                }
5316                Case (0x0E)
5317                {
5318                    Local0 = 0x0E
5319                }
5320                Case (0x11)
5321                {
5322                    /*Store(Derefof(REF1), Local3) */
5323
5324                    Local3 = REF1 /* \M689.REF1 */
5325                    If (CH03 (Arg0, Z122, __LINE__, 0x00, 0x00))
5326                    {
5327                        /* Derefof caused unexpected exception */
5328
5329                        Return (0x01)
5330                    }
5331
5332                    Return (0x00)
5333                }
5334                /* Unexpected Result Type */
5335
5336                Default
5337                {
5338                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
5339                    Return (0x01)
5340                }
5341
5342            }
5343
5344            If ((Local0 != Arg1))
5345            {
5346                /* Mismatch of Target Type against the specified one */
5347
5348                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local0, Arg1)
5349                If (STCS)
5350                {
5351                    M000 (0x03, 0x01000000, Local0, Arg1)
5352                }
5353
5354                Return (0x01)
5355            }
5356            Else
5357            {
5358                /* Check equality of the Source value to the Object-initializer one */
5359
5360                Switch (ToInteger (Arg1))
5361                {
5362                    Case (0x01)
5363                    {
5364                        If ((INT1 != DerefOf (Arg3)))
5365                        {
5366                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, INT1, DerefOf (Arg3))
5367                            Return (0x01)
5368                        }
5369                    }
5370                    Case (0x02)
5371                    {
5372                        If ((STR1 != DerefOf (Arg3)))
5373                        {
5374                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, STR1, DerefOf (Arg3))
5375                            Return (0x01)
5376                        }
5377                    }
5378                    Case (0x03)
5379                    {
5380                        If ((BUF1 != DerefOf (Arg3)))
5381                        {
5382                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, BUF1, DerefOf (Arg3))
5383                            Return (0x01)
5384                        }
5385                    }
5386                    Case (0x04)
5387                    {
5388                        Local0 = SizeOf (PAC1)
5389                        If ((SizeOf (Arg3) != Local0))
5390                        {
5391                            ERR (Arg0, Z122, __LINE__, 0x00, 0x00, SizeOf (Arg3), Local0)
5392                            Return (0x01)
5393                        }
5394
5395                        While (Local0)
5396                        {
5397                            Local0--
5398                            Local1 = ObjectType (DerefOf (DerefOf (Arg3) [Local0]))
5399                            Local2 = ObjectType (DerefOf (PAC1 [Local0]))
5400                            If ((Local1 != Local2))
5401                            {
5402                                /* ObjectType is corrupted */
5403
5404                                ERR (Arg0, Z122, __LINE__, 0x00, 0x00, Local1, Local2)
5405                                Return (0x01)
5406                            }
5407                            ElseIf (DerefOf (B679 [Local1]))
5408                            {
5409                                /* the computational data type */
5410
5411                                If ((DerefOf (DerefOf (Arg3) [Local0]) != DerefOf (PAC1 [
5412                                    Local0])))
5413                                {
5414                                    /* The value is corrupted */
5415
5416                                    ERR (Arg0, Z122, __LINE__, 0x00, 0x00, DerefOf (DerefOf (Arg3) [Local0]),
5417                                        Local0)
5418                                    Return (0x01)
5419                                }
5420                            }
5421                        }
5422                    }
5423
5424                }
5425            }
5426
5427            Return (0x00)
5428        }
5429
5430        /* Update the first element of specified Package */
5431        /* m017(<msg>, <Package>) */
5432        Method (M017, 2, NotSerialized)
5433        {
5434            Local0 = ObjectType (Arg1 [0x00])
5435            If (DerefOf (B66F [Local0]))
5436            {
5437                /* Can be used in Index Operator */
5438
5439                Local1 = SizeOf (Arg1 [0x00])
5440                If (Local1)
5441                {
5442                    /* Update the last Member Object */
5443
5444                    Local1--
5445                    Local2 = DerefOf (Arg1 [0x00]) [Local1]
5446                    Local3 = RefOf (Local2)
5447                    Local4 = DerefOf (Local2)
5448                    If ((ObjectType (Local4) == 0x01))
5449                    {
5450                        /* Integer */
5451
5452                        Store (~Local4, DerefOf (Local3))
5453                    }
5454                    Else
5455                    {
5456                        DerefOf (Local3) = Ones
5457                        If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1 [0x00]))
5458                        {
5459                            /* Store caused unexpected exception */
5460
5461                            Return (0x01)
5462                        }
5463                    }
5464
5465                    If (Local1)
5466                    {
5467                        /* Update the First Member Object */
5468
5469                        Local2 = DerefOf (Arg1 [0x00]) [0x00]
5470                        Local4 = DerefOf (Local2)
5471                        If ((ObjectType (Local4) == 0x01))
5472                        {
5473                            /* Integer */
5474
5475                            Store (~Local4, DerefOf (Local3))
5476                        }
5477                        Else
5478                        {
5479                            DerefOf (Local3) = Ones
5480                            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1 [0x00]))
5481                            {
5482                                /* Store caused unexpected exception */
5483
5484                                Return (0x01)
5485                            }
5486                        }
5487                    }
5488                }
5489                ElseIf ((Local0 == 0x04))
5490                {
5491                    /* Empty Package */
5492
5493                    Arg1 [0x00] = Package (0x01)
5494                        {
5495                            "update string"
5496                        }
5497                }
5498                Else
5499                {
5500                    /* Empty String/Buffer */
5501
5502                    Arg1 [0x00] = "update string"
5503                }
5504            }
5505            ElseIf (DerefOf (B674 [Local0]))
5506            {
5507                /* Non-Computational Data Objects */
5508
5509                Arg1 [0x00] = "update string"
5510            }
5511            Else
5512            {
5513                Store (~ToInteger (DerefOf (Arg1 [0x00])), Arg1 [
5514                    0x00])
5515            }
5516
5517            If (CH03 (Arg0, Z122, __LINE__, 0x00, Arg1 [0x00]))
5518            {
5519                /* Update caused unexpected exception */
5520
5521                Return (0x01)
5522            }
5523
5524            Return (0x00)
5525        }
5526
5527        /* Test data packages for each type of the Result Object */
5528        /* Empty Package */
5529        Name (P000, Package (0x12){})
5530        /* Target Objects initial values for common use */
5531
5532        Name (P001, Package (0x12)
5533        {
5534            0x00,
5535            0xFEDCBA9876543211,
5536            "target string",
5537            Buffer (0x11)
5538            {
5539                /* 0000 */  0xC3, 0xC4, 0xC5, 0x00, 0xC6, 0xC7, 0xC8, 0xC9,  // ........
5540                /* 0008 */  0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xC0, 0xC1,  // ........
5541                /* 0010 */  0xC2                                             // .
5542            },
5543
5544            Package (0x02)
5545            {
5546                "target package",
5547                0xFEDCBA9876543210
5548            },
5549
5550            Buffer (0x09)
5551            {
5552                /* 0000 */  0x9A, 0x8A, 0x7A, 0x6A, 0x5A, 0x4A, 0x3A, 0x2A,  // ..zjZJ:*
5553                /* 0008 */  0x1A                                             // .
5554            },
5555
5556            0x00,
5557            0x00,
5558            Package (0x02)
5559            {
5560                MMMY,
5561                "ff0Y"
5562            },
5563
5564            0x00,
5565            0x00,
5566            0x00,
5567            0x00,
5568            0x00,
5569            Buffer (0x09)
5570            {
5571                /* 0000 */  0x9A, 0x8A, 0x7A, 0x6A, 0x5A, 0x4A, 0x3A, 0x2A,  // ..zjZJ:*
5572                /* 0008 */  0x1A                                             // .
5573            },
5574
5575            0x00,
5576            0x00,
5577            0x00
5578        })
5579        /* Uninitialized */
5580
5581        Name (P002, Package (0x06)
5582        {
5583            /* Type of the Result(Source) Object */
5584
5585            0x00,
5586            /* Number of different initial values */
5587
5588            0x01,
5589            /* SRC0 initial value */
5590
5591            0x00,
5592            /* Target Objects initial values */
5593
5594            P001,
5595            /* Benchmark Result object value */
5596
5597            0x00,
5598            /* Benchmark Result object converted to Target type values */
5599
5600            P000
5601        })
5602        /* Integer */
5603
5604        Name (P132, Package (0x06)
5605        {
5606            /* Type of the Result(Source) Object */
5607
5608            0x01,
5609            /* Number of different initial values */
5610
5611            0x01,
5612            /* SRC0 initial value */
5613
5614            0xFEDCBA9876543210,
5615            /* Target Objects initial values */
5616
5617            P001,
5618            /* Benchmark Result object value */
5619
5620            0xFEDCBA9876543210,
5621            /* Benchmark Result object converted to Target type values */
5622
5623            Package (0x12)
5624            {
5625                0x00,
5626                0xFEDCBA9876543210,
5627                "76543210",
5628                Buffer (0x11)
5629                {
5630                     0x10, 0x32, 0x54, 0x76                           // .2Tv
5631                },
5632
5633                0x00,
5634                Buffer (0x09)
5635                {
5636                     0x10, 0x32, 0x54, 0x76                           // .2Tv
5637                },
5638
5639                0x00,
5640                0x00,
5641                0x00,
5642                0x00,
5643                0x00,
5644                0x00,
5645                0x00,
5646                0x00,
5647                Buffer (0x09)
5648                {
5649                     0x10, 0x32, 0x54, 0x76                           // .2Tv
5650                },
5651
5652                0x00,
5653                0x00,
5654                0x00
5655            }
5656        })
5657        Name (P164, Package (0x06)
5658        {
5659            /* Type of the Result(Source) Object */
5660
5661            0x01,
5662            /* Number of different initial values */
5663
5664            0x01,
5665            /* SRC0 initial value */
5666
5667            0xFEDCBA9876543210,
5668            /* Target Objects initial values */
5669
5670            P001,
5671            /* Benchmark Result object value */
5672
5673            0xFEDCBA9876543210,
5674            /* Benchmark Result object converted to Target type values */
5675
5676            Package (0x12)
5677            {
5678                0x00,
5679                0xFEDCBA9876543210,
5680                "FEDCBA9876543210",
5681                Buffer (0x11)
5682                {
5683                     0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE   // .2Tv....
5684                },
5685
5686                0x00,
5687                Buffer (0x09)
5688                {
5689                     0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE   // .2Tv....
5690                },
5691
5692                0x00,
5693                0x00,
5694                0x00,
5695                0x00,
5696                0x00,
5697                0x00,
5698                0x00,
5699                0x00,
5700                Buffer (0x09)
5701                {
5702                     0x10, 0x32, 0x54, 0x76, 0x98, 0xBA, 0xDC, 0xFE   // .2Tv....
5703                },
5704
5705                0x00,
5706                0x00,
5707                0x00
5708            }
5709        })
5710        /* String */
5711
5712        Name (P201, Package (0x06)
5713        {
5714            /* Type of the Result(Source) Object */
5715
5716            0x02,
5717            /* Number of different initial values */
5718
5719            0x01,
5720            /* SRC0 initial value */
5721
5722            "\x01",
5723            /* Target Objects initial values */
5724
5725            P001,
5726            /* Benchmark Result object value */
5727
5728            "\x01",
5729            /* Benchmark Result object converted to Target type values */
5730
5731            Package (0x12)
5732            {
5733                0x00,
5734                0x00,
5735                "\x01",
5736                Buffer (0x11)
5737                {
5738                     0x01                                             // .
5739                },
5740
5741                0x00,
5742                Buffer (0x09)
5743                {
5744                     0x01                                             // .
5745                },
5746
5747                0x00,
5748                0x00,
5749                0x00,
5750                0x00,
5751                0x00,
5752                0x00,
5753                0x00,
5754                0x00,
5755                Buffer (0x09)
5756                {
5757                     0x01                                             // .
5758                },
5759
5760                0x00,
5761                0x00,
5762                0x00
5763            }
5764        })
5765        Name (P202, Package (0x06)
5766        {
5767            /* Type of the Result(Source) Object */
5768
5769            0x02,
5770            /* Number of different initial values */
5771
5772            0x02,
5773            /* SRC0 initial value */
5774
5775            "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*",
5776            /* Target Objects initial values */
5777
5778            P001,
5779            /* Benchmark Result object value */
5780
5781            "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*",
5782            /* Benchmark Result object converted to Target type values */
5783
5784            Package (0x12)
5785            {
5786                0x00,
5787                0x00,
5788                "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*",
5789                Buffer (0x11)
5790                {
5791                    /* 0000 */  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,  // !"#$%&'(
5792                    /* 0008 */  0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,  // )*+,-./0
5793                    /* 0010 */  0x31                                             // 1
5794                },
5795
5796                0x00,
5797                Buffer (0x09)
5798                {
5799                    /* 0000 */  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,  // !"#$%&'(
5800                    /* 0008 */  0x09                                             // .
5801                },
5802
5803                0x00,
5804                0x00,
5805                0x00,
5806                0x00,
5807                0x00,
5808                0x00,
5809                0x00,
5810                0x00,
5811                Buffer (0x09)
5812                {
5813                    /* 0000 */  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,  // !"#$%&'(
5814                    /* 0008 */  0x09                                             // .
5815                },
5816
5817                0x00,
5818                0x00,
5819                0x00
5820            }
5821        })
5822        Name (P232, Package (0x05)
5823        {
5824            /* Type of the Result(Source) Object */
5825
5826            0x02,
5827            /* Number of different initial values */
5828
5829            0x02,
5830            Package (0x06)
5831            {
5832                /* Type of the Result(Source) Object */
5833
5834                0x03,
5835                /* Number of different initial values */
5836
5837                0x00,
5838                /* SRC0 initial value */
5839
5840                "fedcba98 string",
5841                /* Target Objects initial values */
5842
5843                P001,
5844                /* Benchmark Result object value */
5845
5846                "fedcba98 string",
5847                /* Benchmark Result object converted to Target type values */
5848
5849                Package (0x12)
5850                {
5851                    0x00,
5852                    0xFEDCBA98,
5853                    "fedcba98 string",
5854                    Buffer (0x11)
5855                    {
5856                        /* 0000 */  0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,  // fedcba98
5857                        /* 0008 */  0x20, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67         //  string
5858                    },
5859
5860                    0x00,
5861                    Buffer (0x09)
5862                    {
5863                         0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38   // fedcba98
5864                    },
5865
5866                    0x00,
5867                    0x00,
5868                    0x00,
5869                    0x00,
5870                    0x00,
5871                    0x00,
5872                    0x00,
5873                    0x00,
5874                    Buffer (0x09)
5875                    {
5876                         0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38   // fedcba98
5877                    },
5878
5879                    0x00,
5880                    0x00,
5881                    0x00
5882                }
5883            },
5884
5885            P201,
5886            P202
5887        })
5888        Name (P264, Package (0x05)
5889        {
5890            /* Type of the Result(Source) Object */
5891
5892            0x02,
5893            /* Number of different initial values */
5894
5895            0x03,
5896            Package (0x06)
5897            {
5898                /* Type of the Result(Source) Object */
5899
5900                0x02,
5901                /* Number of different initial values */
5902
5903                0x00,
5904                /* SRC0 initial value */
5905
5906                "fedcba9876543210 string",
5907                /* Target Objects initial values */
5908
5909                P001,
5910                /* Benchmark Result object value */
5911
5912                "fedcba9876543210 string",
5913                /* Benchmark Result object converted to Target type values */
5914
5915                Package (0x12)
5916                {
5917                    0x00,
5918                    0xFEDCBA9876543210,
5919                    "fedcba9876543210 string",
5920                    Buffer (0x11)
5921                    {
5922                        /* 0000 */  0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,  // fedcba98
5923                        /* 0008 */  0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30,  // 76543210
5924                        /* 0010 */  0x20                                             //
5925                    },
5926
5927                    0x00,
5928                    Buffer (0x09)
5929                    {
5930                        /* 0000 */  0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,  // fedcba98
5931                        /* 0008 */  0x17                                             // .
5932                    },
5933
5934                    0x00,
5935                    0x00,
5936                    0x00,
5937                    0x00,
5938                    0x00,
5939                    0x00,
5940                    0x00,
5941                    0x00,
5942                    Buffer (0x09)
5943                    {
5944                        /* 0000 */  0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x39, 0x38,  // fedcba98
5945                        /* 0008 */  0x17                                             // .
5946                    },
5947
5948                    0x00,
5949                    0x00,
5950                    0x00
5951                }
5952            },
5953
5954            P201,
5955            P202
5956        })
5957        /* Buffer */
5958
5959        Name (P301, Package (0x06)
5960        {
5961            /* Type of the Result(Source) Object */
5962
5963            0x03,
5964            /* Number of different initial values */
5965
5966            0x01,
5967            /* SRC0 initial value */
5968
5969            Buffer (0x43)
5970            {
5971                /* 0000 */  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,  // ........
5972                /* 0008 */  0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,  // ........
5973                /* 0010 */  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,  // ........
5974                /* 0018 */  0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,  // .......
5975                /* 0020 */  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,  // !"#$%&'(
5976                /* 0028 */  0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,  // )*+,-./0
5977                /* 0030 */  0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,  // 12345678
5978                /* 0038 */  0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,  // 9:;<=>?@
5979                /* 0040 */  0x41, 0x42, 0x43                                 // ABC
5980            },
5981
5982            /* Target Objects initial values */
5983
5984            P001,
5985            /* Benchmark Result object value */
5986
5987            Buffer (0x43)
5988            {
5989                /* 0000 */  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,  // ........
5990                /* 0008 */  0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,  // ........
5991                /* 0010 */  0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,  // ........
5992                /* 0018 */  0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,  // .......
5993                /* 0020 */  0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,  // !"#$%&'(
5994                /* 0028 */  0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,  // )*+,-./0
5995                /* 0030 */  0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,  // 12345678
5996                /* 0038 */  0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,  // 9:;<=>?@
5997                /* 0040 */  0x41, 0x42, 0x43                                 // ABC
5998            },
5999
6000            /* Benchmark Result object converted to Target type values */
6001
6002            Package (0x12)
6003            {
6004                0x00,
6005                0x0807060504030201,
6006                "01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43",
6007                Buffer (0x11)
6008                {
6009                    /* 0000 */  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,  // ........
6010                    /* 0008 */  0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,  // ........
6011                    /* 0010 */  0x11                                             // .
6012                },
6013
6014                0x00,
6015                Buffer (0x09)
6016                {
6017                    /* 0000 */  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,  // ........
6018                    /* 0008 */  0x09                                             // .
6019                },
6020
6021                0x00,
6022                0x00,
6023                0x00,
6024                0x00,
6025                0x00,
6026                0x00,
6027                0x00,
6028                0x00,
6029                Buffer (0x09)
6030                {
6031                    /* 0000 */  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,  // ........
6032                    /* 0008 */  0x09                                             // .
6033                },
6034
6035                0x00,
6036                0x00,
6037                0x00
6038            }
6039        })
6040        Name (P300, Package (0x04)
6041        {
6042            /* Type of the Result(Source) Object */
6043
6044            0x03,
6045            /* Number of different initial values */
6046
6047            0x02,
6048            Package (0x06)
6049            {
6050                /* Type of the Result(Source) Object */
6051
6052                0x03,
6053                /* Number of different initial values */
6054
6055                0x00,
6056                /* SRC0 initial value */
6057
6058                Buffer (0x09)
6059                {
6060                    /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
6061                    /* 0008 */  0x88                                             // .
6062                },
6063
6064                /* Target Objects initial values */
6065
6066                P001,
6067                /* Benchmark Result object value */
6068
6069                Buffer (0x09)
6070                {
6071                    /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
6072                    /* 0008 */  0x88                                             // .
6073                },
6074
6075                /* Benchmark Result object converted to Target type values */
6076
6077                Package (0x12)
6078                {
6079                    0x00,
6080                    0xF1F2F3F4F5F6F7F8,
6081                    "F8 F7 F6 F5 F4 F3 F2 F1 88",
6082                    Buffer (0x11)
6083                    {
6084                        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
6085                        /* 0008 */  0x88                                             // .
6086                    },
6087
6088                    0x00,
6089                    Buffer (0x09)
6090                    {
6091                        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
6092                        /* 0008 */  0x08                                             // .
6093                    },
6094
6095                    0x00,
6096                    0x00,
6097                    0x00,
6098                    0x00,
6099                    0x00,
6100                    0x00,
6101                    0x00,
6102                    0x00,
6103                    Buffer (0x09)
6104                    {
6105                        /* 0000 */  0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1,  // ........
6106                        /* 0008 */  0x08                                             // .
6107                    },
6108
6109                    0x00,
6110                    0x00,
6111                    0x00
6112                }
6113            },
6114
6115            P301
6116        })
6117        /* Package */
6118
6119        Name (P401, Package (0x06)
6120        {
6121            /* Type of the Result(Source) Object */
6122
6123            0x04,
6124            /* Number of different initial values */
6125
6126            0x01,
6127            /* SRC0 initial value */
6128
6129            Package (0x01)
6130            {
6131                "test p401 package"
6132            },
6133
6134            /* Target Objects initial values */
6135
6136            P001,
6137            /* Benchmark Result object value */
6138
6139            Package (0x01)
6140            {
6141                "test p401 package"
6142            },
6143
6144            /* Benchmark Result object converted to Target type values */
6145
6146            Package (0x12)
6147            {
6148                0x00,
6149                0x00,
6150                0x00,
6151                0x00,
6152                Package (0x01)
6153                {
6154                    "test p401 package"
6155                },
6156
6157                0x00,
6158                0x00,
6159                0x00,
6160                0x00,
6161                0x00,
6162                0x00,
6163                0x00,
6164                0x00,
6165                0x00,
6166                0x00,
6167                0x00,
6168                0x00,
6169                0x00
6170            }
6171        })
6172        Name (P400, Package (0x04)
6173        {
6174            /* Type of the Result(Source) Object */
6175
6176            0x04,
6177            /* Number of different initial values */
6178
6179            0x02,
6180            Package (0x06)
6181            {
6182                /* Type of the Result(Source) Object */
6183
6184                0x04,
6185                /* Number of different initial values */
6186
6187                0x00,
6188                /* SRC0 initial value */
6189
6190                Package (0x03)
6191                {
6192                    0xFEDCBA987654321F,
6193                    "test package",
6194                    Buffer (0x09)
6195                    {
6196                        /* 0000 */  0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, 0x0C,  // ........
6197                        /* 0008 */  0x0B                                             // .
6198                    }
6199                },
6200
6201                /* Target Objects initial values */
6202
6203                P001,
6204                /* Benchmark Result object value */
6205
6206                Package (0x03)
6207                {
6208                    0xFEDCBA987654321F,
6209                    "test package",
6210                    Buffer (0x09)
6211                    {
6212                        /* 0000 */  0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, 0x0C,  // ........
6213                        /* 0008 */  0x0B                                             // .
6214                    }
6215                },
6216
6217                /* Benchmark Result object converted to Target type values */
6218
6219                Package (0x12)
6220                {
6221                    0x00,
6222                    0x00,
6223                    0x00,
6224                    0x00,
6225                    Package (0x03)
6226                    {
6227                        0xFEDCBA987654321F,
6228                        "test package",
6229                        Buffer (0x09)
6230                        {
6231                            /* 0000 */  0x13, 0x12, 0x11, 0x10, 0x0F, 0x0E, 0x0D, 0x0C,  // ........
6232                            /* 0008 */  0x0B                                             // .
6233                        }
6234                    },
6235
6236                    0x00,
6237                    0x00,
6238                    0x00,
6239                    0x00,
6240                    0x00,
6241                    0x00,
6242                    0x00,
6243                    0x00,
6244                    0x00,
6245                    0x00,
6246                    0x00,
6247                    0x00,
6248                    0x00
6249                }
6250            },
6251
6252            P401
6253        })
6254        /* Field Unit */
6255
6256        Name (P500, Package (0x06)
6257        {
6258            /* Type of the Result(Source) Object */
6259
6260            0x05,
6261            /* Number of different initial values */
6262
6263            0x01,
6264            /* SRC0 initial value */
6265
6266            Package (0x02)
6267            {
6268                0x00,
6269                Buffer (0x09)
6270                {
6271                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6272                    /* 0008 */  0x15                                             // .
6273                }
6274            },
6275
6276            /* Target Objects initial values */
6277
6278            P001,
6279            /* Benchmark Result object value */
6280
6281            Buffer (0x09)
6282            {
6283                /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6284                /* 0008 */  0x15                                             // .
6285            },
6286
6287            /* Benchmark Result object converted to Target type values */
6288
6289            Package (0x12)
6290            {
6291                0x00,
6292                0x2535455565758595,
6293                "95 85 75 65 55 45 35 25 15",
6294                Buffer (0x11)
6295                {
6296                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6297                    /* 0008 */  0x15                                             // .
6298                },
6299
6300                0x00,
6301                Buffer (0x09)
6302                {
6303                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6304                    /* 0008 */  0x15                                             // .
6305                },
6306
6307                0x00,
6308                0x00,
6309                0x00,
6310                0x00,
6311                0x00,
6312                0x00,
6313                0x00,
6314                0x00,
6315                Buffer (0x09)
6316                {
6317                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6318                    /* 0008 */  0x15                                             // .
6319                },
6320
6321                0x00,
6322                0x00,
6323                0x00
6324            }
6325        })
6326        /* Device */
6327
6328        Name (P600, Package (0x06)
6329        {
6330            /* Type of the Result(Source) Object */
6331
6332            0x06,
6333            /* Number of different initial values */
6334
6335            0x01,
6336            /* SRC0 initial value */
6337
6338            Buffer (0x02)
6339            {
6340                 0x79, 0x00                                       // y.
6341            },
6342
6343            /* Target Objects initial values */
6344
6345            P001,
6346            /* Benchmark Result object value */
6347
6348            0x00,
6349            /* Benchmark Result object converted to Target type values */
6350
6351            P000
6352        })
6353        /* Event */
6354
6355        Name (P700, Package (0x06)
6356        {
6357            /* Type of the Result(Source) Object */
6358
6359            0x07,
6360            /* Number of different initial values */
6361
6362            0x01,
6363            /* SRC0 initial value */
6364
6365            0x00,
6366            /* Target Objects initial values */
6367
6368            P001,
6369            /* Benchmark Result object value */
6370
6371            0x00,
6372            /* Benchmark Result object converted to Target type values */
6373
6374            P000
6375        })
6376        /* Method */
6377
6378        Name (P800, Package (0x06)
6379        {
6380            /* Type of the Result(Source) Object */
6381
6382            0x08,
6383            /* Number of different initial values */
6384
6385            0x01,
6386            /* SRC0 initial value */
6387
6388            Package (0x02)
6389            {
6390                MMMX,
6391                "ff0X"
6392            },
6393
6394            /* Target Objects initial values */
6395
6396            P001,
6397            /* Benchmark Result object value */
6398
6399            "ff0X",
6400            /* Benchmark Result object converted to Target type values */
6401
6402            Package (0x12)
6403            {
6404                0x00,
6405                0x0FF0,
6406                "ff0X",
6407                Buffer (0x11)
6408                {
6409                     0x66, 0x66, 0x30, 0x58                           // ff0X
6410                },
6411
6412                0x00,
6413                Buffer (0x09)
6414                {
6415                     0x66, 0x66, 0x30, 0x58                           // ff0X
6416                },
6417
6418                0x00,
6419                0x00,
6420                "ff0X",
6421                0x00,
6422                0x00,
6423                0x00,
6424                0x00,
6425                0x00,
6426                Buffer (0x09)
6427                {
6428                     0x66, 0x66, 0x30, 0x58                           // ff0X
6429                },
6430
6431                0x00,
6432                0x00,
6433                0x00
6434            }
6435        })
6436        /* Mutex */
6437
6438        Name (P900, Package (0x06)
6439        {
6440            /* Type of the Result(Source) Object */
6441
6442            0x09,
6443            /* Number of different initial values */
6444
6445            0x01,
6446            /* SRC0 initial value */
6447
6448            0x00,
6449            /* Target Objects initial values */
6450
6451            P001,
6452            /* Benchmark Result object value */
6453
6454            0x00,
6455            /* Benchmark Result object converted to Target type values */
6456
6457            P000
6458        })
6459        /* Operation Region */
6460
6461        Name (PA00, Package (0x06)
6462        {
6463            /* Type of the Result(Source) Object */
6464
6465            0x0A,
6466            /* Number of different initial values */
6467
6468            0x01,
6469            /* SRC0 initial value */
6470
6471            0x00,
6472            /* Target Objects initial values */
6473
6474            P001,
6475            /* Benchmark Result object value */
6476
6477            0x00,
6478            /* Benchmark Result object converted to Target type values */
6479
6480            P000
6481        })
6482        /* Power Resource */
6483
6484        Name (PB00, Package (0x06)
6485        {
6486            /* Type of the Result(Source) Object */
6487
6488            0x0B,
6489            /* Number of different initial values */
6490
6491            0x01,
6492            /* SRC0 initial value */
6493
6494            0x00,
6495            /* Target Objects initial values */
6496
6497            P001,
6498            /* Benchmark Result object value */
6499
6500            0x00,
6501            /* Benchmark Result object converted to Target type values */
6502
6503            P000
6504        })
6505        /* Processor */
6506
6507        Name (PC00, Package (0x06)
6508        {
6509            /* Type of the Result(Source) Object */
6510
6511            0x0C,
6512            /* Number of different initial values */
6513
6514            0x01,
6515            /* SRC0 initial value */
6516
6517            0x00,
6518            /* Target Objects initial values */
6519
6520            P001,
6521            /* Benchmark Result object value */
6522
6523            0x00,
6524            /* Benchmark Result object converted to Target type values */
6525
6526            P000
6527        })
6528        /* Thermal Zone */
6529
6530        Name (PD00, Package (0x06)
6531        {
6532            /* Type of the Result(Source) Object */
6533
6534            0x0D,
6535            /* Number of different initial values */
6536
6537            0x01,
6538            /* SRC0 initial value */
6539
6540            0x00,
6541            /* Target Objects initial values */
6542
6543            P001,
6544            /* Benchmark Result object value */
6545
6546            0x00,
6547            /* Benchmark Result object converted to Target type values */
6548
6549            P000
6550        })
6551        /* Buffer Field */
6552
6553        Name (PE00, Package (0x06)
6554        {
6555            /* Type of the Result(Source) Object */
6556
6557            0x0E,
6558            /* Number of different initial values */
6559
6560            0x00,
6561            /* SRC0 initial value */
6562
6563            Package (0x02)
6564            {
6565                0x00,
6566                Buffer (0x09)
6567                {
6568                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6569                    /* 0008 */  0x15                                             // .
6570                }
6571            },
6572
6573            /* Target Objects initial values */
6574
6575            P001,
6576            /* Benchmark Result object value */
6577
6578            Buffer (0x09)
6579            {
6580                /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6581                /* 0008 */  0x15                                             // .
6582            },
6583
6584            /* Benchmark Result object converted to Target type values */
6585
6586            Package (0x12)
6587            {
6588                0x00,
6589                0x2535455565758595,
6590                "95 85 75 65 55 45 35 25 15",
6591                Buffer (0x11)
6592                {
6593                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6594                    /* 0008 */  0x15                                             // .
6595                },
6596
6597                0x00,
6598                Buffer (0x09)
6599                {
6600                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6601                    /* 0008 */  0x15                                             // .
6602                },
6603
6604                0x00,
6605                0x00,
6606                0x00,
6607                0x00,
6608                0x00,
6609                0x00,
6610                0x00,
6611                0x00,
6612                Buffer (0x09)
6613                {
6614                    /* 0000 */  0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25,  // ..ueUE5%
6615                    /* 0008 */  0x15                                             // .
6616                },
6617
6618                0x00,
6619                0x00,
6620                0x00
6621            }
6622        })
6623        Name (PE01, Package (0x06)
6624        {
6625            /* Type of the Result(Source) Object */
6626
6627            0x0E,
6628            /* Number of different initial values */
6629
6630            0x01,
6631            /* SRC0 initial value */
6632
6633            Package (0x02)
6634            {
6635                0x01,
6636                Buffer (0x08)
6637                {
6638                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6639                }
6640            },
6641
6642            /* Target Objects initial values */
6643
6644            P001,
6645            /* Benchmark Result object value */
6646
6647            Buffer (0x08)
6648            {
6649                 0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6650            },
6651
6652            /* Benchmark Result object converted to Target type values */
6653
6654            Package (0x12)
6655            {
6656                0x00,
6657                0x2535455565758595,
6658                "95 85 75 65 55 45 35 25",
6659                Buffer (0x11)
6660                {
6661                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6662                },
6663
6664                0x00,
6665                Buffer (0x09)
6666                {
6667                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6668                },
6669
6670                0x00,
6671                0x00,
6672                0x00,
6673                0x00,
6674                0x00,
6675                0x00,
6676                0x00,
6677                0x00,
6678                Buffer (0x09)
6679                {
6680                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6681                },
6682
6683                0x00,
6684                0x00,
6685                0x00
6686            }
6687        })
6688        Name (PE02, Package (0x06)
6689        {
6690            /* Type of the Result(Source) Object */
6691
6692            0x0E,
6693            /* Number of different initial values */
6694
6695            0x01,
6696            /* SRC0 initial value */
6697
6698            Package (0x02)
6699            {
6700                0x01,
6701                Buffer (0x08)
6702                {
6703                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6704                }
6705            },
6706
6707            /* Target Objects initial values */
6708
6709            P001,
6710            /* Benchmark Result object value */
6711
6712            0x2535455565758595,
6713            /* Benchmark Result object converted to Target type values */
6714
6715            Package (0x12)
6716            {
6717                0x00,
6718                0x2535455565758595,
6719                "2535455565758595",
6720                Buffer (0x11)
6721                {
6722                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6723                },
6724
6725                0x00,
6726                Buffer (0x09)
6727                {
6728                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6729                },
6730
6731                0x00,
6732                0x00,
6733                0x00,
6734                0x00,
6735                0x00,
6736                0x00,
6737                0x00,
6738                0x00,
6739                Buffer (0x09)
6740                {
6741                     0x95, 0x85, 0x75, 0x65, 0x55, 0x45, 0x35, 0x25   // ..ueUE5%
6742                },
6743
6744                0x00,
6745                0x00,
6746                0x00
6747            }
6748        })
6749        Name (PE03, Package (0x06)
6750        {
6751            /* Type of the Result(Source) Object */
6752
6753            0x0E,
6754            /* Number of different initial values */
6755
6756            0x02,
6757            /* SRC0 initial value */
6758
6759            Package (0x02)
6760            {
6761                0x02,
6762                Buffer (0x04)
6763                {
6764                     0x95, 0x85, 0x75, 0x65                           // ..ue
6765                }
6766            },
6767
6768            /* Target Objects initial values */
6769
6770            P001,
6771            /* Benchmark Result object value */
6772
6773            Buffer() {0x95, 0x85, 0x75, 0x65},
6774            /* Benchmark Result object converted to Target type values */
6775
6776            Package (0x12)
6777            {
6778                0x00,
6779                Buffer() {0x95, 0x85, 0x75, 0x65},
6780                "65758595",
6781                Buffer (0x11)
6782                {
6783                     0x95, 0x85, 0x75, 0x65                           // ..ue
6784                },
6785
6786                0x00,
6787                Buffer (0x09)
6788                {
6789                     0x95, 0x85, 0x75, 0x65                           // ..ue
6790                },
6791
6792                0x00,
6793                0x00,
6794                0x00,
6795                0x00,
6796                0x00,
6797                0x00,
6798                0x00,
6799                0x00,
6800                Buffer (0x09)
6801                {
6802                     0x95, 0x85, 0x75, 0x65                           // ..ue
6803                },
6804
6805                0x00,
6806                0x00,
6807                0x00
6808            }
6809        })
6810        Name (PE04, Package (0x06)
6811        {
6812            /* Type of the Result(Source) Object */
6813
6814            0x0E,
6815            /* Number of different initial values */
6816
6817            0x02,
6818            /* SRC0 initial value */
6819
6820            Package (0x02)
6821            {
6822                0x02,
6823                Buffer (0x04)
6824                {
6825                     0x95, 0x85, 0x75, 0x65                           // ..ue
6826                }
6827            },
6828
6829            /* Target Objects initial values */
6830
6831            P001,
6832            /* Benchmark Result object value */
6833
6834            Buffer() {0x95, 0x85, 0x75, 0x65},
6835            /* Benchmark Result object converted to Target type values */
6836
6837            Package (0x12)
6838            {
6839                0x00,
6840                Buffer() {0x95, 0x85, 0x75, 0x65},
6841                "0000000065758595",
6842                Buffer (0x11)
6843                {
6844                     0x95, 0x85, 0x75, 0x65                           // ..ue
6845                },
6846
6847                0x00,
6848                Buffer (0x09)
6849                {
6850                     0x95, 0x85, 0x75, 0x65                           // ..ue
6851                },
6852
6853                0x00,
6854                0x00,
6855                0x00,
6856                0x00,
6857                0x00,
6858                0x00,
6859                0x00,
6860                0x00,
6861                Buffer (0x09)
6862                {
6863                     0x95, 0x85, 0x75, 0x65                           // ..ue
6864                },
6865
6866                0x00,
6867                0x00,
6868                0x00
6869            }
6870        })
6871        Name (PE32, Package (0x05)
6872        {
6873            /* Type of the Result(Source) Object */
6874
6875            0x0E,
6876            /* Number of different initial values */
6877
6878            0x03,
6879            /* Data */
6880
6881            PE00,
6882            PE01,
6883            PE03
6884        })
6885        Name (PE64, Package (0x05)
6886        {
6887            /* Type of the Result(Source) Object */
6888
6889            0x0E,
6890            /* Number of different initial values */
6891
6892            0x03,
6893            /* Data */
6894
6895            PE00,
6896            PE02,
6897            PE04
6898        })
6899        /* DDB Handle */
6900
6901        Name (PF00, Package (0x06)
6902        {
6903            /* Type of the Result(Source) Object */
6904
6905            0x0F,
6906            /* Number of different initial values */
6907
6908            0x01,
6909            /* SRC0 initial value */
6910
6911            0x00,
6912            /* Target Objects initial values */
6913
6914            P001,
6915            /* Benchmark Result object value */
6916
6917            0x00,
6918            /* Benchmark Result object converted to Target type values */
6919
6920            P000
6921        })
6922        /* Debug */
6923
6924        Name (PG00, Package (0x06)
6925        {
6926            /* Type of the Result(Source) Object */
6927
6928            0x10,
6929            /* Number of different initial values */
6930
6931            0x01,
6932            /* SRC0 initial value */
6933
6934            0x00,
6935            /* Target Objects initial values */
6936
6937            P001,
6938            /* Benchmark Result object value */
6939
6940            0x00,
6941            /* Benchmark Result object converted to Target type values */
6942
6943            P000
6944        })
6945        /* Reference */
6946
6947        Name (PH00, Package (0x06)
6948        {
6949            /* Type of the Result(Source) Object */
6950
6951            0x11,
6952            /* Number of different initial values */
6953
6954            0x01,
6955            /* SRC0 initial value */
6956
6957            0x00,
6958            /* Target Objects initial values */
6959
6960            P001,
6961            /* Benchmark Result object value */
6962
6963            0x00,
6964            /* Benchmark Result object converted to Target type values */
6965
6966            P000
6967        })
6968        Name (P320, Package (0x12)
6969        {
6970            P002,
6971            P132,
6972            P232,
6973            P300,
6974            P400,
6975            P500,
6976            P600,
6977            P700,
6978            P800,
6979            P900,
6980            PA00,
6981            PB00,
6982            PC00,
6983            PD00,
6984            PE32,
6985            PF00,
6986            PG00,
6987            PH00
6988        })
6989        Name (P640, Package (0x12)
6990        {
6991            P002,
6992            P164,
6993            P264,
6994            P300,
6995            P400,
6996            P500,
6997            P600,
6998            P700,
6999            P800,
7000            P900,
7001            PA00,
7002            PB00,
7003            PC00,
7004            PD00,
7005            PE64,
7006            PF00,
7007            PG00,
7008            PH00
7009        })
7010        /* m020(<msg>, <store op>, <exc. conditions>, */
7011        /*      <Target scale>, <Result scale>, <kind of Source-Target pair>) */
7012        Method (M020, 6, Serialized)
7013        {
7014            /* Initialize statistics */
7015
7016            M001 ()
7017            Name (SCL0, Buffer (0x12)
7018            {
7019                /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,  // ........
7020                /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
7021                /* 0010 */  0x00, 0x00                                       // ..
7022            })
7023            Name (LPN0, 0x12)
7024            Name (LPC0, 0x00)
7025            Name (LPN1, 0x00)
7026            Name (LPC1, 0x00)
7027            Name (LPN2, 0x00)
7028            Name (LPC2, 0x00)
7029            SRMT (Arg0)
7030            If ((Arg1 > 0x01))
7031            {
7032                /* Unexpected Kind of Op (0 - Store, ...) */
7033
7034                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg1, 0x00)
7035                Return (0x01)
7036            }
7037
7038            If ((Arg5 > 0x06))
7039            {
7040                /* Unexpected Kind of Source-Target pair */
7041
7042                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg5, 0x00)
7043                Return (0x01)
7044            }
7045
7046            /* Flags of Store from and to Named to check */
7047            /* exceptional conditions on storing */
7048            If (Arg1)
7049            {
7050                Local0 = 0x00
7051                Local1 = 0x00
7052            }
7053            Else
7054            {
7055                Local0 = ((Arg5 == 0x00) || (Arg5 == 0x01))
7056                Local0 = (Local0 || (Arg5 == 0x04))
7057                Local0 = (Local0 || (Arg5 == 0x05))
7058                Local1 = ((Arg5 == 0x00) || (Arg5 == 0x02))
7059            }
7060
7061            /* Enumerate Target types */
7062
7063            While (LPN0)
7064            {
7065                If ((DerefOf (B670 [LPC0]) && DerefOf (Arg3 [LPC0])))
7066                {
7067                    /* Not invalid type of the Target Object to store in */
7068
7069                    LPN1 = 0x12
7070                    LPC1 = 0x00
7071                    /* Enumerate Source types */
7072
7073                    While (LPN1)
7074                    {
7075                        If ((DerefOf (B671 [LPC1]) && DerefOf (Arg4 [LPC1])))
7076                        {
7077                            /* Not invalid type of the result Object to be stored */
7078
7079                            If (Arg2)
7080                            {
7081                                /* Skip cases without exceptional conditions */
7082
7083                                If (!M685 (Arg1, LPC0, LPC1, Local0, Local1))
7084                                {
7085                                    LPN1--
7086                                    LPC1++
7087                                    Continue
7088                                }
7089                            }
7090                            ElseIf                            /* Skip cases with exceptional conditions */
7091
7092 (M685 (Arg1, LPC0, LPC1, Local0, Local1))
7093                            {
7094                                LPN1--
7095                                LPC1++
7096                                Continue
7097                            }
7098
7099                            If (F64)
7100                            {
7101                                Local2 = DerefOf (P640 [LPC1])
7102                            }
7103                            Else
7104                            {
7105                                Local2 = DerefOf (P320 [LPC1])
7106                            }
7107
7108                            Local3 = DerefOf (Local2 [0x00])
7109                            If ((Local3 != LPC1))
7110                            {
7111                                /* Unexpected data package */
7112
7113                                ERR (Concatenate (Arg0, TERR), Z122, __LINE__, 0x00, 0x00, Arg1, LPC1)
7114                                Return (0x01)
7115                            }
7116
7117                            Local3 = DerefOf (Local2 [0x01])
7118                            LPN2 = Local3
7119                            LPC2 = 0x00
7120                            /* Enumerate Result values */
7121
7122                            While (LPN2)
7123                            {
7124                                If ((Local3 > 0x01))
7125                                {
7126                                    /* Complex test data */
7127
7128                                    Local4 = Local2 [(LPC2 + 0x02)]
7129                                }
7130                                Else
7131                                {
7132                                    Local4 = RefOf (Local2)
7133                                }
7134
7135                                If ((Arg5 == 0x00))
7136                                {
7137                                    /* Named-Named */
7138
7139                                    M008 (Concatenate (Arg0, "-m008"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7140                                }
7141                                ElseIf ((Arg5 == 0x01))
7142                                {
7143                                    /* Named-LocalX */
7144
7145                                    M009 (Concatenate (Arg0, "-m009"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7146                                }
7147                                ElseIf ((Arg5 == 0x02))
7148                                {
7149                                    /* LocalX-Named */
7150
7151                                    M00A (Concatenate (Arg0, "-m00a"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7152                                }
7153                                ElseIf ((Arg5 == 0x03))
7154                                {
7155                                    /* LocalX-LocalX */
7156
7157                                    M00B (Concatenate (Arg0, "-m00b"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7158                                }
7159                                ElseIf ((Arg5 == 0x04))
7160                                {
7161                                    /* Named-ArgX(Named read-only) */
7162
7163                                    M00C (Concatenate (Arg0, "-m00c"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7164                                }
7165                                ElseIf ((Arg5 == 0x05))
7166                                {
7167                                    /* Named-ArgX(Named by reference) */
7168
7169                                    If (Y900)
7170                                    {
7171                                        If (((LPC1 == 0x04) &&                                                 /* Target type is 1-3 */
7172
7173DerefOf (Index (Buffer (0x12)
7174                                                        {
7175                                                            /* 0000 */  0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,  // ........
7176                                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
7177                                                            /* 0010 */  0x00, 0x00                                       // ..
7178                                                        }, LPC0))))
7179                                        {
7180                                            If (Y366)
7181                                            {
7182                                                M00D (Concatenate (Arg0, "-m00d"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7183                                            }
7184                                        }
7185                                        Else
7186                                        {
7187                                            M00D (Concatenate (Arg0, "-m00d"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7188                                        }
7189                                    }
7190                                    ElseIf                                    /* if (y900) */
7191
7192 (((LPC1 == 0x04) &&                                             /* Target type is 1-3 */
7193
7194DerefOf (SCL0 [LPC0])))
7195                                    {
7196                                        If (Y366)
7197                                        {
7198                                            M00D (Concatenate (Arg0, "-m00d"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7199                                        }
7200                                    }
7201                                    Else
7202                                    {
7203                                        M00D (Concatenate (Arg0, "-m00d"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7204                                    }
7205                                }
7206                                ElseIf ((Arg5 == 0x06))
7207                                {
7208                                    /* LocalX-Element of Package */
7209
7210                                    M00E (Concatenate (Arg0, "-m00e"), 0x00, LPC0, LPC1, Arg1, Arg2, DerefOf (Local4))
7211                                }
7212
7213                                LPN2--
7214                                LPC2++
7215                            }
7216                        }
7217
7218                        LPN1--
7219                        LPC1++
7220                    }
7221                }
7222
7223                LPN0--
7224                LPC0++
7225            }
7226
7227            /* Output statistics */
7228
7229            M002 (Concatenate (DerefOf (PAC5 [Arg5]), DerefOf (PAC4 [Arg1])
7230                ))
7231            Return (0x00)
7232        }
7233
7234        Concatenate (Arg0, "-m020", Arg0)
7235        /* Named-Named */
7236
7237        M020 (Concatenate (Arg0, "-NN"), Arg1, Arg2, B676, B676, 0x00) // TODO:
7238        /* Named-LocalX */
7239
7240        M020 (Concatenate (Arg0, "-NL"), Arg1, Arg2, B677, B676, 0x01) // TODO:
7241        /* LocalX-Named */
7242
7243        M020 (Concatenate (Arg0, "-LN"), Arg1, Arg2, B676, B677, 0x02)
7244        /* LocalX-LocalX */
7245
7246        M020 (Concatenate (Arg0, "-LL"), Arg1, Arg2, B677, B677, 0x03)
7247        /* Named-ArgX(Named read-only) */
7248
7249        M020 (Concatenate (Arg0, "-NA-RO"), Arg1, Arg2, B676, B676, 0x04) // TODO:
7250        /* Named-ArgX(Named by reference) */
7251
7252        M020 (Concatenate (Arg0, "-NA-REF"), Arg1, Arg2, B676, B676, 0x05) // TODO:
7253        /* LocalX-Element of Package */
7254
7255        If ((Arg1 == 0x00))
7256        {
7257            M020 (Concatenate (Arg0, "-LP"), Arg1, Arg2, B67D, B677, 0x06)
7258        }
7259    }
7260