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 * Resource Descriptor macros 30 * 31 * Word Space Resource Descriptor Macro 32 */ 33 Name (P430, Package (0x1B) 34 { 35 ResourceTemplate () 36 { 37 WordSpace (0xC0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0A, 38 0xF6F7, // Granularity 39 0xF8F9, // Range Minimum 40 0xFAFB, // Range Maximum 41 0xFCFD, // Translation Offset 42 0xFEFF, // Length 43 ,, ) 44 }, 45 46 ResourceTemplate () 47 { 48 WordSpace (0xC1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1A, 49 0xF6F7, // Granularity 50 0xF8F9, // Range Minimum 51 0xFAFB, // Range Maximum 52 0xFCFD, // Translation Offset 53 0xFEFF, // Length 54 ,, ) 55 }, 56 57 ResourceTemplate () 58 { 59 WordSpace (0xC2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2A, 60 0xF6F7, // Granularity 61 0xF8F9, // Range Minimum 62 0xFAFB, // Range Maximum 63 0xFCFD, // Translation Offset 64 0xFEFF, // Length 65 ,, ) 66 }, 67 68 ResourceTemplate () 69 { 70 WordSpace (0xC3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3A, 71 0xF6F7, // Granularity 72 0xF8F9, // Range Minimum 73 0xFAFB, // Range Maximum 74 0xFCFD, // Translation Offset 75 0xFEFF, // Length 76 ,, ) 77 }, 78 79 ResourceTemplate () 80 { 81 WordSpace (0xC4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4A, 82 0xF6F7, // Granularity 83 0xF8F9, // Range Minimum 84 0xFAFB, // Range Maximum 85 0xFCFD, // Translation Offset 86 0xFEFF, // Length 87 ,, ) 88 }, 89 90 ResourceTemplate () 91 { 92 WordSpace (0xC5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5A, 93 0xF6F7, // Granularity 94 0xF8F9, // Range Minimum 95 0xFAFB, // Range Maximum 96 0xFCFD, // Translation Offset 97 0xFEFF, // Length 98 ,, ) 99 }, 100 101 ResourceTemplate () 102 { 103 WordSpace (0xC6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6A, 104 0xF6F7, // Granularity 105 0xF8F9, // Range Minimum 106 0xFAFB, // Range Maximum 107 0xFCFD, // Translation Offset 108 0xFEFF, // Length 109 ,, ) 110 }, 111 112 ResourceTemplate () 113 { 114 WordSpace (0xC7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7A, 115 0xF6F7, // Granularity 116 0xF8F9, // Range Minimum 117 0xFAFB, // Range Maximum 118 0xFCFD, // Translation Offset 119 0xFEFF, // Length 120 ,, ) 121 }, 122 123 ResourceTemplate () 124 { 125 WordSpace (0xC8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8A, 126 0xF6F7, // Granularity 127 0xF8F9, // Range Minimum 128 0xFAFB, // Range Maximum 129 0xFCFD, // Translation Offset 130 0xFEFF, // Length 131 ,, ) 132 }, 133 134 ResourceTemplate () 135 { 136 WordSpace (0xC9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9A, 137 0xF6F7, // Granularity 138 0xF8F9, // Range Minimum 139 0xFAFB, // Range Maximum 140 0xFCFD, // Translation Offset 141 0xFEFF, // Length 142 ,, ) 143 }, 144 145 ResourceTemplate () 146 { 147 WordSpace (0xCA, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xAA, 148 0xF6F7, // Granularity 149 0xF8F9, // Range Minimum 150 0xFAFB, // Range Maximum 151 0xFCFD, // Translation Offset 152 0xFEFF, // Length 153 ,, ) 154 }, 155 156 ResourceTemplate () 157 { 158 WordSpace (0xCB, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xBA, 159 0xF6F7, // Granularity 160 0xF8F9, // Range Minimum 161 0xFAFB, // Range Maximum 162 0xFCFD, // Translation Offset 163 0xFEFF, // Length 164 ,, ) 165 }, 166 167 ResourceTemplate () 168 { 169 WordSpace (0xCC, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xCA, 170 0xF6F7, // Granularity 171 0xF8F9, // Range Minimum 172 0xFAFB, // Range Maximum 173 0xFCFD, // Translation Offset 174 0xFEFF, // Length 175 ,, ) 176 }, 177 178 ResourceTemplate () 179 { 180 WordSpace (0xCD, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xDA, 181 0xF6F7, // Granularity 182 0xF8F9, // Range Minimum 183 0xFAFB, // Range Maximum 184 0xFCFD, // Translation Offset 185 0xFEFF, // Length 186 ,, ) 187 }, 188 189 ResourceTemplate () 190 { 191 WordSpace (0xCE, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xEA, 192 0xF6F7, // Granularity 193 0xF8F9, // Range Minimum 194 0xFAFB, // Range Maximum 195 0xFCFD, // Translation Offset 196 0xFEFF, // Length 197 ,, ) 198 }, 199 200 ResourceTemplate () 201 { 202 WordSpace (0xFF, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xFA, 203 0xF6F7, // Granularity 204 0xF8F9, // Range Minimum 205 0xFAFB, // Range Maximum 206 0xFCFD, // Translation Offset 207 0xFEFF, // Length 208 ,, ) 209 }, 210 211 ResourceTemplate () 212 { 213 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x00, 214 0xF6F7, // Granularity 215 0xF8F9, // Range Minimum 216 0xFAFB, // Range Maximum 217 0xFCFD, // Translation Offset 218 0xFEFF, // Length 219 ,, ) 220 }, 221 222 ResourceTemplate () 223 { 224 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0xFF, 225 0xF6F7, // Granularity 226 0xF8F9, // Range Minimum 227 0xFAFB, // Range Maximum 228 0xFCFD, // Translation Offset 229 0xFEFF, // Length 230 ,, ) 231 }, 232 233 ResourceTemplate () 234 { 235 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 236 0xF6F7, // Granularity 237 0xF8F9, // Range Minimum 238 0xFAFB, // Range Maximum 239 0xFCFD, // Translation Offset 240 0xFEFF, // Length 241 ,, ) 242 }, 243 244 ResourceTemplate () 245 { 246 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 247 0xF6F7, // Granularity 248 0xF8F9, // Range Minimum 249 0xFAFB, // Range Maximum 250 0xFCFD, // Translation Offset 251 0xFEFF, // Length 252 ,, ) 253 }, 254 255 ResourceTemplate () 256 { 257 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 258 0xF6F7, // Granularity 259 0xF8F9, // Range Minimum 260 0xFAFB, // Range Maximum 261 0xFCFD, // Translation Offset 262 0xFEFF, // Length 263 0x01, "", ) 264 }, 265 266 ResourceTemplate () 267 { 268 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 269 0xF6F7, // Granularity 270 0xF8F9, // Range Minimum 271 0xFAFB, // Range Maximum 272 0xFCFD, // Translation Offset 273 0xFEFF, // Length 274 0x0F, "P", ) 275 }, 276 277 ResourceTemplate () 278 { 279 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 280 0xF6F7, // Granularity 281 0xF8F9, // Range Minimum 282 0xFAFB, // Range Maximum 283 0xFCFD, // Translation Offset 284 0xFEFF, // Length 285 0xF0, "PATH", ) 286 }, 287 288 ResourceTemplate () 289 { 290 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 291 0xF6F7, // Granularity 292 0xF8F9, // Range Minimum 293 0xFAFB, // Range Maximum 294 0xFCFD, // Translation Offset 295 0xFEFF, // Length 296 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", ) 297 }, 298 299 ResourceTemplate () 300 { 301 WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A, 302 0xF6F7, // Granularity 303 0xF8F9, // Range Minimum 304 0xFAFB, // Range Maximum 305 0xFCFD, // Translation Offset 306 0xFEFF, // Length 307 0xFF, "PATHPATHPATH", ) 308 }, 309 310 ResourceTemplate () 311 { 312 WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x00, 313 0x0000, // Granularity 314 0x0000, // Range Minimum 315 0x0000, // Range Maximum 316 0x0000, // Translation Offset 317 0x0000, // Length 318 0xFF, "PATHPATHPATH", ) 319 }, 320 321 ResourceTemplate () 322 { 323 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 324 0xF6F7, // Granularity 325 0xF8F9, // Range Minimum 326 0xFAFB, // Range Maximum 327 0xFCFD, // Translation Offset 328 0xFEFF, // Length 329 0x0F,, ) 330 } 331 }) 332 /* 333 ACPI Specification, Revision 3.0, September 2, 2004 334 6.4.3.5.3 Word Address Space Descriptor 335 Memory Word Address Space Descriptor layout: 336 Byte 0 (Tag Bits): Value=10001000B (0x88) (Type = 1, Large item name = 0x8) 337 Byte 1 (Length, bits[7:0]): Variable: Value = 13 (minimum) 338 Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum) 339 Byte 3 (Resource Type): 340 192-255 Hardware Vendor Defined 341 Byte 4 (General Flags): 342 Bits[7:4] Reserved (must be 0) 343 Bit[3] Min Address Fixed, _MAF: 344 1 The specified maximum address is fixed 345 0 The specified maximum address is not fixed 346 and can be changed 347 Bit[2] Max Address Fixed,_MIF: 348 1 The specified minimum address is fixed 349 0 The specified minimum address is not fixed 350 and can be changed 351 Bit[1] Decode Type, _DEC: 352 1 This bridge subtractively decodes this address 353 (top level bridges only) 354 0 This bridge positively decodes this address 355 Bit[0] Consumer/Producer: 356 1-This device consumes this resource 357 0-This device produces and consumes this resource 358 Byte 5 (Type Specific Flags): 359 Flags that are specific to each resource type. The meaning of the flags 360 in this field depends on the value of the Resource Type field (see above) 361 Byte 6 (Address space granularity, _GRA bits[7:0]): 362 A set bit in this mask means that this bit is decoded. All bits less 363 significant than the most significant set bit must be set. (in other 364 words, the value of the full Address Space Granularity field (all 16 365 bits) must be a number (2**n-1). 366 Byte 7 (Address space granularity, _GRA bits[15:8]) 367 Byte 8 (Address range minimum, _MIN bits [7:0]): 368 For bridges that translate addresses, this is the address space 369 on the secondary side of the bridge 370 Byte 9 (Address range minimum, _MIN bits[15:8]) 371 Byte 10 (Address range maximum, _MAX bits [7:0]): See comment for _MIN 372 Byte 11 (Address range maximum, _MAX bits[15:8]) 373 Byte 12 (Address Translation offset, _TRA bits [7:0]): 374 For bridges that translate addresses across the bridge, this is the 375 offset that must be added to the address on the secondary side to obtain 376 the address on the primary side. Non-bridge devices must list 0 for all 377 Address Translation offset bits 378 Byte 13 (Address Translation offset, _TRA bits[15:8]) 379 Byte 14 (Address Length, _LEN bits [7:0]) 380 Byte 15 (Address Length, _LEN bits[15:8]) 381 Byte 16 (Resource Source Index): 382 (Optional) Only present if Resource Source (below) is present. This 383 field gives an index to the specific resource descriptor that this 384 device consumes from in the current resource template for the device 385 object pointed to in Resource Source 386 String (Resource Source): 387 (Optional) If present, the device that uses this descriptor consumes 388 its resources from the resources produced by the named device object. 389 If not present, the device consumes its resources out of a global pool. 390 If not present, the device consumes this resource from its hierarchical 391 parent. 392 */ 393 Name (P431, Package (0x1B) 394 { 395 /* Byte 4 (General Flags) of Word Address Space Descriptor */ 396 397 ResourceTemplate () 398 { 399 WordSpace (0xC0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0A, 400 0xF6F7, // Granularity 401 0xF8F9, // Range Minimum 402 0xFAFB, // Range Maximum 403 0xFCFD, // Translation Offset 404 0xFEFF, // Length 405 ,, ) 406 }, 407 408 ResourceTemplate () 409 { 410 WordSpace (0xC1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1A, 411 0xF6F7, // Granularity 412 0xF8F9, // Range Minimum 413 0xFAFB, // Range Maximum 414 0xFCFD, // Translation Offset 415 0xFEFF, // Length 416 ,, ) 417 }, 418 419 ResourceTemplate () 420 { 421 WordSpace (0xC2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2A, 422 0xF6F7, // Granularity 423 0xF8F9, // Range Minimum 424 0xFAFB, // Range Maximum 425 0xFCFD, // Translation Offset 426 0xFEFF, // Length 427 ,, ) 428 }, 429 430 ResourceTemplate () 431 { 432 WordSpace (0xC3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3A, 433 0xF6F7, // Granularity 434 0xF8F9, // Range Minimum 435 0xFAFB, // Range Maximum 436 0xFCFD, // Translation Offset 437 0xFEFF, // Length 438 ,, ) 439 }, 440 441 ResourceTemplate () 442 { 443 WordSpace (0xC4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4A, 444 0xF6F7, // Granularity 445 0xF8F9, // Range Minimum 446 0xFAFB, // Range Maximum 447 0xFCFD, // Translation Offset 448 0xFEFF, // Length 449 ,, ) 450 }, 451 452 ResourceTemplate () 453 { 454 WordSpace (0xC5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5A, 455 0xF6F7, // Granularity 456 0xF8F9, // Range Minimum 457 0xFAFB, // Range Maximum 458 0xFCFD, // Translation Offset 459 0xFEFF, // Length 460 ,, ) 461 }, 462 463 ResourceTemplate () 464 { 465 WordSpace (0xC6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6A, 466 0xF6F7, // Granularity 467 0xF8F9, // Range Minimum 468 0xFAFB, // Range Maximum 469 0xFCFD, // Translation Offset 470 0xFEFF, // Length 471 ,, ) 472 }, 473 474 ResourceTemplate () 475 { 476 WordSpace (0xC7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7A, 477 0xF6F7, // Granularity 478 0xF8F9, // Range Minimum 479 0xFAFB, // Range Maximum 480 0xFCFD, // Translation Offset 481 0xFEFF, // Length 482 ,, ) 483 }, 484 485 ResourceTemplate () 486 { 487 WordSpace (0xC8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8A, 488 0xF6F7, // Granularity 489 0xF8F9, // Range Minimum 490 0xFAFB, // Range Maximum 491 0xFCFD, // Translation Offset 492 0xFEFF, // Length 493 ,, ) 494 }, 495 496 ResourceTemplate () 497 { 498 WordSpace (0xC9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9A, 499 0xF6F7, // Granularity 500 0xF8F9, // Range Minimum 501 0xFAFB, // Range Maximum 502 0xFCFD, // Translation Offset 503 0xFEFF, // Length 504 ,, ) 505 }, 506 507 ResourceTemplate () 508 { 509 WordSpace (0xCA, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xAA, 510 0xF6F7, // Granularity 511 0xF8F9, // Range Minimum 512 0xFAFB, // Range Maximum 513 0xFCFD, // Translation Offset 514 0xFEFF, // Length 515 ,, ) 516 }, 517 518 ResourceTemplate () 519 { 520 WordSpace (0xCB, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xBA, 521 0xF6F7, // Granularity 522 0xF8F9, // Range Minimum 523 0xFAFB, // Range Maximum 524 0xFCFD, // Translation Offset 525 0xFEFF, // Length 526 ,, ) 527 }, 528 529 ResourceTemplate () 530 { 531 WordSpace (0xCC, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xCA, 532 0xF6F7, // Granularity 533 0xF8F9, // Range Minimum 534 0xFAFB, // Range Maximum 535 0xFCFD, // Translation Offset 536 0xFEFF, // Length 537 ,, ) 538 }, 539 540 ResourceTemplate () 541 { 542 WordSpace (0xCD, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xDA, 543 0xF6F7, // Granularity 544 0xF8F9, // Range Minimum 545 0xFAFB, // Range Maximum 546 0xFCFD, // Translation Offset 547 0xFEFF, // Length 548 ,, ) 549 }, 550 551 ResourceTemplate () 552 { 553 WordSpace (0xCE, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xEA, 554 0xF6F7, // Granularity 555 0xF8F9, // Range Minimum 556 0xFAFB, // Range Maximum 557 0xFCFD, // Translation Offset 558 0xFEFF, // Length 559 ,, ) 560 }, 561 562 ResourceTemplate () 563 { 564 WordSpace (0xFF, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xFA, 565 0xF6F7, // Granularity 566 0xF8F9, // Range Minimum 567 0xFAFB, // Range Maximum 568 0xFCFD, // Translation Offset 569 0xFEFF, // Length 570 ,, ) 571 }, 572 573 /* Byte 5 (Type Specific Flags) of Word Address Space Descriptor */ 574 575 ResourceTemplate () 576 { 577 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x00, 578 0xF6F7, // Granularity 579 0xF8F9, // Range Minimum 580 0xFAFB, // Range Maximum 581 0xFCFD, // Translation Offset 582 0xFEFF, // Length 583 ,, ) 584 }, 585 586 ResourceTemplate () 587 { 588 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0xFF, 589 0xF6F7, // Granularity 590 0xF8F9, // Range Minimum 591 0xFAFB, // Range Maximum 592 0xFCFD, // Translation Offset 593 0xFEFF, // Length 594 ,, ) 595 }, 596 597 /* Particular cases */ 598 599 ResourceTemplate () 600 { 601 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 602 0xF6F7, // Granularity 603 0xF8F9, // Range Minimum 604 0xFAFB, // Range Maximum 605 0xFCFD, // Translation Offset 606 0xFEFF, // Length 607 ,, ) 608 }, 609 610 ResourceTemplate () 611 { 612 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 613 0xF6F7, // Granularity 614 0xF8F9, // Range Minimum 615 0xFAFB, // Range Maximum 616 0xFCFD, // Translation Offset 617 0xFEFF, // Length 618 ,, ) 619 }, 620 621 /* Resource Source */ 622 623 ResourceTemplate () 624 { 625 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 626 0xF6F7, // Granularity 627 0xF8F9, // Range Minimum 628 0xFAFB, // Range Maximum 629 0xFCFD, // Translation Offset 630 0xFEFF, // Length 631 0x01, "", ) 632 }, 633 634 ResourceTemplate () 635 { 636 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 637 0xF6F7, // Granularity 638 0xF8F9, // Range Minimum 639 0xFAFB, // Range Maximum 640 0xFCFD, // Translation Offset 641 0xFEFF, // Length 642 0x0F, "P", ) 643 }, 644 645 ResourceTemplate () 646 { 647 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 648 0xF6F7, // Granularity 649 0xF8F9, // Range Minimum 650 0xFAFB, // Range Maximum 651 0xFCFD, // Translation Offset 652 0xFEFF, // Length 653 0xF0, "PATH", ) 654 }, 655 656 ResourceTemplate () 657 { 658 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 659 0xF6F7, // Granularity 660 0xF8F9, // Range Minimum 661 0xFAFB, // Range Maximum 662 0xFCFD, // Translation Offset 663 0xFEFF, // Length 664 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", ) 665 }, 666 667 /* Particular cases */ 668 669 ResourceTemplate () 670 { 671 WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A, 672 0xF6F7, // Granularity 673 0xF8F9, // Range Minimum 674 0xFAFB, // Range Maximum 675 0xFCFD, // Translation Offset 676 0xFEFF, // Length 677 0xFF, "PATHPATHPATH", ) 678 }, 679 680 ResourceTemplate () 681 { 682 WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x00, 683 0x0000, // Granularity 684 0x0000, // Range Minimum 685 0x0000, // Range Maximum 686 0x0000, // Translation Offset 687 0x0000, // Length 688 0xFF, "PATHPATHPATH", ) 689 }, 690 691 /* 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection) */ 692 693 ResourceTemplate () 694 { 695 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 696 0xF6F7, // Granularity 697 0xF8F9, // Range Minimum 698 0xFAFB, // Range Maximum 699 0xFCFD, // Translation Offset 700 0xFEFF, // Length 701 0x0F,, ) 702 } 703 }) 704 Method (RT16, 0, Serialized) 705 { 706 /* Emit test header, set the filename */ 707 708 THDR (__METHOD__, "WordSpace Resource Descriptor Macro", "wordspace.asl") 709 /* Main test case for packages above */ 710 711 M330 (__METHOD__, 0x1B, "p430", P430, P431) 712 /* Check resource descriptor tag offsets */ 713 714 Local0 = ResourceTemplate () 715 { 716 WordSpace (0xC0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 717 0xF6F7, // Granularity 718 0xF8F9, // Range Minimum 719 0xFAFB, // Range Maximum 720 0xFCFD, // Translation Offset 721 0xFEFF, // Length 722 ,, ) 723 WordSpace (0xC0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5A, 724 0xF6F7, // Granularity 725 0xF8F9, // Range Minimum 726 0xFAFB, // Range Maximum 727 0xFCFD, // Translation Offset 728 0xFEFF, // Length 729 ,, ) 730 } 731 M331 (__METHOD__, 0x01, 0x21, 0x21, 0xA1, 0xA1, "_DEC") 732 M331 (__METHOD__, 0x02, 0x22, 0x22, 0xA2, 0xA2, "_MIF") 733 M331 (__METHOD__, 0x03, 0x23, 0x23, 0xA3, 0xA3, "_MAF") 734 M331 (__METHOD__, 0x07, 0x30, 0x30, 0xB0, 0xB0, "_GRA") 735 M331 (__METHOD__, 0x08, 0x40, 0x40, 0xC0, 0xC0, "_MIN") 736 M331 (__METHOD__, 0x09, 0x50, 0x50, 0xD0, 0xD0, "_MAX") 737 M331 (__METHOD__, 0x0A, 0x60, 0x60, 0xE0, 0xE0, "_TRA") 738 M331 (__METHOD__, 0x0B, 0x70, 0x70, 0xF0, 0xF0, "_LEN") 739 } 740