• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/acpica/tests/aslts/src/runtime/collections/Identity2MS/abbu/method/
1/*
2 * Some or all of this work - Copyright (c) 2006 - 2016, Intel Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * Neither the name of Intel Corporation nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 * Tests to check path names with method type syllables
31 */
32
33Name(z170, 170)
34
35
36Processor(pr7d, 0, 0x000, 0x008)
37{
38	Name(iy07, 0xabcd0120)
39}
40
41/*
42 * Test shows maximal supported depth of enclosed method calls on MS
43 */
44Method(mt00,, Serialized)
45{
46    Name(ts, "mt00")
47
48    Name(i000, 0)
49
50    Method(mm00)
51    {
52      Method(mm01)
53      {
54        Method(mm02)
55        {
56          Method(mm03)
57          {
58            Method(mm04)
59            {
60              Method(mm05)
61              {
62                Method(mm06)
63                {
64                  Method(mm07)
65                  {
66                    Method(mm08)
67                    {
68                      Method(mm09)
69                      {
70                        Method(mm0a)
71                        {
72                          Method(mm0b)
73                          {
74                              // OUTC("Number of calls to methods depends on the length of this message!")
75                              OUTC("Max")
76                              Store(0xabcd0000, i000)
77                          }
78                          mm0b()
79                        }
80                        mm0a()
81                      }
82                      mm09()
83                    }
84                    mm08()
85                  }
86                  mm07()
87                }
88                mm06()
89              }
90              mm05()
91            }
92            mm04()
93          }
94          mm03()
95        }
96        mm02()
97      }
98      mm01()
99    }
100
101    CH03(ts, z170, 0x100, 0, 0)
102
103    mm00()
104
105    if (LNotEqual(i000, 0xabcd0000)) {
106        err(ts, z170, 0x000, 0, 0, i000, 0xabcd0000)
107    }
108
109    CH03(ts, z170, 0x101, 0, 0)
110}
111
112/*
113 * The same as mt00, but contains more depth of enclosed method calls.
114 * To be run on ACPICA only.
115 */
116Method(mt01,, Serialized)
117{
118    Name(ts, "mt01")
119
120    Name(i000, 0)
121
122    Method(mm00)
123    {
124      Method(mm01)
125      {
126        Method(mm02)
127        {
128          Method(mm03)
129          {
130            Method(mm04)
131            {
132              Method(mm05)
133              {
134                Method(mm06)
135                {
136                  Method(mm07)
137                  {
138                    Method(mm08)
139                    {
140                      Method(mm09)
141                      {
142                        Method(mm0a)
143                        {
144                          Method(mm0b)
145                          {
146                            Method(mm0c)
147                            {
148                              Method(mm0d)
149                              {
150                                Method(mm0e)
151                                {
152                                  Method(mm0f)
153                                  {
154                                    Method(mm10)
155                                    {
156                                      Method(mm11)
157                                      {
158                                        Method(mm12)
159                                        {
160                                          Method(mm13)
161                                          {
162                                            Method(mm14)
163                                            {
164                                              Method(mm15)
165                                              {
166                                                Method(mm16)
167                                                {
168                                                  Method(mm17)
169                                                  {
170                                                    Method(mm18)
171                                                    {
172                                                      Method(mm19)
173                                                      {
174                                                        Method(mm1a)
175                                                        {
176                                                          Method(mm1b)
177                                                          {
178                                                            Method(mm1c)
179                                                            {
180                                                              Method(mm1d)
181                                                              {
182                                                                Method(mm1e)
183                                                                {
184                                                                  Method(mm1f)
185                                                                  {
186                                                                    OUTC("Max")
187                                                                    Store(0xabcd0000, i000)
188                                                                  }
189                                                                  mm1f()
190                                                                }
191                                                                mm1e()
192                                                              }
193                                                              mm1d()
194                                                            }
195                                                            mm1c()
196                                                          }
197                                                          mm1b()
198                                                        }
199                                                        mm1a()
200                                                      }
201                                                      mm19()
202                                                    }
203                                                    mm18()
204                                                  }
205                                                  mm17()
206                                                }
207                                                mm16()
208                                              }
209                                              mm15()
210                                            }
211                                            mm14()
212                                          }
213                                          mm13()
214                                        }
215                                        mm12()
216                                      }
217                                      mm11()
218                                    }
219                                    mm10()
220                                  }
221                                  mm0f()
222                                }
223                                mm0e()
224                              }
225                              mm0d()
226                            }
227                            mm0c()
228                          }
229                          mm0b()
230                        }
231                        mm0a()
232                      }
233                      mm09()
234                    }
235                    mm08()
236                  }
237                  mm07()
238                }
239                mm06()
240              }
241              mm05()
242            }
243            mm04()
244          }
245          mm03()
246        }
247        mm02()
248      }
249      mm01()
250    }
251
252    CH03(ts, z170, 0x102, 0, 0)
253
254    mm00()
255
256    if (LNotEqual(i000, 0xabcd0000)) {
257        err(ts, z170, 0x001, 0, 0, i000, 0xabcd0000)
258    }
259
260    CH03(ts, z170, 0x103, 0, 0)
261}
262
263/*
264 * Test shows maximal supported depth of enclosed method calls on MS
265 */
266Method(mt02,, Serialized)
267{
268    Name(ts, "mt02")
269
270    Name(i000, 0)
271
272    Method(mm00)
273    {
274      mm01()
275    }
276    Method(mm01)
277    {
278      mm02()
279    }
280    Method(mm02)
281    {
282      mm03()
283    }
284    Method(mm03)
285    {
286      mm04()
287    }
288    Method(mm04)
289    {
290      mm05()
291    }
292    Method(mm05)
293    {
294      mm06()
295    }
296    Method(mm06)
297    {
298      mm07()
299    }
300    Method(mm07)
301    {
302      mm08()
303    }
304    Method(mm08)
305    {
306      mm09()
307    }
308    Method(mm09)
309    {
310      mm0a()
311    }
312    Method(mm0a)
313    {
314      mm0b()
315    }
316    Method(mm0b)
317    {
318      mm0c()
319    }
320    Method(mm0c)
321    {
322      mm0d()
323    }
324    Method(mm0d)
325    {
326      mm0e()
327    }
328    Method(mm0e)
329    {
330      mm0f()
331    }
332    Method(mm0f)
333    {
334      OUTC("Max")
335      Store(0xabcd0000, i000)
336    }
337
338    CH03(ts, z170, 0x104, 0, 0)
339
340    mm00()
341
342    if (LNotEqual(i000, 0xabcd0000)) {
343        err(ts, z170, 0x002, 0, 0, i000, 0xabcd0000)
344    }
345
346    CH03(ts, z170, 0x105, 0, 0)
347}
348
349/*
350 * The same as mt02, but contains more depth of enclosed method calls.
351 * To be run on ACPICA only.
352 */
353Method(mt03,, Serialized)
354{
355    Name(ts, "mt03")
356
357    Name(i000, 0)
358
359    Method(mm00)
360    {
361      mm01()
362    }
363    Method(mm01)
364    {
365      mm02()
366    }
367    Method(mm02)
368    {
369      mm03()
370    }
371    Method(mm03)
372    {
373      mm04()
374    }
375    Method(mm04)
376    {
377      mm05()
378    }
379    Method(mm05)
380    {
381      mm06()
382    }
383    Method(mm06)
384    {
385      mm07()
386    }
387    Method(mm07)
388    {
389      mm08()
390    }
391    Method(mm08)
392    {
393      mm09()
394    }
395    Method(mm09)
396    {
397      mm0a()
398    }
399    Method(mm0a)
400    {
401      mm0b()
402    }
403    Method(mm0b)
404    {
405      mm0c()
406    }
407    Method(mm0c)
408    {
409      mm0d()
410    }
411    Method(mm0d)
412    {
413      mm0e()
414    }
415    Method(mm0e)
416    {
417      mm0f()
418    }
419    Method(mm0f)
420    {
421      mm10()
422    }
423    Method(mm10)
424    {
425      mm11()
426    }
427    Method(mm11)
428    {
429      mm12()
430    }
431    Method(mm12)
432    {
433      mm13()
434    }
435    Method(mm13)
436    {
437      mm14()
438    }
439    Method(mm14)
440    {
441      mm15()
442    }
443    Method(mm15)
444    {
445      mm16()
446    }
447    Method(mm16)
448    {
449      mm17()
450    }
451    Method(mm17)
452    {
453      mm18()
454    }
455    Method(mm18)
456    {
457      mm19()
458    }
459    Method(mm19)
460    {
461      mm1a()
462    }
463    Method(mm1a)
464    {
465      mm1b()
466    }
467    Method(mm1b)
468    {
469      mm1c()
470    }
471    Method(mm1c)
472    {
473      mm1d()
474    }
475    Method(mm1d)
476    {
477      mm1e()
478    }
479    Method(mm1e)
480    {
481      mm1f()
482    }
483    Method(mm1f)
484    {
485      OUTC("Max")
486      Store(0xabcd0000, i000)
487    }
488
489    CH03(ts, z170, 0x106, 0, 0)
490
491    mm00()
492
493    if (LNotEqual(i000, 0xabcd0000)) {
494        err(ts, z170, 0x003, 0, 0, i000, 0xabcd0000)
495    }
496
497    CH03(ts, z170, 0x107, 0, 0)
498}
499
500/*
501 * Increment object with the name of method in the name path
502 */
503Method(mt04,, Serialized)
504{
505    Name(ts, "mt04")
506
507    Device(dz05)
508    {
509        Name(iy07, 0xabcd0100)
510    }
511
512    Method(mm00)
513    {
514      Method(mm01)
515      {
516        Method(mm02)
517        {
518          Method(mm03)
519          {
520            Method(mm04)
521            {
522              Method(mm05)
523              {
524                Method(mm06)
525                {
526                  Method(mm07)
527                  {
528                    Increment(\mt04.dz05.iy07)
529                    Store (\mt04.dz05.iy07, Local0)
530                    OUTC("mt04,   \\mt04.dz05.iy07:")
531                    OUTC(Local0)
532                    if (LNotEqual(Local0, 0xabcd0109)) {
533                      err(ts, z170, 0x004, 0, 0, Local0, 0xabcd0109)
534                    }
535                    if (LNotEqual(\mt04.dz05.iy07, 0xabcd0109)) {
536                      err(ts, z170, 0x005, 0, 0, \mt04.dz05.iy07, 0xabcd0109)
537                    }
538                  }
539                  Increment(\mt04.dz05.iy07)
540                  mm07()
541                }
542                Increment(\mt04.dz05.iy07)
543                mm06()
544              }
545              Increment(\mt04.dz05.iy07)
546              mm05()
547            }
548            Increment(\mt04.dz05.iy07)
549            mm04()
550          }
551          Increment(\mt04.dz05.iy07)
552          mm03()
553        }
554        Increment(\mt04.dz05.iy07)
555        mm02()
556      }
557      Increment(\mt04.dz05.iy07)
558      mm01()
559    }
560
561    CH03(ts, z170, 0x006, 0, 0)
562
563    Increment(\mt04.dz05.iy07)
564
565    mm00()
566
567    if (LNotEqual(\mt04.dz05.iy07, 0xabcd0109)) {
568      err(ts, z170, 0x007, 0, 0, \mt04.dz05.iy07, 0xabcd0109)
569    }
570
571    CH03(ts, z170, 0x008, 0, 0)
572}
573
574/*
575 * The same as mt04, but contains more depth of enclosed method calls.
576 * To be run on ACPICA only.
577 */
578Method(mt05,, Serialized)
579{
580    Name(ts, "mt05")
581
582    Device(dz05)
583    {
584        Name(iy07, 0xabcd0200)
585    }
586    Method(mm00)
587    {
588      Method(mm01)
589      {
590        Method(mm02)
591        {
592          Method(mm03)
593          {
594            Method(mm04)
595            {
596              Method(mm05)
597              {
598                Method(mm06)
599                {
600                  Method(mm07)
601                  {
602                    Method(mm08)
603                    {
604                      Method(mm09)
605                      {
606                        Method(mm0a)
607                        {
608                          Method(mm0b)
609                          {
610                            Method(mm0c)
611                            {
612                              Method(mm0d)
613                              {
614                                Method(mm0e)
615                                {
616                                  Method(mm0f)
617                                  {
618                                    Increment(\mt05.dz05.iy07)
619                                    Store (\mt05.dz05.iy07, Local0)
620                                    OUTC("mt05,   \\mt05.dz05.iy07:")
621                                    OUTC(Local0)
622                                    if (LNotEqual(Local0, 0xabcd0211)) {
623                                        err(ts, z170, 0x009, 0, 0, Local0, 0xabcd0211)
624                                    }
625                                    if (LNotEqual(\mt05.dz05.iy07, 0xabcd0211)) {
626                                        err(ts, z170, 0x00a, 0, 0, \mt05.dz05.iy07, 0xabcd0211)
627                                    }
628                                  }
629                                  Increment(\mt05.dz05.iy07)
630                                  mm0f()
631                                }
632                                Increment(\mt05.dz05.iy07)
633                                mm0e()
634                              }
635                              Increment(\mt05.dz05.iy07)
636                              mm0d()
637                            }
638                            Increment(\mt05.dz05.iy07)
639                            mm0c()
640                          }
641                          Increment(\mt05.dz05.iy07)
642                          mm0b()
643                        }
644                        Increment(\mt05.dz05.iy07)
645                        mm0a()
646                      }
647                      Increment(\mt05.dz05.iy07)
648                      mm09()
649                    }
650                    Increment(\mt05.dz05.iy07)
651                    mm08()
652                  }
653                  Increment(\mt05.dz05.iy07)
654                  mm07()
655                }
656                Increment(\mt05.dz05.iy07)
657                mm06()
658              }
659              Increment(\mt05.dz05.iy07)
660              mm05()
661            }
662            Increment(\mt05.dz05.iy07)
663            mm04()
664          }
665          Increment(\mt05.dz05.iy07)
666          mm03()
667        }
668        Increment(\mt05.dz05.iy07)
669        mm02()
670      }
671      Increment(\mt05.dz05.iy07)
672      mm01()
673    }
674
675    CH03(ts, z170, 0x108, 0, 0)
676
677    Increment(\mt05.dz05.iy07)
678    mm00()
679
680    if (LNotEqual(\mt05.dz05.iy07, 0xabcd0211)) {
681        err(ts, z170, 0x00b, 0, 0, \mt05.dz05.iy07, 0xabcd0211)
682    }
683
684    CH03(ts, z170, 0x109, 0, 0)
685}
686
687/*
688 * Check access to the internal object of method being executed
689 * from the point inside the tree of that method being executed
690 * but by the method statically declared outside that method.
691 */
692Method(mt06,, Serialized)
693{
694    Name(ts, "mt06")
695
696    Device(dz05)
697    {
698        Name(iy07, 0xabcd0300)
699    }
700
701    Method(mm00)
702    {
703      Method(mm01)
704      {
705        Method(mm02)
706        {
707          Method(mm03)
708          {
709            Method(mm04)
710            {
711              Method(mm05)
712              {
713                Method(mm06)
714                {
715                  Method(mm07)
716                  {
717                    Method(mm08)
718                    {
719                      Method(mm09)
720                      {
721                        Method(mm0a)
722                        {
723                            Store (0x11112222, \mt06.dz05.iy07)
724                        }
725                        mm0a()
726                      }
727                      mm09()
728                    }
729                    mm08()
730                  }
731                  mm07()
732                }
733                mm06()
734              }
735              mm05()
736              Store (\mt06.dz05.iy07, Local0)
737              OUTC("mt06,   \\mt06.dz05.iy07:")
738              OUTC(Local0)
739              if (LNotEqual(Local0, 0x11112222)) {
740                  err(ts, z170, 0x00c, 0, 0, Local0, 0x11112222)
741              }
742              if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
743                  err(ts, z170, 0x00d, 0, 0, \mt06.dz05.iy07, 0x11112222)
744              }
745            }
746            mm04()
747          }
748          mm03()
749        }
750        mm02()
751      }
752      mm01()
753    }
754
755    CH03(ts, z170, 0x10a, 0, 0)
756
757    mm00()
758
759    mt07()
760
761    if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
762        err(ts, z170, 0x00e, 0, 0, \mt06.dz05.iy07, 0x11112222)
763    }
764
765    CH03(ts, z170, 0x10b, 0, 0)
766}
767
768/*
769 * Access to the internal object of method mt06
770 *
771 * Result differs depending on either mt06 is invoked or not.
772 * Unfortunately, we can run mt06 and mt07 simultaneously only
773 * on the same thread (invocation).
774 */
775Method(mt07,, Serialized)
776{
777    Name(ts, "mt07")
778
779    Method(mm00)
780    {
781      Method(mm01)
782      {
783        Method(mm02)
784        {
785          Method(mm03)
786          {
787            Method(mm04)
788            {
789              Method(mm05)
790              {
791                Method(mm06)
792                {
793                  Method(mm07)
794                  {
795                    Store (\mt06.dz05.iy07, Local0)
796                    OUTC("0 mt07,   \\mt06.dz05.iy07:")
797                    OUTC(Local0)
798                    if (LNotEqual(Local0, 0x11112222)) {
799                        err(ts, z170, 0x00f, 0, 0, Local0, 0x11112222)
800                    }
801                    if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
802                        err(ts, z170, 0x010, 0, 0, \mt06.dz05.iy07, 0x11112222)
803                    }
804                  }
805                  mm07()
806                }
807                mm06()
808              }
809              mm05()
810            }
811            mm04()
812          }
813          mm03()
814        }
815        mm02()
816      }
817      mm01()
818    }
819
820    CH03(ts, z170, 0x10c, 0, 0)
821
822    mm00()
823
824    Store (\mt06.dz05.iy07, Local0)
825    OUTC("1 mt07,   \\mt06.dz05.iy07:")
826    OUTC(Local0)
827    if (LNotEqual(Local0, 0x11112222)) {
828        err(ts, z170, 0x011, 0, 0, Local0, 0x11112222)
829    }
830    if (LNotEqual(\mt06.dz05.iy07, 0x11112222)) {
831        err(ts, z170, 0x012, 0, 0, \mt06.dz05.iy07, 0x11112222)
832    }
833
834    CH03(ts, z170, 0x10d, 0, 0)
835}
836
837/*
838 * The same as mt06, but contains more depth of enclosed method calls.
839 * To be run on ACPICA only.
840 */
841Method(mt08,, Serialized)
842{
843    Name(ts, "mt08")
844
845    Device(dz05)
846    {
847        Name(iy07, 0xabcd0400)
848    }
849
850    Method(mm00)
851    {
852      Method(mm01)
853      {
854        Method(mm02)
855        {
856          Method(mm03)
857          {
858            Method(mm04)
859            {
860              Method(mm05)
861              {
862                Method(mm06)
863                {
864                  Method(mm07)
865                  {
866                    Method(mm08)
867                    {
868                      Method(mm09)
869                      {
870                        Method(mm0a)
871                        {
872                          Method(mm0b)
873                          {
874                            Method(mm0c)
875                            {
876                              Method(mm0d)
877                              {
878                                Method(mm0e)
879                                {
880                                  Method(mm0f)
881                                  {
882                                    Store (0x22223333, \mt08.dz05.iy07)
883                                  }
884                                  mm0f()
885                                }
886                                mm0e()
887                              }
888                              mm0d()
889                            }
890                            mm0c()
891                          }
892                          mm0b()
893                        }
894                        mm0a()
895                      }
896                      mm09()
897                    }
898                    mm08()
899                    Store (\mt08.dz05.iy07, Local0)
900                    OUTC("mt08,   \\mt08.dz05.iy07:")
901                    OUTC(Local0)
902                    if (LNotEqual(Local0, 0x22223333)) {
903                        err(ts, z170, 0x013, 0, 0, Local0, 0x22223333)
904                    }
905                    if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
906                        err(ts, z170, 0x014, 0, 0, \mt08.dz05.iy07, 0x22223333)
907                    }
908                  }
909                  mm07()
910                }
911                mm06()
912              }
913              mm05()
914            }
915            mm04()
916          }
917          mm03()
918        }
919        mm02()
920      }
921      mm01()
922    }
923
924    CH03(ts, z170, 0x10e, 0, 0)
925
926    mm00()
927
928    mt09()
929
930    if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
931        err(ts, z170, 0x015, 0, 0, \mt08.dz05.iy07, 0x22223333)
932    }
933
934    CH03(ts, z170, 0x10f, 0, 0)
935}
936
937/*
938 * Access to the internal object of method mt08
939 *
940 * see comment to mt07
941 */
942Method(mt09,, Serialized)
943{
944    Name(ts, "mt09")
945
946    Method(mm00)
947    {
948      Method(mm01)
949      {
950        Method(mm02)
951        {
952          Method(mm03)
953          {
954            Method(mm04)
955            {
956              Method(mm05)
957              {
958                Method(mm06)
959                {
960                  Method(mm07)
961                  {
962                    Method(mm08)
963                    {
964                      Method(mm09)
965                      {
966                        Method(mm0a)
967                        {
968                          Method(mm0b)
969                          {
970                            Method(mm0c)
971                            {
972                              Method(mm0d)
973                              {
974                                Method(mm0e)
975                                {
976                                  Method(mm0f)
977                                  {
978                                    Store (\mt08.dz05.iy07, Local0)
979                                    OUTC("0 mt09,   \\mt08.dz05.iy07:")
980                                    OUTC(Local0)
981                                    if (LNotEqual(Local0, 0x22223333)) {
982                                        err(ts, z170, 0x016, 0, 0, Local0, 0x22223333)
983                                    }
984                                    if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
985                                        err(ts, z170, 0x017, 0, 0, \mt08.dz05.iy07, 0x22223333)
986                                    }
987                                  }
988                                  mm0f()
989                                }
990                                mm0e()
991                              }
992                              mm0d()
993                            }
994                            mm0c()
995                          }
996                          mm0b()
997                        }
998                        mm0a()
999                      }
1000                      mm09()
1001                    }
1002                    mm08()
1003                  }
1004                  mm07()
1005                }
1006                mm06()
1007              }
1008              mm05()
1009            }
1010            mm04()
1011          }
1012          mm03()
1013        }
1014        mm02()
1015      }
1016      mm01()
1017    }
1018
1019    CH03(ts, z170, 0x110, 0, 0)
1020
1021    mm00()
1022
1023    Store (\mt08.dz05.iy07, Local0)
1024    OUTC("1 mt09,   \\mt08.dz05.iy07:")
1025    OUTC(Local0)
1026    if (LNotEqual(Local0, 0x22223333)) {
1027        err(ts, z170, 0x018, 0, 0, Local0, 0x22223333)
1028    }
1029    if (LNotEqual(\mt08.dz05.iy07, 0x22223333)) {
1030        err(ts, z170, 0x019, 0, 0, \mt08.dz05.iy07, 0x22223333)
1031    }
1032
1033    CH03(ts, z170, 0x111, 0, 0)
1034}
1035
1036/*
1037 * Check simple access to the object by the name path
1038 * without method name syllables
1039 */
1040Method(mt0a,, Serialized)
1041{
1042    Name(ts, "mt0a")
1043
1044    CH03(ts, z170, 0x112, 0, 0)
1045
1046    Store (\pr7d.iy07, Local0)
1047    OUTC("mt0a,   \\pr7d.iy07:")
1048    OUTC(Local0)
1049    if (LNotEqual(\pr7d.iy07, 0xabcd0120)) {
1050        err(ts, z170, 0x01a, 0, 0, \pr7d.iy07, 0xabcd0120)
1051    }
1052
1053    CH03(ts, z170, 0x113, 0, 0)
1054}
1055
1056/*
1057 * Simple increment (see comment to mt0a)
1058 */
1059Method(mt0b,, Serialized)
1060{
1061    Name(ts, "mt0b")
1062
1063    CH03(ts, z170, 0x114, 0, 0)
1064
1065    Increment(\pr7d.iy07)
1066    Store (\pr7d.iy07, Local0)
1067    OUTC("mt0b,   \\pr7d.iy07:")
1068    OUTC(Local0)
1069
1070    if (LNotEqual(\pr7d.iy07, 0xabcd0121)) {
1071        err(ts, z170, 0x01b, 0, 0, \pr7d.iy07, 0xabcd0121)
1072    }
1073
1074    CH03(ts, z170, 0x115, 0, 0)
1075}
1076
1077/*
1078 * Check simple access to the object by the name path
1079 * which contains the method name syllables
1080 */
1081Method(mt0c,, Serialized)
1082{
1083    Name(ts, "mt0c")
1084
1085    Processor(pr7d, 0, 0x000, 0x008)
1086    {
1087        Name(iy07, 0xabcd0660)
1088    }
1089
1090    CH03(ts, z170, 0x116, 0, 0)
1091
1092    Increment(\mt0c.pr7d.iy07)
1093    Store (\mt0c.pr7d.iy07, Local0)
1094    OUTC("mt0c,   \\mt0c.pr7d.iy07:")
1095    OUTC(Local0)
1096
1097    if (LNotEqual(\mt0c.pr7d.iy07, 0xabcd0661)) {
1098        err(ts, z170, 0x01d, 0, 0, \mt0c.pr7d.iy07, 0xabcd0661)
1099    }
1100
1101    CH03(ts, z170, 0x117, 0, 0)
1102}
1103
1104/*
1105 * Simply long cycle in While
1106 */
1107Method(mt0d,, Serialized)
1108{
1109	Name(ts, "mt0d")
1110
1111	Name(i000, 0xabcd1234)
1112
1113	CH03(ts, z170, 0x118, 0, 0)
1114
1115	Store(0, Local0)
1116	While (1) {
1117		Increment(Local0)
1118//		if (LEqual(Local0, 0x40000)) {
1119		if (LEqual(Local0, 100)) {
1120			// Break -- doesn't work on MS
1121			OUTC("mt0d,   Local0:")
1122			OUTC(Local0)
1123
1124			mt0e()
1125
1126			CH03(ts, z170, 0x119, 0, 0)
1127
1128			Return
1129		}
1130	}
1131
1132	CH03(ts, z170, 0x11a, 0, 0)
1133}
1134
1135/*
1136 * Access to the internal object of method mt0d
1137 */
1138Method(mt0e,, Serialized)
1139{
1140    Name(ts, "mt0e")
1141
1142    CH03(ts, z170, 0x11b, 0, 0)
1143
1144    Store (\mt0d.i000, Local0)
1145    OUTC("mt0e,   \\mt0d.i000:")
1146    OUTC(Local0)
1147
1148    if (LNotEqual(\mt0d.i000, 0xabcd1234)) {
1149        err(ts, z170, 0x01f, 0, 0, \mt0d.i000, 0xabcd1234)
1150    }
1151
1152    CH03(ts, z170, 0x11c, 0, 0)
1153}
1154
1155/*
1156 * Use Add for incrementing object with the
1157 * name of method in the name path.
1158 */
1159Method(mt0f,, Serialized)
1160{
1161    Name(ts, "mt0f")
1162
1163    Device(dz05)
1164    {
1165        Name(iy07, 0xabcd0500)
1166    }
1167
1168    Method(mm00)
1169    {
1170      Method(mm01)
1171      {
1172        Method(mm02)
1173        {
1174          Method(mm03)
1175          {
1176            Method(mm04)
1177            {
1178              Method(mm05)
1179              {
1180                Method(mm06)
1181                {
1182                  Method(mm07)
1183                  {
1184                    Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1185                    Store (\mt0f.dz05.iy07, Local0)
1186                    OUTC("mt0f,   \\mt0f.dz05.iy07:")
1187                    OUTC(Local0)
1188                    if (LNotEqual(Local0, 0xabcd0509)) {
1189                      err(ts, z170, 0x020, 0, 0, Local0, 0xabcd0509)
1190                    }
1191                    if (LNotEqual(\mt0f.dz05.iy07, 0xabcd0509)) {
1192                      err(ts, z170, 0x021, 0, 0, \mt0f.dz05.iy07, 0xabcd0509)
1193                    }
1194                  }
1195                  Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1196                  mm07()
1197                }
1198                Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1199                mm06()
1200              }
1201              Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1202              mm05()
1203            }
1204            Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1205            mm04()
1206          }
1207          Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1208          mm03()
1209        }
1210        Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1211        mm02()
1212      }
1213      Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1214      mm01()
1215    }
1216
1217    CH03(ts, z170, 0x022, 0, 0)
1218
1219    Add(\mt0f.dz05.iy07, 1, \mt0f.dz05.iy07)
1220    mm00()
1221
1222    if (LNotEqual(\mt0f.dz05.iy07, 0xabcd0509)) {
1223      err(ts, z170, 0x023, 0, 0, \mt0f.dz05.iy07, 0xabcd0509)
1224    }
1225
1226    CH03(ts, z170, 0x024, 0, 0)
1227}
1228
1229/*
1230 * The same as mt0f, but contains more depth of enclosed method calls.
1231 * To be run on ACPICA only.
1232 */
1233Method(mt10,, Serialized)
1234{
1235    Name(ts, "mt10")
1236
1237    Device(dz05)
1238    {
1239        Name(iy07, 0xabcd0600)
1240    }
1241    Method(mm00)
1242    {
1243      Method(mm01)
1244      {
1245        Method(mm02)
1246        {
1247          Method(mm03)
1248          {
1249            Method(mm04)
1250            {
1251              Method(mm05)
1252              {
1253                Method(mm06)
1254                {
1255                  Method(mm07)
1256                  {
1257                    Method(mm08)
1258                    {
1259                      Method(mm09)
1260                      {
1261                        Method(mm0a)
1262                        {
1263                          Method(mm0b)
1264                          {
1265                            Method(mm0c)
1266                            {
1267                              Method(mm0d)
1268                              {
1269                                Method(mm0e)
1270                                {
1271                                  Method(mm0f)
1272                                  {
1273                                    Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1274                                    Store (\mt10.dz05.iy07, Local0)
1275                                    OUTC("mt10,   \\mt10.dz05.iy07:")
1276                                    OUTC(Local0)
1277                                    if (LNotEqual(Local0, 0xabcd0611)) {
1278                                        err(ts, z170, 0x025, 0, 0, Local0, 0xabcd0611)
1279                                    }
1280                                    if (LNotEqual(\mt10.dz05.iy07, 0xabcd0611)) {
1281                                        err(ts, z170, 0x026, 0, 0, \mt10.dz05.iy07, 0xabcd0611)
1282                                    }
1283                                  }
1284                                  Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1285                                  mm0f()
1286                                }
1287                                Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1288                                mm0e()
1289                              }
1290                              Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1291                              mm0d()
1292                            }
1293                            Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1294                            mm0c()
1295                          }
1296                          Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1297                          mm0b()
1298                        }
1299                        Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1300                        mm0a()
1301                      }
1302                      Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1303                      mm09()
1304                    }
1305                    Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1306                    mm08()
1307                  }
1308                  Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1309                  mm07()
1310                }
1311                Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1312                mm06()
1313              }
1314              Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1315              mm05()
1316            }
1317            Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1318            mm04()
1319          }
1320          Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1321          mm03()
1322        }
1323        Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1324        mm02()
1325      }
1326      Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1327      mm01()
1328    }
1329
1330    CH03(ts, z170, 0x027, 0, 0)
1331
1332    Add(\mt10.dz05.iy07, 1, \mt10.dz05.iy07)
1333    mm00()
1334
1335    if (LNotEqual(\mt10.dz05.iy07, 0xabcd0611)) {
1336        err(ts, z170, 0x028, 0, 0, \mt10.dz05.iy07, 0xabcd0611)
1337    }
1338
1339    CH03(ts, z170, 0x029, 0, 0)
1340}
1341
1342/*
1343 * Increment with the parent name paths
1344 */
1345Method(mt11,, Serialized)
1346{
1347    Name(ts, "mt11")
1348
1349    Device(dz05)
1350    {
1351        Name(iy07, 0xabcd0700)
1352    }
1353
1354    Method(mm00)
1355    {
1356      Method(mm01)
1357      {
1358        Method(mm02)
1359        {
1360          Method(mm03)
1361          {
1362            Method(mm04)
1363            {
1364              Method(mm05)
1365              {
1366                Method(mm06)
1367                {
1368                  Method(mm07)
1369                  {
1370                    Increment(^^^^^^^^dz05.iy07)
1371                    Store (^^^^^^^^dz05.iy07, Local0)
1372                    OUTC("mt11,   ^^^^^^^^dz05.iy07:")
1373                    OUTC(Local0)
1374                    if (LNotEqual(Local0, 0xabcd0709)) {
1375                      err(ts, z170, 0x02a, 0, 0, Local0, 0xabcd0709)
1376                    }
1377                    if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd0709)) {
1378                      err(ts, z170, 0x02b, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd0709)
1379                    }
1380                  }
1381                  Increment(^^^^^^^dz05.iy07)
1382                  mm07()
1383                }
1384                Increment(^^^^^^dz05.iy07)
1385                mm06()
1386              }
1387              Increment(^^^^^dz05.iy07)
1388              mm05()
1389            }
1390            Increment(^^^^dz05.iy07)
1391            mm04()
1392          }
1393          Increment(^^^dz05.iy07)
1394          mm03()
1395        }
1396        Increment(^^dz05.iy07)
1397        mm02()
1398      }
1399      Increment(^dz05.iy07)
1400      mm01()
1401    }
1402
1403    CH03(ts, z170, 0x02c, 0, 0)
1404
1405    Increment(dz05.iy07)
1406    mm00()
1407
1408    if (LNotEqual(dz05.iy07, 0xabcd0709)) {
1409      err(ts, z170, 0x02d, 0, 0, dz05.iy07, 0xabcd0709)
1410    }
1411
1412    CH03(ts, z170, 0x02e, 0, 0)
1413}
1414
1415/*
1416 * The same as mt11, but contains more depth of enclosed method calls.
1417 * To be run on ACPICA only.
1418 */
1419Method(mt12,, Serialized)
1420{
1421    Name(ts, "mt12")
1422
1423    Device(dz05)
1424    {
1425        Name(iy07, 0xabcd0800)
1426    }
1427    Method(mm00)
1428    {
1429      Method(mm01)
1430      {
1431        Method(mm02)
1432        {
1433          Method(mm03)
1434          {
1435            Method(mm04)
1436            {
1437              Method(mm05)
1438              {
1439                Method(mm06)
1440                {
1441                  Method(mm07)
1442                  {
1443                    Method(mm08)
1444                    {
1445                      Method(mm09)
1446                      {
1447                        Method(mm0a)
1448                        {
1449                          Method(mm0b)
1450                          {
1451                            Method(mm0c)
1452                            {
1453                              Method(mm0d)
1454                              {
1455                                Method(mm0e)
1456                                {
1457                                  Method(mm0f)
1458                                  {
1459                                    Method(mm10)
1460                                    {
1461                                      Method(mm11)
1462                                      {
1463                                        Method(mm12)
1464                                        {
1465                                          Method(mm13)
1466                                          {
1467                                            Method(mm14)
1468                                            {
1469                                              Method(mm15)
1470                                              {
1471                                                Method(mm16)
1472                                                {
1473                                                  Method(mm17)
1474                                                  {
1475                                                    Method(mm18)
1476                                                    {
1477                                                      Method(mm19)
1478                                                      {
1479                                                        Method(mm1a)
1480                                                        {
1481                                                          Method(mm1b)
1482                                                          {
1483                                                            Method(mm1c)
1484                                                            {
1485                                                              Method(mm1d)
1486                                                              {
1487                                                                Method(mm1e)
1488                                                                {
1489                                                                  Method(mm1f)
1490                                                                  {
1491                                                                    Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1492                                                                    Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
1493                                                                    OUTC("mt12,   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
1494                                                                    OUTC(Local0)
1495                                                                    if (LNotEqual(Local0, 0xabcd0821)) {
1496                                                                        err(ts, z170, 0x02f, 0, 0, Local0, 0xabcd0821)
1497                                                                    }
1498                                                                    if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0821)) {
1499                                                                        err(ts, z170, 0x030, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd0821)
1500                                                                    }
1501                                                                  }
1502                                                                  Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1503                                                                  mm1f()
1504                                                                }
1505                                                                Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1506                                                                mm1e()
1507                                                              }
1508                                                              Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1509                                                              mm1d()
1510                                                            }
1511                                                            Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1512                                                            mm1c()
1513                                                          }
1514                                                          Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1515                                                          mm1b()
1516                                                        }
1517                                                        Increment(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1518                                                        mm1a()
1519                                                      }
1520                                                      Increment(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1521                                                      mm19()
1522                                                    }
1523                                                    Increment(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1524                                                    mm18()
1525                                                  }
1526                                                  Increment(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1527                                                  mm17()
1528                                                }
1529                                                Increment(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1530                                                mm16()
1531                                              }
1532                                              Increment(^^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1533                                              mm15()
1534                                            }
1535                                            Increment(^^^^^^^^^^^^^^^^^^^^dz05.iy07)
1536                                            mm14()
1537                                          }
1538                                          Increment(^^^^^^^^^^^^^^^^^^^dz05.iy07)
1539                                          mm13()
1540                                        }
1541                                        Increment(^^^^^^^^^^^^^^^^^^dz05.iy07)
1542                                        mm12()
1543                                      }
1544                                      Increment(^^^^^^^^^^^^^^^^^dz05.iy07)
1545                                      mm11()
1546                                    }
1547                                    Increment(^^^^^^^^^^^^^^^^dz05.iy07)
1548                                    mm10()
1549                                  }
1550                                  Increment(^^^^^^^^^^^^^^^dz05.iy07)
1551                                  mm0f()
1552                                }
1553                                Increment(^^^^^^^^^^^^^^dz05.iy07)
1554                                mm0e()
1555                              }
1556                              Increment(^^^^^^^^^^^^^dz05.iy07)
1557                              mm0d()
1558                            }
1559                            Increment(^^^^^^^^^^^^dz05.iy07)
1560                            mm0c()
1561                          }
1562                          Increment(^^^^^^^^^^^dz05.iy07)
1563                          mm0b()
1564                        }
1565                        Increment(^^^^^^^^^^dz05.iy07)
1566                        mm0a()
1567                      }
1568                      Increment(^^^^^^^^^dz05.iy07)
1569                      mm09()
1570                    }
1571                    Increment(^^^^^^^^dz05.iy07)
1572                    mm08()
1573                  }
1574                  Increment(^^^^^^^dz05.iy07)
1575                  mm07()
1576                }
1577                Increment(^^^^^^dz05.iy07)
1578                mm06()
1579              }
1580              Increment(^^^^^dz05.iy07)
1581              mm05()
1582            }
1583            Increment(^^^^dz05.iy07)
1584            mm04()
1585          }
1586          Increment(^^^dz05.iy07)
1587          mm03()
1588        }
1589        Increment(^^dz05.iy07)
1590        mm02()
1591      }
1592      Increment(^dz05.iy07)
1593      mm01()
1594    }
1595
1596    CH03(ts, z170, 0x11d, 0, 0)
1597
1598    Increment(dz05.iy07)
1599    mm00()
1600
1601    if (LNotEqual(dz05.iy07, 0xabcd0821)) {
1602        err(ts, z170, 0x031, 0, 0, dz05.iy07, 0xabcd0821)
1603    }
1604
1605    CH03(ts, z170, 0x11e, 0, 0)
1606}
1607
1608/*
1609 * Simple Store of object with the name of method in the name path
1610 */
1611Method(mt13,, Serialized)
1612{
1613    Name(ts, "mt13")
1614
1615    Device(dz05)
1616    {
1617        Name(iy07, 0xabcd0500)
1618    }
1619
1620    Method(mm00)
1621    {
1622      Method(mm01)
1623      {
1624        Method(mm02)
1625        {
1626          Method(mm03)
1627          {
1628            Method(mm04)
1629            {
1630              Method(mm05)
1631              {
1632                Method(mm06)
1633                {
1634                  Store (\mt13.dz05.iy07, Local0)
1635                  OUTC("mt13,   \\mt13.dz05.iy07:")
1636                  OUTC(Local0)
1637                  if (LNotEqual(Local0, 0xabcd0500)) {
1638                      err(ts, z170, 0x032, 0, 0, Local0, 0xabcd0500)
1639                  }
1640                  if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1641                      err(ts, z170, 0x033, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1642                  }
1643                }
1644                Store (\mt13.dz05.iy07, Local0)
1645                mm06()
1646                if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1647                    err(ts, z170, 0x034, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1648                }
1649              }
1650              Store (\mt13.dz05.iy07, Local0)
1651              mm05()
1652              if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1653                  err(ts, z170, 0x035, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1654              }
1655            }
1656            Store (\mt13.dz05.iy07, Local0)
1657            mm04()
1658            if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1659                err(ts, z170, 0x036, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1660            }
1661          }
1662          Store (\mt13.dz05.iy07, Local0)
1663          mm03()
1664          if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1665              err(ts, z170, 0x037, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1666          }
1667        }
1668        Store (\mt13.dz05.iy07, Local0)
1669        mm02()
1670        if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1671            err(ts, z170, 0x038, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1672        }
1673      }
1674      Store (\mt13.dz05.iy07, Local0)
1675      mm01()
1676      if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1677          err(ts, z170, 0x039, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1678      }
1679    }
1680
1681    CH03(ts, z170, 0x03a, 0, 0)
1682
1683    Store (\mt13.dz05.iy07, Local0)
1684    mm00()
1685
1686    if (LNotEqual(\mt13.dz05.iy07, 0xabcd0500)) {
1687      err(ts, z170, 0x03b, 0, 0, \mt13.dz05.iy07, 0xabcd0500)
1688    }
1689
1690    CH03(ts, z170, 0x03c, 0, 0)
1691}
1692
1693/*
1694 * The same as mt13, but contains more depth of enclosed method calls.
1695 * To be run on ACPICA only.
1696 */
1697Method(mt14,, Serialized)
1698{
1699    Name(ts, "mt14")
1700
1701    Device(dz05)
1702    {
1703        Name(iy07, 0xabcd2900)
1704    }
1705    Method(mm00)
1706    {
1707      Method(mm01)
1708      {
1709        Method(mm02)
1710        {
1711          Method(mm03)
1712          {
1713            Method(mm04)
1714            {
1715              Method(mm05)
1716              {
1717                Method(mm06)
1718                {
1719                  Method(mm07)
1720                  {
1721                    Method(mm08)
1722                    {
1723                      Method(mm09)
1724                      {
1725                        Method(mm0a)
1726                        {
1727                          Method(mm0b)
1728                          {
1729                            Method(mm0c)
1730                            {
1731                              Method(mm0d)
1732                              {
1733                                Method(mm0e)
1734                                {
1735                                  Method(mm0f)
1736                                  {
1737                                    Method(mm10)
1738                                    {
1739                                      Method(mm11)
1740                                      {
1741                                        Method(mm12)
1742                                        {
1743                                          Method(mm13)
1744                                          {
1745                                            Method(mm14)
1746                                            {
1747                                              Method(mm15)
1748                                              {
1749                                                Method(mm16)
1750                                                {
1751                                                  Method(mm17)
1752                                                  {
1753                                                    Method(mm18)
1754                                                    {
1755                                                      Method(mm19)
1756                                                      {
1757                                                        Method(mm1a)
1758                                                        {
1759                                                          Method(mm1b)
1760                                                          {
1761                                                            Method(mm1c)
1762                                                            {
1763                                                              Method(mm1d)
1764                                                              {
1765                                                                Method(mm1e)
1766                                                                {
1767                                                                  Method(mm1f)
1768                                                                  {
1769                                                                    Store (\mt14.dz05.iy07, Local0)
1770                                                                    OUTC("mt14,   \\mt14.dz05.iy07:")
1771                                                                    OUTC(Local0)
1772                                                                    if (LNotEqual(Local0, 0xabcd2900)) {
1773                                                                        err(ts, z170, 0x03d, 0, 0, Local0, 0xabcd2900)
1774                                                                    }
1775                                                                    if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1776                                                                        err(ts, z170, 0x03e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1777                                                                    }
1778                                                                  }
1779                                                                  Store (\mt14.dz05.iy07, Local0)
1780                                                                  mm1f()
1781                                                                  if (LNotEqual(Local0, 0xabcd2900)) {
1782                                                                      err(ts, z170, 0x03f, 0, 0, Local0, 0xabcd2900)
1783                                                                  }
1784                                                                  if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1785                                                                      err(ts, z170, 0x040, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1786                                                                  }
1787                                                                }
1788                                                                Store (\mt14.dz05.iy07, Local0)
1789                                                                mm1e()
1790                                                                if (LNotEqual(Local0, 0xabcd2900)) {
1791                                                                    err(ts, z170, 0x041, 0, 0, Local0, 0xabcd2900)
1792                                                                }
1793                                                                if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1794                                                                    err(ts, z170, 0x042, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1795                                                                }
1796                                                              }
1797                                                              Store (\mt14.dz05.iy07, Local0)
1798                                                              mm1d()
1799                                                              if (LNotEqual(Local0, 0xabcd2900)) {
1800                                                                  err(ts, z170, 0x043, 0, 0, Local0, 0xabcd2900)
1801                                                              }
1802                                                              if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1803                                                                  err(ts, z170, 0x044, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1804                                                              }
1805                                                            }
1806                                                            Store (\mt14.dz05.iy07, Local0)
1807                                                            mm1c()
1808                                                            if (LNotEqual(Local0, 0xabcd2900)) {
1809                                                                err(ts, z170, 0x045, 0, 0, Local0, 0xabcd2900)
1810                                                            }
1811                                                            if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1812                                                                err(ts, z170, 0x046, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1813                                                            }
1814                                                          }
1815                                                          Store (\mt14.dz05.iy07, Local0)
1816                                                          mm1b()
1817                                                          if (LNotEqual(Local0, 0xabcd2900)) {
1818                                                              err(ts, z170, 0x047, 0, 0, Local0, 0xabcd2900)
1819                                                          }
1820                                                          if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1821                                                              err(ts, z170, 0x048, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1822                                                          }
1823                                                        }
1824                                                        Store (\mt14.dz05.iy07, Local0)
1825                                                        mm1a()
1826                                                        if (LNotEqual(Local0, 0xabcd2900)) {
1827                                                            err(ts, z170, 0x049, 0, 0, Local0, 0xabcd2900)
1828                                                        }
1829                                                        if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1830                                                            err(ts, z170, 0x04a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1831                                                        }
1832                                                      }
1833                                                      Store (\mt14.dz05.iy07, Local0)
1834                                                      mm19()
1835                                                      if (LNotEqual(Local0, 0xabcd2900)) {
1836                                                          err(ts, z170, 0x04b, 0, 0, Local0, 0xabcd2900)
1837                                                      }
1838                                                      if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1839                                                          err(ts, z170, 0x04c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1840                                                      }
1841                                                    }
1842                                                    Store (\mt14.dz05.iy07, Local0)
1843                                                    mm18()
1844                                                    if (LNotEqual(Local0, 0xabcd2900)) {
1845                                                        err(ts, z170, 0x04d, 0, 0, Local0, 0xabcd2900)
1846                                                    }
1847                                                    if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1848                                                        err(ts, z170, 0x04e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1849                                                    }
1850                                                  }
1851                                                  Store (\mt14.dz05.iy07, Local0)
1852                                                  mm17()
1853                                                  if (LNotEqual(Local0, 0xabcd2900)) {
1854                                                      err(ts, z170, 0x04f, 0, 0, Local0, 0xabcd2900)
1855                                                  }
1856                                                  if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1857                                                      err(ts, z170, 0x050, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1858                                                  }
1859                                                }
1860                                                Store (\mt14.dz05.iy07, Local0)
1861                                                mm16()
1862                                                if (LNotEqual(Local0, 0xabcd2900)) {
1863                                                    err(ts, z170, 0x051, 0, 0, Local0, 0xabcd2900)
1864                                                }
1865                                                if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1866                                                    err(ts, z170, 0x052, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1867                                                }
1868                                              }
1869                                              Store (\mt14.dz05.iy07, Local0)
1870                                              mm15()
1871                                              if (LNotEqual(Local0, 0xabcd2900)) {
1872                                                  err(ts, z170, 0x053, 0, 0, Local0, 0xabcd2900)
1873                                              }
1874                                              if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1875                                                  err(ts, z170, 0x054, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1876                                              }
1877                                            }
1878                                            Store (\mt14.dz05.iy07, Local0)
1879                                            mm14()
1880                                            if (LNotEqual(Local0, 0xabcd2900)) {
1881                                                err(ts, z170, 0x055, 0, 0, Local0, 0xabcd2900)
1882                                            }
1883                                            if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1884                                                err(ts, z170, 0x056, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1885                                            }
1886                                          }
1887                                          Store (\mt14.dz05.iy07, Local0)
1888                                          mm13()
1889                                          if (LNotEqual(Local0, 0xabcd2900)) {
1890                                              err(ts, z170, 0x057, 0, 0, Local0, 0xabcd2900)
1891                                          }
1892                                          if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1893                                              err(ts, z170, 0x058, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1894                                          }
1895                                        }
1896                                        Store (\mt14.dz05.iy07, Local0)
1897                                        mm12()
1898                                        if (LNotEqual(Local0, 0xabcd2900)) {
1899                                            err(ts, z170, 0x059, 0, 0, Local0, 0xabcd2900)
1900                                        }
1901                                        if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1902                                            err(ts, z170, 0x05a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1903                                        }
1904                                      }
1905                                      Store (\mt14.dz05.iy07, Local0)
1906                                      mm11()
1907                                      if (LNotEqual(Local0, 0xabcd2900)) {
1908                                          err(ts, z170, 0x05b, 0, 0, Local0, 0xabcd2900)
1909                                      }
1910                                      if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1911                                          err(ts, z170, 0x05c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1912                                      }
1913                                    }
1914                                    Store (\mt14.dz05.iy07, Local0)
1915                                    mm10()
1916                                    if (LNotEqual(Local0, 0xabcd2900)) {
1917                                        err(ts, z170, 0x05d, 0, 0, Local0, 0xabcd2900)
1918                                    }
1919                                    if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1920                                        err(ts, z170, 0x05e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1921                                    }
1922                                  }
1923                                  Store (\mt14.dz05.iy07, Local0)
1924                                  mm0f()
1925                                  if (LNotEqual(Local0, 0xabcd2900)) {
1926                                      err(ts, z170, 0x05f, 0, 0, Local0, 0xabcd2900)
1927                                  }
1928                                  if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1929                                      err(ts, z170, 0x060, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1930                                  }
1931                                }
1932                                Store (\mt14.dz05.iy07, Local0)
1933                                mm0e()
1934                                if (LNotEqual(Local0, 0xabcd2900)) {
1935                                    err(ts, z170, 0x061, 0, 0, Local0, 0xabcd2900)
1936                                }
1937                                if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1938                                    err(ts, z170, 0x062, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1939                                }
1940                              }
1941                              Store (\mt14.dz05.iy07, Local0)
1942                              mm0d()
1943                              if (LNotEqual(Local0, 0xabcd2900)) {
1944                                  err(ts, z170, 0x063, 0, 0, Local0, 0xabcd2900)
1945                              }
1946                              if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1947                                  err(ts, z170, 0x064, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1948                              }
1949                            }
1950                            Store (\mt14.dz05.iy07, Local0)
1951                            mm0c()
1952                            if (LNotEqual(Local0, 0xabcd2900)) {
1953                                err(ts, z170, 0x065, 0, 0, Local0, 0xabcd2900)
1954                            }
1955                            if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1956                                err(ts, z170, 0x066, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1957                            }
1958                          }
1959                          Store (\mt14.dz05.iy07, Local0)
1960                          mm0b()
1961                          if (LNotEqual(Local0, 0xabcd2900)) {
1962                              err(ts, z170, 0x067, 0, 0, Local0, 0xabcd2900)
1963                          }
1964                          if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1965                              err(ts, z170, 0x068, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1966                          }
1967                        }
1968                        Store (\mt14.dz05.iy07, Local0)
1969                        mm0a()
1970                        if (LNotEqual(Local0, 0xabcd2900)) {
1971                            err(ts, z170, 0x069, 0, 0, Local0, 0xabcd2900)
1972                        }
1973                        if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1974                            err(ts, z170, 0x06a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1975                        }
1976                      }
1977                      Store (\mt14.dz05.iy07, Local0)
1978                      mm09()
1979                      if (LNotEqual(Local0, 0xabcd2900)) {
1980                          err(ts, z170, 0x06b, 0, 0, Local0, 0xabcd2900)
1981                      }
1982                      if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1983                          err(ts, z170, 0x06c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1984                      }
1985                    }
1986                    Store (\mt14.dz05.iy07, Local0)
1987                    mm08()
1988                    if (LNotEqual(Local0, 0xabcd2900)) {
1989                        err(ts, z170, 0x06d, 0, 0, Local0, 0xabcd2900)
1990                    }
1991                    if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
1992                        err(ts, z170, 0x06e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
1993                    }
1994                  }
1995                  Store (\mt14.dz05.iy07, Local0)
1996                  mm07()
1997                  if (LNotEqual(Local0, 0xabcd2900)) {
1998                      err(ts, z170, 0x06f, 0, 0, Local0, 0xabcd2900)
1999                  }
2000                  if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2001                      err(ts, z170, 0x070, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2002                  }
2003                }
2004                Store (\mt14.dz05.iy07, Local0)
2005                mm06()
2006                if (LNotEqual(Local0, 0xabcd2900)) {
2007                    err(ts, z170, 0x071, 0, 0, Local0, 0xabcd2900)
2008                }
2009                if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2010                    err(ts, z170, 0x072, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2011                }
2012              }
2013              Store (\mt14.dz05.iy07, Local0)
2014              mm05()
2015              if (LNotEqual(Local0, 0xabcd2900)) {
2016                  err(ts, z170, 0x073, 0, 0, Local0, 0xabcd2900)
2017              }
2018              if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2019                  err(ts, z170, 0x074, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2020              }
2021            }
2022            Store (\mt14.dz05.iy07, Local0)
2023            mm04()
2024            if (LNotEqual(Local0, 0xabcd2900)) {
2025                err(ts, z170, 0x075, 0, 0, Local0, 0xabcd2900)
2026            }
2027            if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2028                err(ts, z170, 0x076, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2029            }
2030          }
2031          Store (\mt14.dz05.iy07, Local0)
2032          mm03()
2033          if (LNotEqual(Local0, 0xabcd2900)) {
2034              err(ts, z170, 0x077, 0, 0, Local0, 0xabcd2900)
2035          }
2036          if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2037              err(ts, z170, 0x078, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2038          }
2039        }
2040        Store (\mt14.dz05.iy07, Local0)
2041        mm02()
2042        if (LNotEqual(Local0, 0xabcd2900)) {
2043            err(ts, z170, 0x079, 0, 0, Local0, 0xabcd2900)
2044        }
2045        if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2046            err(ts, z170, 0x07a, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2047        }
2048      }
2049      Store (\mt14.dz05.iy07, Local0)
2050      mm01()
2051      if (LNotEqual(Local0, 0xabcd2900)) {
2052          err(ts, z170, 0x07b, 0, 0, Local0, 0xabcd2900)
2053      }
2054      if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2055          err(ts, z170, 0x07c, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2056      }
2057    }
2058
2059    CH03(ts, z170, 0x11f, 0, 0)
2060
2061    Store (\mt14.dz05.iy07, Local0)
2062    mm00()
2063    if (LNotEqual(Local0, 0xabcd2900)) {
2064        err(ts, z170, 0x07d, 0, 0, Local0, 0xabcd2900)
2065    }
2066    if (LNotEqual(\mt14.dz05.iy07, 0xabcd2900)) {
2067        err(ts, z170, 0x07e, 0, 0, \mt14.dz05.iy07, 0xabcd2900)
2068    }
2069
2070    CH03(ts, z170, 0x120, 0, 0)
2071}
2072
2073/*
2074 * The same as mt14, but contains parent name paths.
2075 * To be run on ACPICA only.
2076 */
2077Method(mt15,, Serialized)
2078{
2079    Name(ts, "mt15")
2080
2081    Device(dz05)
2082    {
2083        Name(iy07, 0xabcd3900)
2084    }
2085    Method(mm00)
2086    {
2087      Method(mm01)
2088      {
2089        Method(mm02)
2090        {
2091          Method(mm03)
2092          {
2093            Method(mm04)
2094            {
2095              Method(mm05)
2096              {
2097                Method(mm06)
2098                {
2099                  Method(mm07)
2100                  {
2101                    Method(mm08)
2102                    {
2103                      Method(mm09)
2104                      {
2105                        Method(mm0a)
2106                        {
2107                          Method(mm0b)
2108                          {
2109                            Method(mm0c)
2110                            {
2111                              Method(mm0d)
2112                              {
2113                                Method(mm0e)
2114                                {
2115                                  Method(mm0f)
2116                                  {
2117                                    Method(mm10)
2118                                    {
2119                                      Method(mm11)
2120                                      {
2121                                        Method(mm12)
2122                                        {
2123                                          Method(mm13)
2124                                          {
2125                                            Method(mm14)
2126                                            {
2127                                              Method(mm15)
2128                                              {
2129                                                Method(mm16)
2130                                                {
2131                                                  Method(mm17)
2132                                                  {
2133                                                    Method(mm18)
2134                                                    {
2135                                                      Method(mm19)
2136                                                      {
2137                                                        Method(mm1a)
2138                                                        {
2139                                                          Method(mm1b)
2140                                                          {
2141                                                            Method(mm1c)
2142                                                            {
2143                                                              Method(mm1d)
2144                                                              {
2145                                                                Method(mm1e)
2146                                                                {
2147                                                                  Method(mm1f)
2148                                                                  {
2149                                                                    Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2150                                                                    OUTC("mt15,   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07:")
2151                                                                    OUTC(Local0)
2152                                                                    if (LNotEqual(Local0, 0xabcd3900)) {
2153                                                                        err(ts, z170, 0x07f, 0, 0, Local0, 0xabcd3900)
2154                                                                    }
2155                                                                    if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2156                                                                        err(ts, z170, 0x080, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2157                                                                    }
2158                                                                  }
2159                                                                  Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2160                                                                  mm1f()
2161                                                                  if (LNotEqual(Local0, 0xabcd3900)) {
2162                                                                      err(ts, z170, 0x081, 0, 0, Local0, 0xabcd3900)
2163                                                                  }
2164                                                                  if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2165                                                                      err(ts, z170, 0x082, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2166                                                                  }
2167                                                                }
2168                                                                Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2169                                                                mm1e()
2170                                                                if (LNotEqual(Local0, 0xabcd3900)) {
2171                                                                    err(ts, z170, 0x083, 0, 0, Local0, 0xabcd3900)
2172                                                                }
2173                                                                if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2174                                                                    err(ts, z170, 0x084, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2175                                                                }
2176                                                              }
2177                                                              Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2178                                                              mm1d()
2179                                                              if (LNotEqual(Local0, 0xabcd3900)) {
2180                                                                  err(ts, z170, 0x085, 0, 0, Local0, 0xabcd3900)
2181                                                              }
2182                                                              if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2183                                                                  err(ts, z170, 0x086, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2184                                                              }
2185                                                            }
2186                                                            Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2187                                                            mm1c()
2188                                                            if (LNotEqual(Local0, 0xabcd3900)) {
2189                                                                err(ts, z170, 0x087, 0, 0, Local0, 0xabcd3900)
2190                                                            }
2191                                                            if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2192                                                                err(ts, z170, 0x088, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2193                                                            }
2194                                                          }
2195                                                          Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2196                                                          mm1b()
2197                                                          if (LNotEqual(Local0, 0xabcd3900)) {
2198                                                              err(ts, z170, 0x089, 0, 0, Local0, 0xabcd3900)
2199                                                          }
2200                                                          if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2201                                                              err(ts, z170, 0x08a, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2202                                                          }
2203                                                        }
2204                                                        Store (^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2205                                                        mm1a()
2206                                                        if (LNotEqual(Local0, 0xabcd3900)) {
2207                                                            err(ts, z170, 0x08b, 0, 0, Local0, 0xabcd3900)
2208                                                        }
2209                                                        if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2210                                                            err(ts, z170, 0x08c, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2211                                                        }
2212                                                      }
2213                                                      Store (^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2214                                                      mm19()
2215                                                      if (LNotEqual(Local0, 0xabcd3900)) {
2216                                                          err(ts, z170, 0x08d, 0, 0, Local0, 0xabcd3900)
2217                                                      }
2218                                                      if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2219                                                          err(ts, z170, 0x08e, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2220                                                      }
2221                                                    }
2222                                                    Store (^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2223                                                    mm18()
2224                                                    if (LNotEqual(Local0, 0xabcd3900)) {
2225                                                        err(ts, z170, 0x08f, 0, 0, Local0, 0xabcd3900)
2226                                                    }
2227                                                    if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2228                                                        err(ts, z170, 0x090, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2229                                                    }
2230                                                  }
2231                                                  Store (^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2232                                                  mm17()
2233                                                  if (LNotEqual(Local0, 0xabcd3900)) {
2234                                                      err(ts, z170, 0x091, 0, 0, Local0, 0xabcd3900)
2235                                                  }
2236                                                  if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2237                                                      err(ts, z170, 0x092, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2238                                                  }
2239                                                }
2240                                                Store (^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2241                                                mm16()
2242                                                if (LNotEqual(Local0, 0xabcd3900)) {
2243                                                    err(ts, z170, 0x093, 0, 0, Local0, 0xabcd3900)
2244                                                }
2245                                                if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2246                                                    err(ts, z170, 0x094, 0, 0, ^^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2247                                                }
2248                                              }
2249                                              Store (^^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2250                                              mm15()
2251                                              if (LNotEqual(Local0, 0xabcd3900)) {
2252                                                  err(ts, z170, 0x095, 0, 0, Local0, 0xabcd3900)
2253                                              }
2254                                              if (LNotEqual(^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2255                                                  err(ts, z170, 0x096, 0, 0, ^^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2256                                              }
2257                                            }
2258                                            Store (^^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2259                                            mm14()
2260                                            if (LNotEqual(Local0, 0xabcd3900)) {
2261                                                err(ts, z170, 0x097, 0, 0, Local0, 0xabcd3900)
2262                                            }
2263                                            if (LNotEqual(^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2264                                                err(ts, z170, 0x098, 0, 0, ^^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2265                                            }
2266                                          }
2267                                          Store (^^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2268                                          mm13()
2269                                          if (LNotEqual(Local0, 0xabcd3900)) {
2270                                              err(ts, z170, 0x099, 0, 0, Local0, 0xabcd3900)
2271                                          }
2272                                          if (LNotEqual(^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2273                                              err(ts, z170, 0x09a, 0, 0, ^^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2274                                          }
2275                                        }
2276                                        Store (^^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2277                                        mm12()
2278                                        if (LNotEqual(Local0, 0xabcd3900)) {
2279                                            err(ts, z170, 0x09b, 0, 0, Local0, 0xabcd3900)
2280                                        }
2281                                        if (LNotEqual(^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2282                                            err(ts, z170, 0x09c, 0, 0, ^^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2283                                        }
2284                                      }
2285                                      Store (^^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2286                                      mm11()
2287                                      if (LNotEqual(Local0, 0xabcd3900)) {
2288                                          err(ts, z170, 0x09d, 0, 0, Local0, 0xabcd3900)
2289                                      }
2290                                      if (LNotEqual(^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2291                                          err(ts, z170, 0x09e, 0, 0, ^^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2292                                      }
2293                                    }
2294                                    Store (^^^^^^^^^^^^^^^^dz05.iy07, Local0)
2295                                    mm10()
2296                                    if (LNotEqual(Local0, 0xabcd3900)) {
2297                                        err(ts, z170, 0x09f, 0, 0, Local0, 0xabcd3900)
2298                                    }
2299                                    if (LNotEqual(^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2300                                        err(ts, z170, 0x0a0, 0, 0, ^^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2301                                    }
2302                                  }
2303                                  Store (^^^^^^^^^^^^^^^dz05.iy07, Local0)
2304                                  mm0f()
2305                                  if (LNotEqual(Local0, 0xabcd3900)) {
2306                                      err(ts, z170, 0x0a1, 0, 0, Local0, 0xabcd3900)
2307                                  }
2308                                  if (LNotEqual(^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2309                                      err(ts, z170, 0x0a2, 0, 0, ^^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2310                                  }
2311                                }
2312                                Store (^^^^^^^^^^^^^^dz05.iy07, Local0)
2313                                mm0e()
2314                                if (LNotEqual(Local0, 0xabcd3900)) {
2315                                    err(ts, z170, 0x0a3, 0, 0, Local0, 0xabcd3900)
2316                                }
2317                                if (LNotEqual(^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2318                                    err(ts, z170, 0x0a4, 0, 0, ^^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2319                                }
2320                              }
2321                              Store (^^^^^^^^^^^^^dz05.iy07, Local0)
2322                              mm0d()
2323                              if (LNotEqual(Local0, 0xabcd3900)) {
2324                                  err(ts, z170, 0x0a5, 0, 0, Local0, 0xabcd3900)
2325                              }
2326                              if (LNotEqual(^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2327                                  err(ts, z170, 0x0a6, 0, 0, ^^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2328                              }
2329                            }
2330                            Store (^^^^^^^^^^^^dz05.iy07, Local0)
2331                            mm0c()
2332                            if (LNotEqual(Local0, 0xabcd3900)) {
2333                                err(ts, z170, 0x0a7, 0, 0, Local0, 0xabcd3900)
2334                            }
2335                            if (LNotEqual(^^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2336                                err(ts, z170, 0x0a8, 0, 0, ^^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2337                            }
2338                          }
2339                          Store (^^^^^^^^^^^dz05.iy07, Local0)
2340                          mm0b()
2341                          if (LNotEqual(Local0, 0xabcd3900)) {
2342                              err(ts, z170, 0x0a9, 0, 0, Local0, 0xabcd3900)
2343                          }
2344                          if (LNotEqual(^^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2345                              err(ts, z170, 0x0aa, 0, 0, ^^^^^^^^^^^dz05.iy07, 0xabcd3900)
2346                          }
2347                        }
2348                        Store (^^^^^^^^^^dz05.iy07, Local0)
2349                        mm0a()
2350                        if (LNotEqual(Local0, 0xabcd3900)) {
2351                            err(ts, z170, 0x0ab, 0, 0, Local0, 0xabcd3900)
2352                        }
2353                        if (LNotEqual(^^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2354                            err(ts, z170, 0x0ac, 0, 0, ^^^^^^^^^^dz05.iy07, 0xabcd3900)
2355                        }
2356                      }
2357                      Store (^^^^^^^^^dz05.iy07, Local0)
2358                      mm09()
2359                      if (LNotEqual(Local0, 0xabcd3900)) {
2360                          err(ts, z170, 0x0ad, 0, 0, Local0, 0xabcd3900)
2361                      }
2362                      if (LNotEqual(^^^^^^^^^dz05.iy07, 0xabcd3900)) {
2363                          err(ts, z170, 0x0ae, 0, 0, ^^^^^^^^^dz05.iy07, 0xabcd3900)
2364                      }
2365                    }
2366                    Store (^^^^^^^^dz05.iy07, Local0)
2367                    mm08()
2368                    if (LNotEqual(Local0, 0xabcd3900)) {
2369                        err(ts, z170, 0x0af, 0, 0, Local0, 0xabcd3900)
2370                    }
2371                    if (LNotEqual(^^^^^^^^dz05.iy07, 0xabcd3900)) {
2372                        err(ts, z170, 0x0b0, 0, 0, ^^^^^^^^dz05.iy07, 0xabcd3900)
2373                    }
2374                  }
2375                  Store (^^^^^^^dz05.iy07, Local0)
2376                  mm07()
2377                  if (LNotEqual(Local0, 0xabcd3900)) {
2378                      err(ts, z170, 0x0b1, 0, 0, Local0, 0xabcd3900)
2379                  }
2380                  if (LNotEqual(^^^^^^^dz05.iy07, 0xabcd3900)) {
2381                      err(ts, z170, 0x0b2, 0, 0, ^^^^^^^dz05.iy07, 0xabcd3900)
2382                  }
2383                }
2384                Store (^^^^^^dz05.iy07, Local0)
2385                mm06()
2386                if (LNotEqual(Local0, 0xabcd3900)) {
2387                    err(ts, z170, 0x0b3, 0, 0, Local0, 0xabcd3900)
2388                }
2389                if (LNotEqual(^^^^^^dz05.iy07, 0xabcd3900)) {
2390                    err(ts, z170, 0x0b4, 0, 0, ^^^^^^dz05.iy07, 0xabcd3900)
2391                }
2392              }
2393              Store (^^^^^dz05.iy07, Local0)
2394              mm05()
2395              if (LNotEqual(Local0, 0xabcd3900)) {
2396                  err(ts, z170, 0x0b5, 0, 0, Local0, 0xabcd3900)
2397              }
2398              if (LNotEqual(^^^^^dz05.iy07, 0xabcd3900)) {
2399                  err(ts, z170, 0x0b6, 0, 0, ^^^^^dz05.iy07, 0xabcd3900)
2400              }
2401            }
2402            Store (^^^^dz05.iy07, Local0)
2403            mm04()
2404            if (LNotEqual(Local0, 0xabcd3900)) {
2405                err(ts, z170, 0x0b7, 0, 0, Local0, 0xabcd3900)
2406            }
2407            if (LNotEqual(^^^^dz05.iy07, 0xabcd3900)) {
2408                err(ts, z170, 0x0b8, 0, 0, ^^^^dz05.iy07, 0xabcd3900)
2409            }
2410          }
2411          Store (^^^dz05.iy07, Local0)
2412          mm03()
2413          if (LNotEqual(Local0, 0xabcd3900)) {
2414              err(ts, z170, 0x0b9, 0, 0, Local0, 0xabcd3900)
2415          }
2416          if (LNotEqual(^^^dz05.iy07, 0xabcd3900)) {
2417              err(ts, z170, 0x0ba, 0, 0, ^^^dz05.iy07, 0xabcd3900)
2418          }
2419        }
2420        Store (^^dz05.iy07, Local0)
2421        mm02()
2422        if (LNotEqual(Local0, 0xabcd3900)) {
2423            err(ts, z170, 0x0bb, 0, 0, Local0, 0xabcd3900)
2424        }
2425        if (LNotEqual(^^dz05.iy07, 0xabcd3900)) {
2426            err(ts, z170, 0x0bc, 0, 0, ^^dz05.iy07, 0xabcd3900)
2427        }
2428      }
2429      Store (^dz05.iy07, Local0)
2430      mm01()
2431      if (LNotEqual(Local0, 0xabcd3900)) {
2432          err(ts, z170, 0x0bd, 0, 0, Local0, 0xabcd3900)
2433      }
2434      if (LNotEqual(^dz05.iy07, 0xabcd3900)) {
2435          err(ts, z170, 0x0be, 0, 0, ^dz05.iy07, 0xabcd3900)
2436      }
2437    }
2438
2439    CH03(ts, z170, 0x121, 0, 0)
2440
2441    Store (dz05.iy07, Local0)
2442    mm00()
2443    if (LNotEqual(Local0, 0xabcd3900)) {
2444        err(ts, z170, 0x0bf, 0, 0, Local0, 0xabcd3900)
2445    }
2446    if (LNotEqual(dz05.iy07, 0xabcd3900)) {
2447        err(ts, z170, 0x0c0, 0, 0, dz05.iy07, 0xabcd3900)
2448    }
2449
2450    CH03(ts, z170, 0x122, 0, 0)
2451}
2452
2453/*
2454 * Access to the internal object of invoked method
2455 */
2456Method(mt16, 1, Serialized)
2457{
2458    Name(ts, "mt16")
2459
2460    Name(i000, 0)
2461    Name(i001, 0)
2462
2463    Method(mm00)
2464    {
2465      Method(mm01)
2466      {
2467        Method(mm02)
2468        {
2469          Method(mm03)
2470          {
2471            Method(mm04,, Serialized)
2472            {
2473                Device(dz05)
2474                {
2475                  Name(iy07, 0xabcd4900)
2476                }
2477                if (LEqual(i001, 1)) {
2478                    Store(0xabcd4904, dz05.iy07)
2479                    m001(1)
2480                } elseif (LEqual(i001, 2)) {
2481                    Store(0xabcd4905, dz05.iy07)
2482                    m001(2)
2483                } elseif (LEqual(i001, 3)) {
2484                    m001(3)
2485                }
2486            }
2487            mm04()
2488          }
2489          mm03()
2490        }
2491        mm02()
2492      }
2493      mm01()
2494    }
2495
2496    Method(m000)
2497    {
2498      Store (^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
2499    }
2500
2501    Method(m001, 1)
2502    {
2503      Method(mmF1, 1)
2504      {
2505        Method(mmF2, 1, Serialized)
2506        {
2507            Device(dz05)
2508            {
2509              Name(iy07, 0xabcd6900)
2510            }
2511            if (LEqual(arg0, 1)) {
2512                Store (\mt16.mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
2513            } elseif (LEqual(arg0, 2)) {
2514                Store (^^^mm00.mm01.mm02.mm03.mm04.dz05.iy07, i000)
2515            } elseif (LEqual(arg0, 3)) {
2516                Store (^^mmF1.mmF2.dz05.iy07, i000)
2517            }
2518        }
2519        mmF2(arg0)
2520      }
2521      mmF1(arg0)
2522    }
2523
2524    CH03(ts, z170, 0x0c1, 0, 0)
2525
2526    if (LEqual(arg0, 0)) {
2527        // Access to the internal data of method (mm00...) not being invoked
2528        m000()
2529        CH04(ts, 1, 5, z170, 0x0c2, 0, 0) // AE_NOT_FOUND
2530    } elseif (LEqual(arg0, 1)) {
2531
2532        // Access to the internal data of method (mm00...) being invoked
2533        // by \mt16.mm00....
2534
2535        Store(0, i000)
2536        Store(1, i001)
2537        mm00()
2538        if (LNotEqual(i000, 0xabcd4904)) {
2539            err(ts, z170, 0x0c3, 0, 0, i000, 0xabcd4904)
2540        }
2541    } elseif (LEqual(arg0, 2)) {
2542
2543        // Access to the internal data of method (mm00...) being invoked
2544        // by ^^^^^^^^^^^^mm00...
2545
2546        Store(2, i001)
2547        mm00()
2548        if (LNotEqual(i000, 0xabcd4905)) {
2549            err(ts, z170, 0x0c4, 0, 0, i000, 0xabcd4905)
2550        }
2551
2552    } elseif (LEqual(arg0, 3)) {
2553
2554        // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
2555        // being invoked by ^^^^^^^^^^^^mm01...
2556
2557        Store(3, i001)
2558        mm00()
2559        if (LNotEqual(i000, 0xabcd6900)) {
2560            err(ts, z170, 0x1c4, 0, 0, i000, 0xabcd6900)
2561        }
2562    }
2563
2564    CH03(ts, z170, 0x0c5, 0, 0)
2565}
2566
2567/*
2568 * The same as mt16, but contains more depth of enclosed method calls.
2569 * To be run on ACPICA only.
2570 */
2571Method(mt17, 1, Serialized)
2572{
2573    Name(ts, "mt17")
2574
2575    Name(i000, 0)
2576    Name(i001, 0)
2577
2578    Method(mm00)
2579    {
2580      Method(mm01)
2581      {
2582        Method(mm02)
2583        {
2584          Method(mm03)
2585          {
2586            Method(mm04)
2587            {
2588              Method(mm05)
2589              {
2590                Method(mm06)
2591                {
2592                  Method(mm07)
2593                  {
2594                    Method(mm08)
2595                    {
2596                      Method(mm09)
2597                      {
2598                        Method(mm0a)
2599                        {
2600                          Method(mm0b)
2601                          {
2602                            Method(mm0c)
2603                            {
2604                              Method(mm0d)
2605                              {
2606                                Method(mm0e)
2607                                {
2608                                  Method(mm0f)
2609                                  {
2610                                    Method(mm10)
2611                                    {
2612                                      Method(mm11)
2613                                      {
2614                                        Method(mm12)
2615                                        {
2616                                          Method(mm13)
2617                                          {
2618                                            Method(mm14)
2619                                            {
2620                                              Method(mm15)
2621                                              {
2622                                                Method(mm16)
2623                                                {
2624                                                  Method(mm17)
2625                                                  {
2626                                                    Method(mm18)
2627                                                    {
2628                                                      Method(mm19)
2629                                                      {
2630                                                        Method(mm1a)
2631                                                        {
2632                                                          Method(mm1b)
2633                                                          {
2634                                                            Method(mm1c)
2635                                                            {
2636                                                              Method(mm1d)
2637                                                              {
2638                                                                Method(mm1e)
2639                                                                {
2640                                                                  Method(mm1f)
2641                                                                  {
2642                                                                    Method(mm20)
2643                                                                    {
2644                                                                      Method(mm21,, Serialized)
2645                                                                      {
2646                                                                        Device(dz05)
2647                                                                        {
2648                                                                          Name(iy07, 0xabcd5900)
2649                                                                        }
2650                                                                        Method(mm22)
2651                                                                        {
2652                                                                          Method(mm23)
2653                                                                          {
2654                                                                            Method(mm24)
2655                                                                            {
2656                                                                              Method(mm25)
2657                                                                              {
2658                                                                                if (LEqual(i001, 1)) {
2659                                                                                    Store(0xabcd4906, ^^^^dz05.iy07)
2660                                                                                    m001(1)
2661                                                                                } elseif (LEqual(i001, 2)) {
2662                                                                                    Store(0xabcd4907, ^^^^dz05.iy07)
2663                                                                                    m001(2)
2664                                                                                } elseif (LEqual(i001, 3)) {
2665                                                                                    m001(3)
2666                                                                                }
2667                                                                              }
2668                                                                              mm25()
2669                                                                            }
2670                                                                            mm24()
2671                                                                          }
2672                                                                          mm23()
2673                                                                        }
2674                                                                        mm22()
2675                                                                      }
2676                                                                      mm21()
2677                                                                    }
2678                                                                    mm20()
2679                                                                  }
2680                                                                  mm1f()
2681                                                                }
2682                                                                mm1e()
2683                                                              }
2684                                                              mm1d()
2685                                                            }
2686                                                            mm1c()
2687                                                          }
2688                                                          mm1b()
2689                                                        }
2690                                                        mm1a()
2691                                                      }
2692                                                      mm19()
2693                                                    }
2694                                                    mm18()
2695                                                  }
2696                                                  mm17()
2697                                                }
2698                                                mm16()
2699                                              }
2700                                              mm15()
2701                                            }
2702                                            mm14()
2703                                          }
2704                                          mm13()
2705                                        }
2706                                        mm12()
2707                                      }
2708                                      mm11()
2709                                    }
2710                                    mm10()
2711                                  }
2712                                  mm0f()
2713                                }
2714                                mm0e()
2715                              }
2716                              mm0d()
2717                            }
2718                            mm0c()
2719                          }
2720                          mm0b()
2721                        }
2722                        mm0a()
2723                      }
2724                      mm09()
2725                    }
2726                    mm08()
2727                  }
2728                  mm07()
2729                }
2730                mm06()
2731              }
2732              mm05()
2733            }
2734            mm04()
2735          }
2736          mm03()
2737        }
2738        mm02()
2739      }
2740      mm01()
2741    }
2742
2743    Method(m000)
2744    {
2745      Store (^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
2746    }
2747
2748    Method(m001, 1)
2749    {
2750      Method(mmF1, 1)
2751      {
2752        Method(mmF2, 1)
2753        {
2754          Method(mmF3, 1)
2755          {
2756            Method(mmF4, 1)
2757            {
2758              Method(mmF5, 1)
2759              {
2760                Method(mmF6, 1)
2761                {
2762                  Method(mmF7, 1)
2763                  {
2764                    Method(mmF8, 1)
2765                    {
2766                      Method(mmF9, 1)
2767                      {
2768                        Method(mmFa, 1)
2769                        {
2770                          Method(mmFb, 1)
2771                          {
2772                            Method(mmFc, 1)
2773                            {
2774                              Method(mmFd, 1)
2775                              {
2776                                Method(mmFe, 1)
2777                                {
2778                                  Method(mmFf, 1)
2779                                  {
2780                                    Method(mm10, 1)
2781                                    {
2782                                      Method(mm11, 1, Serialized)
2783                                      {
2784                                        Device(dz05)
2785                                        {
2786                                          Name(iy07, 0xabcd4908)
2787                                        }
2788                                        Method(mm12, 1)
2789                                        {
2790                                          Method(mm13, 1)
2791                                          {
2792                                            Method(mm14, 1)
2793                                            {
2794                                              Method(mm15, 1)
2795                                              {
2796                                                Method(mm16, 1)
2797                                                {
2798                                                  Method(mm17, 1)
2799                                                  {
2800                                                    Method(mm18, 1)
2801                                                    {
2802                                                      Method(mm19, 1)
2803                                                      {
2804                                                        Method(mm1a, 1)
2805                                                        {
2806                                                          Method(mm1b, 1)
2807                                                          {
2808                                                            Method(mm1c, 1)
2809                                                            {
2810                                                              Method(mm1d, 1)
2811                                                              {
2812                                                                Method(mm1e, 1)
2813                                                                {
2814                                                                  Method(mm1f, 1)
2815                                                                  {
2816if (LEqual(arg0, 1)) {
2817    Store (\mt17.mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
2818} elseif (LEqual(arg0, 2)) {
2819    Store (^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^mm00.mm01.mm02.mm03.mm04.mm05.mm06.mm07.mm08.mm09.mm0a.mm0b.mm0c.mm0d.mm0e.mm0f.mm10.mm11.mm12.mm13.mm14.mm15.mm16.mm17.mm18.mm19.mm1a.mm1b.mm1c.mm1d.mm1e.mm1f.mm20.mm21.dz05.iy07, i000)
2820} elseif (LEqual(arg0, 3)) {
2821    Store (^^^^^^^^^^^^^^^^^^^^^^^^^^mmF6.mmF7.mmF8.mmF9.mmFa.mmFb.mmFc.mmFd.mmFe.mmFf.mm10.mm11.dz05.iy07, i000)
2822}
2823                                                                  }
2824                                                                  mm1f(arg0)
2825                                                                }
2826                                                                mm1e(arg0)
2827                                                              }
2828                                                              mm1d(arg0)
2829                                                            }
2830                                                            mm1c(arg0)
2831                                                          }
2832                                                          mm1b(arg0)
2833                                                        }
2834                                                        mm1a(arg0)
2835                                                      }
2836                                                      mm19(arg0)
2837                                                    }
2838                                                    mm18(arg0)
2839                                                  }
2840                                                  mm17(arg0)
2841                                                }
2842                                                mm16(arg0)
2843                                              }
2844                                              mm15(arg0)
2845                                            }
2846                                            mm14(arg0)
2847                                          }
2848                                          mm13(arg0)
2849                                        }
2850                                        mm12(arg0)
2851                                      }
2852                                      mm11(arg0)
2853                                    }
2854                                    mm10(arg0)
2855                                  }
2856                                  mmFf(arg0)
2857                                }
2858                                mmFe(arg0)
2859                              }
2860                              mmFd(arg0)
2861                            }
2862                            mmFc(arg0)
2863                          }
2864                          mmFb(arg0)
2865                        }
2866                        mmFa(arg0)
2867                      }
2868                      mmF9(arg0)
2869                    }
2870                    mmF8(arg0)
2871                  }
2872                  mmF7(arg0)
2873                }
2874                mmF6(arg0)
2875              }
2876              mmF5(arg0)
2877            }
2878            mmF4(arg0)
2879          }
2880          mmF3(arg0)
2881        }
2882        mmF2(arg0)
2883      }
2884      mmF1(arg0)
2885    }
2886
2887    CH03(ts, z170, 0x0c6, 0, 0)
2888
2889    if (LEqual(arg0, 0)) {
2890        // Access to the internal data of method (mm00...) not being invoked
2891        m000()
2892        CH04(ts, 1, 5, z170, 0x0c7, 0, 0) // AE_NOT_FOUND
2893    } elseif (LEqual(arg0, 1)) {
2894
2895        // Access to the internal data of method (mm00...) being invoked
2896        // by \mt16.mm00....
2897
2898        Store(1, i001)
2899        mm00()
2900        if (LNotEqual(i000, 0xabcd4906)) {
2901            err(ts, z170, 0x0c8, 0, 0, i000, 0xabcd4906)
2902        }
2903    } elseif (LEqual(arg0, 2)) {
2904
2905        // Access to the internal data of method (mm00...) being invoked
2906        // by ^^^^^^^^^^^^mm00...
2907
2908        Store(2, i001)
2909        mm00()
2910        if (LNotEqual(i000, 0xabcd4907)) {
2911            err(ts, z170, 0x0c9, 0, 0, i000, 0xabcd4907)
2912        }
2913
2914    } elseif (LEqual(arg0, 3)) {
2915
2916        // Access to the internal data of method (m001.mmF1.mmF2.mmF3.dz05.iy07...)
2917        // being invoked by ^^^^^^^^^^^^mm01...
2918
2919        Store(3, i001)
2920        mm00()
2921        if (LNotEqual(i000, 0xabcd4908)) {
2922            err(ts, z170, 0x0ca, 0, 0, i000, 0xabcd4908)
2923        }
2924    }
2925
2926    CH03(ts, z170, 0x0cb, 0, 0)
2927}
2928
2929Method(mt18, 1, Serialized)
2930{
2931	Name(ts, "mt18")
2932
2933	Device(dz05)
2934	{
2935		Name(iy07, 0xabcd4900)
2936	}
2937
2938	CH03(ts, z170, 0x0cc, 0, 0)
2939
2940	if (arg0) {
2941		Store(0xabcd9000, \mt18.dz05.iy07)
2942            if (LNotEqual(\mt18.dz05.iy07, 0xabcd9000)) {
2943                err(ts, z170, 0x0ca, 0, 0, \mt18.dz05.iy07, 0xabcd9000)
2944            }
2945	} else {
2946		Store(0xabcd9001, dz05.iy07)
2947            if (LNotEqual(dz05.iy07, 0xabcd9001)) {
2948                err(ts, z170, 0x0ca, 0, 0, dz05.iy07, 0xabcd9001)
2949            }
2950	}
2951
2952	CH03(ts, z170, 0x0cd, 0, 0)
2953}
2954
2955Method(mt19, 1, Serialized)
2956{
2957	Name(ts, "mt19")
2958
2959	Processor(pr7d, 0, 0x000, 0x008)
2960	{
2961		Name(iy07, 0xabcd0660)
2962	}
2963
2964	CH03(ts, z170, 0x0ce, 0, 0)
2965
2966	if (arg0) {
2967		Store(0xabcd9002, \mt19.pr7d.iy07)
2968            if (LNotEqual(\mt19.pr7d.iy07, 0xabcd9002)) {
2969                err(ts, z170, 0x0ca, 0, 0, \mt19.pr7d.iy07, 0xabcd9002)
2970            }
2971	} else {
2972		Store(0xabcd9003, pr7d.iy07)
2973            if (LNotEqual(pr7d.iy07, 0xabcd9003)) {
2974                err(ts, z170, 0x0ca, 0, 0, pr7d.iy07, 0xabcd9003)
2975            }
2976	}
2977
2978	CH03(ts, z170, 0x0cf, 0, 0)
2979}
2980
2981Method(mt1a, 1, Serialized)
2982{
2983	Name(ts, "mt1a")
2984
2985	CH03(ts, z170, 0x0d0, 0, 0)
2986	if (arg0) {
2987		Store(0xabcd9004, \pr7d.iy07)
2988            if (LNotEqual(\pr7d.iy07, 0xabcd9004)) {
2989                err(ts, z170, 0x0ca, 0, 0, \pr7d.iy07, 0xabcd9004)
2990            }
2991	} else {
2992		Store(0xabcd9005, ^pr7d.iy07)
2993            if (LNotEqual(^pr7d.iy07, 0xabcd9005)) {
2994                err(ts, z170, 0x0ca, 0, 0, ^pr7d.iy07, 0xabcd9005)
2995            }
2996	}
2997	CH03(ts, z170, 0x0d1, 0, 0)
2998}
2999
3000
3001Method(mtff,, Serialized)
3002{
3003	Name(run0, 1)
3004
3005	// Works on both
3006	SRMT("mt00")
3007	mt00()
3008
3009	if (chk0) {
3010		// Exceeded the depth supported on MS
3011		SRMT("mt01")
3012		mt01()
3013	}
3014
3015	// Works on both
3016	SRMT("mt02")
3017	mt02()
3018
3019	if (chk0) {
3020		// Exceeded the depth supported on MS
3021		SRMT("mt03")
3022		mt03()
3023	}
3024
3025	if (run0) {
3026		// Works on MS, AE_AML_OPERAND_TYPE on ACPICA
3027		SRMT("mt04")
3028		mt04()
3029	}
3030
3031	if (LAnd(chk0, run0)) {
3032		// Exceeded the depth supported on MS
3033		SRMT("mt05")
3034		mt05()
3035	}
3036
3037	if (run0) {
3038		// Works on MS, AE_NOT_FOUND on ACPICA
3039		SRMT("mt06")
3040		mt06()
3041	}
3042
3043	if (0) {
3044		// Fails for both here - for MS and ACPICA
3045		SRMT("mt07")
3046		mt07()
3047	}
3048
3049	if (chk0) {
3050		// Exceeded the depth supported on MS
3051		SRMT("mt08")
3052		mt08()
3053	}
3054
3055	// Works on both
3056	SRMT("mt0a")
3057	mt0a()
3058	SRMT("mt0b")
3059	mt0b()
3060
3061	if (run0) {
3062		// Works on MS, AE_AML_OPERAND_TYPE on ACPICA
3063		SRMT("mt0c")
3064		mt0c()
3065	}
3066
3067	// Simply long cycle in While
3068	SRMT("mt0d")
3069	mt0d()
3070
3071	if (0) {
3072		SRMT("mt0e")
3073		mt0e() // Result: ACPICA - AE_NOT_FOUND, MS - Failure
3074	}
3075
3076	if (run0) {
3077		// Works on MS, AE_AML_OPERAND_TYPE on ACPICA
3078		SRMT("mt0f")
3079		mt0f()
3080	}
3081
3082	if (LAnd(chk0, run0)) {
3083		// Exceeded the depth supported on MS
3084		SRMT("mt10")
3085		mt10()
3086	}
3087
3088	if (run0) {
3089		// Works on MS, AE_AML_OPERAND_TYPE on ACPICA
3090		SRMT("mt11")
3091		mt11()
3092	}
3093
3094	if (LAnd(chk0, run0)) {
3095		// Exceeded the depth supported on MS
3096		SRMT("mt12")
3097		mt12()
3098	}
3099
3100	// Works on both
3101	SRMT("mt13")
3102	mt13()
3103
3104	if (chk0) {
3105		// Exceeded the depth supported on MS
3106		SRMT("mt14")
3107		mt14()
3108		SRMT("mt15")
3109		mt15()
3110	}
3111
3112	if (chk0) {
3113		// ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
3114		SRMT("mt16-0")
3115		mt16(0)
3116	}
3117
3118	if (run0) {
3119		// Works on MS, AE_AML_OPERAND_TYPE on ACPICA
3120		SRMT("mt16-1")
3121		mt16(1)
3122		SRMT("mt16-2")
3123		mt16(2)
3124		SRMT("mt16-3")
3125		mt16(3)
3126	}
3127
3128	if (chk0) {
3129		// ACPICA - AE_NOT_FOUND (it is correct), MS - Failure
3130		SRMT("mt17-0")
3131		mt17(0)
3132	}
3133
3134	if (LAnd(chk0, run0)) {
3135		// Exceeded the depth supported on MS
3136		SRMT("mt17-1")
3137		mt17(1)
3138		SRMT("mt17-2")
3139		mt17(2)
3140	}
3141
3142	SRMT("mt18-0")
3143	mt18(0)
3144	SRMT("mt18-1")
3145	mt18(1)
3146	SRMT("mt19-0")
3147	mt19(0)
3148	SRMT("mt19-1")
3149	mt19(1)
3150	SRMT("mt1a-0")
3151	mt1a(0)
3152	SRMT("mt1a-1")
3153	mt1a(1)
3154}
3155
3156