1/* 2 * Intel ACPI Component Architecture 3 * AML Disassembler version 20021002 4 * 5 * Disassembly of DSDT.AML, Wed Aug 30 20:30:19 2006 6 */ 7DefinitionBlock ("DSDT.aml", "DSDT", 1, "IBM ", "TP-T20 ", 100930080) 8{ 9 Scope (\_PR) 10 { 11 Processor (CPU, 0x01, 0x00001010, 0x06) {} 12 } 13 14 Scope (\_SB) 15 { 16 Device (LNKA) 17 { 18 Name (_HID, EisaId ("PNP0C0F")) 19 Name (_UID, 0x01) 20 Method (_STA, 0, NotSerialized) 21 { 22 If (LNot (VPIR (\_SB.PCI0.ISA.PIRA))) 23 { 24 Return (0x09) 25 } 26 Else 27 { 28 Return (0x0B) 29 } 30 } 31 32 Name (_PRS, ResourceTemplate () 33 { 34 IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11} 35 }) 36 Method (_DIS, 0, NotSerialized) 37 { 38 Or (\_SB.PCI0.ISA.PIRA, 0x80, \_SB.PCI0.ISA.PIRA) 39 } 40 41 Method (_CRS, 0, NotSerialized) 42 { 43 Name (BUFA, ResourceTemplate () 44 { 45 IRQ (Level, ActiveLow, Shared) {} 46 }) 47 CreateWordField (BUFA, 0x01, IRA1) 48 And (\_SB.PCI0.ISA.PIRA, 0x8F, Local0) 49 If (VPIR (Local0)) 50 { 51 Store (ShiftLeft (One, Local0), IRA1) 52 } 53 54 Return (BUFA) 55 } 56 57 Method (_SRS, 1, NotSerialized) 58 { 59 CreateWordField (Arg0, 0x01, IRA2) 60 FindSetRightBit (IRA2, Local0) 61 And (\_SB.PCI0.ISA.PIRA, 0x70, Local1) 62 Or (Local1, Decrement (Local0), Local1) 63 Store (Local1, \_SB.PCI0.ISA.PIRA) 64 } 65 } 66 67 Device (LNKB) 68 { 69 Name (_HID, EisaId ("PNP0C0F")) 70 Name (_UID, 0x02) 71 Method (_STA, 0, NotSerialized) 72 { 73 If (LNot (VPIR (\_SB.PCI0.ISA.PIRB))) 74 { 75 Return (0x09) 76 } 77 Else 78 { 79 Return (0x0B) 80 } 81 } 82 83 Name (_PRS, ResourceTemplate () 84 { 85 IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11} 86 }) 87 Method (_DIS, 0, NotSerialized) 88 { 89 Or (\_SB.PCI0.ISA.PIRB, 0x80, \_SB.PCI0.ISA.PIRB) 90 } 91 92 Method (_CRS, 0, NotSerialized) 93 { 94 Name (BUFB, ResourceTemplate () 95 { 96 IRQ (Level, ActiveLow, Shared) {} 97 }) 98 CreateWordField (BUFB, 0x01, IRB1) 99 And (\_SB.PCI0.ISA.PIRB, 0x8F, Local0) 100 If (VPIR (Local0)) 101 { 102 Store (ShiftLeft (One, Local0), IRB1) 103 } 104 105 Return (BUFB) 106 } 107 108 Method (_SRS, 1, NotSerialized) 109 { 110 CreateWordField (Arg0, 0x01, IRB2) 111 FindSetRightBit (IRB2, Local0) 112 And (\_SB.PCI0.ISA.PIRB, 0x70, Local1) 113 Or (Local1, Decrement (Local0), Local1) 114 Store (Local1, \_SB.PCI0.ISA.PIRB) 115 } 116 } 117 118 Device (LNKC) 119 { 120 Name (_HID, EisaId ("PNP0C0F")) 121 Name (_UID, 0x03) 122 Method (_STA, 0, NotSerialized) 123 { 124 If (LNot (VPIR (\_SB.PCI0.ISA.PIRC))) 125 { 126 Return (0x09) 127 } 128 Else 129 { 130 Return (0x0B) 131 } 132 } 133 134 Name (_PRS, ResourceTemplate () 135 { 136 IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11} 137 }) 138 Method (_DIS, 0, NotSerialized) 139 { 140 Or (\_SB.PCI0.ISA.PIRC, 0x80, \_SB.PCI0.ISA.PIRC) 141 } 142 143 Method (_CRS, 0, NotSerialized) 144 { 145 Name (BUFC, ResourceTemplate () 146 { 147 IRQ (Level, ActiveLow, Shared) {} 148 }) 149 CreateWordField (BUFC, 0x01, IRC1) 150 And (\_SB.PCI0.ISA.PIRC, 0x8F, Local0) 151 If (VPIR (Local0)) 152 { 153 Store (ShiftLeft (One, Local0), IRC1) 154 } 155 156 Return (BUFC) 157 } 158 159 Method (_SRS, 1, NotSerialized) 160 { 161 CreateWordField (Arg0, 0x01, IRC2) 162 FindSetRightBit (IRC2, Local0) 163 And (\_SB.PCI0.ISA.PIRC, 0x70, Local1) 164 Or (Local1, Decrement (Local0), Local1) 165 Store (Local1, \_SB.PCI0.ISA.PIRC) 166 } 167 } 168 169 Device (LNKD) 170 { 171 Name (_HID, EisaId ("PNP0C0F")) 172 Name (_UID, 0x04) 173 Method (_STA, 0, NotSerialized) 174 { 175 If (LNot (VPIR (\_SB.PCI0.ISA.PIRD))) 176 { 177 Return (0x09) 178 } 179 Else 180 { 181 Return (0x0B) 182 } 183 } 184 185 Name (_PRS, ResourceTemplate () 186 { 187 IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11} 188 }) 189 Method (_DIS, 0, NotSerialized) 190 { 191 Or (\_SB.PCI0.ISA.PIRD, 0x80, \_SB.PCI0.ISA.PIRD) 192 } 193 194 Method (_CRS, 0, NotSerialized) 195 { 196 Name (BUFD, ResourceTemplate () 197 { 198 IRQ (Level, ActiveLow, Shared) {} 199 }) 200 CreateWordField (BUFD, 0x01, IRD1) 201 And (\_SB.PCI0.ISA.PIRD, 0x8F, Local0) 202 If (VPIR (Local0)) 203 { 204 Store (ShiftLeft (One, Local0), IRD1) 205 } 206 207 Return (BUFD) 208 } 209 210 Method (_SRS, 1, NotSerialized) 211 { 212 CreateWordField (Arg0, 0x01, IRD2) 213 FindSetRightBit (IRD2, Local0) 214 And (\_SB.PCI0.ISA.PIRD, 0x70, Local1) 215 Or (Local1, Decrement (Local0), Local1) 216 Store (Local1, \_SB.PCI0.ISA.PIRD) 217 } 218 } 219 220 Method (VPIR, 1, NotSerialized) 221 { 222 Store (One, Local0) 223 If (And (Arg0, 0x80)) 224 { 225 Store (Zero, Local0) 226 } 227 Else 228 { 229 And (Arg0, 0x0F, Local1) 230 If (LLess (Local1, 0x03)) 231 { 232 Store (Zero, Local0) 233 } 234 Else 235 { 236 If (LOr (LEqual (Local1, 0x08), LEqual (Local1, 0x0D))) 237 { 238 Store (Zero, Local0) 239 } 240 } 241 } 242 243 Return (Local0) 244 } 245 246 Device (MEM) 247 { 248 Name (_HID, EisaId ("PNP0C01")) 249 Name (ME98, ResourceTemplate () 250 { 251 Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000) 252 Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000) 253 Memory32Fixed (ReadWrite, 0x00100000, 0x01EE0000) 254 Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) 255 }) 256 CreateDWordField (ME98, 0x1C, MEB0) 257 CreateDWordField (ME98, 0x20, MEL0) 258 Name (MGAP, ResourceTemplate () 259 { 260 Memory32Fixed (ReadOnly, 0x00000000, 0x00000000) 261 }) 262 CreateDWordField (MGAP, 0x04, MGPB) 263 CreateDWordField (MGAP, 0x08, MGPL) 264 Name (MEMS, ResourceTemplate () 265 { 266 Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000) 267 Memory32Fixed (ReadOnly, 0x000C0000, 0x00000000) 268 Memory32Fixed (ReadOnly, 0x000C4000, 0x00000000) 269 Memory32Fixed (ReadOnly, 0x000C8000, 0x00000000) 270 Memory32Fixed (ReadOnly, 0x000CC000, 0x00000000) 271 Memory32Fixed (ReadOnly, 0x000D0000, 0x00000000) 272 Memory32Fixed (ReadOnly, 0x000D4000, 0x00000000) 273 Memory32Fixed (ReadOnly, 0x000D8000, 0x00000000) 274 Memory32Fixed (ReadOnly, 0x000DC000, 0x00000000) 275 Memory32Fixed (ReadOnly, 0x000E0000, 0x00000000) 276 Memory32Fixed (ReadOnly, 0x000E4000, 0x00000000) 277 Memory32Fixed (ReadOnly, 0x000E8000, 0x00000000) 278 Memory32Fixed (ReadOnly, 0x000EC000, 0x00000000) 279 Memory32Fixed (ReadOnly, 0x000F0000, 0x00010000) 280 Memory32Fixed (ReadWrite, 0x00100000, 0x01EE0000) 281 Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) 282 }) 283 CreateDWordField (MEMS, 0x14, MC0L) 284 CreateDWordField (MEMS, 0x20, MC4L) 285 CreateDWordField (MEMS, 0x2C, MC8L) 286 CreateDWordField (MEMS, 0x38, MCCL) 287 CreateDWordField (MEMS, 0x44, MD0L) 288 CreateDWordField (MEMS, 0x50, MD4L) 289 CreateDWordField (MEMS, 0x5C, MD8L) 290 CreateDWordField (MEMS, 0x68, MDCL) 291 CreateDWordField (MEMS, 0x74, ME0L) 292 CreateDWordField (MEMS, 0x80, ME4L) 293 CreateDWordField (MEMS, 0x8C, ME8L) 294 CreateDWordField (MEMS, 0x98, MECL) 295 CreateBitField (MEMS, 0x78, MC0W) 296 CreateBitField (MEMS, 0xD8, MC4W) 297 CreateBitField (MEMS, 0x0138, MC8W) 298 CreateBitField (MEMS, 0x0198, MCCW) 299 CreateBitField (MEMS, 0x01F8, MD0W) 300 CreateBitField (MEMS, 0x0258, MD4W) 301 CreateBitField (MEMS, 0x02B8, MD8W) 302 CreateBitField (MEMS, 0x0318, MDCW) 303 CreateBitField (MEMS, 0x0378, ME0W) 304 CreateBitField (MEMS, 0x03D8, ME4W) 305 CreateBitField (MEMS, 0x0438, ME8W) 306 CreateBitField (MEMS, 0x0498, MECW) 307 CreateDWordField (MEMS, 0xAC, MEB1) 308 CreateDWordField (MEMS, 0xB0, MEL1) 309 Method (_CRS, 0, NotSerialized) 310 { 311 If (\W98F) 312 { 313 Subtract (\MEMX, MEB0, MEL0) 314 Store (\GGAP (0x00), MGPB) 315 Store (\GGAP (0x01), MGPL) 316 If (LAnd (MGPB, MGPL)) 317 { 318 Subtract (SizeOf (ME98), 0x02, Local0) 319 Name (MBF0, Buffer (Local0) {}) 320 Add (Local0, SizeOf (MGAP), Local0) 321 Name (MBF1, Buffer (Local0) {}) 322 Store (ME98, MBF0) 323 Concatenate (MBF0, MGAP, MBF1) 324 Return (MBF1) 325 } 326 Else 327 { 328 Return (ME98) 329 } 330 } 331 332 And (\_SB.PCI0.PAM1, 0x03, Local0) 333 If (Local0) 334 { 335 Store (0x4000, MC0L) 336 If (And (Local0, 0x02)) 337 { 338 Store (0x01, MC0W) 339 } 340 } 341 342 And (\_SB.PCI0.PAM1, 0x30, Local0) 343 If (Local0) 344 { 345 Store (0x4000, MC4L) 346 If (And (Local0, 0x20)) 347 { 348 Store (0x01, MC4W) 349 } 350 } 351 352 And (\_SB.PCI0.PAM2, 0x03, Local0) 353 If (Local0) 354 { 355 Store (0x4000, MC8L) 356 If (And (Local0, 0x02)) 357 { 358 Store (0x01, MC8W) 359 } 360 } 361 362 And (\_SB.PCI0.PAM2, 0x30, Local0) 363 If (Local0) 364 { 365 Store (0x4000, MCCL) 366 If (And (Local0, 0x20)) 367 { 368 Store (0x01, MCCW) 369 } 370 } 371 372 And (\_SB.PCI0.PAM3, 0x03, Local0) 373 If (Local0) 374 { 375 Store (0x4000, MD0L) 376 If (And (Local0, 0x02)) 377 { 378 Store (0x01, MD0W) 379 } 380 } 381 382 And (\_SB.PCI0.PAM3, 0x30, Local0) 383 If (Local0) 384 { 385 Store (0x4000, MD4L) 386 If (And (Local0, 0x20)) 387 { 388 Store (0x01, MD4W) 389 } 390 } 391 392 And (\_SB.PCI0.PAM4, 0x03, Local0) 393 If (Local0) 394 { 395 Store (0x4000, MD8L) 396 If (And (Local0, 0x02)) 397 { 398 Store (0x01, MD8W) 399 } 400 } 401 402 And (\_SB.PCI0.PAM4, 0x30, Local0) 403 If (Local0) 404 { 405 Store (0x4000, MDCL) 406 If (And (Local0, 0x20)) 407 { 408 Store (0x01, MDCW) 409 } 410 } 411 412 And (\_SB.PCI0.PAM5, 0x03, Local0) 413 If (Local0) 414 { 415 Store (0x4000, ME0L) 416 If (And (Local0, 0x02)) 417 { 418 Store (0x01, ME0W) 419 } 420 } 421 422 And (\_SB.PCI0.PAM5, 0x30, Local0) 423 If (Local0) 424 { 425 Store (0x4000, ME4L) 426 If (And (Local0, 0x20)) 427 { 428 Store (0x01, ME4W) 429 } 430 } 431 432 And (\_SB.PCI0.PAM6, 0x03, Local0) 433 If (Local0) 434 { 435 Store (0x4000, ME8L) 436 If (And (Local0, 0x02)) 437 { 438 Store (0x01, ME8W) 439 } 440 } 441 442 And (\_SB.PCI0.PAM6, 0x30, Local0) 443 If (Local0) 444 { 445 Store (0x4000, MECL) 446 If (And (Local0, 0x20)) 447 { 448 Store (0x01, MECW) 449 } 450 } 451 452 Subtract (\MEMX, MEB1, MEL1) 453 Return (MEMS) 454 } 455 } 456 457 Device (LID) 458 { 459 Name (_HID, EisaId ("PNP0C0D")) 460 Method (_LID, 0, NotSerialized) 461 { 462 If (\H8DR) 463 { 464 Return (\_SB.PCI0.ISA.EC.HPLD) 465 } 466 Else 467 { 468 If (And (\RBEC (0x36), 0x04)) 469 { 470 Return (0x01) 471 } 472 Else 473 { 474 Return (0x00) 475 } 476 } 477 } 478 479 Method (_PRW, 0, NotSerialized) 480 { 481 If (LAnd (\W98F, LNot (\WMEF))) 482 { 483 Return (Package (0x02) 484 { 485 0x0B, 486 0x04 487 }) 488 } 489 Else 490 { 491 Return (Package (0x02) 492 { 493 0x0B, 494 0x03 495 }) 496 } 497 } 498 499 Method (_PSW, 1, NotSerialized) 500 { 501 If (\H8DR) 502 { 503 If (Arg0) 504 { 505 Store (One, \_SB.PCI0.ISA.EC.HWLO) 506 } 507 Else 508 { 509 Store (Zero, \_SB.PCI0.ISA.EC.HWLO) 510 } 511 } 512 Else 513 { 514 If (Arg0) 515 { 516 \MBEC (0x32, 0xFF, 0x04) 517 } 518 Else 519 { 520 \MBEC (0x32, 0xFB, 0x00) 521 } 522 } 523 } 524 } 525 526 Device (SLPB) 527 { 528 Name (_HID, EisaId ("PNP0C0E")) 529 Method (_PRW, 0, NotSerialized) 530 { 531 If (LAnd (\W98F, LNot (\WMEF))) 532 { 533 Return (Package (0x02) 534 { 535 0x0B, 536 0x04 537 }) 538 } 539 Else 540 { 541 Return (Package (0x02) 542 { 543 0x0B, 544 0x03 545 }) 546 } 547 } 548 549 Method (_PSW, 1, NotSerialized) 550 { 551 If (\H8DR) 552 { 553 If (Arg0) 554 { 555 Store (0x01, \_SB.PCI0.ISA.EC.HWFN) 556 } 557 Else 558 { 559 Store (0x00, \_SB.PCI0.ISA.EC.HWFN) 560 } 561 } 562 Else 563 { 564 If (Arg0) 565 { 566 \MBEC (0x32, 0xFF, 0x10) 567 } 568 Else 569 { 570 \MBEC (0x32, 0xEF, 0x00) 571 } 572 } 573 } 574 } 575 576 Device (PCI0) 577 { 578 Name (_ADR, 0x00) 579 Name (_HID, EisaId ("PNP0A03")) 580 OperationRegion (X000, PCI_Config, 0x00, 0x0100) 581 Field (X000, DWordAcc, NoLock, Preserve) 582 { 583 Offset (0x59), 584 PAM0, 8, 585 PAM1, 8, 586 PAM2, 8, 587 PAM3, 8, 588 PAM4, 8, 589 PAM5, 8, 590 PAM6, 8, 591 DRB0, 8, 592 DRB1, 8, 593 DRB2, 8, 594 DRB3, 8, 595 DRB4, 8, 596 DRB5, 8, 597 DRB6, 8, 598 DRB7, 8, 599 Offset (0x7A), 600 CREN, 1, 601 Offset (0x7B) 602 } 603 604 Name (_PRW, Package (0x02) 605 { 606 0x0B, 607 0x04 608 }) 609 Method (_PSW, 1, NotSerialized) 610 { 611 EPSW (0x01, Arg0) 612 } 613 614 Name (PMEE, 0x00) 615 Method (EPSW, 2, NotSerialized) 616 { 617 If (Arg1) 618 { 619 Or (PMEE, Arg0, Local0) 620 } 621 Else 622 { 623 And (PMEE, Not (Arg0), Local0) 624 } 625 626 Store (Local0, PMEE) 627 If (\H8DR) 628 { 629 If (Local0) 630 { 631 Store (0x01, \_SB.PCI0.ISA.EC.HWPM) 632 } 633 Else 634 { 635 Store (0x00, \_SB.PCI0.ISA.EC.HWPM) 636 } 637 } 638 Else 639 { 640 If (Local0) 641 { 642 \MBEC (0x32, 0xFF, 0x01) 643 } 644 Else 645 { 646 \MBEC (0x32, 0xFE, 0x00) 647 } 648 } 649 650 If (Local0) 651 { 652 Store (0x01, \_SB.PCI0.ISA.WOLE) 653 } 654 Else 655 { 656 Store (0x00, \_SB.PCI0.ISA.WOLE) 657 } 658 } 659 660 Name (_CRS, ResourceTemplate () 661 { 662 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 663 0x0000, 664 0x0000, 665 0x00FF, 666 0x0000, 667 0x0100) 668 IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) 669 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 670 0x0000, 671 0x0000, 672 0x0CF7, 673 0x0000, 674 0x0CF8) 675 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 676 0x0000, 677 0x0D00, 678 0xFFFF, 679 0x0000, 680 0xF300) 681 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 682 0x00000000, 683 0x000A0000, 684 0x000BFFFF, 685 0x00000000, 686 0x00020000) 687 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 688 0x00000000, 689 0x000C0000, 690 0x000C3FFF, 691 0x00000000, 692 0x00004000) 693 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 694 0x00000000, 695 0x000C4000, 696 0x000C7FFF, 697 0x00000000, 698 0x00004000) 699 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 700 0x00000000, 701 0x000C8000, 702 0x000CBFFF, 703 0x00000000, 704 0x00004000) 705 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 706 0x00000000, 707 0x000CC000, 708 0x000CFFFF, 709 0x00000000, 710 0x00004000) 711 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 712 0x00000000, 713 0x000D0000, 714 0x000D3FFF, 715 0x00000000, 716 0x00004000) 717 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 718 0x00000000, 719 0x000D4000, 720 0x000D7FFF, 721 0x00000000, 722 0x00004000) 723 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 724 0x00000000, 725 0x000D8000, 726 0x000DBFFF, 727 0x00000000, 728 0x00004000) 729 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 730 0x00000000, 731 0x000DC000, 732 0x000DFFFF, 733 0x00000000, 734 0x00004000) 735 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 736 0x00000000, 737 0x000E0000, 738 0x000E3FFF, 739 0x00000000, 740 0x00004000) 741 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 742 0x00000000, 743 0x000E4000, 744 0x000E7FFF, 745 0x00000000, 746 0x00004000) 747 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 748 0x00000000, 749 0x000E8000, 750 0x000EBFFF, 751 0x00000000, 752 0x00004000) 753 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 754 0x00000000, 755 0x000EC000, 756 0x000EFFFF, 757 0x00000000, 758 0x00004000) 759 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 760 0x00000000, 761 0x00100000, 762 0xFFDFFFFF, 763 0x00000000, 764 0xFFD00000) 765 }) 766 CreateDWordField (_CRS, 0x68, C0LN) 767 CreateDWordField (_CRS, 0x82, C4LN) 768 CreateDWordField (_CRS, 0x9C, C8LN) 769 CreateDWordField (_CRS, 0xB6, CCLN) 770 CreateDWordField (_CRS, 0xD0, D0LN) 771 CreateDWordField (_CRS, 0xEA, D4LN) 772 CreateDWordField (_CRS, 0x0104, D8LN) 773 CreateDWordField (_CRS, 0x011E, DCLN) 774 CreateDWordField (_CRS, 0x0138, E0LN) 775 CreateDWordField (_CRS, 0x0152, E4LN) 776 CreateDWordField (_CRS, 0x016C, E8LN) 777 CreateDWordField (_CRS, 0x0186, ECLN) 778 CreateDWordField (_CRS, 0x0194, XXMN) 779 CreateDWordField (_CRS, 0x0198, XXMX) 780 CreateDWordField (_CRS, 0x01A0, XXLN) 781 Method (_INI, 0, NotSerialized) 782 { 783 If (LEqual (\SCMP (\_OS, "Microsoft Windows"), Zero)) 784 { 785 Store (One, \W98F) 786 } 787 Else 788 { 789 If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero)) 790 { 791 Store (One, \WNTF) 792 } 793 Else 794 { 795 If (LEqual (\SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero)) 796 { 797 Store (One, \WMEF) 798 Store (One, \W98F) 799 } 800 } 801 } 802 803 Multiply (DRB7, 0x00800000, Local0) 804 Store (Local0, \MEMX) 805 Store (Local0, XXMN) 806 Add (Subtract (XXMX, XXMN), 0x01, XXLN) 807 If (And (PAM1, 0x03)) 808 { 809 Store (0x00, C0LN) 810 } 811 812 If (And (PAM1, 0x30)) 813 { 814 Store (0x00, C4LN) 815 } 816 817 If (And (PAM2, 0x03)) 818 { 819 Store (0x00, C8LN) 820 } 821 822 If (And (PAM2, 0x30)) 823 { 824 Store (0x00, CCLN) 825 } 826 827 If (And (PAM3, 0x03)) 828 { 829 Store (0x00, D0LN) 830 } 831 832 If (And (PAM3, 0x30)) 833 { 834 Store (0x00, D4LN) 835 } 836 837 If (And (PAM4, 0x03)) 838 { 839 Store (0x00, D8LN) 840 } 841 842 If (And (PAM4, 0x30)) 843 { 844 Store (0x00, DCLN) 845 } 846 847 If (And (PAM5, 0x03)) 848 { 849 Store (0x00, E0LN) 850 } 851 852 If (And (PAM5, 0x30)) 853 { 854 Store (0x00, E4LN) 855 } 856 857 If (And (PAM6, 0x03)) 858 { 859 Store (0x00, E8LN) 860 } 861 862 If (And (PAM6, 0x30)) 863 { 864 Store (0x00, ECLN) 865 } 866 867 \_SB.PCI0.ISA.GPPM () 868 If (\GCHK ()) 869 { 870 Store (0x01, \GVEN) 871 } 872 } 873 874 Name (_PRT, Package (0x07) 875 { 876 Package (0x04) 877 { 878 0x0001FFFF, 879 0x00, 880 \_SB.LNKA, 881 0x00 882 }, 883 884 Package (0x04) 885 { 886 0x0002FFFF, 887 0x00, 888 \_SB.LNKA, 889 0x00 890 }, 891 892 Package (0x04) 893 { 894 0x0002FFFF, 895 0x01, 896 \_SB.LNKB, 897 0x00 898 }, 899 900 Package (0x04) 901 { 902 0x0003FFFF, 903 0x00, 904 \_SB.LNKC, 905 0x00 906 }, 907 908 Package (0x04) 909 { 910 0x0003FFFF, 911 0x01, 912 \_SB.LNKD, 913 0x00 914 }, 915 916 Package (0x04) 917 { 918 0x0005FFFF, 919 0x00, 920 \_SB.LNKA, 921 0x00 922 }, 923 924 Package (0x04) 925 { 926 0x0007FFFF, 927 0x03, 928 \_SB.LNKD, 929 0x00 930 } 931 }) 932 Device (IDE0) 933 { 934 Name (_ADR, 0x00070001) 935 OperationRegion (X140, PCI_Config, 0x40, 0x10) 936 Field (X140, DWordAcc, NoLock, Preserve) 937 { 938 XPT0, 1, 939 XPI0, 1, 940 XPP0, 1, 941 XPD0, 1, 942 XPT1, 1, 943 XPI1, 1, 944 XPP1, 1, 945 XPD1, 1, 946 XPRT, 2, 947 , 2, 948 XPIS, 2, 949 XPSE, 1, 950 XPE, 1, 951 XST0, 1, 952 XSI0, 1, 953 XSP0, 1, 954 XSD0, 1, 955 XST1, 1, 956 XSI1, 1, 957 XSP1, 1, 958 XSD1, 1, 959 XSRT, 2, 960 , 2, 961 XSIS, 2, 962 XSSE, 1, 963 XSE, 1, 964 XVRT, 2, 965 XVIS, 2, 966 Offset (0x05), 967 Offset (0x08), 968 XEP0, 1, 969 XEP1, 1, 970 XES0, 1, 971 XES1, 1, 972 Offset (0x09), 973 Offset (0x0A), 974 XUP0, 2, 975 , 2, 976 XUP1, 2, 977 Offset (0x0B), 978 XUS0, 2, 979 , 2, 980 XUS1, 2, 981 Offset (0x0C) 982 } 983 984 Device (PRIM) 985 { 986 Name (_ADR, 0x00) 987 Method (_GTM, 0, NotSerialized) 988 { 989 Subtract (0x05, XPIS, Local0) 990 Subtract (0x04, XPRT, Local1) 991 Add (Local0, Local1, Local0) 992 Multiply (0x1E, Local0, Local0) 993 If (LGreater (Local0, 0xF0)) 994 { 995 Store (0x0384, Local0) 996 } 997 998 If (XEP0) 999 { 1000 Store (0x11, Local4) 1001 If (LEqual (XUP0, 0x00)) 1002 { 1003 Store (0x78, Local1) 1004 } 1005 Else 1006 { 1007 If (LEqual (XUP0, 0x01)) 1008 { 1009 Store (0x50, Local1) 1010 } 1011 Else 1012 { 1013 Store (0x3C, Local1) 1014 } 1015 } 1016 } 1017 Else 1018 { 1019 Store (0x10, Local4) 1020 Store (Local0, Local1) 1021 } 1022 1023 If (XPI0) 1024 { 1025 Or (Local4, 0x02, Local4) 1026 } 1027 1028 If (XPSE) 1029 { 1030 Subtract (0x05, XVIS, Local2) 1031 Subtract (0x04, XVRT, Local3) 1032 Add (Local2, Local3, Local2) 1033 Multiply (0x1E, Local2, Local2) 1034 If (LGreater (Local2, 0xF0)) 1035 { 1036 Store (0x0384, Local2) 1037 } 1038 1039 If (XEP1) 1040 { 1041 Or (Local4, 0x04, Local4) 1042 If (LEqual (XUP1, 0x00)) 1043 { 1044 Store (0x78, Local3) 1045 } 1046 Else 1047 { 1048 If (LEqual (XUP1, 0x01)) 1049 { 1050 Store (0x50, Local3) 1051 } 1052 Else 1053 { 1054 Store (0x3C, Local3) 1055 } 1056 } 1057 } 1058 Else 1059 { 1060 Store (Local2, Local3) 1061 } 1062 } 1063 Else 1064 { 1065 Store (0x00, Local2) 1066 Store (0x00, Local3) 1067 } 1068 1069 If (XPI1) 1070 { 1071 Or (Local4, 0x08, Local4) 1072 } 1073 1074 Store (Local0, \GTP0) 1075 Store (Local1, \GTD0) 1076 Store (Local2, \GTP1) 1077 Store (Local3, \GTD1) 1078 Store (Local4, \GTMF) 1079 Return (\BGTM) 1080 } 1081 1082 Method (_STM, 3, NotSerialized) 1083 { 1084 CreateDWordField (Arg0, 0x00, STP0) 1085 CreateDWordField (Arg0, 0x04, STD0) 1086 CreateDWordField (Arg0, 0x08, STP1) 1087 CreateDWordField (Arg0, 0x0C, STD1) 1088 CreateDWordField (Arg0, 0x10, STMF) 1089 If (SizeOf (Arg1)) 1090 { 1091 CreateWordField (Arg1, 0x01, PMZR) 1092 If (PMZR) 1093 { 1094 Store (One, Local5) 1095 } 1096 Else 1097 { 1098 Store (Zero, Local5) 1099 } 1100 } 1101 Else 1102 { 1103 Store (Zero, Local5) 1104 } 1105 1106 If (Local5) 1107 { 1108 If (\W98F) 1109 { 1110 CreateWordField (Arg1, 0x66, PM51) 1111 CreateWordField (Arg1, 0x6A, PM53) 1112 CreateWordField (Arg1, 0x7C, PM62) 1113 CreateWordField (Arg1, 0x7E, PM63) 1114 CreateWordField (Arg1, 0x80, PM64) 1115 CreateWordField (Arg1, 0x82, PM65) 1116 CreateWordField (Arg1, 0x88, PM68) 1117 CreateWordField (Arg1, 0xB0, PM88) 1118 Store (\UDMA (PM53, PM88), Local0) 1119 If (LGreater (Local0, 0x03)) 1120 { 1121 Store (0x03, Local0) 1122 } 1123 1124 Store (\MDMA (PM53, PM63, PM62, PM65), Local1) 1125 Store (\MPIO (PM53, PM64, PM51, PM68), Local2) 1126 Store (\MPI4 (Local1, Local2), Local3) 1127 } 1128 Else 1129 { 1130 Store (\MPIB (And (STMF, 0x02), STP0), Local2) 1131 Store (\UDMB (And (STMF, 0x01), STD0), Local0) 1132 Store (\MP4B (Local2), Local3) 1133 Store (Local3, Local1) 1134 } 1135 1136 Store (\MTIM (Local3, Local2, And (PMZR, 0x80)), Local4) 1137 If (And (Local4, 0x01)) 1138 { 1139 Store (One, XPT0) 1140 } 1141 1142 If (And (Local4, 0x02)) 1143 { 1144 Store (One, XPI0) 1145 } 1146 1147 If (And (Local4, 0x04)) 1148 { 1149 Store (One, XPP0) 1150 } 1151 1152 If (And (Local4, 0x08)) 1153 { 1154 Store (One, XPD0) 1155 } 1156 1157 Store (\MISP (Local3), XPIS) 1158 Store (\MRTC (Local3), XPRT) 1159 If (Local0) 1160 { 1161 Store (One, XEP0) 1162 Store (\MUCT (Local0), XUP0) 1163 } 1164 Else 1165 { 1166 Store (Zero, XEP0) 1167 Store (Zero, XUP0) 1168 } 1169 1170 Store (\MHDM (Local0, Local1), \HDM0) 1171 Store (\MHPI (Local2), \HPI0) 1172 } 1173 1174 If (SizeOf (Arg2)) 1175 { 1176 CreateWordField (Arg2, 0x01, PS00) 1177 If (PS00) 1178 { 1179 Store (One, Local5) 1180 } 1181 Else 1182 { 1183 Store (Zero, Local5) 1184 } 1185 } 1186 Else 1187 { 1188 Store (Zero, Local5) 1189 } 1190 1191 If (Local5) 1192 { 1193 If (\W98F) 1194 { 1195 CreateWordField (Arg2, 0x66, PS51) 1196 CreateWordField (Arg2, 0x6A, PS53) 1197 CreateWordField (Arg2, 0x7C, PS62) 1198 CreateWordField (Arg2, 0x7E, PS63) 1199 CreateWordField (Arg2, 0x80, PS64) 1200 CreateWordField (Arg2, 0x82, PS65) 1201 CreateWordField (Arg2, 0x88, PS68) 1202 CreateWordField (Arg2, 0xB0, PS88) 1203 Store (\UDMA (PS53, PS88), Local0) 1204 If (LGreater (Local0, 0x03)) 1205 { 1206 Store (0x03, Local0) 1207 } 1208 1209 Store (\MDMA (PS53, PS63, PS62, PS65), Local1) 1210 Store (\MPIO (PS53, PS64, PS51, PS68), Local2) 1211 Store (\MPI4 (Local1, Local2), Local3) 1212 } 1213 Else 1214 { 1215 Store (\MPIB (And (STMF, 0x08), STP1), Local2) 1216 Store (\UDMB (And (STMF, 0x04), STD1), Local0) 1217 Store (\MP4B (Local2), Local3) 1218 Store (Local3, Local1) 1219 } 1220 1221 Store (One, XPSE) 1222 Store (\MTIM (Local3, Local2, And (PS00, 0x80)), Local4) 1223 If (And (Local4, 0x01)) 1224 { 1225 Store (One, XPT1) 1226 } 1227 1228 If (And (Local4, 0x02)) 1229 { 1230 Store (One, XPI1) 1231 } 1232 1233 If (And (Local4, 0x04)) 1234 { 1235 Store (One, XPP1) 1236 } 1237 1238 If (And (Local4, 0x08)) 1239 { 1240 Store (One, XPD1) 1241 } 1242 1243 Store (\MISP (Local3), XVIS) 1244 Store (\MRTC (Local3), XVRT) 1245 If (Local0) 1246 { 1247 Store (One, XEP1) 1248 Store (\MUCT (Local0), XUP1) 1249 } 1250 Else 1251 { 1252 Store (Zero, XEP1) 1253 Store (Zero, XUP1) 1254 } 1255 1256 Store (\MHDM (Local0, Local1), \HDM1) 1257 Store (\MHDM (Local0, Local1), \CDM1) 1258 Store (\MHPI (Local2), \HPI1) 1259 Store (\MHPI (Local2), \CPI1) 1260 } 1261 } 1262 1263 Device (MSTR) 1264 { 1265 Name (_ADR, 0x00) 1266 Method (_GTF, 0, NotSerialized) 1267 { 1268 Return (\ICM0) 1269 } 1270 } 1271 } 1272 1273 Device (SCND) 1274 { 1275 Name (_ADR, 0x01) 1276 Method (_GTM, 0, NotSerialized) 1277 { 1278 Subtract (0x05, XSIS, Local0) 1279 Subtract (0x04, XSRT, Local1) 1280 Add (Local0, Local1, Local0) 1281 Multiply (0x1E, Local0, Local0) 1282 If (LGreater (Local0, 0xF0)) 1283 { 1284 Store (0x0384, Local0) 1285 } 1286 1287 If (XES0) 1288 { 1289 Store (0x11, Local2) 1290 If (LEqual (XUS0, 0x00)) 1291 { 1292 Store (0x78, Local1) 1293 } 1294 Else 1295 { 1296 If (LEqual (XUS0, 0x01)) 1297 { 1298 Store (0x50, Local1) 1299 } 1300 Else 1301 { 1302 Store (0x3C, Local1) 1303 } 1304 } 1305 } 1306 Else 1307 { 1308 Store (0x10, Local2) 1309 Store (Local0, Local1) 1310 } 1311 1312 If (XSI0) 1313 { 1314 Or (Local2, 0x02, Local2) 1315 } 1316 1317 Store (Local0, \GTP0) 1318 Store (Local1, \GTD0) 1319 Store (Zero, \GTP1) 1320 Store (Zero, \GTD1) 1321 Store (Local2, \GTMF) 1322 Return (\BGTM) 1323 } 1324 1325 Method (_STM, 3, NotSerialized) 1326 { 1327 CreateDWordField (Arg0, 0x00, STP0) 1328 CreateDWordField (Arg0, 0x04, STD0) 1329 CreateDWordField (Arg0, 0x08, STP1) 1330 CreateDWordField (Arg0, 0x0C, STD1) 1331 CreateDWordField (Arg0, 0x10, STMF) 1332 If (SizeOf (Arg1)) 1333 { 1334 CreateWordField (Arg1, 0x01, SM00) 1335 If (SM00) 1336 { 1337 Store (One, Local5) 1338 } 1339 Else 1340 { 1341 Store (Zero, Local5) 1342 } 1343 } 1344 Else 1345 { 1346 Store (Zero, Local5) 1347 } 1348 1349 If (Local5) 1350 { 1351 If (\W98F) 1352 { 1353 CreateWordField (Arg1, 0x66, SM51) 1354 CreateWordField (Arg1, 0x6A, SM53) 1355 CreateWordField (Arg1, 0x7C, SM62) 1356 CreateWordField (Arg1, 0x7E, SM63) 1357 CreateWordField (Arg1, 0x80, SM64) 1358 CreateWordField (Arg1, 0x82, SM65) 1359 CreateWordField (Arg1, 0x88, SM68) 1360 CreateWordField (Arg1, 0xB0, SM88) 1361 Store (\UDMA (SM53, SM88), Local0) 1362 If (LGreater (Local0, 0x03)) 1363 { 1364 Store (0x03, Local0) 1365 } 1366 1367 Store (\MDMA (SM53, SM63, SM62, SM65), Local1) 1368 Store (\MPIO (SM53, SM64, SM51, SM68), Local2) 1369 Store (\MPI4 (Local1, Local2), Local3) 1370 } 1371 Else 1372 { 1373 Store (\MPIB (And (STMF, 0x02), STP0), Local2) 1374 Store (\UDMB (And (STMF, 0x01), STD0), Local0) 1375 Store (\MP4B (Local2), Local3) 1376 Store (Local3, Local1) 1377 } 1378 1379 Store (\MTIM (Local3, Local2, And (SM00, 0x80)), Local4) 1380 If (And (Local4, 0x01)) 1381 { 1382 Store (One, XST0) 1383 } 1384 1385 If (And (Local4, 0x02)) 1386 { 1387 Store (One, XSI0) 1388 } 1389 1390 If (And (Local4, 0x04)) 1391 { 1392 Store (One, XSP0) 1393 } 1394 1395 If (And (Local4, 0x08)) 1396 { 1397 Store (One, XSD0) 1398 } 1399 1400 Store (\MISP (Local3), XSIS) 1401 Store (\MRTC (Local3), XSRT) 1402 If (Local0) 1403 { 1404 Store (One, XES0) 1405 Store (\MUCT (Local0), XUS0) 1406 } 1407 Else 1408 { 1409 Store (Zero, XES0) 1410 Store (Zero, XUS0) 1411 } 1412 1413 Store (\MHDM (Local0, Local1), \HDM2) 1414 Store (\MHDM (Local0, Local1), \CDM2) 1415 Store (\MHPI (Local2), \HPI2) 1416 Store (\MHPI (Local2), \CPI2) 1417 Store (MHDM (Local0, Local1), \DDM2) 1418 Store (MHPI (Local2), \DPI2) 1419 } 1420 } 1421 1422 Device (MSTR) 1423 { 1424 Name (_ADR, 0x00) 1425 Method (_GTF, 0, NotSerialized) 1426 { 1427 Store (\_SB.PCI0.ISA.EC.GUID (), Local0) 1428 If (LEqual (Local0, 0x06)) 1429 { 1430 Return (\ICM2) 1431 } 1432 1433 Store (Zero, Local1) 1434 If (LEqual (Local0, 0x0B)) 1435 { 1436 Store (One, Local1) 1437 } 1438 1439 If (LEqual (Local0, 0x03)) 1440 { 1441 Store (One, Local1) 1442 } 1443 1444 If (LEqual (Local0, 0x0A)) 1445 { 1446 Store (One, Local1) 1447 } 1448 1449 If (Local1) 1450 { 1451 Store (\GCDT (0x00), \DTF2) 1452 Store (\GCDT (0x01), \DTA2) 1453 Return (\DCM2) 1454 } 1455 Else 1456 { 1457 Return (\ICC2) 1458 } 1459 } 1460 } 1461 } 1462 } 1463 1464 Device (PM00) 1465 { 1466 Name (_ADR, 0x00070003) 1467 OperationRegion (X3DR, PCI_Config, 0x5C, 0x20) 1468 Field (X3DR, DWordAcc, NoLock, Preserve) 1469 { 1470 , 1, 1471 , 2, 1472 , 1, 1473 , 1, 1474 , 2, 1475 Offset (0x01), 1476 , 2, 1477 , 15, 1478 , 1, 1479 , 3, 1480 XA0E, 1, 1481 XM0E, 1, 1482 XPE, 1, 1483 X09A, 16, 1484 X09M, 4, 1485 , 1, 1486 X09E, 3, 1487 , 1, 1488 XPA, 2, 1489 , 1, 1490 XFA, 1, 1491 XFE, 1, 1492 , 1, 1493 Offset (0x08), 1494 Offset (0x0B), 1495 XU1A, 3, 1496 XU1E, 1, 1497 XU2A, 3, 1498 XU2E, 1, 1499 X12A, 16, 1500 X12M, 4, 1501 X12E, 1, 1502 Offset (0x0F), 1503 Offset (0x10), 1504 X12O, 32, 1505 X13A, 16, 1506 X13M, 4, 1507 X13E, 1, 1508 Offset (0x17), 1509 Offset (0x18), 1510 X13O, 32, 1511 Offset (0x20) 1512 } 1513 1514 OperationRegion (SMBC, PCI_Config, 0xD2, 0x01) 1515 Field (SMBC, ByteAcc, NoLock, Preserve) 1516 { 1517 SBHE, 1, 1518 SBIS, 3 1519 } 1520 1521 OperationRegion (GLEN, SystemIO, 0x1020, 0x02) 1522 Field (GLEN, WordAcc, NoLock, Preserve) 1523 { 1524 , 15, 1525 BLEN, 1 1526 } 1527 } 1528 1529 Device (USB) 1530 { 1531 Name (_ADR, 0x00070002) 1532 Method (_PSW, 1, NotSerialized) 1533 { 1534 Noop 1535 } 1536 1537 Name (_PRW, Package (0x02) 1538 { 1539 0x08, 1540 0x01 1541 }) 1542 } 1543 1544 Device (AGP) 1545 { 1546 Name (_ADR, 0x00010000) 1547 Name (_PRT, Package (0x02) 1548 { 1549 Package (0x04) 1550 { 1551 0xFFFF, 1552 0x00, 1553 \_SB.LNKA, 1554 0x00 1555 }, 1556 1557 Package (0x04) 1558 { 1559 0xFFFF, 1560 0x01, 1561 \_SB.LNKB, 1562 0x00 1563 } 1564 }) 1565 Name (EDX1, Buffer (0x80) 1566 { 1567 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 1568 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01, 1569 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 1570 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 1571 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 1572 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1573 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19, 1574 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, 1575 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A, 1576 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 1577 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 1578 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31, 1579 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20, 1580 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 1581 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1582 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33 1583 }) 1584 Name (EDX2, Buffer (0x0100) 1585 { 1586 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 1587 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01, 1588 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 1589 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 1590 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 1591 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1592 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19, 1593 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, 1594 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A, 1595 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 1596 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 1597 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31, 1598 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20, 1599 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 1600 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1601 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 1602 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1603 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1604 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1605 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1606 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1607 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1608 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1609 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1610 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1613 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1614 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1615 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1618 }) 1619 Name (EDT1, Buffer (0x80) 1620 { 1621 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 1622 0xC1, 0xD0, 0xFE, 0x09, 0x01, 0x01, 0x01, 0x01, 1623 0x23, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 1624 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1625 0x00, 0x00, 0x00, 0xA1, 0x08, 0x00, 0x00, 0x00, 1626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1627 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1628 0x00, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80, 1629 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A, 1630 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 1631 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56, 1632 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1633 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59 1637 }) 1638 Name (EDT2, Buffer (0x0100) 1639 { 1640 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 1641 0xC1, 0xD0, 0xFE, 0x09, 0x01, 0x01, 0x01, 0x01, 1642 0x23, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 1643 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1644 0x00, 0x00, 0x00, 0xA1, 0x08, 0x00, 0x00, 0x00, 1645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1646 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1647 0x00, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80, 1648 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A, 1649 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 1650 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56, 1651 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1653 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1654 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1655 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 1656 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1659 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1660 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1661 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1662 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1664 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1666 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1668 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1669 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1670 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1672 }) 1673 Mutex (MDGS, 0x07) 1674 Name (VDEE, 0x01) 1675 Name (VDDA, Buffer (0x02) {}) 1676 CreateBitField (VDDA, 0x00, VUPC) 1677 CreateBitField (VDDA, 0x01, VQDL) 1678 CreateBitField (VDDA, 0x02, VQDC) 1679 CreateBitField (VDDA, 0x03, VQDT) 1680 CreateBitField (VDDA, 0x04, VQDD) 1681 CreateBitField (VDDA, 0x05, VSDL) 1682 CreateBitField (VDDA, 0x06, VSDC) 1683 CreateBitField (VDDA, 0x07, VSDT) 1684 CreateBitField (VDDA, 0x08, VSDD) 1685 CreateBitField (VDDA, 0x0A, MSWT) 1686 CreateBitField (VDDA, 0x0B, VWST) 1687 CreateBitField (VDDA, 0x0D, VPWR) 1688 Device (VID) 1689 { 1690 Name (_ADR, 0x00) 1691 Name (_S1D, 0x01) 1692 Name (_S3D, 0x03) 1693 Method (_INI, 0, NotSerialized) 1694 { 1695 \VUPS (0x02) 1696 Store (\VCDL, VQDL) 1697 Store (\VCDC, VQDC) 1698 Store (\VCDT, VQDT) 1699 Store (\VCDD, VQDD) 1700 } 1701 1702 Method (_PS0, 0, NotSerialized) 1703 { 1704 Store (0x01, VPWR) 1705 } 1706 1707 Method (_PS1, 0, NotSerialized) 1708 { 1709 Store (0x00, VPWR) 1710 } 1711 1712 Method (_PS2, 0, NotSerialized) 1713 { 1714 Store (0x00, VPWR) 1715 } 1716 1717 Method (_PS3, 0, NotSerialized) 1718 { 1719 Store (0x00, VPWR) 1720 } 1721 1722 Method (VSWT, 0, NotSerialized) 1723 { 1724 \VUPS (0x80) 1725 If (LNot (\VCIN)) 1726 { 1727 Store (0x01, Local0) 1728 Store (0x00, Local2) 1729 If (\VCDT) 1730 { 1731 Or (0x04, Local2, Local2) 1732 } 1733 1734 If (\VCDL) 1735 { 1736 Add (0x01, Local0, Local0) 1737 } 1738 1739 If (\VCDC) 1740 { 1741 Add (0x02, Local0, Local0) 1742 } 1743 1744 If (LEqual (0x04, Local0)) 1745 { 1746 Store (0x01, Local1) 1747 } 1748 Else 1749 { 1750 Store (Local0, Local1) 1751 } 1752 1753 Or (Local2, Local1, Local1) 1754 ASWT (Local1, 0x01) 1755 } 1756 } 1757 1758 Method (VLOC, 1, NotSerialized) 1759 { 1760 If (VPWR) 1761 { 1762 If (Arg0) 1763 { 1764 \VUPS (0x81) 1765 If (LNot (VCSS)) 1766 { 1767 If (LNot (\VCDL)) 1768 { 1769 ASWT (0x01, 0x00) 1770 \VNRS (0x01) 1771 } 1772 } 1773 } 1774 } 1775 } 1776 1777 Method (_DOS, 1, NotSerialized) 1778 { 1779 If (LEqual (Arg0, 0x02)) 1780 { 1781 Store (0x01, Local0) 1782 While (Local0) 1783 { 1784 Acquire (MDGS, 0xFFFF) 1785 If (LEqual (0x00, MSWT)) 1786 { 1787 Store (0x01, MSWT) 1788 Store (0x00, Local0) 1789 Store (Arg0, VDEE) 1790 } 1791 1792 Release (MDGS) 1793 Sleep (0x01) 1794 } 1795 } 1796 Else 1797 { 1798 Acquire (MDGS, 0xFFFF) 1799 If (LEqual (VDEE, 0x02)) 1800 { 1801 Store (0x00, MSWT) 1802 } 1803 1804 If (LGreater (Arg0, 0x02)) 1805 { 1806 Store (0x01, VDEE) 1807 } 1808 Else 1809 { 1810 Store (Arg0, VDEE) 1811 } 1812 1813 Release (MDGS) 1814 } 1815 } 1816 1817 Method (_DOD, 0, NotSerialized) 1818 { 1819 Return (Package (0x03) 1820 { 1821 0x00010110, 1822 0x00010100, 1823 0x00010200 1824 }) 1825 } 1826 1827 Method (ASWT, 2, NotSerialized) 1828 { 1829 If (LEqual (0x01, VDEE)) 1830 { 1831 \VSDS (Arg0, 0x01) 1832 } 1833 Else 1834 { 1835 Store (0x01, Local0) 1836 While (Local0) 1837 { 1838 Acquire (MDGS, 0xFFFF) 1839 If (LEqual (0x00, MSWT)) 1840 { 1841 Store (0x00, Local0) 1842 If (And (0x01, Arg1)) 1843 { 1844 Store (0x01, VUPC) 1845 } 1846 Else 1847 { 1848 Store (0x00, VUPC) 1849 } 1850 1851 If (And (0x01, Arg0)) 1852 { 1853 Store (0x01, VQDL) 1854 } 1855 Else 1856 { 1857 Store (0x00, VQDL) 1858 } 1859 1860 If (And (0x02, Arg0)) 1861 { 1862 Store (0x01, VQDC) 1863 } 1864 Else 1865 { 1866 Store (0x00, VQDC) 1867 } 1868 1869 If (And (0x04, Arg0)) 1870 { 1871 Store (0x01, VQDT) 1872 } 1873 Else 1874 { 1875 Store (0x00, VQDT) 1876 } 1877 } 1878 1879 Release (MDGS) 1880 Sleep (0x01) 1881 } 1882 1883 If (And (0x02, Arg1)) 1884 { 1885 Notify (\_SB.PCI0.AGP.VID, 0x81) 1886 } 1887 Else 1888 { 1889 Notify (\_SB.PCI0.AGP.VID, 0x80) 1890 } 1891 } 1892 } 1893 1894 Method (VDSW, 1, NotSerialized) 1895 { 1896 If (LNot (Arg0)) 1897 { 1898 ASWT (0x01, 0x00) 1899 \VNRS (0x05) 1900 } 1901 } 1902 1903 Device (LCD0) 1904 { 1905 Name (_ADR, 0x0110) 1906 Method (_DCS, 0, NotSerialized) 1907 { 1908 \VUPS (0x00) 1909 If (\VCDL) 1910 { 1911 Return (0x1F) 1912 } 1913 Else 1914 { 1915 Return (0x1D) 1916 } 1917 } 1918 1919 Method (_DDC, 1, NotSerialized) 1920 { 1921 If (LEqual (\VLID, 0x02)) 1922 { 1923 If (LEqual (Arg0, 0x01)) 1924 { 1925 Return (EDX1) 1926 } 1927 Else 1928 { 1929 If (LEqual (Arg0, 0x02)) 1930 { 1931 Return (EDX2) 1932 } 1933 } 1934 } 1935 } 1936 1937 Method (_DGS, 0, NotSerialized) 1938 { 1939 Return (VQDL) 1940 } 1941 1942 Method (_DSS, 1, NotSerialized) 1943 { 1944 And (Arg0, 0x01, VSDL) 1945 If (And (Arg0, 0x80000000)) 1946 { 1947 If (And (Arg0, 0x40000000)) 1948 { 1949 DSWT (0x02) 1950 } 1951 Else 1952 { 1953 DSWT (0x01) 1954 } 1955 } 1956 } 1957 } 1958 1959 Device (CRT0) 1960 { 1961 Name (_ADR, 0x0100) 1962 Method (_DCS, 0, NotSerialized) 1963 { 1964 \VUPS (0x01) 1965 If (\VCSS) 1966 { 1967 If (\VCDC) 1968 { 1969 Return (0x1F) 1970 } 1971 Else 1972 { 1973 Return (0x1D) 1974 } 1975 } 1976 Else 1977 { 1978 If (\VCDC) 1979 { 1980 Return (0x0F) 1981 } 1982 Else 1983 { 1984 Return (0x0D) 1985 } 1986 } 1987 } 1988 1989 Method (_DDC, 1, NotSerialized) 1990 { 1991 \VDDC () 1992 If (LEqual (Arg0, 0x01)) 1993 { 1994 Return (\DDC1) 1995 } 1996 Else 1997 { 1998 If (LEqual (Arg0, 0x02)) 1999 { 2000 Return (\DDC2) 2001 } 2002 Else 2003 { 2004 Return (0x00) 2005 } 2006 } 2007 } 2008 2009 Method (_DGS, 0, NotSerialized) 2010 { 2011 Return (VQDC) 2012 } 2013 2014 Method (_DSS, 1, NotSerialized) 2015 { 2016 And (Arg0, 0x01, VSDC) 2017 If (And (Arg0, 0x80000000)) 2018 { 2019 If (And (Arg0, 0x40000000)) 2020 { 2021 DSWT (0x02) 2022 } 2023 Else 2024 { 2025 DSWT (0x01) 2026 } 2027 } 2028 } 2029 } 2030 2031 Device (TV0) 2032 { 2033 Name (_ADR, 0x0200) 2034 Method (_DCS, 0, NotSerialized) 2035 { 2036 \VUPS (0x00) 2037 If (\VCDT) 2038 { 2039 Return (0x1F) 2040 } 2041 Else 2042 { 2043 Return (0x1D) 2044 } 2045 } 2046 2047 Method (_DDC, 1, NotSerialized) 2048 { 2049 If (LEqual (Arg0, 0x01)) 2050 { 2051 Return (EDT1) 2052 } 2053 Else 2054 { 2055 If (LEqual (Arg0, 0x02)) 2056 { 2057 Return (EDT2) 2058 } 2059 } 2060 } 2061 2062 Method (_DGS, 0, NotSerialized) 2063 { 2064 Return (VQDT) 2065 } 2066 2067 Method (_DSS, 1, NotSerialized) 2068 { 2069 And (Arg0, 0x01, VSDT) 2070 If (And (Arg0, 0x80000000)) 2071 { 2072 If (And (Arg0, 0x40000000)) 2073 { 2074 DSWT (0x02) 2075 } 2076 Else 2077 { 2078 DSWT (0x01) 2079 } 2080 } 2081 } 2082 } 2083 2084 Method (DSWT, 1, NotSerialized) 2085 { 2086 If (VSDL) 2087 { 2088 Store (0x01, Local0) 2089 } 2090 Else 2091 { 2092 Store (0x00, Local0) 2093 } 2094 2095 If (VSDC) 2096 { 2097 Or (0x02, Local0, Local0) 2098 } 2099 2100 If (Local0) 2101 { 2102 If (VUPC) 2103 { 2104 \VSDS (Local0, Arg0) 2105 } 2106 } 2107 Else 2108 { 2109 Noop 2110 } 2111 } 2112 } 2113 } 2114 2115 Device (ISA) 2116 { 2117 Name (_ADR, 0x00070000) 2118 OperationRegion (PIRQ, PCI_Config, 0x60, 0x60) 2119 Field (PIRQ, AnyAcc, NoLock, Preserve) 2120 { 2121 PIRA, 8, 2122 PIRB, 8, 2123 PIRC, 8, 2124 PIRD, 8, 2125 SIRQ, 8, 2126 Offset (0x16), 2127 CH00, 3, 2128 , 4, 2129 FE00, 1, 2130 CH01, 3, 2131 , 4, 2132 FE01, 1, 2133 Offset (0x22), 2134 P21E, 3, 2135 Offset (0x23), 2136 Offset (0x50), 2137 , 1, 2138 , 1, 2139 , 1, 2140 , 1, 2141 GCR4, 1, 2142 , 1, 2143 , 1, 2144 Offset (0x51), 2145 , 1, 2146 , 1, 2147 , 1, 2148 , 1, 2149 GCRC, 1, 2150 , 1, 2151 , 1, 2152 Offset (0x52), 2153 , 1, 2154 , 1, 2155 , 1, 2156 , 1, 2157 , 1, 2158 , 1, 2159 SUS2, 1, 2160 Offset (0x54), 2161 Offset (0x60) 2162 } 2163 2164 Device (SIO) 2165 { 2166 Name (_HID, EisaId ("PNP0C02")) 2167 Name (_UID, 0x00) 2168 Name (_STA, 0x0B) 2169 Name (_CRS, ResourceTemplate () 2170 { 2171 IO (Decode16, 0x0022, 0x0022, 0x01, 0x01) 2172 IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) 2173 IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) 2174 IO (Decode16, 0x1000, 0x1000, 0x01, 0x40) 2175 IO (Decode16, 0x1040, 0x1040, 0x01, 0x10) 2176 IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x10) 2177 }) 2178 } 2179 2180 Device (PIC) 2181 { 2182 Name (_HID, EisaId ("PNP0000")) 2183 Name (_CRS, ResourceTemplate () 2184 { 2185 IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) 2186 IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) 2187 IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) 2188 IRQNoFlags () {2} 2189 }) 2190 } 2191 2192 Device (TIMR) 2193 { 2194 Name (_HID, EisaId ("PNP0100")) 2195 Name (_CRS, ResourceTemplate () 2196 { 2197 IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) 2198 IRQNoFlags () {0} 2199 }) 2200 } 2201 2202 Device (DMAC) 2203 { 2204 Name (_HID, EisaId ("PNP0200")) 2205 Name (_CRS, ResourceTemplate () 2206 { 2207 IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) 2208 IO (Decode16, 0x0080, 0x0080, 0x01, 0x10) 2209 IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) 2210 DMA (Compatibility, BusMaster, Transfer8) {4} 2211 }) 2212 } 2213 2214 Device (SPKR) 2215 { 2216 Name (_HID, EisaId ("PNP0800")) 2217 Name (_CRS, ResourceTemplate () 2218 { 2219 IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) 2220 }) 2221 } 2222 2223 Device (FPU) 2224 { 2225 Name (_HID, EisaId ("PNP0C04")) 2226 Name (_CRS, ResourceTemplate () 2227 { 2228 IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10) 2229 IRQNoFlags () {13} 2230 }) 2231 } 2232 2233 Device (RTC) 2234 { 2235 Name (_HID, EisaId ("PNP0B00")) 2236 Name (_CRS, ResourceTemplate () 2237 { 2238 IO (Decode16, 0x0070, 0x0070, 0x01, 0x04) 2239 IRQNoFlags () {8} 2240 }) 2241 } 2242 2243 Device (KBD) 2244 { 2245 Name (_HID, EisaId ("PNP0303")) 2246 Name (_CRS, ResourceTemplate () 2247 { 2248 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) 2249 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) 2250 IRQNoFlags () {1} 2251 }) 2252 } 2253 2254 Device (MOU) 2255 { 2256 Name (_HID, EisaId ("IBM3780")) 2257 Name (_CID, 0x130FD041) 2258 Name (_CRS, ResourceTemplate () 2259 { 2260 IRQNoFlags () {12} 2261 }) 2262 } 2263 2264 Device (PMGA) 2265 { 2266 Name (_HID, EisaId ("PNP0C02")) 2267 Name (_UID, 0x02) 2268 Name (_STA, 0x0B) 2269 Name (_CRS, ResourceTemplate () 2270 { 2271 IO (Decode16, 0x15E0, 0x15E0, 0x01, 0x10) 2272 }) 2273 } 2274 2275 OperationRegion (IMGA, SystemIO, 0x15EC, 0x04) 2276 Field (IMGA, ByteAcc, NoLock, Preserve) 2277 { 2278 IND0, 8, 2279 DAT0, 8, 2280 IND1, 8, 2281 DAT1, 8 2282 } 2283 2284 IndexField (IND0, DAT0, ByteAcc, NoLock, Preserve) 2285 { 2286 Offset (0x7F), 2287 ACI, 8 2288 } 2289 2290 IndexField (IND1, DAT1, ByteAcc, NoLock, Preserve) 2291 { 2292 , 4, 2293 VDPW, 1, 2294 CBPW, 1, 2295 BREN, 1, 2296 Offset (0x01), 2297 Offset (0x07), 2298 , 2, 2299 SSBY, 1, 2300 Offset (0x08), 2301 Offset (0x21), 2302 , 1, 2303 , 1, 2304 BTON, 1, 2305 , 1, 2306 Offset (0x22), 2307 Offset (0x2D), 2308 BUSC, 1, 2309 BUSD, 1, 2310 SCIS, 1, 2311 SCIR, 2, 2312 SLCK, 1, 2313 WOLE, 1, 2314 Offset (0x2E) 2315 } 2316 2317 Method (HBEN, 0, NotSerialized) 2318 { 2319 If (\GLPW ()) 2320 { 2321 Store (0x01, BREN) 2322 } 2323 } 2324 2325 Method (HBDS, 0, NotSerialized) 2326 { 2327 If (\GLPW ()) 2328 { 2329 Store (0x00, BREN) 2330 } 2331 } 2332 2333 PowerResource (PSER, 0x00, 0x0000) 2334 { 2335 Method (_STA, 0, NotSerialized) 2336 { 2337 Return (XOr (SSBY, 0x01)) 2338 } 2339 2340 Method (_ON, 0, NotSerialized) 2341 { 2342 Store (0x00, SSBY) 2343 } 2344 2345 Method (_OFF, 0, NotSerialized) 2346 { 2347 Store (0x01, SSBY) 2348 } 2349 } 2350 2351 Device (SPIO) 2352 { 2353 Name (_HID, EisaId ("PNP0C02")) 2354 Name (_UID, 0x01) 2355 Name (_STA, 0x0B) 2356 Name (_CRS, ResourceTemplate () 2357 { 2358 IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) 2359 }) 2360 } 2361 2362 OperationRegion (NCFG, SystemIO, 0x2E, 0x02) 2363 Field (NCFG, ByteAcc, NoLock, Preserve) 2364 { 2365 INDX, 8, 2366 DATA, 8 2367 } 2368 2369 IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) 2370 { 2371 FER, 8, 2372 FAR, 8, 2373 PTR, 8, 2374 FCR, 8, 2375 PCR, 8, 2376 Offset (0x06), 2377 PMC, 8, 2378 TUP, 8, 2379 SID, 8, 2380 ASC, 8, 2381 S0LA, 8, 2382 S0CF, 8, 2383 S1LA, 8, 2384 S1CF, 8, 2385 Offset (0x10), 2386 S0HA, 8, 2387 S1HA, 8, 2388 SCF0, 8, 2389 Offset (0x18), 2390 SCF1, 8, 2391 Offset (0x1B), 2392 PNP0, 8, 2393 PNP1, 8, 2394 Offset (0x40), 2395 SCF2, 8, 2396 PNP2, 8, 2397 PBAL, 8, 2398 PBAH, 8, 2399 U1AL, 8, 2400 U1AH, 8, 2401 U2AL, 8, 2402 U2AH, 8, 2403 FBAL, 8, 2404 FBAH, 8, 2405 SBAL, 8, 2406 SBAH, 8, 2407 IRQ1, 8, 2408 IRQ2, 8, 2409 IRQ3, 8, 2410 PNP3, 8, 2411 SCF3, 8, 2412 CLK, 8 2413 } 2414 2415 PowerResource (PSIO, 0x00, 0x0000) 2416 { 2417 Name (PSTS, 0x01) 2418 Method (_STA, 0, NotSerialized) 2419 { 2420 Return (PSTS) 2421 } 2422 2423 Method (_ON, 0, NotSerialized) 2424 { 2425 And (PTR, 0xFE, PTR) 2426 Store (0x01, PSTS) 2427 } 2428 2429 Method (_OFF, 0, NotSerialized) 2430 { 2431 Store (0x00, PSTS) 2432 } 2433 } 2434 2435 Device (FDC) 2436 { 2437 Name (_HID, EisaId ("PNP0700")) 2438 Name (_PR0, Package (0x01) 2439 { 2440 PSIO 2441 }) 2442 Method (_STA, 0, NotSerialized) 2443 { 2444 Store (\_SB.PCI0.PM00.XFE, Local0) 2445 If (Local0) 2446 { 2447 Return (0x0F) 2448 } 2449 Else 2450 { 2451 Return (0x0D) 2452 } 2453 } 2454 2455 Method (_DIS, 0, NotSerialized) 2456 { 2457 And (PNP2, 0x80, PNP2) 2458 Store (Zero, \_SB.PCI0.PM00.XFE) 2459 } 2460 2461 Name (_CRS, ResourceTemplate () 2462 { 2463 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) 2464 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) 2465 IRQNoFlags () {6} 2466 DMA (Compatibility, NotBusMaster, Transfer8) {2} 2467 }) 2468 Name (_PRS, ResourceTemplate () 2469 { 2470 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) 2471 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) 2472 IRQNoFlags () {6} 2473 DMA (Compatibility, NotBusMaster, Transfer8) {2} 2474 }) 2475 Method (_SRS, 1, NotSerialized) 2476 { 2477 And (FBAL, 0x01, Local0) 2478 Or (Local0, 0xFC, FBAL) 2479 And (FBAH, 0x03, FBAH) 2480 And (PNP2, 0x80, Local0) 2481 Or (Local0, 0x36, PNP2) 2482 If (And (FER, 0x08, Local1)) {} 2483 Else 2484 { 2485 Or (FER, 0x08, FER) 2486 } 2487 2488 Store (Zero, \_SB.PCI0.PM00.XFA) 2489 Store (One, \_SB.PCI0.PM00.XFE) 2490 If (LEqual (\_SB.PCI0.ISA.EC.BDEV, 0x0D)) 2491 { 2492 \SFDD (0x00) 2493 } 2494 Else 2495 { 2496 \SFDD (0x01) 2497 } 2498 } 2499 } 2500 2501 Device (UART) 2502 { 2503 Name (_HID, EisaId ("PNP0501")) 2504 Name (_EJD, "_SB.PCI0.DOCK") 2505 Name (_PR0, Package (0x02) 2506 { 2507 PSIO, 2508 PSER 2509 }) 2510 Name (_PRW, Package (0x02) 2511 { 2512 0x0B, 2513 0x03 2514 }) 2515 Method (_PSW, 1, NotSerialized) 2516 { 2517 If (\H8DR) 2518 { 2519 If (Arg0) 2520 { 2521 Store (0x01, \_SB.PCI0.ISA.EC.HWRI) 2522 } 2523 Else 2524 { 2525 Store (0x00, \_SB.PCI0.ISA.EC.HWRI) 2526 } 2527 } 2528 Else 2529 { 2530 If (Arg0) 2531 { 2532 \MBEC (0x32, 0xFF, 0x40) 2533 } 2534 Else 2535 { 2536 \MBEC (0x32, 0xBF, 0x00) 2537 } 2538 } 2539 } 2540 2541 Method (_STA, 0, NotSerialized) 2542 { 2543 If (And (FER, 0x02)) 2544 { 2545 Return (0x0F) 2546 } 2547 Else 2548 { 2549 Return (0x0D) 2550 } 2551 } 2552 2553 Method (_DIS, 0, NotSerialized) 2554 { 2555 And (FER, 0xFD, FER) 2556 Store (Zero, \_SB.PCI0.PM00.XU1E) 2557 } 2558 2559 Method (_CRS, 0, NotSerialized) 2560 { 2561 Name (BUFF, ResourceTemplate () 2562 { 2563 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 2564 IRQNoFlags () {4} 2565 }) 2566 CreateWordField (BUFF, 0x02, U1MN) 2567 CreateWordField (BUFF, 0x04, U1MX) 2568 CreateWordField (BUFF, 0x09, U1IQ) 2569 ShiftLeft (And (U1AL, 0xFE), 0x02, Local0) 2570 Store (Local0, U1MN) 2571 Store (Local0, U1MX) 2572 If (And (PNP1, 0x01)) 2573 { 2574 Store (0x08, U1IQ) 2575 } 2576 2577 Return (BUFF) 2578 } 2579 2580 Name (_PRS, ResourceTemplate () 2581 { 2582 StartDependentFn (0x00, 0x00) 2583 { 2584 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 2585 IRQNoFlags () {4} 2586 } 2587 StartDependentFn (0x01, 0x00) 2588 { 2589 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) 2590 IRQNoFlags () {3} 2591 } 2592 StartDependentFn (0x02, 0x00) 2593 { 2594 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) 2595 IRQNoFlags () {4} 2596 } 2597 StartDependentFn (0x02, 0x00) 2598 { 2599 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) 2600 IRQNoFlags () {3} 2601 } 2602 EndDependentFn () 2603 }) 2604 Method (_SRS, 1, NotSerialized) 2605 { 2606 CreateWordField (Arg0, 0x02, IOAR) 2607 CreateWordField (Arg0, 0x09, IRQM) 2608 If (LEqual (IOAR, 0x03F8)) 2609 { 2610 Store (0xFE, Local0) 2611 Store (0x00, Local1) 2612 } 2613 Else 2614 { 2615 If (LEqual (IOAR, 0x02F8)) 2616 { 2617 Store (0xBE, Local0) 2618 Store (0x01, Local1) 2619 } 2620 Else 2621 { 2622 If (LEqual (IOAR, 0x03E8)) 2623 { 2624 Store (0xFA, Local0) 2625 Store (0x07, Local1) 2626 } 2627 Else 2628 { 2629 If (LEqual (IOAR, 0x02E8)) 2630 { 2631 Store (0xBA, Local0) 2632 Store (0x05, Local1) 2633 } 2634 Else 2635 { 2636 Fatal (0x02, 0x90000002, 0x00) 2637 } 2638 } 2639 } 2640 } 2641 2642 And (U1AH, 0x03, U1AH) 2643 And (U1AL, 0x01, Local2) 2644 Or (Local0, Local2, U1AL) 2645 Store (Local1, \_SB.PCI0.PM00.XU1A) 2646 And (PNP1, 0xF0, Local0) 2647 If (LEqual (IRQM, 0x10)) 2648 { 2649 Or (Local0, 0x04, Local0) 2650 } 2651 Else 2652 { 2653 If (LEqual (IRQM, 0x08)) 2654 { 2655 Or (Local0, 0x03, Local0) 2656 } 2657 Else 2658 { 2659 Fatal (0x02, 0x90000002, 0x00) 2660 } 2661 } 2662 2663 Store (Local0, PNP1) 2664 Or (FER, 0x02, FER) 2665 Store (One, \_SB.PCI0.PM00.XU1E) 2666 } 2667 } 2668 2669 Name (PPMD, 0x00) 2670 Name (PPDR, 0x00) 2671 Method (GPPM, 0, NotSerialized) 2672 { 2673 Store (\GPAR (), Local0) 2674 And (Local0, 0x03, PPMD) 2675 ShiftRight (And (Local0, 0x04), 0x02, PPDR) 2676 } 2677 2678 Device (LPT) 2679 { 2680 Name (_HID, EisaId ("PNP0400")) 2681 Name (_EJD, "_SB.PCI0.DOCK") 2682 Name (_PR0, Package (0x01) 2683 { 2684 PSIO 2685 }) 2686 Method (_STA, 0, NotSerialized) 2687 { 2688 If (LEqual (PPMD, 0x03)) 2689 { 2690 Return (Zero) 2691 } 2692 Else 2693 { 2694 If (And (FER, 0x01)) 2695 { 2696 Return (0x0F) 2697 } 2698 Else 2699 { 2700 Return (0x0D) 2701 } 2702 } 2703 } 2704 2705 Method (_DIS, 0, NotSerialized) 2706 { 2707 And (FER, 0xFE, FER) 2708 Store (Zero, \_SB.PCI0.PM00.XPE) 2709 } 2710 2711 Method (_CRS, 0, NotSerialized) 2712 { 2713 Name (BUFF, ResourceTemplate () 2714 { 2715 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) 2716 IRQNoFlags () {7} 2717 }) 2718 CreateWordField (BUFF, 0x02, L1MN) 2719 CreateWordField (BUFF, 0x04, L1MX) 2720 CreateByteField (BUFF, 0x06, L1AL) 2721 CreateByteField (BUFF, 0x07, L1LN) 2722 CreateWordField (BUFF, 0x09, L1IQ) 2723 If (LEqual (PPMD, 0x03)) 2724 { 2725 Store (0x00, L1MN) 2726 Store (0x00, L1MX) 2727 Store (0x00, L1AL) 2728 Store (0x00, L1LN) 2729 Store (0x00, L1IQ) 2730 Return (BUFF) 2731 } 2732 2733 And (PBAL, 0xFF, Local0) 2734 If (LEqual (Local0, 0xEF)) {} 2735 Else 2736 { 2737 If (LEqual (Local0, 0xDE)) 2738 { 2739 Store (0x0378, L1MN) 2740 Store (0x0378, L1MX) 2741 Store (0x08, L1LN) 2742 } 2743 Else 2744 { 2745 If (LEqual (Local0, 0x9E)) 2746 { 2747 Store (0x0278, L1MN) 2748 Store (0x0278, L1MX) 2749 Store (0x08, L1LN) 2750 } 2751 } 2752 } 2753 2754 And (PNP0, 0xF0, Local1) 2755 If (LEqual (Local1, 0x00)) 2756 { 2757 Store (0x00, L1IQ) 2758 } 2759 Else 2760 { 2761 If (LEqual (Local1, 0x50)) 2762 { 2763 Store (0x20, L1IQ) 2764 } 2765 } 2766 2767 Return (BUFF) 2768 } 2769 2770 Method (_PRS, 0, NotSerialized) 2771 { 2772 If (PPMD) 2773 { 2774 Return (PEPP) 2775 } 2776 Else 2777 { 2778 Return (PLPT) 2779 } 2780 } 2781 2782 Name (PLPT, ResourceTemplate () 2783 { 2784 StartDependentFnNoPri () 2785 { 2786 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) 2787 IRQNoFlags () {7} 2788 } 2789 StartDependentFnNoPri () 2790 { 2791 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) 2792 IRQNoFlags () {7} 2793 } 2794 StartDependentFnNoPri () 2795 { 2796 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) 2797 IRQNoFlags () {5} 2798 } 2799 StartDependentFnNoPri () 2800 { 2801 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) 2802 IRQNoFlags () {} 2803 } 2804 StartDependentFnNoPri () 2805 { 2806 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) 2807 IRQNoFlags () {} 2808 } 2809 StartDependentFnNoPri () 2810 { 2811 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) 2812 IRQNoFlags () {} 2813 } 2814 EndDependentFn () 2815 }) 2816 Name (PEPP, ResourceTemplate () 2817 { 2818 StartDependentFnNoPri () 2819 { 2820 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) 2821 IRQNoFlags () {5,7} 2822 } 2823 StartDependentFnNoPri () 2824 { 2825 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) 2826 IRQNoFlags () {5,7} 2827 } 2828 EndDependentFn () 2829 }) 2830 Method (_SRS, 1, NotSerialized) 2831 { 2832 CreateWordField (Arg0, 0x02, IOAR) 2833 CreateWordField (Arg0, 0x09, IRQM) 2834 If (LEqual (IOAR, 0x03BC)) 2835 { 2836 Store (0xEF, Local0) 2837 Store (0x00, Local1) 2838 } 2839 Else 2840 { 2841 If (LEqual (IOAR, 0x0378)) 2842 { 2843 Store (0xDE, Local0) 2844 Store (0x01, Local1) 2845 } 2846 Else 2847 { 2848 If (LEqual (IOAR, 0x0278)) 2849 { 2850 Store (0x9E, Local0) 2851 Store (0x02, Local1) 2852 } 2853 Else 2854 { 2855 Fatal (0x02, 0x90000002, 0x00) 2856 } 2857 } 2858 } 2859 2860 And (PBAH, 0x03, Local2) 2861 Store (Local2, PBAH) 2862 Store (Local0, PBAL) 2863 Store (Local1, \_SB.PCI0.PM00.XPA) 2864 And (PNP0, 0x0F, Local0) 2865 If (LEqual (IRQM, 0x20)) 2866 { 2867 Or (Local0, 0x50, Local0) 2868 } 2869 Else 2870 { 2871 If (LEqual (IRQM, 0x80)) 2872 { 2873 Or (Local0, 0x70, Local0) 2874 } 2875 Else 2876 { 2877 If (LEqual (IRQM, Zero)) {} 2878 } 2879 } 2880 2881 Store (Local0, PNP0) 2882 If (LEqual (PPMD, 0x00)) 2883 { 2884 And (PCR, 0xFA, Local0) 2885 If (PPDR) 2886 { 2887 Or (PTR, 0x80, Local1) 2888 } 2889 Else 2890 { 2891 And (PTR, 0x7F, Local1) 2892 } 2893 } 2894 Else 2895 { 2896 If (LEqual (PPMD, 0x01)) 2897 { 2898 And (PCR, 0xF9, Local0) 2899 Or (Local0, 0x01, Local0) 2900 } 2901 Else 2902 { 2903 And (PCR, 0xFB, Local0) 2904 Or (Local0, 0x03, Local0) 2905 } 2906 2907 And (PTR, 0x7F, Local1) 2908 } 2909 2910 Store (Local0, PCR) 2911 Store (Local1, PTR) 2912 Or (FER, 0x01, FER) 2913 Store (One, \_SB.PCI0.PM00.XPE) 2914 } 2915 } 2916 2917 Device (ECP) 2918 { 2919 Name (_HID, EisaId ("PNP0401")) 2920 Name (_EJD, "_SB.PCI0.DOCK") 2921 Name (_PR0, Package (0x01) 2922 { 2923 PSIO 2924 }) 2925 Method (_STA, 0, NotSerialized) 2926 { 2927 If (LEqual (PPMD, 0x03)) 2928 { 2929 If (And (FER, 0x01)) 2930 { 2931 Return (0x0F) 2932 } 2933 Else 2934 { 2935 Return (0x0D) 2936 } 2937 } 2938 Else 2939 { 2940 Return (Zero) 2941 } 2942 } 2943 2944 Method (_DIS, 0, NotSerialized) 2945 { 2946 And (FER, 0xFE, FER) 2947 Store (Zero, \_SB.PCI0.PM00.XPE) 2948 } 2949 2950 Method (_CRS, 0, NotSerialized) 2951 { 2952 Name (BUFF, ResourceTemplate () 2953 { 2954 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) 2955 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03) 2956 IRQNoFlags () {7} 2957 DMA (Compatibility, NotBusMaster, Transfer8) {3} 2958 }) 2959 CreateWordField (BUFF, 0x02, ECN0) 2960 CreateWordField (BUFF, 0x04, ECX0) 2961 CreateByteField (BUFF, 0x06, ECA0) 2962 CreateByteField (BUFF, 0x07, ECL0) 2963 CreateWordField (BUFF, 0x0A, ECN1) 2964 CreateWordField (BUFF, 0x0C, ECX1) 2965 CreateByteField (BUFF, 0x0E, ECA1) 2966 CreateByteField (BUFF, 0x0F, ECL1) 2967 CreateWordField (BUFF, 0x11, ECIQ) 2968 CreateWordField (BUFF, 0x14, ECDQ) 2969 If (LNot (LEqual (PPMD, 0x03))) 2970 { 2971 Store (0x00, ECN0) 2972 Store (0x00, ECX0) 2973 Store (0x00, ECA0) 2974 Store (0x00, ECL0) 2975 Store (0x00, ECN1) 2976 Store (0x00, ECX1) 2977 Store (0x00, ECA1) 2978 Store (0x00, ECL1) 2979 Store (0x00, ECIQ) 2980 Store (0x00, ECDQ) 2981 Return (BUFF) 2982 } 2983 2984 And (PBAL, 0xFF, Local0) 2985 If (LEqual (Local0, 0xEF)) 2986 { 2987 Store (0x03BC, Local1) 2988 } 2989 Else 2990 { 2991 If (LEqual (Local0, 0xDE)) 2992 { 2993 Store (0x0378, Local1) 2994 Store (0x08, ECL0) 2995 } 2996 Else 2997 { 2998 If (LEqual (Local0, 0x9E)) 2999 { 3000 Store (0x0278, Local1) 3001 Store (0x08, ECL0) 3002 } 3003 } 3004 } 3005 3006 Store (Local1, ECN0) 3007 Store (Local1, ECX0) 3008 Add (Local1, 0x0400, ECN1) 3009 Add (Local1, 0x0400, ECX1) 3010 And (PNP0, 0xF0, Local1) 3011 If (LEqual (Local1, 0x50)) 3012 { 3013 Store (0x20, ECIQ) 3014 } 3015 Else 3016 { 3017 If (LEqual (Local1, 0x70)) {} 3018 Else 3019 { 3020 Store (0x00, ECIQ) 3021 } 3022 } 3023 3024 And (SCF1, 0x38, Local2) 3025 If (LEqual (Local2, 0x00)) 3026 { 3027 Store (0x00, ECDQ) 3028 } 3029 Else 3030 { 3031 If (LEqual (Local2, 0x08)) 3032 { 3033 Store (0x01, ECDQ) 3034 } 3035 Else 3036 { 3037 If (LEqual (Local2, 0x10)) 3038 { 3039 Store (0x02, ECDQ) 3040 } 3041 Else 3042 { 3043 If (LEqual (Local2, 0x20)) {} 3044 Else 3045 { 3046 Store (0x00, ECDQ) 3047 } 3048 } 3049 } 3050 } 3051 3052 Return (BUFF) 3053 } 3054 3055 Name (_PRS, ResourceTemplate () 3056 { 3057 StartDependentFnNoPri () 3058 { 3059 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) 3060 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x03) 3061 IRQNoFlags () {7} 3062 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3063 } 3064 StartDependentFnNoPri () 3065 { 3066 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) 3067 IO (Decode16, 0x0778, 0x0778, 0x01, 0x03) 3068 IRQNoFlags () {7} 3069 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3070 } 3071 StartDependentFnNoPri () 3072 { 3073 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) 3074 IO (Decode16, 0x0678, 0x0678, 0x01, 0x03) 3075 IRQNoFlags () {5} 3076 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3077 } 3078 EndDependentFn () 3079 }) 3080 Method (_SRS, 1, NotSerialized) 3081 { 3082 CreateWordField (Arg0, 0x02, IOAR) 3083 CreateWordField (Arg0, 0x11, IRQM) 3084 CreateByteField (Arg0, 0x14, DMAM) 3085 If (LEqual (IOAR, 0x03BC)) 3086 { 3087 Store (0xEF, Local0) 3088 Store (0x00, Local1) 3089 } 3090 Else 3091 { 3092 If (LEqual (IOAR, 0x0378)) 3093 { 3094 Store (0xDE, Local0) 3095 Store (0x01, Local1) 3096 } 3097 Else 3098 { 3099 If (LEqual (IOAR, 0x0278)) 3100 { 3101 Store (0x9E, Local0) 3102 Store (0x02, Local1) 3103 } 3104 Else 3105 { 3106 Fatal (0x02, 0x90000002, 0x00) 3107 } 3108 } 3109 } 3110 3111 And (PBAH, 0x03, Local2) 3112 Store (Local2, PBAH) 3113 Store (Local0, PBAL) 3114 Store (Local1, \_SB.PCI0.PM00.XPA) 3115 And (PNP0, 0x0F, Local0) 3116 If (LEqual (IRQM, 0x20)) 3117 { 3118 Or (Local0, 0x50, Local0) 3119 } 3120 Else 3121 { 3122 If (LEqual (IRQM, 0x80)) 3123 { 3124 Or (Local0, 0x70, Local0) 3125 } 3126 } 3127 3128 Store (Local0, PNP0) 3129 And (SCF1, 0xC7, Local1) 3130 If (LEqual (DMAM, 0x01)) 3131 { 3132 Or (Local1, 0x08, Local1) 3133 } 3134 Else 3135 { 3136 If (LEqual (DMAM, 0x02)) 3137 { 3138 Or (Local1, 0x10, Local1) 3139 } 3140 Else 3141 { 3142 If (LEqual (DMAM, 0x08)) 3143 { 3144 Or (Local1, 0x20, Local1) 3145 } 3146 } 3147 } 3148 3149 Store (Local1, SCF1) 3150 And (PCR, 0xFE, Local0) 3151 Or (Local0, 0x04, PCR) 3152 Or (FER, 0x01, FER) 3153 Store (One, \_SB.PCI0.PM00.XPE) 3154 And (PCR, 0xFB, PCR) 3155 \ECPP () 3156 } 3157 } 3158 3159 Device (FIR) 3160 { 3161 Name (_HID, EisaId ("IBM0071")) 3162 Name (_CID, 0x1105D041) 3163 Name (_PR0, Package (0x01) 3164 { 3165 PSIO 3166 }) 3167 Method (_STA, 0, NotSerialized) 3168 { 3169 If (And (FER, 0x04)) 3170 { 3171 Return (0x0F) 3172 } 3173 Else 3174 { 3175 Return (0x0D) 3176 } 3177 } 3178 3179 Method (_DIS, 0, NotSerialized) 3180 { 3181 And (SCF2, 0x5F, SCF2) 3182 And (FER, 0xFB, FER) 3183 Store (Zero, \_SB.PCI0.PM00.XU2E) 3184 } 3185 3186 Method (_CRS, 0, NotSerialized) 3187 { 3188 Name (BUFF, ResourceTemplate () 3189 { 3190 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 3191 IRQNoFlags () {4} 3192 DMA (Compatibility, NotBusMaster, Transfer8) {3} 3193 }) 3194 CreateWordField (BUFF, 0x02, IRMN) 3195 CreateWordField (BUFF, 0x04, IRMX) 3196 CreateWordField (BUFF, 0x09, IRIQ) 3197 CreateByteField (BUFF, 0x0C, IRDR) 3198 ShiftLeft (And (U2AL, 0xFE), 0x02, Local0) 3199 Store (Local0, IRMN) 3200 Store (Local0, IRMX) 3201 If (LEqual (And (PNP1, 0xF0), 0x70)) 3202 { 3203 Store (0x80, IRIQ) 3204 } 3205 Else 3206 { 3207 If (LEqual (And (PNP1, 0xF0), 0x50)) 3208 { 3209 Store (0x20, IRIQ) 3210 } 3211 Else 3212 { 3213 If (LEqual (And (PNP1, 0xF0), 0x40)) 3214 { 3215 Store (0x10, IRIQ) 3216 } 3217 Else 3218 { 3219 If (LEqual (And (PNP1, 0xF0), 0x30)) 3220 { 3221 Store (0x08, IRIQ) 3222 } 3223 Else 3224 { 3225 Store (0x00, IRIQ) 3226 } 3227 } 3228 } 3229 } 3230 3231 And (PNP3, 0x07, Local1) 3232 If (LEqual (Local1, 0x00)) 3233 { 3234 Store (0x00, IRDR) 3235 } 3236 Else 3237 { 3238 If (LEqual (Local1, 0x01)) 3239 { 3240 Store (0x01, IRDR) 3241 } 3242 Else 3243 { 3244 If (LEqual (Local1, 0x02)) 3245 { 3246 Store (0x02, IRDR) 3247 } 3248 Else 3249 { 3250 If (LEqual (Local1, 0x04)) 3251 { 3252 Store (0x08, IRDR) 3253 } 3254 Else 3255 { 3256 Store (Zero, IRDR) 3257 } 3258 } 3259 } 3260 } 3261 3262 Return (BUFF) 3263 } 3264 3265 Name (_PRS, ResourceTemplate () 3266 { 3267 StartDependentFn (0x00, 0x00) 3268 { 3269 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 3270 IRQNoFlags () {4} 3271 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3272 } 3273 StartDependentFn (0x01, 0x00) 3274 { 3275 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) 3276 IRQNoFlags () {3} 3277 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3278 } 3279 StartDependentFn (0x02, 0x00) 3280 { 3281 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) 3282 IRQNoFlags () {4} 3283 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3284 } 3285 StartDependentFn (0x02, 0x00) 3286 { 3287 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) 3288 IRQNoFlags () {3} 3289 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3290 } 3291 StartDependentFn (0x02, 0x00) 3292 { 3293 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 3294 IRQNoFlags () {3,5,7} 3295 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3296 } 3297 StartDependentFn (0x02, 0x00) 3298 { 3299 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) 3300 IRQNoFlags () {4,5,7} 3301 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3302 } 3303 StartDependentFn (0x02, 0x00) 3304 { 3305 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) 3306 IRQNoFlags () {3,5,7} 3307 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3308 } 3309 StartDependentFn (0x02, 0x00) 3310 { 3311 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) 3312 IRQNoFlags () {4,5,7} 3313 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} 3314 } 3315 StartDependentFn (0x02, 0x00) 3316 { 3317 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 3318 IRQNoFlags () {4} 3319 DMA (Compatibility, NotBusMaster, Transfer8) {} 3320 } 3321 StartDependentFn (0x02, 0x00) 3322 { 3323 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) 3324 IRQNoFlags () {3} 3325 DMA (Compatibility, NotBusMaster, Transfer8) {} 3326 } 3327 StartDependentFn (0x02, 0x00) 3328 { 3329 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) 3330 IRQNoFlags () {4} 3331 DMA (Compatibility, NotBusMaster, Transfer8) {} 3332 } 3333 StartDependentFn (0x02, 0x00) 3334 { 3335 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) 3336 IRQNoFlags () {3} 3337 DMA (Compatibility, NotBusMaster, Transfer8) {} 3338 } 3339 StartDependentFn (0x02, 0x00) 3340 { 3341 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) 3342 IRQNoFlags () {3,5,7} 3343 DMA (Compatibility, NotBusMaster, Transfer8) {} 3344 } 3345 StartDependentFn (0x02, 0x00) 3346 { 3347 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) 3348 IRQNoFlags () {4,5,7} 3349 DMA (Compatibility, NotBusMaster, Transfer8) {} 3350 } 3351 StartDependentFn (0x02, 0x00) 3352 { 3353 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) 3354 IRQNoFlags () {3,5,7} 3355 DMA (Compatibility, NotBusMaster, Transfer8) {} 3356 } 3357 StartDependentFn (0x02, 0x00) 3358 { 3359 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) 3360 IRQNoFlags () {4,5,7} 3361 DMA (Compatibility, NotBusMaster, Transfer8) {} 3362 } 3363 EndDependentFn () 3364 }) 3365 Method (_SRS, 1, NotSerialized) 3366 { 3367 CreateWordField (Arg0, 0x02, IRIO) 3368 CreateWordField (Arg0, 0x09, IRIQ) 3369 CreateByteField (Arg0, 0x0C, IRDR) 3370 If (LEqual (IRIO, 0x03F8)) 3371 { 3372 Store (0xFE, Local0) 3373 Store (0x00, Local1) 3374 } 3375 Else 3376 { 3377 If (LEqual (IRIO, 0x02F8)) 3378 { 3379 Store (0xBE, Local0) 3380 Store (0x01, Local1) 3381 } 3382 Else 3383 { 3384 If (LEqual (IRIO, 0x03E8)) 3385 { 3386 Store (0xFA, Local0) 3387 Store (0x07, Local1) 3388 } 3389 Else 3390 { 3391 If (LEqual (IRIO, 0x02E8)) 3392 { 3393 Store (0xBA, Local0) 3394 Store (0x05, Local1) 3395 } 3396 Else 3397 { 3398 Fatal (0x02, 0x90000002, 0x00) 3399 } 3400 } 3401 } 3402 } 3403 3404 And (U2AH, 0x03, U2AH) 3405 And (U2AL, 0x01, Local2) 3406 Or (Local0, Local2, U2AL) 3407 Store (Local1, \_SB.PCI0.PM00.XU2A) 3408 And (PNP1, 0x0F, Local0) 3409 If (LEqual (IRIQ, 0x80)) 3410 { 3411 Or (Local0, 0x70, Local0) 3412 } 3413 Else 3414 { 3415 If (LEqual (IRIQ, 0x20)) 3416 { 3417 Or (Local0, 0x50, Local0) 3418 } 3419 Else 3420 { 3421 If (LEqual (IRIQ, 0x10)) 3422 { 3423 Or (Local0, 0x40, Local0) 3424 } 3425 Else 3426 { 3427 If (LEqual (IRIQ, 0x08)) 3428 { 3429 Or (Local0, 0x30, Local0) 3430 } 3431 Else 3432 { 3433 Fatal (0x02, 0x90000002, 0x00) 3434 } 3435 } 3436 } 3437 } 3438 3439 Store (Local0, PNP1) 3440 If (LEqual (IRDR, 0x00)) 3441 { 3442 Store (0x00, Local0) 3443 } 3444 Else 3445 { 3446 If (LEqual (IRDR, 0x01)) 3447 { 3448 Store (0x01, Local0) 3449 } 3450 Else 3451 { 3452 If (LEqual (IRDR, 0x02)) 3453 { 3454 Store (0x02, Local0) 3455 } 3456 Else 3457 { 3458 If (LEqual (IRDR, 0x08)) 3459 { 3460 Store (0x04, Local0) 3461 } 3462 Else 3463 { 3464 Fatal (0x02, 0x90000002, 0x00) 3465 } 3466 } 3467 } 3468 } 3469 3470 And (PNP3, 0xC0, Local1) 3471 Or (Local1, Local0, PNP3) 3472 Or (FER, 0x04, FER) 3473 Store (One, \_SB.PCI0.PM00.XU2E) 3474 Or (SCF2, 0xA0, SCF2) 3475 } 3476 } 3477 3478 Device (EC) 3479 { 3480 Name (_HID, EisaId ("PNP0C09")) 3481 Name (_GPE, 0x09) 3482 Name (_GLK, 0x01) 3483 Method (_REG, 2, NotSerialized) 3484 { 3485 If (LEqual (Arg0, 0x03)) 3486 { 3487 Store (Arg1, \H8DR) 3488 } 3489 } 3490 3491 OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100) 3492 Field (ECOR, ByteAcc, Lock, Preserve) 3493 { 3494 , 1, 3495 HCGA, 1, 3496 , 1, 3497 , 1, 3498 , 1, 3499 , 1, 3500 HCAC, 1, 3501 Offset (0x01), 3502 , 1, 3503 BTCM, 1, 3504 , 1, 3505 , 1, 3506 , 1, 3507 HCAD, 1, 3508 BTPC, 1, 3509 Offset (0x02), 3510 Offset (0x03), 3511 Offset (0x04), 3512 , 1, 3513 , 1, 3514 , 1, 3515 , 1, 3516 , 1, 3517 , 1, 3518 , 1, 3519 Offset (0x05), 3520 HSPA, 1, 3521 , 1, 3522 , 1, 3523 , 1, 3524 , 1, 3525 , 1, 3526 , 1, 3527 Offset (0x06), 3528 HSUN, 8, 3529 HSRP, 8, 3530 HACC, 8, 3531 Offset (0x0A), 3532 Offset (0x0B), 3533 Offset (0x0C), 3534 HLCL, 8, 3535 HLBL, 8, 3536 HLMS, 8, 3537 HICA, 8, 3538 HAM0, 8, 3539 HAM1, 8, 3540 HAM2, 8, 3541 HAM3, 8, 3542 HAM4, 8, 3543 HAM5, 8, 3544 HAM6, 8, 3545 HAM7, 8, 3546 HAM8, 8, 3547 HAM9, 8, 3548 HAMA, 8, 3549 HAMB, 8, 3550 HAMC, 8, 3551 HAMD, 8, 3552 HAME, 8, 3553 HAMF, 8, 3554 HT00, 1, 3555 HT01, 1, 3556 HT02, 1, 3557 , 4, 3558 HT0E, 1, 3559 HT10, 1, 3560 HT11, 1, 3561 HT12, 1, 3562 , 4, 3563 HT1E, 1, 3564 HT20, 1, 3565 HT21, 1, 3566 HT22, 1, 3567 , 4, 3568 HT2E, 1, 3569 HT30, 1, 3570 HT31, 1, 3571 HT32, 1, 3572 , 4, 3573 HT3E, 1, 3574 HT40, 1, 3575 HT41, 1, 3576 HT42, 1, 3577 , 4, 3578 HT4E, 1, 3579 HT50, 1, 3580 HT51, 1, 3581 HT52, 1, 3582 , 4, 3583 HT5E, 1, 3584 HT60, 1, 3585 HT61, 1, 3586 HT62, 1, 3587 , 4, 3588 HT6E, 1, 3589 HT70, 1, 3590 HT71, 1, 3591 HT72, 1, 3592 , 4, 3593 HT7E, 1, 3594 HDID, 8, 3595 Offset (0x2A), 3596 Offset (0x2B), 3597 HT0H, 8, 3598 HT0L, 8, 3599 HT1H, 8, 3600 HT1L, 8, 3601 HFSP, 8, 3602 , 5, 3603 , 1, 3604 HMUT, 1, 3605 Offset (0x31), 3606 Offset (0x32), 3607 HWPM, 1, 3608 HWLB, 1, 3609 HWLO, 1, 3610 HWDK, 1, 3611 HWFN, 1, 3612 HWBT, 1, 3613 HWRI, 1, 3614 HWBU, 1, 3615 Offset (0x34), 3616 , 1, 3617 , 1, 3618 , 1, 3619 , 1, 3620 , 1, 3621 , 1, 3622 , 1, 3623 Offset (0x35), 3624 Offset (0x36), 3625 , 1, 3626 BTWK, 1, 3627 HPLD, 1, 3628 , 1, 3629 HPAC, 1, 3630 BTST, 1, 3631 Offset (0x37), 3632 HPBU, 1, 3633 , 1, 3634 , 1, 3635 , 1, 3636 , 1, 3637 , 1, 3638 , 1, 3639 HPNF, 1, 3640 HB0L, 4, 3641 , 1, 3642 HB0C, 1, 3643 HB0D, 1, 3644 HB0A, 1, 3645 HB1L, 4, 3646 , 1, 3647 HB1C, 1, 3648 HB1D, 1, 3649 HB1A, 1, 3650 HCMU, 1, 3651 , 1, 3652 , 1, 3653 , 1, 3654 HCSL, 2, 3655 , 1, 3656 Offset (0x3B), 3657 , 1, 3658 KBLT, 1, 3659 BTPW, 1, 3660 BTDT, 1, 3661 Offset (0x3C), 3662 Offset (0x3D), 3663 Offset (0x3E), 3664 Offset (0x46), 3665 Offset (0x47), 3666 , 4, 3667 , 1, 3668 , 1, 3669 , 1, 3670 Offset (0x48), 3671 , 4, 3672 Offset (0x49), 3673 Offset (0x4A), 3674 Offset (0x4C), 3675 Offset (0x4E), 3676 HWAK, 8, 3677 Offset (0x50), 3678 Offset (0x75), 3679 Offset (0x78), 3680 TMP0, 8, 3681 TMP1, 8, 3682 TMP2, 8, 3683 TMP3, 8, 3684 TMP4, 8, 3685 TMP5, 8, 3686 TMP6, 8, 3687 TMP7, 8, 3688 Offset (0x82), 3689 CP4E, 8, 3690 HFNI, 8, 3691 HKBD, 1, 3692 HPHT, 1, 3693 Offset (0x85), 3694 Offset (0xC0), 3695 Offset (0xC2), 3696 Offset (0xC4), 3697 Offset (0xD0), 3698 Offset (0xE0), 3699 Offset (0xE8), 3700 Offset (0xEA), 3701 Offset (0xEB), 3702 Offset (0xEC), 3703 , 1, 3704 , 1, 3705 , 2, 3706 , 1, 3707 , 1, 3708 , 1, 3709 Offset (0xED), 3710 , 1, 3711 Offset (0xEE), 3712 , 4, 3713 Offset (0xEF), 3714 Offset (0xF0), 3715 Offset (0xF8), 3716 Offset (0x100) 3717 } 3718 3719 Method (_INI, 0, NotSerialized) 3720 { 3721 If (\H8DR) 3722 { 3723 Store (One, HCAC) 3724 Store (Zero, HWFN) 3725 Store (One, HWLB) 3726 Store (Zero, HWLO) 3727 And (HAM5, 0x3F, HAM5) 3728 } 3729 Else 3730 { 3731 \MBEC (0x00, 0xFF, 0x40) 3732 \MBEC (0x32, 0xEB, 0x02) 3733 \MBEC (0x15, 0x3F, 0x00) 3734 } 3735 3736 If (\H8DR) 3737 { 3738 Store (0x00, HSPA) 3739 } 3740 Else 3741 { 3742 \MBEC (0x05, 0xFE, 0x00) 3743 } 3744 3745 Store (GUID (), BDEV) 3746 GHKS () 3747 \_SB.PCI0.ISA.EC.HKEY.BTIN () 3748 } 3749 3750 Name (_CRS, ResourceTemplate () 3751 { 3752 IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) 3753 IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) 3754 }) 3755 Method (GUID, 0, NotSerialized) 3756 { 3757 Store (GDEV (0x00), Local0) 3758 If (LEqual (Local0, 0x0F)) 3759 { 3760 If (\H8DR) 3761 { 3762 If (HB1A) 3763 { 3764 Store (0x10, Local0) 3765 } 3766 } 3767 Else 3768 { 3769 If (And (\RBEC (0x39), 0x80)) 3770 { 3771 Store (0x10, Local0) 3772 } 3773 } 3774 } 3775 3776 Return (Local0) 3777 } 3778 3779 Mutex (MDEV, 0x07) 3780 Method (GDEV, 1, NotSerialized) 3781 { 3782 Acquire (MDEV, 0xFFFF) 3783 If (\H8DR) 3784 { 3785 And (HAM7, 0xFE, HAM7) 3786 } 3787 Else 3788 { 3789 \MBEC (0x17, 0xFE, 0x00) 3790 } 3791 3792 And (Arg0, 0x03, \_SB.PCI0.PM00.EID) 3793 And (ShiftRight (Arg0, 0x02), 0x01, \_SB.PCI0.PM00.EID2) 3794 If (\H8DR) 3795 { 3796 Or (HDID, 0x80, HDID) 3797 Store (0x20, Local1) 3798 While (LAnd (Local1, And (HDID, 0x80))) 3799 { 3800 Sleep (0x01) 3801 Decrement (Local1) 3802 } 3803 3804 Store (HDID, Local2) 3805 } 3806 Else 3807 { 3808 \MBEC (0x28, 0xFF, 0x80) 3809 Store (0x20, Local1) 3810 While (LAnd (Local1, And (\RBEC (0x28), 0x80))) 3811 { 3812 Sleep (0x01) 3813 Decrement (Local1) 3814 } 3815 3816 Store (\RBEC (0x28), Local2) 3817 } 3818 3819 If (And (Local2, 0x80)) 3820 { 3821 Store (0xFF, Local2) 3822 } 3823 3824 Store (0x00, \_SB.PCI0.PM00.EID) 3825 Store (0x00, \_SB.PCI0.PM00.EID2) 3826 Sleep (0x64) 3827 If (\H8DR) 3828 { 3829 Or (HAM7, 0x01, HAM7) 3830 } 3831 Else 3832 { 3833 \MBEC (0x17, 0xFF, 0x01) 3834 } 3835 3836 Release (MDEV) 3837 Return (Local2) 3838 } 3839 3840 Mutex (LEDM, 0x07) 3841 Method (SYSL, 2, NotSerialized) 3842 { 3843 If (LEqual (Arg0, 0x00)) 3844 { 3845 Store (0x01, Local0) 3846 } 3847 Else 3848 { 3849 If (LEqual (Arg0, 0x01)) 3850 { 3851 Store (0x80, Local0) 3852 } 3853 Else 3854 { 3855 Return (0x00) 3856 } 3857 } 3858 3859 Acquire (LEDM, 0xFFFF) 3860 If (LAnd (\H8DR, LNot (\W98F))) 3861 { 3862 Store (Local0, HLMS) 3863 If (LEqual (Arg1, 0x00)) 3864 { 3865 Store (0x00, HLBL) 3866 Store (0x00, HLCL) 3867 } 3868 Else 3869 { 3870 If (LEqual (Arg1, 0x01)) 3871 { 3872 Store (0x00, HLBL) 3873 Store (Local0, HLCL) 3874 } 3875 Else 3876 { 3877 If (LEqual (Arg1, 0x02)) 3878 { 3879 Store (Local0, HLBL) 3880 Store (Local0, HLCL) 3881 } 3882 Else 3883 { 3884 } 3885 } 3886 } 3887 } 3888 Else 3889 { 3890 \WBEC (0x0E, Local0) 3891 If (LEqual (Arg1, 0x00)) 3892 { 3893 \WBEC (0x0D, 0x00) 3894 \WBEC (0x0C, 0x00) 3895 } 3896 Else 3897 { 3898 If (LEqual (Arg1, 0x01)) 3899 { 3900 \WBEC (0x0D, 0x00) 3901 \WBEC (0x0C, Local0) 3902 } 3903 Else 3904 { 3905 If (LEqual (Arg1, 0x02)) 3906 { 3907 \WBEC (0x0D, Local0) 3908 \WBEC (0x0C, Local0) 3909 } 3910 } 3911 } 3912 } 3913 3914 Sleep (0x0A) 3915 Release (LEDM) 3916 } 3917 3918 Name (BAON, 0x00) 3919 Name (WBON, 0x00) 3920 Method (BEEP, 1, NotSerialized) 3921 { 3922 If (LGreater (Arg0, 0x11)) 3923 { 3924 Return (0x01) 3925 } 3926 Else 3927 { 3928 If (LAnd (\H8DR, LNot (\W98F))) 3929 { 3930 If (LEqual (Arg0, 0x00)) 3931 { 3932 If (BAON) 3933 { 3934 If (WBON) 3935 { 3936 Store (0x08, HSRP) 3937 Store (0x03, HSUN) 3938 } 3939 Else 3940 { 3941 Store (0x00, HSRP) 3942 Store (Arg0, HSUN) 3943 } 3944 3945 Store (0x00, BAON) 3946 } 3947 } 3948 Else 3949 { 3950 If (LEqual (Arg0, 0x0F)) 3951 { 3952 Store (0x08, HSRP) 3953 Store (0x01, BAON) 3954 Store (Arg0, HSUN) 3955 } 3956 Else 3957 { 3958 If (BAON) 3959 { 3960 If (LEqual (Arg0, 0x11)) 3961 { 3962 Store (0x00, WBON) 3963 } 3964 Else 3965 { 3966 If (LEqual (Arg0, 0x10)) 3967 { 3968 If (HMUT) {} 3969 Else 3970 { 3971 Store (0x01, WBON) 3972 } 3973 } 3974 } 3975 } 3976 Else 3977 { 3978 If (LEqual (Arg0, 0x11)) 3979 { 3980 If (WBON) 3981 { 3982 Store (0x00, HSRP) 3983 Store (0x00, HSUN) 3984 Store (0x00, WBON) 3985 } 3986 } 3987 Else 3988 { 3989 If (LEqual (Arg0, 0x10)) 3990 { 3991 If (HMUT) {} 3992 Else 3993 { 3994 Store (0x01, WBON) 3995 Store (0x08, HSRP) 3996 Store (0x03, HSUN) 3997 } 3998 } 3999 Else 4000 { 4001 If (WBON) 4002 { 4003 If (LEqual (Arg0, 0x07)) 4004 { 4005 Store (0x00, WBON) 4006 } 4007 Else 4008 { 4009 If (LEqual (Arg0, 0x03)) 4010 { 4011 Store (0x00, WBON) 4012 If (LEqual (\SPS, 0x04)) {} 4013 Else 4014 { 4015 Store (0x00, HSRP) 4016 Store (0x00, HSUN) 4017 Sleep (0x64) 4018 Store (0x07, HSUN) 4019 Sleep (0x012C) 4020 } 4021 } 4022 Else 4023 { 4024 Store (0x00, HSRP) 4025 Store (0x00, HSUN) 4026 Sleep (0xC8) 4027 Store (Arg0, HSUN) 4028 Sleep (0xC8) 4029 If (LEqual (Arg0, 0x04)) 4030 { 4031 Store (0x00, WBON) 4032 } 4033 4034 If (LEqual (Arg0, 0x05)) 4035 { 4036 Store (0x00, WBON) 4037 } 4038 4039 If (WBON) 4040 { 4041 Store (0x08, HSRP) 4042 Store (0x03, HSUN) 4043 } 4044 } 4045 } 4046 } 4047 Else 4048 { 4049 Store (Arg0, HSUN) 4050 If (LEqual (Arg0, 0x03)) 4051 { 4052 Sleep (0x012C) 4053 } 4054 4055 If (LEqual (Arg0, 0x07)) 4056 { 4057 Sleep (0x01F4) 4058 } 4059 } 4060 } 4061 } 4062 } 4063 } 4064 } 4065 } 4066 Else 4067 { 4068 If (LEqual (Arg0, 0x00)) 4069 { 4070 If (BAON) 4071 { 4072 If (WBON) 4073 { 4074 \WBEC (0x07, 0x08) 4075 \WBEC (0x06, 0x03) 4076 } 4077 Else 4078 { 4079 \WBEC (0x07, 0x00) 4080 \WBEC (0x06, Arg0) 4081 } 4082 4083 Store (0x00, BAON) 4084 } 4085 } 4086 Else 4087 { 4088 If (LEqual (Arg0, 0x0F)) 4089 { 4090 \WBEC (0x07, 0x08) 4091 Store (0x01, BAON) 4092 \WBEC (0x06, Arg0) 4093 } 4094 Else 4095 { 4096 If (BAON) 4097 { 4098 If (LEqual (Arg0, 0x11)) 4099 { 4100 Store (0x00, WBON) 4101 } 4102 Else 4103 { 4104 If (LEqual (Arg0, 0x10)) 4105 { 4106 If (HMUT) {} 4107 Else 4108 { 4109 Store (0x01, WBON) 4110 } 4111 } 4112 } 4113 } 4114 Else 4115 { 4116 If (LEqual (Arg0, 0x11)) 4117 { 4118 If (WBON) 4119 { 4120 \WBEC (0x07, 0x00) 4121 \WBEC (0x06, 0x00) 4122 Store (0x00, WBON) 4123 } 4124 } 4125 Else 4126 { 4127 If (LEqual (Arg0, 0x10)) 4128 { 4129 If (And (0x40, \RBEC (0x30))) {} 4130 Else 4131 { 4132 Store (0x01, WBON) 4133 \WBEC (0x07, 0x08) 4134 \WBEC (0x06, 0x03) 4135 } 4136 } 4137 Else 4138 { 4139 If (WBON) 4140 { 4141 If (LEqual (Arg0, 0x07)) 4142 { 4143 Store (0x00, WBON) 4144 } 4145 Else 4146 { 4147 If (LEqual (Arg0, 0x03)) 4148 { 4149 Store (0x00, WBON) 4150 If (LEqual (\SPS, 0x04)) {} 4151 Else 4152 { 4153 \WBEC (0x07, 0x00) 4154 \WBEC (0x06, 0x00) 4155 Sleep (0x64) 4156 \WBEC (0x06, 0x07) 4157 Sleep (0x012C) 4158 } 4159 } 4160 Else 4161 { 4162 \WBEC (0x07, 0x00) 4163 \WBEC (0x06, 0x00) 4164 Sleep (0xC8) 4165 \WBEC (0x06, Arg0) 4166 Sleep (0xC8) 4167 If (LEqual (Arg0, 0x04)) 4168 { 4169 Store (0x00, WBON) 4170 } 4171 4172 If (LEqual (Arg0, 0x05)) 4173 { 4174 Store (0x00, WBON) 4175 } 4176 4177 If (WBON) 4178 { 4179 \WBEC (0x07, 0x08) 4180 \WBEC (0x06, 0x03) 4181 } 4182 } 4183 } 4184 } 4185 Else 4186 { 4187 \WBEC (0x06, Arg0) 4188 If (LEqual (Arg0, 0x03)) 4189 { 4190 Sleep (0x012C) 4191 } 4192 4193 If (LEqual (Arg0, 0x05)) 4194 { 4195 Sleep (0xC8) 4196 } 4197 4198 If (LEqual (Arg0, 0x07)) 4199 { 4200 Sleep (0x01F4) 4201 } 4202 } 4203 } 4204 } 4205 } 4206 } 4207 } 4208 } 4209 } 4210 } 4211 4212 Method (EVNT, 1, NotSerialized) 4213 { 4214 If (\H8DR) 4215 { 4216 If (Arg0) 4217 { 4218 Or (HAM7, 0x01, HAM7) 4219 Or (HAM5, 0x04, HAM5) 4220 } 4221 Else 4222 { 4223 And (HAM7, 0xFE, HAM7) 4224 And (HAM5, 0xFB, HAM5) 4225 } 4226 } 4227 Else 4228 { 4229 If (Arg0) 4230 { 4231 \MBEC (0x17, 0xFF, 0x01) 4232 \MBEC (0x15, 0xFF, 0x04) 4233 If (\W98F) 4234 { 4235 \WBEC (0x18, 0xFF) 4236 } 4237 } 4238 Else 4239 { 4240 \MBEC (0x17, 0xFE, 0x00) 4241 \MBEC (0x15, 0xFB, 0x00) 4242 If (\W98F) 4243 { 4244 \WBEC (0x18, 0x00) 4245 } 4246 } 4247 } 4248 } 4249 4250 Method (_Q12, 0, NotSerialized) 4251 { 4252 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x1003) 4253 } 4254 4255 Method (_Q13, 0, NotSerialized) 4256 { 4257 If (\_SB.PCI0.ISA.EC.VDHK) 4258 { 4259 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x1004) 4260 } 4261 Else 4262 { 4263 Notify (\_SB.SLPB, 0x80) 4264 } 4265 } 4266 4267 Method (_Q16, 0, NotSerialized) 4268 { 4269 \_SB.PCI0.AGP.VID.VSWT () 4270 } 4271 4272 Method (_Q17, 0, NotSerialized) 4273 { 4274 If (LNot (\WNTF)) 4275 { 4276 VEXP () 4277 } 4278 } 4279 4280 Method (_Q1B, 0, NotSerialized) 4281 { 4282 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x100C) 4283 } 4284 4285 Method (_Q1F, 0, NotSerialized) 4286 { 4287 \LGHT (0x02) 4288 } 4289 4290 Method (_Q26, 0, NotSerialized) 4291 { 4292 \_SB.PCI0.ISA.HBDS () 4293 Sleep (0x01F4) 4294 Notify (AC, 0x00) 4295 Notify (\_TZ.THM0, 0x80) 4296 If (\GVEN) 4297 { 4298 \GVIL (0x00) 4299 } 4300 } 4301 4302 Method (_Q27, 0, NotSerialized) 4303 { 4304 \_SB.PCI0.ISA.HBEN () 4305 Sleep (0x01F4) 4306 Notify (AC, 0x00) 4307 Notify (\_TZ.THM0, 0x80) 4308 If (\GVEN) 4309 { 4310 \GVIL (0x01) 4311 } 4312 } 4313 4314 Method (_Q2A, 0, NotSerialized) 4315 { 4316 \_SB.PCI0.AGP.VID.VLOC (0x01) 4317 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x5002) 4318 Notify (\_SB.LID, 0x80) 4319 } 4320 4321 Method (_Q2B, 0, NotSerialized) 4322 { 4323 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x5001) 4324 \LGHT (0x00) 4325 Notify (\_SB.LID, 0x80) 4326 } 4327 4328 Method (_Q3D, 0, NotSerialized) 4329 { 4330 \FERR () 4331 } 4332 4333 Method (_Q48, 0, NotSerialized) 4334 { 4335 If (\GVEN) 4336 { 4337 \GVIL (0x04) 4338 } 4339 } 4340 4341 Method (_Q49, 0, NotSerialized) 4342 { 4343 If (\GVEN) 4344 { 4345 \GVIL (0x05) 4346 } 4347 } 4348 4349 Method (_Q7F, 0, NotSerialized) 4350 { 4351 Fatal (0x01, 0x80000001, 0x00) 4352 } 4353 4354 Method (_Q20, 0, NotSerialized) 4355 { 4356 Notify (BAT0, 0x80) 4357 Notify (BAT1, 0x80) 4358 } 4359 4360 Method (_Q21, 0, NotSerialized) 4361 { 4362 Notify (BAT0, 0x80) 4363 Notify (BAT1, 0x80) 4364 } 4365 4366 Method (_Q22, 0, NotSerialized) 4367 { 4368 Notify (BAT0, 0x80) 4369 Notify (BAT1, 0x80) 4370 } 4371 4372 Method (_Q23, 0, NotSerialized) 4373 { 4374 Store (HB0A, Local0) 4375 If (XOr (^BAT0.B0ST, Local0)) 4376 { 4377 Store (Local0, ^BAT0.B0ST) 4378 Notify (BAT0, 0x81) 4379 } 4380 Else 4381 { 4382 Notify (BAT0, 0x80) 4383 } 4384 4385 Store (HB1A, Local0) 4386 If (XOr (^BAT1.B1ST, Local0)) 4387 { 4388 Store (Local0, ^BAT1.B1ST) 4389 _Q38 () 4390 } 4391 Else 4392 { 4393 If (LAnd (^BAT1.XB1S, Local0)) 4394 { 4395 Notify (BAT1, 0x80) 4396 } 4397 } 4398 } 4399 4400 Method (_Q24, 0, NotSerialized) 4401 { 4402 Notify (BAT0, 0x80) 4403 } 4404 4405 Method (_Q25, 0, NotSerialized) 4406 { 4407 Notify (BAT1, 0x80) 4408 } 4409 4410 Name (BT0I, Package (0x0D) 4411 { 4412 0x00, 4413 0x00, 4414 0x00, 4415 0x01, 4416 0x2A30, 4417 0x00, 4418 0x00, 4419 0x01, 4420 0x01, 4421 "ThinkPad Battery", 4422 "", 4423 "LION", 4424 "IBM Corporation " 4425 }) 4426 Name (BT0P, Package (0x04) {}) 4427 Name (BT0J, 0x00) 4428 Device (BAT0) 4429 { 4430 Name (_HID, EisaId ("PNP0C0A")) 4431 Name (_UID, 0x00) 4432 Name (_PCL, Package (0x01) 4433 { 4434 \_SB 4435 }) 4436 Name (B0ST, 0x00) 4437 Method (_STA, 0, NotSerialized) 4438 { 4439 If (\H8DR) 4440 { 4441 Store (HB0A, B0ST) 4442 } 4443 Else 4444 { 4445 If (And (\RBEC (0x38), 0x80)) 4446 { 4447 Store (0x01, B0ST) 4448 } 4449 Else 4450 { 4451 Store (0x00, B0ST) 4452 } 4453 } 4454 4455 If (B0ST) 4456 { 4457 Return (0x1F) 4458 } 4459 Else 4460 { 4461 Return (0x0F) 4462 } 4463 } 4464 4465 Method (_BIF, 0, NotSerialized) 4466 { 4467 AI2C () 4468 Store (0x0A, Local6) 4469 Store (0x01, Local5) 4470 While (LAnd (Local5, Local6)) 4471 { 4472 If (HB0A) 4473 { 4474 Store (I2RB (Zero, 0x01, 0x10), Local7) 4475 If (LOr (LEqual (HMBC, 0x1C), Local7)) 4476 { 4477 Store (0x00, Local5) 4478 } 4479 Else 4480 { 4481 Sleep (0x03E8) 4482 Decrement (Local6) 4483 Store (0x8080, Local7) 4484 } 4485 } 4486 Else 4487 { 4488 Store (0x00, Local6) 4489 Store (0x00, Local7) 4490 } 4491 } 4492 4493 If (LOr (Local7, Local5)) 4494 { 4495 Store (0x00, Index (BT0I, 0x00)) 4496 Store (0xFFFFFFFF, Index (BT0I, 0x01)) 4497 Store (0x00, Index (BT0I, 0x05)) 4498 Store (0x00, Index (BT0I, 0x06)) 4499 Store (0xFFFFFFFF, Index (BT0I, 0x02)) 4500 } 4501 Else 4502 { 4503 Store (HBPU, Index (BT0I, 0x00)) 4504 Store (HBRC, Local0) 4505 Store (Local0, Index (BT0I, 0x01)) 4506 Store (Divide (Local0, 0x14, ), Index (BT0I, 0x05)) 4507 Store (Divide (Local0, 0x64, ), Index (BT0I, 0x06)) 4508 Store (HBFC, Index (BT0I, 0x02)) 4509 Store (Divide (HBFC, 0x64, ), BT0J) 4510 } 4511 4512 RI2C () 4513 If (Local7) {} 4514 Return (BT0I) 4515 } 4516 4517 Method (_BST, 0, NotSerialized) 4518 { 4519 AI2C () 4520 Store (I2RB (Zero, 0x01, 0x10), Local7) 4521 If (LOr (LNot (LEqual (HMBC, 0x1C)), Local7)) 4522 { 4523 Store (0x00, Index (BT0P, 0x03)) 4524 Store (0x00, Index (BT0P, 0x02)) 4525 Store (0x00, Index (BT0P, 0x01)) 4526 Store (0x04, Index (BT0P, 0x00)) 4527 } 4528 Else 4529 { 4530 Store (HBVL, Local0) 4531 Store (Local0, Index (BT0P, 0x03)) 4532 Store (Add (HBCC, BT0J), Local1) 4533 If (LNot (LLess (Local1, HBFC))) 4534 { 4535 Store (HBFC, Index (BT0P, 0x02)) 4536 } 4537 Else 4538 { 4539 Store (Local1, Index (BT0P, 0x02)) 4540 } 4541 4542 Store (HBEC, Local1) 4543 If (LNot (LLess (Local1, 0x8000))) 4544 { 4545 Store (Subtract (0x00010000, Local1), Local2) 4546 } 4547 Else 4548 { 4549 Store (Local1, Local2) 4550 } 4551 4552 If (HBPU) 4553 { 4554 Store (Local2, Index (BT0P, 0x01)) 4555 } 4556 Else 4557 { 4558 Multiply (Local0, Local2, Local1) 4559 Store (Divide (Local1, 0x03E8, ), Index (BT0P, 0x01)) 4560 } 4561 4562 If (HB0C) 4563 { 4564 Store (0x02, Index (BT0P, 0x00)) 4565 } 4566 Else 4567 { 4568 If (HB0D) 4569 { 4570 Store (0x01, Index (BT0P, 0x00)) 4571 } 4572 Else 4573 { 4574 Store (0x00, Index (BT0P, 0x00)) 4575 } 4576 } 4577 4578 If (HB0L) {} 4579 Else 4580 { 4581 Or (DerefOf (Index (BT0P, 0x00)), 0x04, Index (BT0P, 0x00)) 4582 } 4583 } 4584 4585 RI2C () 4586 Return (BT0P) 4587 } 4588 4589 Method (_BTP, 1, NotSerialized) 4590 { 4591 And (HAM4, 0xEF, HAM4) 4592 If (Arg0) 4593 { 4594 Subtract (Arg0, BT0J, Local1) 4595 If (LNot (DerefOf (Index (BT0I, 0x00)))) 4596 { 4597 Divide (Local1, 0x0A, Local0, Local1) 4598 } 4599 4600 And (Local1, 0xFF, HT0L) 4601 And (ShiftRight (Local1, 0x08), 0xFF, HT0H) 4602 Or (HAM4, 0x10, HAM4) 4603 } 4604 } 4605 } 4606 4607 Name (BT1I, Package (0x0D) 4608 { 4609 0x00, 4610 0x00, 4611 0x00, 4612 0x01, 4613 0x2A30, 4614 0x00, 4615 0x00, 4616 0x01, 4617 0x01, 4618 "ThinkPad Battery", 4619 "", 4620 "LION", 4621 "IBM Corporation " 4622 }) 4623 Name (BT1P, Package (0x04) {}) 4624 Name (BT1J, 0x00) 4625 Device (BAT1) 4626 { 4627 Name (_HID, EisaId ("PNP0C0A")) 4628 Name (_UID, 0x01) 4629 Name (_PCL, Package (0x01) 4630 { 4631 \_SB 4632 }) 4633 Name (B1ST, 0x00) 4634 Name (XB1S, 0x01) 4635 Method (_STA, 0, NotSerialized) 4636 { 4637 If (\H8DR) 4638 { 4639 Store (HB1A, B1ST) 4640 } 4641 Else 4642 { 4643 If (And (\RBEC (0x39), 0x80)) 4644 { 4645 Store (0x01, B1ST) 4646 } 4647 Else 4648 { 4649 Store (0x00, B1ST) 4650 } 4651 } 4652 4653 If (B1ST) 4654 { 4655 If (XB1S) 4656 { 4657 Return (0x1F) 4658 } 4659 Else 4660 { 4661 If (\WNTF) 4662 { 4663 Return (0x00) 4664 } 4665 Else 4666 { 4667 Return (0x1F) 4668 } 4669 } 4670 4671 Return (0x1F) 4672 } 4673 Else 4674 { 4675 If (\WNTF) 4676 { 4677 Return (0x00) 4678 } 4679 Else 4680 { 4681 Return (0x0F) 4682 } 4683 } 4684 } 4685 4686 Method (_BIF, 0, NotSerialized) 4687 { 4688 AI2C () 4689 Store (0x0A, Local6) 4690 Store (0x01, Local5) 4691 While (LAnd (Local5, Local6)) 4692 { 4693 If (HB1A) 4694 { 4695 Store (I2RB (Zero, 0x01, 0x11), Local7) 4696 If (LOr (LEqual (HMBC, 0x1C), Local7)) 4697 { 4698 Store (0x00, Local5) 4699 } 4700 Else 4701 { 4702 Sleep (0x03E8) 4703 Decrement (Local6) 4704 Store (0x8080, Local7) 4705 } 4706 } 4707 Else 4708 { 4709 Store (0x00, Local6) 4710 Store (0x00, Local7) 4711 } 4712 } 4713 4714 If (LOr (Local7, Local5)) 4715 { 4716 Store (0x00, Index (BT1I, 0x00)) 4717 Store (0xFFFFFFFF, Index (BT1I, 0x01)) 4718 Store (0x00, Index (BT1I, 0x05)) 4719 Store (0x00, Index (BT1I, 0x06)) 4720 Store (0xFFFFFFFF, Index (BT1I, 0x02)) 4721 } 4722 Else 4723 { 4724 Store (HBPU, Index (BT1I, 0x00)) 4725 Store (HBRC, Local0) 4726 Store (Local0, Index (BT1I, 0x01)) 4727 Store (Divide (Local0, 0x14, ), Index (BT1I, 0x05)) 4728 Store (Divide (Local0, 0x64, ), Index (BT1I, 0x06)) 4729 Store (HBFC, Index (BT1I, 0x02)) 4730 Store (Divide (HBFC, 0x64, ), BT1J) 4731 } 4732 4733 RI2C () 4734 If (Local7) {} 4735 Return (BT1I) 4736 } 4737 4738 Method (_BST, 0, NotSerialized) 4739 { 4740 AI2C () 4741 Store (I2RB (Zero, 0x01, 0x11), Local7) 4742 If (LOr (LNot (LEqual (HMBC, 0x1C)), Local7)) 4743 { 4744 Store (0x00, Index (BT1P, 0x03)) 4745 Store (0x00, Index (BT1P, 0x02)) 4746 Store (0x00, Index (BT1P, 0x01)) 4747 Store (0x04, Index (BT1P, 0x00)) 4748 } 4749 Else 4750 { 4751 Store (HBVL, Local0) 4752 Store (Local0, Index (BT1P, 0x03)) 4753 Store (Add (HBCC, BT1J), Local1) 4754 If (LNot (LLess (Local1, HBFC))) 4755 { 4756 Store (HBFC, Index (BT1P, 0x02)) 4757 } 4758 Else 4759 { 4760 Store (Local1, Index (BT1P, 0x02)) 4761 } 4762 4763 Store (HBEC, Local1) 4764 If (LNot (LLess (Local1, 0x8000))) 4765 { 4766 Store (Subtract (0x00010000, Local1), Local2) 4767 } 4768 Else 4769 { 4770 Store (Local1, Local2) 4771 } 4772 4773 If (HBPU) 4774 { 4775 Store (Local2, Index (BT1P, 0x01)) 4776 } 4777 Else 4778 { 4779 Multiply (Local0, Local2, Local1) 4780 Store (Divide (Local1, 0x03E8, ), Index (BT1P, 0x01)) 4781 } 4782 4783 If (HB1C) 4784 { 4785 Store (0x02, Index (BT1P, 0x00)) 4786 } 4787 Else 4788 { 4789 If (HB1D) 4790 { 4791 Store (0x01, Index (BT1P, 0x00)) 4792 } 4793 Else 4794 { 4795 Store (0x00, Index (BT1P, 0x00)) 4796 } 4797 } 4798 4799 If (HB1L) {} 4800 Else 4801 { 4802 Or (DerefOf (Index (BT1P, 0x00)), 0x04, Index (BT1P, 0x00)) 4803 } 4804 } 4805 4806 RI2C () 4807 Return (BT1P) 4808 } 4809 4810 Method (_BTP, 1, NotSerialized) 4811 { 4812 And (HAM4, 0xDF, HAM4) 4813 If (Arg0) 4814 { 4815 Subtract (Arg0, BT1J, Local1) 4816 If (LNot (DerefOf (Index (BT1I, 0x00)))) 4817 { 4818 Divide (Local1, 0x0A, Local0, Local1) 4819 } 4820 4821 And (Local1, 0xFF, HT1L) 4822 And (ShiftRight (Local1, 0x08), 0xFF, HT1H) 4823 Or (HAM4, 0x20, HAM4) 4824 } 4825 } 4826 } 4827 4828 Device (AC) 4829 { 4830 Name (_HID, "ACPI0003") 4831 Name (_UID, 0x00) 4832 Name (_PCL, Package (0x01) 4833 { 4834 \_SB 4835 }) 4836 Method (_PSR, 0, NotSerialized) 4837 { 4838 Return (HPAC) 4839 } 4840 4841 Method (_STA, 0, NotSerialized) 4842 { 4843 Return (0x0F) 4844 } 4845 } 4846 4847 Scope (\_SB.PCI0.ISA.EC) 4848 { 4849 Field (ECOR, ByteAcc, Lock, Preserve) 4850 { 4851 Offset (0x50), 4852 HMPR, 8, 4853 HMST, 5, 4854 , 1, 4855 HMAR, 1, 4856 HMDN, 1, 4857 HMAD, 8, 4858 HMCM, 8, 4859 HMDT, 8, 4860 Offset (0x74), 4861 HMBC, 8 4862 } 4863 4864 Field (ECOR, ByteAcc, Lock, Preserve) 4865 { 4866 Offset (0x54), 4867 HBPU, 8, 4868 Offset (0x56), 4869 HBST, 8, 4870 HBID, 4, 4871 Offset (0x58), 4872 HBRC, 32, 4873 HBFC, 32, 4874 HBCC, 32, 4875 HBVL, 16, 4876 HBEC, 16, 4877 HBBT, 16, 4878 HBNF, 16, 4879 HBTC, 16, 4880 HBCT, 16, 4881 Offset (0x74), 4882 Offset (0x100) 4883 } 4884 4885 Field (ECOR, ByteAcc, Lock, Preserve) 4886 { 4887 Offset (0x54), 4888 HBTS, 8, 4889 HBAF, 1, 4890 Offset (0x56), 4891 HBSD, 16, 4892 HBDT, 16, 4893 HBH0, 16, 4894 HBL0, 16, 4895 HBH1, 16, 4896 HBL1, 16, 4897 HBH2, 16, 4898 HBL2, 16 4899 } 4900 4901 Field (ECOR, ByteAcc, Lock, Preserve) 4902 { 4903 Offset (0x54), 4904 HF_Z, 8, 4905 HF_D, 8, 4906 HZIP, 8, 4907 HDVD, 8, 4908 HHFD, 8, 4909 HF_H, 8, 4910 HHDD, 8, 4911 HADP, 8, 4912 HLS, 8, 4913 HF_C, 8, 4914 HCRW, 8, 4915 HCD, 8, 4916 HR01, 8, 4917 HFDD, 8, 4918 HIMP, 8, 4919 HNON, 8 4920 } 4921 4922 Mutex (I2CM, 0x07) 4923 Method (AI2C, 0, NotSerialized) 4924 { 4925 Return (Acquire (I2CM, 0xFFFF)) 4926 } 4927 4928 Method (RI2C, 0, NotSerialized) 4929 { 4930 Release (I2CM) 4931 } 4932 4933 Method (I2CR, 3, NotSerialized) 4934 { 4935 AI2C () 4936 Store (Arg0, HCSL) 4937 If (HCAD) 4938 { 4939 Or (ShiftLeft (Arg1, 0x01), 0x01, HMAD) 4940 } 4941 Else 4942 { 4943 Store (Arg1, HMAD) 4944 } 4945 4946 Store (Arg2, HMCM) 4947 Store (0x07, HMPR) 4948 Store (CHKS (), Local7) 4949 If (Local7) 4950 { 4951 Store (Local7, Local0) 4952 } 4953 Else 4954 { 4955 Store (HMDT, Local0) 4956 } 4957 4958 RI2C () 4959 Return (Local0) 4960 } 4961 4962 Method (I2CW, 4, NotSerialized) 4963 { 4964 AI2C () 4965 Store (Arg0, HCSL) 4966 If (HCAD) 4967 { 4968 Or (ShiftLeft (Arg1, 0x01), 0x01, HMAD) 4969 } 4970 Else 4971 { 4972 Store (Arg1, HMAD) 4973 } 4974 4975 Store (Arg2, HMCM) 4976 Store (Arg3, HMDT) 4977 Store (0x06, HMPR) 4978 Store (CHKS (), Local0) 4979 RI2C () 4980 Return (Local0) 4981 } 4982 4983 Method (I2RB, 3, NotSerialized) 4984 { 4985 Store (Arg0, HCSL) 4986 If (HCAD) 4987 { 4988 Store (ShiftLeft (Arg1, 0x01), HMAD) 4989 } 4990 Else 4991 { 4992 Store (Arg1, HMAD) 4993 } 4994 4995 Store (Arg2, HMCM) 4996 Store (0x0B, HMPR) 4997 Return (CHKS ()) 4998 } 4999 5000 Method (I2WB, 4, NotSerialized) 5001 { 5002 Store (Arg0, HCSL) 5003 If (HCAD) 5004 { 5005 Store (ShiftLeft (Arg1, 0x01), HMAD) 5006 } 5007 Else 5008 { 5009 Store (Arg1, HMAD) 5010 } 5011 5012 Store (Arg2, HMCM) 5013 Store (Arg3, HMBC) 5014 Store (0x0A, HMPR) 5015 Return (CHKS ()) 5016 } 5017 5018 Method (CHKS, 0, NotSerialized) 5019 { 5020 Store (0x03E8, Local0) 5021 While (HMPR) 5022 { 5023 Sleep (0x01) 5024 Decrement (Local0) 5025 If (LNot (Local0)) 5026 { 5027 Return (0x8080) 5028 } 5029 } 5030 5031 If (HMDN) 5032 { 5033 If (HMST) 5034 { 5035 Return (Or (0x8000, HMST)) 5036 } 5037 Else 5038 { 5039 Return (Zero) 5040 } 5041 } 5042 Else 5043 { 5044 Return (0x8081) 5045 } 5046 } 5047 } 5048 5049 Name (VDHK, 0x00) 5050 Method (GHKS, 0, NotSerialized) 5051 { 5052 Store (\GHKY (), VDHK) 5053 } 5054 5055 Device (HKEY) 5056 { 5057 Name (_HID, EisaId ("IBM0068")) 5058 Method (_STA, 0, NotSerialized) 5059 { 5060 If (VDHK) 5061 { 5062 Return (0x0F) 5063 } 5064 Else 5065 { 5066 Return (0x00) 5067 } 5068 } 5069 5070 Name (DHKC, 0x00) 5071 Name (DHKB, 0x01) 5072 Mutex (XDHK, 0x07) 5073 Name (DHKH, 0x00) 5074 Name (DHKW, 0x00) 5075 Name (DHKS, 0x00) 5076 Name (DHKD, 0x00) 5077 Method (MHKS, 0, NotSerialized) 5078 { 5079 Notify (\_SB.SLPB, 0x80) 5080 } 5081 5082 Method (MHKC, 1, NotSerialized) 5083 { 5084 Store (Arg0, DHKC) 5085 } 5086 5087 Method (MHKP, 0, NotSerialized) 5088 { 5089 Acquire (XDHK, 0xFFFF) 5090 If (DHKW) 5091 { 5092 Store (DHKW, Local1) 5093 Store (Zero, DHKW) 5094 } 5095 Else 5096 { 5097 If (DHKD) 5098 { 5099 Store (DHKD, Local1) 5100 Store (Zero, DHKD) 5101 } 5102 Else 5103 { 5104 If (DHKS) 5105 { 5106 Store (DHKS, Local1) 5107 Store (Zero, DHKS) 5108 } 5109 Else 5110 { 5111 Store (DHKH, Local1) 5112 Store (Zero, DHKH) 5113 } 5114 } 5115 } 5116 5117 Release (XDHK) 5118 Return (Local1) 5119 } 5120 5121 Method (MHKE, 1, NotSerialized) 5122 { 5123 Store (Arg0, DHKB) 5124 Acquire (XDHK, 0xFFFF) 5125 Store (Zero, DHKH) 5126 Store (Zero, DHKW) 5127 Store (Zero, DHKS) 5128 Store (Zero, DHKD) 5129 Release (XDHK) 5130 } 5131 5132 Method (MHKQ, 1, NotSerialized) 5133 { 5134 If (DHKB) 5135 { 5136 If (DHKC) 5137 { 5138 Acquire (XDHK, 0xFFFF) 5139 If (LLess (Arg0, 0x1000)) {} 5140 Else 5141 { 5142 If (LLess (Arg0, 0x2000)) 5143 { 5144 Store (Arg0, DHKH) 5145 } 5146 Else 5147 { 5148 If (LLess (Arg0, 0x3000)) 5149 { 5150 Store (Arg0, DHKW) 5151 } 5152 Else 5153 { 5154 If (LLess (Arg0, 0x4000)) 5155 { 5156 Store (Arg0, DHKS) 5157 } 5158 Else 5159 { 5160 If (LLess (Arg0, 0x5000)) 5161 { 5162 Store (Arg0, DHKD) 5163 } 5164 Else 5165 { 5166 If (LLess (Arg0, 0x6000)) 5167 { 5168 Store (Arg0, DHKH) 5169 } 5170 Else 5171 { 5172 } 5173 } 5174 } 5175 } 5176 } 5177 } 5178 5179 Release (XDHK) 5180 If (LEqual (DHKH, 0x1003)) 5181 { 5182 \LGHT (0x00) 5183 } 5184 5185 Notify (HKEY, 0x80) 5186 } 5187 Else 5188 { 5189 If (LEqual (Arg0, 0x1004)) 5190 { 5191 Notify (\_SB.SLPB, 0x80) 5192 } 5193 } 5194 } 5195 } 5196 5197 Method (XGWT, 0, NotSerialized) 5198 { 5199 \VUPS (0x80) 5200 If (\WNTF) 5201 { 5202 Store (0x00, Local0) 5203 If (\VCDL) 5204 { 5205 Or (0x01, Local0, Local0) 5206 } 5207 5208 If (\VCDC) 5209 { 5210 Or (0x02, Local0, Local0) 5211 } 5212 5213 If (\VCDT) 5214 { 5215 Or (0x04, Local0, Local0) 5216 } 5217 5218 Return (Local0) 5219 } 5220 Else 5221 { 5222 Return (0xFFFF) 5223 } 5224 } 5225 5226 Method (XSWT, 1, NotSerialized) 5227 { 5228 If (\WNTF) 5229 { 5230 And (0x03, Arg0, Local0) 5231 If (Local0) 5232 { 5233 \_SB.PCI0.AGP.VID.ASWT (Local0, 0x01) 5234 } 5235 } 5236 Else 5237 { 5238 Return (0xFFFF) 5239 } 5240 } 5241 5242 Method (MHKB, 1, NotSerialized) 5243 { 5244 If (LEqual (Arg0, 0x00)) 5245 { 5246 \_SB.PCI0.ISA.EC.BEEP (0x11) 5247 } 5248 Else 5249 { 5250 If (LEqual (Arg0, 0x01)) 5251 { 5252 \_SB.PCI0.ISA.EC.BEEP (0x10) 5253 } 5254 Else 5255 { 5256 } 5257 } 5258 } 5259 5260 Method (MHKX, 0, NotSerialized) 5261 { 5262 If (\_SB.PCI0.ISA.FDC.DCFD) 5263 { 5264 Return (0x01) 5265 } 5266 Else 5267 { 5268 Return (0x03) 5269 } 5270 } 5271 } 5272 } 5273 } 5274 5275 Device (CBS0) 5276 { 5277 Name (_ADR, 0x00020000) 5278 OperationRegion (CBUS, PCI_Config, 0x00, 0x0100) 5279 Field (CBUS, DWordAcc, NoLock, Preserve) 5280 { 5281 Offset (0x40), 5282 SVID, 16, 5283 SSID, 16, 5284 LGDC, 32, 5285 Offset (0x80), 5286 SYSC, 32, 5287 MCTL, 8, 5288 Offset (0x91), 5289 CCTL, 8, 5290 Offset (0x93), 5291 DIAG, 8 5292 } 5293 5294 Method (_INI, 0, NotSerialized) 5295 { 5296 Store (Zero, LGDC) 5297 And (CCTL, 0x7F, CCTL) 5298 Or (SYSC, 0x01, SYSC) 5299 If (LNot (And (_ADR, 0xFFFF))) 5300 { 5301 And (MCTL, 0x83, BMCL) 5302 } 5303 } 5304 5305 Name (BMCL, 0x00) 5306 Name (PWRS, 0x00) 5307 Method (_PSC, 0, NotSerialized) 5308 { 5309 Return (PWRS) 5310 } 5311 5312 Method (_PS0, 0, NotSerialized) 5313 { 5314 PWUP () 5315 Store (0x00, PWRS) 5316 } 5317 5318 Method (_PS3, 0, NotSerialized) 5319 { 5320 Store (0x03, PWRS) 5321 PWDN () 5322 } 5323 5324 Method (PWDN, 0, NotSerialized) 5325 { 5326 If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS)) 5327 { 5328 If (LNot (And (_ADR, 0xFFFF))) 5329 { 5330 And (MCTL, 0x83, BMCL) 5331 And (MCTL, 0xFC, Local0) 5332 Or (Local0, 0x80, MCTL) 5333 } 5334 Else 5335 { 5336 \_SB.PCI0.CBS0.PWDN () 5337 } 5338 } 5339 } 5340 5341 Method (PWUP, 0, NotSerialized) 5342 { 5343 If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS)) 5344 { 5345 If (LNot (And (_ADR, 0xFFFF))) 5346 { 5347 And (MCTL, 0x7C, Local0) 5348 Or (Local0, BMCL, MCTL) 5349 } 5350 Else 5351 { 5352 \_SB.PCI0.CBS0.PWUP () 5353 } 5354 } 5355 } 5356 } 5357 5358 Device (CBS1) 5359 { 5360 Name (_ADR, 0x00020001) 5361 OperationRegion (CBUS, PCI_Config, 0x00, 0x0100) 5362 Field (CBUS, DWordAcc, NoLock, Preserve) 5363 { 5364 Offset (0x40), 5365 SVID, 16, 5366 SSID, 16, 5367 LGDC, 32, 5368 Offset (0x80), 5369 SYSC, 32, 5370 MCTL, 8, 5371 Offset (0x91), 5372 CCTL, 8, 5373 Offset (0x93), 5374 DIAG, 8 5375 } 5376 5377 Method (_INI, 0, NotSerialized) 5378 { 5379 Store (Zero, LGDC) 5380 And (CCTL, 0x7F, CCTL) 5381 Or (SYSC, 0x01, SYSC) 5382 If (LNot (And (_ADR, 0xFFFF))) 5383 { 5384 And (MCTL, 0x83, BMCL) 5385 } 5386 } 5387 5388 Name (BMCL, 0x00) 5389 Name (PWRS, 0x00) 5390 Method (_PSC, 0, NotSerialized) 5391 { 5392 Return (PWRS) 5393 } 5394 5395 Method (_PS0, 0, NotSerialized) 5396 { 5397 PWUP () 5398 Store (0x00, PWRS) 5399 } 5400 5401 Method (_PS3, 0, NotSerialized) 5402 { 5403 Store (0x03, PWRS) 5404 PWDN () 5405 } 5406 5407 Method (PWDN, 0, NotSerialized) 5408 { 5409 If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS)) 5410 { 5411 If (LNot (And (_ADR, 0xFFFF))) 5412 { 5413 And (MCTL, 0x83, BMCL) 5414 And (MCTL, 0xFC, Local0) 5415 Or (Local0, 0x80, MCTL) 5416 } 5417 Else 5418 { 5419 \_SB.PCI0.CBS0.PWDN () 5420 } 5421 } 5422 } 5423 5424 Method (PWUP, 0, NotSerialized) 5425 { 5426 If (LAnd (\_SB.PCI0.CBS0.PWRS, \_SB.PCI0.CBS1.PWRS)) 5427 { 5428 If (LNot (And (_ADR, 0xFFFF))) 5429 { 5430 And (MCTL, 0x7C, Local0) 5431 Or (Local0, BMCL, MCTL) 5432 } 5433 Else 5434 { 5435 \_SB.PCI0.CBS0.PWUP () 5436 } 5437 } 5438 } 5439 } 5440 5441 Device (DOCK) 5442 { 5443 Name (_ADR, 0x00040000) 5444 Method (_BDN, 0, NotSerialized) 5445 { 5446 Return (GDID ()) 5447 } 5448 5449 Method (_UID, 0, NotSerialized) 5450 { 5451 Return (GDSR ()) 5452 } 5453 5454 Name (_PRT, Package (0x06) 5455 { 5456 Package (0x04) 5457 { 5458 0xFFFF, 5459 0x00, 5460 \_SB.LNKA, 5461 0x00 5462 }, 5463 5464 Package (0x04) 5465 { 5466 0xFFFF, 5467 0x01, 5468 \_SB.LNKB, 5469 0x00 5470 }, 5471 5472 Package (0x04) 5473 { 5474 0xFFFF, 5475 0x02, 5476 \_SB.LNKC, 5477 0x00 5478 }, 5479 5480 Package (0x04) 5481 { 5482 0xFFFF, 5483 0x03, 5484 \_SB.LNKD, 5485 0x00 5486 }, 5487 5488 Package (0x04) 5489 { 5490 0x0001FFFF, 5491 0x00, 5492 \_SB.LNKB, 5493 0x00 5494 }, 5495 5496 Package (0x04) 5497 { 5498 0x0002FFFF, 5499 0x00, 5500 \_SB.LNKC, 5501 0x00 5502 } 5503 }) 5504 Method (_REG, 2, NotSerialized) 5505 { 5506 If (LEqual (Arg0, 0x02)) 5507 { 5508 If (Arg1) 5509 { 5510 Sleep (0x19) 5511 And (\_SB.PCI0.ISA.SIRQ, 0x3F, \_SB.PCI0.ISA.SIRQ) 5512 } 5513 5514 \_SB.PCI0.DOCK.CBS2.DREG (0x02, Arg1) 5515 \_SB.PCI0.DOCK.CBS3.DREG (0x02, Arg1) 5516 \_SB.PCI0.DOCK.IDE1.DREG (0x02, Arg1) 5517 If (Arg1) 5518 { 5519 Or (\_SB.PCI0.ISA.SIRQ, 0xC0, \_SB.PCI0.ISA.SIRQ) 5520 Stall (0x64) 5521 And (\_SB.PCI0.ISA.SIRQ, 0xBF, \_SB.PCI0.ISA.SIRQ) 5522 LTCY () 5523 } 5524 } 5525 } 5526 5527 Method (_INI, 0, NotSerialized) 5528 { 5529 If (GDID ()) 5530 { 5531 PPEN (0x00) 5532 PPIN () 5533 PPEN (0x01) 5534 If (\W98F) 5535 { 5536 _REG (0x02, 0x01) 5537 } 5538 5539 DATT (0x00, 0x00) 5540 DATT (0x01, 0x01) 5541 } 5542 Else 5543 { 5544 DATT (0x00, 0x01) 5545 DATT (0x01, 0x00) 5546 } 5547 5548 DDWK (0x00) 5549 } 5550 5551 Method (_STA, 0, NotSerialized) 5552 { 5553 If (\W98F) 5554 { 5555 If (DFLG (0x02, 0x08)) 5556 { 5557 \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE) 5558 Notify (\_SB.PCI0.DOCK, 0x01) 5559 DFLG (0x01, 0x08) 5560 } 5561 } 5562 5563 \_SB.PCI0.DOCK.WURQ () 5564 If (LEqual (GDID (), 0x4A004D24)) 5565 { 5566 Store (0x0F, Local0) 5567 } 5568 Else 5569 { 5570 If (LNot (\W98F)) 5571 { 5572 Store (0x00, Local0) 5573 } 5574 Else 5575 { 5576 Store (0x0C, Local0) 5577 } 5578 } 5579 5580 Return (Local0) 5581 } 5582 5583 Name (_PRW, Package (0x02) 5584 { 5585 0x0B, 5586 0x04 5587 }) 5588 Method (_PSW, 1, NotSerialized) 5589 { 5590 EPSW (0x02, Arg0) 5591 } 5592 5593 Name (DIDB, 0xFFFFFFFF) 5594 Method (DPTS, 1, NotSerialized) 5595 { 5596 If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04)))) 5597 { 5598 DFLG (0x00, 0x0100) 5599 Store (0x00, DHKE) 5600 If (DFLG (0x02, 0x02)) 5601 { 5602 Store (0x00, DOID) 5603 DFLG (0x01, 0x02) 5604 } 5605 5606 If (GDID ()) 5607 { 5608 DDWK (0x01) 5609 If (LEqual (Arg0, 0x01)) 5610 { 5611 SSU2 (0x01) 5612 } 5613 5614 If (LEqual (Arg0, 0x04)) 5615 { 5616 Store (0x01, \_SB.PCI0.ISA.SLCK) 5617 } 5618 } 5619 Else 5620 { 5621 DDWK (0x00) 5622 } 5623 5624 Store (GDID (), DIDB) 5625 } 5626 } 5627 5628 Method (DWAK, 1, NotSerialized) 5629 { 5630 Store (0xFFFFFFFF, DOID) 5631 If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04)))) 5632 { 5633 If (LNot (LEqual (DIDB, 0x00))) 5634 { 5635 If (LNot (LEqual (GDID (), 0x00))) 5636 { 5637 PPEN (0x00) 5638 PPIN () 5639 If (\W98F) 5640 { 5641 _REG (0x02, 0x01) 5642 PPEN (0x01) 5643 } 5644 5645 ShiftLeft (Arg0, 0x08, DHKE) 5646 If (DFLG (0x02, 0x08)) 5647 { 5648 Or (DHKE, 0x2004, DHKE) 5649 If (LNot (\W98F)) 5650 { 5651 \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE) 5652 Notify (\_SB.PCI0.DOCK, 0x03) 5653 DFLG (0x01, 0x08) 5654 } 5655 } 5656 Else 5657 { 5658 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 5659 { 5660 Notify (\_SB.PCI0.DOCK.IDE1, 0x00) 5661 } 5662 5663 If (LEqual (Arg0, 0x04)) 5664 { 5665 \DHDP (0x03) 5666 } 5667 } 5668 } 5669 Else 5670 { 5671 Notify (\_SB.PCI0.DOCK, 0x00) 5672 \DHDP (0x00) 5673 } 5674 } 5675 Else 5676 { 5677 If (LNot (LEqual (GDID (), 0x00))) 5678 { 5679 If (\_SB.PCI0.ISA.BUSC) 5680 { 5681 _INI () 5682 If (LNot (\W98F)) 5683 { 5684 PPEN (0x00) 5685 } 5686 } 5687 5688 Notify (\_SB.PCI0.DOCK, 0x00) 5689 } 5690 } 5691 5692 DDWK (0x00) 5693 Store (0x00, \_SB.PCI0.ISA.SLCK) 5694 DFLG (0x01, 0x0100) 5695 If (LEqual (Arg0, 0x01)) 5696 { 5697 SSU2 (0x00) 5698 } 5699 5700 If (\WMEF) 5701 { 5702 DFLG (0x01, 0x02) 5703 } 5704 } 5705 } 5706 5707 Method (_DCK, 1, NotSerialized) 5708 { 5709 If (Arg0) 5710 { 5711 BCON (0x01) 5712 Sleep (0x4B) 5713 PPIN () 5714 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 5715 { 5716 If (\W98F) 5717 { 5718 \DHDP (0x01) 5719 } 5720 Else 5721 { 5722 \DHDP (0x04) 5723 } 5724 } 5725 5726 If (\W98F) 5727 { 5728 PPEN (0x01) 5729 _REG (0x02, 0x01) 5730 } 5731 5732 DATT (0x00, 0x00) 5733 DATT (0x01, 0x01) 5734 If (\GVEN) 5735 { 5736 \GVIL (0x02) 5737 } 5738 } 5739 Else 5740 { 5741 DFLG (0x00, 0x02) 5742 \DHDP (0x00) 5743 If (\W98F) 5744 { 5745 _REG (0x02, 0x00) 5746 } 5747 5748 PPUB (0x00) 5749 DATT (0x00, 0x01) 5750 DATT (0x01, 0x00) 5751 If (\GVEN) 5752 { 5753 \GVIL (0x03) 5754 } 5755 } 5756 5757 \_SB.PCI0.AGP.VID.VDSW (Arg0) 5758 Return (0x01) 5759 } 5760 5761 Method (_EJ0, 1, NotSerialized) 5762 { 5763 If (DFLG (0x02, 0x02)) 5764 { 5765 If (Arg0) 5766 { 5767 BCON (0x00) 5768 WUIN () 5769 Store (0x00, DOID) 5770 Store (0x00, \_SB.PCI0.ISA.FDC.DCFD) 5771 Store (0x01, \_SB.PCI0.ISA.FDC.XFDS) 5772 } 5773 5774 DFLG (0x01, 0x02) 5775 } 5776 } 5777 5778 Method (_EJ4, 1, NotSerialized) 5779 { 5780 Store (0x00, \_SB.PCI0.ISA.FDC.DCFD) 5781 } 5782 5783 Name (DOID, 0xFFFFFFFF) 5784 Name (DHKE, 0x00) 5785 Name (WUCT, 0x00) 5786 Mutex (WUDM, 0x07) 5787 Method (WURQ, 0, NotSerialized) 5788 { 5789 If (And (DHKE, 0x2004)) 5790 { 5791 If (LEqual (GDID (), 0x00)) 5792 { 5793 Acquire (WUDM, 0xFFFF) 5794 If (LNot (Decrement (WUCT))) 5795 { 5796 Store (0x01, Local0) 5797 } 5798 Else 5799 { 5800 Store (0x00, Local0) 5801 } 5802 5803 Release (WUDM) 5804 If (Local0) 5805 { 5806 Store (0x00, DHKE) 5807 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x4003) 5808 } 5809 } 5810 } 5811 } 5812 5813 Method (WUIN, 0, NotSerialized) 5814 { 5815 Acquire (WUDM, 0xFFFF) 5816 If (\WNTF) 5817 { 5818 Store (0x21, WUCT) 5819 } 5820 Else 5821 { 5822 Store (0x01, WUCT) 5823 } 5824 5825 Release (WUDM) 5826 } 5827 5828 Method (GDID, 0, NotSerialized) 5829 { 5830 If (LEqual (DOID, 0xFFFFFFFF)) 5831 { 5832 Store (RDID (), DOID) 5833 } 5834 5835 If (\WMEF) 5836 { 5837 Store (DOID, DIDB) 5838 } 5839 5840 Return (DOID) 5841 } 5842 5843 Method (GDSR, 0, NotSerialized) 5844 { 5845 Return (RDSR ()) 5846 } 5847 5848 Method (RDID, 0, NotSerialized) 5849 { 5850 Store (\_SB.PCI0.ISA.EC.GDEV (0x02), Local0) 5851 If (And (Local0, 0x07)) 5852 { 5853 Return (0x00) 5854 } 5855 5856 If (LNot (\H8DR)) 5857 { 5858 Return (\GDCK (0x02)) 5859 } 5860 5861 Store (0x10, Local0) 5862 Store (0x00, Local1) 5863 Store (0x00, Local2) 5864 Store (0x00, Local3) 5865 Store (0x00, Local4) 5866 While (Local0) 5867 { 5868 Store (EEPR (Local2), Local1) 5869 If (LAnd (LNot (LEqual (Local1, 0x8080)), LNot (LEqual (Local1, 0x8018)))) 5870 { 5871 If (LEqual (And (Local1, 0x8000), 0x8000)) 5872 { 5873 Return (0x00) 5874 } 5875 Else 5876 { 5877 If (LLess (Local2, 0x09)) 5878 { 5879 If (LAnd (LLess (Local2, 0x08), LGreater (Local2, 0x03))) 5880 { 5881 Or (Local3, ShiftLeft (Local1, Multiply (Subtract (Local2, 0x04), 0x08)), Local3) 5882 } 5883 5884 Add (Local4, Local1, Local4) 5885 Store (0x10, Local0) 5886 Increment (Local2) 5887 } 5888 Else 5889 { 5890 If (LEqual (Local2, 0x09)) 5891 { 5892 If (LNot (And (Add (Local4, Local1), 0xFF))) 5893 { 5894 Return (Local3) 5895 } 5896 Else 5897 { 5898 Return (0x00) 5899 } 5900 } 5901 } 5902 } 5903 } 5904 5905 Decrement (Local0) 5906 } 5907 5908 Return (0x00) 5909 } 5910 5911 Method (RDSR, 0, NotSerialized) 5912 { 5913 If (LEqual (GDID (), 0x00)) 5914 { 5915 Return (0x00) 5916 } 5917 5918 If (LNot (\H8DR)) 5919 { 5920 Return (\GDCK (0x01)) 5921 } 5922 5923 Store (0x10, Local0) 5924 Store (0x00, Local1) 5925 Store (0x00, Local2) 5926 Store (0x00, Local3) 5927 Store (0x00, Local4) 5928 While (Local0) 5929 { 5930 Store (EEPR (Local2), Local1) 5931 If (LAnd (LNot (LEqual (Local1, 0x8080)), LNot (LEqual (Local1, 0x8018)))) 5932 { 5933 If (LEqual (And (Local1, 0x8000), 0x8000)) 5934 { 5935 Return (0x00) 5936 } 5937 Else 5938 { 5939 If (LLess (Local2, 0x09)) 5940 { 5941 If (LLess (Local2, 0x04)) 5942 { 5943 Or (Local3, ShiftLeft (Local1, Multiply (Local2, 0x08)), Local3) 5944 } 5945 5946 Add (Local4, Local1, Local4) 5947 Store (0x10, Local0) 5948 Increment (Local2) 5949 } 5950 Else 5951 { 5952 If (LEqual (Local2, 0x09)) 5953 { 5954 If (LNot (And (Add (Local4, Local1), 0xFF))) 5955 { 5956 Return (Local3) 5957 } 5958 Else 5959 { 5960 Return (0x00) 5961 } 5962 } 5963 } 5964 } 5965 } 5966 5967 Decrement (Local0) 5968 } 5969 5970 Return (0x00) 5971 } 5972 5973 Method (EEPR, 1, NotSerialized) 5974 { 5975 Store (0x00, \_SB.PCI0.ISA.EC.HCAC) 5976 Or (\_SB.PCI0.ISA.ACI, 0x01, \_SB.PCI0.ISA.ACI) 5977 Store (\_SB.PCI0.ISA.EC.I2CR (0x00, 0x51, Arg0), Local0) 5978 And (\_SB.PCI0.ISA.ACI, 0xFE, \_SB.PCI0.ISA.ACI) 5979 Store (0x01, \_SB.PCI0.ISA.EC.HCAC) 5980 Return (Local0) 5981 } 5982 5983 Name (FLAG, 0x00) 5984 Method (DFLG, 2, NotSerialized) 5985 { 5986 If (LEqual (Arg0, 0x00)) 5987 { 5988 Or (FLAG, Arg1, FLAG) 5989 } 5990 5991 If (LEqual (Arg0, 0x01)) 5992 { 5993 And (FLAG, Not (Arg1), FLAG) 5994 } 5995 5996 If (And (FLAG, Arg1)) 5997 { 5998 Return (0x01) 5999 } 6000 Else 6001 { 6002 Return (0x00) 6003 } 6004 } 6005 6006 Method (DATT, 2, NotSerialized) 6007 { 6008 Store (0x00, Local0) 6009 If (LEqual (Arg0, 0x00)) 6010 { 6011 If (LEqual (Arg1, 0x01)) 6012 { 6013 If (\H8DR) 6014 { 6015 Or (\_SB.PCI0.ISA.EC.HAM6, 0x80, \_SB.PCI0.ISA.EC.HAM6) 6016 } 6017 Else 6018 { 6019 \MBEC (0x16, 0xFF, 0x80) 6020 } 6021 } 6022 6023 If (LEqual (Arg1, 0x00)) 6024 { 6025 If (\H8DR) 6026 { 6027 And (\_SB.PCI0.ISA.EC.HAM6, 0x7F, \_SB.PCI0.ISA.EC.HAM6) 6028 } 6029 Else 6030 { 6031 \MBEC (0x16, 0x7F, 0x00) 6032 } 6033 } 6034 6035 If (LEqual (Arg1, 0x02)) 6036 { 6037 If (\H8DR) 6038 { 6039 If (And (\_SB.PCI0.ISA.EC.HAM6, 0x80)) 6040 { 6041 Store (0x01, Local0) 6042 } 6043 } 6044 Else 6045 { 6046 If (And (\RBEC (0x16), 0x80)) 6047 { 6048 Store (0x01, Local0) 6049 } 6050 } 6051 } 6052 } 6053 6054 If (LEqual (Arg0, 0x01)) 6055 { 6056 If (LEqual (Arg1, 0x01)) 6057 { 6058 If (\H8DR) 6059 { 6060 Or (\_SB.PCI0.ISA.EC.HAMA, 0x01, \_SB.PCI0.ISA.EC.HAMA) 6061 } 6062 Else 6063 { 6064 \MBEC (0x1A, 0xFF, 0x01) 6065 } 6066 } 6067 6068 If (LEqual (Arg1, 0x00)) 6069 { 6070 If (\H8DR) 6071 { 6072 And (\_SB.PCI0.ISA.EC.HAMA, 0xFE, \_SB.PCI0.ISA.EC.HAMA) 6073 } 6074 Else 6075 { 6076 \MBEC (0x1A, 0xFE, 0x00) 6077 } 6078 } 6079 6080 If (LEqual (Arg1, 0x02)) 6081 { 6082 If (\H8DR) 6083 { 6084 If (And (\_SB.PCI0.ISA.EC.HAMA, 0x01)) 6085 { 6086 Store (0x01, Local0) 6087 } 6088 } 6089 Else 6090 { 6091 If (And (\RBEC (0x1A), 0x01)) 6092 { 6093 Store (0x01, Local0) 6094 } 6095 } 6096 } 6097 } 6098 6099 Return (Local0) 6100 } 6101 6102 Method (DDWK, 1, NotSerialized) 6103 { 6104 Store (0x00, Local0) 6105 If (LEqual (Arg0, 0x01)) 6106 { 6107 If (\H8DR) 6108 { 6109 Store (One, \_SB.PCI0.ISA.EC.HWDK) 6110 } 6111 Else 6112 { 6113 \MBEC (0x32, 0xFF, 0x08) 6114 } 6115 } 6116 6117 If (LEqual (Arg0, 0x00)) 6118 { 6119 If (\H8DR) 6120 { 6121 Store (Zero, \_SB.PCI0.ISA.EC.HWDK) 6122 } 6123 Else 6124 { 6125 \MBEC (0x32, 0xF7, 0x00) 6126 } 6127 } 6128 6129 If (LEqual (Arg0, 0x02)) 6130 { 6131 If (\H8DR) 6132 { 6133 If (\_SB.PCI0.ISA.EC.HWDK) 6134 { 6135 Store (0x01, Local0) 6136 } 6137 } 6138 Else 6139 { 6140 If (And (\RBEC (0x32), 0x08)) 6141 { 6142 Store (0x01, Local0) 6143 } 6144 } 6145 } 6146 6147 Return (Local0) 6148 } 6149 6150 Method (DGPE, 0, NotSerialized) 6151 { 6152 If (\WMEF) 6153 { 6154 DFLG (0x00, 0x0100) 6155 } 6156 6157 If (DFLG (0x02, 0x0100)) 6158 { 6159 DFLG (0x00, 0x08) 6160 } 6161 Else 6162 { 6163 Or (DHKE, 0x2004, DHKE) 6164 If (\W98F) 6165 { 6166 Notify (\_SB.PCI0.DOCK, 0x01) 6167 } 6168 Else 6169 { 6170 \_SB.PCI0.ISA.EC.HKEY.MHKQ (DHKE) 6171 Notify (\_SB.PCI0.DOCK, 0x03) 6172 } 6173 } 6174 } 6175 6176 Event (DEVT) 6177 Method (BCON, 1, NotSerialized) 6178 { 6179 If (LAnd (Arg0, \_SB.PCI0.ISA.BUSC)) 6180 { 6181 Return (0x00) 6182 } 6183 6184 If (LAnd (LNot (Arg0), \_SB.PCI0.ISA.BUSD)) 6185 { 6186 Return (0x00) 6187 } 6188 6189 Store (DATT (0x00, 0x02), Local0) 6190 DATT (0x00, 0x01) 6191 Reset (DEVT) 6192 If (Arg0) 6193 { 6194 Sleep (0xC8) 6195 Store (0x00, \_SB.PCI0.ISA.BUSD) 6196 Store (0x01, \_SB.PCI0.ISA.BUSC) 6197 } 6198 Else 6199 { 6200 Store (0x00, \_SB.PCI0.ISA.BUSC) 6201 Store (0x01, \_SB.PCI0.ISA.BUSD) 6202 } 6203 6204 Wait (DEVT, 0xFFFF) 6205 If (LNot (Local0)) 6206 { 6207 DATT (0x00, 0x00) 6208 } 6209 } 6210 6211 Method (LTCY, 0, NotSerialized) 6212 { 6213 If (LEqual (GDID (), 0x4A004D24)) 6214 { 6215 LDEV (0x00) 6216 LDEV (0x01) 6217 LCBS (0x02) 6218 } 6219 } 6220 6221 Method (LDEV, 1, NotSerialized) 6222 { 6223 Or (0x80000000, ShiftLeft (\RPCI (0x80002019), 0x10), Local0) 6224 Or (Local0, ShiftLeft (Arg0, 0x0B), Local0) 6225 Store (0x00, Local1) 6226 While (LLess (Local1, 0x08)) 6227 { 6228 Or (Local0, ShiftLeft (Local1, 0x08), Local2) 6229 Store (\RPCI (Or (Local2, 0x02)), Local3) 6230 Store (\RPCI (Or (Local2, 0x03)), Local4) 6231 If (LOr (LNot (LEqual (Local3, 0xFF)), LNot (LEqual (Local4, 0xFF)))) 6232 { 6233 Store (\RPCI (Or (Local2, 0x0E)), Local5) 6234 If (LNot (Local5)) 6235 { 6236 Store (\RPCI (Or (Local2, 0x3E)), Local6) 6237 If (LNot (LGreater (Local6, 0x08))) 6238 { 6239 Store (0x40, Local7) 6240 } 6241 Else 6242 { 6243 If (LNot (LGreater (Local6, 0x1F))) 6244 { 6245 Store (Multiply (Local6, 0x08), Local7) 6246 } 6247 Else 6248 { 6249 Store (0xD0, Local7) 6250 } 6251 } 6252 6253 \WPCI (Or (Local2, 0x0D), Local7) 6254 \WPCI (Or (Local2, 0x0C), 0x08) 6255 } 6256 } 6257 6258 Increment (Local1) 6259 } 6260 } 6261 6262 Method (LCBS, 1, NotSerialized) 6263 { 6264 Or (0x80000000, ShiftLeft (\RPCI (0x80002019), 0x10), Local0) 6265 Or (Local0, ShiftLeft (Arg0, 0x0B), Local0) 6266 Store (0x00, Local1) 6267 While (LLess (Local1, 0x02)) 6268 { 6269 Or (Local0, ShiftLeft (Local1, 0x08), Local2) 6270 \WPCI (Or (Local2, 0x0C), 0x08) 6271 \WPCI (Or (Local2, 0x0D), 0x40) 6272 \WPCI (Or (Local2, 0x1B), 0x80) 6273 Increment (Local1) 6274 } 6275 } 6276 6277 Method (SSU2, 1, NotSerialized) 6278 { 6279 If (Arg0) 6280 { 6281 Store (0x01, \_SB.PCI0.PM00.S2DS) 6282 Store (0x01, \_SB.PCI0.ISA.SUS2) 6283 } 6284 Else 6285 { 6286 Store (0x00, \_SB.PCI0.ISA.SUS2) 6287 Store (0x00, \_SB.PCI0.PM00.S2DS) 6288 } 6289 } 6290 6291 Scope (\_SB.PCI0.ISA.EC) 6292 { 6293 Method (_Q37, 0, NotSerialized) 6294 { 6295 If (\_SB.PCI0.ISA.SCIS) 6296 { 6297 Store (\_SB.PCI0.ISA.SCIR, Local0) 6298 If (LEqual (Local0, 0x00)) 6299 { 6300 If (LNot (\_SB.PCI0.DOCK.GDID ())) 6301 { 6302 Store (0xFFFFFFFF, \_SB.PCI0.DOCK.DOID) 6303 Notify (\_SB.PCI0.DOCK, 0x00) 6304 } 6305 } 6306 6307 If (LAnd (LEqual (Local0, 0x02), \_SB.PCI0.ISA.BUSC)) 6308 { 6309 Signal (\_SB.PCI0.DOCK.DEVT) 6310 } 6311 6312 If (LAnd (LEqual (Local0, 0x03), \_SB.PCI0.ISA.BUSD)) 6313 { 6314 Signal (\_SB.PCI0.DOCK.DEVT) 6315 } 6316 6317 Store (0x00, \_SB.PCI0.ISA.SCIS) 6318 } 6319 } 6320 6321 Method (_Q50, 0, NotSerialized) 6322 { 6323 If (\_SB.PCI0.DOCK.GDID ()) 6324 { 6325 If (\W98F) 6326 { 6327 Notify (\_SB.PCI0.DOCK, 0x01) 6328 } 6329 Else 6330 { 6331 Notify (\_SB.PCI0.DOCK, 0x03) 6332 } 6333 } 6334 } 6335 } 6336 6337 OperationRegion (PPBR, PCI_Config, 0x00, 0x0100) 6338 Field (PPBR, DWordAcc, NoLock, Preserve) 6339 { 6340 Offset (0x40), 6341 SVID, 16, 6342 SSID, 16, 6343 Offset (0x66), 6344 SDCL, 8, 6345 PDCL, 8, 6346 Offset (0x6C), 6347 SCAD, 8, 6348 BUFC, 8, 6349 Offset (0x6F), 6350 CLKR, 8, 6351 Offset (0x76), 6352 PG0D, 1, 6353 PG1D, 1, 6354 PG2D, 1, 6355 PG3D, 1, 6356 SG0D, 1, 6357 SG1D, 1, 6358 SG2D, 1, 6359 SG3D, 1, 6360 PG0O, 1, 6361 PG1O, 1, 6362 PG2O, 1, 6363 PG3O, 1, 6364 SG0O, 1, 6365 SG1O, 1, 6366 SG2O, 1, 6367 SG3O, 1, 6368 Offset (0x79), 6369 SIRQ, 8, 6370 ARMK, 8 6371 } 6372 6373 Method (PPIN, 0, NotSerialized) 6374 { 6375 Or (ShiftRight (0x00040000, 0x05), 0x80000000, Local0) 6376 Store (\RPCI (Or (Local0, 0x84)), Local1) 6377 If (LAnd (Local1, 0x03)) 6378 { 6379 \WPCI (Or (Local0, 0x84), And (Local1, 0xFC)) 6380 Sleep (0x0A) 6381 } 6382 6383 If (\W98F) 6384 { 6385 \WPCI (Or (Local0, 0x1C), 0xF0) 6386 \WPCI (Or (Local0, 0x1D), 0x00) 6387 \WPCI (Or (Local0, 0x20), 0xF0) 6388 \WPCI (Or (Local0, 0x21), 0xFF) 6389 \WPCI (Or (Local0, 0x22), 0x00) 6390 \WPCI (Or (Local0, 0x23), 0x00) 6391 \WPCI (Or (Local0, 0x24), 0xF0) 6392 \WPCI (Or (Local0, 0x25), 0xFF) 6393 \WPCI (Or (Local0, 0x26), 0x00) 6394 \WPCI (Or (Local0, 0x27), 0x00) 6395 } 6396 6397 \WPCI (Or (Local0, 0x19), 0x08) 6398 \WPCI (Or (Local0, 0x1A), 0x0E) 6399 \WPCI (Or (Local0, 0x0C), 0x08) 6400 \WPCI (Or (Local0, 0x0D), 0x40) 6401 \WPCI (Or (Local0, 0x1B), 0x44) 6402 Store (0x1014, SVID) 6403 Store (0xE3, SSID) 6404 Or (And (SDCL, 0x00), 0x01, SDCL) 6405 Or (And (PDCL, 0x00), 0x01, PDCL) 6406 Or (And (SCAD, 0x02), 0xB0, SCAD) 6407 Or (And (BUFC, 0x00), 0x1F, BUFC) 6408 Or (And (CLKR, 0x00), 0x0C, CLKR) 6409 Or (And (SIRQ, 0x00), 0x23, SIRQ) 6410 Or (And (ARMK, 0x00), 0x38, ARMK) 6411 PPFD () 6412 PPUB (0x01) 6413 PPMX () 6414 } 6415 6416 Method (PPEN, 1, NotSerialized) 6417 { 6418 Or (0x80000000, ShiftRight (0x00040000, 0x05), Local0) 6419 If (Arg0) 6420 { 6421 \MPCI (Or (Local0, 0x04), 0xFF, 0x07) 6422 } 6423 Else 6424 { 6425 \MPCI (Or (Local0, 0x04), 0xF8, 0x00) 6426 } 6427 } 6428 6429 Method (PPRS, 0, NotSerialized) 6430 { 6431 Or (0x80000000, ShiftRight (0x00040000, 0x05), Local0) 6432 \MPCI (Or (Local0, 0x3E), 0xFF, 0x40) 6433 Sleep (0x64) 6434 \MPCI (Or (Local0, 0x3E), 0xBF, 0x00) 6435 } 6436 6437 Method (PPFD, 0, NotSerialized) 6438 { 6439 Store (0x01, SG1D) 6440 If (LEqual (\_SB.PCI0.ISA.EC.GDEV (0x03), 0x0D)) 6441 { 6442 Store (0x01, \_SB.PCI0.ISA.FDC.DCFD) 6443 Store (0x01, SG1O) 6444 } 6445 Else 6446 { 6447 Store (0x00, \_SB.PCI0.ISA.FDC.DCFD) 6448 Store (0x00, SG1O) 6449 } 6450 } 6451 6452 Method (PPUB, 1, NotSerialized) 6453 { 6454 Store (0x00, SG3D) 6455 If (Arg0) 6456 { 6457 Store (0x00, PG3O) 6458 } 6459 Else 6460 { 6461 Store (0x01, PG3O) 6462 } 6463 6464 Store (0x01, PG3D) 6465 } 6466 6467 Method (PPMX, 0, NotSerialized) 6468 { 6469 Store (\RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0) 6470 Or (0x80000000, ShiftLeft (Local0, 0x10), Local0) 6471 Store (0x04, Local1) 6472 Store (0x00, Local2) 6473 While (Local1) 6474 { 6475 Decrement (Local1) 6476 ShiftLeft (Local2, 0x08, Local2) 6477 Or (Local2, \RPCI (Or (Local0, Local1)), Local2) 6478 } 6479 6480 If (LEqual (Local2, 0x00213388)) 6481 { 6482 Or (SDCL, 0x04, SDCL) 6483 } 6484 } 6485 6486 Device (IDE1) 6487 { 6488 Name (_ADR, 0x00010000) 6489 OperationRegion (IDEC, PCI_Config, 0x00, 0x0100) 6490 Field (IDEC, DWordAcc, NoLock, Preserve) 6491 { 6492 Offset (0x4F), 6493 , 2, 6494 ENCL, 1, 6495 Offset (0x50), 6496 Offset (0x51), 6497 , 2, 6498 PRMC, 1, 6499 SNDC, 1, 6500 Offset (0x52), 6501 XCMT, 8, 6502 , 6, 6503 XAR0, 2, 6504 XDRR, 4, 6505 XDRW, 4, 6506 Offset (0x73), 6507 XUDM, 1, 6508 , 1, 6509 XUDC, 1, 6510 , 1, 6511 XUDT, 2, 6512 Offset (0x74) 6513 } 6514 6515 Method (DREG, 2, NotSerialized) 6516 { 6517 If (LEqual (Arg0, 0x02)) 6518 { 6519 If (Arg1) 6520 { 6521 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6522 { 6523 If (LNot (And (\_SB.PCI0.DOCK.SCAD, 0x02))) 6524 { 6525 Store (0x01, PRMC) 6526 Store (0x01, SNDC) 6527 } 6528 } 6529 6530 If (\W98F) 6531 { 6532 RAID () 6533 } 6534 } 6535 } 6536 } 6537 6538 Method (RAID, 0, NotSerialized) 6539 { 6540 Store (0x01, ENCL) 6541 Store (\RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0) 6542 Or (0x80000000, ShiftLeft (Local0, 0x10), Local0) 6543 Or (Local0, ShiftRight (_ADR, 0x05), Local0) 6544 Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0) 6545 \WPCI (Or (Local0, 0x0A), 0x04) 6546 Store (0x00, ENCL) 6547 } 6548 6549 Method (_STA, 0, NotSerialized) 6550 { 6551 Store (0x00, Local0) 6552 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6553 { 6554 If (LNot (And (\_SB.PCI0.DOCK.SCAD, 0x02))) 6555 { 6556 Store (0x0F, Local0) 6557 } 6558 } 6559 6560 Return (Local0) 6561 } 6562 6563 Device (PRIM) 6564 { 6565 Name (_ADR, 0x00) 6566 Method (_GTM, 0, NotSerialized) 6567 { 6568 Store (0x12, Local4) 6569 If (XCMT) 6570 { 6571 If (XDRR) 6572 { 6573 If (LEqual (XDRR, 0x0F)) 6574 { 6575 Store (0x01, Local0) 6576 } 6577 Else 6578 { 6579 Add (0x01, XDRR, Local0) 6580 } 6581 } 6582 Else 6583 { 6584 Store (0x10, Local0) 6585 } 6586 6587 If (XDRW) 6588 { 6589 Store (XDRW, Local1) 6590 } 6591 Else 6592 { 6593 Store (0x10, Local1) 6594 } 6595 6596 Add (Local0, Local1, Local0) 6597 Multiply (0x1E, Local0, Local0) 6598 If (LGreater (Local0, 0xF0)) 6599 { 6600 Store (0x0384, Local0) 6601 } 6602 6603 Store (Local0, Local1) 6604 } 6605 Else 6606 { 6607 Store (0x00, Local0) 6608 } 6609 6610 Store (Local0, Local1) 6611 If (XUDM) 6612 { 6613 Or (Local4, 0x01, Local4) 6614 If (XUDC) 6615 { 6616 Add (XUDT, 0x01, Local1) 6617 Multiply (0x0F, Local1, Local1) 6618 } 6619 Else 6620 { 6621 Add (XUDT, 0x01, Local1) 6622 Multiply (0x1E, Local1, Local1) 6623 If (LEqual (Local1, 0x5A)) 6624 { 6625 Store (0x50, Local1) 6626 } 6627 } 6628 } 6629 6630 Store (Local0, \GTP0) 6631 Store (Local1, \GTD0) 6632 Store (0x00, \GTP1) 6633 Store (0x00, \GTD1) 6634 Store (Local4, \GTMF) 6635 Return (\BGTM) 6636 } 6637 6638 Method (_STM, 3, NotSerialized) 6639 { 6640 CreateDWordField (Arg0, 0x00, STP0) 6641 CreateDWordField (Arg0, 0x04, STD0) 6642 CreateDWordField (Arg0, 0x08, STP1) 6643 CreateDWordField (Arg0, 0x0C, STD1) 6644 CreateDWordField (Arg0, 0x10, STMF) 6645 If (SizeOf (Arg1)) 6646 { 6647 CreateWordField (Arg1, 0x01, DM00) 6648 If (DM00) 6649 { 6650 Store (One, Local5) 6651 } 6652 Else 6653 { 6654 Store (Zero, Local5) 6655 } 6656 } 6657 Else 6658 { 6659 Store (Zero, Local5) 6660 } 6661 6662 If (Local5) 6663 { 6664 If (W98F) 6665 { 6666 CreateWordField (Arg1, 0x66, DM51) 6667 CreateWordField (Arg1, 0x6A, DM53) 6668 CreateWordField (Arg1, 0x7C, DM62) 6669 CreateWordField (Arg1, 0x7E, DM63) 6670 CreateWordField (Arg1, 0x80, DM64) 6671 CreateWordField (Arg1, 0x82, DM65) 6672 CreateWordField (Arg1, 0x88, DM68) 6673 CreateWordField (Arg1, 0xB0, DM88) 6674 Store (\UDMA (DM53, DM88), Local0) 6675 Store (\MDMA (DM53, DM63, DM62, DM65), Local1) 6676 Store (\MPIO (DM53, DM64, DM51, DM68), Local2) 6677 } 6678 Else 6679 { 6680 Store (\MPIB (And (STMF, 0x02), STP0), Local2) 6681 Store (\UDMB (And (STMF, 0x01), STD0), Local0) 6682 Store (\MDMB (STD0), Local1) 6683 } 6684 6685 Store (And (DM00, 0x80), \IDKS) 6686 Store (\CART (Local2), XAR0) 6687 Store (\CCMD (Local2), XCMT) 6688 Store (\CDRW (Local1, Local2), Local3) 6689 And (Local3, 0x0F, XDRR) 6690 ShiftRight (Local3, 0x04, XDRW) 6691 If (Local0) 6692 { 6693 Store (0x01, XUDM) 6694 If (LNot (LGreater (Local0, 0x03))) 6695 { 6696 Store (0x00, XUDC) 6697 } 6698 Else 6699 { 6700 Store (0x01, XUDC) 6701 } 6702 6703 Store (\CUDC (Local0), XUDT) 6704 } 6705 6706 Store (\MHDM (Local0, Local1), \HDM3) 6707 Store (\MHDM (Local0, Local1), \CDM3) 6708 Store (\MHPI (Local2), \HPI3) 6709 Store (\MHPI (Local2), \CPI3) 6710 } 6711 } 6712 6713 Device (MSTR) 6714 { 6715 Name (_ADR, 0x00) 6716 Method (_GTF, 0, NotSerialized) 6717 { 6718 If (\IDKS) 6719 { 6720 Return (\ICC3) 6721 } 6722 Else 6723 { 6724 Return (\ICM3) 6725 } 6726 } 6727 } 6728 } 6729 } 6730 6731 Device (CBS2) 6732 { 6733 Name (_ADR, 0x00020000) 6734 Method (_STA, 0, NotSerialized) 6735 { 6736 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6737 { 6738 Return (0x0F) 6739 } 6740 Else 6741 { 6742 Return (0x00) 6743 } 6744 } 6745 6746 Method (DREG, 2, NotSerialized) 6747 { 6748 If (LAnd (LEqual (Arg0, 0x02), LEqual (Arg1, 0x01))) 6749 { 6750 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6751 { 6752 ICFG () 6753 } 6754 } 6755 } 6756 6757 OperationRegion (CBUS, PCI_Config, 0x00, 0x0100) 6758 Field (CBUS, DWordAcc, NoLock, Preserve) 6759 { 6760 Offset (0x44), 6761 LGDC, 32, 6762 Offset (0x80), 6763 SYSC, 32, 6764 Offset (0x8C), 6765 MULR, 32, 6766 RSTS, 8, 6767 CCTL, 8, 6768 DCTL, 8, 6769 DIAG, 8 6770 } 6771 6772 Method (ICFG, 0, NotSerialized) 6773 { 6774 Store (RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0) 6775 Or (0x80000000, ShiftLeft (Local0, 0x10), Local0) 6776 Or (Local0, ShiftRight (_ADR, 0x05), Local0) 6777 Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0) 6778 \WPCI (Or (Local0, 0x0C), 0x08) 6779 \WPCI (Or (Local0, 0x0D), 0xA8) 6780 \WPCI (Or (Local0, 0x1B), 0x80) 6781 Or (And (LGDC, 0x00), 0x00, LGDC) 6782 Or (And (SYSC, 0x00FFFF00), 0x2864C077, SYSC) 6783 Or (And (MULR, 0x00), 0x1002, MULR) 6784 Or (And (RSTS, 0x00), 0xC0, RSTS) 6785 Or (And (CCTL, 0x7B), 0x02, CCTL) 6786 Or (And (DCTL, 0x00), 0x66, DCTL) 6787 Or (And (DIAG, 0x1E), 0x40, DIAG) 6788 } 6789 } 6790 6791 Device (CBS3) 6792 { 6793 Name (_ADR, 0x00020001) 6794 Method (_STA, 0, NotSerialized) 6795 { 6796 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6797 { 6798 Return (0x0F) 6799 } 6800 Else 6801 { 6802 Return (0x00) 6803 } 6804 } 6805 6806 Method (DREG, 2, NotSerialized) 6807 { 6808 If (LAnd (LEqual (Arg0, 0x02), LEqual (Arg1, 0x01))) 6809 { 6810 If (LEqual (\_SB.PCI0.DOCK.GDID (), 0x4A004D24)) 6811 { 6812 ICFG () 6813 } 6814 } 6815 } 6816 6817 OperationRegion (CBUS, PCI_Config, 0x00, 0x0100) 6818 Field (CBUS, DWordAcc, NoLock, Preserve) 6819 { 6820 Offset (0x44), 6821 LGDC, 32, 6822 Offset (0x80), 6823 SYSC, 32, 6824 Offset (0x8C), 6825 MULR, 32, 6826 RSTS, 8, 6827 CCTL, 8, 6828 DCTL, 8, 6829 DIAG, 8 6830 } 6831 6832 Method (ICFG, 0, NotSerialized) 6833 { 6834 Store (RPCI (Or (0x80000019, ShiftRight (0x00040000, 0x05))), Local0) 6835 Or (0x80000000, ShiftLeft (Local0, 0x10), Local0) 6836 Or (Local0, ShiftRight (_ADR, 0x05), Local0) 6837 Or (Local0, ShiftLeft (And (_ADR, 0x07), 0x08), Local0) 6838 \WPCI (Or (Local0, 0x0C), 0x08) 6839 \WPCI (Or (Local0, 0x0D), 0xA8) 6840 \WPCI (Or (Local0, 0x1B), 0x80) 6841 Or (And (LGDC, 0x00), 0x00, LGDC) 6842 Or (And (SYSC, 0x00FFFF00), 0x2864C077, SYSC) 6843 Or (And (MULR, 0x00), 0x1002, MULR) 6844 Or (And (RSTS, 0x00), 0xC0, RSTS) 6845 Or (And (CCTL, 0x7B), 0x02, CCTL) 6846 Or (And (DCTL, 0x00), 0x66, DCTL) 6847 Or (And (DIAG, 0x1E), 0x40, DIAG) 6848 } 6849 } 6850 } 6851 } 6852 6853 Scope (\_SB.PCI0.ISA.EC) 6854 { 6855 Name (BDEV, 0x00) 6856 Name (BSTS, 0x00) 6857 Name (BHKE, 0x00) 6858 Name (BXCN, 0x00) 6859 Method (_Q2C, 0, NotSerialized) 6860 { 6861 If (LEqual (BSTS, 0x00)) 6862 { 6863 Store (GUID (), BDEV) 6864 If (BXCN) 6865 { 6866 NXRE (BDEV) 6867 } 6868 Else 6869 { 6870 NBRE (BDEV) 6871 } 6872 } 6873 } 6874 6875 Method (_Q2D, 0, NotSerialized) 6876 { 6877 Store (GUID (), BDEV) 6878 If (BXCN) 6879 { 6880 NXRC (BDEV) 6881 } 6882 Else 6883 { 6884 NBIN (BDEV) 6885 } 6886 } 6887 6888 Method (_Q38, 0, NotSerialized) 6889 { 6890 Store (GUID (), Local0) 6891 If (LAnd (BDEV, LNot (LEqual (Local0, BDEV)))) 6892 { 6893 If (LEqual (Local0, 0x0F)) 6894 { 6895 BDIS () 6896 If (BXCN) 6897 { 6898 Store (BDEV, Local0) 6899 Store (0x0F, BDEV) 6900 NXEJ (Local0) 6901 } 6902 Else 6903 { 6904 NBEJ (BDEV) 6905 Store (Local0, BDEV) 6906 } 6907 } 6908 Else 6909 { 6910 If (HPBU) 6911 { 6912 If (BXCN) 6913 { 6914 Store (Local0, BDEV) 6915 NXIN (Local0) 6916 } 6917 } 6918 Else 6919 { 6920 Store (Local0, BDEV) 6921 If (BXCN) 6922 { 6923 NXRC (Local0) 6924 } 6925 Else 6926 { 6927 NBIN (Local0) 6928 } 6929 } 6930 } 6931 } 6932 } 6933 6934 Method (NBRE, 1, NotSerialized) 6935 { 6936 If (LEqual (Arg0, 0x0D)) 6937 { 6938 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x03) 6939 } 6940 6941 If (LLess (Arg0, 0x0C)) 6942 { 6943 Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x03) 6944 } 6945 6946 If (LEqual (Arg0, 0x10)) 6947 { 6948 If (LOr (HPAC, HB0A)) 6949 { 6950 If (\WNTF) 6951 { 6952 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x03) 6953 } 6954 } 6955 Else 6956 { 6957 BLED (0x02, 0x01) 6958 BEEP (0x0F) 6959 Store (0x02, BSTS) 6960 } 6961 } 6962 } 6963 6964 Method (NBEJ, 1, NotSerialized) 6965 { 6966 If (LEqual (BSTS, 0x00)) 6967 { 6968 If (LEqual (Arg0, 0x0D)) 6969 { 6970 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01) 6971 } 6972 6973 If (LLess (Arg0, 0x0C)) 6974 { 6975 Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x01) 6976 } 6977 6978 If (LEqual (Arg0, 0x10)) 6979 { 6980 If (\WNTF) 6981 { 6982 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x01) 6983 } 6984 Else 6985 { 6986 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81) 6987 } 6988 } 6989 } 6990 6991 BLED (0x00, 0x00) 6992 BEEP (0x00) 6993 Store (0x00, BSTS) 6994 } 6995 6996 Method (NBIN, 1, NotSerialized) 6997 { 6998 If (LEqual (Arg0, 0x0D)) 6999 { 7000 BEN (0x00) 7001 \SFDD (0x00) 7002 BLED (0x02, 0x00) 7003 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01) 7004 } 7005 7006 If (LLess (Arg0, 0x0C)) 7007 { 7008 If (LEqual (Arg0, 0x06)) 7009 { 7010 BEN (0x02) 7011 } 7012 Else 7013 { 7014 BEN (0x01) 7015 } 7016 7017 BLED (0x02, 0x00) 7018 Notify (\_SB.PCI0.IDE0.SCND.MSTR, 0x01) 7019 } 7020 7021 If (LEqual (Arg0, 0x10)) 7022 { 7023 BLED (0x02, 0x00) 7024 If (\WNTF) 7025 { 7026 Store (0x01, \_SB.PCI0.ISA.EC.BAT1.XB1S) 7027 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x01) 7028 } 7029 Else 7030 { 7031 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81) 7032 } 7033 } 7034 7035 BEEP (0x00) 7036 Store (0x00, BSTS) 7037 } 7038 7039 Method (BEJ0, 1, NotSerialized) 7040 { 7041 If (Arg0) 7042 { 7043 BDIS () 7044 BLED (0x00, 0x00) 7045 \BHDP (0x00) 7046 Store (0x01, BSTS) 7047 If (BHKE) 7048 { 7049 Store (0x00, BHKE) 7050 \_SB.PCI0.ISA.EC.HKEY.MHKQ (0x3003) 7051 } 7052 } 7053 Else 7054 { 7055 BLED (0x02, 0x00) 7056 Store (0x00, BSTS) 7057 } 7058 } 7059 7060 Method (BEJ3, 1, NotSerialized) 7061 { 7062 If (Arg0) 7063 { 7064 Store (0x83, BF_Z) 7065 Store (0x83, BF_D) 7066 Store (0x83, BZIP) 7067 Store (0x83, BDVD) 7068 Store (0x83, BHFD) 7069 Store (0x83, BF_H) 7070 Store (0x83, BHDD) 7071 Store (0x83, BLS) 7072 Store (0x83, BF_C) 7073 Store (0x83, BCRW) 7074 Store (0x83, BCD) 7075 Store (0x83, BFDD) 7076 BDIS () 7077 Store (0x01, BSTS) 7078 } 7079 Else 7080 { 7081 Store (0x81, BF_Z) 7082 Store (0x81, BF_D) 7083 Store (0x81, BZIP) 7084 Store (0x81, BDVD) 7085 Store (0x81, BHFD) 7086 Store (0x81, BF_H) 7087 Store (0x81, BHDD) 7088 Store (0x81, BLS) 7089 Store (0x81, BF_C) 7090 Store (0x81, BCRW) 7091 Store (0x81, BCD) 7092 Store (0x81, BFDD) 7093 Store (0x00, BSTS) 7094 } 7095 } 7096 7097 Method (BPTS, 1, NotSerialized) 7098 { 7099 If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05)))) {} 7100 Else 7101 { 7102 If (LNot (LEqual (BSTS, 0x00))) 7103 { 7104 Store (0x0F, BDEV) 7105 Store (0x00, BSTS) 7106 } 7107 7108 Store (0x00, BHKE) 7109 If (LNot (LEqual (BDEV, 0x0F))) 7110 { 7111 BLDT (0x00) 7112 BUWK (0x01) 7113 } 7114 Else 7115 { 7116 BLDT (0x01) 7117 BUWK (0x00) 7118 } 7119 } 7120 } 7121 7122 Method (BWAK, 1, NotSerialized) 7123 { 7124 If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05)))) {} 7125 Else 7126 { 7127 BUWK (0x00) 7128 Store (GUID (), Local0) 7129 If (LGreater (Local0, 0x0E)) 7130 { 7131 BDIS () 7132 } 7133 7134 \_SB.PCI0.ISA.FDC._INI () 7135 If (LNot (LEqual (Local0, 0x0D))) 7136 { 7137 If (LEqual (\_SB.PCI0.ISA.FDC.FD0S, \_SB.PCI0.ISA.EC.HPNF)) 7138 { 7139 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01) 7140 } 7141 } 7142 7143 If (LEqual (BSTS, 0x00)) 7144 { 7145 If (LNot (LEqual (Local0, BDEV))) 7146 { 7147 If (BXCN) 7148 { 7149 Store (Local0, BDEV) 7150 NXRC (Local0) 7151 } 7152 Else 7153 { 7154 NBEJ (BDEV) 7155 Store (Local0, BDEV) 7156 NBIN (Local0) 7157 } 7158 } 7159 Else 7160 { 7161 If (LNot (LEqual (Local0, 0x0F))) 7162 { 7163 BLED (0x02, 0x00) 7164 If (HPBU) 7165 { 7166 Or (ShiftLeft (Arg0, 0x08), 0x2005, BHKE) 7167 \_SB.PCI0.ISA.EC.HKEY.MHKQ (BHKE) 7168 If (LNot (LGreater (Arg0, 0x02))) {} 7169 Else 7170 { 7171 If (BXCN) 7172 { 7173 NXRE (Local0) 7174 } 7175 Else 7176 { 7177 NBRE (Local0) 7178 } 7179 } 7180 } 7181 } 7182 } 7183 } 7184 } 7185 } 7186 7187 Method (BDIS, 0, NotSerialized) 7188 { 7189 \SFDD (0x01) 7190 Store (0x00, \_SB.PCI0.IDE0.XSI0) 7191 Store (0x01, \_SB.PCI0.ISA.GCRC) 7192 Store (0x01, \_SB.PCI0.PM00.ULON) 7193 Store (0x01, \_SB.PCI0.PM00.CSON) 7194 } 7195 7196 Method (BEN, 1, NotSerialized) 7197 { 7198 If (LNot (LOr (\_SB.PCI0.PM00.ULON, \_SB.PCI0.PM00.CSON))) 7199 { 7200 Return (0x00) 7201 } 7202 7203 If (Arg0) 7204 { 7205 Store (0x00, \_SB.PCI0.IDE0.XSE) 7206 Stall (0x05) 7207 } 7208 7209 Store (0x00, \_SB.PCI0.PM00.URST) 7210 Store (0x00, \_SB.PCI0.PM00.ULON) 7211 Store (0x00, \_SB.PCI0.PM00.CSON) 7212 Sleep (0x0F) 7213 If (Arg0) 7214 { 7215 Store (0x00, \_SB.PCI0.ISA.GCRC) 7216 Store (0x01, \_SB.PCI0.IDE0.XSE) 7217 Stall (0x2D) 7218 } 7219 7220 Store (0x01, \_SB.PCI0.PM00.URST) 7221 Sleep (0x14) 7222 If (Arg0) 7223 { 7224 Sleep (0x0190) 7225 If (LEqual (Arg0, 0x02)) 7226 { 7227 Sleep (0x07D0) 7228 } 7229 } 7230 } 7231 7232 Method (BSTA, 1, NotSerialized) 7233 { 7234 If (\_SB.PCI0.PM00.CSON) 7235 { 7236 Return (0x00) 7237 } 7238 7239 Store (GUID (), Local0) 7240 If (LEqual (Arg0, 0x00)) 7241 { 7242 Return (LEqual (Local0, 0x0D)) 7243 } 7244 7245 If (LEqual (Arg0, 0x01)) 7246 { 7247 Return (LLess (Local0, 0x0D)) 7248 } 7249 7250 Return (0x00) 7251 } 7252 7253 Method (BLED, 2, NotSerialized) 7254 { 7255 If (\H8DR) 7256 { 7257 Acquire (LEDM, 0xFFFF) 7258 Store (0x18, HLMS) 7259 If (Arg1) 7260 { 7261 Store (0x18, HLBL) 7262 } 7263 Else 7264 { 7265 Store (0x00, HLBL) 7266 } 7267 7268 If (LEqual (Arg0, 0x00)) 7269 { 7270 Store (0x00, HLCL) 7271 } 7272 Else 7273 { 7274 If (LEqual (Arg0, 0x01)) 7275 { 7276 Store (0x08, HLCL) 7277 } 7278 Else 7279 { 7280 If (LEqual (Arg0, 0x02)) 7281 { 7282 Store (0x10, HLCL) 7283 } 7284 Else 7285 { 7286 } 7287 } 7288 } 7289 7290 Sleep (0x0A) 7291 Release (LEDM) 7292 } 7293 } 7294 7295 Name (BF_Z, 0x83) 7296 Name (BF_D, 0x83) 7297 Name (BZIP, 0x83) 7298 Name (BDVD, 0x83) 7299 Name (BHFD, 0x83) 7300 Name (BF_H, 0x83) 7301 Name (BHDD, 0x83) 7302 Name (BADP, 0x00) 7303 Name (BLS, 0x83) 7304 Name (BF_C, 0x83) 7305 Name (BCRW, 0x83) 7306 Name (BCD, 0x83) 7307 Name (BR01, 0x00) 7308 Name (BFDD, 0x83) 7309 Name (BIMP, 0x00) 7310 Name (BNON, 0x83) 7311 Method (BLDT, 1, NotSerialized) 7312 { 7313 AI2C () 7314 If (Arg0) 7315 { 7316 Store (BF_Z, HF_Z) 7317 Store (BF_D, HF_D) 7318 Store (BZIP, HZIP) 7319 Store (BDVD, HDVD) 7320 Store (BHFD, HHFD) 7321 Store (BF_H, HF_H) 7322 Store (BHDD, HHDD) 7323 Store (BADP, HADP) 7324 Store (BLS, HLS) 7325 Store (BF_C, HF_C) 7326 Store (BCRW, HCRW) 7327 Store (BCD, HCD) 7328 Store (BR01, HR01) 7329 Store (BFDD, HFDD) 7330 Store (BIMP, HIMP) 7331 Store (BNON, HNON) 7332 } 7333 Else 7334 { 7335 Store (0x81, HF_Z) 7336 Store (0x81, HF_D) 7337 Store (0x81, HZIP) 7338 Store (0x81, HDVD) 7339 Store (0x81, HHFD) 7340 Store (0x81, HF_H) 7341 Store (0x81, HHDD) 7342 Store (0x00, HADP) 7343 Store (0x81, HLS) 7344 Store (0x81, HF_C) 7345 Store (0x81, HCRW) 7346 Store (0x81, HCD) 7347 Store (0x00, HR01) 7348 Store (0x81, HFDD) 7349 Store (0x00, HIMP) 7350 Store (0x81, HNON) 7351 } 7352 7353 Store (I2WB (Zero, 0x01, 0x09, 0x10), Local7) 7354 RI2C () 7355 If (Local7) 7356 { 7357 Fatal (0x01, 0x80000003, Local7) 7358 } 7359 } 7360 7361 Method (BUWK, 1, NotSerialized) 7362 { 7363 If (\H8DR) 7364 { 7365 If (Arg0) 7366 { 7367 Store (0x01, \_SB.PCI0.ISA.EC.HWBU) 7368 } 7369 Else 7370 { 7371 Store (0x00, \_SB.PCI0.ISA.EC.HWBU) 7372 } 7373 } 7374 Else 7375 { 7376 If (Arg0) 7377 { 7378 \MBEC (0x32, 0xFF, 0x80) 7379 } 7380 Else 7381 { 7382 \MBEC (0x32, 0x7F, 0x00) 7383 } 7384 } 7385 } 7386 7387 Method (NXRE, 1, NotSerialized) 7388 { 7389 If (LEqual (Arg0, 0x0F)) 7390 { 7391 BLED (0x00, 0x00) 7392 Store (0x00, BSTS) 7393 } 7394 7395 If (LEqual (Arg0, 0x0D)) 7396 { 7397 BLED (0x02, 0x01) 7398 Notify (\_SB.SWAP, 0x83) 7399 } 7400 7401 If (LLess (Arg0, 0x0C)) 7402 { 7403 BLED (0x02, 0x01) 7404 Notify (\_SB.SWAP, 0x83) 7405 } 7406 7407 If (LEqual (Arg0, 0x10)) 7408 { 7409 If (LOr (HPAC, HB0A)) 7410 { 7411 BLED (0x02, 0x01) 7412 Notify (\_SB.SWAP, 0x83) 7413 } 7414 Else 7415 { 7416 BLED (0x02, 0x01) 7417 BEEP (0x0F) 7418 Store (0x02, BSTS) 7419 } 7420 } 7421 } 7422 7423 Method (NXRC, 1, NotSerialized) 7424 { 7425 If (LEqual (Arg0, 0x0D)) 7426 { 7427 BLED (0x02, 0x00) 7428 BEN (0x00) 7429 \SFDD (0x00) 7430 Notify (\_SB.SWAP, 0x80) 7431 } 7432 7433 If (LLess (Arg0, 0x0C)) 7434 { 7435 BLED (0x02, 0x00) 7436 If (LEqual (Arg0, 0x06)) 7437 { 7438 BEN (0x02) 7439 } 7440 Else 7441 { 7442 BEN (0x01) 7443 } 7444 7445 Notify (\_SB.SWAP, 0x80) 7446 } 7447 7448 If (LEqual (Arg0, 0x10)) 7449 { 7450 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81) 7451 BLED (0x02, 0x00) 7452 Notify (\_SB.SWAP, 0x80) 7453 } 7454 7455 BEEP (0x00) 7456 Store (0x00, BSTS) 7457 } 7458 7459 Method (NXEJ, 1, NotSerialized) 7460 { 7461 If (LEqual (Arg0, 0x10)) 7462 { 7463 Notify (\_SB.PCI0.ISA.EC.BAT1, 0x81) 7464 } 7465 7466 Notify (\_SB.SWAP, 0x82) 7467 BLED (0x00, 0x00) 7468 BEEP (0x00) 7469 Store (0x00, BSTS) 7470 } 7471 7472 Method (NXIN, 1, NotSerialized) 7473 { 7474 Notify (\_SB.SWAP, 0x81) 7475 } 7476 } 7477 7478 Scope (\_SB) 7479 { 7480 Device (SWAP) 7481 { 7482 Name (_HID, EisaId ("IBM0069")) 7483 Method (_STA, 0, NotSerialized) 7484 { 7485 If (\WMEF) 7486 { 7487 Return (0x0F) 7488 } 7489 Else 7490 { 7491 Return (0x00) 7492 } 7493 } 7494 7495 Method (XCNN, 1, NotSerialized) 7496 { 7497 Store (Arg0, \_SB.PCI0.ISA.EC.BXCN) 7498 Return (0x09) 7499 } 7500 7501 Method (XSWP, 0, NotSerialized) 7502 { 7503 Return (0x01) 7504 } 7505 7506 Method (XEJ0, 1, NotSerialized) 7507 { 7508 Store (0x00, \_SB.PCI0.ISA.EC.BAT1.B1ST) 7509 \_SB.PCI0.ISA.EC.BEJ0 (Arg0) 7510 } 7511 7512 Method (XEJ3, 1, NotSerialized) 7513 { 7514 Store (0x00, \_SB.PCI0.ISA.EC.BAT1.B1ST) 7515 \_SB.PCI0.ISA.EC.BEJ3 (Arg0) 7516 } 7517 7518 Method (XDID, 0, NotSerialized) 7519 { 7520 Name (XPCK, Package (0x06) 7521 { 7522 0x00, 7523 0x00, 7524 0xFFFFFFFF, 7525 0xFFFFFFFF, 7526 0xFFFFFFFF, 7527 0x00 7528 }) 7529 Store (\_SB.PCI0.ISA.EC.BDEV, Local0) 7530 Store (Local0, Index (XPCK, 0x00)) 7531 If (LLess (Local0, 0x0C)) 7532 { 7533 Store (\_SB.PCI0.IDE0._ADR, Index (XPCK, 0x02)) 7534 Store (\_SB.PCI0.IDE0.SCND._ADR, Index (XPCK, 0x03)) 7535 Store (\_SB.PCI0.IDE0.SCND.MSTR._ADR, Index (XPCK, 0x04)) 7536 } 7537 7538 If (LEqual (Local0, 0x0D)) 7539 { 7540 Store (\_SB.PCI0.ISA.FDC._HID, Index (XPCK, 0x02)) 7541 Store (\_SB.PCI0.ISA.FDC.FDD0._ADR, Index (XPCK, 0x04)) 7542 } 7543 7544 If (LEqual (Local0, 0x10)) 7545 { 7546 Store (\_SB.PCI0.ISA.EC.BAT1._HID, Index (XPCK, 0x02)) 7547 Store (\_SB.PCI0.ISA.EC.BAT1._UID, Index (XPCK, 0x04)) 7548 } 7549 7550 Store (XOr (\_SB.PCI0.PM00.CSON, 0x01), Index (XPCK, 0x05)) 7551 Return (XPCK) 7552 } 7553 7554 Method (XSTM, 1, NotSerialized) 7555 { 7556 Name (XDMY, Buffer (0x14) {}) 7557 \_SB.PCI0.IDE0.SCND._STM (XDMY, Arg0, 0x00) 7558 } 7559 7560 Method (XGTF, 0, NotSerialized) 7561 { 7562 Return (\_SB.PCI0.IDE0.SCND.MSTR._GTF ()) 7563 } 7564 } 7565 } 7566 7567 Scope (\_SB.PCI0.IDE0.SCND.MSTR) 7568 { 7569 Method (_EJ0, 1, NotSerialized) 7570 { 7571 \_SB.PCI0.ISA.EC.BEJ0 (Arg0) 7572 } 7573 7574 Method (_STA, 0, NotSerialized) 7575 { 7576 If (\_SB.PCI0.ISA.EC.BSTA (0x01)) 7577 { 7578 Return (0x0F) 7579 } 7580 Else 7581 { 7582 Return (0x00) 7583 } 7584 } 7585 } 7586 7587 Scope (\_SB.PCI0.ISA.FDC) 7588 { 7589 Method (_INI, 0, NotSerialized) 7590 { 7591 Store (0x00, \_SB.PCI0.ISA.FDC.XFDS) 7592 If (\H8DR) 7593 { 7594 Or (\_SB.PCI0.ISA.EC.HAMA, 0x0C, \_SB.PCI0.ISA.EC.HAMA) 7595 } 7596 Else 7597 { 7598 \MBEC (0x1A, 0xFF, 0x0C) 7599 } 7600 } 7601 7602 Name (FDEB, Buffer (0x14) 7603 { 7604 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7605 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7606 0x02, 0x00, 0x00, 0x00 7607 }) 7608 CreateByteField (FDEB, 0x00, FD0S) 7609 Name (XFDS, 0x00) 7610 Name (DCFD, 0x00) 7611 Method (_FDE, 0, NotSerialized) 7612 { 7613 If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), DCFD)) 7614 { 7615 Store (0x01, FD0S) 7616 } 7617 Else 7618 { 7619 If (LOr (\_SB.PCI0.ISA.EC.HPNF, XFDS)) 7620 { 7621 Store (0x00, FD0S) 7622 } 7623 Else 7624 { 7625 Store (0x01, FD0S) 7626 } 7627 } 7628 7629 Return (FDEB) 7630 } 7631 7632 Device (FDD0) 7633 { 7634 Name (_ADR, 0x00) 7635 Name (_EJD, "_SB.PCI0.DOCK") 7636 Method (_EJ0, 1, NotSerialized) 7637 { 7638 If (\_SB.PCI0.ISA.EC.BSTA (0x00)) 7639 { 7640 \_SB.PCI0.ISA.EC.BEJ0 (Arg0) 7641 } 7642 Else 7643 { 7644 If (DCFD) {} 7645 Else 7646 { 7647 Store (0x01, XFDS) 7648 } 7649 } 7650 } 7651 7652 Name (_FDI, Package (0x10) 7653 { 7654 0x00, 7655 0x04, 7656 0x4F, 7657 0x12, 7658 0x01, 7659 0xDF, 7660 0x02, 7661 0x25, 7662 0x02, 7663 0x12, 7664 0x1B, 7665 0xFF, 7666 0x6C, 7667 0xF6, 7668 0x0F, 7669 0x05 7670 }) 7671 } 7672 } 7673 7674 Scope (\_SB.PCI0.ISA.EC) 7675 { 7676 Method (_Q52, 0, NotSerialized) 7677 { 7678 If (\_SB.PCI0.ISA.FDC.XFDS) 7679 { 7680 Store (0x00, \_SB.PCI0.ISA.FDC.XFDS) 7681 } 7682 Else 7683 { 7684 If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), \_SB.PCI0.ISA.FDC.DCFD)) {} 7685 Else 7686 { 7687 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01) 7688 } 7689 } 7690 } 7691 7692 Method (_Q53, 0, NotSerialized) 7693 { 7694 Store (0x00, \_SB.PCI0.ISA.FDC.XFDS) 7695 If (LOr (\_SB.PCI0.ISA.EC.BSTA (0x00), \_SB.PCI0.ISA.FDC.DCFD)) {} 7696 Else 7697 { 7698 Notify (\_SB.PCI0.ISA.FDC.FDD0, 0x01) 7699 } 7700 } 7701 } 7702 7703 Scope (\_SB.PCI0.ISA.EC.BAT1) 7704 { 7705 Method (_EJ0, 1, NotSerialized) 7706 { 7707 Store (0x00, B1ST) 7708 Store (0x00, XB1S) 7709 \_SB.PCI0.ISA.EC.BEJ0 (Arg0) 7710 } 7711 } 7712 7713 Scope (\_SB.PCI0.ISA.EC) 7714 { 7715 Method (_Q1C, 0, NotSerialized) 7716 { 7717 \VOLD () 7718 } 7719 7720 Method (_Q1D, 0, NotSerialized) 7721 { 7722 \VOLU () 7723 } 7724 7725 Method (_Q1E, 0, NotSerialized) 7726 { 7727 \VOLM () 7728 } 7729 } 7730 7731 Scope (\_SB.PCI0.ISA.EC) 7732 { 7733 Method (_Q14, 0, NotSerialized) 7734 { 7735 \BRIU () 7736 } 7737 7738 Method (_Q15, 0, NotSerialized) 7739 { 7740 \BRID () 7741 } 7742 } 7743 7744 Scope (\_SB.PCI0.ISA.EC) 7745 { 7746 Method (_Q19, 0, NotSerialized) 7747 { 7748 \TPKY () 7749 } 7750 } 7751 7752 Scope (\_SB.PCI0.ISA.EC.HKEY) 7753 { 7754 Name (BTID, 0x00) 7755 Name (BTFG, 0x00) 7756 Method (GULP, 0, NotSerialized) 7757 { 7758 Store (0x00, Local0) 7759 If (LEqual (BTID, 0x01)) 7760 { 7761 Or (Local0, 0x01, Local0) 7762 } 7763 7764 If (PWRS ()) 7765 { 7766 Or (Local0, 0x02, Local0) 7767 } 7768 7769 If (And (BTFG, 0x01)) 7770 { 7771 Or (Local0, 0x04, Local0) 7772 } 7773 7774 Return (Local0) 7775 } 7776 7777 Method (SULP, 1, NotSerialized) 7778 { 7779 If (And (Arg0, 0x02)) 7780 { 7781 PWRC (0x01) 7782 } 7783 Else 7784 { 7785 PWRC (0x00) 7786 } 7787 7788 If (And (Arg0, 0x04)) 7789 { 7790 Or (BTFG, 0x01, BTFG) 7791 \GBTH (0x02) 7792 } 7793 Else 7794 { 7795 And (BTFG, Not (0x01), BTFG) 7796 \GBTH (0x03) 7797 } 7798 7799 Return (GULP ()) 7800 } 7801 7802 Method (BTIN, 0, NotSerialized) 7803 { 7804 Store (\GBTH (0x00), BTID) 7805 If (\GBTH (0x01)) 7806 { 7807 Or (BTFG, 0x01, BTFG) 7808 } 7809 7810 ATCH (0x01) 7811 PBTN (0x01) 7812 MODE (0x01) 7813 } 7814 7815 Method (BTPS, 1, NotSerialized) 7816 { 7817 PBTN (0x00) 7818 If (LEqual (BTID, 0x01)) 7819 { 7820 If (LNot (And (BTFG, 0x01))) 7821 { 7822 PWRC (0x00) 7823 } 7824 } 7825 7826 If (PWRS ()) 7827 { 7828 Or (BTFG, 0x02, BTFG) 7829 } 7830 Else 7831 { 7832 And (BTFG, Not (0x02), BTFG) 7833 } 7834 } 7835 7836 Method (BTWK, 1, NotSerialized) 7837 { 7838 PBTN (0x01) 7839 If (And (BTFG, 0x02)) 7840 { 7841 PWRC (0x01) 7842 } 7843 } 7844 7845 Method (PWRC, 1, NotSerialized) 7846 { 7847 If (Arg0) 7848 { 7849 If (\H8DR) 7850 { 7851 Store (One, \_SB.PCI0.ISA.EC.BTPW) 7852 } 7853 Else 7854 { 7855 \MBEC (0x3B, 0xFF, 0x04) 7856 } 7857 } 7858 Else 7859 { 7860 If (\H8DR) 7861 { 7862 Store (Zero, \_SB.PCI0.ISA.EC.BTPW) 7863 } 7864 Else 7865 { 7866 \MBEC (0x3B, 0xFB, 0x00) 7867 } 7868 } 7869 } 7870 7871 Method (ATCH, 1, NotSerialized) 7872 { 7873 If (Arg0) 7874 { 7875 If (\H8DR) 7876 { 7877 Store (Zero, \_SB.PCI0.ISA.EC.BTDT) 7878 } 7879 Else 7880 { 7881 \MBEC (0x3B, 0xF7, 0x00) 7882 } 7883 } 7884 Else 7885 { 7886 If (\H8DR) 7887 { 7888 Store (One, \_SB.PCI0.ISA.EC.BTDT) 7889 } 7890 Else 7891 { 7892 \MBEC (0x3B, 0xFF, 0x08) 7893 } 7894 } 7895 } 7896 7897 Method (MODE, 1, NotSerialized) 7898 { 7899 If (Arg0) 7900 { 7901 If (\H8DR) 7902 { 7903 Store (One, \_SB.PCI0.ISA.EC.BTCM) 7904 } 7905 Else 7906 { 7907 \MBEC (0x01, 0xFF, 0x02) 7908 } 7909 } 7910 Else 7911 { 7912 If (\H8DR) 7913 { 7914 Store (Zero, \_SB.PCI0.ISA.EC.BTCM) 7915 } 7916 Else 7917 { 7918 \MBEC (0x01, 0xFD, 0x00) 7919 } 7920 } 7921 } 7922 7923 Method (PBTN, 1, NotSerialized) 7924 { 7925 If (Arg0) 7926 { 7927 If (\H8DR) 7928 { 7929 Store (One, \_SB.PCI0.ISA.EC.BTPC) 7930 } 7931 Else 7932 { 7933 \MBEC (0x01, 0xFF, 0x40) 7934 } 7935 } 7936 Else 7937 { 7938 If (\H8DR) 7939 { 7940 Store (Zero, \_SB.PCI0.ISA.EC.BTPC) 7941 } 7942 Else 7943 { 7944 \MBEC (0x01, 0xBF, 0x00) 7945 } 7946 } 7947 } 7948 7949 Method (PWRS, 0, NotSerialized) 7950 { 7951 If (\H8DR) 7952 { 7953 Store (\_SB.PCI0.ISA.EC.BTPW, Local0) 7954 } 7955 Else 7956 { 7957 Store (ShiftRight (And (\RBEC (0x3B), 0x04), 0x02), Local0) 7958 } 7959 7960 Return (Local0) 7961 } 7962 7963 Method (ATCS, 0, NotSerialized) 7964 { 7965 If (\H8DR) 7966 { 7967 Store (\_SB.PCI0.ISA.EC.BTDT, Local0) 7968 } 7969 Else 7970 { 7971 Store (ShiftRight (And (\RBEC (0x3B), 0x08), 0x03), Local0) 7972 } 7973 7974 XOr (Local0, 0x01, Local0) 7975 Return (Local0) 7976 } 7977 7978 Method (WAKS, 0, NotSerialized) 7979 { 7980 If (\H8DR) 7981 { 7982 Store (\_SB.PCI0.ISA.EC.BTWK, Local0) 7983 } 7984 Else 7985 { 7986 Store (ShiftRight (And (\RBEC (0x36), 0x02), 0x01), Local0) 7987 } 7988 7989 Return (Local0) 7990 } 7991 7992 Method (BTAT, 2, NotSerialized) 7993 { 7994 Store (0x00, Local0) 7995 If (LEqual (Arg0, 0x00)) 7996 { 7997 If (LEqual (Arg1, 0x01)) 7998 { 7999 If (\H8DR) 8000 { 8001 Or (\_SB.PCI0.ISA.EC.HAMA, 0x10, \_SB.PCI0.ISA.EC.HAMA) 8002 } 8003 Else 8004 { 8005 \MBEC (0x1A, 0xFF, 0x10) 8006 } 8007 } 8008 8009 If (LEqual (Arg1, 0x00)) 8010 { 8011 If (\H8DR) 8012 { 8013 And (\_SB.PCI0.ISA.EC.HAMA, 0xEF, \_SB.PCI0.ISA.EC.HAMA) 8014 } 8015 Else 8016 { 8017 \MBEC (0x1A, 0xEF, 0x00) 8018 } 8019 } 8020 8021 If (LEqual (Arg1, 0x02)) 8022 { 8023 If (\H8DR) 8024 { 8025 If (And (\_SB.PCI0.ISA.EC.HAMA, 0x10)) 8026 { 8027 Store (0x01, Local0) 8028 } 8029 } 8030 Else 8031 { 8032 If (And (\RBEC (0x1A), 0x10)) 8033 { 8034 Store (0x01, Local0) 8035 } 8036 } 8037 } 8038 } 8039 8040 If (LEqual (Arg0, 0x01)) 8041 { 8042 If (LEqual (Arg1, 0x01)) 8043 { 8044 If (\H8DR) 8045 { 8046 Or (\_SB.PCI0.ISA.EC.HAMA, 0x20, \_SB.PCI0.ISA.EC.HAMA) 8047 } 8048 Else 8049 { 8050 \MBEC (0x1A, 0xFF, 0x20) 8051 } 8052 } 8053 8054 If (LEqual (Arg1, 0x00)) 8055 { 8056 If (\H8DR) 8057 { 8058 And (\_SB.PCI0.ISA.EC.HAMA, 0xDF, \_SB.PCI0.ISA.EC.HAMA) 8059 } 8060 Else 8061 { 8062 \MBEC (0x1A, 0xDF, 0x00) 8063 } 8064 } 8065 8066 If (LEqual (Arg1, 0x02)) 8067 { 8068 If (\H8DR) 8069 { 8070 If (And (\_SB.PCI0.ISA.EC.HAMA, 0x20)) 8071 { 8072 Store (0x01, Local0) 8073 } 8074 } 8075 Else 8076 { 8077 If (And (\RBEC (0x1A), 0x20)) 8078 { 8079 Store (0x01, Local0) 8080 } 8081 } 8082 } 8083 } 8084 8085 Return (Local0) 8086 } 8087 } 8088 } 8089 8090 Name (\_S0, Package (0x04) 8091 { 8092 0x05, 8093 0x05, 8094 0x00, 8095 0x00 8096 }) 8097 Name (\_S1, Package (0x04) 8098 { 8099 0x04, 8100 0x04, 8101 0x00, 8102 0x00 8103 }) 8104 Name (\_S3, Package (0x04) 8105 { 8106 0x01, 8107 0x01, 8108 0x00, 8109 0x00 8110 }) 8111 Name (\_S4, Package (0x04) 8112 { 8113 0x07, 8114 0x07, 8115 0x00, 8116 0x00 8117 }) 8118 Name (\_S5, Package (0x04) 8119 { 8120 0x07, 8121 0x07, 8122 0x00, 8123 0x00 8124 }) 8125 Method (\_PTS, 1, NotSerialized) 8126 { 8127 If (LEqual (Arg0, \SPS)) 8128 { 8129 Store (0x00, Local0) 8130 } 8131 Else 8132 { 8133 If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x06)))) 8134 { 8135 Store (0x00, Local0) 8136 } 8137 Else 8138 { 8139 Store (0x01, Local0) 8140 } 8141 } 8142 8143 If (Local0) 8144 { 8145 Store (Arg0, \SPS) 8146 \_SB.PCI0.ISA.EC.HKEY.MHKE (0x00) 8147 \_SB.PCI0.ISA.EC.EVNT (0x00) 8148 If (\_SB.PCI0.ISA.EC.KBLT) 8149 { 8150 \LGHT (0x00) 8151 } 8152 8153 If (LEqual (Arg0, 0x01)) 8154 { 8155 Store (0x01, \_SB.PCI0.PM00.BLEN) 8156 Store (0x00, \_SB.PCI0.ISA.EC.HCAC) 8157 Or (\_SB.PCI0.ISA.ACI, 0x01, \_SB.PCI0.ISA.ACI) 8158 Store (\_SB.PCI0.ISA.EC.HFNI, \FNID) 8159 Store (0x00, \_SB.PCI0.ISA.EC.HFNI) 8160 } 8161 8162 If (LEqual (Arg0, 0x02)) 8163 { 8164 Store (One, \_SB.PCI0.PM00.BLEN) 8165 Store (One, \_SB.PCI0.CREN) 8166 } 8167 8168 If (LEqual (Arg0, 0x03)) 8169 { 8170 \VVPD () 8171 Store (One, \_SB.PCI0.PM00.BLEN) 8172 } 8173 8174 If (LEqual (Arg0, 0x04)) 8175 { 8176 \WOLP () 8177 \TRAP (0x04, 0x01) 8178 } 8179 8180 If (LEqual (Arg0, 0x05)) 8181 { 8182 \TRAP (0x05, 0x01) 8183 } 8184 8185 If (LNot (LEqual (Arg0, 0x05))) 8186 { 8187 Store (One, \_SB.PCI0.ISA.EC.HCMU) 8188 Store (0x00, \_SB.PCI0.ISA.EC.HFSP) 8189 \_SB.PCI0.DOCK.DPTS (Arg0) 8190 \_SB.PCI0.ISA.EC.BPTS (Arg0) 8191 } 8192 8193 \_SB.PCI0.ISA.EC.HKEY.BTPS (Arg0) 8194 } 8195 } 8196 8197 Name (WAKI, Package (0x02) 8198 { 8199 0x00, 8200 0x00 8201 }) 8202 Method (\_WAK, 1, NotSerialized) 8203 { 8204 If (LOr (LEqual (Arg0, 0x00), LNot (LLess (Arg0, 0x05)))) 8205 { 8206 Return (WAKI) 8207 } 8208 8209 Store (Zero, \SPS) 8210 Store (Zero, \_SB.PCI0.PM00.BLEN) 8211 Store (Zero, \_SB.PCI0.CREN) 8212 Store (Zero, \_SB.PCI0.ISA.EC.HCMU) 8213 Store (0x80, \_SB.PCI0.ISA.EC.HFSP) 8214 \_SB.PCI0.ISA.EC.EVNT (0x01) 8215 \_SB.PCI0.ISA.EC.HKEY.MHKE (0x01) 8216 If (LEqual (Arg0, 0x01)) 8217 { 8218 And (\_SB.PCI0.ISA.ACI, 0xFE, \_SB.PCI0.ISA.ACI) 8219 Store (0x01, \_SB.PCI0.ISA.EC.HCAC) 8220 Store (\_SB.PCI0.ISA.EC.HFNI, \FNID) 8221 } 8222 8223 If (LEqual (Arg0, 0x02)) {} 8224 If (LEqual (Arg0, 0x03)) {} 8225 If (LEqual (Arg0, 0x04)) 8226 { 8227 If (\W98F) 8228 { 8229 Notify (\_SB.SLPB, 0x02) 8230 } 8231 8232 If (\WMEF) 8233 { 8234 \_SB.PCI0.ISA.EC.BEEP (0x05) 8235 } 8236 8237 If (LNot (\W98F)) 8238 { 8239 Store (0x00, \_SB.PCI0.ISA.EC.HSPA) 8240 } 8241 } 8242 8243 \_SB.PCI0.DOCK.DWAK (Arg0) 8244 \_SB.PCI0.ISA.EC.BWAK (Arg0) 8245 \_SB.PCI0.ISA.EC.HKEY.BTWK (Arg0) 8246 Notify (\_TZ.THM0, 0x80) 8247 \VNRS (0x01) 8248 \VSLD (\_SB.LID._LID ()) 8249 If (LAnd (\W98F, LNot (\WMEF))) 8250 { 8251 Notify (\_SB.PCI0.USB, 0x01) 8252 } 8253 8254 If (LLess (Arg0, 0x04)) 8255 { 8256 If (LOr (And (\_SB.PCI0.ISA.EC.CP4E, 0x02), And (\RRBF, 0x02))) 8257 { 8258 ShiftLeft (Arg0, 0x08, Local0) 8259 Store (Or (0x2013, Local0), Local0) 8260 \_SB.PCI0.ISA.EC.HKEY.MHKQ (Local0) 8261 } 8262 } 8263 8264 Store (Zero, \RRBF) 8265 Return (WAKI) 8266 } 8267 8268 Scope (\_SI) 8269 { 8270 Method (_SST, 1, NotSerialized) 8271 { 8272 If (LEqual (Arg0, 0x00)) 8273 { 8274 \_SB.PCI0.ISA.EC.SYSL (0x00, 0x00) 8275 \_SB.PCI0.ISA.EC.SYSL (0x01, 0x00) 8276 } 8277 8278 If (LEqual (Arg0, 0x01)) 8279 { 8280 If (LOr (\SPS, \WNTF)) 8281 { 8282 \_SB.PCI0.ISA.EC.BEEP (0x05) 8283 } 8284 8285 \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01) 8286 \_SB.PCI0.ISA.EC.SYSL (0x01, 0x00) 8287 } 8288 8289 If (LEqual (Arg0, 0x02)) 8290 { 8291 \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01) 8292 \_SB.PCI0.ISA.EC.SYSL (0x01, 0x02) 8293 } 8294 8295 If (LEqual (Arg0, 0x03)) 8296 { 8297 If (LGreater (\SPS, 0x03)) 8298 { 8299 \_SB.PCI0.ISA.EC.BEEP (0x07) 8300 } 8301 Else 8302 { 8303 If (LEqual (\SPS, 0x03)) 8304 { 8305 \_SB.PCI0.ISA.EC.BEEP (0x03) 8306 } 8307 Else 8308 { 8309 \_SB.PCI0.ISA.EC.BEEP (0x04) 8310 } 8311 } 8312 8313 If (LEqual (\SPS, 0x03)) 8314 { 8315 \_SB.PCI0.ISA.EC.SYSL (0x00, 0x00) 8316 } 8317 Else 8318 { 8319 \_SB.PCI0.ISA.EC.SYSL (0x00, 0x01) 8320 } 8321 8322 \_SB.PCI0.ISA.EC.SYSL (0x01, 0x01) 8323 } 8324 8325 If (LEqual (Arg0, 0x04)) 8326 { 8327 \_SB.PCI0.ISA.EC.BEEP (0x03) 8328 \_SB.PCI0.ISA.EC.SYSL (0x01, 0x02) 8329 } 8330 } 8331 } 8332 8333 Scope (\_GPE) 8334 { 8335 Method (_L0B, 0, NotSerialized) 8336 { 8337 Store (\_SB.PCI0.ISA.EC.HWAK, Local0) 8338 Sleep (0x0A) 8339 Store (Local0, \RRBF) 8340 If (And (Local0, 0x01)) 8341 { 8342 If (And (\_SB.PCI0.PMEE, 0x01)) 8343 { 8344 Notify (\_SB.PCI0, 0x02) 8345 } 8346 8347 If (And (\_SB.PCI0.PMEE, 0x02)) 8348 { 8349 Notify (\_SB.PCI0.DOCK, 0x02) 8350 } 8351 } 8352 8353 If (And (Local0, 0x02)) {} 8354 If (And (Local0, 0x04)) 8355 { 8356 If (\W98F) 8357 { 8358 Notify (\_SB.SLPB, 0x02) 8359 } 8360 Else 8361 { 8362 Notify (\_SB.LID, 0x02) 8363 } 8364 } 8365 8366 If (And (Local0, 0x08)) 8367 { 8368 \_SB.PCI0.DOCK.DGPE () 8369 Notify (\_SB.SLPB, 0x02) 8370 } 8371 8372 If (And (Local0, 0x10)) 8373 { 8374 Notify (\_SB.SLPB, 0x02) 8375 } 8376 8377 If (And (Local0, 0x40)) 8378 { 8379 Notify (\_SB.PCI0.ISA.UART, 0x02) 8380 } 8381 8382 If (And (Local0, 0x80)) 8383 { 8384 Notify (\_SB.SLPB, 0x02) 8385 } 8386 } 8387 } 8388 8389 Scope (\_TZ) 8390 { 8391 ThermalZone (THM0) 8392 { 8393 Name (_CRT, 0x0E76) 8394 Name (_PSL, Package (0x01) 8395 { 8396 \_PR.CPU 8397 }) 8398 Name (_PSV, 0x0E3F) 8399 Name (_TC1, 0x05) 8400 Name (_TC2, 0x02) 8401 Name (_TSP, 0x0258) 8402 Method (_TMP, 0, NotSerialized) 8403 { 8404 If (\H8DR) 8405 { 8406 Store (\_SB.PCI0.ISA.EC.TMP0, Local0) 8407 } 8408 Else 8409 { 8410 Store (\RBEC (0x78), Local0) 8411 } 8412 8413 Return (C2K (Local0)) 8414 } 8415 } 8416 8417 Method (C2K, 1, NotSerialized) 8418 { 8419 Add (Multiply (Arg0, 0x0A), 0x0AAC, Local0) 8420 If (LNot (LGreater (Local0, 0x0AAC))) 8421 { 8422 Store (0x0BB8, Local0) 8423 } 8424 8425 If (LNot (LLess (Local0, 0x0FAC))) 8426 { 8427 Store (0x0BB8, Local0) 8428 } 8429 8430 Return (Local0) 8431 } 8432 } 8433 8434 Scope (\_SB.PCI0.ISA.EC) 8435 { 8436 Method (_Q40, 0, NotSerialized) 8437 { 8438 Notify (\_TZ.THM0, 0x80) 8439 } 8440 } 8441 8442 OperationRegion (MNVS, SystemMemory, 0x0FFFF000, 0x1000) 8443 Field (MNVS, DWordAcc, NoLock, Preserve) 8444 { 8445 Offset (0xF00), 8446 HDHD, 8, 8447 HDSE, 8, 8448 Offset (0xF03), 8449 Offset (0xF04), 8450 Offset (0xF08), 8451 Offset (0xF0C), 8452 Offset (0xF10), 8453 VCDL, 1, 8454 VCDC, 1, 8455 VCDT, 1, 8456 VCDD, 1, 8457 , 1, 8458 VCSS, 1, 8459 VCDB, 1, 8460 VCIN, 1, 8461 Offset (0xF12), 8462 VLID, 4, 8463 Offset (0xF14) 8464 } 8465 8466 Field (MNVS, ByteAcc, NoLock, Preserve) 8467 { 8468 Offset (0xE00), 8469 DDC1, 1024, 8470 Offset (0xF00) 8471 } 8472 8473 Field (MNVS, ByteAcc, NoLock, Preserve) 8474 { 8475 Offset (0xE00), 8476 DDC2, 2048 8477 } 8478 8479 OperationRegion (SMI0, SystemIO, 0xFE00, 0x02) 8480 Field (SMI0, ByteAcc, NoLock, Preserve) 8481 { 8482 APMC, 8 8483 } 8484 8485 Field (MNVS, AnyAcc, NoLock, Preserve) 8486 { 8487 Offset (0xFC0), 8488 CMD, 8, 8489 ERR, 32, 8490 PAR0, 32, 8491 PAR1, 32, 8492 PAR2, 32, 8493 PAR3, 32 8494 } 8495 8496 Mutex (MSMI, 0x07) 8497 Method (SMI, 5, NotSerialized) 8498 { 8499 Acquire (MSMI, 0xFFFF) 8500 Store (Arg0, CMD) 8501 Store (Arg1, PAR0) 8502 Store (Arg2, PAR1) 8503 Store (Arg3, PAR2) 8504 Store (Arg4, PAR3) 8505 Store (0x00, APMC) 8506 While (LEqual (ERR, 0x01)) 8507 { 8508 Sleep (0x64) 8509 Store (0x00, APMC) 8510 } 8511 8512 Store (PAR0, Local0) 8513 Release (MSMI) 8514 Return (Local0) 8515 } 8516 8517 Method (RPCI, 1, NotSerialized) 8518 { 8519 Return (SMI (0x80, 0x00, Arg0, 0x00, 0x00)) 8520 } 8521 8522 Method (WPCI, 2, NotSerialized) 8523 { 8524 SMI (0x80, 0x01, Arg0, Arg1, 0x00) 8525 } 8526 8527 Method (MPCI, 3, NotSerialized) 8528 { 8529 SMI (0x80, 0x02, Arg0, Arg1, Arg2) 8530 } 8531 8532 Method (RBEC, 1, NotSerialized) 8533 { 8534 Return (SMI (0x81, 0x00, Arg0, 0x00, 0x00)) 8535 } 8536 8537 Method (WBEC, 2, NotSerialized) 8538 { 8539 SMI (0x81, 0x01, Arg0, Arg1, 0x00) 8540 } 8541 8542 Method (MBEC, 3, NotSerialized) 8543 { 8544 SMI (0x81, 0x02, Arg0, Arg1, Arg2) 8545 } 8546 8547 Method (TRAP, 2, NotSerialized) 8548 { 8549 SMI (0x82, Arg0, Arg1, 0x00, 0x00) 8550 } 8551 8552 Method (FERR, 0, NotSerialized) 8553 { 8554 SMI (0x83, 0x00, 0x00, 0x00, 0x00) 8555 } 8556 8557 Method (GFDD, 0, NotSerialized) 8558 { 8559 Return (SMI (0x84, 0x00, 0x00, 0x00, 0x00)) 8560 } 8561 8562 Method (SFDD, 1, NotSerialized) 8563 { 8564 SMI (0x84, 0x01, Arg0, 0x00, 0x00) 8565 } 8566 8567 Method (DHDP, 1, NotSerialized) 8568 { 8569 Return (SMI (0x85, Arg0, 0x00, 0x00, 0x00)) 8570 } 8571 8572 Method (VOLU, 0, NotSerialized) 8573 { 8574 SMI (0x86, 0x00, 0x00, 0x00, 0x00) 8575 } 8576 8577 Method (VOLD, 0, NotSerialized) 8578 { 8579 SMI (0x86, 0x01, 0x00, 0x00, 0x00) 8580 } 8581 8582 Method (VOLM, 0, NotSerialized) 8583 { 8584 SMI (0x86, 0x02, 0x00, 0x00, 0x00) 8585 } 8586 8587 Method (TPKY, 0, NotSerialized) 8588 { 8589 SMI (0x86, 0x03, 0x00, 0x00, 0x00) 8590 } 8591 8592 Method (BRIU, 0, NotSerialized) 8593 { 8594 SMI (0x86, 0x04, 0x00, 0x00, 0x00) 8595 } 8596 8597 Method (BRID, 0, NotSerialized) 8598 { 8599 SMI (0x86, 0x05, 0x00, 0x00, 0x00) 8600 } 8601 8602 Method (SNMB, 0, NotSerialized) 8603 { 8604 SMI (0x86, 0x06, 0x00, 0x00, 0x00) 8605 } 8606 8607 Method (SMUT, 0, NotSerialized) 8608 { 8609 SMI (0x86, 0x07, 0x00, 0x00, 0x00) 8610 } 8611 8612 Method (ESYB, 1, NotSerialized) 8613 { 8614 If (LEqual (Arg0, 0x00)) 8615 { 8616 SMI (0x86, 0x03, 0x00, 0x00, 0x00) 8617 } 8618 Else 8619 { 8620 SMI (0x86, 0x08, Decrement (Arg0), 0x00, 0x00) 8621 } 8622 } 8623 8624 Method (DSEP, 0, NotSerialized) 8625 { 8626 SMI (0x86, 0x09, 0x00, 0x00, 0x00) 8627 } 8628 8629 Method (VEXP, 0, NotSerialized) 8630 { 8631 SMI (0x87, 0x00, 0x00, 0x00, 0x00) 8632 } 8633 8634 Method (VUPS, 1, NotSerialized) 8635 { 8636 SMI (0x88, Arg0, 0x00, 0x00, 0x00) 8637 } 8638 8639 Method (VSDS, 2, NotSerialized) 8640 { 8641 SMI (0x89, Arg0, Arg1, 0x00, 0x00) 8642 } 8643 8644 Method (VDDC, 0, NotSerialized) 8645 { 8646 SMI (0x8A, 0x00, 0x00, 0x00, 0x00) 8647 } 8648 8649 Method (VVPD, 0, NotSerialized) 8650 { 8651 SMI (0x94, 0x00, 0x00, 0x00, 0x00) 8652 } 8653 8654 Method (GVIL, 1, NotSerialized) 8655 { 8656 SMI (0x8B, Arg0, 0x00, 0x00, 0x00) 8657 } 8658 8659 Method (GCHK, 0, NotSerialized) 8660 { 8661 Return (SMI (0x8B, 0x06, 0x00, 0x00, 0x00)) 8662 } 8663 8664 Method (LGHT, 1, NotSerialized) 8665 { 8666 SMI (0x8C, Arg0, 0x00, 0x00, 0x00) 8667 } 8668 8669 Method (GPAR, 0, NotSerialized) 8670 { 8671 Return (SMI (0x8D, 0x00, 0x00, 0x00, 0x00)) 8672 } 8673 8674 Method (GDCK, 1, NotSerialized) 8675 { 8676 \_SB.PCI0.ISA.EC.AI2C () 8677 Store (SMI (0x8E, Arg0, 0x00, 0x00, 0x00), Local0) 8678 \_SB.PCI0.ISA.EC.RI2C () 8679 Return (Local0) 8680 } 8681 8682 Method (GGAP, 1, NotSerialized) 8683 { 8684 Return (SMI (0x8F, Arg0, 0x00, 0x00, 0x00)) 8685 } 8686 8687 Method (GHKY, 0, NotSerialized) 8688 { 8689 Store (SMI (0x90, 0x00, 0x00, 0x00, 0x00), Local0) 8690 Return (And (ShiftRight (Local0, 0x04), 0x01)) 8691 } 8692 8693 Method (GCDT, 1, NotSerialized) 8694 { 8695 Return (SMI (0x91, Arg0, 0x00, 0x00, 0x00)) 8696 } 8697 8698 Method (GBTH, 1, NotSerialized) 8699 { 8700 Return (SMI (0x92, Arg0, 0x00, 0x00, 0x00)) 8701 } 8702 8703 Method (BHDP, 1, NotSerialized) 8704 { 8705 Return (SMI (0x93, Arg0, 0x00, 0x00, 0x00)) 8706 } 8707 8708 Method (VNRS, 1, NotSerialized) 8709 { 8710 Return (SMI (0x95, Arg0, 0x00, 0x00, 0x00)) 8711 } 8712 8713 Method (GLPW, 0, NotSerialized) 8714 { 8715 Return (SMI (0x96, 0x00, 0x00, 0x00, 0x00)) 8716 } 8717 8718 Method (GTPS, 0, NotSerialized) 8719 { 8720 Return (SMI (0x97, 0x00, 0x00, 0x00, 0x00)) 8721 } 8722 8723 Method (VSLD, 1, NotSerialized) 8724 { 8725 Return (SMI (0x99, Arg0, 0x00, 0x00, 0x00)) 8726 } 8727 8728 Method (CBRI, 0, NotSerialized) 8729 { 8730 SMI (0x9A, 0x00, 0x00, 0x00, 0x00) 8731 } 8732 8733 Method (WOLP, 0, NotSerialized) 8734 { 8735 SMI (0x9B, 0x00, 0x00, 0x00, 0x00) 8736 } 8737 8738 Method (ECPP, 0, NotSerialized) 8739 { 8740 SMI (0x9C, 0x00, 0x00, 0x00, 0x00) 8741 } 8742 8743 Scope (\_SB.PCI0.PM00) 8744 { 8745 OperationRegion (GPOR, SystemIO, 0x1034, 0x04) 8746 Field (GPOR, ByteAcc, NoLock, Preserve) 8747 { 8748 , 1, 8749 Offset (0x01), 8750 MSON, 1, 8751 , 1, 8752 URST, 1, 8753 EID2, 1, 8754 EID, 2, 8755 CSON, 1, 8756 , 4, 8757 IPDR, 1, 8758 , 1, 8759 S2DS, 1, 8760 , 1, 8761 ULON, 1, 8762 , 7 8763 } 8764 } 8765 8766 Name (ICM0, Buffer (0x1C) 8767 { 8768 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 8769 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00, 8770 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 8771 0x00, 0x00, 0xA0, 0xEF 8772 }) 8773 CreateByteField (ICM0, 0x0F, HDM0) 8774 CreateByteField (ICM0, 0x16, HPI0) 8775 Name (ICM1, Buffer (0x1C) 8776 { 8777 0x02, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x00, 8778 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5, 0x03, 0x00, 8779 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 8780 0x00, 0x00, 0xB0, 0xEF 8781 }) 8782 CreateByteField (ICM1, 0x0F, HDM1) 8783 CreateByteField (ICM1, 0x16, HPI1) 8784 Name (ICC1, Buffer (0x0E) 8785 { 8786 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 8787 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF 8788 }) 8789 CreateByteField (ICC1, 0x01, CDM1) 8790 CreateByteField (ICC1, 0x08, CPI1) 8791 Name (IDKM, 0x00) 8792 Name (ICM2, Buffer (0x1C) 8793 { 8794 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 8795 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00, 8796 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 8797 0x00, 0x00, 0xA0, 0xEF 8798 }) 8799 CreateByteField (ICM2, 0x0F, HDM2) 8800 CreateByteField (ICM2, 0x16, HPI2) 8801 Name (ICC2, Buffer (0x0E) 8802 { 8803 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 8804 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF 8805 }) 8806 CreateByteField (ICC2, 0x01, CDM2) 8807 CreateByteField (ICC2, 0x08, CPI2) 8808 Name (DCM2, Buffer (0x1C) 8809 { 8810 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 8811 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00, 8812 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 8813 0x00, 0x00, 0xA0, 0xE3 8814 }) 8815 CreateByteField (DCM2, 0x01, DDM2) 8816 CreateByteField (DCM2, 0x08, DPI2) 8817 CreateByteField (DCM2, 0x0F, DTA2) 8818 CreateByteField (DCM2, 0x16, DTF2) 8819 Name (IDKS, 0x00) 8820 Name (ICM3, Buffer (0x1C) 8821 { 8822 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 8823 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x03, 0x00, 8824 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 8825 0x00, 0x00, 0xA0, 0xEF 8826 }) 8827 CreateByteField (ICM3, 0x0F, HDM3) 8828 CreateByteField (ICM3, 0x16, HPI3) 8829 Name (ICC3, Buffer (0x0E) 8830 { 8831 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 8832 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF 8833 }) 8834 CreateByteField (ICC3, 0x01, CDM3) 8835 CreateByteField (ICC3, 0x08, CPI3) 8836 Name (BGTM, Buffer (0x14) {}) 8837 CreateDWordField (BGTM, 0x00, GTP0) 8838 CreateDWordField (BGTM, 0x04, GTD0) 8839 CreateDWordField (BGTM, 0x08, GTP1) 8840 CreateDWordField (BGTM, 0x0C, GTD1) 8841 CreateDWordField (BGTM, 0x10, GTMF) 8842 Method (UDMA, 2, NotSerialized) 8843 { 8844 If (And (Arg0, 0x04)) 8845 { 8846 If (And (Arg1, 0x10)) 8847 { 8848 Return (0x05) 8849 } 8850 Else 8851 { 8852 If (And (Arg1, 0x08)) 8853 { 8854 Return (0x04) 8855 } 8856 Else 8857 { 8858 If (And (Arg1, 0x04)) 8859 { 8860 Return (0x03) 8861 } 8862 Else 8863 { 8864 If (And (Arg1, 0x02)) 8865 { 8866 Return (0x02) 8867 } 8868 Else 8869 { 8870 If (And (Arg1, 0x01)) 8871 { 8872 Return (0x01) 8873 } 8874 Else 8875 { 8876 Return (0x00) 8877 } 8878 } 8879 } 8880 } 8881 } 8882 } 8883 Else 8884 { 8885 Return (0x00) 8886 } 8887 } 8888 8889 Method (UDMB, 2, NotSerialized) 8890 { 8891 If (Arg0) 8892 { 8893 If (LGreater (Arg1, 0x1E)) 8894 { 8895 If (LGreater (Arg1, 0x2D)) 8896 { 8897 If (LGreater (Arg1, 0x3C)) 8898 { 8899 If (LGreater (Arg1, 0x50)) 8900 { 8901 Return (0x01) 8902 } 8903 Else 8904 { 8905 Return (0x02) 8906 } 8907 } 8908 Else 8909 { 8910 Return (0x03) 8911 } 8912 } 8913 Else 8914 { 8915 Return (0x04) 8916 } 8917 } 8918 Else 8919 { 8920 Return (0x05) 8921 } 8922 } 8923 Else 8924 { 8925 Return (0x00) 8926 } 8927 } 8928 8929 Method (MDMA, 4, NotSerialized) 8930 { 8931 If (And (Arg0, 0x02)) 8932 { 8933 If (And (Arg1, 0x04)) 8934 { 8935 If (LNot (LGreater (Arg3, 0x78))) 8936 { 8937 Return (0x03) 8938 } 8939 Else 8940 { 8941 If (LNot (LGreater (Arg3, 0xB4))) 8942 { 8943 Return (0x02) 8944 } 8945 Else 8946 { 8947 If (LNot (LGreater (Arg3, 0xF0))) 8948 { 8949 Return (0x01) 8950 } 8951 Else 8952 { 8953 Return (0x00) 8954 } 8955 } 8956 } 8957 } 8958 Else 8959 { 8960 If (And (Arg1, 0x02)) 8961 { 8962 If (LNot (LGreater (Arg3, 0xB4))) 8963 { 8964 Return (0x02) 8965 } 8966 Else 8967 { 8968 If (LNot (LGreater (Arg3, 0xF0))) 8969 { 8970 Return (0x01) 8971 } 8972 Else 8973 { 8974 Return (0x00) 8975 } 8976 } 8977 } 8978 Else 8979 { 8980 If (And (Arg2, 0x04)) 8981 { 8982 If (LNot (LGreater (Arg3, 0xF0))) 8983 { 8984 Return (0x01) 8985 } 8986 Else 8987 { 8988 Return (0x00) 8989 } 8990 } 8991 Else 8992 { 8993 Return (0x00) 8994 } 8995 } 8996 } 8997 } 8998 Else 8999 { 9000 Return (0x00) 9001 } 9002 } 9003 9004 Method (MDMB, 1, NotSerialized) 9005 { 9006 If (LGreater (Arg0, 0x78)) 9007 { 9008 If (LGreater (Arg0, 0x96)) 9009 { 9010 Return (0x01) 9011 } 9012 Else 9013 { 9014 Return (0x02) 9015 } 9016 } 9017 Else 9018 { 9019 Return (0x03) 9020 } 9021 } 9022 9023 Method (MPIO, 4, NotSerialized) 9024 { 9025 If (And (Arg0, 0x02)) 9026 { 9027 If (And (Arg1, 0x02)) 9028 { 9029 If (LNot (LGreater (Arg3, 0x78))) 9030 { 9031 Return (0x04) 9032 } 9033 Else 9034 { 9035 If (LNot (LGreater (Arg3, 0xB4))) 9036 { 9037 Return (0x03) 9038 } 9039 Else 9040 { 9041 If (LNot (LGreater (Arg3, 0xF0))) 9042 { 9043 Return (0x02) 9044 } 9045 Else 9046 { 9047 Return (0x00) 9048 } 9049 } 9050 } 9051 } 9052 Else 9053 { 9054 If (And (Arg1, 0x01)) 9055 { 9056 If (LNot (LGreater (Arg3, 0xB4))) 9057 { 9058 Return (0x03) 9059 } 9060 Else 9061 { 9062 If (LNot (LGreater (Arg3, 0xF0))) 9063 { 9064 Return (0x02) 9065 } 9066 Else 9067 { 9068 Return (0x00) 9069 } 9070 } 9071 } 9072 Else 9073 { 9074 If (LEqual (Arg2, 0x02)) 9075 { 9076 Return (0x01) 9077 } 9078 Else 9079 { 9080 Return (0x00) 9081 } 9082 } 9083 } 9084 } 9085 Else 9086 { 9087 If (LEqual (Arg2, 0x02)) 9088 { 9089 Return (0x01) 9090 } 9091 Else 9092 { 9093 Return (0x00) 9094 } 9095 } 9096 } 9097 9098 Method (MPIB, 2, NotSerialized) 9099 { 9100 If (LGreater (Arg1, 0x78)) 9101 { 9102 If (LGreater (Arg1, 0xB4)) 9103 { 9104 If (LGreater (Arg1, 0xF0)) 9105 { 9106 Return (0x00) 9107 } 9108 Else 9109 { 9110 If (Arg0) 9111 { 9112 Return (0x02) 9113 } 9114 Else 9115 { 9116 Return (0x01) 9117 } 9118 } 9119 } 9120 Else 9121 { 9122 Return (0x03) 9123 } 9124 } 9125 Else 9126 { 9127 Return (0x04) 9128 } 9129 } 9130 9131 Method (MPI4, 2, NotSerialized) 9132 { 9133 If (Arg0) 9134 { 9135 If (LEqual (Arg0, 0x01)) 9136 { 9137 Return (0x01) 9138 } 9139 Else 9140 { 9141 If (LEqual (Arg0, 0x02)) 9142 { 9143 Return (0x02) 9144 } 9145 Else 9146 { 9147 If (LEqual (Arg1, 0x03)) 9148 { 9149 Return (0x02) 9150 } 9151 Else 9152 { 9153 Return (0x03) 9154 } 9155 } 9156 } 9157 } 9158 Else 9159 { 9160 If (LLess (Arg1, 0x02)) 9161 { 9162 Return (Arg1) 9163 } 9164 Else 9165 { 9166 Return (Decrement (Arg1)) 9167 } 9168 } 9169 } 9170 9171 Method (MP4B, 1, NotSerialized) 9172 { 9173 If (LNot (LGreater (Arg0, 0x01))) 9174 { 9175 Return (Arg0) 9176 } 9177 Else 9178 { 9179 Return (Decrement (Arg0)) 9180 } 9181 } 9182 9183 Method (MTIM, 3, NotSerialized) 9184 { 9185 If (LEqual (Arg0, 0x00)) 9186 { 9187 Store (0x00, Local5) 9188 } 9189 Else 9190 { 9191 If (LEqual (Arg0, 0x01)) 9192 { 9193 If (LLess (Arg1, 0x02)) 9194 { 9195 Store (0x01, Local5) 9196 } 9197 Else 9198 { 9199 Store (0x03, Local5) 9200 } 9201 } 9202 Else 9203 { 9204 If (LEqual (Arg0, 0x02)) 9205 { 9206 Store (0x03, Local5) 9207 } 9208 Else 9209 { 9210 Store (0x03, Local5) 9211 } 9212 } 9213 9214 If (LEqual (Arg1, 0x00)) 9215 { 9216 Or (Local5, 0x08, Local5) 9217 } 9218 } 9219 9220 If (Arg2) 9221 { 9222 And (Local5, 0xFB, Local5) 9223 } 9224 Else 9225 { 9226 Or (Local5, 0x04, Local5) 9227 } 9228 9229 Return (Local5) 9230 } 9231 9232 Method (MISP, 1, NotSerialized) 9233 { 9234 If (LEqual (Arg0, 0x00)) 9235 { 9236 Return (0x00) 9237 } 9238 Else 9239 { 9240 If (LEqual (Arg0, 0x01)) 9241 { 9242 Return (0x01) 9243 } 9244 Else 9245 { 9246 If (LEqual (Arg0, 0x02)) 9247 { 9248 Return (0x02) 9249 } 9250 Else 9251 { 9252 Return (0x02) 9253 } 9254 } 9255 } 9256 } 9257 9258 Method (MRTC, 1, NotSerialized) 9259 { 9260 If (LEqual (Arg0, 0x00)) 9261 { 9262 Return (0x00) 9263 } 9264 Else 9265 { 9266 If (LEqual (Arg0, 0x01)) 9267 { 9268 Return (0x00) 9269 } 9270 Else 9271 { 9272 If (LEqual (Arg0, 0x02)) 9273 { 9274 Return (0x01) 9275 } 9276 Else 9277 { 9278 Return (0x03) 9279 } 9280 } 9281 } 9282 } 9283 9284 Method (MUCT, 1, NotSerialized) 9285 { 9286 If (LEqual (Arg0, 0x00)) 9287 { 9288 Return (0x00) 9289 } 9290 Else 9291 { 9292 If (LEqual (Arg0, 0x01)) 9293 { 9294 Return (0x00) 9295 } 9296 Else 9297 { 9298 If (LEqual (Arg0, 0x02)) 9299 { 9300 Return (0x01) 9301 } 9302 Else 9303 { 9304 Return (0x02) 9305 } 9306 } 9307 } 9308 } 9309 9310 Method (CART, 1, NotSerialized) 9311 { 9312 If (LEqual (Arg0, 0x00)) 9313 { 9314 Return (0x02) 9315 } 9316 Else 9317 { 9318 Return (0x01) 9319 } 9320 } 9321 9322 Method (CCMD, 1, NotSerialized) 9323 { 9324 If (LEqual (Arg0, 0x04)) 9325 { 9326 Return (0x3F) 9327 } 9328 Else 9329 { 9330 If (LEqual (Arg0, 0x03)) 9331 { 9332 Return (0x32) 9333 } 9334 Else 9335 { 9336 If (LEqual (Arg0, 0x02)) 9337 { 9338 Return (0xAF) 9339 } 9340 Else 9341 { 9342 If (LEqual (Arg0, 0x01)) 9343 { 9344 Return (0xA2) 9345 } 9346 Else 9347 { 9348 Return (0xA9) 9349 } 9350 } 9351 } 9352 } 9353 } 9354 9355 Method (CDRW, 2, NotSerialized) 9356 { 9357 If (LEqual (Arg0, 0x01)) 9358 { 9359 Store (0x88, Local0) 9360 } 9361 Else 9362 { 9363 If (LEqual (Arg0, 0x02)) 9364 { 9365 Store (0x31, Local0) 9366 } 9367 Else 9368 { 9369 If (LEqual (Arg0, 0x03)) 9370 { 9371 Store (0x3F, Local0) 9372 } 9373 Else 9374 { 9375 Store (0xFFFFFFFF, Local0) 9376 } 9377 } 9378 } 9379 9380 If (LEqual (Arg1, 0x00)) 9381 { 9382 Store (0x6D, Local1) 9383 } 9384 Else 9385 { 9386 If (LEqual (Arg1, 0x01)) 9387 { 9388 Store (0x43, Local1) 9389 } 9390 Else 9391 { 9392 If (LEqual (Arg1, 0x02)) 9393 { 9394 Store (0x43, Local1) 9395 } 9396 Else 9397 { 9398 If (LEqual (Arg1, 0x03)) 9399 { 9400 Store (0x32, Local1) 9401 } 9402 Else 9403 { 9404 Store (0x3F, Local1) 9405 } 9406 } 9407 } 9408 } 9409 9410 If (LGreater (CCYC (Local0), CCYC (Local1))) 9411 { 9412 Return (Local0) 9413 } 9414 Else 9415 { 9416 Return (Local1) 9417 } 9418 } 9419 9420 Method (CCYC, 1, NotSerialized) 9421 { 9422 And (Arg0, 0x0F, Local0) 9423 ShiftRight (Arg0, 0x04, Local1) 9424 If (Local0) 9425 { 9426 If (LEqual (Local0, 0x0F)) 9427 { 9428 Store (0x01, Local0) 9429 } 9430 Else 9431 { 9432 Increment (Local0) 9433 } 9434 } 9435 Else 9436 { 9437 Store (0x10, Local0) 9438 } 9439 9440 If (LNot (Local1)) 9441 { 9442 Store (0x10, Local1) 9443 } 9444 9445 Add (Local0, Local1, Local0) 9446 Multiply (Local0, 0x1E, Local0) 9447 Return (Local0) 9448 } 9449 9450 Method (CUDC, 1, NotSerialized) 9451 { 9452 If (LEqual (Arg0, 0x01)) 9453 { 9454 Return (0x03) 9455 } 9456 Else 9457 { 9458 If (LEqual (Arg0, 0x02)) 9459 { 9460 Return (0x02) 9461 } 9462 Else 9463 { 9464 If (LEqual (Arg0, 0x03)) 9465 { 9466 Return (0x01) 9467 } 9468 Else 9469 { 9470 If (LEqual (Arg0, 0x04)) 9471 { 9472 Return (0x02) 9473 } 9474 Else 9475 { 9476 Return (0x01) 9477 } 9478 } 9479 } 9480 } 9481 } 9482 9483 Method (MHDM, 2, NotSerialized) 9484 { 9485 If (LEqual (Arg0, 0x00)) 9486 { 9487 If (LEqual (Arg1, 0x00)) 9488 { 9489 Return (0x00) 9490 } 9491 Else 9492 { 9493 If (LEqual (Arg1, 0x01)) 9494 { 9495 Return (0x12) 9496 } 9497 Else 9498 { 9499 If (LEqual (Arg1, 0x02)) 9500 { 9501 Return (0x21) 9502 } 9503 Else 9504 { 9505 Return (0x22) 9506 } 9507 } 9508 } 9509 } 9510 Else 9511 { 9512 If (LEqual (Arg0, 0x01)) 9513 { 9514 Return (0x40) 9515 } 9516 Else 9517 { 9518 If (LEqual (Arg0, 0x02)) 9519 { 9520 Return (0x41) 9521 } 9522 Else 9523 { 9524 If (LEqual (Arg0, 0x03)) 9525 { 9526 Return (0x42) 9527 } 9528 Else 9529 { 9530 If (LEqual (Arg0, 0x04)) 9531 { 9532 Return (0x43) 9533 } 9534 Else 9535 { 9536 Return (0x44) 9537 } 9538 } 9539 } 9540 } 9541 } 9542 } 9543 9544 Method (MHPI, 1, NotSerialized) 9545 { 9546 If (LEqual (Arg0, 0x00)) 9547 { 9548 Return (0x00) 9549 } 9550 Else 9551 { 9552 If (LEqual (Arg0, 0x01)) 9553 { 9554 Return (0x01) 9555 } 9556 Else 9557 { 9558 If (LEqual (Arg0, 0x02)) 9559 { 9560 Return (0x00) 9561 } 9562 Else 9563 { 9564 If (LEqual (Arg0, 0x03)) 9565 { 9566 Return (0x0B) 9567 } 9568 Else 9569 { 9570 Return (0x0C) 9571 } 9572 } 9573 } 9574 } 9575 } 9576 9577 Method (MIN, 2, NotSerialized) 9578 { 9579 If (LLess (Arg0, Arg1)) 9580 { 9581 Return (Arg0) 9582 } 9583 Else 9584 { 9585 Return (Arg1) 9586 } 9587 } 9588 9589 Method (SLEN, 1, NotSerialized) 9590 { 9591 Return (SizeOf (Arg0)) 9592 } 9593 9594 Method (S2BF, 1, Serialized) 9595 { 9596 Add (SLEN (Arg0), One, Local0) 9597 Name (BUFF, Buffer (Local0) {}) 9598 Store (Arg0, BUFF) 9599 Return (BUFF) 9600 } 9601 9602 Method (SCMP, 2, NotSerialized) 9603 { 9604 Store (S2BF (Arg0), Local0) 9605 Store (S2BF (Arg1), Local1) 9606 Store (Zero, Local4) 9607 Store (SLEN (Arg0), Local5) 9608 Store (SLEN (Arg1), Local6) 9609 Store (MIN (Local5, Local6), Local7) 9610 While (LLess (Local4, Local7)) 9611 { 9612 Store (DerefOf (Index (Local0, Local4)), Local2) 9613 Store (DerefOf (Index (Local1, Local4)), Local3) 9614 If (LGreater (Local2, Local3)) 9615 { 9616 Return (One) 9617 } 9618 Else 9619 { 9620 If (LLess (Local2, Local3)) 9621 { 9622 Return (Ones) 9623 } 9624 } 9625 9626 Increment (Local4) 9627 } 9628 9629 If (LLess (Local4, Local5)) 9630 { 9631 Return (One) 9632 } 9633 Else 9634 { 9635 If (LLess (Local4, Local6)) 9636 { 9637 Return (Ones) 9638 } 9639 Else 9640 { 9641 Return (Zero) 9642 } 9643 } 9644 } 9645 9646 Name (SPS, 0x00) 9647 Name (W98F, 0x00) 9648 Name (WNTF, 0x00) 9649 Name (WMEF, 0x00) 9650 Name (H8DR, 0x00) 9651 Name (MEMX, 0x00) 9652 Name (GVEN, 0x00) 9653 Name (FNID, 0x00) 9654 Name (RRBF, 0x00) 9655} 9656