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 * Common use Data 30 */ 31 Name (ID00, 0xE0385BCD) 32 Name (ID01, 0x00) /* Flag of error, used by demo-162 */ 33 Name (ID02, 0x00) /* Flag of presence of demo-162 test */ 34 Name (ID09, 0x00) 35 Name (ID0A, 0x00) 36 Name (ID0B, 0x89ABCDEF) 37 Name (SD00, "String") 38 Name (BD00, Buffer (0x20) 39 { 40 0x01, 0x02, 0x03, 0x04 // .... 41 }) 42 Name (BD02, Buffer (0x14) 43 { 44 /* 0000 */ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, // ........ 45 /* 0008 */ 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, // ........ 46 /* 0010 */ 0x20, 0x21, 0x22, 0x23 // !"# 47 }) 48 CreateField (BD00, 0x00, 0x08, BF30) 49 CreateField (BD00, 0x08, 0x41, BF31) 50 Name (PD00, Package (0x01) 51 { 52 Buffer (0x04) 53 { 54 0x01, 0x02, 0x03, 0x04 // .... 55 } 56 }) 57 Device (DD00) 58 { 59 Name (I900, 0xABCD0017) 60 } 61 62 Device (DD01) 63 { 64 Name (I900, 0xABCD0017) 65 } 66 67 Device (DD02) 68 { 69 Name (I900, 0xABCD0017) 70 } 71 72 Device (DD03) 73 { 74 Name (I900, 0xABCD0017) 75 } 76 77 Device (DD04) 78 { 79 Name (I900, 0xABCD0017) 80 } 81 82 Device (DD05) 83 { 84 Name (I900, 0xABCD0017) 85 } 86 87 Device (DD06) 88 { 89 Name (I900, 0xABCD0017) 90 } 91 92 Device (DD07) 93 { 94 Name (I900, 0xABCD0017) 95 } 96 97 OperationRegion (RD00, SystemMemory, 0x0100, 0x0100) 98 Field (RD00, ByteAcc, NoLock, Preserve) 99 { 100 FD00, 8, 101 FD01, 65 102 } 103 104 /* 105 * Global CreateField declarations for bug 161 106 */ 107 /* Comment/uncomment it */ 108 Name (ID03, 0x08) 109 Name (ID04, 0x40) 110 Name (ID05, 0x50) 111 Name (ID06, 0x08) 112 Name (ID07, 0x50) 113 Name (ID08, 0x08) 114 Name (BD03, Buffer (0x14) 115 { 116 /* 0000 */ 0x10, 0x5D, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, // .]...... 117 /* 0008 */ 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, // ........ 118 /* 0010 */ 0x20, 0x21, 0x22, 0x23 // !"# 119 }) 120 /* Caused stack overflow */ 121 122 CreateField (BD03, 0x20, ID03, BF32) 123 /* CreateField(bd03, 32, 8, bf32) */ 124 125 CreateField (BD03, 0x28, (ID03 + 0x08), BF33) 126 /* Caused stack overflow */ 127 128 CreateField (BD03, ID04, 0x08, BF34) 129 /* CreateField(bd03, 64, 8, bf34) */ 130 131 CreateField (BD03, (ID04 + 0x08), 0x08, BF35) 132 /* Caused stack overflow */ 133 134 CreateField (BD03, ID05, ID06, BF36) 135 /* CreateField(bd03, 80, 8, bf36) */ 136 137 CreateField (BD03, (ID07 + 0x08), (ID08 + 0x08), BF37) 138 /* ==================== Additional: */ 139 140 CreateBitField (BD03, 0x08, BF40) 141 CreateByteField (BD03, 0x01, BF41) 142 CreateWordField (BD03, 0x01, BF42) 143 CreateDWordField (BD03, 0x01, BF43) 144 CreateQWordField (BD03, 0x01, BF44) 145 CreateField (BD03, 0x08, 0x08, BF45) 146 Name (ID21, 0x01) 147 Name (ID22, 0x08) 148 CreateBitField (BD03, ID22, BF46) 149 CreateByteField (BD03, ID21, BF47) 150 CreateWordField (BD03, ID21, BF48) 151 CreateDWordField (BD03, ID21, BF49) 152 CreateQWordField (BD03, ID21, BF4A) 153 CreateField (BD03, 0x08, ID22, BF4B) 154 CreateField (BD03, ID22, 0x08, BF4C) 155 CreateField (BD03, ID22, ID22, BF4D) 156 /* ==================== bug 161. */ 157 /* 161 */ 158 Mutex (MXD0, 0x00) 159 Event (ED00) 160 OperationRegion (RD01, SystemMemory, 0x0100, 0x0100) 161 OperationRegion (RD02, SystemMemory, 0x0100, 0x0100) 162 Name (PD01, Package (0x01) 163 { 164 0x89ABCDEF 165 }) 166 Name (DD08, 0x12) 167 Name (SD01, "123456789") 168 Name (BD04, Buffer (0x09) 169 { 170 /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ 171 /* 0008 */ 0x09 // . 172 }) 173 Name (ID0C, 0x12) 174 Name (SD02, "123456789") 175 Name (BD05, Buffer (0x09) 176 { 177 /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, // ........ 178 /* 0008 */ 0x09 // . 179 }) 180 Name (PD02, Package (0x09) 181 { 182 0x01, 183 0x02, 184 0x03, 185 0x04, 186 0x05, 187 0x06, 188 0x07, 189 0x08, 190 0x09 191 }) 192 OperationRegion (RD03, SystemMemory, 0x0100, 0x0100) 193 Field (RD03, ByteAcc, NoLock, Preserve) 194 { 195 FD02, 8 196 } 197 198 Device (DD09) 199 { 200 } 201 202 Event (ED01) 203 Method (ME53, 0, NotSerialized) 204 { 205 Return (0x12) 206 } 207 208 Mutex (MXD1, 0x00) 209 PowerResource (PWD0, 0x01, 0x0000) 210 { 211 Method (M001, 0, NotSerialized) 212 { 213 Return (0x00) 214 } 215 } 216 217 Processor (PRD0, 0x00, 0xFFFFFFFF, 0x00){} 218 ThermalZone (TZD0) 219 { 220 } 221 222 CreateField (BD05, 0x00, 0x08, BFD0) 223 Name (ID0D, 0x00) 224 Name (ID0E, 0x00) 225 Method (ME69, 0, NotSerialized) 226 { 227 Return (0x12345678) 228 } 229 230 Name (PD03, Package (0x01) 231 { 232 ME69 233 }) 234 Name (ID0F, 0x00) 235 Name (ID10, 0x1234) 236 Name (PD04, Package (0x01) 237 { 238 0x10 239 }) 240 Name (PD05, Package (0x01) 241 { 242 0x20 243 }) 244 Name (PD06, Package (0x01) 245 { 246 0x30 247 }) 248 Name (PD07, Package (0x01) 249 { 250 0x40 251 }) 252 Name (PD08, Package (0x01) 253 { 254 0x50 255 }) 256 Name (PD09, Package (0x01) 257 { 258 0x60 259 }) 260 Name (ID11, 0xFE7CB391D650A284) 261 Name (BD06, Buffer (0x09) 262 { 263 /* 0000 */ 0x01, 0x02, 0x03, 0x04, 0x59, 0x06, 0x07, 0x08, // ....Y... 264 /* 0008 */ 0x09 // . 265 }) 266 CreateField (BD06, 0x28, 0x08, BFD1) 267 OperationRegion (RD04, SystemMemory, 0x0100, 0x0100) 268 Field (RD04, ByteAcc, NoLock, Preserve) 269 { 270 FD03, 8 271 } 272 273 Name (PD0A, Package (0x01) 274 { 275 ID11 276 }) 277 Name (PD0B, Package (0x01) 278 { 279 BFD1 280 }) 281 Name (PD0C, Package (0x01) 282 { 283 FD03 284 }) 285 Name (SD03, "0123456789a") 286 Name (BD07, Buffer (0x2001){}) 287 Name (SD04, "qwer0000") 288 Name (BD08, Buffer (0x04) 289 { 290 0x01, 0x77, 0x03, 0x04 // .w.. 291 }) 292 Name (PD0D, Package (0x03) 293 { 294 0x05, 295 0x77, 296 0x07 297 }) 298 Name (ID12, 0x77) 299 Name (PD0E, Package (0x01) 300 { 301 0x77 302 }) 303 Name (ID13, 0x00) 304 Name (SD05, "q_er0000") 305 Name (BD09, Buffer (0x04) 306 { 307 0x01, 0x00, 0x03, 0x04 // .... 308 }) 309 Name (PD0F, Package (0x03) 310 { 311 0x05, 312 0x00, 313 0x07 314 }) 315 Name (ID14, 0x11) 316 Name (ID15, 0x22) 317 Name (ID16, 0x33) 318 Name (ID17, 0x44) 319 Name (ID18, 0x55) 320 Name (ID19, 0x66) 321 Name (ID1A, 0x77) 322 Name (ID1B, 0xFEDCBA9876543210) 323 Name (ID1C, 0xFEDCBA9876543211) 324 Name (ID1D, 0xFEDCBA9876543210) 325 Device (DD0B) 326 { 327 Name (S000, "DEV0") 328 } 329 330 Event (ED02) 331 OperationRegion (RD05, SystemMemory, 0x0100, 0x0100) 332 Name (BD0A, Buffer (0x09) 333 { 334 0x10, 0x11, 0x12, 0x13 // .... 335 }) 336 CreateField (BD0A, 0x00, 0x08, BFD2) 337 Name (RTD0, ResourceTemplate () 338 { 339 IRQNoFlags () 340 {1} 341 DMA (Compatibility, NotBusMaster, Transfer16, ) 342 {2} 343 }) 344 Name (BD0B, ResourceTemplate () 345 { 346 IRQNoFlags () 347 {1} 348 DMA (Compatibility, NotBusMaster, Transfer16, ) 349 {2} 350 IRQNoFlags () 351 {1} 352 DMA (Compatibility, NotBusMaster, Transfer16, ) 353 {2} 354 }) 355 Device (DD0C) 356 { 357 } 358 359 Processor (PRD1, 0x00, 0xFFFFFFFF, 0x00){} 360 OperationRegion (RD06, SystemMemory, 0x0100, 0x0100) 361 PowerResource (PWD1, 0x01, 0x0000) 362 { 363 Method (MMMM, 0, NotSerialized) 364 { 365 Return (0x00) 366 } 367 } 368 369 ThermalZone (TZD1) 370 { 371 } 372 373 Event (ED03) 374 Mutex (MXD2, 0x00) 375 Event (ED04) 376 Name (ID1E, 0x19283746) 377 Name (PD10, Package (0x01) 378 { 379 "Package" 380 }) 381 Name (RTD1, ResourceTemplate () 382 { 383 QWordSpace (0xC0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0A, 384 0xD8D9DADBDCDDDEDF, // Granularity 385 0xE0E1E2E3E4E5E6E7, // Range Minimum 386 0xE8E9EAEBECEDEEEF, // Range Maximum 387 0xF0F1F2F3F4F5F6F7, // Translation Offset 388 0xF8F9FAFBFCFDFEFF, // Length 389 ,, ) 390 }) 391 Name (BD0C, ResourceTemplate () 392 { 393 QWordSpace (0xC0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0A, 394 0xD8D9DADBDCDDDEDF, // Granularity 395 0xE0E1E2E3E4E5E6E7, // Range Minimum 396 0xE8E9EAEBECEDEEEF, // Range Maximum 397 0xF0F1F2F3F4F5F6F7, // Translation Offset 398 0xF8F9FAFBFCFDFEFF, // Length 399 ,, ) 400 }) 401 Device (DD0D) 402 { 403 } 404 405 Processor (PRD2, 0x00, 0xFFFFFFFF, 0x00){} 406 OperationRegion (RD07, SystemMemory, 0x0100, 0x0100) 407 PowerResource (PWD2, 0x01, 0x0000) 408 { 409 Method (MMMM, 0, NotSerialized) 410 { 411 Return (0x00) 412 } 413 } 414 415 ThermalZone (TZD2) 416 { 417 } 418 419 Event (ED05) 420 Mutex (MXD3, 0x00) 421 Name (ID1F, 0x31) 422 Name (ID20, 0x07) 423 OperationRegion (RD08, SystemMemory, 0x00, ID1F++) 424 Name (BD0D, Buffer (0x08) 425 { 426 0x80, 0x99, 0xFF, 0x83, 0x84, 0x85, 0x86, 0x87 // ........ 427 }) 428 CreateField (BD0D, 0x08, ID20++, BFD3) 429 Name (PD11, Package (0x02) 430 { 431 0x01 432 }) 433 Name (BD0E, Buffer (0x04) 434 { 435 0x01, 0x77, 0x03, 0x04 // .w.. 436 }) 437 /* Base of Buffer Field */ 438 439 Name (BD0F, Buffer (0x09){}) 440 /* Benchmark buffer */ 441 442 Name (BD10, Buffer (0x09){}) 443 /* It is used in b198 Name(id24, 0) */ 444 /* Name(id25, 0) */ 445 /* Don't use this name bd13! */ 446 /* Name(bd13, Buffer(9){}) */ 447 Name (ID29, 0x00) 448 Name (ID2A, 0x00) 449 Name (ID2B, 0x00) 450