• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/acpica/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/
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 *  Thermal Zone
31 *
32 * (verify exceptions caused by the imprope use of Thermal Zone type objects)
33 */
34
35Name(z105, 105)
36
37ThermalZone (tz00) {Name(n000, "tz00")}
38
39// Expected exceptions:
40//
41// 47 - AE_AML_OPERAND_TYPE
42//
43Method(m4bd,, Serialized)
44{
45	Name(ts, "m4bd")
46
47	ThermalZone (tz01) {Name(n000, "tz01")}
48
49	Event(e000)
50
51	Name(i000, 0)
52
53	// Local Named Object
54	Method(m000, 1, Serialized)
55	{
56/* These are now caught by the compiler - Aug 2015
57
58		ThermalZone (tz02) {Name(n000, "tz02")}
59
60		Store (DerefOf(tz02), Local1)
61		CH06(arg0, 0, 47)
62*/
63	}
64
65	// Global Named Object
66	Method(m001, 1)
67	{
68/* These are now caught by the compiler - Aug 2015
69
70		if (y083) {
71			Store (DerefOf(tz00), Local1)
72			CH06(arg0, 1, 47)
73		}
74*/
75	}
76
77	// Local
78	Method(m002, 1, Serialized)
79	{
80		ThermalZone (tz02) {Name(n000, "tz02")}
81
82		Event(e000)
83
84		CopyObject(tz02, Local0)
85
86		// CondRefOf
87		
88		CondRefOf(Local0, Local1)
89		CH03(ts, z105, 1, 0, 0)
90
91		// CopyObject
92
93		CopyObject(Local0, Local1)
94		CH03(ts, z105, 2, 0, 0)
95
96		// Decrement
97
98		Decrement(Local0)
99		CH06(arg0, 1, 47)
100
101		// DerefOf
102
103		Store (DerefOf(Local0), Local1)
104		CH06(arg0, 2, 47)
105
106		// FindSetLeftBit
107
108		FindSetLeftBit(Local0, Local1)
109		CH06(arg0, 4, 47)
110
111		// FindSetRightBit
112
113		FindSetRightBit(Local0, Local1)
114		CH06(arg0, 6, 47)
115
116		// FromBCD
117
118		FromBCD(Local0, Local1)
119		CH06(arg0, 8, 47)
120
121		// Increment
122
123		Increment(Local0)
124		CH06(arg0, 9, 47)
125
126		// LNot
127
128		Store (LNot(Local0), Local1)
129		CH06(arg0, 10, 47)
130
131		// Not
132
133		Not(Local0, Local1)
134		CH06(arg0, 12, 47)
135
136		// ObjectType
137
138		Store (ObjectType(Local0), Local1)
139		CH03(ts, z105, 3, 0, 0)
140
141		// RefOf
142
143		Store (RefOf(Local0), Local1)
144		CH03(ts, z105, 4, 0, 0)
145
146		// Release
147
148		Release(Local0)
149		CH06(arg0, 13, 47)
150
151		// Reset
152
153		Reset(Local0)
154		CH06(arg0, 14, 47)
155
156		// Signal
157
158		Signal(Local0)
159		CH06(arg0, 15, 47)
160
161		// SizeOf
162
163		Store (SizeOf(Local0), Local1)
164		CH06(arg0, 16, 47)
165
166		// Sleep
167
168		Sleep(Local0)
169		CH06(arg0, 17, 47)
170
171		// Stall
172
173		Stall(Local0)
174		CH06(arg0, 18, 47)
175
176		// Store
177
178		Store(Local0, Local1)
179		CH06(arg0, 19, 47)
180
181		// ToBCD
182
183		ToBCD(Local0, Local1)
184		CH06(arg0, 21, 47)
185
186		// ToBuffer
187
188		ToBuffer(Local0, Local1)
189		CH06(arg0, 23, 47)
190
191		// ToDecimalString
192
193		ToDecimalString(Local0, Local1)
194		CH06(arg0, 25, 47)
195
196		// ToHexString
197
198		ToHexString(Local0, Local1)
199		CH06(arg0, 27, 47)
200
201		// ToInteger
202
203		ToInteger(Local0, Local1)
204		CH06(arg0, 29, 47)
205
206		// Acquire
207
208		Store(Acquire(Local0, 100), Local1)
209		CH06(arg0, 30, 47)
210
211		// Add
212
213		Add(Local0, i000, Local1)
214		CH06(arg0, 33, 47)
215
216		Add(i000, Local0, Local1)
217		CH06(arg0, 34, 47)
218
219		// And
220
221		And(Local0, i000, Local1)
222		CH06(arg0, 37, 47)
223
224		And(i000, Local0, Local1)
225		CH06(arg0, 38, 47)
226
227		// Concatenate
228
229		Concatenate(Local0, i000, Local1)
230		CH06(arg0, 41, 47)
231
232		Concatenate(i000, Local0, Local1)
233		CH06(arg0, 42, 47)
234
235		// ConcatenateResTemplate
236
237		ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
238		CH06(arg0, 45, 47)
239
240		ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
241		CH06(arg0, 46, 47)
242
243		// Divide
244
245		Divide(Local0, i000, Local2)
246		CH06(arg0, 49, 47)
247
248		Divide(i000, Local0, Local2)
249		CH06(arg0, 50, 47)
250
251		Divide(Local0, i000, Local2, Local1)
252		CH06(arg0, 51, 47)
253
254		Divide(i000, Local0, Local2, Local1)
255		CH06(arg0, 52, 47)
256
257		// Fatal
258
259		Fatal(0xff, 0xffffffff, Local0)
260		CH06(arg0, 53, 47)
261
262		// Index
263
264		Index(Local0, 0, Local1)
265		CH06(arg0, 56, 47)
266
267		Index("0", Local0, Local1)
268		CH06(arg0, 57, 47)
269
270		// LEqual
271
272		Store (LEqual(Local0, i000), Local1)
273		CH06(arg0, 58, 47)
274
275		Store (LEqual(i000, Local0), Local1)
276		CH06(arg0, 59, 47)
277
278		// LGreater
279
280		Store (LGreater(Local0, i000), Local1)
281		CH06(arg0, 60, 47)
282
283		Store (LGreater(i000, Local0), Local1)
284		CH06(arg0, 61, 47)
285
286		// LGreaterEqual
287
288		Store (LGreaterEqual(Local0, i000), Local1)
289		CH06(arg0, 62, 0xff)
290
291		Store (LGreaterEqual(i000, Local0), Local1)
292		CH06(arg0, 63, 0xff)
293
294		// LLess
295
296		Store (LLess(Local0, i000), Local1)
297		CH06(arg0, 64, 47)
298
299		Store (LLess(i000, Local0), Local1)
300		CH06(arg0, 65, 47)
301
302		// LLessEqual
303
304		Store (LLessEqual(Local0, i000), Local1)
305		CH06(arg0, 66, 0xff)
306
307		Store (LLessEqual(i000, Local0), Local1)
308		CH06(arg0, 67, 0xff)
309
310		// LNotEqual
311
312		Store (LNotEqual(Local0, i000), Local1)
313		CH06(arg0, 68, 0xff)
314
315		Store (LNotEqual(i000, Local0), Local1)
316		CH06(arg0, 69, 0xff)
317
318		// LOr
319
320		Store (LOr(Local0, i000), Local1)
321		CH06(arg0, 70, 47)
322
323		Store (LOr(i000, Local0), Local1)
324		CH06(arg0, 71, 47)
325
326		// Mod
327
328		Mod(Local0, i000, Local1)
329		CH06(arg0, 74, 47)
330
331		Mod(i000, Local0, Local1)
332		CH06(arg0, 75, 47)
333
334		// Multiply
335
336		Multiply(Local0, i000, Local1)
337		CH06(arg0, 78, 47)
338
339		Multiply(i000, Local0, Local1)
340		CH06(arg0, 79, 47)
341
342		// NAnd
343
344		NAnd(Local0, i000, Local1)
345		CH06(arg0, 82, 47)
346
347		NAnd(i000, Local0, Local1)
348		CH06(arg0, 83, 47)
349
350		// NOr
351
352		NOr(Local0, i000, Local1)
353		CH06(arg0, 86, 47)
354
355		NOr(i000, Local0, Local1)
356		CH06(arg0, 87, 47)
357
358		// Or
359
360		Or(Local0, i000, Local1)
361		CH06(arg0, 90, 47)
362
363		Or(i000, Local0, Local1)
364		CH06(arg0, 91, 47)
365
366		// ShiftLeft
367
368		ShiftLeft(Local0, i000, Local1)
369		CH06(arg0, 94, 47)
370
371		ShiftLeft(i000, Local0, Local1)
372		CH06(arg0, 95, 47)
373
374		// ShiftRight
375
376		ShiftRight(Local0, i000, Local1)
377		CH06(arg0, 98, 47)
378
379		ShiftRight(i000, Local0, Local1)
380		CH06(arg0, 99, 47)
381
382		// Subtract
383
384		Subtract(Local0, i000, Local1)
385		CH06(arg0, 102, 47)
386
387		Subtract(i000, Local0, Local1)
388		CH06(arg0, 103, 47)
389
390		// ToString
391
392		ToString(Local0, 1, Local1)
393		CH06(arg0, 106, 47)
394
395		ToString(i000, Local0, Local1)
396		CH06(arg0, 107, 47)
397
398		// Wait
399
400		Store(Wait(Local0, i000), Local1)
401		CH06(arg0, 108, 47)
402
403		Store(Wait(e000, Local0), Local1)
404		CH06(arg0, 109, 47)
405
406		// XOr
407
408		XOr(Local0, i000, Local1)
409		CH06(arg0, 112, 47)
410
411		XOr(i000, Local0, Local1)
412		CH06(arg0, 113, 47)
413
414		// Mid
415
416		Mid(Local0, 1, 1, Local1)
417		CH06(arg0, 117, 47)
418
419		Mid("123", Local0, 1, Local1)
420		CH06(arg0, 118, 47)
421
422		Mid("123", 1, Local0, Local1)
423		CH06(arg0, 119, 47)
424
425		// Match
426
427		Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
428		CH06(arg0, 120, 47)
429
430		Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
431		CH06(arg0, 121, 47)
432
433		Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
434		CH06(arg0, 122, 47)
435
436		Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
437		CH06(arg0, 123, 47)
438	}
439
440	// Reference to Object
441	Method(m003, 3, Serialized)
442	{
443		Name(EXC0, 47)	// AE_AML_OPERAND_TYPE
444
445		Store(ObjectType(arg1), Local0)
446		if (LNotEqual(Local0, 13)) {
447			err(arg0, z105, 200, 0, 0, Local0, 13)
448			return (1)
449		}
450
451		if (arg2) {
452			if (LNot(y503)) {
453				Store(62, EXC0)	// AE_AML_NO_RETURN_VALUE
454			}
455		}
456
457		Store (DeRefOf(arg1), Local1)
458		CH03(ts, z105, 5, 0, 0)
459
460		// CondRefOf
461		
462		CondRefOf(DeRefOf(arg1), Local1)
463		CH06(arg0, 1, EXC0)
464
465		// CopyObject
466
467		CopyObject(DeRefOf(arg1), Local1)
468		CH06(arg0, 2, EXC0)
469
470		// Decrement
471
472		Decrement(DeRefOf(arg1))
473		CH06(arg0, 3, EXC0)
474
475		// DerefOf
476
477		Store (DerefOf(DeRefOf(arg1)), Local1)
478		CH06(arg0, 4, EXC0)
479
480		// FindSetLeftBit
481
482		FindSetLeftBit(DeRefOf(arg1), Local1)
483		CH06(arg0, 6, EXC0)
484
485		// FindSetRightBit
486
487		FindSetRightBit(DeRefOf(arg1), Local1)
488		CH06(arg0, 8, EXC0)
489
490		// FromBCD
491
492		FromBCD(DeRefOf(arg1), Local1)
493		CH06(arg0, 10, EXC0)
494
495		// Increment
496
497		Increment(DeRefOf(arg1))
498		CH06(arg0, 11, EXC0)
499
500		// LNot
501
502		Store (LNot(DeRefOf(arg1)), Local1)
503		CH06(arg0, 12, EXC0)
504
505		// Not
506
507		Not(DeRefOf(arg1), Local1)
508		CH06(arg0, 14, EXC0)
509
510		// ObjectType
511
512		Store (ObjectType(DeRefOf(arg1)), Local1)
513		CH03(ts, z105, 6, 0, 0)
514
515		// RefOf
516
517		Store (RefOf(DeRefOf(arg1)), Local1)
518		CH06(arg0, 15, EXC0)
519
520		// Release
521
522		// Reset
523
524		// Signal
525
526		// SizeOf
527
528		Store (SizeOf(DeRefOf(arg1)), Local1)
529		CH06(arg0, 16, EXC0)
530
531		// Sleep
532
533		Sleep(DeRefOf(arg1))
534		CH06(arg0, 17, EXC0)
535
536		// Stall
537
538		Stall(DeRefOf(arg1))
539		CH06(arg0, 18, EXC0)
540
541		// Store
542
543		Store(DeRefOf(arg1), Local1)
544		CH06(arg0, 19, EXC0)
545
546		// ToBCD
547
548		ToBCD(DeRefOf(arg1), Local1)
549		CH06(arg0, 21, EXC0)
550
551		// ToBuffer
552
553		ToBuffer(DeRefOf(arg1), Local1)
554		CH06(arg0, 23, EXC0)
555
556		// ToDecimalString
557
558		ToDecimalString(DeRefOf(arg1), Local1)
559		CH06(arg0, 25, EXC0)
560
561		// ToHexString
562
563		ToHexString(DeRefOf(arg1), Local1)
564		CH06(arg0, 27, EXC0)
565
566		// ToInteger
567
568		ToInteger(DeRefOf(arg1), Local1)
569		CH06(arg0, 29, EXC0)
570
571		// Acquire
572
573		// Add
574
575		Add(DeRefOf(arg1), i000, Local1)
576		CH06(arg0, 33, EXC0)
577
578		Add(i000, DeRefOf(arg1), Local1)
579		CH06(arg0, 34, EXC0)
580
581		// And
582
583		And(DeRefOf(arg1), i000, Local1)
584		CH06(arg0, 37, EXC0)
585
586		And(i000, DeRefOf(arg1), Local1)
587		CH06(arg0, 38, EXC0)
588
589		// Concatenate
590
591		Concatenate(DeRefOf(arg1), i000, Local1)
592		CH06(arg0, 41, EXC0)
593
594		Concatenate(i000, DeRefOf(arg1), Local1)
595		CH06(arg0, 42, EXC0)
596
597		// ConcatenateResTemplate
598
599		ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
600		CH06(arg0, 45, EXC0)
601
602		ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
603		CH06(arg0, 46, EXC0)
604
605		// Divide
606
607		Divide(DeRefOf(arg1), i000, Local2)
608		CH06(arg0, 49, EXC0)
609
610		Divide(i000, DeRefOf(arg1), Local2)
611		CH06(arg0, 50, EXC0)
612
613		Divide(DeRefOf(arg1), i000, Local2, Local1)
614		CH06(arg0, 51, EXC0)
615
616		Divide(i000, DeRefOf(arg1), Local2, Local1)
617		CH06(arg0, 52, EXC0)
618
619		// Fatal
620
621		Fatal(0xff, 0xffffffff, DeRefOf(arg1))
622		CH06(arg0, 53, EXC0)
623
624		// Index
625
626		Index(DeRefOf(arg1), 0, Local1)
627		CH06(arg0, 56, EXC0)
628
629		Index("0", DeRefOf(arg1), Local1)
630		CH06(arg0, 57, EXC0)
631
632		// LEqual
633
634		Store (LEqual(DeRefOf(arg1), i000), Local1)
635		CH06(arg0, 58, EXC0)
636
637		Store (LEqual(i000, DeRefOf(arg1)), Local1)
638		CH06(arg0, 59, EXC0)
639
640		// LGreater
641
642		Store (LGreater(DeRefOf(arg1), i000), Local1)
643		CH06(arg0, 60, EXC0)
644
645		Store (LGreater(i000, DeRefOf(arg1)), Local1)
646		CH06(arg0, 61, EXC0)
647
648		// LGreaterEqual
649
650		Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
651		CH06(arg0, 62, 0xff)
652
653		Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
654		CH06(arg0, 63, 0xff)
655
656		// LLess
657
658		Store (LLess(DeRefOf(arg1), i000), Local1)
659		CH06(arg0, 64, EXC0)
660
661		Store (LLess(i000, DeRefOf(arg1)), Local1)
662		CH06(arg0, 65, EXC0)
663
664		// LLessEqual
665
666		Store (LLessEqual(DeRefOf(arg1), i000), Local1)
667		CH06(arg0, 66, 0xff)
668
669		Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
670		CH06(arg0, 67, 0xff)
671
672		// LNotEqual
673
674		Store (LNotEqual(DeRefOf(arg1), i000), Local1)
675		CH06(arg0, 68, 0xff)
676
677		Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
678		CH06(arg0, 69, 0xff)
679
680		// LOr
681
682		Store (LOr(DeRefOf(arg1), i000), Local1)
683		CH06(arg0, 70, EXC0)
684
685		Store (LOr(i000, DeRefOf(arg1)), Local1)
686		CH06(arg0, 71, EXC0)
687
688		// Mod
689
690		Mod(DeRefOf(arg1), i000, Local1)
691		CH06(arg0, 74, EXC0)
692
693		Mod(i000, DeRefOf(arg1), Local1)
694		CH06(arg0, 75, EXC0)
695
696		// Multiply
697
698		Multiply(DeRefOf(arg1), i000, Local1)
699		CH06(arg0, 78, EXC0)
700
701		Multiply(i000, DeRefOf(arg1), Local1)
702		CH06(arg0, 79, EXC0)
703
704		// NAnd
705
706		NAnd(DeRefOf(arg1), i000, Local1)
707		CH06(arg0, 82, EXC0)
708
709		NAnd(i000, DeRefOf(arg1), Local1)
710		CH06(arg0, 83, EXC0)
711
712		// NOr
713
714		NOr(DeRefOf(arg1), i000, Local1)
715		CH06(arg0, 86, EXC0)
716
717		NOr(i000, DeRefOf(arg1), Local1)
718		CH06(arg0, 87, EXC0)
719
720		// Or
721
722		Or(DeRefOf(arg1), i000, Local1)
723		CH06(arg0, 90, EXC0)
724
725		Or(i000, DeRefOf(arg1), Local1)
726		CH06(arg0, 91, EXC0)
727
728		// ShiftLeft
729
730		ShiftLeft(DeRefOf(arg1), i000, Local1)
731		CH06(arg0, 94, EXC0)
732
733		ShiftLeft(i000, DeRefOf(arg1), Local1)
734		CH06(arg0, 95, EXC0)
735
736		// ShiftRight
737
738		ShiftRight(DeRefOf(arg1), i000, Local1)
739		CH06(arg0, 98, EXC0)
740
741		ShiftRight(i000, DeRefOf(arg1), Local1)
742		CH06(arg0, 99, EXC0)
743
744		// Subtract
745
746		Subtract(DeRefOf(arg1), i000, Local1)
747		CH06(arg0, 102, EXC0)
748
749		Subtract(i000, DeRefOf(arg1), Local1)
750		CH06(arg0, 103, EXC0)
751
752		// ToString
753
754		ToString(DeRefOf(arg1), 1, Local1)
755		CH06(arg0, 106, EXC0)
756
757		ToString(i000, DeRefOf(arg1), Local1)
758		CH06(arg0, 107, EXC0)
759
760		// Wait
761
762		Store(Wait(e000, DeRefOf(arg1)), Local1)
763		CH06(arg0, 109, EXC0)
764
765		// XOr
766
767		XOr(DeRefOf(arg1), i000, Local1)
768		CH06(arg0, 112, EXC0)
769
770		XOr(i000, DeRefOf(arg1), Local1)
771		CH06(arg0, 113, EXC0)
772
773		// Mid
774
775		Mid(DeRefOf(arg1), 1, 1, Local1)
776		CH06(arg0, 117, EXC0)
777
778		Mid("123", DeRefOf(arg1), 1, Local1)
779		CH06(arg0, 118, EXC0)
780
781		Mid("123", 1, DeRefOf(arg1), Local1)
782		CH06(arg0, 119, EXC0)
783
784		// Match
785
786		Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
787		CH06(arg0, 120, EXC0)
788
789		Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
790		CH06(arg0, 121, EXC0)
791
792		Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
793		CH06(arg0, 122, EXC0)
794
795		Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
796		CH06(arg0, 123, EXC0)
797
798		return (0)
799	}
800
801	// Result of Method invocation
802	Method(m004, 1, Serialized)
803	{
804		Name(i000, 0) // Label to check m000 invocations
805
806		Method(m000)
807		{
808			CopyObject(tz00, Local0)
809			Return (Local0)
810		}
811
812		// CondRefOf
813		
814		CondRefOf(m000(), Local1)
815		CH06(arg0, 1, 47)
816
817		// CopyObject
818
819		CopyObject(m000(), Local1)
820		CH03(ts, z105, 7, 0, 0)
821
822		// Decrement
823
824		Decrement(m000())
825		CH06(arg0, 2, 47)
826
827		// DerefOf
828
829		Store (DerefOf(m000()), Local1)
830		CH06(arg0, 3, 47)
831
832		// FindSetLeftBit
833
834		FindSetLeftBit(m000(), Local1)
835		CH06(arg0, 5, 47)
836
837		// FindSetRightBit
838
839		FindSetRightBit(m000(), Local1)
840		CH06(arg0, 7, 47)
841
842		// FromBCD
843
844		FromBCD(m000(), Local1)
845		CH06(arg0, 9, 47)
846
847		// Increment
848
849		Increment(m000())
850		CH06(arg0, 10, 47)
851
852		// LNot
853
854		Store (LNot(m000()), Local1)
855		CH06(arg0, 11, 47)
856
857		// Not
858
859		Not(m000(), Local1)
860		CH06(arg0, 13, 47)
861
862		// ObjectType
863        /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
864//
865//		ObjectType(m000())
866//		CH03(ts, z105, 8, 0, 0)
867
868		// RefOf
869
870		Store (RefOf(m000()), Local1)
871		CH06(arg0, 14, 47)
872
873		// Release
874
875		Release(m000())
876		CH06(arg0, 13, 47)
877
878		// Reset
879
880		Reset(m000())
881		CH06(arg0, 14, 47)
882
883		// Signal
884
885		Signal(m000())
886		CH06(arg0, 15, 47)
887
888		// SizeOf
889
890		Store (SizeOf(m000()), Local1)
891		CH06(arg0, 16, 47)
892
893		// Sleep
894
895		Sleep(m000())
896		CH06(arg0, 17, 47)
897
898		// Stall
899
900		Stall(m000())
901		CH06(arg0, 18, 47)
902
903		// Store
904
905		Store(m000(), Local1)
906		CH06(arg0, 19, 47)
907
908		// ToBCD
909
910		ToBCD(m000(), Local1)
911		CH06(arg0, 21, 47)
912
913		// ToBuffer
914
915		ToBuffer(m000(), Local1)
916		CH06(arg0, 23, 47)
917
918		// ToDecimalString
919
920		ToDecimalString(m000(), Local1)
921		CH06(arg0, 25, 47)
922
923		// ToHexString
924
925		ToHexString(m000(), Local1)
926		CH06(arg0, 27, 47)
927
928		// ToInteger
929
930		ToInteger(m000(), Local1)
931		CH06(arg0, 29, 47)
932
933		// Acquire
934
935		Store(Acquire(m000(), 100), Local1)
936		CH06(arg0, 30, 47)
937
938		// Add
939
940		Add(m000(), i000, Local1)
941		CH06(arg0, 33, 47)
942
943		Add(i000, m000(), Local1)
944		CH06(arg0, 34, 47)
945
946		// And
947
948		And(m000(), i000, Local1)
949		CH06(arg0, 37, 47)
950
951		And(i000, m000(), Local1)
952		CH06(arg0, 38, 47)
953
954		// Concatenate
955
956		Concatenate(m000(), i000, Local1)
957		CH06(arg0, 41, 47)
958
959		Concatenate(i000, m000(), Local1)
960		CH06(arg0, 42, 47)
961
962		// ConcatenateResTemplate
963
964		ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
965		CH06(arg0, 45, 47)
966
967		ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
968		CH06(arg0, 46, 47)
969
970		// Divide
971
972		Divide(m000(), i000, Local2)
973		CH06(arg0, 49, 47)
974
975		Divide(i000, m000(), Local2)
976		CH06(arg0, 50, 47)
977
978		Divide(m000(), i000, Local2, Local1)
979		CH06(arg0, 51, 47)
980
981		Divide(i000, m000(), Local2, Local1)
982		CH06(arg0, 52, 47)
983
984		// Fatal
985
986		Fatal(0xff, 0xffffffff, m000())
987		CH06(arg0, 53, 47)
988
989		// Index
990
991		Index(m000(), 0, Local1)
992		CH06(arg0, 56, 47)
993
994		Index("0", m000(), Local1)
995		CH06(arg0, 57, 47)
996
997		// LEqual
998
999		Store (LEqual(m000(), i000), Local1)
1000		CH06(arg0, 58, 47)
1001
1002		Store (LEqual(i000, m000()), Local1)
1003		CH06(arg0, 59, 47)
1004
1005		// LGreater
1006
1007		Store (LGreater(m000(), i000), Local1)
1008		CH06(arg0, 60, 47)
1009
1010		Store (LGreater(i000, m000()), Local1)
1011		CH06(arg0, 61, 47)
1012
1013		// LGreaterEqual
1014
1015		Store (LGreaterEqual(m000(), i000), Local1)
1016		CH06(arg0, 62, 0xff)
1017
1018		Store (LGreaterEqual(i000, m000()), Local1)
1019		CH06(arg0, 63, 0xff)
1020
1021		// LLess
1022
1023		Store (LLess(m000(), i000), Local1)
1024		CH06(arg0, 64, 47)
1025
1026		Store (LLess(i000, m000()), Local1)
1027		CH06(arg0, 65, 47)
1028
1029		// LLessEqual
1030
1031		Store (LLessEqual(m000(), i000), Local1)
1032		CH06(arg0, 66, 0xff)
1033
1034		Store (LLessEqual(i000, m000()), Local1)
1035		CH06(arg0, 67, 0xff)
1036
1037		// LNotEqual
1038
1039		Store (LNotEqual(m000(), i000), Local1)
1040		CH06(arg0, 68, 0xff)
1041
1042		Store (LNotEqual(i000, m000()), Local1)
1043		CH06(arg0, 69, 0xff)
1044
1045		// LOr
1046
1047		Store (LOr(m000(), i000), Local1)
1048		CH06(arg0, 70, 47)
1049
1050		Store (LOr(i000, m000()), Local1)
1051		CH06(arg0, 71, 47)
1052
1053		// Mod
1054
1055		Mod(m000(), i000, Local1)
1056		CH06(arg0, 74, 47)
1057
1058		Mod(i000, m000(), Local1)
1059		CH06(arg0, 75, 47)
1060
1061		// Multiply
1062
1063		Multiply(m000(), i000, Local1)
1064		CH06(arg0, 78, 47)
1065
1066		Multiply(i000, m000(), Local1)
1067		CH06(arg0, 79, 47)
1068
1069		// NAnd
1070
1071		NAnd(m000(), i000, Local1)
1072		CH06(arg0, 82, 47)
1073
1074		NAnd(i000, m000(), Local1)
1075		CH06(arg0, 83, 47)
1076
1077		// NOr
1078
1079		NOr(m000(), i000, Local1)
1080		CH06(arg0, 86, 47)
1081
1082		NOr(i000, m000(), Local1)
1083		CH06(arg0, 87, 47)
1084
1085		// Or
1086
1087		Or(m000(), i000, Local1)
1088		CH06(arg0, 90, 47)
1089
1090		Or(i000, m000(), Local1)
1091		CH06(arg0, 91, 47)
1092
1093		// ShiftLeft
1094
1095		ShiftLeft(m000(), i000, Local1)
1096		CH06(arg0, 94, 47)
1097
1098		ShiftLeft(i000, m000(), Local1)
1099		CH06(arg0, 95, 47)
1100
1101		// ShiftRight
1102
1103		ShiftRight(m000(), i000, Local1)
1104		CH06(arg0, 98, 47)
1105
1106		ShiftRight(i000, m000(), Local1)
1107		CH06(arg0, 99, 47)
1108
1109		// Subtract
1110
1111		Subtract(m000(), i000, Local1)
1112		CH06(arg0, 102, 47)
1113
1114		Subtract(i000, m000(), Local1)
1115		CH06(arg0, 103, 47)
1116
1117		// ToString
1118
1119		ToString(m000(), 1, Local1)
1120		CH06(arg0, 106, 47)
1121
1122		ToString(i000, m000(), Local1)
1123		CH06(arg0, 107, 47)
1124
1125		// Wait
1126
1127		Store(Wait(m000(), i000), Local1)
1128		CH06(arg0, 108, 47)
1129
1130		Store(Wait(e000, m000()), Local1)
1131		CH06(arg0, 109, 47)
1132
1133		// XOr
1134
1135		XOr(m000(), i000, Local1)
1136		CH06(arg0, 112, 47)
1137
1138		XOr(i000, m000(), Local1)
1139		CH06(arg0, 113, 47)
1140
1141		// Mid
1142
1143		Mid(m000(), 1, 1, Local1)
1144		CH06(arg0, 117, 47)
1145
1146		Mid("123", m000(), 1, Local1)
1147		CH06(arg0, 118, 47)
1148
1149		Mid("123", 1, m000(), Local1)
1150		CH06(arg0, 119, 47)
1151
1152		// Match
1153
1154		Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
1155		CH06(arg0, 120, 47)
1156
1157		Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
1158		CH06(arg0, 121, 47)
1159
1160		Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
1161		CH06(arg0, 122, 47)
1162
1163		Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
1164		CH06(arg0, 123, 47)
1165	}
1166
1167	// Reference to Object as Result of Method invocation
1168	Method(m005, 1, Serialized)
1169	{
1170		ThermalZone (tz02) {Name(n000, "tz02")}
1171
1172		Name(i000, 0) // Label to check m000 invocations
1173
1174		Method(m000, 2)
1175		{
1176			Store(arg0, i000)
1177			if (LEqual(arg1, 0)) {
1178				Store(Refof(tz00), Local0)
1179			} elseif (LEqual(arg1, 1)) {
1180				Store(Refof(tz02), Local0)
1181			}
1182			Return (Local0)
1183		}
1184
1185		Method(CH00, 2)
1186		{
1187			if (LNotEqual(i000, arg1)) {
1188				err(arg0, z105, 0, 0, 0, i000, arg1)
1189			}
1190		}
1191
1192		Name(lpN0, 2)
1193		Name(lpC0, 0)
1194
1195		While (lpN0) {
1196			Multiply(3, lpC0, Local0)
1197
1198			Store(0, i000)
1199
1200			Store (DerefOf(m000(1, lpC0)), Local1)
1201			CH03(ts, z105, Add(9, lpC0), 0, 0)
1202			CH00(arg0, 1)
1203
1204			Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
1205			CH06(arg0, Add(1, Local0), 47)
1206			CH00(arg0, 2)
1207
1208			Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
1209			CH06(arg0, Add(2, Local0), 47)
1210			CH00(arg0, 3)
1211
1212			Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
1213			CH06(arg0, Add(3, Local0), 47)
1214			CH00(arg0, 4)
1215
1216			Decrement(lpN0)
1217			Increment(lpC0)
1218		}
1219	}
1220
1221	CH03(ts, z105, 11, 0, 0)
1222
1223	// Local Named Object
1224	m000(ts)
1225
1226	// Global Named Object
1227	m001(ts)
1228
1229	// Local
1230	if (y504) {
1231		m002(Concatenate(ts, "-m002"))
1232	}
1233
1234	// Reference to Local Named Object
1235
1236	m003(Concatenate(ts, "-m003-RefLocName"), RefOf(tz01), 1)
1237
1238	Store(RefOf(tz01), Local0)
1239	m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1)
1240
1241	CondRefOf(tz01, Local0)
1242	m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1)
1243
1244	m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(tz00), 1)
1245
1246	Store(RefOf(tz00), Local0)
1247	m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1)
1248
1249	CondRefOf(tz00, Local0)
1250	m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1)
1251
1252	// Reference to Object as element of Package
1253
1254	Name(pp00, Package(){tz00})
1255
1256	if (y113) {
1257		m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0)
1258	}
1259
1260	Store(Index(pp00, 0), Local1)
1261	m003(Concatenate(ts, "-m003-Index2"), Local1, 0)
1262
1263	if (y113) {
1264		m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0)
1265	}
1266
1267	Index(pp00, 0, Local3)
1268	m003(Concatenate(ts, "-m003-Index4"), Local3, 0)
1269
1270	Store(Index(pp00, 0, Local4), Local5)
1271	m003(Concatenate(ts, "-m003-Index5"), Local5, 0)
1272
1273	// Result of Method invocation
1274	if (y504) {
1275		m004(Concatenate(ts, "-m004"))
1276	}
1277
1278	// Reference to Object as Result of Method invocation
1279	m005(Concatenate(ts, "-m005"))
1280}
1281