1 /* 2 * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without modification, 6 * are permitted provided that the following conditions are met: 7 * 8 * Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 * Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * Neither the name of Intel Corporation nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 /* 29 * References 30 * 31 * TEST, Package total 32 */ 33 Name (Z116, 0x74) 34 /* 35 * Flags and values used by m1c3 36 */ 37 Name (FL00, 0x00) /* flag of testing of exceptions */ 38 Name (V000, 0x00) /* type of the Standard Data object */ 39 Name (V001, 0x00) /* index of element of Package */ 40 /* 41 * Read immediate image element of Package 42 * 43 * Package specified by the immediate 44 * images {Integer, String, Buffer, Package}. 45 * Perform all the ways reading element of 46 * Package passed by ArgX. 47 */ 48 Method (M1C1, 0, Serialized) 49 { 50 Name (PPP0, Package (0x04) 51 { 52 0x77, 53 "qwer0000", 54 Buffer (0x04) 55 { 56 0x01, 0x77, 0x03, 0x04 // .w.. 57 }, 58 59 Package (0x03) 60 { 61 0x05, 62 0x77, 63 0x07 64 } 65 }) 66 FL00 = 0x00 /* flag of testing of exceptions */ 67 V000 = C009 /* type of the Standard Data object */ /* \C009 */ 68 V001 = 0x00 /* index of element of Package */ 69 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 70 V000 = C00A /* type of the Standard Data object */ /* \C00A */ 71 V001 = 0x01 /* index of element of Package */ 72 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 73 V000 = C00B /* type of the Standard Data object */ /* \C00B */ 74 V001 = 0x02 /* index of element of Package */ 75 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 76 V000 = C00C /* type of the Standard Data object */ /* \C00C */ 77 V001 = 0x03 /* index of element of Package */ 78 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 79 } 80 81 /* 82 * Read NamedX element of Package 83 * {Integer, String, Buffer, Package}. 84 */ 85 Method (M1C2, 0, Serialized) 86 { 87 Name (I000, 0x77) 88 Name (S000, "qwer0000") 89 Name (B000, Buffer (0x04) 90 { 91 0x01, 0x77, 0x03, 0x04 // .w.. 92 }) 93 Name (P000, Package (0x03) 94 { 95 0x05, 96 0x77, 97 0x07 98 }) 99 Name (PPP0, Package (0x04) 100 { 101 I000, 102 S000, 103 B000, 104 P000 105 }) 106 FL00 = 0x00 /* flag of testing of exceptions */ 107 V000 = C009 /* type of the Standard Data object */ /* \C009 */ 108 V001 = 0x00 /* index of element of Package */ 109 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 110 V000 = C00A /* type of the Standard Data object */ /* \C00A */ 111 V001 = 0x01 /* index of element of Package */ 112 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 113 V000 = C00B /* type of the Standard Data object */ /* \C00B */ 114 V001 = 0x02 /* index of element of Package */ 115 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 116 V000 = C00C /* type of the Standard Data object */ /* \C00C */ 117 V001 = 0x03 /* index of element of Package */ 118 M1C3 (PPP0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) 119 M380 (__METHOD__, I000, 0x00, __LINE__) 120 M381 (__METHOD__, S000, 0x00, __LINE__) 121 M382 (__METHOD__, B000, 0x00, __LINE__) 122 M383 (__METHOD__, P000, 0x00, __LINE__) 123 } 124 125 /* All the ways reading element of Package given by ArgX */ 126 /* arg0 - Package */ 127 /* arg1, */ 128 /* arg2, */ 129 /* arg3, */ 130 /* arg4, */ 131 /* arg5, */ 132 /* arg6 - auxiliary, for arbitrary use */ 133 Method (M1C3, 7, Serialized) 134 { 135 Name (I000, 0x00) 136 Name (I001, 0x00) 137 Name (I002, 0x00) 138 Name (I003, 0x00) 139 Name (I004, 0x00) 140 Name (I005, 0x00) 141 Name (I006, 0x00) 142 Name (P000, Package (0x02){}) 143 Name (PPP0, Package (0x02){}) 144 /* LocalX */ 145 146 Store (Arg0 [V001], Local3) 147 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 148 Local4 = DerefOf (Local3) 149 M390 (Local4, V000, 0x00, __LINE__) 150 M390 (DerefOf (Arg0 [V001]), V000, 0x00, 0x06) 151 Local3 = Local2 = Arg0 [V001] /* \V001 */ 152 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 153 Local4 = DerefOf (Local3) 154 M390 (Local4, V000, 0x00, __LINE__) 155 M390 (DerefOf (Local2), V000, 0x00, __LINE__) 156 Local4 = DerefOf (Local2) 157 M390 (Local4, V000, 0x00, __LINE__) 158 /* ArgX */ 159 160 Store (Arg0 [V001], Arg3) 161 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 162 Arg4 = DerefOf (Arg3) 163 M390 (Arg4, V000, 0x00, __LINE__) 164 M390 (DerefOf (Arg0 [V001]), V000, 0x00, 0x0D) 165 Arg3 = Arg2 = Arg0 [V001] /* \V001 */ 166 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 167 Arg4 = DerefOf (Arg3) 168 M390 (Arg4, V000, 0x00, __LINE__) 169 M390 (DerefOf (Arg2), V000, 0x00, __LINE__) 170 Arg4 = DerefOf (Arg2) 171 M390 (Arg4, V000, 0x00, __LINE__) 172 /* NamedX */ 173 174 If (Y127) 175 { 176 CopyObject (PPP0 [0x00], I003) /* \M1C3.I003 */ 177 Store (Arg0 [V001], I003) /* \M1C3.I003 */ 178 M390 (DerefOf (I003), V000, 0x00, __LINE__) 179 I004 = DerefOf (I003) 180 M390 (I004, V000, 0x00, __LINE__) 181 M390 (DerefOf (Arg0 [V001]), V000, 0x00, 0x14) 182 I003 = I002 = Arg0 [V001] /* \V001 */ 183 M390 (DerefOf (I003), V000, 0x00, __LINE__) 184 I004 = DerefOf (I003) 185 M390 (I004, V000, 0x00, __LINE__) 186 M390 (DerefOf (I002), V000, 0x00, __LINE__) 187 I004 = DerefOf (I002) 188 M390 (I004, V000, 0x00, __LINE__) 189 } 190 191 /* 192 * El_of_Package 193 * 194 * Identical to the first checking, but only 195 * store intermediately the references to element 196 * of Package arg0 Index(arg0, x) into Index(p000, y) 197 * but not into LocalX. 198 */ 199 P000 [0x01] = P000 [0x00] = Arg0 [V001] /* \V001 */ 200 /* DerefOf(DerefOf(Index(x,Destination))) */ 201 202 M390 (DerefOf (DerefOf (P000 [0x00])), V000, 0x00, 0x19) 203 /* DerefOf(DerefOf(Index(x,Result))) */ 204 205 M390 (DerefOf (DerefOf (P000 [0x01])), V000, 0x00, 0x1A) 206 /* El_of_Package, Destination, LocalX */ 207 /* 208 * After Store(Index(p000, 0), Local5) 209 * Local5 below - reference to element of 210 * Package p000 containing reference to the 211 * 0-th element of Arg0-Package. 212 * 213 * Correspondingly, after Store(DerefOf(Local5), Local3) 214 * Local3 - reference to the 0-th element of Arg0-Package. 215 * 216 * Further, DerefOf(Local3) - 0-th element of Arg0-Package. 217 */ 218 If (FL00) 219 { 220 Store (P000 [0x00], Local5) 221 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 222 Local6 = (Local5 + 0x01) 223 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 224 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 225 Local6 = (DerefOf (Local5) + 0x01) 226 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 227 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 228 M390 (Local5, V000, 0x00, __LINE__) 229 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 230 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 231 M390 (DerefOf (Local5), V000, 0x00, __LINE__) 232 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 233 Local5 = Local2 = P000 [0x00] 234 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 235 Local6 = (Local5 + 0x01) 236 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 237 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 238 Local6 = (DerefOf (Local5) + 0x01) 239 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 240 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 241 M390 (Local5, V000, 0x00, __LINE__) 242 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 243 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 244 M390 (DerefOf (Local5), V000, 0x00, __LINE__) 245 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 246 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 247 Local6 = (Local2 + 0x01) 248 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 249 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 250 Local6 = (DerefOf (Local2) + 0x01) 251 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 252 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 253 M390 (Local2, V000, 0x00, __LINE__) 254 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 255 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 256 M390 (DerefOf (Local2), V000, 0x00, __LINE__) 257 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 258 } 259 260 If (Q001) 261 { 262 Store (P000 [0x00], Local5) 263 Local3 = DerefOf (Local5) 264 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 265 Local4 = DerefOf (Local3) 266 M390 (Local4, V000, 0x00, __LINE__) 267 Local5 = Local2 = P000 [0x00] 268 Local3 = DerefOf (Local5) 269 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 270 Local4 = DerefOf (Local3) 271 M390 (Local4, V000, 0x00, __LINE__) 272 Local3 = DerefOf (Local2) 273 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 274 Local4 = DerefOf (Local3) 275 M390 (Local4, V000, 0x00, __LINE__) 276 } 277 278 /* if(q001) */ 279 /* El_of_Package, Result, LocalX */ 280 If (FL00) 281 { 282 Store (P000 [0x01], Local5) 283 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 284 Local6 = (Local5 + 0x01) 285 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 286 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 287 Local6 = (DerefOf (Local5) + 0x01) 288 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 289 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 290 M390 (Local5, V000, 0x00, __LINE__) 291 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 292 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 293 M390 (DerefOf (Local5), V000, 0x00, __LINE__) 294 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 295 Local5 = Local2 = P000 [0x01] 296 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 297 Local6 = (Local5 + 0x01) 298 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 299 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 300 Local6 = (DerefOf (Local5) + 0x01) 301 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 302 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 303 M390 (Local5, V000, 0x00, __LINE__) 304 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 305 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 306 M390 (DerefOf (Local5), V000, 0x00, __LINE__) 307 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 308 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 309 Local6 = (Local2 + 0x01) 310 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 311 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 312 Local6 = (DerefOf (Local2) + 0x01) 313 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 314 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 315 M390 (Local2, V000, 0x00, __LINE__) 316 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 317 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 318 M390 (DerefOf (Local2), V000, 0x00, __LINE__) 319 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 320 } 321 322 If (Q001) 323 { 324 Store (P000 [0x01], Local5) 325 Local3 = DerefOf (Local5) 326 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 327 Local4 = DerefOf (Local3) 328 M390 (Local4, V000, 0x00, __LINE__) 329 Local5 = Local2 = P000 [0x01] 330 Local3 = DerefOf (Local5) 331 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 332 Local4 = DerefOf (Local3) 333 M390 (Local4, V000, 0x00, __LINE__) 334 Local3 = DerefOf (Local2) 335 M390 (DerefOf (Local3), V000, 0x00, __LINE__) 336 Local4 = DerefOf (Local3) 337 M390 (Local4, V000, 0x00, __LINE__) 338 } 339 340 /* if(q001) */ 341 /* El_of_Package, Destination, argX */ 342 If (FL00) 343 { 344 Store (P000 [0x00], Arg5) 345 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 346 Arg6 = (Arg5 + 0x01) 347 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 348 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 349 Arg6 = (DerefOf (Arg5) + 0x01) 350 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 351 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 352 M390 (Arg5, V000, 0x00, __LINE__) 353 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 354 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 355 M390 (DerefOf (Arg5), V000, 0x00, __LINE__) 356 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 357 Arg5 = Arg2 = P000 [0x00] 358 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 359 Arg6 = (Arg5 + 0x01) 360 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 361 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 362 Arg6 = (DerefOf (Arg5) + 0x01) 363 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 364 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 365 M390 (Arg5, V000, 0x00, __LINE__) 366 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 367 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 368 M390 (DerefOf (Arg5), V000, 0x00, __LINE__) 369 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 370 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 371 Arg6 = (Arg2 + 0x01) 372 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 373 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 374 Arg6 = (DerefOf (Arg2) + 0x01) 375 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 376 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 377 M390 (Arg2, V000, 0x00, __LINE__) 378 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 379 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 380 M390 (DerefOf (Arg2), V000, 0x00, __LINE__) 381 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 382 } 383 384 If (Q001) 385 { 386 Store (P000 [0x00], Arg5) 387 Arg3 = DerefOf (Arg5) 388 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 389 Arg4 = DerefOf (Arg3) 390 M390 (Arg4, V000, 0x00, __LINE__) 391 Arg5 = Arg2 = P000 [0x00] 392 Arg3 = DerefOf (Arg5) 393 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 394 Arg4 = DerefOf (Arg3) 395 M390 (Arg4, V000, 0x00, __LINE__) 396 Arg3 = DerefOf (Arg2) 397 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 398 Arg4 = DerefOf (Arg3) 399 M390 (Arg4, V000, 0x00, __LINE__) 400 } 401 402 /* if(q001) */ 403 /* El_of_Package, Result, argX */ 404 If (FL00) 405 { 406 Store (P000 [0x01], Arg5) 407 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 408 Arg6 = (Arg5 + 0x01) 409 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 410 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 411 Arg6 = (DerefOf (Arg5) + 0x01) 412 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 413 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 414 M390 (Arg5, V000, 0x00, __LINE__) 415 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 416 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 417 M390 (DerefOf (Arg5), V000, 0x00, __LINE__) 418 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 419 Arg5 = Arg2 = P000 [0x01] 420 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 421 Arg6 = (Arg5 + 0x01) 422 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 423 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 424 Arg6 = (DerefOf (Arg5) + 0x01) 425 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 426 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 427 M390 (Arg5, V000, 0x00, __LINE__) 428 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 429 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 430 M390 (DerefOf (Arg5), V000, 0x00, __LINE__) 431 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 432 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 433 Arg6 = (Arg2 + 0x01) 434 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 435 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 436 Arg6 = (DerefOf (Arg2) + 0x01) 437 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 438 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 439 M390 (Arg2, V000, 0x00, __LINE__) 440 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 441 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 442 M390 (DerefOf (Arg2), V000, 0x00, __LINE__) 443 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 444 } 445 446 If (Q001) 447 { 448 Store (P000 [0x01], Arg5) 449 Arg3 = DerefOf (Arg5) 450 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 451 Arg4 = DerefOf (Arg3) 452 M390 (Arg4, V000, 0x00, __LINE__) 453 Arg5 = Arg2 = P000 [0x01] 454 Arg3 = DerefOf (Arg5) 455 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 456 Arg4 = DerefOf (Arg3) 457 M390 (Arg4, V000, 0x00, __LINE__) 458 Arg3 = DerefOf (Arg2) 459 M390 (DerefOf (Arg3), V000, 0x00, __LINE__) 460 Arg4 = DerefOf (Arg3) 461 M390 (Arg4, V000, 0x00, __LINE__) 462 } 463 464 /* if(q001) */ 465 466 If (Y127) 467 { 468 /* El_of_Package, Destination, NamedX */ 469 470 If (FL00) 471 { 472 CopyObject (PPP0 [0x00], I005) /* \M1C3.I005 */ 473 Store (P000 [0x00], I005) /* \M1C3.I005 */ 474 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 475 I006 = (I005 + 0x01) 476 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 477 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 478 I006 = (DerefOf (I005) + 0x01) 479 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 480 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 481 M390 (I005, V000, 0x00, __LINE__) 482 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 483 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 484 M390 (DerefOf (I005), V000, 0x00, __LINE__) 485 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 486 I005 = I002 = P000 [0x00] 487 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 488 I006 = (I005 + 0x01) 489 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 490 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 491 I006 = (DerefOf (I005) + 0x01) 492 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 493 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 494 M390 (I005, V000, 0x00, __LINE__) 495 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 496 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 497 M390 (DerefOf (I005), V000, 0x00, __LINE__) 498 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 499 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 500 I006 = (I002 + 0x01) 501 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 502 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 503 I006 = (DerefOf (I002) + 0x01) 504 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 505 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 506 M390 (I002, V000, 0x00, __LINE__) 507 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 508 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 509 M390 (DerefOf (I002), V000, 0x00, __LINE__) 510 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 511 } 512 513 If (Q001) 514 { 515 Store (P000 [0x00], I005) /* \M1C3.I005 */ 516 I003 = DerefOf (I005) 517 M390 (DerefOf (I003), V000, 0x00, __LINE__) 518 I004 = DerefOf (I003) 519 M390 (I004, V000, 0x00, __LINE__) 520 I005 = I002 = P000 [0x00] 521 I003 = DerefOf (I005) 522 M390 (DerefOf (I003), V000, 0x00, __LINE__) 523 I004 = DerefOf (I003) 524 M390 (I004, V000, 0x00, __LINE__) 525 I003 = DerefOf (I002) 526 M390 (DerefOf (I003), V000, 0x00, __LINE__) 527 I004 = DerefOf (I003) 528 M390 (I004, V000, 0x00, __LINE__) 529 } 530 531 /* if(q001) */ 532 /* El_of_Package, Result, NamedX */ 533 If (FL00) 534 { 535 Store (P000 [0x01], I005) /* \M1C3.I005 */ 536 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 537 I006 = (I005 + 0x01) 538 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 539 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 540 I006 = (DerefOf (I005) + 0x01) 541 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 542 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 543 M390 (I005, V000, 0x00, __LINE__) 544 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 545 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 546 M390 (DerefOf (I005), V000, 0x00, __LINE__) 547 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 548 I005 = I002 = P000 [0x01] 549 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 550 I006 = (I005 + 0x01) 551 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 552 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 553 I006 = (DerefOf (I005) + 0x01) 554 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 555 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 556 M390 (I005, V000, 0x00, __LINE__) 557 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 558 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 559 M390 (DerefOf (I005), V000, 0x00, __LINE__) 560 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 561 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 562 I006 = (I002 + 0x01) 563 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 564 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 565 I006 = (DerefOf (I002) + 0x01) 566 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 567 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 568 M390 (I002, V000, 0x00, __LINE__) 569 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 570 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 571 M390 (DerefOf (I002), V000, 0x00, __LINE__) 572 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 573 } 574 575 If (Q001) 576 { 577 Store (P000 [0x01], I005) /* \M1C3.I005 */ 578 I003 = DerefOf (I005) 579 M390 (DerefOf (I003), V000, 0x00, __LINE__) 580 I004 = DerefOf (I003) 581 M390 (I004, V000, 0x00, __LINE__) 582 I005 = I002 = P000 [0x01] 583 I003 = DerefOf (I005) 584 M390 (DerefOf (I003), V000, 0x00, __LINE__) 585 I004 = DerefOf (I003) 586 M390 (I004, V000, 0x00, __LINE__) 587 I003 = DerefOf (I002) 588 M390 (DerefOf (I003), V000, 0x00, __LINE__) 589 I004 = DerefOf (I003) 590 M390 (I004, V000, 0x00, __LINE__) 591 } 592 /* if(q001) */ 593 } 594 /* if(y127) */ 595 } 596 597 /* Check Uninitialized element of Package */ 598 599 Method (M1C4, 0, Serialized) 600 { 601 Name (PPP0, Package (0x0A) 602 { 603 0x77, 604 "qwer0000", 605 Buffer (0x04) 606 { 607 0x01, 0x77, 0x03, 0x04 // .w.. 608 }, 609 610 Package (0x03) 611 { 612 0x05, 613 0x77, 614 0x07 615 } 616 }) 617 Method (M000, 2, NotSerialized) 618 { 619 Store (Arg0 [Arg1], Local0) 620 M1A3 (Local0, C008, Z116, "m1c4", __LINE__) 621 } 622 623 M000 (PPP0, 0x04) 624 M000 (PPP0, 0x05) 625 M000 (PPP0, 0x06) 626 M000 (PPP0, 0x07) 627 M000 (PPP0, 0x08) 628 M000 (PPP0, 0x09) 629 } 630 631 /* The chain of Index_References */ 632 633 Method (M1C5, 0, Serialized) 634 { 635 Name (PPP0, Package (0x04) 636 { 637 0x77, 638 "qwer0000", 639 Buffer (0x04) 640 { 641 0x01, 0x77, 0x03, 0x04 // .w.. 642 }, 643 644 Package (0x03) 645 { 646 0x05, 647 0x77, 648 0x07 649 } 650 }) 651 Name (P000, Package (0x14){}) 652 Store (PPP0 [0x00], P000 [0x00]) 653 M390 (DerefOf (DerefOf (P000 [0x00])), C009, Z116, 0x5E) 654 If (Q002) 655 { 656 Store (P000 [0x00], P000 [0x01]) 657 M390 (DerefOf (DerefOf (DerefOf (P000 [0x01]))), C009, Z116, 0x5F) 658 Store (P000 [0x01], P000 [0x02]) 659 M390 (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x02])))), C009, Z116, 0x60) 660 Store (P000 [0x02], P000 [0x03]) 661 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x03]))))), C009, Z116, 662 0x61) 663 Store (P000 [0x03], P000 [0x04]) 664 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x04])))))), C009, 665 Z116, 0x62) 666 Store (P000 [0x04], P000 [0x05]) 667 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x05]))))))), 668 C009, Z116, 0x63) 669 Store (P000 [0x05], P000 [0x06]) 670 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x06] 671 )))))))), C009, Z116, 0x64) 672 Store (P000 [0x06], P000 [0x07]) 673 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [ 674 0x07]))))))))), C009, Z116, 0x65) 675 } 676 677 M390 (DerefOf (DerefOf (P000 [0x00])), C009, Z116, 0x66) 678 If (Q002) 679 { 680 M390 (DerefOf (DerefOf (DerefOf (P000 [0x01]))), C009, Z116, 0x67) 681 M390 (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x02])))), C009, Z116, 0x68) 682 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x03]))))), C009, Z116, 683 0x69) 684 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x04])))))), C009, 685 Z116, 0x6A) 686 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x05]))))))), 687 C009, Z116, 0x6B) 688 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [0x06] 689 )))))))), C009, Z116, 0x6C) 690 M390 (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (DerefOf (P000 [ 691 0x07]))))))))), C009, Z116, 0x6D) 692 } 693 } 694 695 /* Access to the Method named object element of Package */ 696 /* Methods without parameters */ 697 Method (M1C7, 0, Serialized) 698 { 699 Name (I000, 0x77) 700 Method (M000, 0, NotSerialized) 701 { 702 I000 = 0x00 703 } 704 705 Method (M001, 0, NotSerialized) 706 { 707 I000 = 0x01 708 Return (0x12345678) 709 } 710 711 Method (M002, 0, NotSerialized) 712 { 713 I000 = 0x00 714 } 715 716 Method (M003, 0, NotSerialized) 717 { 718 I000 = 0x01 719 Return (0x12345678) 720 } 721 722 Name (P000, Package (0x0A) 723 { 724 M000, 725 M001, 726 M002, 727 M003, 728 M000, 729 M001, 730 M002, 731 M003, 732 I000, 733 I000 734 }) 735 Store (P000 [0x00], Local0) 736 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 737 Store (P000 [0x01], Local0) 738 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 739 Store (P000 [0x02], Local0) 740 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 741 Store (P000 [0x03], Local0) 742 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 743 Store (P000 [0x04], Local0) 744 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 745 Store (P000 [0x05], Local0) 746 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 747 Store (P000 [0x06], Local0) 748 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 749 Store (P000 [0x07], Local0) 750 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 751 Store (P000 [0x08], Local0) 752 M1A3 (Local0, C009, Z116, __METHOD__, __LINE__) 753 Store (P000 [0x09], Local0) 754 M1A3 (Local0, C009, Z116, __METHOD__, __LINE__) 755 M380 (__METHOD__, I000, 0x00, __LINE__) 756 } 757 758 /* CURRENTLY: compiler failed, Too few arguments (M002 requires X) */ 759 /* Methods with parameters */ 760 Method (M1C8, 0, Serialized) 761 { 762 /* 763 Name(i000, 0x77) 764 Method(m000) { 765 Store(0, i000) 766 } 767 Method(m001) { 768 Store(1, i000) 769 return (0x12345678) 770 } 771 Method(m002, 1) { 772 Store(arg0, i000) 773 Store(0, i000) 774 } 775 Method(m003, 7) { 776 Store(arg0, i000) 777 Store(arg1, i000) 778 Store(arg2, i000) 779 Store(arg3, i000) 780 Store(arg4, i000) 781 Store(arg5, i000) 782 Store(arg6, i000) 783 Store(1, i000) 784 return (0x12345678) 785 } 786 Name(p000, Package() {m000, m001, m002, m003, 787 m000, m001, m002, m003, 788 i000, i000}) 789 Store(Index(p000, 0), Local0) 790 m1a3(Local0, c010, z116, ts, `120) 791 Store(Index(p000, 1), Local0) 792 m1a3(Local0, c010, z116, ts, 121) 793 Store(Index(p000, 2), Local0) 794 m1a3(Local0, c010, z116, ts, 122) 795 Store(Index(p000, 3), Local0) 796 m1a3(Local0, c010, z116, ts, 123) 797 Store(Index(p000, 4), Local0) 798 m1a3(Local0, c010, z116, ts, 124) 799 Store(Index(p000, 5), Local0) 800 m1a3(Local0, c010, z116, ts, 125) 801 Store(Index(p000, 6), Local0) 802 m1a3(Local0, c010, z116, ts, 126) 803 Store(Index(p000, 7), Local0) 804 m1a3(Local0, c010, z116, ts, 127) 805 Store(Index(p000, 8), Local0) 806 m1a3(Local0, c009, z116, ts, 128) 807 Store(Index(p000, 9), Local0) 808 m1a3(Local0, c009, z116, ts, 129) 809 m380 (ts, i000, 0, __LINE__) 810 */ 811 } 812 813 /* DerefOf of the Method named object element of Package */ 814 815 Method (M1C9, 0, Serialized) 816 { 817 Name (I000, 0x77) 818 Method (M000, 0, NotSerialized) 819 { 820 I000 = 0x00 821 } 822 823 Method (M001, 0, NotSerialized) 824 { 825 I000 = 0x01 826 Return (0x12345678) 827 } 828 829 Method (M002, 0, NotSerialized) 830 { 831 I000 = 0x00 832 } 833 834 Method (M003, 0, NotSerialized) 835 { 836 I000 = 0x01 837 Return (0x12345678) 838 } 839 840 Name (P000, Package (0x0A) 841 { 842 M000, 843 M001, 844 M002, 845 M003, 846 M000, 847 M001, 848 M002, 849 M003, 850 I000, 851 I000 852 }) 853 Store (P000 [0x00], Local0) 854 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 855 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 856 Local1 = DerefOf (Local0) 857 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 858 Store (P000 [0x01], Local0) 859 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 860 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 861 Local1 = DerefOf (Local0) 862 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 863 Store (P000 [0x02], Local0) 864 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 865 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 866 Local1 = DerefOf (Local0) 867 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 868 Store (P000 [0x03], Local0) 869 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 870 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 871 Local1 = DerefOf (Local0) 872 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 873 Store (P000 [0x04], Local0) 874 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 875 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 876 Local1 = DerefOf (Local0) 877 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 878 Store (P000 [0x05], Local0) 879 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 880 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 881 Local1 = DerefOf (Local0) 882 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 883 Store (P000 [0x06], Local0) 884 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 885 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 886 Local1 = DerefOf (Local0) 887 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 888 Store (P000 [0x07], Local0) 889 M1A3 (Local0, C010, Z116, __METHOD__, __LINE__) 890 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 891 Local1 = DerefOf (Local0) 892 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 893 M380 (__METHOD__, I000, 0x00, __LINE__) 894 } 895 896 /* Size of Package */ 897 898 Method (M1CA, 0, Serialized) 899 { 900 Method (M000, 1, Serialized) 901 { 902 Name (P000, Package (Arg0){}) 903 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 904 Store (P000 [Arg0], Local0) 905 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 906 } 907 908 Method (M001, 1, Serialized) 909 { 910 Name (P000, Package (Arg0){}) 911 Name (LPN0, 0x00) 912 Name (LPC0, 0x00) 913 /* Write each element of Package with its index */ 914 915 LPN0 = Arg0 916 LPC0 = 0x00 917 While (LPN0) 918 { 919 P000 [LPC0] = LPC0 /* \M1CA.M001.LPC0 */ 920 LPN0-- 921 LPC0++ 922 } 923 924 /* Verify each element of Package */ 925 926 LPN0 = Arg0 927 LPC0 = 0x00 928 While (LPN0) 929 { 930 Store (P000 [LPC0], Local0) 931 Local1 = DerefOf (Local0) 932 If ((Local1 != LPC0)) 933 { 934 ERR (__METHOD__, Z116, __LINE__, Z116, 0x00, Local1, LPC0) 935 Break 936 } 937 938 LPN0-- 939 LPC0++ 940 } 941 } 942 943 Method (M003, 0, Serialized) 944 { 945 Name (P000, Package (0x02){}) 946 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 947 Store (P000 [0x02], Local0) 948 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 949 } 950 951 Method (M004, 0, Serialized) 952 { 953 Name (P000, Package (0xFF){}) 954 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 955 Store (P000 [0xFF], Local0) 956 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 957 } 958 959 /* Size not greater than 255 */ 960 961 M000 (0x01) 962 M000 (0x08) 963 M000 (0x7F) 964 M000 (0xFF) 965 M003 () 966 M004 () 967 /* VarPackage: size of Package greater than 255 */ 968 /* (bug 129, not a bug) */ 969 M001 (0x0100) 970 } 971 972 /* Size of Package, see comma "6,})" */ 973 974 Method (M1CB, 0, Serialized) 975 { 976 Name (P000, Package (0x06) 977 { 978 0x01, 979 0x02, 980 0x03, 981 0x04, 982 0x05, 983 0x06 984 }) 985 Local0 = SizeOf (P000) 986 If ((Local0 != 0x06)) 987 { 988 ERR (__METHOD__, Z116, __LINE__, 0x00, 0x00, Local0, 0x06) 989 } 990 } 991 992 /* Check the read automatic dereference */ 993 /* arg0 - name of Method initiating the checking */ 994 /* arg1 - Oref or IRef */ 995 /* arg2 - expected value */ 996 /* arg3 - exception is expected */ 997 Method (M1CC, 4, NotSerialized) 998 { 999 CH03 (Arg0, Z116, __LINE__, 0x00, 0x00) 1000 Local0 = Arg1 1001 Local7 = (Local0 + 0x01) 1002 If ((Local7 != Arg2)) 1003 { 1004 ERR (Arg0, Z116, __LINE__, 0x00, 0x00, Local7, Arg2) 1005 } 1006 1007 CH03 (Arg0, Z116, __LINE__, 0x00, 0x00) 1008 } 1009 1010 /* Check the read automatic dereference */ 1011 /* arg0 - name of Method initiating the checking */ 1012 /* arg1 - Oref or IRef */ 1013 /* arg2 - expected value */ 1014 /* arg3 - exception is expected */ 1015 Method (M1CD, 4, NotSerialized) 1016 { 1017 CH03 (Arg0, Z116, __LINE__, 0x00, 0x00) 1018 Local7 = (Arg1 + 0x01) 1019 If ((Local7 != Arg2)) 1020 { 1021 ERR (Arg0, Z116, __LINE__, 0x00, 0x00, Local7, Arg2) 1022 } 1023 1024 CH03 (Arg0, Z116, __LINE__, 0x00, 0x00) 1025 } 1026 1027 /* Check the read automatic dereference */ 1028 /* when accessing element of Package. */ 1029 Method (M1CE, 0, Serialized) 1030 { 1031 Name (P000, Package (0x01) 1032 { 1033 0x77 1034 }) 1035 M1CC (__METHOD__, Local0 = P000 [0x00], 0x78, 0x00) 1036 M1CD (__METHOD__, P000 [0x00], 0x78, 0x00) 1037 } 1038 1039 Method (M1CF, 0, Serialized) 1040 { 1041 Name (P000, Package (0x01) 1042 { 1043 0x77 1044 }) 1045 Local0 = P000 [0x00] 1046 M1CC (__METHOD__, Local0, 0x78, 0x00) 1047 M1CD (__METHOD__, Local0, 0x78, 0x00) 1048 Local1 = Local0 = P000 [0x00] 1049 M1CC (__METHOD__, Local0, 0x78, 0x00) 1050 M1CD (__METHOD__, Local0, 0x78, 0x00) 1051 M1CC (__METHOD__, Local1, 0x78, 0x00) 1052 M1CD (__METHOD__, Local1, 0x78, 0x00) 1053 } 1054 1055 Method (M1D0, 0, Serialized) 1056 { 1057 Name (P000, Package (0x01) 1058 { 1059 0x77 1060 }) 1061 CopyObject (Local0 = P000 [0x00], Local1) 1062 M1CC (__METHOD__, Local0, 0x78, 0x00) 1063 M1CD (__METHOD__, Local0, 0x78, 0x00) 1064 M1CC (__METHOD__, Local1, 0x78, 0x00) 1065 M1CD (__METHOD__, Local1, 0x78, 0x00) 1066 } 1067 1068 /* EXCEPTIONS */ 1069 /* ref07.asl 1093: Add(Index(p000, 0, Local0), 1, Local7) */ 1070 /* Error 1035 - Invalid type ^ ([Reference] found, */ 1071 /* Add operator requires [Integer|String|Buffer]) */ 1072 /* 1073 * Method(m1d1) 1074 * { 1075 * Name(p000, Package(1) {0x77}) 1076 * CH03(ts, z116, 170, __LINE__, 0) 1077 * Add(Index(p000, 0, Local0), 1, Local7) 1078 * CH04(ts, 0, 0xff, z116, __LINE__, 0, 0) 1079 * } 1080 */ 1081 /* LocalX */ 1082 Method (M1D1, 0, Serialized) 1083 { 1084 Name (P000, Package (0x01) 1085 { 1086 0x77 1087 }) 1088 Local1 = Local0 = P000 [0x00] 1089 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1090 Local7 = (Local0 + 0x01) 1091 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1092 Local7 = (Local1 + 0x01) 1093 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1094 } 1095 1096 Method (M1D2, 0, Serialized) 1097 { 1098 Name (P000, Package (0x01) 1099 { 1100 0x77 1101 }) 1102 CopyObject (Local0 = P000 [0x00], Local1) 1103 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1104 Local7 = (Local0 + 0x01) 1105 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1106 Local7 = (Local1 + 0x01) 1107 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1108 } 1109 1110 /* ArgX */ 1111 1112 Method (M1D3, 2, Serialized) 1113 { 1114 Name (P000, Package (0x01) 1115 { 1116 0x77 1117 }) 1118 Arg1 = Arg0 = P000 [0x00] 1119 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1120 Local7 = (Arg0 + 0x01) 1121 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1122 Local7 = (Arg1 + 0x01) 1123 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1124 } 1125 1126 Method (M1D4, 2, Serialized) 1127 { 1128 Name (P000, Package (0x01) 1129 { 1130 0x77 1131 }) 1132 CopyObject (Arg0 = P000 [0x00], Arg1) 1133 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1134 Local7 = (Arg0 + 0x01) 1135 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1136 /* Type of Arg1 should be IRef here, */ 1137 /* so, exception is expected. */ 1138 Local7 = (Arg1 + 0x01) 1139 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1140 } 1141 1142 /* NamedX */ 1143 1144 Method (M1D5, 0, Serialized) 1145 { 1146 Name (I001, 0x00) 1147 Name (P000, Package (0x02) 1148 { 1149 0x77, 1150 0x88 1151 }) 1152 Name (SW00, 0x01) 1153 Name (HG00, 0x00) /* if non-zero - the test hangs */ 1154 Name (HG01, 0x00) /* if non-zero - the test hangs */ 1155 Name (HG02, 0x00) /* if non-zero - the test hangs */ 1156 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1157 CopyObject (Local0 = P000 [0x01], I001) /* \M1D5.I001 */ 1158 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1159 /* Type of i001 should be already IRef here, */ 1160 /* so, don't expect exception. */ 1161 I001 = Local0 = P000 [0x00] 1162 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1163 Local7 = (Local0 + 0x01) 1164 If (Y248) 1165 { 1166 HG00 = 0x01 1167 HG01 = 0x01 1168 HG02 = 0x01 1169 } 1170 1171 /* 1172 * To show visually the consequences of the anomaly 1173 * run one of code below. They cause hang. 1174 */ 1175 If (HG00) 1176 { 1177 /* Infinite loop of printing */ 1178 1179 Local1 = 0x00 1180 Debug = Local0 1181 } 1182 1183 If (HG01) 1184 { 1185 /* Infinite loop of printing */ 1186 1187 Debug = Local0 1188 Debug = Local0 1189 } 1190 1191 If (HG02) 1192 { 1193 Local1 = 0x00 1194 Debug = "============== sit 2:" 1195 Local7 = ObjectType (Local0) 1196 Debug = Local7 1197 } 1198 1199 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1200 Local7 = (I001 + 0x01) 1201 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1202 /* 1203 * Looks identical to b248: "Incorrect ReferenceCount on Switch operation": 1204 * 1205 * Reference count of Local0 is mistakenly zeroed there too. 1206 * 1207 * [ACPI Debug] String: [0x0F] "<-------- 0000>" 1208 * [ACPI Debug] Reference: [Debug] 1209 * [ACPI Debug] String: [0x0F] "<-------- 1111>" 1210 * 1211 * [ACPI Debug] String: [0x0F] "<-------- 0000>" 1212 * [ACPI Debug] [ACPI Debug] String: [0x0F] "<-------- 1111>" 1213 */ 1214 Debug = "<-------- 0000>" 1215 Debug = Local0 1216 Debug = "<-------- 1111>" 1217 } 1218 1219 Method (M1D6, 0, Serialized) 1220 { 1221 Name (I001, 0x00) 1222 Name (P000, Package (0x01) 1223 { 1224 0x77 1225 }) 1226 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1227 CopyObject (Local0 = P000 [0x00], I001) /* \M1D6.I001 */ 1228 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1229 Local7 = (I001 + 0x01) 1230 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1231 } 1232 1233 /* Out of Package */ 1234 1235 Method (M1D7, 0, Serialized) 1236 { 1237 Name (P000, Package (0x01) 1238 { 1239 0x77 1240 }) 1241 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1242 Store (P000 [0x01], Local0) 1243 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1244 Local1 = Local0 = P000 [0x01] 1245 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1246 } 1247 1248 Method (M1D8, 0, Serialized) 1249 { 1250 Name (P000, Package (0x01) 1251 { 1252 0x77 1253 }) 1254 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1255 CopyObject (P000 [0x01], Local0) 1256 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1257 CopyObject (Local0 = P000 [0x01], Local1) 1258 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1259 } 1260 1261 Method (M1DB, 0, Serialized) 1262 { 1263 Name (I001, 0x00) 1264 Name (P000, Package (0x02) 1265 { 1266 0x77, 1267 0x88 1268 }) 1269 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1270 CopyObject (P000 [0x01], I001) /* \M1DB.I001 */ 1271 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1272 /* Type of i001 should be already IRef here, */ 1273 /* so, don't expect exception. Writing to i001 */ 1274 /* is here identical to Store into it. */ 1275 I001 = P000 [0x00] 1276 CH03 (__METHOD__, Z116, __LINE__, 0x00, 0x00) 1277 Local7 = (I001 + 0x01) 1278 CH04 (__METHOD__, 0x00, 0xFF, Z116, __LINE__, 0x00, 0x00) 1279 } 1280 1281 /* WRITE */ 1282 1283 Method (M1D9, 0, Serialized) 1284 { 1285 Name (P000, Package (0x03) 1286 { 1287 0x05, 1288 0x00, 1289 0x07 1290 }) 1291 Method (M000, 1, NotSerialized) 1292 { 1293 Local0 = (0x76 + 0x01) 1294 Arg0 = Local0 1295 } 1296 1297 M000 (P000 [0x01]) 1298 M383 ("m1d9", P000, Z116, __LINE__) 1299 } 1300 1301 Method (M1DA, 0, Serialized) 1302 { 1303 Name (P000, Package (0x03) 1304 { 1305 0x05, 1306 0x00, 1307 0x07 1308 }) 1309 Method (M000, 1, NotSerialized) 1310 { 1311 Arg0 = (0x76 + 0x01) 1312 } 1313 1314 M000 (P000 [0x01]) 1315 M383 ("m1da", P000, Z116, __LINE__) 1316 } 1317