Attachment 'acpidump.out.txt'

Download

   1 /*
   2   RSD PTR: OEM=PTLTD, ACPI_Rev=2.0x (2)
   3 	XSDT=0x0000000077d95146, length=36, cksum=245
   4  */
   5 /*
   6   XSDT: Length=100, Revision=1, Checksum=28,
   7 	OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
   8 	Creator ID= LTP, Creator Revision=0x0
   9 	Entries={ 0x0000000077d9bb94, 0x0000000077d9bc88, 0x0000000077d9bcd8, 0x0000000077d9be4e, 0x0000000077d9be8a, 0x0000000077d96ae3, 0x0000000077d965cb, 0x0000000077d951aa }
  10  */
  11 /*
  12   FACP: Length=244, Revision=3, Checksum=194,
  13 	OEMID=SiS, OEM Table ID=671MX, OEM Revision=0x6040000,
  14 	Creator ID=PTL, Creator Revision=0xf4240
  15  	FACS=0x77d9cfc0, DSDT=0x77d96d2a
  16 	INT_MODEL=PIC
  17 	Preferred_PM_Profile=Mobile (2)
  18 	SCI_INT=11
  19 	SMI_CMD=0x8048, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0x0
  21 	PM1a_EVT_BLK=0x8000-0x8003
  22 	PM1a_CNT_BLK=0x8004-0x8005
  23 	PM2_CNT_BLK=0x8016-0x8016
  24 	PM_TMR_BLK=0x8008-0x800b
  25 	GPE0_BLK=0x8020-0x8023
  26 	GPE1_BLK=0x8030-0x8033, GPE1_BASE=16
  27 	P_LVL2_LAT=190 us, P_LVL3_LAT=1900 us
  28 	FLUSH_SIZE=0, FLUSH_STRIDE=0
  29 	DUTY_OFFSET=1, DUTY_WIDTH=3
  30 	DAY_ALRM=126, MON_ALRM=127, CENTURY=50
  31 	IAPC_BOOT_ARCH=
  32 	Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON}
  33 	X_FACS=0x0000000077d9cfc0, X_DSDT=0x0000000077d96d2a
  34 	X_PM1a_EVT_BLK=0x8000:0[32] (IO)
  35 	X_PM1a_CNT_BLK=0x8004:0[16] (IO)
  36 	X_PM2_CNT_BLK=0x8016:0[8] (IO)
  37 	X_PM_TMR_BLK=0x8008:0[32] (IO)
  38 	X_GPE0_BLK=0x8020:0[32] (IO)
  39 	X_GPE1_BLK=0x8030:0[32] (IO)
  40  */
  41 /*
  42   FACS:	Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
  43 	Global_Lock=
  44 	Flags=
  45 	Version=1
  46  */
  47 /*
  48   DSDT: Length=19958, Revision=1, Checksum=196,
  49 	OEMID=PTLTD, OEM Table ID=671, OEM Revision=0x6040000,
  50 	Creator ID=MSFT, Creator Revision=0x3000000
  51  */
  52 /*
  53   APIC: Length=80, Revision=1, Checksum=115,
  54 	OEMID=PTLTD, OEM Table ID=	 APIC, OEM Revision=0x6040000,
  55 	Creator ID= LTP, Creator Revision=0x0
  56 	Local APIC ADDR=0xfee00000
  57 	Flags={PC-AT}
  58 
  59 	Type=Local APIC
  60 	ACPI CPU=0
  61 	Flags={ENABLED}
  62 	APIC ID=0
  63 
  64 	Type=IO APIC
  65 	APIC ID=1
  66 	INT BASE=0
  67 	ADDR=0x00000000fec00000
  68 
  69 	Type=Local APIC NMI
  70 	ACPI CPU=0
  71 	LINT Pin=1
  72 	Flags={Polarity=active-hi, Trigger=edge}
  73 
  74 	Type=INT Override
  75 	BUS=0
  76 	IRQ=0
  77 	INTR=2
  78 	Flags={Polarity=active-hi, Trigger=edge}
  79  */
  80 /*
  81   SLIC: Length=374, Revision=1, Checksum=0,
  82 	OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
  83 	Creator ID= LTP, Creator Revision=0x0
  84  */
  85 /*
  86   MCFG: Length=60, Revision=1, Checksum=103,
  87 	OEMID=PTLTD, OEM Table ID=  MCFG, OEM Revision=0x6040000,
  88 	Creator ID= LTP, Creator Revision=0x0
  89 
  90 	Base Address=0x00000000e0000000
  91 	Segment Group=0x0000
  92 	Start Bus=0
  93 	End Bus=0
  94  */
  95 /*
  96   SLIC: Length=374, Revision=1, Checksum=0,
  97 	OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
  98 	Creator ID= LTP, Creator Revision=0x0
  99  */
 100 /*
 101   SSDT: Length=583, Revision=1, Checksum=25,
 102 	OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 103 	Creator ID=INTL, Creator Revision=0x20050228
 104  */
 105 /*
 106   SSDT: Length=1304, Revision=1, Checksum=250,
 107 	OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
 108 	Creator ID=INTL, Creator Revision=0x20050228
 109  */
 110 /*
 111   SSDT: Length=5153, Revision=1, Checksum=75,
 112 	OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
 113 	Creator ID=INTL, Creator Revision=0x20050228
 114  */
 115 /*
 116  * Intel ACPI Component Architecture
 117  * AML/ASL+ Disassembler version 20170303 (32-bit version)
 118  * Copyright (c) 2000 - 2017 Intel Corporation
 119  * 
 120  * Disassembling to symbolic ASL+ operators
 121  *
 122  * Disassembly of /tmp/acpidump.Akv3gb/acpdump.din, Wed Nov 29 09:49:51 2017
 123  *
 124  * Original Table Header:
 125  *     Signature        "DSDT"
 126  *     Length           0x0000690A (26890)
 127  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 128  *     Checksum         0xEA
 129  *     OEM ID           "PTLTD "
 130  *     OEM Table ID     "671"
 131  *     OEM Revision     0x06040000 (100925440)
 132  *     Compiler ID      "MSFT"
 133  *     Compiler Version 0x03000000 (50331648)
 134  */
 135 DefinitionBlock ("", "DSDT", 1, "PTLTD ", "671", 0x06040000)
 136 {
 137     OperationRegion (Z000, SystemIO, 0x8042, 0x01)
 138     Field (Z000, ByteAcc, NoLock, Preserve)
 139     {
 140         Z001,   8
 141     }
 142 
 143     OperationRegion (Z002, SystemIO, 0x8004, 0x01)
 144     Field (Z002, ByteAcc, NoLock, Preserve)
 145     {
 146         Z003,   8
 147     }
 148 
 149     Scope (\_SB)
 150     {
 151         Name (OSTB, Ones)
 152         OperationRegion (OSTY, SystemMemory, 0x77D9CF4C, 0x00000001)
 153         Field (OSTY, AnyAcc, NoLock, Preserve)
 154         {
 155             TPOS,   8
 156         }
 157 
 158         Method (OSTP, 0, NotSerialized)
 159         {
 160             If ((^OSTB == Ones))
 161             {
 162                 If (CondRefOf (\_OSI, Local0))
 163                 {
 164                     If (\_OSI ("Windows 2001.1"))
 165                     {
 166                         ^OSTB = 0x20
 167                         ^TPOS = 0x20
 168                     }
 169                     ElseIf (\_OSI ("Windows 2001 SP1"))
 170                     {
 171                         ^OSTB = 0x10
 172                         ^TPOS = 0x10
 173                     }
 174                     ElseIf (\_OSI ("Windows 2001"))
 175                     {
 176                         ^OSTB = 0x08
 177                         ^TPOS = 0x08
 178                     }
 179                     Else
 180                     {
 181                         ^OSTB = 0x00
 182                         ^TPOS = 0x00
 183                     }
 184                 }
 185                 ElseIf (CondRefOf (\_OS, Local0))
 186                 {
 187                     If (^SEQL (\_OS, "Microsoft Windows"))
 188                     {
 189                         ^OSTB = 0x01
 190                         ^TPOS = 0x01
 191                     }
 192                     ElseIf (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition"))
 193                     {
 194                         ^OSTB = 0x02
 195                         ^TPOS = 0x02
 196                     }
 197                     ElseIf (^SEQL (\_OS, "Microsoft Windows NT"))
 198                     {
 199                         ^OSTB = 0x04
 200                         ^TPOS = 0x04
 201                     }
 202                     Else
 203                     {
 204                         ^OSTB = 0x00
 205                         ^TPOS = 0x00
 206                     }
 207                 }
 208                 Else
 209                 {
 210                     ^OSTB = 0x00
 211                     ^TPOS = 0x00
 212                 }
 213             }
 214 
 215             Return (^OSTB) /* \_SB_.OSTB */
 216         }
 217 
 218         Method (SEQL, 2, Serialized)
 219         {
 220             Local0 = SizeOf (Arg0)
 221             Local1 = SizeOf (Arg1)
 222             If ((Local0 != Local1))
 223             {
 224                 Return (Zero)
 225             }
 226 
 227             Name (BUF0, Buffer (Local0){})
 228             BUF0 = Arg0
 229             Name (BUF1, Buffer (Local0){})
 230             BUF1 = Arg1
 231             Local2 = Zero
 232             While ((Local2 < Local0))
 233             {
 234                 Local3 = DerefOf (BUF0 [Local2])
 235                 Local4 = DerefOf (BUF1 [Local2])
 236                 If ((Local3 != Local4))
 237                 {
 238                     Return (Zero)
 239                 }
 240 
 241                 Local2++
 242             }
 243 
 244             Return (One)
 245         }
 246     }
 247 
 248     Name (_S0, Package (0x02)  // _S0_: S0 System State
 249     {
 250         0x00, 
 251         0x00
 252     })
 253     Name (_S3, Package (0x02)  // _S3_: S3 System State
 254     {
 255         0x03, 
 256         0x03
 257     })
 258     Name (_S4, Package (0x02)  // _S4_: S4 System State
 259     {
 260         0x04, 
 261         0x04
 262     })
 263     Name (_S5, Package (0x02)  // _S5_: S5 System State
 264     {
 265         0x05, 
 266         0x05
 267     })
 268     Name (FWSO, "FWSO")
 269     Name (_PSC, 0x00)  // _PSC: Power State Current
 270     Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
 271     {
 272         Local0 = _PSC /* \_PSC */
 273         _PSC = 0x00
 274         If ((Local0 == 0x03))
 275         {
 276             \_SB.INF = 0x01
 277             While (\_SB.INF)
 278             {
 279                 \_SB.BCMD = 0x20
 280                 \_SB.SMIC = Zero
 281                 If (((\_SB.INF == 0x01) && (\_SB.OSTB >= 0x04)))
 282                 {
 283                     Sleep (0x01F4)
 284                 }
 285             }
 286         }
 287     }
 288 
 289     Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
 290     {
 291         _PSC = 0x03
 292     }
 293 
 294     Scope (_SI)
 295     {
 296         Method (_SST, 1, NotSerialized)  // _SST: System Status
 297         {
 298             If ((Arg0 == 0x01)){}
 299             If ((Arg0 == 0x02)){}
 300             If ((Arg0 == 0x03)){}
 301             If ((Arg0 == 0x04)){}
 302             If ((Arg0 == 0x00)){}
 303         }
 304     }
 305 
 306     Scope (_PR)
 307     {
 308         Processor (CPU0, 0x00, 0x00008010, 0x06){}
 309         Processor (CPU1, 0x01, 0x00008010, 0x06){}
 310         Processor (CPU2, 0x02, 0x00008010, 0x06){}
 311         Processor (CPU3, 0x03, 0x00008010, 0x06){}
 312         Processor (CPU4, 0x04, 0x00008010, 0x06){}
 313         Processor (CPU5, 0x05, 0x00008010, 0x06){}
 314         Processor (CPU6, 0x06, 0x00008010, 0x06){}
 315         Processor (CPU7, 0x07, 0x00008010, 0x06){}
 316     }
 317 
 318     Scope (_GPE)
 319     {
 320         Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 321         {
 322         }
 323 
 324         Method (_L04, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 325         {
 326             Notify (\_SB.PCI0.USB1, 0x02) // Device Wake
 327         }
 328 
 329         Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 330         {
 331             Notify (\_SB.PCI0.USB2, 0x02) // Device Wake
 332         }
 333 
 334         Method (_L08, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 335         {
 336             Notify (\_SB.PCI0, 0x02) // Device Wake
 337         }
 338 
 339         Method (_L0A, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 340         {
 341             \_SB.DBPG = 0xFA
 342             Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
 343             Sleep (0x012C)
 344             \_SB.PCI0.LPC.TRIP = 0x01
 345         }
 346 
 347         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 348         {
 349             Notify (\_SB.PCI0, 0x02) // Device Wake
 350         }
 351 
 352         Method (_L0E, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
 353         {
 354             Notify (\_SB.PCI0.USB0, 0x02) // Device Wake
 355         }
 356     }
 357 
 358     Name (\CTYP, 0x00)
 359     Method (DTSF, 1, Serialized)
 360     {
 361         \_SB.BCMD = 0x49
 362         \_SB.DID = Arg0
 363         \_SB.SMIC = 0x00
 364     }
 365 
 366     Scope (\_TZ)
 367     {
 368         Name (THPP, 0x00)
 369         Method (KELV, 1, NotSerialized)
 370         {
 371             If ((Arg0 > 0x7F))
 372             {
 373                 Local0 = (Arg0 ^ 0xFF)
 374                 Local0 += 0x01
 375                 Local0 *= 0x0A
 376                 Local1 = (0x0AAC - Local0)
 377             }
 378             Else
 379             {
 380                 Local0 = (Arg0 * 0x0A)
 381                 Local1 = (Local0 + 0x0AAC)
 382             }
 383 
 384             Return (Local1)
 385         }
 386 
 387         ThermalZone (TZ01)
 388         {
 389             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
 390             {
 391                 Return (KELV (\_SB.CRTT))
 392             }
 393 
 394             Method (_SCP, 1, Serialized)  // _SCP: Set Cooling Policy
 395             {
 396                 CTYP = Arg0
 397             }
 398 
 399             Method (_TMP, 0, Serialized)  // _TMP: Temperature
 400             {
 401                 \_SB.DBPG = 0x91
 402                 If ((THPP == 0x69))
 403                 {
 404                     Return (KELV (THPP))
 405                 }
 406 
 407                 If (\_SB.DTSE)
 408                 {
 409                     If ((\_SB.DTS1 >= \_SB.DTS2))
 410                     {
 411                         If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00))
 412                         {
 413                             \_SB.DBPG = 0x92
 414                             \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS1
 415                         }
 416 
 417                         \_SB.DBPG = 0x93
 418                         Return (KELV (\_SB.DTS1))
 419                     }
 420                     Else
 421                     {
 422                         If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00))
 423                         {
 424                             \_SB.DBPG = 0x94
 425                             \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS2
 426                         }
 427 
 428                         \_SB.DBPG = 0x95
 429                         Return (KELV (\_SB.DTS2))
 430                     }
 431                 }
 432                 ElseIf ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
 433                 {
 434                     \_SB.DBPG = 0x96
 435                     Return (KELV (0x1E))
 436                 }
 437                 Else
 438                 {
 439                     \_SB.DBPG = 0x97
 440                     Return (KELV (\_SB.PCI0.LPC.EC0.XHPP))
 441                 }
 442             }
 443 
 444             Method (_PSL, 0, Serialized)  // _PSL: Passive List
 445             {
 446                 If (\_SB.MPEN)
 447                 {
 448                     Return (Package (0x02)
 449                     {
 450                         \_PR.CPU0, 
 451                         \_PR.CPU1
 452                     })
 453                 }
 454 
 455                 Return (Package (0x01)
 456                 {
 457                     \_PR.CPU0
 458                 })
 459             }
 460 
 461             Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
 462             {
 463                 Return ((0x0AAC + (\_SB.PSVT * 0x0A)))
 464             }
 465 
 466             Method (_TC1, 0, Serialized)  // _TC1: Thermal Constant 1
 467             {
 468                 Return (\_SB.TC1V)
 469             }
 470 
 471             Method (_TC2, 0, Serialized)  // _TC2: Thermal Constant 2
 472             {
 473                 Return (\_SB.TC2V)
 474             }
 475 
 476             Method (_TSP, 0, Serialized)  // _TSP: Thermal Sampling Period
 477             {
 478                 Return (\_SB.TSPV)
 479             }
 480         }
 481     }
 482 
 483     Scope (_SB)
 484     {
 485         OperationRegion (CMS1, SystemIO, 0x70, 0x02)
 486         Field (CMS1, ByteAcc, NoLock, Preserve)
 487         {
 488             INDX,   8, 
 489             DATA,   8
 490         }
 491 
 492         IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
 493         {
 494             Offset (0x60), 
 495                 ,   1, 
 496             PFID,   3
 497         }
 498 
 499         Device (BAT0)
 500         {
 501             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
 502             Name (_UID, 0x00)  // _UID: Unique ID
 503             Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
 504             {
 505                 \_SB
 506             })
 507             Name (PAK0, Package (0x0D)
 508             {
 509                 0x00, 
 510                 0x1130, 
 511                 0x1130, 
 512                 0x00, 
 513                 0x3138, 
 514                 0x18, 
 515                 0x18, 
 516                 0x18, 
 517                 0x16, 
 518                 "L41SA", 
 519                 "001 ", 
 520                 "LiON", 
 521                 "ECS "
 522             })
 523             Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
 524             {
 525                 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
 526                 {
 527                     Return (PAK0) /* \_SB_.BAT0.PAK0 */
 528                 }
 529                 Else
 530                 {
 531                     Acquire (\_SB.MUTX, 0xFFFF)
 532                     PAK0 [0x00] = \_SB.PCI0.LPC.EC0.XIF0
 533                     PAK0 [0x01] = \_SB.PCI0.LPC.EC0.XIF1
 534                     Local0 = \_SB.PCI0.LPC.EC0.XIF2
 535                     PAK0 [0x02] = Local0
 536                     PAK0 [0x03] = \_SB.PCI0.LPC.EC0.XIF3
 537                     PAK0 [0x04] = \_SB.PCI0.LPC.EC0.XIF4
 538                     PAK0 [0x05] = (Local0 / 0x64)
 539                     PAK0 [0x06] = (Local0 / 0x64)
 540                     PAK0 [0x07] = \_SB.PCI0.LPC.EC0.XIF7
 541                     Local1 = \_SB.OCID
 542                     Local3 = \_SB.PRID
 543                     If ((Local3 == 0x00))
 544                     {
 545                         If ((Local1 == 0x00))
 546                         {
 547                             Local2 = \_SB.PCI0.LPC.EC0.MDTP
 548                             If ((Local2 == 0x01))
 549                             {
 550                                 PAK0 [0x09] = "L51SA"
 551                                 PAK0 [0x0C] = "ECS "
 552                             }
 553                             Else
 554                             {
 555                                 PAK0 [0x09] = "L41SA"
 556                                 PAK0 [0x0C] = "ECS "
 557                             }
 558                         }
 559                         ElseIf ((Local1 == 0x01))
 560                         {
 561                             PAK0 [0x09] = "T61"
 562                             PAK0 [0x0C] = "Haier "
 563                         }
 564                         ElseIf ((Local1 == 0x02))
 565                         {
 566                             PAK0 [0x09] = "L51SA"
 567                             PAK0 [0x0C] = "ECS "
 568                         }
 569                         ElseIf ((Local1 == 0x03))
 570                         {
 571                             PAK0 [0x09] = "     "
 572                             PAK0 [0x0C] = "Hasee "
 573                         }
 574                         ElseIf ((Local1 == 0x04))
 575                         {
 576                             PAK0 [0x09] = "K42A "
 577                             PAK0 [0x0C] = "TCL "
 578                         }
 579                     }
 580                     ElseIf ((Local3 == 0x01))
 581                     {
 582                         If ((Local1 == 0x00))
 583                         {
 584                             Local2 = \_SB.PCI0.LPC.EC0.MDTP
 585                             If ((Local2 == 0x04))
 586                             {
 587                                 PAK0 [0x09] = "     "
 588                                 PAK0 [0x0C] = "OEM "
 589                             }
 590 
 591                             If ((Local2 == 0x05))
 592                             {
 593                                 PAK0 [0x09] = "     "
 594                                 PAK0 [0x0C] = "OEM "
 595                             }
 596 
 597                             If ((Local2 == 0x07))
 598                             {
 599                                 PAK0 [0x09] = "     "
 600                                 PAK0 [0x0C] = "OEM "
 601                             }
 602                         }
 603                         Else
 604                         {
 605                             If ((Local1 == 0x01))
 606                             {
 607                                 PAK0 [0x09] = "A60x"
 608                                 PAK0 [0x0C] = "Haier "
 609                             }
 610 
 611                             If ((Local1 == 0x02))
 612                             {
 613                                 Local2 = \_SB.PCI0.LPC.EC0.MDTP
 614                                 If ((Local2 == 0x04))
 615                                 {
 616                                     PAK0 [0x09] = "     "
 617                                     PAK0 [0x0C] = "OEM "
 618                                 }
 619 
 620                                 If ((Local2 == 0x05))
 621                                 {
 622                                     PAK0 [0x09] = "     "
 623                                     PAK0 [0x0C] = "OEM "
 624                                 }
 625 
 626                                 If ((Local2 == 0x07))
 627                                 {
 628                                     PAK0 [0x09] = "     "
 629                                     PAK0 [0x0C] = "OEM "
 630                                 }
 631                             }
 632 
 633                             If ((Local1 == 0x03))
 634                             {
 635                                 PAK0 [0x09] = "     "
 636                                 PAK0 [0x0C] = "OEM "
 637                             }
 638 
 639                             If ((Local1 == 0x04))
 640                             {
 641                                 PAK0 [0x09] = "     "
 642                                 PAK0 [0x0C] = "OEM "
 643                             }
 644 
 645                             If ((Local1 == 0x05))
 646                             {
 647                                 Local2 = \_SB.PCI0.LPC.EC0.MDTP
 648                                 If ((Local2 == 0x04))
 649                                 {
 650                                     PAK0 [0x09] = "     "
 651                                     PAK0 [0x0C] = "OEM "
 652                                 }
 653 
 654                                 If ((Local2 == 0x05))
 655                                 {
 656                                     PAK0 [0x09] = "     "
 657                                     PAK0 [0x0C] = "OEM "
 658                                 }
 659 
 660                                 If ((Local2 == 0x07))
 661                                 {
 662                                     PAK0 [0x09] = "     "
 663                                     PAK0 [0x0C] = "OEM "
 664                                 }
 665                             }
 666 
 667                             If ((Local1 == 0x06))
 668                             {
 669                                 Local2 = \_SB.PCI0.LPC.EC0.MDTP
 670                                 If ((Local2 == 0x04))
 671                                 {
 672                                     PAK0 [0x09] = "     "
 673                                     PAK0 [0x0C] = "OEM "
 674                                 }
 675 
 676                                 If ((Local2 == 0x05))
 677                                 {
 678                                     PAK0 [0x09] = "     "
 679                                     PAK0 [0x0C] = "OEM "
 680                                 }
 681 
 682                                 If ((Local2 == 0x07))
 683                                 {
 684                                     PAK0 [0x09] = "     "
 685                                     PAK0 [0x0C] = "OEM "
 686                                 }
 687                             }
 688 
 689                             If ((Local1 == 0x07))
 690                             {
 691                                 Local2 = \_SB.PCI0.LPC.EC0.MDTP
 692                                 If ((Local2 == 0x04))
 693                                 {
 694                                     PAK0 [0x09] = "     "
 695                                     PAK0 [0x0C] = "OEM "
 696                                 }
 697 
 698                                 If ((Local2 == 0x05))
 699                                 {
 700                                     PAK0 [0x09] = "     "
 701                                     PAK0 [0x0C] = "OEM "
 702                                 }
 703 
 704                                 If ((Local2 == 0x07))
 705                                 {
 706                                     PAK0 [0x09] = "     "
 707                                     PAK0 [0x0C] = "OEM "
 708                                 }
 709                             }
 710                         }
 711                     }
 712                     ElseIf ((Local3 == 0x02))
 713                     {
 714                         If ((Local1 == 0x00))
 715                         {
 716                             Local2 = \_SB.PCI0.LPC.EC0.MDTP
 717                             If ((Local2 == 0x04))
 718                             {
 719                                 PAK0 [0x09] = "U30SA"
 720                                 PAK0 [0x0C] = "ECS "
 721                             }
 722                             ElseIf ((Local2 == 0x05))
 723                             {
 724                                 PAK0 [0x09] = "U40SA"
 725                                 PAK0 [0x0C] = "ECS "
 726                             }
 727                             Else
 728                             {
 729                                 PAK0 [0x09] = "U50SA"
 730                                 PAK0 [0x0C] = "ECS "
 731                             }
 732                         }
 733                         ElseIf ((Local1 == 0x01))
 734                         {
 735                             PAK0 [0x09] = "T60x"
 736                             PAK0 [0x0C] = "Haier "
 737                         }
 738                         ElseIf ((Local1 == 0x02))
 739                         {
 740                             If ((Local2 == 0x04))
 741                             {
 742                                 PAK0 [0x09] = "U30SA"
 743                                 PAK0 [0x0C] = "ECS "
 744                             }
 745                             ElseIf ((Local2 == 0x05))
 746                             {
 747                                 PAK0 [0x09] = "U40SA"
 748                                 PAK0 [0x0C] = "ECS "
 749                             }
 750                             Else
 751                             {
 752                                 PAK0 [0x09] = "U50SA"
 753                                 PAK0 [0x0C] = "ECS "
 754                             }
 755                         }
 756                         ElseIf ((Local1 == 0x03))
 757                         {
 758                             PAK0 [0x09] = "     "
 759                             PAK0 [0x0C] = "Hasee "
 760                         }
 761                         ElseIf ((Local1 == 0x04))
 762                         {
 763                             PAK0 [0x09] = "K42A "
 764                             PAK0 [0x0C] = "TCL "
 765                         }
 766                     }
 767 
 768                     Release (\_SB.MUTX)
 769                     Return (PAK0) /* \_SB_.BAT0.PAK0 */
 770                 }
 771             }
 772 
 773             Name (BFB0, Package (0x04)
 774             {
 775                 0x00, 
 776                 0xFFFFFFFF, 
 777                 0x1034, 
 778                 0x3138
 779             })
 780             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
 781             {
 782                 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
 783                 {
 784                     Return (BFB0) /* \_SB_.BAT0.BFB0 */
 785                 }
 786                 Else
 787                 {
 788                     Acquire (\_SB.MUTX, 0xFFFF)
 789                     BFB0 [0x00] = \_SB.PCI0.LPC.EC0.XST0
 790                     BFB0 [0x01] = \_SB.PCI0.LPC.EC0.XST1
 791                     BFB0 [0x02] = \_SB.PCI0.LPC.EC0.XST2
 792                     BFB0 [0x03] = \_SB.PCI0.LPC.EC0.XST3
 793                     Release (\_SB.MUTX)
 794                     Return (BFB0) /* \_SB_.BAT0.BFB0 */
 795                 }
 796             }
 797 
 798             Method (_STA, 0, NotSerialized)  // _STA: Status
 799             {
 800                 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
 801                 {
 802                     Return (0x0F)
 803                 }
 804                 Else
 805                 {
 806                     Local0 = \_SB.PCI0.LPC.EC0.XTIN
 807                     If (Local0)
 808                     {
 809                         Return (0x1F)
 810                     }
 811                     Else
 812                     {
 813                         Return (0x0F)
 814                     }
 815                 }
 816             }
 817         }
 818 
 819         Device (AC0)
 820         {
 821             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
 822             Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
 823             {
 824                 \_SB
 825             })
 826             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
 827             {
 828                 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
 829                 {
 830                     Local0 = 0x01
 831                 }
 832                 Else
 833                 {
 834                     Local0 = \_SB.PCI0.LPC.EC0.XCIN
 835                 }
 836 
 837                 Return (Local0)
 838             }
 839         }
 840 
 841         Device (PCI0)
 842         {
 843             Name (_HID, EisaId ("PNP0A03") /* PCI Bus */)  // _HID: Hardware ID
 844             Name (_ADR, 0x00)  // _ADR: Address
 845             Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
 846             Name (_UID, 0x00)  // _UID: Unique ID
 847             OperationRegion (NCFG, PCI_Config, 0x00, 0xAF)
 848             Field (NCFG, ByteAcc, NoLock, Preserve)
 849             {
 850                 Offset (0x50), 
 851                 DEFR,   8, 
 852                 Offset (0x53), 
 853                 PIPE,   8
 854             }
 855 
 856             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
 857             {
 858                 0x0B, 
 859                 0x05
 860             })
 861             Method (_STA, 0, NotSerialized)  // _STA: Status
 862             {
 863                 Return (0x0F)
 864             }
 865 
 866             Method (_INI, 0, NotSerialized)  // _INI: Initialize
 867             {
 868                 If (\_SB.DTSE){}
 869                 \_SB.OSTP ()
 870                 Local0 = Z003 /* \Z003 */
 871                 Local0 |= 0x02
 872                 Z003 = Local0
 873             }
 874 
 875             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
 876             {
 877                 If ((\_SB.OSTP () == 0x02))
 878                 {
 879                     Return (0x02)
 880                 }
 881                 Else
 882                 {
 883                     Return (0x03)
 884                 }
 885             }
 886 
 887             OperationRegion (OPS0, PCI_Config, 0x70, 0x04)
 888             Field (OPS0, ByteAcc, NoLock, Preserve)
 889             {
 890                 FR70,   8, 
 891                 FR71,   8, 
 892                 FR72,   8, 
 893                 FR73,   8
 894             }
 895 
 896             OperationRegion (MA, PCI_Config, 0x8E, 0x02)
 897             Field (MA, ByteAcc, NoLock, Preserve)
 898             {
 899                 MAL,    8, 
 900                 MAH,    8
 901             }
 902 
 903             Name (CRES, ResourceTemplate ()
 904             {
 905                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
 906                     0x0000,             // Granularity
 907                     0x0000,             // Range Minimum
 908                     0x00FF,             // Range Maximum
 909                     0x0000,             // Translation Offset
 910                     0x0100,             // Length
 911                     0x00,, )
 912                 IO (Decode16,
 913                     0x0CF8,             // Range Minimum
 914                     0x0CF8,             // Range Maximum
 915                     0x01,               // Alignment
 916                     0x08,               // Length
 917                     )
 918                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
 919                     0x0000,             // Granularity
 920                     0x0000,             // Range Minimum
 921                     0x0CF7,             // Range Maximum
 922                     0x0000,             // Translation Offset
 923                     0x0CF8,             // Length
 924                     0x00,, , TypeStatic, DenseTranslation)
 925                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
 926                     0x0000,             // Granularity
 927                     0x0D00,             // Range Minimum
 928                     0xFFFF,             // Range Maximum
 929                     0x0000,             // Translation Offset
 930                     0xF300,             // Length
 931                     0x00,, , TypeStatic, DenseTranslation)
 932                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 933                     0x00000000,         // Granularity
 934                     0x000A0000,         // Range Minimum
 935                     0x000BFFFF,         // Range Maximum
 936                     0x00000000,         // Translation Offset
 937                     0x00020000,         // Length
 938                     0x00,, , AddressRangeMemory, TypeStatic)
 939                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
 940                     0x00000000,         // Granularity
 941                     0x04000000,         // Range Minimum
 942                     0xFFEDFFFF,         // Range Maximum
 943                     0x00000000,         // Translation Offset
 944                     0x00000000,         // Length
 945                     0x00,, _Y0C, AddressRangeMemory, TypeStatic)
 946                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 947                     0x00000000,         // Granularity
 948                     0x000C0000,         // Range Minimum
 949                     0x000C3FFF,         // Range Maximum
 950                     0x00000000,         // Translation Offset
 951                     0x00004000,         // Length
 952                     0x00,, _Y00, AddressRangeMemory, TypeStatic)
 953                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 954                     0x00000000,         // Granularity
 955                     0x000C4000,         // Range Minimum
 956                     0x000C7FFF,         // Range Maximum
 957                     0x00000000,         // Translation Offset
 958                     0x00004000,         // Length
 959                     0x00,, _Y01, AddressRangeMemory, TypeStatic)
 960                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 961                     0x00000000,         // Granularity
 962                     0x000C8000,         // Range Minimum
 963                     0x000CBFFF,         // Range Maximum
 964                     0x00000000,         // Translation Offset
 965                     0x00004000,         // Length
 966                     0x00,, _Y02, AddressRangeMemory, TypeStatic)
 967                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 968                     0x00000000,         // Granularity
 969                     0x000CC000,         // Range Minimum
 970                     0x000CFFFF,         // Range Maximum
 971                     0x00000000,         // Translation Offset
 972                     0x00004000,         // Length
 973                     0x00,, _Y03, AddressRangeMemory, TypeStatic)
 974                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 975                     0x00000000,         // Granularity
 976                     0x000D0000,         // Range Minimum
 977                     0x000D3FFF,         // Range Maximum
 978                     0x00000000,         // Translation Offset
 979                     0x00004000,         // Length
 980                     0x00,, _Y04, AddressRangeMemory, TypeStatic)
 981                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 982                     0x00000000,         // Granularity
 983                     0x000D4000,         // Range Minimum
 984                     0x000D7FFF,         // Range Maximum
 985                     0x00000000,         // Translation Offset
 986                     0x00004000,         // Length
 987                     0x00,, _Y05, AddressRangeMemory, TypeStatic)
 988                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 989                     0x00000000,         // Granularity
 990                     0x000D8000,         // Range Minimum
 991                     0x000DBFFF,         // Range Maximum
 992                     0x00000000,         // Translation Offset
 993                     0x00004000,         // Length
 994                     0x00,, _Y06, AddressRangeMemory, TypeStatic)
 995                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
 996                     0x00000000,         // Granularity
 997                     0x000DC000,         // Range Minimum
 998                     0x000DFFFF,         // Range Maximum
 999                     0x00000000,         // Translation Offset
1000                     0x00004000,         // Length
1001                     0x00,, _Y07, AddressRangeMemory, TypeStatic)
1002                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1003                     0x00000000,         // Granularity
1004                     0x000E0000,         // Range Minimum
1005                     0x000E3FFF,         // Range Maximum
1006                     0x00000000,         // Translation Offset
1007                     0x00004000,         // Length
1008                     0x00,, _Y08, AddressRangeMemory, TypeStatic)
1009                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1010                     0x00000000,         // Granularity
1011                     0x000E4000,         // Range Minimum
1012                     0x000E7FFF,         // Range Maximum
1013                     0x00000000,         // Translation Offset
1014                     0x00004000,         // Length
1015                     0x00,, _Y09, AddressRangeMemory, TypeStatic)
1016                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1017                     0x00000000,         // Granularity
1018                     0x000E8000,         // Range Minimum
1019                     0x000EBFFF,         // Range Maximum
1020                     0x00000000,         // Translation Offset
1021                     0x00004000,         // Length
1022                     0x00,, _Y0A, AddressRangeMemory, TypeStatic)
1023                 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1024                     0x00000000,         // Granularity
1025                     0x000EC000,         // Range Minimum
1026                     0x000EFFFF,         // Range Maximum
1027                     0x00000000,         // Translation Offset
1028                     0x00004000,         // Length
1029                     0x00,, _Y0B, AddressRangeMemory, TypeStatic)
1030             })
1031             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1032             {
1033                 CreateBitField (CRES, \_SB.PCI0._Y00._RW, C0RW)  // _RW_: Read-Write Status
1034                 CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, C0LN)  // _LEN: Length
1035                 C0RW = One
1036                 C0LN = 0x4000
1037                 If ((\_SB.PCI0.FR70 & 0x01))
1038                 {
1039                     C0LN = 0x00
1040                 }
1041 
1042                 CreateBitField (CRES, \_SB.PCI0._Y01._RW, C4RW)  // _RW_: Read-Write Status
1043                 CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, C4LN)  // _LEN: Length
1044                 C4RW = One
1045                 C4LN = 0x4000
1046                 If ((\_SB.PCI0.FR70 & 0x02))
1047                 {
1048                     C4LN = 0x00
1049                 }
1050 
1051                 CreateBitField (CRES, \_SB.PCI0._Y02._RW, C8RW)  // _RW_: Read-Write Status
1052                 CreateDWordField (CRES, \_SB.PCI0._Y02._LEN, C8LN)  // _LEN: Length
1053                 C8RW = One
1054                 C8LN = 0x4000
1055                 If ((\_SB.PCI0.FR70 & 0x04))
1056                 {
1057                     C8LN = 0x00
1058                 }
1059 
1060                 CreateBitField (CRES, \_SB.PCI0._Y03._RW, CCRW)  // _RW_: Read-Write Status
1061                 CreateDWordField (CRES, \_SB.PCI0._Y03._LEN, CCLN)  // _LEN: Length
1062                 CCRW = One
1063                 CCLN = 0x4000
1064                 If ((\_SB.PCI0.FR70 & 0x08))
1065                 {
1066                     CCLN = 0x00
1067                 }
1068 
1069                 CreateBitField (CRES, \_SB.PCI0._Y04._RW, D0RW)  // _RW_: Read-Write Status
1070                 CreateDWordField (CRES, \_SB.PCI0._Y04._LEN, D0LN)  // _LEN: Length
1071                 D0RW = One
1072                 D0LN = 0x4000
1073                 If ((\_SB.PCI0.FR70 & 0x10))
1074                 {
1075                     D0LN = 0x00
1076                 }
1077 
1078                 CreateBitField (CRES, \_SB.PCI0._Y05._RW, D4RW)  // _RW_: Read-Write Status
1079                 CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, D4LN)  // _LEN: Length
1080                 D4RW = One
1081                 D4LN = 0x4000
1082                 If ((\_SB.PCI0.FR70 & 0x20))
1083                 {
1084                     D4LN = 0x00
1085                 }
1086 
1087                 CreateBitField (CRES, \_SB.PCI0._Y06._RW, D8RW)  // _RW_: Read-Write Status
1088                 CreateDWordField (CRES, \_SB.PCI0._Y06._LEN, D8LN)  // _LEN: Length
1089                 D8RW = One
1090                 D8LN = 0x4000
1091                 If ((\_SB.PCI0.FR70 & 0x40))
1092                 {
1093                     D8LN = 0x00
1094                 }
1095 
1096                 CreateBitField (CRES, \_SB.PCI0._Y07._RW, DCRW)  // _RW_: Read-Write Status
1097                 CreateDWordField (CRES, \_SB.PCI0._Y07._LEN, DCLN)  // _LEN: Length
1098                 DCRW = One
1099                 DCLN = 0x4000
1100                 If ((\_SB.PCI0.FR70 & 0x80))
1101                 {
1102                     DCLN = 0x00
1103                 }
1104 
1105                 CreateBitField (CRES, \_SB.PCI0._Y08._RW, E0RW)  // _RW_: Read-Write Status
1106                 CreateDWordField (CRES, \_SB.PCI0._Y08._LEN, E0LN)  // _LEN: Length
1107                 E0RW = One
1108                 E0LN = 0x4000
1109                 If ((\_SB.PCI0.FR71 & 0x01))
1110                 {
1111                     E0LN = 0x00
1112                 }
1113 
1114                 CreateBitField (CRES, \_SB.PCI0._Y09._RW, E4RW)  // _RW_: Read-Write Status
1115                 CreateDWordField (CRES, \_SB.PCI0._Y09._LEN, E4LN)  // _LEN: Length
1116                 E4RW = One
1117                 E4LN = 0x4000
1118                 If ((\_SB.PCI0.FR71 & 0x02))
1119                 {
1120                     E4LN = 0x00
1121                 }
1122 
1123                 CreateBitField (CRES, \_SB.PCI0._Y0A._RW, E8RW)  // _RW_: Read-Write Status
1124                 CreateDWordField (CRES, \_SB.PCI0._Y0A._LEN, E8LN)  // _LEN: Length
1125                 E8RW = One
1126                 E8LN = 0x4000
1127                 If ((\_SB.PCI0.FR71 & 0x04))
1128                 {
1129                     E8LN = 0x00
1130                 }
1131 
1132                 CreateBitField (CRES, \_SB.PCI0._Y0B._RW, ECRW)  // _RW_: Read-Write Status
1133                 CreateDWordField (CRES, \_SB.PCI0._Y0B._LEN, ECLN)  // _LEN: Length
1134                 ECRW = One
1135                 ECLN = 0x4000
1136                 If ((\_SB.PCI0.FR71 & 0x80))
1137                 {
1138                     ECLN = 0x00
1139                 }
1140 
1141                 CreateDWordField (CRES, \_SB.PCI0._Y0C._MIN, RAMT)  // _MIN: Minimum Base Address
1142                 CreateDWordField (CRES, \_SB.PCI0._Y0C._LEN, RAMR)  // _LEN: Length
1143                 Local0 = (\_SB.PCI0.MAH << 0x18)
1144                 Local1 = (\_SB.PCI0.MAL << 0x10)
1145                 Local2 = (Local1 + Local0)
1146                 RAMT = Local2
1147                 RAMR = (0xFFEE0000 - RAMT) /* \_SB_.PCI0._CRS.RAMT */
1148                 Return (CRES) /* \_SB_.PCI0.CRES */
1149             }
1150 
1151             Device (IDEC)
1152             {
1153                 Name (_ADR, 0x00020005)  // _ADR: Address
1154                 Name (IO5T, Package (0x03)
1155                 {
1156                     Package (0x07)
1157                     {
1158                         0x78, 
1159                         0xB4, 
1160                         0x014A, 
1161                         0x0186, 
1162                         0x0258, 
1163                         0x78, 
1164                         0x96
1165                     }, 
1166 
1167                     Package (0x07)
1168                     {
1169                         0x06, 
1170                         0x07, 
1171                         0x1C, 
1172                         0x1C, 
1173                         0x1C, 
1174                         0x06, 
1175                         0x07
1176                     }, 
1177 
1178                     Package (0x07)
1179                     {
1180                         0x04, 
1181                         0x09, 
1182                         0x03, 
1183                         0x09, 
1184                         0x1E, 
1185                         0x04, 
1186                         0x06
1187                     }
1188                 })
1189                 Name (IO6T, Package (0x03)
1190                 {
1191                     Package (0x07)
1192                     {
1193                         0x78, 
1194                         0xB4, 
1195                         0x014A, 
1196                         0x0186, 
1197                         0x0258, 
1198                         0x78, 
1199                         0xB4
1200                     }, 
1201 
1202                     Package (0x07)
1203                     {
1204                         0x09, 
1205                         0x0A, 
1206                         0x26, 
1207                         0x26, 
1208                         0x26, 
1209                         0x09, 
1210                         0x0A
1211                     }, 
1212 
1213                     Package (0x07)
1214                     {
1215                         0x05, 
1216                         0x0C, 
1217                         0x04, 
1218                         0x0C, 
1219                         0x28, 
1220                         0x05, 
1221                         0x0C
1222                     }
1223                 })
1224                 Name (UM5T, Package (0x06)
1225                 {
1226                     0x0B, 
1227                     0x07, 
1228                     0x05, 
1229                     0x04, 
1230                     0x02, 
1231                     0x01
1232                 })
1233                 Name (UM6T, Package (0x07)
1234                 {
1235                     0x0F, 
1236                     0x0A, 
1237                     0x07, 
1238                     0x05, 
1239                     0x03, 
1240                     0x02, 
1241                     0x01
1242                 })
1243                 Name (PIO5, Package (0x05)
1244                 {
1245                     0x3A, 
1246                     0x25, 
1247                     0x1F, 
1248                     0x10, 
1249                     0x0A
1250                 })
1251                 Name (PIO6, Package (0x05)
1252                 {
1253                     0x4E, 
1254                     0x32, 
1255                     0x2A, 
1256                     0x16, 
1257                     0x0E
1258                 })
1259                 Name (CRCT, Package (0x07)
1260                 {
1261                     0x06, 
1262                     0x04, 
1263                     0x03, 
1264                     0x01, 
1265                     0x01, 
1266                     0x01, 
1267                     0x01
1268                 })
1269                 Name (INTT, Package (0x05)
1270                 {
1271                     0x02, 
1272                     0x02, 
1273                     0x02, 
1274                     0x04, 
1275                     0x06
1276                 })
1277                 Name (DMAT, Package (0x05)
1278                 {
1279                     0x00, 
1280                     0x01, 
1281                     0x01, 
1282                     0x01, 
1283                     0x02
1284                 })
1285                 Name (RMFL, 0x01)
1286                 OperationRegion (CF40, PCI_Config, 0x40, 0x18)
1287                 Field (CF40, WordAcc, NoLock, Preserve)
1288                 {
1289                         ,   1, 
1290                     IOR0,   1, 
1291                     UDM0,   1, 
1292                     UM60,   1, 
1293                     UCT0,   4, 
1294                     CRC0,   4, 
1295                     INI0,   4, 
1296                     ATT0,   6, 
1297                     Offset (0x03), 
1298                     RCT0,   6, 
1299                     Offset (0x04), 
1300                         ,   1, 
1301                     IOR1,   1, 
1302                     UDM1,   1, 
1303                     UM61,   1, 
1304                     UCT1,   4, 
1305                     CRC1,   4, 
1306                     INI1,   4, 
1307                     ATT1,   6, 
1308                     Offset (0x07), 
1309                     RCT1,   6, 
1310                     Offset (0x08), 
1311                         ,   1, 
1312                     IOR2,   1, 
1313                     UDM2,   1, 
1314                     UM62,   1, 
1315                     UCT2,   4, 
1316                     CRC2,   4, 
1317                     INI2,   4, 
1318                     ATT2,   6, 
1319                     Offset (0x0B), 
1320                     RCT2,   6, 
1321                     Offset (0x0C), 
1322                         ,   1, 
1323                     IOR3,   1, 
1324                     UDM3,   1, 
1325                     UM63,   1, 
1326                     UCT3,   4, 
1327                     CRC3,   4, 
1328                     INI3,   4, 
1329                     ATT3,   6, 
1330                     Offset (0x0F), 
1331                     RCT3,   6, 
1332                     Offset (0x10), 
1333                         ,   1, 
1334                     CHE0,   1, 
1335                     Offset (0x12), 
1336                         ,   1, 
1337                     CHE1,   1, 
1338                     Offset (0x14), 
1339                         ,   30, 
1340                     REMP,   1, 
1341                     Offset (0x18)
1342                 }
1343 
1344                 Name (IDEP, Buffer (0x14){})
1345                 CreateDWordField (IDEP, 0x00, GTM0)
1346                 CreateDWordField (IDEP, 0x04, GTM1)
1347                 CreateDWordField (IDEP, 0x08, GTM2)
1348                 CreateDWordField (IDEP, 0x0C, GTM3)
1349                 CreateDWordField (IDEP, 0x10, GTM4)
1350                 Device (IDE0)
1351                 {
1352                     Name (_ADR, 0x00)  // _ADR: Address
1353                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
1354                     {
1355                         Local0 = 0xFFFFFFFF
1356                         Local1 = 0xFFFFFFFF
1357                         Local2 = 0xFFFFFFFF
1358                         Local3 = 0xFFFFFFFF
1359                         Local4 = 0x10
1360                         RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1361                         REMP = 0x00
1362                         If (CHE0)
1363                         {
1364                             If ((ATT0 != 0x00))
1365                             {
1366                                 Local5 = (RCT0 + 0x01)
1367                                 Local6 = (ATT0 + 0x01)
1368                                 Local5 += Local6
1369                                 Local6 = (UM60 * 0x05)
1370                                 Local7 = (0x14 - Local6)
1371                                 Local0 = (Local5 * Local7)
1372                                 Local0 >>= 0x01
1373                                 If ((Local0 <= 0xB4))
1374                                 {
1375                                     Local1 = Local0
1376                                 }
1377 
1378                                 If (IOR0)
1379                                 {
1380                                     Local4 |= 0x02
1381                                 }
1382 
1383                                 If (UDM0)
1384                                 {
1385                                     Local5 = (UCT0 + 0x01)
1386                                     Local6 = (Local5 * Local7)
1387                                     Local1 = (Local6 >> 0x01)
1388                                     Local4 |= 0x01
1389                                 }
1390                             }
1391 
1392                             If ((ATT1 != 0x00))
1393                             {
1394                                 Local5 = (RCT1 + 0x01)
1395                                 Local6 = (ATT1 + 0x01)
1396                                 Local5 += Local6
1397                                 Local6 = (UM61 * 0x05)
1398                                 Local7 = (0x14 - Local6)
1399                                 Local2 = (Local5 * Local7)
1400                                 Local2 >>= 0x01
1401                                 If ((Local2 <= 0xB4))
1402                                 {
1403                                     Local3 = Local2
1404                                 }
1405 
1406                                 If (IOR1)
1407                                 {
1408                                     Local4 |= 0x08
1409                                 }
1410 
1411                                 If (UDM1)
1412                                 {
1413                                     Local5 = (UCT1 + 0x01)
1414                                     Local6 = (Local5 * Local7)
1415                                     Local3 = (Local6 >> 0x01)
1416                                     Local4 |= 0x04
1417                                 }
1418                             }
1419                         }
1420 
1421                         REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1422                         GTM0 = Local0
1423                         GTM1 = Local1
1424                         GTM2 = Local2
1425                         GTM3 = Local3
1426                         GTM4 = Local4
1427                         Return (IDEP) /* \_SB_.PCI0.IDEC.IDEP */
1428                     }
1429 
1430                     Method (_STM, 3, NotSerialized)  // _STM: Set Timing Mode
1431                     {
1432                         IDEP = Arg0
1433                         Local0 = GTM0 /* \_SB_.PCI0.IDEC.GTM0 */
1434                         Local1 = GTM1 /* \_SB_.PCI0.IDEC.GTM1 */
1435                         Local2 = GTM2 /* \_SB_.PCI0.IDEC.GTM2 */
1436                         Local3 = GTM3 /* \_SB_.PCI0.IDEC.GTM3 */
1437                         Local4 = GTM4 /* \_SB_.PCI0.IDEC.GTM4 */
1438                         RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1439                         REMP = 0x00
1440                         If (((Local1 != 0xFFFFFFFF) && (Local1 != 0x00)))
1441                         {
1442                             If ((Local4 & 0x01))
1443                             {
1444                                 UDM0 = 0x01
1445                                 If ((Local1 < 0x14))
1446                                 {
1447                                     UM60 = 0x01
1448                                     UCT0 = 0x01
1449                                 }
1450                                 Else
1451                                 {
1452                                     UM60 = 0x00
1453                                     Divide (Local1, 0x0A, Local6, Local5)
1454                                     Local5--
1455                                     UCT0 = Local5
1456                                     Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00)
1457                                     CRC0 = DerefOf (CRCT [Local5])
1458                                 }
1459                             }
1460                         }
1461 
1462                         If (((Local0 != 0xFFFFFFFF) && (Local0 != 0x00)))
1463                         {
1464                             If (UM60)
1465                             {
1466                                 Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local0, MTR, 0x00, 
1467                                     0x00)
1468                                 ATT0 = DerefOf (DerefOf (IO6T [0x01]) [Local6])
1469                                 RCT0 = DerefOf (DerefOf (IO6T [0x02]) [Local6])
1470                             }
1471                             Else
1472                             {
1473                                 Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local0, MTR, 0x00, 
1474                                     0x00)
1475                                 ATT0 = DerefOf (DerefOf (IO5T [0x01]) [Local6])
1476                                 RCT0 = DerefOf (DerefOf (IO5T [0x02]) [Local6])
1477                                 INI0 = DerefOf (INTT [Local6])
1478                             }
1479                         }
1480 
1481                         If (((Local3 != 0xFFFFFFFF) && (Local3 != 0x00)))
1482                         {
1483                             If ((Local4 & 0x04))
1484                             {
1485                                 UDM1 = 0x01
1486                                 If ((Local3 < 0x14))
1487                                 {
1488                                     UM61 = 0x01
1489                                     UCT1 = 0x01
1490                                 }
1491                                 Else
1492                                 {
1493                                     UM61 = 0x00
1494                                     Divide (Local3, 0x0A, Local6, Local5)
1495                                     Local5--
1496                                     UCT1 = Local5
1497                                     Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00)
1498                                     CRC1 = DerefOf (CRCT [Local5])
1499                                 }
1500                             }
1501                         }
1502 
1503                         If (((Local2 != 0xFFFFFFFF) && (Local2 != 0x00)))
1504                         {
1505                             If (UM61)
1506                             {
1507                                 Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local2, MTR, 0x00, 
1508                                     0x00)
1509                                 ATT1 = DerefOf (DerefOf (IO6T [0x01]) [Local6])
1510                                 RCT1 = DerefOf (DerefOf (IO6T [0x02]) [Local6])
1511                             }
1512                             Else
1513                             {
1514                                 Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local2, MTR, 0x00, 
1515                                     0x00)
1516                                 ATT1 = DerefOf (DerefOf (IO5T [0x01]) [Local6])
1517                                 RCT1 = DerefOf (DerefOf (IO5T [0x02]) [Local6])
1518                                 INI1 = DerefOf (INTT [Local6])
1519                             }
1520                         }
1521 
1522                         REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1523                     }
1524 
1525                     Device (DRV0)
1526                     {
1527                         Name (_ADR, 0x00)  // _ADR: Address
1528                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
1529                         {
1530                             Local6 = Buffer (0x07)
1531                                 {
1532                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
1533                                 }
1534                             Local7 = Buffer (0x07)
1535                                 {
1536                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
1537                                 }
1538                             CreateByteField (Local6, 0x01, MODE)
1539                             CreateByteField (Local7, 0x01, UMOD)
1540                             RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1541                             REMP = 0x00
1542                             If ((ATT0 != 0x00))
1543                             {
1544                                 Local5 = (ATT0 + RCT0) /* \_SB_.PCI0.IDEC.RCT0 */
1545                                 If (UM60)
1546                                 {
1547                                     MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00)
1548                                 }
1549                                 Else
1550                                 {
1551                                     MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00)
1552                                 }
1553 
1554                                 If (UDM0)
1555                                 {
1556                                     If (UM60)
1557                                     {
1558                                         UMOD = Match (UM6T, MEQ, UCT0, MTR, 0x00, 0x00)
1559                                     }
1560                                     Else
1561                                     {
1562                                         UMOD = Match (UM5T, MEQ, UCT0, MTR, 0x00, 0x00)
1563                                     }
1564 
1565                                     UMOD |= 0x40
1566                                 }
1567                                 Else
1568                                 {
1569                                     UMOD = DerefOf (DMAT [MODE])
1570                                     UMOD |= 0x20
1571                                 }
1572 
1573                                 MODE |= 0x08
1574                             }
1575 
1576                             REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1577                             Concatenate (Local6, Local7, Local5)
1578                             Return (Local5)
1579                         }
1580                     }
1581 
1582                     Device (DRV1)
1583                     {
1584                         Name (_ADR, 0x01)  // _ADR: Address
1585                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
1586                         {
1587                             Local6 = Buffer (0x07)
1588                                 {
1589                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
1590                                 }
1591                             Local7 = Buffer (0x07)
1592                                 {
1593                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
1594                                 }
1595                             CreateByteField (Local6, 0x01, MODE)
1596                             CreateByteField (Local7, 0x01, UMOD)
1597                             RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1598                             REMP = 0x00
1599                             If ((ATT1 != 0x00))
1600                             {
1601                                 Local5 = (ATT1 + RCT1) /* \_SB_.PCI0.IDEC.RCT1 */
1602                                 If (UM61)
1603                                 {
1604                                     MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00)
1605                                 }
1606                                 Else
1607                                 {
1608                                     MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00)
1609                                 }
1610 
1611                                 If (UDM1)
1612                                 {
1613                                     If (UM61)
1614                                     {
1615                                         UMOD = Match (UM6T, MEQ, UCT1, MTR, 0x00, 0x00)
1616                                     }
1617                                     Else
1618                                     {
1619                                         UMOD = Match (UM5T, MEQ, UCT1, MTR, 0x00, 0x00)
1620                                     }
1621 
1622                                     UMOD |= 0x40
1623                                 }
1624                                 Else
1625                                 {
1626                                     UMOD = DerefOf (DMAT [MODE])
1627                                     UMOD |= 0x20
1628                                 }
1629 
1630                                 MODE |= 0x08
1631                             }
1632 
1633                             REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1634                             Concatenate (Local6, Local7, Local5)
1635                             Return (Local5)
1636                         }
1637                     }
1638                 }
1639             }
1640 
1641             Device (LNKA)
1642             {
1643                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1644                 Name (_UID, 0x01)  // _UID: Unique ID
1645                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1646                 {
1647                     IRQ (Level, ActiveLow, Shared, )
1648                         {3,4,5,7,9,10,11}
1649                 })
1650                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1651                 {
1652                     \_SB.PCI0.LPC.PIRA |= 0x80
1653                 }
1654 
1655                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1656                 {
1657                     Name (RSRC, ResourceTemplate ()
1658                     {
1659                         IRQ (Level, ActiveLow, Shared, _Y0D)
1660                             {}
1661                     })
1662                     CreateWordField (RSRC, \_SB.PCI0.LNKA._CRS._Y0D._INT, IRQ0)  // _INT: Interrupts
1663                     If (((\_SB.PCI0.LPC.PIRA & 0x80) == Zero))
1664                     {
1665                         Local0 = (\_SB.PCI0.LPC.PIRA & 0x0F)
1666                         IRQ0 = (0x01 << Local0)
1667                     }
1668 
1669                     Return (RSRC) /* \_SB_.PCI0.LNKA._CRS.RSRC */
1670                 }
1671 
1672                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1673                 {
1674                     CreateWordField (Arg0, 0x01, IRQ0)
1675                     FindSetRightBit (IRQ0, Local0)
1676                     Local0--
1677                     \_SB.PCI0.LPC.PIRA = (Local0 | (\_SB.PCI0.LPC.PIRA & 0x70))
1678                 }
1679 
1680                 Method (_STA, 0, NotSerialized)  // _STA: Status
1681                 {
1682                     If ((\_SB.PCI0.LPC.PIRA & 0x80))
1683                     {
1684                         Return (0x09)
1685                     }
1686 
1687                     Return (0x0B)
1688                 }
1689             }
1690 
1691             Device (LNKB)
1692             {
1693                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1694                 Name (_UID, 0x02)  // _UID: Unique ID
1695                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1696                 {
1697                     IRQ (Level, ActiveLow, Shared, )
1698                         {3,4,5,7,9,10,11}
1699                 })
1700                 Name (RSRC, ResourceTemplate ()
1701                 {
1702                     IRQ (Level, ActiveLow, Shared, _Y0E)
1703                         {}
1704                 })
1705                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1706                 {
1707                     \_SB.PCI0.LPC.PIRB |= 0x80
1708                 }
1709 
1710                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1711                 {
1712                     CreateWordField (RSRC, \_SB.PCI0.LNKB._Y0E._INT, IRQ0)  // _INT: Interrupts
1713                     Local0 = (\_SB.PCI0.LPC.PIRB & 0x0F)
1714                     IRQ0 = (0x01 << Local0)
1715                     Return (RSRC) /* \_SB_.PCI0.LNKB.RSRC */
1716                 }
1717 
1718                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1719                 {
1720                     CreateWordField (Arg0, 0x01, IRQ0)
1721                     FindSetRightBit (IRQ0, Local0)
1722                     Local0--
1723                     \_SB.PCI0.LPC.PIRB = (Local0 | (\_SB.PCI0.LPC.PIRB & 0x70))
1724                 }
1725 
1726                 Method (_STA, 0, NotSerialized)  // _STA: Status
1727                 {
1728                     If ((\_SB.PCI0.LPC.PIRB & 0x80))
1729                     {
1730                         Return (0x09)
1731                     }
1732 
1733                     Return (0x0B)
1734                 }
1735             }
1736 
1737             Device (LNKC)
1738             {
1739                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1740                 Name (_UID, 0x03)  // _UID: Unique ID
1741                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1742                 {
1743                     IRQ (Level, ActiveLow, Shared, )
1744                         {3,4,5,7,9,10,11}
1745                 })
1746                 Name (RSRC, ResourceTemplate ()
1747                 {
1748                     IRQ (Level, ActiveLow, Shared, _Y0F)
1749                         {}
1750                 })
1751                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1752                 {
1753                     \_SB.PCI0.LPC.PIRC |= 0x80
1754                 }
1755 
1756                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1757                 {
1758                     CreateWordField (RSRC, \_SB.PCI0.LNKC._Y0F._INT, IRQ0)  // _INT: Interrupts
1759                     Local0 = (\_SB.PCI0.LPC.PIRC & 0x0F)
1760                     IRQ0 = (0x01 << Local0)
1761                     Return (RSRC) /* \_SB_.PCI0.LNKC.RSRC */
1762                 }
1763 
1764                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1765                 {
1766                     CreateWordField (Arg0, 0x01, IRQ0)
1767                     FindSetRightBit (IRQ0, Local0)
1768                     Local0--
1769                     \_SB.PCI0.LPC.PIRC = (Local0 | (\_SB.PCI0.LPC.PIRC & 0x70))
1770                 }
1771 
1772                 Method (_STA, 0, NotSerialized)  // _STA: Status
1773                 {
1774                     If ((\_SB.PCI0.LPC.PIRC & 0x80))
1775                     {
1776                         Return (0x09)
1777                     }
1778 
1779                     Return (0x0B)
1780                 }
1781             }
1782 
1783             Device (LNKD)
1784             {
1785                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1786                 Name (_UID, 0x04)  // _UID: Unique ID
1787                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1788                 {
1789                     IRQ (Level, ActiveLow, Shared, )
1790                         {3,4,5,7,9,10,11}
1791                 })
1792                 Name (RSRC, ResourceTemplate ()
1793                 {
1794                     IRQ (Level, ActiveLow, Shared, _Y10)
1795                         {}
1796                 })
1797                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1798                 {
1799                     \_SB.PCI0.LPC.PIRD |= 0x80
1800                 }
1801 
1802                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1803                 {
1804                     CreateWordField (RSRC, \_SB.PCI0.LNKD._Y10._INT, IRQ0)  // _INT: Interrupts
1805                     Local0 = (\_SB.PCI0.LPC.PIRD & 0x0F)
1806                     IRQ0 = (0x01 << Local0)
1807                     Return (RSRC) /* \_SB_.PCI0.LNKD.RSRC */
1808                 }
1809 
1810                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1811                 {
1812                     CreateWordField (Arg0, 0x01, IRQ0)
1813                     FindSetRightBit (IRQ0, Local0)
1814                     Local0--
1815                     \_SB.PCI0.LPC.PIRD = (Local0 | (\_SB.PCI0.LPC.PIRD & 0x70))
1816                 }
1817 
1818                 Method (_STA, 0, NotSerialized)  // _STA: Status
1819                 {
1820                     If ((\_SB.PCI0.LPC.PIRD & 0x80))
1821                     {
1822                         Return (0x09)
1823                     }
1824 
1825                     Return (0x0B)
1826                 }
1827             }
1828 
1829             Device (LNKE)
1830             {
1831                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1832                 Name (_UID, 0x05)  // _UID: Unique ID
1833                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1834                 {
1835                     IRQ (Level, ActiveLow, Shared, )
1836                         {3,4,5,7,9,10,11}
1837                 })
1838                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1839                 {
1840                     \_SB.PCI0.LPC.PIRE |= 0x80
1841                 }
1842 
1843                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1844                 {
1845                     Name (RSRC, ResourceTemplate ()
1846                     {
1847                         IRQ (Level, ActiveLow, Shared, _Y11)
1848                             {}
1849                     })
1850                     CreateWordField (RSRC, \_SB.PCI0.LNKE._CRS._Y11._INT, IRQ0)  // _INT: Interrupts
1851                     If (((\_SB.PCI0.LPC.PIRE & 0x80) == Zero))
1852                     {
1853                         Local0 = (\_SB.PCI0.LPC.PIRE & 0x0F)
1854                         IRQ0 = (0x01 << Local0)
1855                     }
1856 
1857                     Return (RSRC) /* \_SB_.PCI0.LNKE._CRS.RSRC */
1858                 }
1859 
1860                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1861                 {
1862                     CreateWordField (Arg0, 0x01, IRQ0)
1863                     FindSetRightBit (IRQ0, Local0)
1864                     Local0--
1865                     \_SB.PCI0.LPC.PIRE = (Local0 | (\_SB.PCI0.LPC.PIRE & 0x70))
1866                 }
1867 
1868                 Method (_STA, 0, NotSerialized)  // _STA: Status
1869                 {
1870                     If ((\_SB.PCI0.LPC.PIRE & 0x80))
1871                     {
1872                         Return (0x09)
1873                     }
1874 
1875                     Return (0x0B)
1876                 }
1877             }
1878 
1879             Device (LNKF)
1880             {
1881                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1882                 Name (_UID, 0x06)  // _UID: Unique ID
1883                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1884                 {
1885                     IRQ (Level, ActiveLow, Shared, )
1886                         {3,4,5,7,9,10,11}
1887                 })
1888                 Name (RSRC, ResourceTemplate ()
1889                 {
1890                     IRQ (Level, ActiveLow, Shared, _Y12)
1891                         {}
1892                 })
1893                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1894                 {
1895                     \_SB.PCI0.LPC.PIRF |= 0x80
1896                 }
1897 
1898                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1899                 {
1900                     CreateWordField (RSRC, \_SB.PCI0.LNKF._Y12._INT, IRQ0)  // _INT: Interrupts
1901                     Local0 = (\_SB.PCI0.LPC.PIRF & 0x0F)
1902                     IRQ0 = (0x01 << Local0)
1903                     Return (RSRC) /* \_SB_.PCI0.LNKF.RSRC */
1904                 }
1905 
1906                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1907                 {
1908                     CreateWordField (Arg0, 0x01, IRQ0)
1909                     FindSetRightBit (IRQ0, Local0)
1910                     Local0--
1911                     \_SB.PCI0.LPC.PIRF = (Local0 | (\_SB.PCI0.LPC.PIRF & 0x70))
1912                 }
1913 
1914                 Method (_STA, 0, NotSerialized)  // _STA: Status
1915                 {
1916                     If ((\_SB.PCI0.LPC.PIRF & 0x80))
1917                     {
1918                         Return (0x09)
1919                     }
1920 
1921                     Return (0x0B)
1922                 }
1923             }
1924 
1925             Device (LNKG)
1926             {
1927                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1928                 Name (_UID, 0x07)  // _UID: Unique ID
1929                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1930                 {
1931                     IRQ (Level, ActiveLow, Shared, )
1932                         {3,4,5,7,9,10,11}
1933                 })
1934                 Name (RSRC, ResourceTemplate ()
1935                 {
1936                     IRQ (Level, ActiveLow, Shared, _Y13)
1937                         {}
1938                 })
1939                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1940                 {
1941                     \_SB.PCI0.LPC.PIRG |= 0x80
1942                 }
1943 
1944                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1945                 {
1946                     CreateWordField (RSRC, \_SB.PCI0.LNKG._Y13._INT, IRQ0)  // _INT: Interrupts
1947                     Local0 = (\_SB.PCI0.LPC.PIRG & 0x0F)
1948                     IRQ0 = (0x01 << Local0)
1949                     Return (RSRC) /* \_SB_.PCI0.LNKG.RSRC */
1950                 }
1951 
1952                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1953                 {
1954                     CreateWordField (Arg0, 0x01, IRQ0)
1955                     FindSetRightBit (IRQ0, Local0)
1956                     Local0--
1957                     \_SB.PCI0.LPC.PIRG = (Local0 | (\_SB.PCI0.LPC.PIRG & 0x70))
1958                 }
1959 
1960                 Method (_STA, 0, NotSerialized)  // _STA: Status
1961                 {
1962                     If ((\_SB.PCI0.LPC.PIRG & 0x80))
1963                     {
1964                         Return (0x09)
1965                     }
1966 
1967                     Return (0x0B)
1968                 }
1969             }
1970 
1971             Device (LNKH)
1972             {
1973                 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1974                 Name (_UID, 0x08)  // _UID: Unique ID
1975                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1976                 {
1977                     IRQ (Level, ActiveLow, Shared, )
1978                         {3,4,5,7,9,10,11}
1979                 })
1980                 Name (RSRC, ResourceTemplate ()
1981                 {
1982                     IRQ (Level, ActiveLow, Shared, _Y14)
1983                         {}
1984                 })
1985                 Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1986                 {
1987                     \_SB.PCI0.LPC.PIRH |= 0x80
1988                 }
1989 
1990                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1991                 {
1992                     CreateWordField (RSRC, \_SB.PCI0.LNKH._Y14._INT, IRQ0)  // _INT: Interrupts
1993                     Local0 = (\_SB.PCI0.LPC.PIRH & 0x0F)
1994                     IRQ0 = (0x01 << Local0)
1995                     Return (RSRC) /* \_SB_.PCI0.LNKH.RSRC */
1996                 }
1997 
1998                 Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1999                 {
2000                     CreateWordField (Arg0, 0x01, IRQ0)
2001                     FindSetRightBit (IRQ0, Local0)
2002                     Local0--
2003                     \_SB.PCI0.LPC.PIRH = (Local0 | (\_SB.PCI0.LPC.PIRH & 0x70))
2004                 }
2005 
2006                 Method (_STA, 0, NotSerialized)  // _STA: Status
2007                 {
2008                     If ((\_SB.PCI0.LPC.PIRH & 0x80))
2009                     {
2010                         Return (0x09)
2011                     }
2012 
2013                     Return (0x0B)
2014                 }
2015             }
2016 
2017             Scope (\)
2018             {
2019                 Name (PICF, 0x00)
2020                 Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
2021                 {
2022                     PICF = Arg0
2023                 }
2024             }
2025 
2026             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2027             {
2028                 If (!PICF)
2029                 {
2030                     Return (PICM) /* \_SB_.PCI0.PICM */
2031                 }
2032                 Else
2033                 {
2034                     Return (APIC) /* \_SB_.PCI0.APIC */
2035                 }
2036             }
2037 
2038             Scope (\_SB.PCI0)
2039             {
2040                 Name (PICM, Package (0x24)
2041                 {
2042                     Package (0x04)
2043                     {
2044                         0x000DFFFF, 
2045                         0x00, 
2046                         LNKB, 
2047                         0x00
2048                     }, 
2049 
2050                     Package (0x04)
2051                     {
2052                         0x000DFFFF, 
2053                         0x01, 
2054                         LNKC, 
2055                         0x00
2056                     }, 
2057 
2058                     Package (0x04)
2059                     {
2060                         0x000DFFFF, 
2061                         0x02, 
2062                         LNKD, 
2063                         0x00
2064                     }, 
2065 
2066                     Package (0x04)
2067                     {
2068                         0x000DFFFF, 
2069                         0x03, 
2070                         LNKA, 
2071                         0x00
2072                     }, 
2073 
2074                     Package (0x04)
2075                     {
2076                         0x000EFFFF, 
2077                         0x00, 
2078                         LNKC, 
2079                         0x00
2080                     }, 
2081 
2082                     Package (0x04)
2083                     {
2084                         0x000EFFFF, 
2085                         0x01, 
2086                         LNKD, 
2087                         0x00
2088                     }, 
2089 
2090                     Package (0x04)
2091                     {
2092                         0x000EFFFF, 
2093                         0x02, 
2094                         LNKA, 
2095                         0x00
2096                     }, 
2097 
2098                     Package (0x04)
2099                     {
2100                         0x000EFFFF, 
2101                         0x03, 
2102                         LNKB, 
2103                         0x00
2104                     }, 
2105 
2106                     Package (0x04)
2107                     {
2108                         0x0009FFFF, 
2109                         0x00, 
2110                         LNKB, 
2111                         0x00
2112                     }, 
2113 
2114                     Package (0x04)
2115                     {
2116                         0x0009FFFF, 
2117                         0x01, 
2118                         LNKA, 
2119                         0x00
2120                     }, 
2121 
2122                     Package (0x04)
2123                     {
2124                         0x0001FFFF, 
2125                         0x00, 
2126                         LNKA, 
2127                         0x00
2128                     }, 
2129 
2130                     Package (0x04)
2131                     {
2132                         0x0001FFFF, 
2133                         0x01, 
2134                         LNKB, 
2135                         0x00
2136                     }, 
2137 
2138                     Package (0x04)
2139                     {
2140                         0x0001FFFF, 
2141                         0x02, 
2142                         LNKC, 
2143                         0x00
2144                     }, 
2145 
2146                     Package (0x04)
2147                     {
2148                         0x0001FFFF, 
2149                         0x03, 
2150                         LNKD, 
2151                         0x00
2152                     }, 
2153 
2154                     Package (0x04)
2155                     {
2156                         0x001FFFFF, 
2157                         0x00, 
2158                         LNKA, 
2159                         0x00
2160                     }, 
2161 
2162                     Package (0x04)
2163                     {
2164                         0x001FFFFF, 
2165                         0x01, 
2166                         LNKB, 
2167                         0x00
2168                     }, 
2169 
2170                     Package (0x04)
2171                     {
2172                         0x001FFFFF, 
2173                         0x02, 
2174                         LNKC, 
2175                         0x00
2176                     }, 
2177 
2178                     Package (0x04)
2179                     {
2180                         0x001FFFFF, 
2181                         0x03, 
2182                         LNKD, 
2183                         0x00
2184                     }, 
2185 
2186                     Package (0x04)
2187                     {
2188                         0x0002FFFF, 
2189                         0x00, 
2190                         LNKA, 
2191                         0x00
2192                     }, 
2193 
2194                     Package (0x04)
2195                     {
2196                         0x0002FFFF, 
2197                         0x01, 
2198                         LNKB, 
2199                         0x00
2200                     }, 
2201 
2202                     Package (0x04)
2203                     {
2204                         0x0002FFFF, 
2205                         0x02, 
2206                         LNKC, 
2207                         0x00
2208                     }, 
2209 
2210                     Package (0x04)
2211                     {
2212                         0x0002FFFF, 
2213                         0x03, 
2214                         LNKD, 
2215                         0x00
2216                     }, 
2217 
2218                     Package (0x04)
2219                     {
2220                         0x0003FFFF, 
2221                         0x00, 
2222                         LNKE, 
2223                         0x00
2224                     }, 
2225 
2226                     Package (0x04)
2227                     {
2228                         0x0003FFFF, 
2229                         0x01, 
2230                         LNKF, 
2231                         0x00
2232                     }, 
2233 
2234                     Package (0x04)
2235                     {
2236                         0x0003FFFF, 
2237                         0x02, 
2238                         LNKG, 
2239                         0x00
2240                     }, 
2241 
2242                     Package (0x04)
2243                     {
2244                         0x0004FFFF, 
2245                         0x00, 
2246                         LNKD, 
2247                         0x00
2248                     }, 
2249 
2250                     Package (0x04)
2251                     {
2252                         0x0005FFFF, 
2253                         0x00, 
2254                         LNKB, 
2255                         0x00
2256                     }, 
2257 
2258                     Package (0x04)
2259                     {
2260                         0x0006FFFF, 
2261                         0x00, 
2262                         LNKA, 
2263                         0x00
2264                     }, 
2265 
2266                     Package (0x04)
2267                     {
2268                         0x0006FFFF, 
2269                         0x01, 
2270                         LNKB, 
2271                         0x00
2272                     }, 
2273 
2274                     Package (0x04)
2275                     {
2276                         0x0006FFFF, 
2277                         0x02, 
2278                         LNKC, 
2279                         0x00
2280                     }, 
2281 
2282                     Package (0x04)
2283                     {
2284                         0x0006FFFF, 
2285                         0x03, 
2286                         LNKD, 
2287                         0x00
2288                     }, 
2289 
2290                     Package (0x04)
2291                     {
2292                         0x0007FFFF, 
2293                         0x00, 
2294                         LNKA, 
2295                         0x00
2296                     }, 
2297 
2298                     Package (0x04)
2299                     {
2300                         0x0007FFFF, 
2301                         0x01, 
2302                         LNKB, 
2303                         0x00
2304                     }, 
2305 
2306                     Package (0x04)
2307                     {
2308                         0x0007FFFF, 
2309                         0x02, 
2310                         LNKC, 
2311                         0x00
2312                     }, 
2313 
2314                     Package (0x04)
2315                     {
2316                         0x0007FFFF, 
2317                         0x03, 
2318                         LNKD, 
2319                         0x00
2320                     }, 
2321 
2322                     Package (0x04)
2323                     {
2324                         0x000FFFFF, 
2325                         0x00, 
2326                         LNKC, 
2327                         0x00
2328                     }
2329                 })
2330                 Name (APIC, Package (0x24)
2331                 {
2332                     Package (0x04)
2333                     {
2334                         0x000DFFFF, 
2335                         0x00, 
2336                         0x00, 
2337                         0x11
2338                     }, 
2339 
2340                     Package (0x04)
2341                     {
2342                         0x000DFFFF, 
2343                         0x01, 
2344                         0x00, 
2345                         0x12
2346                     }, 
2347 
2348                     Package (0x04)
2349                     {
2350                         0x000DFFFF, 
2351                         0x02, 
2352                         0x00, 
2353                         0x13
2354                     }, 
2355 
2356                     Package (0x04)
2357                     {
2358                         0x000DFFFF, 
2359                         0x03, 
2360                         0x00, 
2361                         0x10
2362                     }, 
2363 
2364                     Package (0x04)
2365                     {
2366                         0x000EFFFF, 
2367                         0x00, 
2368                         0x00, 
2369                         0x12
2370                     }, 
2371 
2372                     Package (0x04)
2373                     {
2374                         0x000EFFFF, 
2375                         0x01, 
2376                         0x00, 
2377                         0x13
2378                     }, 
2379 
2380                     Package (0x04)
2381                     {
2382                         0x000EFFFF, 
2383                         0x02, 
2384                         0x00, 
2385                         0x10
2386                     }, 
2387 
2388                     Package (0x04)
2389                     {
2390                         0x000EFFFF, 
2391                         0x03, 
2392                         0x00, 
2393                         0x11
2394                     }, 
2395 
2396                     Package (0x04)
2397                     {
2398                         0x0009FFFF, 
2399                         0x00, 
2400                         0x00, 
2401                         0x11
2402                     }, 
2403 
2404                     Package (0x04)
2405                     {
2406                         0x0009FFFF, 
2407                         0x01, 
2408                         0x00, 
2409                         0x10
2410                     }, 
2411 
2412                     Package (0x04)
2413                     {
2414                         0x0001FFFF, 
2415                         0x00, 
2416                         0x00, 
2417                         0x10
2418                     }, 
2419 
2420                     Package (0x04)
2421                     {
2422                         0x0001FFFF, 
2423                         0x01, 
2424                         0x00, 
2425                         0x11
2426                     }, 
2427 
2428                     Package (0x04)
2429                     {
2430                         0x0001FFFF, 
2431                         0x02, 
2432                         0x00, 
2433                         0x12
2434                     }, 
2435 
2436                     Package (0x04)
2437                     {
2438                         0x0001FFFF, 
2439                         0x03, 
2440                         0x00, 
2441                         0x13
2442                     }, 
2443 
2444                     Package (0x04)
2445                     {
2446                         0x001FFFFF, 
2447                         0x00, 
2448                         0x00, 
2449                         0x10
2450                     }, 
2451 
2452                     Package (0x04)
2453                     {
2454                         0x001FFFFF, 
2455                         0x01, 
2456                         0x00, 
2457                         0x11
2458                     }, 
2459 
2460                     Package (0x04)
2461                     {
2462                         0x001FFFFF, 
2463                         0x02, 
2464                         0x00, 
2465                         0x12
2466                     }, 
2467 
2468                     Package (0x04)
2469                     {
2470                         0x001FFFFF, 
2471                         0x03, 
2472                         0x00, 
2473                         0x13
2474                     }, 
2475 
2476                     Package (0x04)
2477                     {
2478                         0x0002FFFF, 
2479                         0x00, 
2480                         0x00, 
2481                         0x10
2482                     }, 
2483 
2484                     Package (0x04)
2485                     {
2486                         0x0002FFFF, 
2487                         0x01, 
2488                         0x00, 
2489                         0x11
2490                     }, 
2491 
2492                     Package (0x04)
2493                     {
2494                         0x0002FFFF, 
2495                         0x02, 
2496                         0x00, 
2497                         0x12
2498                     }, 
2499 
2500                     Package (0x04)
2501                     {
2502                         0x0002FFFF, 
2503                         0x03, 
2504                         0x00, 
2505                         0x13
2506                     }, 
2507 
2508                     Package (0x04)
2509                     {
2510                         0x0003FFFF, 
2511                         0x00, 
2512                         0x00, 
2513                         0x14
2514                     }, 
2515 
2516                     Package (0x04)
2517                     {
2518                         0x0003FFFF, 
2519                         0x01, 
2520                         0x00, 
2521                         0x15
2522                     }, 
2523 
2524                     Package (0x04)
2525                     {
2526                         0x0003FFFF, 
2527                         0x02, 
2528                         0x00, 
2529                         0x16
2530                     }, 
2531 
2532                     Package (0x04)
2533                     {
2534                         0x0004FFFF, 
2535                         0x00, 
2536                         0x00, 
2537                         0x13
2538                     }, 
2539 
2540                     Package (0x04)
2541                     {
2542                         0x0005FFFF, 
2543                         0x00, 
2544                         0x00, 
2545                         0x11
2546                     }, 
2547 
2548                     Package (0x04)
2549                     {
2550                         0x0006FFFF, 
2551                         0x00, 
2552                         0x00, 
2553                         0x10
2554                     }, 
2555 
2556                     Package (0x04)
2557                     {
2558                         0x0006FFFF, 
2559                         0x01, 
2560                         0x00, 
2561                         0x11
2562                     }, 
2563 
2564                     Package (0x04)
2565                     {
2566                         0x0006FFFF, 
2567                         0x02, 
2568                         0x00, 
2569                         0x12
2570                     }, 
2571 
2572                     Package (0x04)
2573                     {
2574                         0x0006FFFF, 
2575                         0x03, 
2576                         0x00, 
2577                         0x13
2578                     }, 
2579 
2580                     Package (0x04)
2581                     {
2582                         0x0007FFFF, 
2583                         0x00, 
2584                         0x00, 
2585                         0x10
2586                     }, 
2587 
2588                     Package (0x04)
2589                     {
2590                         0x0007FFFF, 
2591                         0x01, 
2592                         0x00, 
2593                         0x11
2594                     }, 
2595 
2596                     Package (0x04)
2597                     {
2598                         0x0007FFFF, 
2599                         0x02, 
2600                         0x00, 
2601                         0x12
2602                     }, 
2603 
2604                     Package (0x04)
2605                     {
2606                         0x0007FFFF, 
2607                         0x03, 
2608                         0x00, 
2609                         0x13
2610                     }, 
2611 
2612                     Package (0x04)
2613                     {
2614                         0x000FFFFF, 
2615                         0x00, 
2616                         0x00, 
2617                         0x12
2618                     }
2619                 })
2620             }
2621 
2622             Device (SATA)
2623             {
2624                 Name (_ADR, 0x00050000)  // _ADR: Address
2625                 Name (PIOT, Package (0x05)
2626                 {
2627                     0x0258, 
2628                     0x0186, 
2629                     0x014A, 
2630                     0xB4, 
2631                     0x78
2632                 })
2633                 Name (DMAT, Package (0x07)
2634                 {
2635                     0x78, 
2636                     0x50, 
2637                     0x3C, 
2638                     0x28, 
2639                     0x1E, 
2640                     0x14, 
2641                     0x0F
2642                 })
2643                 OperationRegion (STMB, PCI_Config, 0x6C, 0x04)
2644                 Field (STMB, ByteAcc, NoLock, Preserve)
2645                 {
2646                     PMIO,   3, 
2647                         ,   1, 
2648                     PMDM,   3, 
2649                     Offset (0x01), 
2650                     PSIO,   3, 
2651                         ,   1, 
2652                     PSDM,   3, 
2653                     Offset (0x02), 
2654                     SMIO,   3, 
2655                         ,   1, 
2656                     SMDM,   3, 
2657                     Offset (0x03), 
2658                     SSIO,   3, 
2659                         ,   1, 
2660                     SSDM,   3, 
2661                     Offset (0x04)
2662                 }
2663 
2664                 OperationRegion (STXT, PCI_Config, 0x50, 0x04)
2665                 Field (STXT, ByteAcc, NoLock, Preserve)
2666                 {
2667                         ,   1, 
2668                     PEXT,   1, 
2669                     Offset (0x02), 
2670                         ,   1, 
2671                     SEXT,   1, 
2672                     Offset (0x04)
2673                 }
2674 
2675                 Name (IDES, Buffer (0x14){})
2676                 CreateDWordField (IDES, 0x00, STM0)
2677                 CreateDWordField (IDES, 0x04, STM1)
2678                 CreateDWordField (IDES, 0x08, STM2)
2679                 CreateDWordField (IDES, 0x0C, STM3)
2680                 CreateDWordField (IDES, 0x10, STM4)
2681                 Device (SDE0)
2682                 {
2683                     Name (_ADR, 0x00)  // _ADR: Address
2684                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
2685                     {
2686                         Local0 = 0xFFFFFFFF
2687                         Local1 = 0xFFFFFFFF
2688                         Local2 = 0xFFFFFFFF
2689                         Local3 = 0xFFFFFFFF
2690                         Local4 = 0x10
2691                         If (PEXT)
2692                         {
2693                             Local0 = DerefOf (PIOT [PMIO])
2694                             Local1 = DerefOf (DMAT [PMDM])
2695                             Local2 = DerefOf (PIOT [PSIO])
2696                             Local3 = DerefOf (DMAT [PSDM])
2697                             Local4 |= 0x0F
2698                         }
2699 
2700                         STM0 = Local0
2701                         STM1 = Local1
2702                         STM2 = Local2
2703                         STM3 = Local3
2704                         STM4 = Local4
2705                         Return (IDES) /* \_SB_.PCI0.SATA.IDES */
2706                     }
2707 
2708                     Device (DRV0)
2709                     {
2710                         Name (_ADR, 0x00)  // _ADR: Address
2711                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
2712                         {
2713                             Local6 = Buffer (0x07)
2714                                 {
2715                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
2716                                 }
2717                             Local7 = Buffer (0x07)
2718                                 {
2719                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
2720                                 }
2721                             CreateByteField (Local6, 0x01, MODE)
2722                             CreateByteField (Local7, 0x01, UMOD)
2723                             If (PEXT)
2724                             {
2725                                 MODE = PMIO /* \_SB_.PCI0.SATA.PMIO */
2726                                 MODE |= 0x08
2727                                 UMOD = PMDM /* \_SB_.PCI0.SATA.PMDM */
2728                                 UMOD |= 0x40
2729                             }
2730 
2731                             Concatenate (Local6, Local7, Local5)
2732                             Return (Local5)
2733                         }
2734                     }
2735 
2736                     Device (DRV1)
2737                     {
2738                         Name (_ADR, 0x01)  // _ADR: Address
2739                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
2740                         {
2741                             Local6 = Buffer (0x07)
2742                                 {
2743                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
2744                                 }
2745                             Local7 = Buffer (0x07)
2746                                 {
2747                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
2748                                 }
2749                             CreateByteField (Local6, 0x01, MODE)
2750                             CreateByteField (Local7, 0x01, UMOD)
2751                             If (PEXT)
2752                             {
2753                                 MODE = PSIO /* \_SB_.PCI0.SATA.PSIO */
2754                                 MODE |= 0x08
2755                                 UMOD = PSDM /* \_SB_.PCI0.SATA.PSDM */
2756                                 UMOD |= 0x40
2757                             }
2758 
2759                             Concatenate (Local6, Local7, Local5)
2760                             Return (Local5)
2761                         }
2762                     }
2763                 }
2764 
2765                 Device (SDE1)
2766                 {
2767                     Name (_ADR, 0x01)  // _ADR: Address
2768                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
2769                     {
2770                         Local0 = 0xFFFFFFFF
2771                         Local1 = 0xFFFFFFFF
2772                         Local2 = 0xFFFFFFFF
2773                         Local3 = 0xFFFFFFFF
2774                         Local4 = 0x10
2775                         If (SEXT)
2776                         {
2777                             Local0 = DerefOf (PIOT [SMIO])
2778                             Local1 = DerefOf (DMAT [SMDM])
2779                             Local2 = DerefOf (PIOT [SSIO])
2780                             Local3 = DerefOf (DMAT [SSDM])
2781                             Local4 |= 0x0F
2782                         }
2783 
2784                         STM0 = Local0
2785                         STM1 = Local1
2786                         STM2 = Local2
2787                         STM3 = Local3
2788                         STM4 = Local4
2789                         Return (IDES) /* \_SB_.PCI0.SATA.IDES */
2790                     }
2791 
2792                     Device (DRV0)
2793                     {
2794                         Name (_ADR, 0x00)  // _ADR: Address
2795                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
2796                         {
2797                             Local6 = Buffer (0x07)
2798                                 {
2799                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
2800                                 }
2801                             Local7 = Buffer (0x07)
2802                                 {
2803                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF         /* ....... */
2804                                 }
2805                             CreateByteField (Local6, 0x01, MODE)
2806                             CreateByteField (Local7, 0x01, UMOD)
2807                             If (SEXT)
2808                             {
2809                                 MODE = SMIO /* \_SB_.PCI0.SATA.SMIO */
2810                                 MODE |= 0x08
2811                                 UMOD = SMDM /* \_SB_.PCI0.SATA.SMDM */
2812                                 UMOD |= 0x40
2813                             }
2814 
2815                             Concatenate (Local6, Local7, Local5)
2816                             Return (Local5)
2817                         }
2818                     }
2819 
2820                     Device (DRV1)
2821                     {
2822                         Name (_ADR, 0x01)  // _ADR: Address
2823                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
2824                         {
2825                             Local6 = Buffer (0x07)
2826                                 {
2827                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
2828                                 }
2829                             Local7 = Buffer (0x07)
2830                                 {
2831                                      0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
2832                                 }
2833                             CreateByteField (Local6, 0x01, MODE)
2834                             CreateByteField (Local7, 0x01, UMOD)
2835                             If (SEXT)
2836                             {
2837                                 MODE = SSIO /* \_SB_.PCI0.SATA.SSIO */
2838                                 MODE |= 0x08
2839                                 UMOD = SSDM /* \_SB_.PCI0.SATA.SSDM */
2840                                 UMOD |= 0x40
2841                             }
2842 
2843                             Concatenate (Local6, Local7, Local5)
2844                             Return (Local5)
2845                         }
2846                     }
2847                 }
2848             }
2849 
2850             Device (PEGP)
2851             {
2852                 Name (_ADR, 0x00010000)  // _ADR: Address
2853                 Device (VGA)
2854                 {
2855                     Name (SWIT, 0x01)
2856                     Name (GDCS, 0x02)
2857                     Name (GDGS, 0x01)
2858                     Name (_ADR, 0x00)  // _ADR: Address
2859                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
2860                     {
2861                         SWIT = Arg0
2862                     }
2863 
2864                     Name (_DOD, Package (0x02)  // _DOD: Display Output Devices
2865                     {
2866                         0x00010100, 
2867                         0x00010110
2868                     })
2869                     Device (CRT)
2870                     {
2871                         Name (_ADR, 0x0100)  // _ADR: Address
2872                         Name (_DCS, 0x1F)  // _DCS: Display Current Status
2873                         Name (_DGS, 0x00)  // _DGS: Display Graphics State
2874                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
2875                         {
2876                             If ((Arg0 == 0x00))
2877                             {
2878                                 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D
2879                             }
2880 
2881                             If ((Arg0 == 0x01))
2882                             {
2883                                 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F
2884                             }
2885 
2886                             If ((Arg0 == 0x80000000))
2887                             {
2888                                 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D
2889                             }
2890 
2891                             If ((Arg0 == 0x80000001))
2892                             {
2893                                 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F
2894                             }
2895 
2896                             If ((Arg0 == 0x40000000))
2897                             {
2898                                 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2899                             }
2900 
2901                             If ((Arg0 == 0x40000001))
2902                             {
2903                                 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2904                             }
2905 
2906                             If ((Arg0 == 0xC0000000))
2907                             {
2908                                 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2909                             }
2910 
2911                             If ((Arg0 == 0xC0000001))
2912                             {
2913                                 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2914                             }
2915                         }
2916                     }
2917 
2918                     Device (LCD)
2919                     {
2920                         Name (_ADR, 0x0110)  // _ADR: Address
2921                         Name (_DCS, 0x1F)  // _DCS: Display Current Status
2922                         Name (_DGS, 0x00)  // _DGS: Display Graphics State
2923                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
2924                         {
2925                             If ((Arg0 == 0x00))
2926                             {
2927                                 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D
2928                             }
2929 
2930                             If ((Arg0 == 0x01))
2931                             {
2932                                 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F
2933                             }
2934 
2935                             If ((Arg0 == 0x80000000))
2936                             {
2937                                 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D
2938                             }
2939 
2940                             If ((Arg0 == 0x80000001))
2941                             {
2942                                 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F
2943                             }
2944 
2945                             If ((Arg0 == 0x40000000))
2946                             {
2947                                 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2948                             }
2949 
2950                             If ((Arg0 == 0x40000001))
2951                             {
2952                                 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2953                             }
2954 
2955                             If ((Arg0 == 0xC0000000))
2956                             {
2957                                 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2958                             }
2959 
2960                             If ((Arg0 == 0xC0000001))
2961                             {
2962                                 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2963                             }
2964                         }
2965 
2966                         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
2967                         {
2968                             Return (Package (0x0A)
2969                             {
2970                                 0x07, 
2971                                 0x03, 
2972                                 0x00, 
2973                                 0x01, 
2974                                 0x02, 
2975                                 0x03, 
2976                                 0x04, 
2977                                 0x05, 
2978                                 0x06, 
2979                                 0x07
2980                             })
2981                         }
2982 
2983                         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
2984                         {
2985                             \_SB.PCI0.LPC.EC0.BRTS = Arg0
2986                         }
2987 
2988                         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
2989                         {
2990                             Return (\_SB.PCI0.LPC.EC0.BRTS)
2991                         }
2992                     }
2993 
2994                     Method (DCHG, 0, NotSerialized)
2995                     {
2996                         If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
2997                         {
2998                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01))
2999                             {
3000                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3001                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3002                             }
3003 
3004                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02))
3005                             {
3006                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3007                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3008                             }
3009 
3010                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03))
3011                             {
3012                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3013                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00
3014                             }
3015 
3016                             Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3017                             Sleep (0x01F4)
3018                         }
3019                     }
3020 
3021                     Method (LCDT, 0, NotSerialized)
3022                     {
3023                         If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
3024                         {
3025                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01))
3026                             {
3027                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3028                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3029                             }
3030 
3031                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02))
3032                             {
3033                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3034                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3035                             }
3036 
3037                             If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03))
3038                             {
3039                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3040                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3041                             }
3042 
3043                             Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3044                             Sleep (0x01F4)
3045                         }
3046                     }
3047                 }
3048             }
3049 
3050             Device (LPC)
3051             {
3052                 Name (_ADR, 0x00020000)  // _ADR: Address
3053                 OperationRegion (PCFG, PCI_Config, 0x00, 0x80)
3054                 Field (PCFG, ByteAcc, NoLock, Preserve)
3055                 {
3056                     Offset (0x41), 
3057                     PIRA,   8, 
3058                     PIRB,   8, 
3059                     PIRC,   8, 
3060                     PIRD,   8, 
3061                     Offset (0x60), 
3062                     PIRE,   8, 
3063                     PIRF,   8, 
3064                     PIRG,   8, 
3065                     PIRH,   8, 
3066                     Offset (0x70), 
3067                     HPTE,   8, 
3068                         ,   4, 
3069                     MMTB,   4, 
3070                     Offset (0x74), 
3071                     Z004,   16
3072                 }
3073 
3074                 OperationRegion (SOW, SystemIO, 0x8000, 0x90)
3075                 Field (SOW, WordAcc, NoLock, Preserve)
3076                 {
3077                         ,   10, 
3078                     RTCS,   1, 
3079                     Offset (0x06), 
3080                     LGMS,   1, 
3081                     Offset (0x10), 
3082                     THRT,   8, 
3083                     Offset (0x1A), 
3084                         ,   1, 
3085                     RLSL,   1, 
3086                     Offset (0x20), 
3087                         ,   2, 
3088                     SLP,    1, 
3089                     WK,     1, 
3090                     Offset (0x21), 
3091                         ,   2, 
3092                     TRIP,   1, 
3093                     PCIS,   2, 
3094                     Offset (0x22), 
3095                         ,   2, 
3096                     ESMI,   1, 
3097                     Offset (0x23), 
3098                         ,   2, 
3099                     ETRM,   1, 
3100                     Offset (0x2A), 
3101                         ,   7, 
3102                     GWPE,   1, 
3103                         ,   5, 
3104                     SSL,    1, 
3105                     SWK,    1, 
3106                     Z005,   1, 
3107                     Offset (0x48), 
3108                     SMIP,   1, 
3109                     Offset (0x62), 
3110                         ,   6, 
3111                     ALED,   2
3112                 }
3113 
3114                 Device (EC0)
3115                 {
3116                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
3117                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3118                     {
3119                         IO (Decode16,
3120                             0x0062,             // Range Minimum
3121                             0x0062,             // Range Maximum
3122                             0x00,               // Alignment
3123                             0x01,               // Length
3124                             )
3125                         IO (Decode16,
3126                             0x0066,             // Range Minimum
3127                             0x0066,             // Range Maximum
3128                             0x00,               // Alignment
3129                             0x01,               // Length
3130                             )
3131                     })
3132                     Name (_GPE, 0x13)  // _GPE: General Purpose Events
3133                     Name (FGEC, 0x00)
3134                     Name (BRTA, 0x00)
3135                     Name (OSYS, 0x00)
3136                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
3137                     {
3138                         If ((Arg0 == 0x03))
3139                         {
3140                             FGEC = Arg1
3141                             OSYS = \_SB.TPOS
3142                             If ((OSYS == 0x20))
3143                             {
3144                                 XSEC = 0x05
3145                             }
3146                             ElseIf (((OSYS == 0x08) || (OSYS == 0x10)))
3147                             {
3148                                 XSEC = 0x04
3149                             }
3150                             ElseIf ((OSYS == 0x04))
3151                             {
3152                                 XSEC = 0x02
3153                             }
3154                             ElseIf ((OSYS == 0x02))
3155                             {
3156                                 XSEC = 0x03
3157                             }
3158                             ElseIf ((OSYS == 0x01))
3159                             {
3160                                 XSEC = 0x08
3161                             }
3162                             Else
3163                             {
3164                                 XSEC = 0x04
3165                             }
3166 
3167                             \_SB.OSEC = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */
3168                             \_SB.P378 = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */
3169                         }
3170                     }
3171 
3172                     OperationRegion (ECXP, EmbeddedControl, 0x00, 0xFF)
3173                     Field (ECXP, ByteAcc, Lock, Preserve)
3174                     {
3175                         XIF0,   16, 
3176                         XIF1,   16, 
3177                         XIF2,   16, 
3178                         XIF3,   16, 
3179                         XIF4,   16, 
3180                         XIF5,   16, 
3181                         XIF6,   16, 
3182                         XIF7,   16, 
3183                         XIF8,   16, 
3184                         XIF9,   64, 
3185                         XIFA,   64, 
3186                         XIFB,   64, 
3187                         XIFC,   64, 
3188                         XST0,   16, 
3189                         XST1,   16, 
3190                         XST2,   16, 
3191                         XST3,   16, 
3192                         XTP0,   16, 
3193                         XCIN,   1, 
3194                             ,   1, 
3195                         XTIN,   1, 
3196                         Offset (0x3D), 
3197                         Offset (0x3E), 
3198                         XHPP,   7, 
3199                         Offset (0x3F), 
3200                         Offset (0x40), 
3201                         XSEC,   8, 
3202                         XLPT,   8, 
3203                         Offset (0x56), 
3204                         MDTP,   3, 
3205                             ,   2, 
3206                         Offset (0x57), 
3207                         Offset (0x5B), 
3208                             ,   1, 
3209                         XBLM,   2, 
3210                             ,   3, 
3211                         VGAT,   4, 
3212                         Offset (0x5F), 
3213                         VTMP,   8, 
3214                         Offset (0x74), 
3215                         MPPC,   8, 
3216                         Offset (0x76), 
3217                         XMPP,   7, 
3218                         Offset (0x77), 
3219                         HDPS,   8, 
3220                         Offset (0x79), 
3221                         BRTS,   8, 
3222                         TSEC,   3, 
3223                         DORT,   1, 
3224                         Offset (0x7B), 
3225                         LIDS,   1, 
3226                         SOS4,   1, 
3227                             ,   5, 
3228                         DTS,    1, 
3229                         Offset (0x7D), 
3230                         CPUS,   8, 
3231                         Offset (0xC0), 
3232                         BIF0,   16, 
3233                         BIF1,   16, 
3234                         BIF2,   16, 
3235                         BIF3,   16, 
3236                         BIF4,   16, 
3237                         BIF5,   16, 
3238                         BIF6,   16, 
3239                         BIF7,   16, 
3240                         BIF8,   16, 
3241                         BIF9,   64, 
3242                         BIFA,   64, 
3243                         BIFB,   64, 
3244                         BIFC,   64, 
3245                         BST0,   16, 
3246                         BST1,   16, 
3247                         BST2,   16, 
3248                         BST3,   16, 
3249                         BTP0,   16, 
3250                         ACIN,   1, 
3251                             ,   1, 
3252                         BTIN,   1, 
3253                         Offset (0xFD), 
3254                         Offset (0xFE), 
3255                         VFUN,   8
3256                     }
3257 
3258                     Method (_Q06, 0, NotSerialized)  // _Qxx: EC Query
3259                     {
3260                         P378 = 0x06
3261                         DBPG = 0x06
3262                         Notify (\_SB.AC0, 0x80) // Status Change
3263                         Sleep (0x14)
3264                         Notify (\_SB.BAT0, 0x81) // Information Change
3265                         Sleep (0x14)
3266                         Notify (\_SB.BAT0, 0x80) // Status Change
3267                         Sleep (0x14)
3268                     }
3269 
3270                     Method (_Q07, 0, NotSerialized)  // _Qxx: EC Query
3271                     {
3272                         P378 = 0x07
3273                         DBPG = 0x07
3274                         Local0 = 0x00
3275                         Notify (\_SB.AC0, 0x80) // Status Change
3276                         Sleep (0x14)
3277                         Notify (\_SB.BAT0, 0x80) // Status Change
3278                         Sleep (0x14)
3279                         \_SB.SMP = 0x01
3280                         \_SB.LBLM = \_SB.PCI0.LPC.EC0.XBLM
3281                         If (\_SB.PCI0.LPC.EC0.XCIN)
3282                         {
3283                             \_SB.SP1S = 0x00
3284                         }
3285                         Else
3286                         {
3287                             \_SB.SP1S = 0x01
3288                         }
3289 
3290                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3291                         Sleep (0x14)
3292                     }
3293 
3294                     Method (_Q0A, 0, NotSerialized)  // _Qxx: EC Query
3295                     {
3296                         P378 = 0x0A
3297                         DBPG = 0x0A
3298                         Notify (\_SB.SLPB, 0x80) // Status Change
3299                     }
3300 
3301                     Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query
3302                     {
3303                         P378 = 0x0B
3304                         DBPG = 0x0B
3305                     }
3306 
3307                     Method (_Q0C, 0, NotSerialized)  // _Qxx: EC Query
3308                     {
3309                         P378 = 0x0C
3310                         DBPG = 0x0C
3311                     }
3312 
3313                     Method (_Q0D, 0, NotSerialized)  // _Qxx: EC Query
3314                     {
3315                         P378 = 0x0D
3316                         DBPG = 0x0D
3317                         If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
3318                         {
3319                             \_SB.PCI0.PEGP.VGA.GDGS += 0x01
3320                             Divide (\_SB.PCI0.PEGP.VGA.GDGS, 0x03, Local0, Local1)
3321                             If ((Local0 == 0x00))
3322                             {
3323                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3324                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3325                             }
3326 
3327                             If ((Local0 == 0x01))
3328                             {
3329                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3330                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00
3331                             }
3332 
3333                             If ((Local0 == 0x02))
3334                             {
3335                                 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3336                                 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3337                             }
3338 
3339                             P378 = Local0
3340                             DBPG = Local0
3341                             Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3342                         }
3343                     }
3344 
3345                     Method (_Q0E, 0, NotSerialized)  // _Qxx: EC Query
3346                     {
3347                         P378 = 0x0E
3348                         DBPG = 0x0E
3349                     }
3350 
3351                     Method (_Q0F, 0, NotSerialized)  // _Qxx: EC Query
3352                     {
3353                         P378 = 0x0F
3354                         DBPG = 0x0F
3355                     }
3356 
3357                     Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
3358                     {
3359                         P378 = 0x10
3360                         DBPG = 0x10
3361                         Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x86) // Device-Specific
3362                     }
3363 
3364                     Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
3365                     {
3366                         P378 = 0x11
3367                         DBPG = 0x11
3368                         Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x87) // Device-Specific
3369                     }
3370 
3371                     Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
3372                     {
3373                         P378 = 0x12
3374                         DBPG = 0x12
3375                     }
3376 
3377                     Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query
3378                     {
3379                         P378 = 0x13
3380                         DBPG = 0x13
3381                     }
3382 
3383                     Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
3384                     {
3385                         P378 = 0x14
3386                         DBPG = 0x14
3387                     }
3388 
3389                     Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
3390                     {
3391                         P378 = 0x15
3392                         DBPG = 0x15
3393                     }
3394 
3395                     Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query
3396                     {
3397                         P378 = 0x16
3398                         DBPG = 0x16
3399                         \_SB.PCI0.LPC.EC0.LIDS = 0x01
3400                         Notify (\_SB.LID0, 0x80) // Status Change
3401                     }
3402 
3403                     Method (_Q17, 0, NotSerialized)  // _Qxx: EC Query
3404                     {
3405                         P378 = 0x17
3406                         DBPG = 0x17
3407                         Notify (\_SB.AC0, 0x80) // Status Change
3408                         Sleep (0x64)
3409                         Notify (\_SB.BAT0, 0x81) // Information Change
3410                         Sleep (0x64)
3411                         Notify (\_SB.BAT0, 0x80) // Status Change
3412                         Sleep (0x64)
3413                     }
3414 
3415                     Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query
3416                     {
3417                         P378 = 0x19
3418                         DBPG = 0x19
3419                         \_SB.PCI0.LPC.EC0.LIDS = 0x00
3420                         Notify (\_SB.LID0, 0x80) // Status Change
3421                     }
3422 
3423                     Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
3424                     {
3425                         P378 = 0x1C
3426                         DBPG = 0x1C
3427                     }
3428 
3429                     Method (_Q1E, 0, NotSerialized)  // _Qxx: EC Query
3430                     {
3431                         THRT = 0x00
3432                         P378 = 0x1E
3433                         DBPG = 0x1E
3434                     }
3435 
3436                     Method (_Q1F, 0, NotSerialized)  // _Qxx: EC Query
3437                     {
3438                         THRT = 0x1E
3439                         P378 = 0x1F
3440                         DBPG = 0x1F
3441                     }
3442 
3443                     Method (_Q20, 0, NotSerialized)  // _Qxx: EC Query
3444                     {
3445                         THRT = 0x1C
3446                         P378 = 0x20
3447                         DBPG = 0x20
3448                     }
3449 
3450                     Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query
3451                     {
3452                         THRT = 0x1A
3453                         P378 = 0x21
3454                         DBPG = 0x21
3455                     }
3456 
3457                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
3458                     {
3459                         THRT = 0x18
3460                         P378 = 0x22
3461                         DBPG = 0x22
3462                     }
3463 
3464                     Method (_Q23, 0, NotSerialized)  // _Qxx: EC Query
3465                     {
3466                         THRT = 0x16
3467                         P378 = 0x23
3468                         DBPG = 0x23
3469                     }
3470 
3471                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
3472                     {
3473                         THRT = 0x14
3474                         P378 = 0x24
3475                         DBPG = 0x24
3476                     }
3477 
3478                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
3479                     {
3480                         THRT = 0x12
3481                         P378 = 0x25
3482                         DBPG = 0x25
3483                     }
3484 
3485                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
3486                     {
3487                         P378 = 0x27
3488                         DBPG = 0x27
3489                         \_TZ.THPP = 0x69
3490                         Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
3491                     }
3492 
3493                     Method (_Q2E, 0, NotSerialized)  // _Qxx: EC Query
3494                     {
3495                         \_SB.SMP = 0x01
3496                         \_SB.SLMS = 0x01
3497                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3498                         P378 = 0x2E
3499                         DBPG = 0x2E
3500                     }
3501 
3502                     Method (_Q2F, 0, NotSerialized)  // _Qxx: EC Query
3503                     {
3504                         \_SB.SMP = 0x00
3505                         \_SB.SLMS = 0x00
3506                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3507                         P378 = 0x2F
3508                         DBPG = 0x2F
3509                     }
3510 
3511                     Method (_Q3A, 0, NotSerialized)  // _Qxx: EC Query
3512                     {
3513                         P378 = 0x3A
3514                         DBPG = 0x3A
3515                     }
3516 
3517                     Method (_Q3B, 0, NotSerialized)  // _Qxx: EC Query
3518                     {
3519                     }
3520 
3521                     Method (_Q3C, 0, NotSerialized)  // _Qxx: EC Query
3522                     {
3523                     }
3524 
3525                     Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
3526                     {
3527                         P378 = 0x40
3528                         DBPG = 0x40
3529                         \_SB.PPCL = 0x00
3530                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3531                     }
3532 
3533                     Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query
3534                     {
3535                         P378 = 0x41
3536                         DBPG = 0x41
3537                         If ((PPCM > 0x01))
3538                         {
3539                             PPCL = 0x01
3540                         }
3541                         Else
3542                         {
3543                             PPCL = PPCM /* \_SB_.PPCM */
3544                         }
3545 
3546                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3547                     }
3548 
3549                     Method (_Q42, 0, NotSerialized)  // _Qxx: EC Query
3550                     {
3551                         P378 = 0x42
3552                         DBPG = 0x42
3553                         If ((PPCM > 0x02))
3554                         {
3555                             PPCL = 0x02
3556                         }
3557                         Else
3558                         {
3559                             PPCL = PPCM /* \_SB_.PPCM */
3560                         }
3561 
3562                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3563                     }
3564 
3565                     Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query
3566                     {
3567                         P378 = 0x43
3568                         DBPG = 0x43
3569                         If ((PPCM > 0x03))
3570                         {
3571                             PPCL = 0x03
3572                         }
3573                         Else
3574                         {
3575                             PPCL = PPCM /* \_SB_.PPCM */
3576                         }
3577 
3578                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3579                     }
3580 
3581                     Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query
3582                     {
3583                         P378 = 0x44
3584                         DBPG = 0x44
3585                         If ((PPCM > 0x04))
3586                         {
3587                             PPCL = 0x04
3588                         }
3589                         Else
3590                         {
3591                             PPCL = PPCM /* \_SB_.PPCM */
3592                         }
3593 
3594                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3595                     }
3596 
3597                     Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query
3598                     {
3599                         P378 = 0x45
3600                         DBPG = 0x45
3601                         If ((PPCM > 0x05))
3602                         {
3603                             PPCL = 0x05
3604                         }
3605                         Else
3606                         {
3607                             PPCL = PPCM /* \_SB_.PPCM */
3608                         }
3609 
3610                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3611                     }
3612 
3613                     Method (_Q46, 0, NotSerialized)  // _Qxx: EC Query
3614                     {
3615                         P378 = 0x46
3616                         DBPG = 0x46
3617                         If ((PPCM > 0x06))
3618                         {
3619                             PPCL = 0x06
3620                         }
3621                         Else
3622                         {
3623                             PPCL = PPCM /* \_SB_.PPCM */
3624                         }
3625 
3626                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3627                     }
3628 
3629                     Method (_Q47, 0, NotSerialized)  // _Qxx: EC Query
3630                     {
3631                         P378 = 0x47
3632                         DBPG = 0x47
3633                         If ((PPCM > 0x07))
3634                         {
3635                             PPCL = 0x07
3636                         }
3637                         Else
3638                         {
3639                             PPCL = PPCM /* \_SB_.PPCM */
3640                         }
3641 
3642                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3643                     }
3644 
3645                     Method (_Q51, 0, NotSerialized)  // _Qxx: EC Query
3646                     {
3647                         \_SB.PCI0.LPC.EC0.BRTA = \_SB.PCI0.LPC.EC0.BRTS
3648                         Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x88) // Device-Specific
3649                         P378 = 0x51
3650                         DBPG = 0x51
3651                     }
3652 
3653                     Method (_Q52, 0, NotSerialized)  // _Qxx: EC Query
3654                     {
3655                         If ((\_SB.PCI0.LPC.EC0.BRTS == 0x00))
3656                         {
3657                             While ((\_SB.PCI0.LPC.EC0.BRTS != \_SB.PCI0.LPC.EC0.BRTA))
3658                             {
3659                                 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x85) // Device-Specific
3660                                 Sleep (0x14)
3661                             }
3662                         }
3663 
3664                         P378 = 0x52
3665                         DBPG = 0x52
3666                     }
3667                 }
3668 
3669                 Device (DMAC)
3670                 {
3671                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
3672                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3673                     {
3674                         IO (Decode16,
3675                             0x0000,             // Range Minimum
3676                             0x0000,             // Range Maximum
3677                             0x01,               // Alignment
3678                             0x10,               // Length
3679                             )
3680                         IO (Decode16,
3681                             0x0081,             // Range Minimum
3682                             0x0081,             // Range Maximum
3683                             0x01,               // Alignment
3684                             0x0F,               // Length
3685                             )
3686                         IO (Decode16,
3687                             0x00C0,             // Range Minimum
3688                             0x00C0,             // Range Maximum
3689                             0x01,               // Alignment
3690                             0x20,               // Length
3691                             )
3692                         IO (Decode16,
3693                             0x0480,             // Range Minimum
3694                             0x0480,             // Range Maximum
3695                             0x01,               // Alignment
3696                             0x10,               // Length
3697                             )
3698                         DMA (Compatibility, NotBusMaster, Transfer16, )
3699                             {4}
3700                     })
3701                 }
3702 
3703                 Device (PIC)
3704                 {
3705                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
3706                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3707                     {
3708                         IO (Decode16,
3709                             0x0020,             // Range Minimum
3710                             0x0020,             // Range Maximum
3711                             0x01,               // Alignment
3712                             0x02,               // Length
3713                             )
3714                         IO (Decode16,
3715                             0x00A0,             // Range Minimum
3716                             0x00A0,             // Range Maximum
3717                             0x01,               // Alignment
3718                             0x02,               // Length
3719                             )
3720                         IRQ (Edge, ActiveHigh, Exclusive, )
3721                             {2}
3722                     })
3723                 }
3724 
3725                 Device (TIME)
3726                 {
3727                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
3728                     Name (BUF0, ResourceTemplate ()
3729                     {
3730                         IO (Decode16,
3731                             0x0040,             // Range Minimum
3732                             0x0040,             // Range Maximum
3733                             0x01,               // Alignment
3734                             0x04,               // Length
3735                             )
3736                     })
3737                     Name (BUF1, ResourceTemplate ()
3738                     {
3739                         IO (Decode16,
3740                             0x0040,             // Range Minimum
3741                             0x0040,             // Range Maximum
3742                             0x01,               // Alignment
3743                             0x04,               // Length
3744                             )
3745                         IRQNoFlags ()
3746                             {0}
3747                     })
3748                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3749                     {
3750                         If ((HPTE & 0x01))
3751                         {
3752                             Return (BUF0) /* \_SB_.PCI0.LPC_.TIME.BUF0 */
3753                         }
3754 
3755                         Return (BUF1) /* \_SB_.PCI0.LPC_.TIME.BUF1 */
3756                     }
3757                 }
3758 
3759                 Device (RTC)
3760                 {
3761                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
3762                     Name (BUF0, ResourceTemplate ()
3763                     {
3764                         IO (Decode16,
3765                             0x0070,             // Range Minimum
3766                             0x0070,             // Range Maximum
3767                             0x01,               // Alignment
3768                             0x02,               // Length
3769                             )
3770                     })
3771                     Name (BUF1, ResourceTemplate ()
3772                     {
3773                         IO (Decode16,
3774                             0x0070,             // Range Minimum
3775                             0x0070,             // Range Maximum
3776                             0x01,               // Alignment
3777                             0x02,               // Length
3778                             )
3779                         IRQNoFlags ()
3780                             {8}
3781                     })
3782                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3783                     {
3784                         If ((HPTE & 0x01))
3785                         {
3786                             Return (BUF0) /* \_SB_.PCI0.LPC_.RTC_.BUF0 */
3787                         }
3788 
3789                         Return (BUF1) /* \_SB_.PCI0.LPC_.RTC_.BUF1 */
3790                     }
3791                 }
3792 
3793                 Device (SPKR)
3794                 {
3795                     Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */)  // _HID: Hardware ID
3796                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3797                     {
3798                         IO (Decode16,
3799                             0x0061,             // Range Minimum
3800                             0x0061,             // Range Maximum
3801                             0x01,               // Alignment
3802                             0x01,               // Length
3803                             )
3804                     })
3805                 }
3806 
3807                 Device (SYSR)
3808                 {
3809                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3810                     Name (RSRC, ResourceTemplate ()
3811                     {
3812                         IO (Decode16,
3813                             0x1000,             // Range Minimum
3814                             0x1000,             // Range Maximum
3815                             0x01,               // Alignment
3816                             0xBF,               // Length
3817                             _Y15)
3818                         IO (Decode16,
3819                             0x8100,             // Range Minimum
3820                             0x8100,             // Range Maximum
3821                             0x01,               // Alignment
3822                             0x30,               // Length
3823                             )
3824                         IO (Decode16,
3825                             0x0080,             // Range Minimum
3826                             0x0080,             // Range Maximum
3827                             0x01,               // Alignment
3828                             0x01,               // Length
3829                             )
3830                         IO (Decode16,
3831                             0x04D0,             // Range Minimum
3832                             0x04D0,             // Range Maximum
3833                             0x01,               // Alignment
3834                             0x02,               // Length
3835                             )
3836                         IO (Decode16,
3837                             0xFE00,             // Range Minimum
3838                             0xFE00,             // Range Maximum
3839                             0x01,               // Alignment
3840                             0x01,               // Length
3841                             )
3842                         IO (Decode16,
3843                             0x002E,             // Range Minimum
3844                             0x002E,             // Range Maximum
3845                             0x01,               // Alignment
3846                             0x01,               // Length
3847                             )
3848                         IO (Decode16,
3849                             0x002F,             // Range Minimum
3850                             0x002F,             // Range Maximum
3851                             0x01,               // Alignment
3852                             0x01,               // Length
3853                             )
3854                         IO (Decode16,
3855                             0x0092,             // Range Minimum
3856                             0x0092,             // Range Maximum
3857                             0x01,               // Alignment
3858                             0x01,               // Length
3859                             )
3860                         IO (Decode16,
3861                             0x0072,             // Range Minimum
3862                             0x0072,             // Range Maximum
3863                             0x01,               // Alignment
3864                             0x02,               // Length
3865                             )
3866                         IO (Decode16,
3867                             0x0078,             // Range Minimum
3868                             0x0078,             // Range Maximum
3869                             0x01,               // Alignment
3870                             0x02,               // Length
3871                             )
3872                         IO (Decode16,
3873                             0x004E,             // Range Minimum
3874                             0x004E,             // Range Maximum
3875                             0x01,               // Alignment
3876                             0x02,               // Length
3877                             )
3878                         IO (Decode16,
3879                             0x0068,             // Range Minimum
3880                             0x0068,             // Range Maximum
3881                             0x01,               // Alignment
3882                             0x01,               // Length
3883                             )
3884                         IO (Decode16,
3885                             0x006C,             // Range Minimum
3886                             0x006C,             // Range Maximum
3887                             0x01,               // Alignment
3888                             0x01,               // Length
3889                             )
3890                         IO (Decode16,
3891                             0x0200,             // Range Minimum
3892                             0x0200,             // Range Maximum
3893                             0x01,               // Alignment
3894                             0x10,               // Length
3895                             )
3896                         IO (Decode16,
3897                             0x0290,             // Range Minimum
3898                             0x0290,             // Range Maximum
3899                             0x01,               // Alignment
3900                             0x08,               // Length
3901                             )
3902                         Memory32Fixed (ReadWrite,
3903                             0xE0000000,         // Address Base
3904                             0x10000000,         // Address Length
3905                             )
3906                         Memory32Fixed (ReadOnly,
3907                             0xFEC00000,         // Address Base
3908                             0x00100000,         // Address Length
3909                             )
3910                         Memory32Fixed (ReadOnly,
3911                             0xFEE00000,         // Address Base
3912                             0x00100000,         // Address Length
3913                             )
3914                         Memory32Fixed (ReadOnly,
3915                             0xFFB80000,         // Address Base
3916                             0x00080000,         // Address Length
3917                             )
3918                         Memory32Fixed (ReadOnly,
3919                             0xFFC00000,         // Address Base
3920                             0x00001000,         // Address Length
3921                             )
3922                         Memory32Fixed (ReadOnly,
3923                             0xFFE00000,         // Address Base
3924                             0x00001000,         // Address Length
3925                             )
3926                         Memory32Fixed (ReadOnly,
3927                             0xFFE80000,         // Address Base
3928                             0x00080000,         // Address Length
3929                             )
3930                     })
3931                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3932                     {
3933                         CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MIN, PMMN)  // _MIN: Minimum Base Address
3934                         CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MAX, PMMX)  // _MAX: Maximum Base Address
3935                         PMMN = (\_SB.PCI0.LPC.Z004 & 0xFF80)
3936                         PMMX = PMMN /* \_SB_.PCI0.LPC_.SYSR._CRS.PMMN */
3937                         Return (RSRC) /* \_SB_.PCI0.LPC_.SYSR.RSRC */
3938                     }
3939                 }
3940 
3941                 Device (COPR)
3942                 {
3943                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
3944                     Method (_STA, 0, NotSerialized)  // _STA: Status
3945                     {
3946                         Return (0x0B)
3947                     }
3948 
3949                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3950                     {
3951                         IO (Decode16,
3952                             0x00F0,             // Range Minimum
3953                             0x00F0,             // Range Maximum
3954                             0x01,               // Alignment
3955                             0x10,               // Length
3956                             )
3957                         IRQNoFlags ()
3958                             {13}
3959                     })
3960                 }
3961 
3962                 Device (PS2K)
3963                 {
3964                     Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
3965                     Name (_UID, 0x01)  // _UID: Unique ID
3966                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3967                     {
3968                         IO (Decode16,
3969                             0x0060,             // Range Minimum
3970                             0x0060,             // Range Maximum
3971                             0x01,               // Alignment
3972                             0x01,               // Length
3973                             )
3974                         IO (Decode16,
3975                             0x0064,             // Range Minimum
3976                             0x0064,             // Range Maximum
3977                             0x01,               // Alignment
3978                             0x01,               // Length
3979                             )
3980                         IRQNoFlags ()
3981                             {1}
3982                     })
3983                 }
3984 
3985                 Device (PS2M)
3986                 {
3987                     Name (_HID, EisaId ("SYN0804"))  // _HID: Hardware ID
3988                     Name (_CID, Package (0x02)  // _CID: Compatible ID
3989                     {
3990                         EisaId ("SYN0800"), 
3991                         EisaId ("PNP0F13") /* PS/2 Mouse */
3992                     })
3993                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3994                     {
3995                         IRQ (Edge, ActiveHigh, Exclusive, )
3996                             {12}
3997                     })
3998                     Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3999                     {
4000                     }
4001 
4002                     Method (_STA, 0, NotSerialized)  // _STA: Status
4003                     {
4004                         Local7 = 0x0F
4005                     }
4006                 }
4007 
4008                 Device (XPIC)
4009                 {
4010                     Name (_HID, EisaId ("PNP0003") /* IO-APIC Interrupt Controller */)  // _HID: Hardware ID
4011                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4012                     {
4013                         Memory32Fixed (ReadOnly,
4014                             0xFEC00000,         // Address Base
4015                             0x00100000,         // Address Length
4016                             )
4017                         Memory32Fixed (ReadOnly,
4018                             0xFEE00000,         // Address Base
4019                             0x00100000,         // Address Length
4020                             )
4021                         Memory32Fixed (ReadOnly,
4022                             0xFFC00000,         // Address Base
4023                             0x00001000,         // Address Length
4024                             )
4025                         Memory32Fixed (ReadOnly,
4026                             0xFFE00000,         // Address Base
4027                             0x00001000,         // Address Length
4028                             )
4029                     })
4030                 }
4031 
4032                 Device (HPET)
4033                 {
4034                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
4035                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4036                     {
4037                         If ((MMTB <= 0x04))
4038                         {
4039                             If ((MMTB == 0x04))
4040                             {
4041                                 Return (BUF4) /* \_SB_.PCI0.LPC_.HPET.BUF4 */
4042                             }
4043 
4044                             If ((MMTB == 0x02))
4045                             {
4046                                 Return (BUF2) /* \_SB_.PCI0.LPC_.HPET.BUF2 */
4047                             }
4048 
4049                             If ((MMTB == 0x01))
4050                             {
4051                                 Return (BUF1) /* \_SB_.PCI0.LPC_.HPET.BUF1 */
4052                             }
4053 
4054                             Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
4055                         }
4056                     }
4057 
4058                     Name (BUF4, ResourceTemplate ()
4059                     {
4060                         IRQNoFlags ()
4061                             {0}
4062                         IRQNoFlags ()
4063                             {8}
4064                         Memory32Fixed (ReadOnly,
4065                             0xFED04000,         // Address Base
4066                             0x00000400,         // Address Length
4067                             )
4068                     })
4069                     Name (BUF2, ResourceTemplate ()
4070                     {
4071                         IRQNoFlags ()
4072                             {0}
4073                         IRQNoFlags ()
4074                             {8}
4075                         Memory32Fixed (ReadOnly,
4076                             0xFED02000,         // Address Base
4077                             0x00000400,         // Address Length
4078                             )
4079                     })
4080                     Name (BUF1, ResourceTemplate ()
4081                     {
4082                         IRQNoFlags ()
4083                             {0}
4084                         IRQNoFlags ()
4085                             {8}
4086                         Memory32Fixed (ReadOnly,
4087                             0xFED01000,         // Address Base
4088                             0x00000400,         // Address Length
4089                             )
4090                     })
4091                     Name (BUF0, ResourceTemplate ()
4092                     {
4093                         IRQNoFlags ()
4094                             {0}
4095                         IRQNoFlags ()
4096                             {8}
4097                         Memory32Fixed (ReadOnly,
4098                             0xFED00000,         // Address Base
4099                             0x00000400,         // Address Length
4100                             )
4101                     })
4102                     Method (_STA, 0, NotSerialized)  // _STA: Status
4103                     {
4104                         If ((HPTE & 0x01))
4105                         {
4106                             If ((\_SB.OSTP () >= 0x08))
4107                             {
4108                                 Return (0x0F)
4109                             }
4110                             Else
4111                             {
4112                                 Return (0x00)
4113                             }
4114                         }
4115 
4116                         Return (0x00)
4117                     }
4118                 }
4119             }
4120 
4121             Device (USB0)
4122             {
4123                 Name (_ADR, 0x00030000)  // _ADR: Address
4124                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4125                 {
4126                     0x0E, 
4127                     0x03
4128                 })
4129                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
4130                 {
4131                     If ((\_SB.OSTP () == 0x02))
4132                     {
4133                         Return (0x02)
4134                     }
4135                     Else
4136                     {
4137                         Return (0x03)
4138                     }
4139                 }
4140             }
4141 
4142             Device (USB1)
4143             {
4144                 Name (_ADR, 0x00030001)  // _ADR: Address
4145                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4146                 {
4147                     0x04, 
4148                     0x03
4149                 })
4150                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
4151                 {
4152                     If ((\_SB.OSTP () == 0x02))
4153                     {
4154                         Return (0x02)
4155                     }
4156                     Else
4157                     {
4158                         Return (0x03)
4159                     }
4160                 }
4161             }
4162 
4163             Device (USB2)
4164             {
4165                 Name (_ADR, 0x00030003)  // _ADR: Address
4166                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4167                 {
4168                     0x07, 
4169                     0x03
4170                 })
4171                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
4172                 {
4173                     If ((\_SB.OSTP () == 0x02))
4174                     {
4175                         Return (0x02)
4176                     }
4177                     Else
4178                     {
4179                         Return (0x03)
4180                     }
4181                 }
4182             }
4183 
4184             Device (Z006)
4185             {
4186                 Name (_ADR, 0x00060000)  // _ADR: Address
4187             }
4188 
4189             Device (Z007)
4190             {
4191                 Name (_ADR, 0x00070000)  // _ADR: Address
4192                 OperationRegion (PCFG, PCI_Config, 0x00, 0xFF)
4193                 Field (PCFG, ByteAcc, NoLock, Preserve)
4194                 {
4195                     Offset (0xE4), 
4196                         ,   5, 
4197                     HOTP,   2, 
4198                     Offset (0xE8), 
4199                         ,   3, 
4200                     PDCE,   1, 
4201                     Offset (0xEA), 
4202                         ,   3, 
4203                     PCHG,   1, 
4204                         ,   2, 
4205                     PSTS,   1
4206                 }
4207 
4208                 Name (_HPP, Package (0x04)  // _HPP: Hot Plug Parameters
4209                 {
4210                     0x08, 
4211                     0x40, 
4212                     0x01, 
4213                     0x00
4214                 })
4215                 Device (S1F0)
4216                 {
4217                     Name (_ADR, 0x00)  // _ADR: Address
4218                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
4219                     {
4220                         Return (0x01)
4221                     }
4222 
4223                     Method (_STA, 0, NotSerialized)  // _STA: Status
4224                     {
4225                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4226                         {
4227                             Return (0x00)
4228                         }
4229                         Else
4230                         {
4231                             Return (0x0F)
4232                         }
4233                     }
4234                 }
4235 
4236                 Device (S1F1)
4237                 {
4238                     Name (_ADR, 0x01)  // _ADR: Address
4239                     Method (_STA, 0, NotSerialized)  // _STA: Status
4240                     {
4241                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4242                         {
4243                             Return (0x00)
4244                         }
4245                         Else
4246                         {
4247                             Return (0x0F)
4248                         }
4249                     }
4250                 }
4251 
4252                 Device (S1F2)
4253                 {
4254                     Name (_ADR, 0x02)  // _ADR: Address
4255                     Method (_STA, 0, NotSerialized)  // _STA: Status
4256                     {
4257                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4258                         {
4259                             Return (0x00)
4260                         }
4261                         Else
4262                         {
4263                             Return (0x0F)
4264                         }
4265                     }
4266                 }
4267 
4268                 Device (S1F3)
4269                 {
4270                     Name (_ADR, 0x03)  // _ADR: Address
4271                     Method (_STA, 0, NotSerialized)  // _STA: Status
4272                     {
4273                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4274                         {
4275                             Return (0x00)
4276                         }
4277                         Else
4278                         {
4279                             Return (0x0F)
4280                         }
4281                     }
4282                 }
4283 
4284                 Device (S1F4)
4285                 {
4286                     Name (_ADR, 0x04)  // _ADR: Address
4287                     Method (_STA, 0, NotSerialized)  // _STA: Status
4288                     {
4289                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4290                         {
4291                             Return (0x00)
4292                         }
4293                         Else
4294                         {
4295                             Return (0x0F)
4296                         }
4297                     }
4298                 }
4299 
4300                 Device (S1F5)
4301                 {
4302                     Name (_ADR, 0x05)  // _ADR: Address
4303                     Method (_STA, 0, NotSerialized)  // _STA: Status
4304                     {
4305                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4306                         {
4307                             Return (0x00)
4308                         }
4309                         Else
4310                         {
4311                             Return (0x0F)
4312                         }
4313                     }
4314                 }
4315 
4316                 Device (S1F6)
4317                 {
4318                     Name (_ADR, 0x06)  // _ADR: Address
4319                     Method (_STA, 0, NotSerialized)  // _STA: Status
4320                     {
4321                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4322                         {
4323                             Return (0x00)
4324                         }
4325                         Else
4326                         {
4327                             Return (0x0F)
4328                         }
4329                     }
4330                 }
4331 
4332                 Device (S1F7)
4333                 {
4334                     Name (_ADR, 0x07)  // _ADR: Address
4335                     Method (_STA, 0, NotSerialized)  // _STA: Status
4336                     {
4337                         If ((\_SB.PCI0.Z007.PSTS == 0x00))
4338                         {
4339                             Return (0x00)
4340                         }
4341                         Else
4342                         {
4343                             Return (0x0F)
4344                         }
4345                     }
4346                 }
4347             }
4348         }
4349 
4350         OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
4351         Field (SMI0, AnyAcc, NoLock, Preserve)
4352         {
4353             SMIC,   8
4354         }
4355 
4356         OperationRegion (SMI1, SystemMemory, 0x77D9CE2C, 0x00000120)
4357         Field (SMI1, AnyAcc, NoLock, Preserve)
4358         {
4359             BCMD,   8, 
4360             DID,    32, 
4361             INFO,   2008
4362         }
4363 
4364         Field (SMI1, AnyAcc, NoLock, Preserve)
4365         {
4366             DMY,    40, 
4367             INF,    8
4368         }
4369 
4370         Device (PWRB)
4371         {
4372             Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
4373         }
4374 
4375         Device (SLPB)
4376         {
4377             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
4378             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4379             {
4380                 0x03, 
4381                 0x04
4382             })
4383             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
4384             {
4385             }
4386         }
4387 
4388         Device (LID0)
4389         {
4390             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
4391             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
4392             {
4393                 Return (\_SB.PCI0.LPC.EC0.LIDS)
4394             }
4395         }
4396 
4397         OperationRegion (GNVS, SystemMemory, 0x77D9CA2C, 0x00000400)
4398         Field (GNVS, AnyAcc, NoLock, Preserve)
4399         {
4400             PWRS,   8, 
4401             PPCS,   8, 
4402             PPCM,   8, 
4403             PPCL,   8, 
4404             Offset (0x08), 
4405             SLMS,   1, 
4406             SP1S,   1, 
4407             SMP,    1, 
4408             LBLM,   1, 
4409             Offset (0x10), 
4410             OCID,   8, 
4411             OSEC,   8, 
4412             PRID,   8, 
4413             HDPW,   8, 
4414             ACTT,   8, 
4415             PSVT,   8, 
4416             TC1V,   8, 
4417             TC2V,   8, 
4418             TSPV,   8, 
4419             CRTT,   8, 
4420             DTSE,   8, 
4421             DTS1,   8, 
4422             DTS2,   8, 
4423             Offset (0x29), 
4424             MPEN,   8
4425         }
4426 
4427         Mutex (MUTX, 0x00)
4428         OperationRegion (P80G, SystemIO, 0x80, 0x01)
4429         Field (P80G, ByteAcc, NoLock, Preserve)
4430         {
4431             DBPG,   8
4432         }
4433 
4434         OperationRegion (TMIO, SystemIO, 0x40, 0x04)
4435         Field (TMIO, ByteAcc, NoLock, Preserve)
4436         {
4437             Offset (0x02), 
4438             TM2P,   8, 
4439             TMCP,   8
4440         }
4441 
4442         OperationRegion (SNIO, SystemIO, 0x61, 0x01)
4443         Field (SNIO, ByteAcc, NoLock, Preserve)
4444         {
4445             SNDP,   8
4446         }
4447 
4448         Method (BEEP, 1, NotSerialized)
4449         {
4450             Local4 = Arg0
4451             While (Local4)
4452             {
4453                 TMCP = 0xB6
4454                 Sleep (0x32)
4455                 TM2P = 0x05
4456                 Sleep (0x32)
4457                 TM2P = 0x05
4458                 Local0 = SNDP /* \_SB_.SNDP */
4459                 Local1 = Local0
4460                 Local0 |= 0x03
4461                 SNDP = Local0
4462                 Sleep (0x0190)
4463                 SNDP = Local1
4464                 Sleep (0x01F4)
4465                 Local4--
4466             }
4467         }
4468 
4469         OperationRegion (DEB0, SystemIO, 0x0378, 0x01)
4470         Field (DEB0, ByteAcc, NoLock, Preserve)
4471         {
4472             P378,   8
4473         }
4474     }
4475 
4476     Name (\DSEN, 0x01)
4477     Method (PHSR, 1, NotSerialized)
4478     {
4479         \_SB.BCMD = Arg0
4480         \_SB.SMIC = Zero
4481     }
4482 
4483     Method (_WAK, 1, NotSerialized)  // _WAK: Wake
4484     {
4485         \_SB.DBPG = 0x60
4486         \_SB.PCI0.LPC.EC0.XSEC = \_SB.OSEC
4487         \_SB.DBPG = 0x61
4488         If ((Arg0 == 0x03))
4489         {
4490             \_SB.PCI0.LPC.EC0.HDPS = \_SB.HDPW
4491         }
4492 
4493         If ((\_SB.OSEC == 0x05))
4494         {
4495             \_SB.PCI0.LPC.EC0.LIDS = 0x01
4496             Notify (\_SB.LID0, 0x80) // Status Change
4497         }
4498 
4499         \_SB.SMP = 0x00
4500         \_SB.SLMS = 0x00
4501         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4502         \_SB.DBPG = 0x62
4503         \_SB.SMP = 0x01
4504         \_SB.DBPG = 0x63
4505         Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
4506         \_SB.DBPG = 0x64
4507         Notify (\_SB.PCI0.Z007, 0x01) // Device Check
4508         Notify (\_SB.PCI0, 0x00) // Bus Check
4509         \_SB.DBPG = 0x65
4510         If ((Arg0 == 0x04))
4511         {
4512             If (((CFGD & 0x01000000) && (PDC0 & 0x10)))
4513             {
4514                 \_SB.BCMD = 0x49
4515                 \_SB.DID = 0x00
4516                 \_SB.SMIC = 0x00
4517             }
4518         }
4519 
4520         \_SB.DBPG = 0x66
4521     }
4522 
4523     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
4524     {
4525         \_SB.DBPG = 0x51
4526         \_SB.PCI0.DEFR = 0x0F
4527         \_SB.PCI0.PIPE = 0x00
4528         \_SB.DBPG = 0x52
4529         \_SB.DBPG = 0x53
4530         \_SB.DBPG = 0x54
4531         If ((Arg0 <= 0x03))
4532         {
4533             PHSR (0x81)
4534         }
4535 
4536         \_SB.DBPG = 0x55
4537         If ((Arg0 == 0x04))
4538         {
4539             PHSR (0x86)
4540         }
4541 
4542         \_SB.DBPG = 0x56
4543         If ((Arg0 == 0x05))
4544         {
4545             PHSR (0x87)
4546         }
4547 
4548         \_SB.DBPG = 0x57
4549     }
4550 
4551     Scope (\_PR.CPU0)
4552     {
4553         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
4554         {
4555             If ((\_SB.SMP == 0x01))
4556             {
4557                 If ((\_SB.SLMS == 0x01))
4558                 {
4559                     Return (\_SB.PPCM)
4560                 }
4561                 Else
4562                 {
4563                     Return (\_SB.PPCL)
4564                 }
4565             }
4566             Else
4567             {
4568                 Return (\_SB.PPCL)
4569             }
4570         }
4571 
4572         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
4573         {
4574             If ((((CFGD & 0x01) & (PDC0 & 0x01)) && 
4575                 ((PDC0 & 0x40000000) ^ 0x40000000)))
4576             {
4577                 If (!(CFGD & 0x02000000))
4578                 {
4579                     Return (Package (0x02)
4580                     {
4581                         ResourceTemplate ()
4582                         {
4583                             Register (FFixedHW, 
4584                                 0x00,               // Bit Width
4585                                 0x00,               // Bit Offset
4586                                 0x0000000000000000, // Address
4587                                 ,)
4588                         }, 
4589 
4590                         ResourceTemplate ()
4591                         {
4592                             Register (FFixedHW, 
4593                                 0x00,               // Bit Width
4594                                 0x00,               // Bit Offset
4595                                 0x0000000000000000, // Address
4596                                 ,)
4597                         }
4598                     })
4599                 }
4600             }
4601 
4602             Return (Package (0x02)
4603             {
4604                 ResourceTemplate ()
4605                 {
4606                     Register (SystemIO, 
4607                         0x10,               // Bit Width
4608                         0x00,               // Bit Offset
4609                         0x0000000000008048, // Address
4610                         ,)
4611                 }, 
4612 
4613                 ResourceTemplate ()
4614                 {
4615                     Register (SystemIO, 
4616                         0x10,               // Bit Width
4617                         0x00,               // Bit Offset
4618                         0x0000000000008049, // Address
4619                         ,)
4620                 }
4621             })
4622         }
4623 
4624         Method (_PSS, 0, NotSerialized)  // _PSS: Performance Supported States
4625         {
4626             If ((PDC0 & 0x40000000))
4627             {
4628                 Return (SPSS) /* \_PR_.CPU0.SPSS */
4629             }
4630 
4631             If ((!(CFGD & 0x02000000) && (PDC0 & 0x01)))
4632             {
4633                 Return (NPSS) /* \_PR_.CPU0.NPSS */
4634             }
4635 
4636             Return (SPSS) /* \_PR_.CPU0.SPSS */
4637         }
4638 
4639         Name (SPSS, Package (0x02)
4640         {
4641             Package (0x06)
4642             {
4643                 0x000007D0, 
4644                 0x000088B8, 
4645                 0x0000006E, 
4646                 0x0000000A, 
4647                 0x00000083, 
4648                 0x00000000
4649             }, 
4650 
4651             Package (0x06)
4652             {
4653                 0x00000320, 
4654                 0x00003EE4, 
4655                 0x0000006E, 
4656                 0x0000000A, 
4657                 0x00000183, 
4658                 0x00000001
4659             }
4660         })
4661         Name (NPSS, Package (0x02)
4662         {
4663             Package (0x06)
4664             {
4665                 0x000007D0, 
4666                 0x000088B8, 
4667                 0x0000000A, 
4668                 0x0000000A, 
4669                 0x00000F2A, 
4670                 0x00000F2A
4671             }, 
4672 
4673             Package (0x06)
4674             {
4675                 0x00000320, 
4676                 0x00003EE4, 
4677                 0x0000000A, 
4678                 0x0000000A, 
4679                 0x00000617, 
4680                 0x00000617
4681             }
4682         })
4683         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
4684         {
4685             If (((CFGD & 0x01000000) | (CFGD & 0x02000000)))
4686             {
4687                 If ((PDC0 & 0x0800))
4688                 {
4689                     Return (Package (0x01)
4690                     {
4691                         Package (0x05)
4692                         {
4693                             0x05, 
4694                             0x00, 
4695                             0x00, 
4696                             0xFE, 
4697                             0x02
4698                         }
4699                     })
4700                 }
4701 
4702                 Return (Package (0x01)
4703                 {
4704                     Package (0x05)
4705                     {
4706                         0x05, 
4707                         0x00, 
4708                         0x00, 
4709                         0xFC, 
4710                         0x02
4711                     }
4712                 })
4713             }
4714 
4715             Return (Package (0x01)
4716             {
4717                 Package (0x05)
4718                 {
4719                     0x05, 
4720                     0x00, 
4721                     0x00, 
4722                     0xFC, 
4723                     0x01
4724                 }
4725             })
4726         }
4727     }
4728 
4729     Scope (\_PR.CPU0)
4730     {
4731         Name (CSTN, Package (0x02)
4732         {
4733             0x01, 
4734             Package (0x04)
4735             {
4736                 ResourceTemplate ()
4737                 {
4738                     Register (FFixedHW, 
4739                         0x00,               // Bit Width
4740                         0x00,               // Bit Offset
4741                         0x0000000000000000, // Address
4742                         ,)
4743                 }, 
4744 
4745                 0x01, 
4746                 0x9D, 
4747                 0x03E8
4748             }
4749         })
4750         Name (CST4, Package (0x04)
4751         {
4752             0x03, 
4753             Package (0x04)
4754             {
4755                 ResourceTemplate ()
4756                 {
4757                     Register (FFixedHW, 
4758                         0x00,               // Bit Width
4759                         0x00,               // Bit Offset
4760                         0x0000000000000000, // Address
4761                         ,)
4762                 }, 
4763 
4764                 0x01, 
4765                 0x01, 
4766                 0x03E8
4767             }, 
4768 
4769             Package (0x04)
4770             {
4771                 ResourceTemplate ()
4772                 {
4773                     Register (SystemIO, 
4774                         0x08,               // Bit Width
4775                         0x00,               // Bit Offset
4776                         0x0000000000001014, // Address
4777                         ,)
4778                 }, 
4779 
4780                 0x02, 
4781                 0x01, 
4782                 0x01F4
4783             }, 
4784 
4785             Package (0x04)
4786             {
4787                 ResourceTemplate ()
4788                 {
4789                     Register (SystemIO, 
4790                         0x08,               // Bit Width
4791                         0x00,               // Bit Offset
4792                         0x0000000000001016, // Address
4793                         ,)
4794                 }, 
4795 
4796                 0x03, 
4797                 0x23, 
4798                 0x64
4799             }
4800         })
4801         Name (CST3, Package (0x04)
4802         {
4803             0x03, 
4804             Package (0x04)
4805             {
4806                 ResourceTemplate ()
4807                 {
4808                     Register (FFixedHW, 
4809                         0x00,               // Bit Width
4810                         0x00,               // Bit Offset
4811                         0x0000000000000000, // Address
4812                         ,)
4813                 }, 
4814 
4815                 0x01, 
4816                 0x01, 
4817                 0x03E8
4818             }, 
4819 
4820             Package (0x04)
4821             {
4822                 ResourceTemplate ()
4823                 {
4824                     Register (SystemIO, 
4825                         0x08,               // Bit Width
4826                         0x00,               // Bit Offset
4827                         0x0000000000008014, // Address
4828                         ,)
4829                 }, 
4830 
4831                 0x02, 
4832                 0x01, 
4833                 0x01F4
4834             }, 
4835 
4836             Package (0x04)
4837             {
4838                 ResourceTemplate ()
4839                 {
4840                     Register (SystemIO, 
4841                         0x08,               // Bit Width
4842                         0x00,               // Bit Offset
4843                         0x0000000000008015, // Address
4844                         ,)
4845                 }, 
4846 
4847                 0x03, 
4848                 0x23, 
4849                 0xFA
4850             }
4851         })
4852         Name (CST2, Package (0x03)
4853         {
4854             0x02, 
4855             Package (0x04)
4856             {
4857                 ResourceTemplate ()
4858                 {
4859                     Register (FFixedHW, 
4860                         0x00,               // Bit Width
4861                         0x00,               // Bit Offset
4862                         0x0000000000000000, // Address
4863                         ,)
4864                 }, 
4865 
4866                 0x01, 
4867                 0x01, 
4868                 0x03E8
4869             }, 
4870 
4871             Package (0x04)
4872             {
4873                 ResourceTemplate ()
4874                 {
4875                     Register (SystemIO, 
4876                         0x08,               // Bit Width
4877                         0x00,               // Bit Offset
4878                         0x0000000000008014, // Address
4879                         ,)
4880                 }, 
4881 
4882                 0x02, 
4883                 0x01, 
4884                 0x01F4
4885             }
4886         })
4887         Name (CST1, Package (0x02)
4888         {
4889             0x01, 
4890             Package (0x04)
4891             {
4892                 ResourceTemplate ()
4893                 {
4894                     Register (FFixedHW, 
4895                         0x00,               // Bit Width
4896                         0x00,               // Bit Offset
4897                         0x0000000000000000, // Address
4898                         ,)
4899                 }, 
4900 
4901                 0x01, 
4902                 0x01, 
4903                 0x03E8
4904             }
4905         })
4906         Name (C4ME, Package (0x04)
4907         {
4908             0x03, 
4909             Package (0x04)
4910             {
4911                 ResourceTemplate ()
4912                 {
4913                     Register (FFixedHW, 
4914                         0x01,               // Bit Width
4915                         0x02,               // Bit Offset
4916                         0x0000000000000000, // Address
4917                         0x01,               // Access Size
4918                         )
4919                 }, 
4920 
4921                 0x01, 
4922                 0x01, 
4923                 0x03E8
4924             }, 
4925 
4926             Package (0x04)
4927             {
4928                 ResourceTemplate ()
4929                 {
4930                     Register (FFixedHW, 
4931                         0x01,               // Bit Width
4932                         0x02,               // Bit Offset
4933                         0x0000000000000010, // Address
4934                         0x01,               // Access Size
4935                         )
4936                 }, 
4937 
4938                 0x02, 
4939                 0x01, 
4940                 0x01F4
4941             }, 
4942 
4943             Package (0x04)
4944             {
4945                 ResourceTemplate ()
4946                 {
4947                     Register (FFixedHW, 
4948                         0x01,               // Bit Width
4949                         0x02,               // Bit Offset
4950                         0x0000000000000030, // Address
4951                         0x03,               // Access Size
4952                         )
4953                 }, 
4954 
4955                 0x03, 
4956                 0x39, 
4957                 0x64
4958             }
4959         })
4960         Name (C3ME, Package (0x04)
4961         {
4962             0x03, 
4963             Package (0x04)
4964             {
4965                 ResourceTemplate ()
4966                 {
4967                     Register (FFixedHW, 
4968                         0x01,               // Bit Width
4969                         0x02,               // Bit Offset
4970                         0x0000000000000000, // Address
4971                         0x01,               // Access Size
4972                         )
4973                 }, 
4974 
4975                 0x01, 
4976                 0x01, 
4977                 0x03E8
4978             }, 
4979 
4980             Package (0x04)
4981             {
4982                 ResourceTemplate ()
4983                 {
4984                     Register (FFixedHW, 
4985                         0x01,               // Bit Width
4986                         0x02,               // Bit Offset
4987                         0x0000000000000010, // Address
4988                         0x01,               // Access Size
4989                         )
4990                 }, 
4991 
4992                 0x02, 
4993                 0x01, 
4994                 0x01F4
4995             }, 
4996 
4997             Package (0x04)
4998             {
4999                 ResourceTemplate ()
5000                 {
5001                     Register (FFixedHW, 
5002                         0x01,               // Bit Width
5003                         0x02,               // Bit Offset
5004                         0x0000000000000020, // Address
5005                         0x03,               // Access Size
5006                         )
5007                 }, 
5008 
5009                 0x03, 
5010                 0x11, 
5011                 0xFA
5012             }
5013         })
5014         Name (C2ME, Package (0x03)
5015         {
5016             0x02, 
5017             Package (0x04)
5018             {
5019                 ResourceTemplate ()
5020                 {
5021                     Register (FFixedHW, 
5022                         0x01,               // Bit Width
5023                         0x02,               // Bit Offset
5024                         0x0000000000000000, // Address
5025                         0x01,               // Access Size
5026                         )
5027                 }, 
5028 
5029                 0x01, 
5030                 0x01, 
5031                 0x03E8
5032             }, 
5033 
5034             Package (0x04)
5035             {
5036                 ResourceTemplate ()
5037                 {
5038                     Register (FFixedHW, 
5039                         0x01,               // Bit Width
5040                         0x02,               // Bit Offset
5041                         0x0000000000000010, // Address
5042                         0x01,               // Access Size
5043                         )
5044                 }, 
5045 
5046                 0x02, 
5047                 0x01, 
5048                 0x01F4
5049             }
5050         })
5051         Name (C1ME, Package (0x02)
5052         {
5053             0x01, 
5054             Package (0x04)
5055             {
5056                 ResourceTemplate ()
5057                 {
5058                     Register (FFixedHW, 
5059                         0x01,               // Bit Width
5060                         0x02,               // Bit Offset
5061                         0x0000000000000000, // Address
5062                         0x01,               // Access Size
5063                         )
5064                 }, 
5065 
5066                 0x01, 
5067                 0x01, 
5068                 0x03E8
5069             }
5070         })
5071         Name (CT4M, Package (0x04)
5072         {
5073             0x03, 
5074             Package (0x04)
5075             {
5076                 ResourceTemplate ()
5077                 {
5078                     Register (FFixedHW, 
5079                         0x01,               // Bit Width
5080                         0x02,               // Bit Offset
5081                         0x0000000000000000, // Address
5082                         0x01,               // Access Size
5083                         )
5084                 }, 
5085 
5086                 0x01, 
5087                 0x01, 
5088                 0x03E8
5089             }, 
5090 
5091             Package (0x04)
5092             {
5093                 ResourceTemplate ()
5094                 {
5095                     Register (SystemIO, 
5096                         0x08,               // Bit Width
5097                         0x00,               // Bit Offset
5098                         0x0000000000001014, // Address
5099                         ,)
5100                 }, 
5101 
5102                 0x02, 
5103                 0x01, 
5104                 0x01F4
5105             }, 
5106 
5107             Package (0x04)
5108             {
5109                 ResourceTemplate ()
5110                 {
5111                     Register (SystemIO, 
5112                         0x08,               // Bit Width
5113                         0x00,               // Bit Offset
5114                         0x0000000000001016, // Address
5115                         ,)
5116                 }, 
5117 
5118                 0x03, 
5119                 0x39, 
5120                 0x64
5121             }
5122         })
5123         Name (CT3M, Package (0x04)
5124         {
5125             0x03, 
5126             Package (0x04)
5127             {
5128                 ResourceTemplate ()
5129                 {
5130                     Register (FFixedHW, 
5131                         0x01,               // Bit Width
5132                         0x02,               // Bit Offset
5133                         0x0000000000000000, // Address
5134                         0x01,               // Access Size
5135                         )
5136                 }, 
5137 
5138                 0x01, 
5139                 0x01, 
5140                 0x03E8
5141             }, 
5142 
5143             Package (0x04)
5144             {
5145                 ResourceTemplate ()
5146                 {
5147                     Register (SystemIO, 
5148                         0x08,               // Bit Width
5149                         0x00,               // Bit Offset
5150                         0x0000000000008014, // Address
5151                         ,)
5152                 }, 
5153 
5154                 0x02, 
5155                 0x01, 
5156                 0x01F4
5157             }, 
5158 
5159             Package (0x04)
5160             {
5161                 ResourceTemplate ()
5162                 {
5163                     Register (SystemIO, 
5164                         0x08,               // Bit Width
5165                         0x00,               // Bit Offset
5166                         0x0000000000008015, // Address
5167                         ,)
5168                 }, 
5169 
5170                 0x03, 
5171                 0x11, 
5172                 0xFA
5173             }
5174         })
5175         Name (CT2M, Package (0x03)
5176         {
5177             0x02, 
5178             Package (0x04)
5179             {
5180                 ResourceTemplate ()
5181                 {
5182                     Register (FFixedHW, 
5183                         0x01,               // Bit Width
5184                         0x02,               // Bit Offset
5185                         0x0000000000000000, // Address
5186                         0x01,               // Access Size
5187                         )
5188                 }, 
5189 
5190                 0x01, 
5191                 0x01, 
5192                 0x03E8
5193             }, 
5194 
5195             Package (0x04)
5196             {
5197                 ResourceTemplate ()
5198                 {
5199                     Register (SystemIO, 
5200                         0x08,               // Bit Width
5201                         0x00,               // Bit Offset
5202                         0x0000000000008014, // Address
5203                         ,)
5204                 }, 
5205 
5206                 0x02, 
5207                 0x01, 
5208                 0x01F4
5209             }
5210         })
5211         Name (CT1M, Package (0x02)
5212         {
5213             0x01, 
5214             Package (0x04)
5215             {
5216                 ResourceTemplate ()
5217                 {
5218                     Register (FFixedHW, 
5219                         0x01,               // Bit Width
5220                         0x02,               // Bit Offset
5221                         0x0000000000000000, // Address
5222                         0x01,               // Access Size
5223                         )
5224                 }, 
5225 
5226                 0x01, 
5227                 0x01, 
5228                 0x03E8
5229             }
5230         })
5231         Method (_CST, 0, NotSerialized)  // _CST: C-States
5232         {
5233             If (((CFGD & 0x01000000) && !(PDC0 & 0x10)))
5234             {
5235                 Return (CSTN) /* \_PR_.CPU0.CSTN */
5236             }
5237 
5238             If (((CFGD & 0x00200000) && (PDC0 & 0x0200)))
5239             {
5240                 If ((CFGD & 0x80))
5241                 {
5242                     Return (C4ME) /* \_PR_.CPU0.C4ME */
5243                 }
5244 
5245                 If ((!(CFGD & 0x80) && (CFGD & 0x40)))
5246                 {
5247                     Return (C3ME) /* \_PR_.CPU0.C3ME */
5248                 }
5249 
5250                 If ((CFGD & 0x20))
5251                 {
5252                     Return (C2ME) /* \_PR_.CPU0.C2ME */
5253                 }
5254 
5255                 Return (C1ME) /* \_PR_.CPU0.C1ME */
5256             }
5257 
5258             If (((CFGD & 0x00200000) && (PDC0 & 0x0100)))
5259             {
5260                 If ((CFGD & 0x80))
5261                 {
5262                     Return (CT4M) /* \_PR_.CPU0.CT4M */
5263                 }
5264 
5265                 If ((!(CFGD & 0x80) && (CFGD & 0x40)))
5266                 {
5267                     Return (CT3M) /* \_PR_.CPU0.CT3M */
5268                 }
5269 
5270                 If ((CFGD & 0x20))
5271                 {
5272                     Return (CT2M) /* \_PR_.CPU0.CT2M */
5273                 }
5274 
5275                 Return (CT1M) /* \_PR_.CPU0.CT1M */
5276             }
5277 
5278             If ((CFGD & 0x80))
5279             {
5280                 Return (CST4) /* \_PR_.CPU0.CST4 */
5281             }
5282 
5283             If ((CFGD & 0x40))
5284             {
5285                 Return (CST3) /* \_PR_.CPU0.CST3 */
5286             }
5287 
5288             If ((CFGD & 0x20))
5289             {
5290                 Return (CST2) /* \_PR_.CPU0.CST2 */
5291             }
5292 
5293             Return (CST1) /* \_PR_.CPU0.CST1 */
5294         }
5295     }
5296 
5297     Scope (\)
5298     {
5299         Name (SSDT, Package (0x30)
5300         {
5301             "CPU0IST ", 
5302             0x77D96AE3, 
5303             0x00000247, 
5304             "CPU1IST ", 
5305             0x00000000, 
5306             0xF000FF53, 
5307             "CPU0CST ", 
5308             0x77D965CB, 
5309             0x00000518, 
5310             "CPU1CST ", 
5311             0x00000000, 
5312             0xF000FF53, 
5313             "CPU2IST ", 
5314             0x00000000, 
5315             0xF000FF53, 
5316             "CPU3IST ", 
5317             0x00000000, 
5318             0xF000FF53, 
5319             "CPU2CST ", 
5320             0x00000000, 
5321             0xF000FF53, 
5322             "CPU3CST ", 
5323             0x00000000, 
5324             0xF000FF53, 
5325             "CPU4IST ", 
5326             0x00000000, 
5327             0xF000FF53, 
5328             "CPU5IST ", 
5329             0x00000000, 
5330             0xF000FF53, 
5331             "CPU4CST ", 
5332             0x00000000, 
5333             0xF000FF53, 
5334             "CPU5CST ", 
5335             0x00000000, 
5336             0xF000FF53, 
5337             "CPU6IST ", 
5338             0x00000000, 
5339             0xF000FF53, 
5340             "CPU7IST ", 
5341             0x00000000, 
5342             0xF000FF53, 
5343             "CPU6CST ", 
5344             0x00000000, 
5345             0xF000FF53, 
5346             "CPU7CST ", 
5347             0x00000000, 
5348             0xF000FF53
5349         })
5350         Name (CFGD, 0x502B0071)
5351         Name (\PDC0, 0x80000000)
5352         Name (\PDC1, 0x80000000)
5353         Name (\PDC2, 0x80000000)
5354         Name (\PDC3, 0x80000000)
5355         Name (\PDC4, 0x80000000)
5356         Name (\PDC5, 0x80000000)
5357         Name (\PDC6, 0x80000000)
5358         Name (\PDC7, 0x80000000)
5359         Name (\SDTL, 0x00)
5360     }
5361 
5362     Scope (\_PR.CPU0)
5363     {
5364         Name (HI0, 0x00)
5365         Name (HC0, 0x00)
5366         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5367         {
5368             CreateDWordField (Arg0, 0x00, REVS)
5369             CreateDWordField (Arg0, 0x04, SIZE)
5370             Local0 = SizeOf (Arg0)
5371             Local1 = (Local0 - 0x08)
5372             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5373             Name (STS0, Buffer (0x04)
5374             {
5375                  0x00, 0x00, 0x00, 0x00                           /* .... */
5376             })
5377             Concatenate (STS0, TEMP, Local2)
5378             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5379         }
5380 
5381         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5382         {
5383             CreateDWordField (Arg3, 0x00, STS0)
5384             CreateDWordField (Arg3, 0x04, CAP0)
5385             CreateDWordField (Arg0, 0x00, IID0)
5386             CreateDWordField (Arg0, 0x04, IID1)
5387             CreateDWordField (Arg0, 0x08, IID2)
5388             CreateDWordField (Arg0, 0x0C, IID3)
5389             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5390             CreateDWordField (UID0, 0x00, EID0)
5391             CreateDWordField (UID0, 0x04, EID1)
5392             CreateDWordField (UID0, 0x08, EID2)
5393             CreateDWordField (UID0, 0x0C, EID3)
5394             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5395                 IID2 == EID2) && (IID3 == EID3))))
5396             {
5397                 STS0 = 0x06
5398                 Return (Arg3)
5399             }
5400 
5401             If ((Arg1 != 0x01))
5402             {
5403                 STS0 = 0x0A
5404                 Return (Arg3)
5405             }
5406 
5407             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0._OSC.CAP0 */
5408             If ((CFGD & 0x01))
5409             {
5410                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5411                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5412                     ((PDC0 & 0x09) == 0x09)) && !(SDTL & 0x01)))
5413                 {
5414                     SDTL |= 0x01
5415                     OperationRegion (IST0, SystemMemory, DerefOf (SSDT [0x01]), DerefOf (SSDT [0x02]))
5416                     Load (IST0, HI0) /* \_PR_.CPU0.HI0_ */
5417                 }
5418             }
5419 
5420             If ((CFGD & 0x70))
5421             {
5422                 If (((CFGD && 0x40) || (CFGD && 0x80)))
5423                 {
5424                     \_SB.BCMD = 0x49
5425                     \_SB.DID = 0x02
5426                     \_SB.SMIC = 0x02
5427                 }
5428 
5429                 If (((CFGD & 0x01000000) && (PDC0 & 0x10)))
5430                 {
5431                     \_SB.BCMD = 0x49
5432                     \_SB.DID = 0x00
5433                     \_SB.SMIC = 0x00
5434                 }
5435 
5436                 If ((((CFGD & 0x01000000) && (PDC0 & 0x18)) && !
5437                     (SDTL & 0x02)))
5438                 {
5439                     SDTL |= 0x02
5440                     OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
5441                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
5442                 }
5443             }
5444 
5445             Return (Arg3)
5446         }
5447     }
5448 
5449     Scope (\_PR.CPU1)
5450     {
5451         Name (HI1, 0x00)
5452         Name (HC1, 0x00)
5453         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5454         {
5455             CreateDWordField (Arg0, 0x00, REVS)
5456             CreateDWordField (Arg0, 0x04, SIZE)
5457             Local0 = SizeOf (Arg0)
5458             Local1 = (Local0 - 0x08)
5459             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5460             Name (STS1, Buffer (0x04)
5461             {
5462                  0x00, 0x00, 0x00, 0x00                           /* .... */
5463             })
5464             Concatenate (STS1, TEMP, Local2)
5465             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5466         }
5467 
5468         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5469         {
5470             CreateDWordField (Arg3, 0x00, STS1)
5471             CreateDWordField (Arg3, 0x04, CAP1)
5472             CreateDWordField (Arg0, 0x00, IID0)
5473             CreateDWordField (Arg0, 0x04, IID1)
5474             CreateDWordField (Arg0, 0x08, IID2)
5475             CreateDWordField (Arg0, 0x0C, IID3)
5476             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5477             CreateDWordField (UID1, 0x00, EID0)
5478             CreateDWordField (UID1, 0x04, EID1)
5479             CreateDWordField (UID1, 0x08, EID2)
5480             CreateDWordField (UID1, 0x0C, EID3)
5481             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5482                 IID2 == EID2) && (IID3 == EID3))))
5483             {
5484                 STS1 = 0x06
5485                 Return (Arg3)
5486             }
5487 
5488             If ((Arg1 != 0x01))
5489             {
5490                 STS1 = 0x0A
5491                 Return (Arg3)
5492             }
5493 
5494             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1._OSC.CAP1 */
5495             If ((CFGD & 0x01))
5496             {
5497                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5498                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5499                     ((PDC1 & 0x09) == 0x09)) && !(SDTL & 0x10)))
5500                 {
5501                     SDTL |= 0x10
5502                     OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
5503                     Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
5504                 }
5505             }
5506 
5507             If ((CFGD & 0xF0))
5508             {
5509                 If ((((CFGD & 0x01000000) && (PDC1 & 0x18)) && !
5510                     (SDTL & 0x20)))
5511                 {
5512                     SDTL |= 0x20
5513                     OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
5514                     Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
5515                 }
5516             }
5517 
5518             Return (Arg3)
5519         }
5520     }
5521 
5522     Scope (\_PR.CPU2)
5523     {
5524         Name (HI2, 0x00)
5525         Name (HC2, 0x00)
5526         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5527         {
5528             CreateDWordField (Arg0, 0x00, REVS)
5529             CreateDWordField (Arg0, 0x04, SIZE)
5530             Local0 = SizeOf (Arg0)
5531             Local1 = (Local0 - 0x08)
5532             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5533             Name (STS2, Buffer (0x04)
5534             {
5535                  0x00, 0x00, 0x00, 0x00                           /* .... */
5536             })
5537             Concatenate (STS2, TEMP, Local2)
5538             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5539         }
5540 
5541         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5542         {
5543             CreateDWordField (Arg3, 0x00, STS2)
5544             CreateDWordField (Arg3, 0x04, CAP2)
5545             CreateDWordField (Arg0, 0x00, IID0)
5546             CreateDWordField (Arg0, 0x04, IID1)
5547             CreateDWordField (Arg0, 0x08, IID2)
5548             CreateDWordField (Arg0, 0x0C, IID3)
5549             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5550             CreateDWordField (UID1, 0x00, EID0)
5551             CreateDWordField (UID1, 0x04, EID1)
5552             CreateDWordField (UID1, 0x08, EID2)
5553             CreateDWordField (UID1, 0x0C, EID3)
5554             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5555                 IID2 == EID2) && (IID3 == EID3))))
5556             {
5557                 STS2 = 0x06
5558                 Return (Arg3)
5559             }
5560 
5561             If ((Arg1 != 0x01))
5562             {
5563                 STS2 = 0x0A
5564                 Return (Arg3)
5565             }
5566 
5567             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2._OSC.CAP2 */
5568             If ((CFGD & 0x01))
5569             {
5570                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5571                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5572                     ((PDC2 & 0x09) == 0x09)) && !(SDTL & 0x04)))
5573                 {
5574                     SDTL |= 0x04
5575                     OperationRegion (IST2, SystemMemory, DerefOf (SSDT [0x0D]), DerefOf (SSDT [0x0E]))
5576                     Load (IST2, HI2) /* \_PR_.CPU2.HI2_ */
5577                 }
5578             }
5579 
5580             If ((CFGD & 0xF0))
5581             {
5582                 If ((((CFGD & 0x01000000) && (PDC2 & 0x18)) && !
5583                     (SDTL & 0x08)))
5584                 {
5585                     SDTL |= 0x08
5586                     OperationRegion (CST2, SystemMemory, DerefOf (SSDT [0x13]), DerefOf (SSDT [0x14]))
5587                     Load (CST2, HC2) /* \_PR_.CPU2.HC2_ */
5588                 }
5589             }
5590 
5591             Return (Arg3)
5592         }
5593     }
5594 
5595     Scope (\_PR.CPU3)
5596     {
5597         Name (HI3, 0x00)
5598         Name (HC3, 0x00)
5599         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5600         {
5601             CreateDWordField (Arg0, 0x00, REVS)
5602             CreateDWordField (Arg0, 0x04, SIZE)
5603             Local0 = SizeOf (Arg0)
5604             Local1 = (Local0 - 0x08)
5605             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5606             Name (STS3, Buffer (0x04)
5607             {
5608                  0x00, 0x00, 0x00, 0x00                           /* .... */
5609             })
5610             Concatenate (STS3, TEMP, Local2)
5611             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5612         }
5613 
5614         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5615         {
5616             CreateDWordField (Arg3, 0x00, STS3)
5617             CreateDWordField (Arg3, 0x04, CAP3)
5618             CreateDWordField (Arg0, 0x00, IID0)
5619             CreateDWordField (Arg0, 0x04, IID1)
5620             CreateDWordField (Arg0, 0x08, IID2)
5621             CreateDWordField (Arg0, 0x0C, IID3)
5622             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5623             CreateDWordField (UID1, 0x00, EID0)
5624             CreateDWordField (UID1, 0x04, EID1)
5625             CreateDWordField (UID1, 0x08, EID2)
5626             CreateDWordField (UID1, 0x0C, EID3)
5627             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5628                 IID2 == EID2) && (IID3 == EID3))))
5629             {
5630                 STS3 = 0x06
5631                 Return (Arg3)
5632             }
5633 
5634             If ((Arg1 != 0x01))
5635             {
5636                 STS3 = 0x0A
5637                 Return (Arg3)
5638             }
5639 
5640             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3._OSC.CAP3 */
5641             If ((CFGD & 0x01))
5642             {
5643                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5644                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5645                     ((PDC3 & 0x09) == 0x09)) && !(SDTL & 0x40)))
5646                 {
5647                     SDTL |= 0x40
5648                     OperationRegion (IST3, SystemMemory, DerefOf (SSDT [0x10]), DerefOf (SSDT [0x11]))
5649                     Load (IST3, HI3) /* \_PR_.CPU3.HI3_ */
5650                 }
5651             }
5652 
5653             If ((CFGD & 0xF0))
5654             {
5655                 If ((((CFGD & 0x01000000) && (PDC3 & 0x18)) && !
5656                     (SDTL & 0x80)))
5657                 {
5658                     SDTL |= 0x80
5659                     OperationRegion (CST3, SystemMemory, DerefOf (SSDT [0x16]), DerefOf (SSDT [0x17]))
5660                     Load (CST3, HC3) /* \_PR_.CPU3.HC3_ */
5661                 }
5662             }
5663 
5664             Return (Arg3)
5665         }
5666     }
5667 
5668     Scope (\_PR.CPU4)
5669     {
5670         Name (HI4, 0x00)
5671         Name (HC4, 0x00)
5672         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5673         {
5674             CreateDWordField (Arg0, 0x00, REVS)
5675             CreateDWordField (Arg0, 0x04, SIZE)
5676             Local0 = SizeOf (Arg0)
5677             Local1 = (Local0 - 0x08)
5678             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5679             Name (STS4, Buffer (0x04)
5680             {
5681                  0x00, 0x00, 0x00, 0x00                           /* .... */
5682             })
5683             Concatenate (STS4, TEMP, Local2)
5684             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5685         }
5686 
5687         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5688         {
5689             CreateDWordField (Arg3, 0x00, STS4)
5690             CreateDWordField (Arg3, 0x04, CAP4)
5691             CreateDWordField (Arg0, 0x00, IID0)
5692             CreateDWordField (Arg0, 0x04, IID1)
5693             CreateDWordField (Arg0, 0x08, IID2)
5694             CreateDWordField (Arg0, 0x0C, IID3)
5695             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5696             CreateDWordField (UID1, 0x00, EID0)
5697             CreateDWordField (UID1, 0x04, EID1)
5698             CreateDWordField (UID1, 0x08, EID2)
5699             CreateDWordField (UID1, 0x0C, EID3)
5700             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5701                 IID2 == EID2) && (IID3 == EID3))))
5702             {
5703                 STS4 = 0x06
5704                 Return (Arg3)
5705             }
5706 
5707             If ((Arg1 != 0x01))
5708             {
5709                 STS4 = 0x0A
5710                 Return (Arg3)
5711             }
5712 
5713             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4._OSC.CAP4 */
5714             If ((CFGD & 0x01))
5715             {
5716                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5717                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5718                     ((PDC4 & 0x09) == 0x09)) && !(SDTL & 0x0100)))
5719                 {
5720                     SDTL |= 0x0100
5721                     OperationRegion (IST4, SystemMemory, DerefOf (SSDT [0x19]), DerefOf (SSDT [0x1A]))
5722                     Load (IST4, HI4) /* \_PR_.CPU4.HI4_ */
5723                 }
5724             }
5725 
5726             If ((CFGD & 0xF0))
5727             {
5728                 If ((((CFGD & 0x01000000) && (PDC4 & 0x18)) && !
5729                     (SDTL & 0x0200)))
5730                 {
5731                     SDTL |= 0x0200
5732                     OperationRegion (CST4, SystemMemory, DerefOf (SSDT [0x1F]), DerefOf (SSDT [0x20]))
5733                     Load (CST4, HC4) /* \_PR_.CPU4.HC4_ */
5734                 }
5735             }
5736 
5737             Return (Arg3)
5738         }
5739     }
5740 
5741     Scope (\_PR.CPU5)
5742     {
5743         Name (HI5, 0x00)
5744         Name (HC5, 0x00)
5745         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5746         {
5747             CreateDWordField (Arg0, 0x00, REVS)
5748             CreateDWordField (Arg0, 0x04, SIZE)
5749             Local0 = SizeOf (Arg0)
5750             Local1 = (Local0 - 0x08)
5751             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5752             Name (STS5, Buffer (0x04)
5753             {
5754                  0x00, 0x00, 0x00, 0x00                           /* .... */
5755             })
5756             Concatenate (STS5, TEMP, Local2)
5757             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5758         }
5759 
5760         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5761         {
5762             CreateDWordField (Arg3, 0x00, STS5)
5763             CreateDWordField (Arg3, 0x04, CAP5)
5764             CreateDWordField (Arg0, 0x00, IID0)
5765             CreateDWordField (Arg0, 0x04, IID1)
5766             CreateDWordField (Arg0, 0x08, IID2)
5767             CreateDWordField (Arg0, 0x0C, IID3)
5768             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5769             CreateDWordField (UID1, 0x00, EID0)
5770             CreateDWordField (UID1, 0x04, EID1)
5771             CreateDWordField (UID1, 0x08, EID2)
5772             CreateDWordField (UID1, 0x0C, EID3)
5773             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5774                 IID2 == EID2) && (IID3 == EID3))))
5775             {
5776                 STS5 = 0x06
5777                 Return (Arg3)
5778             }
5779 
5780             If ((Arg1 != 0x01))
5781             {
5782                 STS5 = 0x0A
5783                 Return (Arg3)
5784             }
5785 
5786             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5._OSC.CAP5 */
5787             If ((CFGD & 0x01))
5788             {
5789                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5790                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5791                     ((PDC5 & 0x09) == 0x09)) && !(SDTL & 0x0400)))
5792                 {
5793                     SDTL |= 0x0400
5794                     OperationRegion (IST5, SystemMemory, DerefOf (SSDT [0x1C]), DerefOf (SSDT [0x1D]))
5795                     Load (IST5, HI5) /* \_PR_.CPU5.HI5_ */
5796                 }
5797             }
5798 
5799             If ((CFGD & 0xF0))
5800             {
5801                 If ((((CFGD & 0x01000000) && (PDC5 & 0x18)) && !
5802                     (SDTL & 0x0800)))
5803                 {
5804                     SDTL |= 0x0800
5805                     OperationRegion (CST5, SystemMemory, DerefOf (SSDT [0x22]), DerefOf (SSDT [0x23]))
5806                     Load (CST5, HC5) /* \_PR_.CPU5.HC5_ */
5807                 }
5808             }
5809 
5810             Return (Arg3)
5811         }
5812     }
5813 
5814     Scope (\_PR.CPU6)
5815     {
5816         Name (HI6, 0x00)
5817         Name (HC6, 0x00)
5818         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5819         {
5820             CreateDWordField (Arg0, 0x00, REVS)
5821             CreateDWordField (Arg0, 0x04, SIZE)
5822             Local0 = SizeOf (Arg0)
5823             Local1 = (Local0 - 0x08)
5824             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5825             Name (STS6, Buffer (0x04)
5826             {
5827                  0x00, 0x00, 0x00, 0x00                           /* .... */
5828             })
5829             Concatenate (STS6, TEMP, Local2)
5830             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5831         }
5832 
5833         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5834         {
5835             CreateDWordField (Arg3, 0x00, STS6)
5836             CreateDWordField (Arg3, 0x04, CAP6)
5837             CreateDWordField (Arg0, 0x00, IID0)
5838             CreateDWordField (Arg0, 0x04, IID1)
5839             CreateDWordField (Arg0, 0x08, IID2)
5840             CreateDWordField (Arg0, 0x0C, IID3)
5841             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5842             CreateDWordField (UID1, 0x00, EID0)
5843             CreateDWordField (UID1, 0x04, EID1)
5844             CreateDWordField (UID1, 0x08, EID2)
5845             CreateDWordField (UID1, 0x0C, EID3)
5846             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5847                 IID2 == EID2) && (IID3 == EID3))))
5848             {
5849                 STS6 = 0x06
5850                 Return (Arg3)
5851             }
5852 
5853             If ((Arg1 != 0x01))
5854             {
5855                 STS6 = 0x0A
5856                 Return (Arg3)
5857             }
5858 
5859             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6._OSC.CAP6 */
5860             If ((CFGD & 0x01))
5861             {
5862                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5863                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5864                     ((PDC6 & 0x09) == 0x09)) && !(SDTL & 0x1000)))
5865                 {
5866                     SDTL |= 0x1000
5867                     OperationRegion (IST6, SystemMemory, DerefOf (SSDT [0x25]), DerefOf (SSDT [0x26]))
5868                     Load (IST6, HI6) /* \_PR_.CPU6.HI6_ */
5869                 }
5870             }
5871 
5872             If ((CFGD & 0xF0))
5873             {
5874                 If ((((CFGD & 0x01000000) && (PDC6 & 0x18)) && !
5875                     (SDTL & 0x2000)))
5876                 {
5877                     SDTL |= 0x2000
5878                     OperationRegion (CST6, SystemMemory, DerefOf (SSDT [0x2B]), DerefOf (SSDT [0x2C]))
5879                     Load (CST6, HC6) /* \_PR_.CPU6.HC6_ */
5880                 }
5881             }
5882 
5883             Return (Arg3)
5884         }
5885     }
5886 
5887     Scope (\_PR.CPU7)
5888     {
5889         Name (HI7, 0x00)
5890         Name (HC7, 0x00)
5891         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
5892         {
5893             CreateDWordField (Arg0, 0x00, REVS)
5894             CreateDWordField (Arg0, 0x04, SIZE)
5895             Local0 = SizeOf (Arg0)
5896             Local1 = (Local0 - 0x08)
5897             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5898             Name (STS7, Buffer (0x04)
5899             {
5900                  0x00, 0x00, 0x00, 0x00                           /* .... */
5901             })
5902             Concatenate (STS7, TEMP, Local2)
5903             _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5904         }
5905 
5906         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
5907         {
5908             CreateDWordField (Arg3, 0x00, STS7)
5909             CreateDWordField (Arg3, 0x04, CAP7)
5910             CreateDWordField (Arg0, 0x00, IID0)
5911             CreateDWordField (Arg0, 0x04, IID1)
5912             CreateDWordField (Arg0, 0x08, IID2)
5913             CreateDWordField (Arg0, 0x0C, IID3)
5914             Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5915             CreateDWordField (UID1, 0x00, EID0)
5916             CreateDWordField (UID1, 0x04, EID1)
5917             CreateDWordField (UID1, 0x08, EID2)
5918             CreateDWordField (UID1, 0x0C, EID3)
5919             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5920                 IID2 == EID2) && (IID3 == EID3))))
5921             {
5922                 STS7 = 0x06
5923                 Return (Arg3)
5924             }
5925 
5926             If ((Arg1 != 0x01))
5927             {
5928                 STS7 = 0x0A
5929                 Return (Arg3)
5930             }
5931 
5932             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7._OSC.CAP7 */
5933             If ((CFGD & 0x01))
5934             {
5935                 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5936                     )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) && 
5937                     ((PDC7 & 0x09) == 0x09)) && !(SDTL & 0x4000)))
5938                 {
5939                     SDTL |= 0x4000
5940                     OperationRegion (IST7, SystemMemory, DerefOf (SSDT [0x28]), DerefOf (SSDT [0x29]))
5941                     Load (IST7, HI7) /* \_PR_.CPU7.HI7_ */
5942                 }
5943             }
5944 
5945             If ((CFGD & 0xF0))
5946             {
5947                 If ((((CFGD & 0x01000000) && (PDC7 & 0x18)) && !
5948                     (SDTL & 0x8000)))
5949                 {
5950                     SDTL |= 0x8000
5951                     OperationRegion (CST7, SystemMemory, DerefOf (SSDT [0x2E]), DerefOf (SSDT [0x2F]))
5952                     Load (CST7, HC7) /* \_PR_.CPU7.HC7_ */
5953                 }
5954             }
5955 
5956             Return (Arg3)
5957         }
5958     }
5959 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2017-11-29T11:57:58+0000, 200.4 KB) [[attachment:acpidump.out.txt]]
  • [get | view] (2017-11-29T11:59:12+0000, 5.0 KB) [[attachment:devinfo.out.txt]]
  • [get | view] (2017-11-29T11:55:18+0000, 10.2 KB) [[attachment:dmesg.out.txt]]
  • [get | view] (2017-11-29T12:00:36+0000, 2.4 KB) [[attachment:pciconf.out.txt]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.