Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=Sony, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000daffee18, length=36, cksum=253
   4  */
   5 /*
   6   XSDT: Length=116, Revision=1, Checksum=190,
   7 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
   8 	Creator ID=MSFT, Creator Revision=0x10013
   9 	Entries={ 0x00000000daf9ad98, 0x00000000daffdf18, 0x00000000dafe6d18, 0x00000000daf9b018, 0x00000000daf9cc18, 0x00000000dafe6c98, 0x00000000daf90018, 0x00000000daf8f018, 0x00000000dafe5b18, 0x00000000daf9ac18 }
  10  */
  11 /*
  12   FACP: Length=244, Revision=4, Checksum=255,
  13 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
  14 	Creator ID=MSFT, Creator Revision=0x10013
  15  	FACS=0xdafe5e40, DSDT=0xdaf82018
  16 	INT_MODEL=APIC
  17 	Preferred_PM_Profile=Mobile (2)
  18 	SCI_INT=9
  19 	SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0x80
  21 	PM1a_EVT_BLK=0x400-0x403
  22 	PM1a_CNT_BLK=0x404-0x405
  23 	PM2_CNT_BLK=0x450-0x450
  24 	PM_TMR_BLK=0x408-0x40b
  25 	GPE0_BLK=0x420-0x42f
  26 	CST_CNT=0x85
  27 	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
  28 	FLUSH_SIZE=1024, FLUSH_STRIDE=16
  29 	DUTY_OFFSET=1, DUTY_WIDTH=3
  30 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  31 	IAPC_BOOT_ARCH={8042,NO_ASPM}
  32 	Flags={WBINVD,C1_SUPPORTED,POWER_BUTTON,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
  33 	RESET_REG=0x64:0[8] (IO), RESET_VALUE=0xfe
  34  */
  35 /*
  36   FACS:	Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=0
  40  */
  41 /*
  42   DSDT: Length=33816, Revision=1, Checksum=58,
  43 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
  44 	Creator ID=INTL, Creator Revision=0x20091112
  45  */
  46 /*
  47   APIC: Length=204, Revision=2, Checksum=60,
  48 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
  49 	Creator ID=MSFT, Creator Revision=0x10013
  50 	Local APIC ADDR=0xfee00000
  51 	Flags={PC-AT}
  52 
  53 	Type=Local APIC
  54 	ACPI CPU=1
  55 	Flags={ENABLED}
  56 	APIC ID=0
  57 
  58 	Type=Local APIC
  59 	ACPI CPU=2
  60 	Flags={ENABLED}
  61 	APIC ID=2
  62 
  63 	Type=Local APIC
  64 	ACPI CPU=3
  65 	Flags={ENABLED}
  66 	APIC ID=1
  67 
  68 	Type=Local APIC
  69 	ACPI CPU=4
  70 	Flags={ENABLED}
  71 	APIC ID=3
  72 
  73 	Type=Local APIC
  74 	ACPI CPU=5
  75 	Flags={DISABLED}
  76 	APIC ID=4
  77 
  78 	Type=Local APIC
  79 	ACPI CPU=6
  80 	Flags={DISABLED}
  81 	APIC ID=5
  82 
  83 	Type=Local APIC
  84 	ACPI CPU=7
  85 	Flags={DISABLED}
  86 	APIC ID=6
  87 
  88 	Type=Local APIC
  89 	ACPI CPU=8
  90 	Flags={DISABLED}
  91 	APIC ID=7
  92 
  93 	Type=Local APIC
  94 	ACPI CPU=9
  95 	Flags={DISABLED}
  96 	APIC ID=8
  97 
  98 	Type=Local APIC
  99 	ACPI CPU=10
 100 	Flags={DISABLED}
 101 	APIC ID=9
 102 
 103 	Type=Local APIC
 104 	ACPI CPU=11
 105 	Flags={DISABLED}
 106 	APIC ID=10
 107 
 108 	Type=Local APIC
 109 	ACPI CPU=12
 110 	Flags={DISABLED}
 111 	APIC ID=11
 112 
 113 	Type=Local APIC
 114 	ACPI CPU=13
 115 	Flags={DISABLED}
 116 	APIC ID=12
 117 
 118 	Type=Local APIC
 119 	ACPI CPU=14
 120 	Flags={DISABLED}
 121 	APIC ID=13
 122 
 123 	Type=Local APIC
 124 	ACPI CPU=15
 125 	Flags={DISABLED}
 126 	APIC ID=14
 127 
 128 	Type=Local APIC
 129 	ACPI CPU=16
 130 	Flags={DISABLED}
 131 	APIC ID=15
 132 
 133 	Type=IO APIC
 134 	APIC ID=2
 135 	INT BASE=0
 136 	ADDR=0x00000000fec00000
 137 
 138 	Type=INT Override
 139 	BUS=0
 140 	IRQ=0
 141 	INTR=2
 142 	Flags={Polarity=conforming, Trigger=conforming}
 143 
 144 	Type=INT Override
 145 	BUS=0
 146 	IRQ=9
 147 	INTR=9
 148 	Flags={Polarity=active-hi, Trigger=level}
 149  */
 150 /*
 151   HPET: Length=56, Revision=1, Checksum=150,
 152 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 153 	Creator ID=MSFT, Creator Revision=0x3
 154 	HPET Number=0
 155 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
 156 	Comparators=7
 157 	Counter Size=1
 158 	Legacy IRQ routing capable={TRUE}
 159 	PCI Vendor ID=0x8086
 160 	Minimal Tick=14318
 161 	Flags=0x00
 162  */
 163 /*
 164   SSDT: Length=2612, Revision=1, Checksum=200,
 165 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 166 	Creator ID=INTL, Creator Revision=0x20091112
 167  */
 168 /*
 169   SLIC: Length=374, Revision=1, Checksum=91,
 170 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 171 	Creator ID=Sony, Creator Revision=0x1000000
 172  */
 173 /*
 174   MCFG: Length=60, Revision=1, Checksum=124,
 175 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 176 	Creator ID=MSFT, Creator Revision=0x97
 177 
 178 	Base Address=0x00000000f8000000
 179 	Segment Group=0x0000
 180 	Start Bus=0
 181 	End Bus=63
 182  */
 183 /*
 184   SSDT: Length=2035, Revision=1, Checksum=160,
 185 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 186 	Creator ID=INTL, Creator Revision=0x20091112
 187  */
 188 /*
 189   SSDT: Length=2634, Revision=1, Checksum=227,
 190 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 191 	Creator ID=INTL, Creator Revision=0x20091112
 192  */
 193 /*
 194   ECDT: Length=193, Revision=1, Checksum=63,
 195 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 196 	Creator ID=MSFT, Creator Revision=0x3
 197 	EC_CONTROL=0x66:0[8] (IO)
 198 	EC_DATA=0x62:0[8] (IO)
 199 	UID=0, GPE_BIT=0x17
 200 	EC_ID=\_SB.PCI0.LPCB.EC
 201  */
 202 /*
 203   SSDT: Length=311, Revision=1, Checksum=157,
 204 	OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
 205 	Creator ID=INTL, Creator Revision=0x20091112
 206  */
 207 /*
 208  * Intel ACPI Component Architecture
 209  * AML/ASL+ Disassembler version 20150515-64
 210  * Copyright (c) 2000 - 2015 Intel Corporation
 211  * 
 212  * Disassembling to symbolic ASL+ operators
 213  *
 214  * Disassembly of /tmp/acpidump.JQZ7M4, Thu Jun 18 09:24:14 2015
 215  *
 216  * Original Table Header:
 217  *     Signature        "DSDT"
 218  *     Length           0x0000A130 (41264)
 219  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 220  *     Checksum         0x41
 221  *     OEM ID           "Sony"
 222  *     OEM Table ID     "VAIO"
 223  *     OEM Revision     0x20110415 (537986069)
 224  *     Compiler ID      "INTL"
 225  *     Compiler Version 0x20091112 (537465106)
 226  */
 227 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Sony", "VAIO", 0x20110415)
 228 {
 229     /*
 230      * iASL Warning: There were 3 external control methods found during
 231      * disassembly, but additional ACPI tables to resolve these externals
 232      * were not specified. This resulting disassembler output file may not
 233      * compile because the disassembler did not know how many arguments
 234      * to assign to these methods. To specify the tables needed to resolve
 235      * external control method references, the -e option can be used to
 236      * specify the filenames. Note: SSDTs can be dynamically loaded at
 237      * runtime and may or may not be available via the host OS.
 238      * Example iASL invocations:
 239      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 240      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 241      *     iasl -e ssdt*.aml -d dsdt.aml
 242      *
 243      * In addition, the -fe option can be used to specify a file containing
 244      * control method external declarations with the associated method
 245      * argument counts. Each line of the file must be of the form:
 246      *     External (<method pathname>, MethodObj, <argument count>)
 247      * Invocation:
 248      *     iasl -fe refs.txt -d dsdt.aml
 249      *
 250      * The following methods were unresolved and many not compile properly
 251      * because the disassembler had to guess at the number of arguments
 252      * required for each:
 253      */
 254     External (HDOS, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 255     External (HNOT, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 256     External (IDAB, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 257 
 258     External (HWID, IntObj)
 259     External (NPSS, IntObj)
 260 
 261     Name (SS1, 0x01)
 262     Name (SS2, 0x00)
 263     Name (SS3, 0x01)
 264     Name (SS4, 0x01)
 265     Name (IOST, 0x4400)
 266     Name (TOPM, 0xDF9FFFFF)
 267     Name (ROMS, 0xFFE00000)
 268     Name (MG1B, 0x00000000)
 269     Name (MG1L, 0x00000000)
 270     Name (MG2B, 0xDFA00000)
 271     Name (MG2L, 0x1CA10000)
 272     Name (MCHB, 0xFED10000)
 273     Name (MCHL, 0x4000)
 274     Name (EGPB, 0xFED19000)
 275     Name (EGPL, 0x1000)
 276     Name (DMIB, 0xFED18000)
 277     Name (DMIL, 0x1000)
 278     Name (IFPB, 0xFED14000)
 279     Name (IFPL, 0x1000)
 280     Name (PEBS, 0xF8000000)
 281     Name (PELN, 0x04000000)
 282     Name (TTTB, 0xFED20000)
 283     Name (TTTL, 0x00020000)
 284     Name (SMBS, 0xEFA0)
 285     Name (SMBL, 0x10)
 286     Name (PBLK, 0x0410)
 287     Name (PMBS, 0x0400)
 288     Name (PMLN, 0x80)
 289     Name (LVL2, 0x0414)
 290     Name (LVL3, 0x0415)
 291     Name (LVL4, 0x0416)
 292     Name (SMIP, 0xB2)
 293     Name (GPBS, 0x0500)
 294     Name (GPLN, 0x80)
 295     Name (APCB, 0xFEC00000)
 296     Name (APCL, 0x1000)
 297     Name (PM30, 0x0430)
 298     Name (SRCB, 0xFED1C000)
 299     Name (SRCL, 0x4000)
 300     Name (SUSW, 0xFF)
 301     Name (HPTB, 0xFED00000)
 302     Name (HPTC, 0xFED1F404)
 303     Name (ACPH, 0xDE)
 304     Name (ASSB, 0x00)
 305     Name (AOTB, 0x00)
 306     Name (AAXB, 0x00)
 307     Name (PEHP, 0x00)
 308     Name (SHPC, 0x01)
 309     Name (PEPM, 0x00)
 310     Name (PEER, 0x00)
 311     Name (PECS, 0x00)
 312     Name (ITKE, 0x00)
 313     Name (FMBL, 0x01)
 314     Name (FDTP, 0x02)
 315     Name (FUPS, 0x03)
 316     Name (BSH, 0x00)
 317     Name (BEL, 0x01)
 318     Name (BEH, 0x02)
 319     Name (BRH, 0x03)
 320     Name (BTF, 0x04)
 321     Name (BHC, 0x05)
 322     Name (BYB, 0x06)
 323     Name (BPH, 0x07)
 324     Name (BSHS, 0x08)
 325     Name (BELS, 0x09)
 326     Name (BRHS, 0x0A)
 327     Name (BTFS, 0x0B)
 328     Name (BEHS, 0x0C)
 329     Name (BPHS, 0x0D)
 330     Name (BTL, 0x10)
 331     Name (BSR, 0x14)
 332     Name (BSC, 0x1B)
 333     Name (BCC, 0x1C)
 334     Name (BOF, 0x20)
 335     Name (BEF, 0x21)
 336     Name (BLLE, 0x22)
 337     Name (BLLC, 0x23)
 338     Name (BLCA, 0x24)
 339     Name (BLLS, 0x25)
 340     Name (BLLP, 0x26)
 341     Name (BLLD, 0x27)
 342     Name (BHBE, 0x30)
 343     Name (BHBC, 0x31)
 344     Name (BHBN, 0x32)
 345     Name (BHBM, 0x33)
 346     Name (TRTP, 0x01)
 347     Name (WDTE, 0x01)
 348     Name (TRTD, 0x02)
 349     Name (TRTI, 0x03)
 350     Name (GCDD, 0x01)
 351     Name (DSTA, 0x0A)
 352     Name (DSLO, 0x0C)
 353     Name (DSLC, 0x0E)
 354     Name (PITS, 0x10)
 355     Name (SBCS, 0x12)
 356     Name (SALS, 0x13)
 357     Name (LSSS, 0x2A)
 358     Name (SOOT, 0x35)
 359     Name (PDBR, 0x4D)
 360     Name (MBEC, 0x00)
 361     OperationRegion (GNVS, SystemMemory, 0xDAF9CE18, 0x01B1)
 362     Field (GNVS, AnyAcc, Lock, Preserve)
 363     {
 364         OSYS,   16, 
 365         SMIF,   8, 
 366         PRM0,   8, 
 367         PRM1,   8, 
 368         SCIF,   8, 
 369         PRM2,   8, 
 370         PRM3,   8, 
 371         LCKF,   8, 
 372         PRM4,   8, 
 373         PRM5,   8, 
 374         P80D,   32, 
 375         LIDS,   8, 
 376         PWRS,   8, 
 377         DBGS,   8, 
 378         THOF,   8, 
 379         ACT1,   8, 
 380         ACTT,   8, 
 381         PSVT,   8, 
 382         TC1V,   8, 
 383         TC2V,   8, 
 384         TSPV,   8, 
 385         CRTT,   8, 
 386         DTSE,   8, 
 387         DTS1,   8, 
 388         DTS2,   8, 
 389         DTSF,   8, 
 390         BNUM,   8, 
 391         B0SC,   8, 
 392         Offset (0x25), 
 393         REVN,   8, 
 394         Offset (0x28), 
 395         APIC,   8, 
 396         TCNT,   8, 
 397         PCP0,   8, 
 398         PCP1,   8, 
 399         PPCM,   8, 
 400         PPMF,   32, 
 401         C67L,   8, 
 402         NATP,   8, 
 403         CMAP,   8, 
 404         CMBP,   8, 
 405         LPTP,   8, 
 406         FDCP,   8, 
 407         CMCP,   8, 
 408         CIRP,   8, 
 409         SMSC,   8, 
 410         W381,   8, 
 411         SMC1,   8, 
 412         IGDS,   8, 
 413         TLST,   8, 
 414         CADL,   8, 
 415         PADL,   8, 
 416         CSTE,   16, 
 417         NSTE,   16, 
 418         SSTE,   16, 
 419         NDID,   8, 
 420         DID1,   32, 
 421         DID2,   32, 
 422         DID3,   32, 
 423         DID4,   32, 
 424         DID5,   32, 
 425         KSV0,   32, 
 426         KSV1,   8, 
 427         Offset (0x67), 
 428         BLCS,   8, 
 429         BRTL,   8, 
 430         ALSE,   8, 
 431         ALAF,   8, 
 432         LLOW,   8, 
 433         LHIH,   8, 
 434         Offset (0x6E), 
 435         EMAE,   8, 
 436         EMAP,   16, 
 437         EMAL,   16, 
 438         Offset (0x74), 
 439         MEFE,   8, 
 440         DSTS,   8, 
 441         Offset (0x78), 
 442         TPMP,   8, 
 443         TPME,   8, 
 444         MORD,   8, 
 445         TCGP,   8, 
 446         PPRP,   32, 
 447         PPRQ,   8, 
 448         LPPR,   8, 
 449         GTF0,   56, 
 450         GTF2,   56, 
 451         IDEM,   8, 
 452         GTF1,   56, 
 453         BID,    8, 
 454         Offset (0xAA), 
 455         ASLB,   32, 
 456         IBTT,   8, 
 457         IPAT,   8, 
 458         ITVF,   8, 
 459         ITVM,   8, 
 460         IPSC,   8, 
 461         IBLC,   8, 
 462         IBIA,   8, 
 463         ISSC,   8, 
 464         I409,   8, 
 465         I509,   8, 
 466         I609,   8, 
 467         I709,   8, 
 468         IPCF,   8, 
 469         IDMS,   8, 
 470         IF1E,   8, 
 471         HVCO,   8, 
 472         NXD1,   32, 
 473         NXD2,   32, 
 474         NXD3,   32, 
 475         NXD4,   32, 
 476         NXD5,   32, 
 477         NXD6,   32, 
 478         NXD7,   32, 
 479         NXD8,   32, 
 480         GSMI,   8, 
 481         PAVP,   8, 
 482         Offset (0xE1), 
 483         OSCC,   8, 
 484         NEXP,   8, 
 485         SBV1,   8, 
 486         SBV2,   8, 
 487         Offset (0xEB), 
 488         DSEN,   8, 
 489         ECON,   8, 
 490         GPIC,   8, 
 491         CTYP,   8, 
 492         L01C,   8, 
 493         VFN0,   8, 
 494         VFN1,   8, 
 495         VFN2,   8, 
 496         VFN3,   8, 
 497         VFN4,   8, 
 498         Offset (0x100), 
 499         NVGA,   32, 
 500         NVHA,   32, 
 501         AMDA,   32, 
 502         DID6,   32, 
 503         DID7,   32, 
 504         DID8,   32, 
 505         EBAS,   32, 
 506         CPSP,   32, 
 507         EECP,   32, 
 508         EVCP,   32, 
 509         XBAS,   32, 
 510         OBS1,   32, 
 511         OBS2,   32, 
 512         OBS3,   32, 
 513         OBS4,   32, 
 514         OBS5,   32, 
 515         OBS6,   32, 
 516         OBS7,   32, 
 517         OBS8,   32, 
 518         Offset (0x157), 
 519         ATMC,   8, 
 520         PTMC,   8, 
 521         ATRA,   8, 
 522         PTRA,   8, 
 523         PNHM,   32, 
 524         TBAB,   32, 
 525         TBAH,   32, 
 526         RTIP,   8, 
 527         TSOD,   8, 
 528         ATPC,   8, 
 529         PTPC,   8, 
 530         PFLV,   8, 
 531         BREV,   8, 
 532         SGMD,   8, 
 533         SGFL,   8, 
 534         PWOK,   8, 
 535         HLRS,   8, 
 536         DSEL,   8, 
 537         ESEL,   8, 
 538         PSEL,   8, 
 539         PWEN,   8, 
 540         PRST,   8, 
 541         MXD1,   32, 
 542         MXD2,   32, 
 543         MXD3,   32, 
 544         MXD4,   32, 
 545         MXD5,   32, 
 546         MXD6,   32, 
 547         MXD7,   32, 
 548         MXD8,   32, 
 549         GBAS,   16, 
 550         Offset (0x19D), 
 551         ALFP,   8, 
 552         IMON,   8, 
 553         PDTS,   8, 
 554         PKGA,   8, 
 555         PAMT,   8, 
 556         AC0F,   8, 
 557         AC1F,   8, 
 558         DTS3,   8, 
 559         DTS4,   8, 
 560         RSV2,   8, 
 561         RSV3,   8, 
 562         BCEN,   8, 
 563         ALER,   8, 
 564         Q45T,   8, 
 565         SBRL,   8, 
 566         SYSD,   8, 
 567         SGWA,   8, 
 568         SGIN,   8, 
 569         TPID,   8, 
 570         DGST,   8
 571     }
 572 
 573     Scope (\_SB)
 574     {
 575         Name (PR00, Package (0x1E)
 576         {
 577             Package (0x04)
 578             {
 579                 0x0004FFFF, 
 580                 0x00, 
 581                 LNKA, 
 582                 0x00
 583             }, 
 584 
 585             Package (0x04)
 586             {
 587                 0x0004FFFF, 
 588                 0x01, 
 589                 LNKB, 
 590                 0x00
 591             }, 
 592 
 593             Package (0x04)
 594             {
 595                 0x0004FFFF, 
 596                 0x02, 
 597                 LNKC, 
 598                 0x00
 599             }, 
 600 
 601             Package (0x04)
 602             {
 603                 0x0004FFFF, 
 604                 0x03, 
 605                 LNKD, 
 606                 0x00
 607             }, 
 608 
 609             Package (0x04)
 610             {
 611                 0x001FFFFF, 
 612                 0x00, 
 613                 LNKF, 
 614                 0x00
 615             }, 
 616 
 617             Package (0x04)
 618             {
 619                 0x001FFFFF, 
 620                 0x01, 
 621                 LNKD, 
 622                 0x00
 623             }, 
 624 
 625             Package (0x04)
 626             {
 627                 0x001FFFFF, 
 628                 0x02, 
 629                 LNKC, 
 630                 0x00
 631             }, 
 632 
 633             Package (0x04)
 634             {
 635                 0x001FFFFF, 
 636                 0x03, 
 637                 LNKA, 
 638                 0x00
 639             }, 
 640 
 641             Package (0x04)
 642             {
 643                 0x001DFFFF, 
 644                 0x01, 
 645                 LNKD, 
 646                 0x00
 647             }, 
 648 
 649             Package (0x04)
 650             {
 651                 0x001DFFFF, 
 652                 0x02, 
 653                 LNKA, 
 654                 0x00
 655             }, 
 656 
 657             Package (0x04)
 658             {
 659                 0x001DFFFF, 
 660                 0x03, 
 661                 LNKC, 
 662                 0x00
 663             }, 
 664 
 665             Package (0x04)
 666             {
 667                 0x001DFFFF, 
 668                 0x00, 
 669                 LNKH, 
 670                 0x00
 671             }, 
 672 
 673             Package (0x04)
 674             {
 675                 0x001AFFFF, 
 676                 0x01, 
 677                 LNKF, 
 678                 0x00
 679             }, 
 680 
 681             Package (0x04)
 682             {
 683                 0x001AFFFF, 
 684                 0x02, 
 685                 LNKC, 
 686                 0x00
 687             }, 
 688 
 689             Package (0x04)
 690             {
 691                 0x001AFFFF, 
 692                 0x03, 
 693                 LNKD, 
 694                 0x00
 695             }, 
 696 
 697             Package (0x04)
 698             {
 699                 0x0016FFFF, 
 700                 0x00, 
 701                 LNKA, 
 702                 0x00
 703             }, 
 704 
 705             Package (0x04)
 706             {
 707                 0x0016FFFF, 
 708                 0x01, 
 709                 LNKD, 
 710                 0x00
 711             }, 
 712 
 713             Package (0x04)
 714             {
 715                 0x0016FFFF, 
 716                 0x02, 
 717                 LNKC, 
 718                 0x00
 719             }, 
 720 
 721             Package (0x04)
 722             {
 723                 0x0016FFFF, 
 724                 0x03, 
 725                 LNKB, 
 726                 0x00
 727             }, 
 728 
 729             Package (0x04)
 730             {
 731                 0x001AFFFF, 
 732                 0x00, 
 733                 LNKA, 
 734                 0x00
 735             }, 
 736 
 737             Package (0x04)
 738             {
 739                 0x0002FFFF, 
 740                 0x00, 
 741                 LNKA, 
 742                 0x00
 743             }, 
 744 
 745             Package (0x04)
 746             {
 747                 0x0001FFFF, 
 748                 0x00, 
 749                 LNKA, 
 750                 0x00
 751             }, 
 752 
 753             Package (0x04)
 754             {
 755                 0x0001FFFF, 
 756                 0x01, 
 757                 LNKB, 
 758                 0x00
 759             }, 
 760 
 761             Package (0x04)
 762             {
 763                 0x0001FFFF, 
 764                 0x02, 
 765                 LNKC, 
 766                 0x00
 767             }, 
 768 
 769             Package (0x04)
 770             {
 771                 0x0001FFFF, 
 772                 0x03, 
 773                 LNKD, 
 774                 0x00
 775             }, 
 776 
 777             Package (0x04)
 778             {
 779                 0x001BFFFF, 
 780                 0x00, 
 781                 LNKG, 
 782                 0x00
 783             }, 
 784 
 785             Package (0x04)
 786             {
 787                 0x001CFFFF, 
 788                 0x00, 
 789                 LNKA, 
 790                 0x00
 791             }, 
 792 
 793             Package (0x04)
 794             {
 795                 0x001CFFFF, 
 796                 0x01, 
 797                 LNKB, 
 798                 0x00
 799             }, 
 800 
 801             Package (0x04)
 802             {
 803                 0x001CFFFF, 
 804                 0x02, 
 805                 LNKC, 
 806                 0x00
 807             }, 
 808 
 809             Package (0x04)
 810             {
 811                 0x001CFFFF, 
 812                 0x03, 
 813                 LNKD, 
 814                 0x00
 815             }
 816         })
 817         Name (AR00, Package (0x1E)
 818         {
 819             Package (0x04)
 820             {
 821                 0x0004FFFF, 
 822                 0x00, 
 823                 0x00, 
 824                 0x10
 825             }, 
 826 
 827             Package (0x04)
 828             {
 829                 0x0004FFFF, 
 830                 0x01, 
 831                 0x00, 
 832                 0x11
 833             }, 
 834 
 835             Package (0x04)
 836             {
 837                 0x0004FFFF, 
 838                 0x02, 
 839                 0x00, 
 840                 0x12
 841             }, 
 842 
 843             Package (0x04)
 844             {
 845                 0x0004FFFF, 
 846                 0x03, 
 847                 0x00, 
 848                 0x13
 849             }, 
 850 
 851             Package (0x04)
 852             {
 853                 0x001FFFFF, 
 854                 0x00, 
 855                 0x00, 
 856                 0x15
 857             }, 
 858 
 859             Package (0x04)
 860             {
 861                 0x001FFFFF, 
 862                 0x01, 
 863                 0x00, 
 864                 0x13
 865             }, 
 866 
 867             Package (0x04)
 868             {
 869                 0x001FFFFF, 
 870                 0x02, 
 871                 0x00, 
 872                 0x12
 873             }, 
 874 
 875             Package (0x04)
 876             {
 877                 0x001FFFFF, 
 878                 0x03, 
 879                 0x00, 
 880                 0x10
 881             }, 
 882 
 883             Package (0x04)
 884             {
 885                 0x001DFFFF, 
 886                 0x01, 
 887                 0x00, 
 888                 0x13
 889             }, 
 890 
 891             Package (0x04)
 892             {
 893                 0x001DFFFF, 
 894                 0x02, 
 895                 0x00, 
 896                 0x10
 897             }, 
 898 
 899             Package (0x04)
 900             {
 901                 0x001DFFFF, 
 902                 0x03, 
 903                 0x00, 
 904                 0x12
 905             }, 
 906 
 907             Package (0x04)
 908             {
 909                 0x001DFFFF, 
 910                 0x00, 
 911                 0x00, 
 912                 0x17
 913             }, 
 914 
 915             Package (0x04)
 916             {
 917                 0x001AFFFF, 
 918                 0x01, 
 919                 0x00, 
 920                 0x15
 921             }, 
 922 
 923             Package (0x04)
 924             {
 925                 0x001AFFFF, 
 926                 0x02, 
 927                 0x00, 
 928                 0x12
 929             }, 
 930 
 931             Package (0x04)
 932             {
 933                 0x001AFFFF, 
 934                 0x03, 
 935                 0x00, 
 936                 0x13
 937             }, 
 938 
 939             Package (0x04)
 940             {
 941                 0x0016FFFF, 
 942                 0x00, 
 943                 0x00, 
 944                 0x10
 945             }, 
 946 
 947             Package (0x04)
 948             {
 949                 0x0016FFFF, 
 950                 0x01, 
 951                 0x00, 
 952                 0x13
 953             }, 
 954 
 955             Package (0x04)
 956             {
 957                 0x0016FFFF, 
 958                 0x02, 
 959                 0x00, 
 960                 0x12
 961             }, 
 962 
 963             Package (0x04)
 964             {
 965                 0x0016FFFF, 
 966                 0x03, 
 967                 0x00, 
 968                 0x11
 969             }, 
 970 
 971             Package (0x04)
 972             {
 973                 0x001AFFFF, 
 974                 0x00, 
 975                 0x00, 
 976                 0x10
 977             }, 
 978 
 979             Package (0x04)
 980             {
 981                 0x0002FFFF, 
 982                 0x00, 
 983                 0x00, 
 984                 0x10
 985             }, 
 986 
 987             Package (0x04)
 988             {
 989                 0x0001FFFF, 
 990                 0x00, 
 991                 0x00, 
 992                 0x10
 993             }, 
 994 
 995             Package (0x04)
 996             {
 997                 0x0001FFFF, 
 998                 0x01, 
 999                 0x00, 
1000                 0x11
1001             }, 
1002 
1003             Package (0x04)
1004             {
1005                 0x0001FFFF, 
1006                 0x02, 
1007                 0x00, 
1008                 0x12
1009             }, 
1010 
1011             Package (0x04)
1012             {
1013                 0x0001FFFF, 
1014                 0x03, 
1015                 0x00, 
1016                 0x13
1017             }, 
1018 
1019             Package (0x04)
1020             {
1021                 0x001BFFFF, 
1022                 0x00, 
1023                 0x00, 
1024                 0x16
1025             }, 
1026 
1027             Package (0x04)
1028             {
1029                 0x001CFFFF, 
1030                 0x00, 
1031                 0x00, 
1032                 0x10
1033             }, 
1034 
1035             Package (0x04)
1036             {
1037                 0x001CFFFF, 
1038                 0x01, 
1039                 0x00, 
1040                 0x11
1041             }, 
1042 
1043             Package (0x04)
1044             {
1045                 0x001CFFFF, 
1046                 0x02, 
1047                 0x00, 
1048                 0x12
1049             }, 
1050 
1051             Package (0x04)
1052             {
1053                 0x001CFFFF, 
1054                 0x03, 
1055                 0x00, 
1056                 0x13
1057             }
1058         })
1059         Name (PR02, Package (0x04)
1060         {
1061             Package (0x04)
1062             {
1063                 0xFFFF, 
1064                 0x00, 
1065                 LNKA, 
1066                 0x00
1067             }, 
1068 
1069             Package (0x04)
1070             {
1071                 0xFFFF, 
1072                 0x01, 
1073                 LNKB, 
1074                 0x00
1075             }, 
1076 
1077             Package (0x04)
1078             {
1079                 0xFFFF, 
1080                 0x02, 
1081                 LNKC, 
1082                 0x00
1083             }, 
1084 
1085             Package (0x04)
1086             {
1087                 0xFFFF, 
1088                 0x03, 
1089                 LNKD, 
1090                 0x00
1091             }
1092         })
1093         Name (AR02, Package (0x04)
1094         {
1095             Package (0x04)
1096             {
1097                 0xFFFF, 
1098                 0x00, 
1099                 0x00, 
1100                 0x10
1101             }, 
1102 
1103             Package (0x04)
1104             {
1105                 0xFFFF, 
1106                 0x01, 
1107                 0x00, 
1108                 0x11
1109             }, 
1110 
1111             Package (0x04)
1112             {
1113                 0xFFFF, 
1114                 0x02, 
1115                 0x00, 
1116                 0x12
1117             }, 
1118 
1119             Package (0x04)
1120             {
1121                 0xFFFF, 
1122                 0x03, 
1123                 0x00, 
1124                 0x13
1125             }
1126         })
1127         Name (PR04, Package (0x04)
1128         {
1129             Package (0x04)
1130             {
1131                 0xFFFF, 
1132                 0x00, 
1133                 LNKC, 
1134                 0x00
1135             }, 
1136 
1137             Package (0x04)
1138             {
1139                 0xFFFF, 
1140                 0x01, 
1141                 LNKD, 
1142                 0x00
1143             }, 
1144 
1145             Package (0x04)
1146             {
1147                 0xFFFF, 
1148                 0x02, 
1149                 LNKA, 
1150                 0x00
1151             }, 
1152 
1153             Package (0x04)
1154             {
1155                 0xFFFF, 
1156                 0x03, 
1157                 LNKB, 
1158                 0x00
1159             }
1160         })
1161         Name (AR04, Package (0x04)
1162         {
1163             Package (0x04)
1164             {
1165                 0xFFFF, 
1166                 0x00, 
1167                 0x00, 
1168                 0x12
1169             }, 
1170 
1171             Package (0x04)
1172             {
1173                 0xFFFF, 
1174                 0x01, 
1175                 0x00, 
1176                 0x13
1177             }, 
1178 
1179             Package (0x04)
1180             {
1181                 0xFFFF, 
1182                 0x02, 
1183                 0x00, 
1184                 0x10
1185             }, 
1186 
1187             Package (0x04)
1188             {
1189                 0xFFFF, 
1190                 0x03, 
1191                 0x00, 
1192                 0x11
1193             }
1194         })
1195         Name (PR05, Package (0x04)
1196         {
1197             Package (0x04)
1198             {
1199                 0xFFFF, 
1200                 0x00, 
1201                 LNKD, 
1202                 0x00
1203             }, 
1204 
1205             Package (0x04)
1206             {
1207                 0xFFFF, 
1208                 0x01, 
1209                 LNKA, 
1210                 0x00
1211             }, 
1212 
1213             Package (0x04)
1214             {
1215                 0xFFFF, 
1216                 0x02, 
1217                 LNKB, 
1218                 0x00
1219             }, 
1220 
1221             Package (0x04)
1222             {
1223                 0xFFFF, 
1224                 0x03, 
1225                 LNKC, 
1226                 0x00
1227             }
1228         })
1229         Name (AR05, Package (0x04)
1230         {
1231             Package (0x04)
1232             {
1233                 0xFFFF, 
1234                 0x00, 
1235                 0x00, 
1236                 0x13
1237             }, 
1238 
1239             Package (0x04)
1240             {
1241                 0xFFFF, 
1242                 0x01, 
1243                 0x00, 
1244                 0x10
1245             }, 
1246 
1247             Package (0x04)
1248             {
1249                 0xFFFF, 
1250                 0x02, 
1251                 0x00, 
1252                 0x11
1253             }, 
1254 
1255             Package (0x04)
1256             {
1257                 0xFFFF, 
1258                 0x03, 
1259                 0x00, 
1260                 0x12
1261             }
1262         })
1263         Name (PR01, Package (0x04)
1264         {
1265             Package (0x04)
1266             {
1267                 0xFFFF, 
1268                 0x00, 
1269                 LNKA, 
1270                 0x00
1271             }, 
1272 
1273             Package (0x04)
1274             {
1275                 0xFFFF, 
1276                 0x01, 
1277                 LNKB, 
1278                 0x00
1279             }, 
1280 
1281             Package (0x04)
1282             {
1283                 0xFFFF, 
1284                 0x02, 
1285                 LNKC, 
1286                 0x00
1287             }, 
1288 
1289             Package (0x04)
1290             {
1291                 0xFFFF, 
1292                 0x03, 
1293                 LNKD, 
1294                 0x00
1295             }
1296         })
1297         Name (AR01, Package (0x04)
1298         {
1299             Package (0x04)
1300             {
1301                 0xFFFF, 
1302                 0x00, 
1303                 0x00, 
1304                 0x10
1305             }, 
1306 
1307             Package (0x04)
1308             {
1309                 0xFFFF, 
1310                 0x01, 
1311                 0x00, 
1312                 0x11
1313             }, 
1314 
1315             Package (0x04)
1316             {
1317                 0xFFFF, 
1318                 0x02, 
1319                 0x00, 
1320                 0x12
1321             }, 
1322 
1323             Package (0x04)
1324             {
1325                 0xFFFF, 
1326                 0x03, 
1327                 0x00, 
1328                 0x13
1329             }
1330         })
1331         Name (PR03, Package (0x04)
1332         {
1333             Package (0x04)
1334             {
1335                 0xFFFF, 
1336                 0x00, 
1337                 LNKB, 
1338                 0x00
1339             }, 
1340 
1341             Package (0x04)
1342             {
1343                 0xFFFF, 
1344                 0x01, 
1345                 LNKC, 
1346                 0x00
1347             }, 
1348 
1349             Package (0x04)
1350             {
1351                 0xFFFF, 
1352                 0x02, 
1353                 LNKD, 
1354                 0x00
1355             }, 
1356 
1357             Package (0x04)
1358             {
1359                 0xFFFF, 
1360                 0x03, 
1361                 LNKA, 
1362                 0x00
1363             }
1364         })
1365         Name (AR03, Package (0x04)
1366         {
1367             Package (0x04)
1368             {
1369                 0xFFFF, 
1370                 0x00, 
1371                 0x00, 
1372                 0x11
1373             }, 
1374 
1375             Package (0x04)
1376             {
1377                 0xFFFF, 
1378                 0x01, 
1379                 0x00, 
1380                 0x12
1381             }, 
1382 
1383             Package (0x04)
1384             {
1385                 0xFFFF, 
1386                 0x02, 
1387                 0x00, 
1388                 0x13
1389             }, 
1390 
1391             Package (0x04)
1392             {
1393                 0xFFFF, 
1394                 0x03, 
1395                 0x00, 
1396                 0x10
1397             }
1398         })
1399         Name (PRSA, ResourceTemplate ()
1400         {
1401             IRQ (Level, ActiveLow, Shared, )
1402                 {1,3,4,5,6,10,11,12,14,15}
1403         })
1404         Alias (PRSA, PRSB)
1405         Alias (PRSA, PRSC)
1406         Alias (PRSA, PRSD)
1407         Alias (PRSA, PRSE)
1408         Alias (PRSA, PRSF)
1409         Alias (PRSA, PRSG)
1410         Alias (PRSA, PRSH)
1411         Device (PCI0)
1412         {
1413             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
1414             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
1415             Name (_ADR, 0x00)  // _ADR: Address
1416             Method (^BN00, 0, NotSerialized)
1417             {
1418                 Return (0x00)
1419             }
1420 
1421             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
1422             {
1423                 Return (BN00 ())
1424             }
1425 
1426             Name (_UID, 0x00)  // _UID: Unique ID
1427             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
1428             {
1429                 If (PICM)
1430                 {
1431                     Return (AR00 ())
1432                 }
1433 
1434                 Return (PR00 ())
1435             }
1436 
1437             OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
1438             Field (HBUS, DWordAcc, NoLock, Preserve)
1439             {
1440                 Offset (0x40), 
1441                 EPEN,   1, 
1442                     ,   11, 
1443                 EPBR,   20, 
1444                 Offset (0x48), 
1445                 MHEN,   1, 
1446                     ,   14, 
1447                 MHBR,   17, 
1448                 Offset (0x50), 
1449                 GCLK,   1, 
1450                 Offset (0x54), 
1451                 D0EN,   1, 
1452                 Offset (0x60), 
1453                 PXEN,   1, 
1454                 PXSZ,   2, 
1455                     ,   23, 
1456                 PXBR,   6, 
1457                 Offset (0x68), 
1458                 DIEN,   1, 
1459                     ,   11, 
1460                 DIBR,   20, 
1461                 Offset (0x70), 
1462                     ,   20, 
1463                 MEBR,   12, 
1464                 Offset (0x80), 
1465                     ,   4, 
1466                 PM0H,   2, 
1467                 Offset (0x81), 
1468                 PM1L,   2, 
1469                     ,   2, 
1470                 PM1H,   2, 
1471                 Offset (0x82), 
1472                 PM2L,   2, 
1473                     ,   2, 
1474                 PM2H,   2, 
1475                 Offset (0x83), 
1476                 PM3L,   2, 
1477                     ,   2, 
1478                 PM3H,   2, 
1479                 Offset (0x84), 
1480                 PM4L,   2, 
1481                     ,   2, 
1482                 PM4H,   2, 
1483                 Offset (0x85), 
1484                 PM5L,   2, 
1485                     ,   2, 
1486                 PM5H,   2, 
1487                 Offset (0x86), 
1488                 PM6L,   2, 
1489                     ,   2, 
1490                 PM6H,   2, 
1491                 Offset (0x87), 
1492                 Offset (0xA8), 
1493                     ,   20, 
1494                 TUUD,   19, 
1495                 Offset (0xBC), 
1496                     ,   20, 
1497                 TLUD,   12, 
1498                 Offset (0xC8), 
1499                     ,   7, 
1500                 HTSE,   1
1501             }
1502 
1503             OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
1504             Field (MCHT, ByteAcc, NoLock, Preserve)
1505             {
1506             }
1507 
1508             Name (BUF0, ResourceTemplate ()
1509             {
1510                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1511                     0x0000,             // Granularity
1512                     0x0000,             // Range Minimum
1513                     0x00FF,             // Range Maximum
1514                     0x0000,             // Translation Offset
1515                     0x0100,             // Length
1516                     ,, _Y00)
1517                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1518                     0x00000000,         // Granularity
1519                     0x00000000,         // Range Minimum
1520                     0x00000CF7,         // Range Maximum
1521                     0x00000000,         // Translation Offset
1522                     0x00000CF8,         // Length
1523                     ,, , TypeStatic)
1524                 IO (Decode16,
1525                     0x0CF8,             // Range Minimum
1526                     0x0CF8,             // Range Maximum
1527                     0x01,               // Alignment
1528                     0x08,               // Length
1529                     )
1530                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1531                     0x00000000,         // Granularity
1532                     0x00000D00,         // Range Minimum
1533                     0x0000FFFF,         // Range Maximum
1534                     0x00000000,         // Translation Offset
1535                     0x0000F300,         // Length
1536                     ,, , TypeStatic)
1537                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1538                     0x00000000,         // Granularity
1539                     0x000A0000,         // Range Minimum
1540                     0x000BFFFF,         // Range Maximum
1541                     0x00000000,         // Translation Offset
1542                     0x00020000,         // Length
1543                     ,, , AddressRangeMemory, TypeStatic)
1544                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1545                     0x00000000,         // Granularity
1546                     0x000C0000,         // Range Minimum
1547                     0x000C3FFF,         // Range Maximum
1548                     0x00000000,         // Translation Offset
1549                     0x00004000,         // Length
1550                     ,, _Y01, AddressRangeMemory, TypeStatic)
1551                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1552                     0x00000000,         // Granularity
1553                     0x000C4000,         // Range Minimum
1554                     0x000C7FFF,         // Range Maximum
1555                     0x00000000,         // Translation Offset
1556                     0x00004000,         // Length
1557                     ,, _Y02, AddressRangeMemory, TypeStatic)
1558                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1559                     0x00000000,         // Granularity
1560                     0x000C8000,         // Range Minimum
1561                     0x000CBFFF,         // Range Maximum
1562                     0x00000000,         // Translation Offset
1563                     0x00004000,         // Length
1564                     ,, _Y03, AddressRangeMemory, TypeStatic)
1565                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1566                     0x00000000,         // Granularity
1567                     0x000CC000,         // Range Minimum
1568                     0x000CFFFF,         // Range Maximum
1569                     0x00000000,         // Translation Offset
1570                     0x00004000,         // Length
1571                     ,, _Y04, AddressRangeMemory, TypeStatic)
1572                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1573                     0x00000000,         // Granularity
1574                     0x000D0000,         // Range Minimum
1575                     0x000D3FFF,         // Range Maximum
1576                     0x00000000,         // Translation Offset
1577                     0x00004000,         // Length
1578                     ,, _Y05, AddressRangeMemory, TypeStatic)
1579                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1580                     0x00000000,         // Granularity
1581                     0x000D4000,         // Range Minimum
1582                     0x000D7FFF,         // Range Maximum
1583                     0x00000000,         // Translation Offset
1584                     0x00004000,         // Length
1585                     ,, _Y06, AddressRangeMemory, TypeStatic)
1586                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1587                     0x00000000,         // Granularity
1588                     0x000D8000,         // Range Minimum
1589                     0x000DBFFF,         // Range Maximum
1590                     0x00000000,         // Translation Offset
1591                     0x00004000,         // Length
1592                     ,, _Y07, AddressRangeMemory, TypeStatic)
1593                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1594                     0x00000000,         // Granularity
1595                     0x000DC000,         // Range Minimum
1596                     0x000DFFFF,         // Range Maximum
1597                     0x00000000,         // Translation Offset
1598                     0x00004000,         // Length
1599                     ,, _Y08, AddressRangeMemory, TypeStatic)
1600                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1601                     0x00000000,         // Granularity
1602                     0x000E0000,         // Range Minimum
1603                     0x000E3FFF,         // Range Maximum
1604                     0x00000000,         // Translation Offset
1605                     0x00004000,         // Length
1606                     ,, _Y09, AddressRangeMemory, TypeStatic)
1607                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1608                     0x00000000,         // Granularity
1609                     0x000E4000,         // Range Minimum
1610                     0x000E7FFF,         // Range Maximum
1611                     0x00000000,         // Translation Offset
1612                     0x00004000,         // Length
1613                     ,, _Y0A, AddressRangeMemory, TypeStatic)
1614                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1615                     0x00000000,         // Granularity
1616                     0x000E8000,         // Range Minimum
1617                     0x000EBFFF,         // Range Maximum
1618                     0x00000000,         // Translation Offset
1619                     0x00004000,         // Length
1620                     ,, _Y0B, AddressRangeMemory, TypeStatic)
1621                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1622                     0x00000000,         // Granularity
1623                     0x000EC000,         // Range Minimum
1624                     0x000EFFFF,         // Range Maximum
1625                     0x00000000,         // Translation Offset
1626                     0x00004000,         // Length
1627                     ,, _Y0C, AddressRangeMemory, TypeStatic)
1628                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1629                     0x00000000,         // Granularity
1630                     0x000F0000,         // Range Minimum
1631                     0x000FFFFF,         // Range Maximum
1632                     0x00000000,         // Translation Offset
1633                     0x00010000,         // Length
1634                     ,, _Y0D, AddressRangeMemory, TypeStatic)
1635                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1636                     0x00000000,         // Granularity
1637                     0x00000000,         // Range Minimum
1638                     0xFEAFFFFF,         // Range Maximum
1639                     0x00000000,         // Translation Offset
1640                     0xFEB00000,         // Length
1641                     ,, _Y0E, AddressRangeMemory, TypeStatic)
1642                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1643                     0x00000000,         // Granularity
1644                     0xFED40000,         // Range Minimum
1645                     0xFED44FFF,         // Range Maximum
1646                     0x00000000,         // Translation Offset
1647                     0x00005000,         // Length
1648                     ,, , AddressRangeMemory, TypeStatic)
1649             })
1650             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1651             {
1652                 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
1653                 PBMX = ((\PELN >> 0x14) - 0x02)
1654                 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
1655                 PBLN = ((\PELN >> 0x14) - 0x01)
1656                 If (PM1L)
1657                 {
1658                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN)  // _LEN: Length
1659                     C0LN = Zero
1660                 }
1661 
1662                 If ((PM1L == 0x01))
1663                 {
1664                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW)  // _RW_: Read-Write Status
1665                     C0RW = Zero
1666                 }
1667 
1668                 If (PM1H)
1669                 {
1670                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN)  // _LEN: Length
1671                     C4LN = Zero
1672                 }
1673 
1674                 If ((PM1H == 0x01))
1675                 {
1676                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW)  // _RW_: Read-Write Status
1677                     C4RW = Zero
1678                 }
1679 
1680                 If (PM2L)
1681                 {
1682                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN)  // _LEN: Length
1683                     C8LN = Zero
1684                 }
1685 
1686                 If ((PM2L == 0x01))
1687                 {
1688                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW)  // _RW_: Read-Write Status
1689                     C8RW = Zero
1690                 }
1691 
1692                 If (PM2H)
1693                 {
1694                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN)  // _LEN: Length
1695                     CCLN = Zero
1696                 }
1697 
1698                 If ((PM2H == 0x01))
1699                 {
1700                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW)  // _RW_: Read-Write Status
1701                     CCRW = Zero
1702                 }
1703 
1704                 If (PM3L)
1705                 {
1706                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN)  // _LEN: Length
1707                     D0LN = Zero
1708                 }
1709 
1710                 If ((PM3L == 0x01))
1711                 {
1712                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW)  // _RW_: Read-Write Status
1713                     D0RW = Zero
1714                 }
1715 
1716                 If (PM3H)
1717                 {
1718                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN)  // _LEN: Length
1719                     D4LN = Zero
1720                 }
1721 
1722                 If ((PM3H == 0x01))
1723                 {
1724                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW)  // _RW_: Read-Write Status
1725                     D4RW = Zero
1726                 }
1727 
1728                 If (PM4L)
1729                 {
1730                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN)  // _LEN: Length
1731                     D8LN = Zero
1732                 }
1733 
1734                 If ((PM4L == 0x01))
1735                 {
1736                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW)  // _RW_: Read-Write Status
1737                     D8RW = Zero
1738                 }
1739 
1740                 If (PM4H)
1741                 {
1742                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN)  // _LEN: Length
1743                     DCLN = Zero
1744                 }
1745 
1746                 If ((PM4H == 0x01))
1747                 {
1748                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW)  // _RW_: Read-Write Status
1749                     DCRW = Zero
1750                 }
1751 
1752                 If (PM5L)
1753                 {
1754                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN)  // _LEN: Length
1755                     E0LN = Zero
1756                 }
1757 
1758                 If ((PM5L == 0x01))
1759                 {
1760                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW)  // _RW_: Read-Write Status
1761                     E0RW = Zero
1762                 }
1763 
1764                 If (PM5H)
1765                 {
1766                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN)  // _LEN: Length
1767                     E4LN = Zero
1768                 }
1769 
1770                 If ((PM5H == 0x01))
1771                 {
1772                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW)  // _RW_: Read-Write Status
1773                     E4RW = Zero
1774                 }
1775 
1776                 If (PM6L)
1777                 {
1778                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN)  // _LEN: Length
1779                     E8LN = Zero
1780                 }
1781 
1782                 If ((PM6L == 0x01))
1783                 {
1784                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW)  // _RW_: Read-Write Status
1785                     E8RW = Zero
1786                 }
1787 
1788                 If (PM6H)
1789                 {
1790                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN)  // _LEN: Length
1791                     ECLN = Zero
1792                 }
1793 
1794                 If ((PM6H == 0x01))
1795                 {
1796                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
1797                     ECRW = Zero
1798                 }
1799 
1800                 If (PM0H)
1801                 {
1802                     CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
1803                     F0LN = Zero
1804                 }
1805 
1806                 If ((PM0H == 0x01))
1807                 {
1808                     CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW)  // _RW_: Read-Write Status
1809                     F0RW = Zero
1810                 }
1811 
1812                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)  // _MIN: Minimum Base Address
1813                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)  // _MAX: Maximum Base Address
1814                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)  // _LEN: Length
1815                 M1MN = (TLUD << 0x14)
1816                 M1LN = ((M1MX - M1MN) + 0x01)
1817                 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1818             }
1819 
1820             Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1821             Name (SUPP, 0x00)
1822             Name (CTRL, 0x00)
1823             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1824             {
1825                 Local0 = Arg3
1826                 CreateDWordField (Local0, 0x00, CDW1)
1827                 CreateDWordField (Local0, 0x04, CDW2)
1828                 CreateDWordField (Local0, 0x08, CDW3)
1829                 If (((Arg0 == GUID) && NEXP))
1830                 {
1831                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1832                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1833                     If (~(CDW1 & 0x01))
1834                     {
1835                         If ((CTRL & 0x01))
1836                         {
1837                             NHPG ()
1838                         }
1839 
1840                         If ((CTRL & 0x04))
1841                         {
1842                             NPME ()
1843                         }
1844                     }
1845 
1846                     If ((Arg1 != One))
1847                     {
1848                         CDW1 |= 0x08
1849                     }
1850 
1851                     If ((CDW3 != CTRL))
1852                     {
1853                         CDW1 |= 0x10
1854                     }
1855 
1856                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1857                     OSCC = CTRL /* \_SB_.PCI0.CTRL */
1858                     Return (Local0)
1859                 }
1860                 Else
1861                 {
1862                     CDW1 |= 0x04
1863                     Return (Local0)
1864                 }
1865             }
1866 
1867             Scope (\_SB.PCI0)
1868             {
1869                 Method (AR00, 0, NotSerialized)
1870                 {
1871                     Return (\_SB.AR00)
1872                 }
1873 
1874                 Method (PR00, 0, NotSerialized)
1875                 {
1876                     Return (\_SB.PR00)
1877                 }
1878 
1879                 Method (AR01, 0, NotSerialized)
1880                 {
1881                     Return (\_SB.AR01)
1882                 }
1883 
1884                 Method (PR01, 0, NotSerialized)
1885                 {
1886                     Return (\_SB.PR01)
1887                 }
1888 
1889                 Method (AR02, 0, NotSerialized)
1890                 {
1891                     Return (\_SB.AR02)
1892                 }
1893 
1894                 Method (PR02, 0, NotSerialized)
1895                 {
1896                     Return (\_SB.PR02)
1897                 }
1898 
1899                 Method (AR03, 0, NotSerialized)
1900                 {
1901                     Return (\_SB.AR03)
1902                 }
1903 
1904                 Method (PR03, 0, NotSerialized)
1905                 {
1906                     Return (\_SB.PR03)
1907                 }
1908 
1909                 Method (AR04, 0, NotSerialized)
1910                 {
1911                     Return (\_SB.AR04)
1912                 }
1913 
1914                 Method (PR04, 0, NotSerialized)
1915                 {
1916                     Return (\_SB.PR04)
1917                 }
1918 
1919                 Method (AR05, 0, NotSerialized)
1920                 {
1921                     Return (\_SB.AR05)
1922                 }
1923 
1924                 Method (PR05, 0, NotSerialized)
1925                 {
1926                     Return (\_SB.PR05)
1927                 }
1928             }
1929 
1930             Device (B0D4)
1931             {
1932                 Name (_ADR, 0x00040000)  // _ADR: Address
1933                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1934                 {
1935                     Return (GPRW (0x09, 0x04))
1936                 }
1937             }
1938 
1939             Device (LPCB)
1940             {
1941                 Name (_ADR, 0x001F0000)  // _ADR: Address
1942                 Scope (\_SB)
1943                 {
1944                     OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
1945                     Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
1946                     {
1947                         Offset (0x20), 
1948                         PARC,   8, 
1949                         PBRC,   8, 
1950                         PCRC,   8, 
1951                         PDRC,   8, 
1952                         Offset (0x28), 
1953                         PERC,   8, 
1954                         PFRC,   8, 
1955                         PGRC,   8, 
1956                         PHRC,   8
1957                     }
1958 
1959                     Device (LNKA)
1960                     {
1961                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1962                         Name (_UID, 0x01)  // _UID: Unique ID
1963                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
1964                         {
1965                             PARC |= 0x80
1966                         }
1967 
1968                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
1969                         {
1970                             Return (PRSA) /* \_SB_.PRSA */
1971                         }
1972 
1973                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1974                         {
1975                             Name (RTLA, ResourceTemplate ()
1976                             {
1977                                 IRQ (Level, ActiveLow, Shared, _Y0F)
1978                                     {}
1979                             })
1980                             CreateWordField (RTLA, \_SB.LNKA._CRS._Y0F._INT, IRQ0)  // _INT: Interrupts
1981                             IRQ0 = Zero
1982                             IRQ0 = (0x01 << (PARC & 0x0F))
1983                             Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
1984                         }
1985 
1986                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
1987                         {
1988                             CreateWordField (Arg0, 0x01, IRQ0)
1989                             FindSetRightBit (IRQ0, Local0)
1990                             Local0--
1991                             PARC = Local0
1992                         }
1993 
1994                         Method (_STA, 0, Serialized)  // _STA: Status
1995                         {
1996                             If ((PARC & 0x80))
1997                             {
1998                                 Return (0x09)
1999                             }
2000                             Else
2001                             {
2002                                 Return (0x0B)
2003                             }
2004                         }
2005                     }
2006 
2007                     Device (LNKB)
2008                     {
2009                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2010                         Name (_UID, 0x02)  // _UID: Unique ID
2011                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2012                         {
2013                             PBRC |= 0x80
2014                         }
2015 
2016                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2017                         {
2018                             Return (PRSB) /* \_SB_.PRSB */
2019                         }
2020 
2021                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2022                         {
2023                             Name (RTLB, ResourceTemplate ()
2024                             {
2025                                 IRQ (Level, ActiveLow, Shared, _Y10)
2026                                     {}
2027                             })
2028                             CreateWordField (RTLB, \_SB.LNKB._CRS._Y10._INT, IRQ0)  // _INT: Interrupts
2029                             IRQ0 = Zero
2030                             IRQ0 = (0x01 << (PBRC & 0x0F))
2031                             Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
2032                         }
2033 
2034                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2035                         {
2036                             CreateWordField (Arg0, 0x01, IRQ0)
2037                             FindSetRightBit (IRQ0, Local0)
2038                             Local0--
2039                             PBRC = Local0
2040                         }
2041 
2042                         Method (_STA, 0, Serialized)  // _STA: Status
2043                         {
2044                             If ((PBRC & 0x80))
2045                             {
2046                                 Return (0x09)
2047                             }
2048                             Else
2049                             {
2050                                 Return (0x0B)
2051                             }
2052                         }
2053                     }
2054 
2055                     Device (LNKC)
2056                     {
2057                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2058                         Name (_UID, 0x03)  // _UID: Unique ID
2059                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2060                         {
2061                             PCRC |= 0x80
2062                         }
2063 
2064                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2065                         {
2066                             Return (PRSC) /* \_SB_.PRSC */
2067                         }
2068 
2069                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2070                         {
2071                             Name (RTLC, ResourceTemplate ()
2072                             {
2073                                 IRQ (Level, ActiveLow, Shared, _Y11)
2074                                     {}
2075                             })
2076                             CreateWordField (RTLC, \_SB.LNKC._CRS._Y11._INT, IRQ0)  // _INT: Interrupts
2077                             IRQ0 = Zero
2078                             IRQ0 = (0x01 << (PCRC & 0x0F))
2079                             Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
2080                         }
2081 
2082                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2083                         {
2084                             CreateWordField (Arg0, 0x01, IRQ0)
2085                             FindSetRightBit (IRQ0, Local0)
2086                             Local0--
2087                             PCRC = Local0
2088                         }
2089 
2090                         Method (_STA, 0, Serialized)  // _STA: Status
2091                         {
2092                             If ((PCRC & 0x80))
2093                             {
2094                                 Return (0x09)
2095                             }
2096                             Else
2097                             {
2098                                 Return (0x0B)
2099                             }
2100                         }
2101                     }
2102 
2103                     Device (LNKD)
2104                     {
2105                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2106                         Name (_UID, 0x04)  // _UID: Unique ID
2107                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2108                         {
2109                             PDRC |= 0x80
2110                         }
2111 
2112                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2113                         {
2114                             Return (PRSD) /* \_SB_.PRSD */
2115                         }
2116 
2117                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2118                         {
2119                             Name (RTLD, ResourceTemplate ()
2120                             {
2121                                 IRQ (Level, ActiveLow, Shared, _Y12)
2122                                     {}
2123                             })
2124                             CreateWordField (RTLD, \_SB.LNKD._CRS._Y12._INT, IRQ0)  // _INT: Interrupts
2125                             IRQ0 = Zero
2126                             IRQ0 = (0x01 << (PDRC & 0x0F))
2127                             Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
2128                         }
2129 
2130                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2131                         {
2132                             CreateWordField (Arg0, 0x01, IRQ0)
2133                             FindSetRightBit (IRQ0, Local0)
2134                             Local0--
2135                             PDRC = Local0
2136                         }
2137 
2138                         Method (_STA, 0, Serialized)  // _STA: Status
2139                         {
2140                             If ((PDRC & 0x80))
2141                             {
2142                                 Return (0x09)
2143                             }
2144                             Else
2145                             {
2146                                 Return (0x0B)
2147                             }
2148                         }
2149                     }
2150 
2151                     Device (LNKE)
2152                     {
2153                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2154                         Name (_UID, 0x05)  // _UID: Unique ID
2155                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2156                         {
2157                             PERC |= 0x80
2158                         }
2159 
2160                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2161                         {
2162                             Return (PRSE) /* \_SB_.PRSE */
2163                         }
2164 
2165                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2166                         {
2167                             Name (RTLE, ResourceTemplate ()
2168                             {
2169                                 IRQ (Level, ActiveLow, Shared, _Y13)
2170                                     {}
2171                             })
2172                             CreateWordField (RTLE, \_SB.LNKE._CRS._Y13._INT, IRQ0)  // _INT: Interrupts
2173                             IRQ0 = Zero
2174                             IRQ0 = (0x01 << (PERC & 0x0F))
2175                             Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
2176                         }
2177 
2178                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2179                         {
2180                             CreateWordField (Arg0, 0x01, IRQ0)
2181                             FindSetRightBit (IRQ0, Local0)
2182                             Local0--
2183                             PERC = Local0
2184                         }
2185 
2186                         Method (_STA, 0, Serialized)  // _STA: Status
2187                         {
2188                             If ((PERC & 0x80))
2189                             {
2190                                 Return (0x09)
2191                             }
2192                             Else
2193                             {
2194                                 Return (0x0B)
2195                             }
2196                         }
2197                     }
2198 
2199                     Device (LNKF)
2200                     {
2201                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2202                         Name (_UID, 0x06)  // _UID: Unique ID
2203                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2204                         {
2205                             PFRC |= 0x80
2206                         }
2207 
2208                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2209                         {
2210                             Return (PRSF) /* \_SB_.PRSF */
2211                         }
2212 
2213                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2214                         {
2215                             Name (RTLF, ResourceTemplate ()
2216                             {
2217                                 IRQ (Level, ActiveLow, Shared, _Y14)
2218                                     {}
2219                             })
2220                             CreateWordField (RTLF, \_SB.LNKF._CRS._Y14._INT, IRQ0)  // _INT: Interrupts
2221                             IRQ0 = Zero
2222                             IRQ0 = (0x01 << (PFRC & 0x0F))
2223                             Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2224                         }
2225 
2226                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2227                         {
2228                             CreateWordField (Arg0, 0x01, IRQ0)
2229                             FindSetRightBit (IRQ0, Local0)
2230                             Local0--
2231                             PFRC = Local0
2232                         }
2233 
2234                         Method (_STA, 0, Serialized)  // _STA: Status
2235                         {
2236                             If ((PFRC & 0x80))
2237                             {
2238                                 Return (0x09)
2239                             }
2240                             Else
2241                             {
2242                                 Return (0x0B)
2243                             }
2244                         }
2245                     }
2246 
2247                     Device (LNKG)
2248                     {
2249                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2250                         Name (_UID, 0x07)  // _UID: Unique ID
2251                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2252                         {
2253                             PGRC |= 0x80
2254                         }
2255 
2256                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2257                         {
2258                             Return (PRSG) /* \_SB_.PRSG */
2259                         }
2260 
2261                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2262                         {
2263                             Name (RTLG, ResourceTemplate ()
2264                             {
2265                                 IRQ (Level, ActiveLow, Shared, _Y15)
2266                                     {}
2267                             })
2268                             CreateWordField (RTLG, \_SB.LNKG._CRS._Y15._INT, IRQ0)  // _INT: Interrupts
2269                             IRQ0 = Zero
2270                             IRQ0 = (0x01 << (PGRC & 0x0F))
2271                             Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2272                         }
2273 
2274                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2275                         {
2276                             CreateWordField (Arg0, 0x01, IRQ0)
2277                             FindSetRightBit (IRQ0, Local0)
2278                             Local0--
2279                             PGRC = Local0
2280                         }
2281 
2282                         Method (_STA, 0, Serialized)  // _STA: Status
2283                         {
2284                             If ((PGRC & 0x80))
2285                             {
2286                                 Return (0x09)
2287                             }
2288                             Else
2289                             {
2290                                 Return (0x0B)
2291                             }
2292                         }
2293                     }
2294 
2295                     Device (LNKH)
2296                     {
2297                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2298                         Name (_UID, 0x08)  // _UID: Unique ID
2299                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2300                         {
2301                             PHRC |= 0x80
2302                         }
2303 
2304                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2305                         {
2306                             Return (PRSH) /* \_SB_.PRSH */
2307                         }
2308 
2309                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2310                         {
2311                             Name (RTLH, ResourceTemplate ()
2312                             {
2313                                 IRQ (Level, ActiveLow, Shared, _Y16)
2314                                     {}
2315                             })
2316                             CreateWordField (RTLH, \_SB.LNKH._CRS._Y16._INT, IRQ0)  // _INT: Interrupts
2317                             IRQ0 = Zero
2318                             IRQ0 = (0x01 << (PHRC & 0x0F))
2319                             Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2320                         }
2321 
2322                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2323                         {
2324                             CreateWordField (Arg0, 0x01, IRQ0)
2325                             FindSetRightBit (IRQ0, Local0)
2326                             Local0--
2327                             PHRC = Local0
2328                         }
2329 
2330                         Method (_STA, 0, Serialized)  // _STA: Status
2331                         {
2332                             If ((PHRC & 0x80))
2333                             {
2334                                 Return (0x09)
2335                             }
2336                             Else
2337                             {
2338                                 Return (0x0B)
2339                             }
2340                         }
2341                     }
2342                 }
2343 
2344                 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
2345                 Field (LPC0, AnyAcc, NoLock, Preserve)
2346                 {
2347                     Offset (0x40), 
2348                     IOD0,   8, 
2349                     IOD1,   8, 
2350                     Offset (0xB0), 
2351                     RAEN,   1, 
2352                         ,   13, 
2353                     RCBA,   18
2354                 }
2355 
2356                 Device (DMAC)
2357                 {
2358                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
2359                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2360                     {
2361                         IO (Decode16,
2362                             0x0000,             // Range Minimum
2363                             0x0000,             // Range Maximum
2364                             0x01,               // Alignment
2365                             0x20,               // Length
2366                             )
2367                         IO (Decode16,
2368                             0x0081,             // Range Minimum
2369                             0x0081,             // Range Maximum
2370                             0x01,               // Alignment
2371                             0x11,               // Length
2372                             )
2373                         IO (Decode16,
2374                             0x0093,             // Range Minimum
2375                             0x0093,             // Range Maximum
2376                             0x01,               // Alignment
2377                             0x0D,               // Length
2378                             )
2379                         IO (Decode16,
2380                             0x00C0,             // Range Minimum
2381                             0x00C0,             // Range Maximum
2382                             0x01,               // Alignment
2383                             0x20,               // Length
2384                             )
2385                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
2386                             {4}
2387                     })
2388                 }
2389 
2390                 Device (FWHD)
2391                 {
2392                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
2393                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2394                     {
2395                         Memory32Fixed (ReadOnly,
2396                             0xFF000000,         // Address Base
2397                             0x01000000,         // Address Length
2398                             )
2399                     })
2400                 }
2401 
2402                 Device (HPET)
2403                 {
2404                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
2405                     Name (_UID, 0x00)  // _UID: Unique ID
2406                     Name (BUF0, ResourceTemplate ()
2407                     {
2408                         Memory32Fixed (ReadWrite,
2409                             0xFED00000,         // Address Base
2410                             0x00000400,         // Address Length
2411                             _Y17)
2412                     })
2413                     Method (_STA, 0, NotSerialized)  // _STA: Status
2414                     {
2415                         If ((OSYS >= 0x07D1))
2416                         {
2417                             If (HPAE)
2418                             {
2419                                 Return (0x0F)
2420                             }
2421                         }
2422                         Else
2423                         {
2424                             If (HPAE)
2425                             {
2426                                 Return (0x0B)
2427                             }
2428                         }
2429 
2430                         Return (0x00)
2431                     }
2432 
2433                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2434                     {
2435                         If (HPAE)
2436                         {
2437                             CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y17._BAS, HPT0)  // _BAS: Base Address
2438                             If ((HPAS == 0x01))
2439                             {
2440                                 HPT0 = 0xFED01000
2441                             }
2442 
2443                             If ((HPAS == 0x02))
2444                             {
2445                                 HPT0 = 0xFED02000
2446                             }
2447 
2448                             If ((HPAS == 0x03))
2449                             {
2450                                 HPT0 = 0xFED03000
2451                             }
2452                         }
2453 
2454                         Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
2455                     }
2456                 }
2457 
2458                 Device (IPIC)
2459                 {
2460                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
2461                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2462                     {
2463                         IO (Decode16,
2464                             0x0020,             // Range Minimum
2465                             0x0020,             // Range Maximum
2466                             0x01,               // Alignment
2467                             0x02,               // Length
2468                             )
2469                         IO (Decode16,
2470                             0x0024,             // Range Minimum
2471                             0x0024,             // Range Maximum
2472                             0x01,               // Alignment
2473                             0x02,               // Length
2474                             )
2475                         IO (Decode16,
2476                             0x0028,             // Range Minimum
2477                             0x0028,             // Range Maximum
2478                             0x01,               // Alignment
2479                             0x02,               // Length
2480                             )
2481                         IO (Decode16,
2482                             0x002C,             // Range Minimum
2483                             0x002C,             // Range Maximum
2484                             0x01,               // Alignment
2485                             0x02,               // Length
2486                             )
2487                         IO (Decode16,
2488                             0x0030,             // Range Minimum
2489                             0x0030,             // Range Maximum
2490                             0x01,               // Alignment
2491                             0x02,               // Length
2492                             )
2493                         IO (Decode16,
2494                             0x0034,             // Range Minimum
2495                             0x0034,             // Range Maximum
2496                             0x01,               // Alignment
2497                             0x02,               // Length
2498                             )
2499                         IO (Decode16,
2500                             0x0038,             // Range Minimum
2501                             0x0038,             // Range Maximum
2502                             0x01,               // Alignment
2503                             0x02,               // Length
2504                             )
2505                         IO (Decode16,
2506                             0x003C,             // Range Minimum
2507                             0x003C,             // Range Maximum
2508                             0x01,               // Alignment
2509                             0x02,               // Length
2510                             )
2511                         IO (Decode16,
2512                             0x00A0,             // Range Minimum
2513                             0x00A0,             // Range Maximum
2514                             0x01,               // Alignment
2515                             0x02,               // Length
2516                             )
2517                         IO (Decode16,
2518                             0x00A4,             // Range Minimum
2519                             0x00A4,             // Range Maximum
2520                             0x01,               // Alignment
2521                             0x02,               // Length
2522                             )
2523                         IO (Decode16,
2524                             0x00A8,             // Range Minimum
2525                             0x00A8,             // Range Maximum
2526                             0x01,               // Alignment
2527                             0x02,               // Length
2528                             )
2529                         IO (Decode16,
2530                             0x00AC,             // Range Minimum
2531                             0x00AC,             // Range Maximum
2532                             0x01,               // Alignment
2533                             0x02,               // Length
2534                             )
2535                         IO (Decode16,
2536                             0x00B0,             // Range Minimum
2537                             0x00B0,             // Range Maximum
2538                             0x01,               // Alignment
2539                             0x02,               // Length
2540                             )
2541                         IO (Decode16,
2542                             0x00B4,             // Range Minimum
2543                             0x00B4,             // Range Maximum
2544                             0x01,               // Alignment
2545                             0x02,               // Length
2546                             )
2547                         IO (Decode16,
2548                             0x00B8,             // Range Minimum
2549                             0x00B8,             // Range Maximum
2550                             0x01,               // Alignment
2551                             0x02,               // Length
2552                             )
2553                         IO (Decode16,
2554                             0x00BC,             // Range Minimum
2555                             0x00BC,             // Range Maximum
2556                             0x01,               // Alignment
2557                             0x02,               // Length
2558                             )
2559                         IO (Decode16,
2560                             0x04D0,             // Range Minimum
2561                             0x04D0,             // Range Maximum
2562                             0x01,               // Alignment
2563                             0x02,               // Length
2564                             )
2565                         IRQNoFlags ()
2566                             {2}
2567                     })
2568                 }
2569 
2570                 Device (MATH)
2571                 {
2572                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
2573                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2574                     {
2575                         IO (Decode16,
2576                             0x00F0,             // Range Minimum
2577                             0x00F0,             // Range Maximum
2578                             0x01,               // Alignment
2579                             0x01,               // Length
2580                             )
2581                         IRQNoFlags ()
2582                             {13}
2583                     })
2584                 }
2585 
2586                 Device (LDRC)
2587                 {
2588                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
2589                     Name (_UID, 0x02)  // _UID: Unique ID
2590                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2591                     {
2592                         IO (Decode16,
2593                             0x002E,             // Range Minimum
2594                             0x002E,             // Range Maximum
2595                             0x01,               // Alignment
2596                             0x02,               // Length
2597                             )
2598                         IO (Decode16,
2599                             0x004E,             // Range Minimum
2600                             0x004E,             // Range Maximum
2601                             0x01,               // Alignment
2602                             0x02,               // Length
2603                             )
2604                         IO (Decode16,
2605                             0x0061,             // Range Minimum
2606                             0x0061,             // Range Maximum
2607                             0x01,               // Alignment
2608                             0x01,               // Length
2609                             )
2610                         IO (Decode16,
2611                             0x0063,             // Range Minimum
2612                             0x0063,             // Range Maximum
2613                             0x01,               // Alignment
2614                             0x01,               // Length
2615                             )
2616                         IO (Decode16,
2617                             0x0065,             // Range Minimum
2618                             0x0065,             // Range Maximum
2619                             0x01,               // Alignment
2620                             0x01,               // Length
2621                             )
2622                         IO (Decode16,
2623                             0x0067,             // Range Minimum
2624                             0x0067,             // Range Maximum
2625                             0x01,               // Alignment
2626                             0x01,               // Length
2627                             )
2628                         IO (Decode16,
2629                             0x0070,             // Range Minimum
2630                             0x0070,             // Range Maximum
2631                             0x01,               // Alignment
2632                             0x01,               // Length
2633                             )
2634                         IO (Decode16,
2635                             0x0080,             // Range Minimum
2636                             0x0080,             // Range Maximum
2637                             0x01,               // Alignment
2638                             0x01,               // Length
2639                             )
2640                         IO (Decode16,
2641                             0x0092,             // Range Minimum
2642                             0x0092,             // Range Maximum
2643                             0x01,               // Alignment
2644                             0x01,               // Length
2645                             )
2646                         IO (Decode16,
2647                             0x00B2,             // Range Minimum
2648                             0x00B2,             // Range Maximum
2649                             0x01,               // Alignment
2650                             0x02,               // Length
2651                             )
2652                         IO (Decode16,
2653                             0x1000,             // Range Minimum
2654                             0x1000,             // Range Maximum
2655                             0x01,               // Alignment
2656                             0x10,               // Length
2657                             )
2658                         IO (Decode16,
2659                             0x1100,             // Range Minimum
2660                             0x1100,             // Range Maximum
2661                             0x01,               // Alignment
2662                             0x04,               // Length
2663                             )
2664                         IO (Decode16,
2665                             0x0400,             // Range Minimum
2666                             0x0400,             // Range Maximum
2667                             0x01,               // Alignment
2668                             0x80,               // Length
2669                             )
2670                         IO (Decode16,
2671                             0x0500,             // Range Minimum
2672                             0x0500,             // Range Maximum
2673                             0x01,               // Alignment
2674                             0x80,               // Length
2675                             )
2676                         IO (Decode16,
2677                             0x164E,             // Range Minimum
2678                             0x164E,             // Range Maximum
2679                             0x01,               // Alignment
2680                             0x02,               // Length
2681                             )
2682                     })
2683                 }
2684 
2685                 Device (RTC)
2686                 {
2687                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
2688                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2689                     {
2690                         IO (Decode16,
2691                             0x0070,             // Range Minimum
2692                             0x0070,             // Range Maximum
2693                             0x01,               // Alignment
2694                             0x08,               // Length
2695                             )
2696                         IRQNoFlags ()
2697                             {8}
2698                     })
2699                 }
2700 
2701                 Device (TIMR)
2702                 {
2703                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
2704                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2705                     {
2706                         IO (Decode16,
2707                             0x0040,             // Range Minimum
2708                             0x0040,             // Range Maximum
2709                             0x01,               // Alignment
2710                             0x04,               // Length
2711                             )
2712                         IO (Decode16,
2713                             0x0050,             // Range Minimum
2714                             0x0050,             // Range Maximum
2715                             0x10,               // Alignment
2716                             0x04,               // Length
2717                             )
2718                         IRQNoFlags ()
2719                             {0}
2720                     })
2721                 }
2722 
2723                 Device (CWDT)
2724                 {
2725                     Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */)  // _HID: Hardware ID
2726                     Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
2727                     Name (BUF0, ResourceTemplate ()
2728                     {
2729                         IO (Decode16,
2730                             0x0454,             // Range Minimum
2731                             0x0454,             // Range Maximum
2732                             0x04,               // Alignment
2733                             0x04,               // Length
2734                             )
2735                     })
2736                     Method (_STA, 0, Serialized)  // _STA: Status
2737                     {
2738                         Return (0x0F)
2739                     }
2740 
2741                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2742                     {
2743                         Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
2744                     }
2745                 }
2746 
2747                 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
2748                 Field (PKBS, ByteAcc, Lock, Preserve)
2749                 {
2750                     PKBD,   8, 
2751                     Offset (0x02), 
2752                     Offset (0x03), 
2753                     Offset (0x04), 
2754                     PKBC,   8
2755                 }
2756 
2757                 Device (PS2K)
2758                 {
2759                     Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
2760                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2761                     {
2762                         IO (Decode16,
2763                             0x0060,             // Range Minimum
2764                             0x0060,             // Range Maximum
2765                             0x01,               // Alignment
2766                             0x01,               // Length
2767                             )
2768                         IO (Decode16,
2769                             0x0064,             // Range Minimum
2770                             0x0064,             // Range Maximum
2771                             0x01,               // Alignment
2772                             0x01,               // Length
2773                             )
2774                         IRQ (Edge, ActiveHigh, Exclusive, )
2775                             {1}
2776                     })
2777                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
2778                     {
2779                         StartDependentFn (0x00, 0x00)
2780                         {
2781                             FixedIO (
2782                                 0x0060,             // Address
2783                                 0x01,               // Length
2784                                 )
2785                             FixedIO (
2786                                 0x0064,             // Address
2787                                 0x01,               // Length
2788                                 )
2789                             IRQNoFlags ()
2790                                 {1}
2791                         }
2792                         EndDependentFn ()
2793                     })
2794                 }
2795 
2796                 Device (PS2M)
2797                 {
2798                     Name (SYNP, 0x03272E4F)
2799                     Name (ALPS, 0x00059005)
2800                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
2801                     {
2802                         If (((SYSD & 0x38) == 0x00))
2803                         {
2804                             Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */
2805                         }
2806                         Else
2807                         {
2808                             Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */
2809                         }
2810                     }
2811 
2812                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
2813                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2814                     {
2815                         IRQ (Edge, ActiveHigh, Exclusive, )
2816                             {12}
2817                     })
2818                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
2819                     {
2820                         StartDependentFn (0x00, 0x00)
2821                         {
2822                             IRQNoFlags ()
2823                                 {12}
2824                         }
2825                         EndDependentFn ()
2826                     })
2827                 }
2828             }
2829 
2830             Device (SBUS)
2831             {
2832                 Name (_ADR, 0x001F0003)  // _ADR: Address
2833                 OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
2834                 Field (SMBP, DWordAcc, NoLock, Preserve)
2835                 {
2836                         ,   2, 
2837                     I2CE,   1
2838                 }
2839 
2840                 OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
2841                 Field (SMPB, DWordAcc, NoLock, Preserve)
2842                 {
2843                         ,   5, 
2844                     SBAR,   11
2845                 }
2846 
2847                 OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
2848                 Field (SMBI, ByteAcc, NoLock, Preserve)
2849                 {
2850                     HSTS,   8, 
2851                     Offset (0x02), 
2852                     HCON,   8, 
2853                     HCOM,   8, 
2854                     TXSA,   8, 
2855                     DAT0,   8, 
2856                     DAT1,   8, 
2857                     HBDR,   8, 
2858                     PECR,   8, 
2859                     RXSA,   8, 
2860                     SDAT,   16
2861                 }
2862 
2863                 Method (SSXB, 2, Serialized)
2864                 {
2865                     If (STRT ())
2866                     {
2867                         Return (0x00)
2868                     }
2869 
2870                     I2CE = 0x00
2871                     HSTS = 0xBF
2872                     TXSA = Arg0
2873                     HCOM = Arg1
2874                     HCON = 0x48
2875                     If (COMP ())
2876                     {
2877                         HSTS |= 0xFF
2878                         Return (0x01)
2879                     }
2880 
2881                     Return (0x00)
2882                 }
2883 
2884                 Method (SRXB, 1, Serialized)
2885                 {
2886                     If (STRT ())
2887                     {
2888                         Return (0xFFFF)
2889                     }
2890 
2891                     I2CE = 0x00
2892                     HSTS = 0xBF
2893                     TXSA = (Arg0 | 0x01)
2894                     HCON = 0x44
2895                     If (COMP ())
2896                     {
2897                         HSTS |= 0xFF
2898                         Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
2899                     }
2900 
2901                     Return (0xFFFF)
2902                 }
2903 
2904                 Method (SWRB, 3, Serialized)
2905                 {
2906                     If (STRT ())
2907                     {
2908                         Return (0x00)
2909                     }
2910 
2911                     I2CE = 0x00
2912                     HSTS = 0xBF
2913                     TXSA = Arg0
2914                     HCOM = Arg1
2915                     DAT0 = Arg2
2916                     HCON = 0x48
2917                     If (COMP ())
2918                     {
2919                         HSTS |= 0xFF
2920                         Return (0x01)
2921                     }
2922 
2923                     Return (0x00)
2924                 }
2925 
2926                 Method (SRDB, 2, Serialized)
2927                 {
2928                     If (STRT ())
2929                     {
2930                         Return (0xFFFF)
2931                     }
2932 
2933                     I2CE = 0x00
2934                     HSTS = 0xBF
2935                     TXSA = (Arg0 | 0x01)
2936                     HCOM = Arg1
2937                     HCON = 0x48
2938                     If (COMP ())
2939                     {
2940                         HSTS |= 0xFF
2941                         Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
2942                     }
2943 
2944                     Return (0xFFFF)
2945                 }
2946 
2947                 Method (SWRW, 3, Serialized)
2948                 {
2949                     If (STRT ())
2950                     {
2951                         Return (0x00)
2952                     }
2953 
2954                     I2CE = 0x00
2955                     HSTS = 0xBF
2956                     TXSA = Arg0
2957                     HCOM = Arg1
2958                     DAT1 = (Arg2 & 0xFF)
2959                     DAT0 = ((Arg2 >> 0x08) & 0xFF)
2960                     HCON = 0x4C
2961                     If (COMP ())
2962                     {
2963                         HSTS |= 0xFF
2964                         Return (0x01)
2965                     }
2966 
2967                     Return (0x00)
2968                 }
2969 
2970                 Method (SRDW, 2, Serialized)
2971                 {
2972                     If (STRT ())
2973                     {
2974                         Return (0xFFFF)
2975                     }
2976 
2977                     I2CE = 0x00
2978                     HSTS = 0xBF
2979                     TXSA = (Arg0 | 0x01)
2980                     HCOM = Arg1
2981                     HCON = 0x4C
2982                     If (COMP ())
2983                     {
2984                         HSTS |= 0xFF
2985                         Return (((DAT0 << 0x08) | DAT1))
2986                     }
2987 
2988                     Return (0xFFFFFFFF)
2989                 }
2990 
2991                 Method (SBLW, 4, Serialized)
2992                 {
2993                     If (STRT ())
2994                     {
2995                         Return (0x00)
2996                     }
2997 
2998                     I2CE = Arg3
2999                     HSTS = 0xBF
3000                     TXSA = Arg0
3001                     HCOM = Arg1
3002                     DAT0 = SizeOf (Arg2)
3003                     Local1 = 0x00
3004                     HBDR = DerefOf (Index (Arg2, 0x00))
3005                     HCON = 0x54
3006                     While ((SizeOf (Arg2) > Local1))
3007                     {
3008                         Local0 = 0x0FA0
3009                         While ((!(HSTS & 0x80) && Local0))
3010                         {
3011                             Local0--
3012                             Stall (0x32)
3013                         }
3014 
3015                         If (!Local0)
3016                         {
3017                             KILL ()
3018                             Return (0x00)
3019                         }
3020 
3021                         HSTS = 0x80
3022                         Local1++
3023                         If ((SizeOf (Arg2) > Local1))
3024                         {
3025                             HBDR = DerefOf (Index (Arg2, Local1))
3026                         }
3027                     }
3028 
3029                     If (COMP ())
3030                     {
3031                         HSTS |= 0xFF
3032                         Return (0x01)
3033                     }
3034 
3035                     Return (0x00)
3036                 }
3037 
3038                 Method (SBLR, 3, Serialized)
3039                 {
3040                     Name (TBUF, Buffer (0x0100) {})
3041                     If (STRT ())
3042                     {
3043                         Return (0x00)
3044                     }
3045 
3046                     I2CE = Arg2
3047                     HSTS = 0xBF
3048                     TXSA = (Arg0 | 0x01)
3049                     HCOM = Arg1
3050                     HCON = 0x54
3051                     Local0 = 0x0FA0
3052                     While ((!(HSTS & 0x80) && Local0))
3053                     {
3054                         Local0--
3055                         Stall (0x32)
3056                     }
3057 
3058                     If (!Local0)
3059                     {
3060                         KILL ()
3061                         Return (0x00)
3062                     }
3063 
3064                     Index (TBUF, 0x00) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
3065                     HSTS = 0x80
3066                     Local1 = 0x01
3067                     While ((Local1 < DerefOf (Index (TBUF, 0x00))))
3068                     {
3069                         Local0 = 0x0FA0
3070                         While ((!(HSTS & 0x80) && Local0))
3071                         {
3072                             Local0--
3073                             Stall (0x32)
3074                         }
3075 
3076                         If (!Local0)
3077                         {
3078                             KILL ()
3079                             Return (0x00)
3080                         }
3081 
3082                         Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */
3083                         HSTS = 0x80
3084                         Local1++
3085                     }
3086 
3087                     If (COMP ())
3088                     {
3089                         HSTS |= 0xFF
3090                         Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
3091                     }
3092 
3093                     Return (0x00)
3094                 }
3095 
3096                 Method (STRT, 0, Serialized)
3097                 {
3098                     Local0 = 0xC8
3099                     While (Local0)
3100                     {
3101                         If ((HSTS & 0x40))
3102                         {
3103                             Local0--
3104                             Sleep (0x01)
3105                             If ((Local0 == 0x00))
3106                             {
3107                                 Return (0x01)
3108                             }
3109                         }
3110                         Else
3111                         {
3112                             Local0 = 0x00
3113                         }
3114                     }
3115 
3116                     Local0 = 0x0FA0
3117                     While (Local0)
3118                     {
3119                         If ((HSTS & 0x01))
3120                         {
3121                             Local0--
3122                             Stall (0x32)
3123                             If ((Local0 == 0x00))
3124                             {
3125                                 KILL ()
3126                             }
3127                         }
3128                         Else
3129                         {
3130                             Return (0x00)
3131                         }
3132                     }
3133 
3134                     Return (0x01)
3135                 }
3136 
3137                 Method (COMP, 0, Serialized)
3138                 {
3139                     Local0 = 0x0FA0
3140                     While (Local0)
3141                     {
3142                         If ((HSTS & 0x02))
3143                         {
3144                             Return (0x01)
3145                         }
3146                         Else
3147                         {
3148                             Local0--
3149                             Stall (0x32)
3150                             If ((Local0 == 0x00))
3151                             {
3152                                 KILL ()
3153                             }
3154                         }
3155                     }
3156 
3157                     Return (0x00)
3158                 }
3159 
3160                 Method (KILL, 0, Serialized)
3161                 {
3162                     HCON |= 0x02
3163                     HSTS |= 0xFF
3164                 }
3165             }
3166 
3167             Device (USB1)
3168             {
3169                 Name (_ADR, 0x001D0001)  // _ADR: Address
3170                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3171                 Field (U1CS, DWordAcc, NoLock, Preserve)
3172                 {
3173                     U1EN,   2
3174                 }
3175 
3176                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3177                 {
3178                     If (Arg0)
3179                     {
3180                         U1EN = 0x03
3181                     }
3182                     Else
3183                     {
3184                         U1EN = 0x00
3185                     }
3186                 }
3187 
3188                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3189                 {
3190                     Return (0x02)
3191                 }
3192 
3193                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3194                 {
3195                     Return (0x02)
3196                 }
3197 
3198                 Device (HUBN)
3199                 {
3200                     Name (_ADR, 0x00)  // _ADR: Address
3201                     Device (PRT1)
3202                     {
3203                         Name (_ADR, 0x01)  // _ADR: Address
3204                     }
3205 
3206                     Device (PRT2)
3207                     {
3208                         Name (_ADR, 0x02)  // _ADR: Address
3209                     }
3210                 }
3211 
3212                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3213                 {
3214                     Return (GPRW (0x03, 0x03))
3215                 }
3216             }
3217 
3218             Device (USB2)
3219             {
3220                 Name (_ADR, 0x001D0002)  // _ADR: Address
3221                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3222                 Field (U1CS, DWordAcc, NoLock, Preserve)
3223                 {
3224                     U1EN,   2
3225                 }
3226 
3227                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3228                 {
3229                     If (Arg0)
3230                     {
3231                         U1EN = 0x03
3232                     }
3233                     Else
3234                     {
3235                         U1EN = 0x00
3236                     }
3237                 }
3238 
3239                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3240                 {
3241                     Return (0x02)
3242                 }
3243 
3244                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3245                 {
3246                     Return (0x02)
3247                 }
3248 
3249                 Device (HUBN)
3250                 {
3251                     Name (_ADR, 0x00)  // _ADR: Address
3252                     Device (PRT1)
3253                     {
3254                         Name (_ADR, 0x01)  // _ADR: Address
3255                     }
3256 
3257                     Device (PRT2)
3258                     {
3259                         Name (_ADR, 0x02)  // _ADR: Address
3260                     }
3261                 }
3262 
3263                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3264                 {
3265                     Return (GPRW (0x04, 0x03))
3266                 }
3267             }
3268 
3269             Device (USB3)
3270             {
3271                 Name (_ADR, 0x001D0003)  // _ADR: Address
3272                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3273                 Field (U1CS, DWordAcc, NoLock, Preserve)
3274                 {
3275                     U1EN,   2
3276                 }
3277 
3278                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3279                 {
3280                     If (Arg0)
3281                     {
3282                         U1EN = 0x03
3283                     }
3284                     Else
3285                     {
3286                         U1EN = 0x00
3287                     }
3288                 }
3289 
3290                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3291                 {
3292                     Return (0x02)
3293                 }
3294 
3295                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3296                 {
3297                     Return (0x02)
3298                 }
3299 
3300                 Device (HUBN)
3301                 {
3302                     Name (_ADR, 0x00)  // _ADR: Address
3303                     Device (PRT1)
3304                     {
3305                         Name (_ADR, 0x01)  // _ADR: Address
3306                     }
3307 
3308                     Device (PRT2)
3309                     {
3310                         Name (_ADR, 0x02)  // _ADR: Address
3311                     }
3312                 }
3313 
3314                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3315                 {
3316                     Return (GPRW (0x0C, 0x03))
3317                 }
3318             }
3319 
3320             Device (USB4)
3321             {
3322                 Name (_ADR, 0x001D0004)  // _ADR: Address
3323                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3324                 Field (U1CS, DWordAcc, NoLock, Preserve)
3325                 {
3326                     U1EN,   2
3327                 }
3328 
3329                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3330                 {
3331                     If (Arg0)
3332                     {
3333                         U1EN = 0x03
3334                     }
3335                     Else
3336                     {
3337                         U1EN = 0x00
3338                     }
3339                 }
3340 
3341                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3342                 {
3343                     Return (0x02)
3344                 }
3345 
3346                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3347                 {
3348                     Return (0x02)
3349                 }
3350 
3351                 Device (HUBN)
3352                 {
3353                     Name (_ADR, 0x00)  // _ADR: Address
3354                     Device (PRT1)
3355                     {
3356                         Name (_ADR, 0x01)  // _ADR: Address
3357                     }
3358 
3359                     Device (PRT2)
3360                     {
3361                         Name (_ADR, 0x02)  // _ADR: Address
3362                     }
3363                 }
3364 
3365                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3366                 {
3367                     Return (GPRW (0x0E, 0x03))
3368                 }
3369             }
3370 
3371             Device (USB5)
3372             {
3373                 Name (_ADR, 0x001A0001)  // _ADR: Address
3374                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3375                 Field (U1CS, DWordAcc, NoLock, Preserve)
3376                 {
3377                     U1EN,   2
3378                 }
3379 
3380                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3381                 {
3382                     If (Arg0)
3383                     {
3384                         U1EN = 0x03
3385                     }
3386                     Else
3387                     {
3388                         U1EN = 0x00
3389                     }
3390                 }
3391 
3392                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3393                 {
3394                     Return (0x02)
3395                 }
3396 
3397                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3398                 {
3399                     Return (0x02)
3400                 }
3401 
3402                 Device (HUBN)
3403                 {
3404                     Name (_ADR, 0x00)  // _ADR: Address
3405                     Device (PRT1)
3406                     {
3407                         Name (_ADR, 0x01)  // _ADR: Address
3408                     }
3409 
3410                     Device (PRT2)
3411                     {
3412                         Name (_ADR, 0x02)  // _ADR: Address
3413                     }
3414                 }
3415 
3416                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3417                 {
3418                     Return (GPRW (0x05, 0x03))
3419                 }
3420             }
3421 
3422             Device (USB6)
3423             {
3424                 Name (_ADR, 0x001A0002)  // _ADR: Address
3425                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3426                 Field (U1CS, DWordAcc, NoLock, Preserve)
3427                 {
3428                     U1EN,   2
3429                 }
3430 
3431                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3432                 {
3433                     If (Arg0)
3434                     {
3435                         U1EN = 0x03
3436                     }
3437                     Else
3438                     {
3439                         U1EN = 0x00
3440                     }
3441                 }
3442 
3443                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3444                 {
3445                     Return (0x02)
3446                 }
3447 
3448                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3449                 {
3450                     Return (0x02)
3451                 }
3452 
3453                 Device (HUBN)
3454                 {
3455                     Name (_ADR, 0x00)  // _ADR: Address
3456                     Device (PRT1)
3457                     {
3458                         Name (_ADR, 0x01)  // _ADR: Address
3459                     }
3460 
3461                     Device (PRT2)
3462                     {
3463                         Name (_ADR, 0x02)  // _ADR: Address
3464                     }
3465                 }
3466 
3467                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3468                 {
3469                     Return (GPRW (0x20, 0x03))
3470                 }
3471             }
3472 
3473             Device (USB7)
3474             {
3475                 Name (_ADR, 0x001A0003)  // _ADR: Address
3476                 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3477                 Field (U1CS, DWordAcc, NoLock, Preserve)
3478                 {
3479                     U1EN,   2
3480                 }
3481 
3482                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3483                 {
3484                     If (Arg0)
3485                     {
3486                         U1EN = 0x03
3487                     }
3488                     Else
3489                     {
3490                         U1EN = 0x00
3491                     }
3492                 }
3493 
3494                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3495                 {
3496                     Return (0x02)
3497                 }
3498 
3499                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
3500                 {
3501                     Return (0x02)
3502                 }
3503 
3504                 Device (HUBN)
3505                 {
3506                     Name (_ADR, 0x00)  // _ADR: Address
3507                     Device (PRT1)
3508                     {
3509                         Name (_ADR, 0x01)  // _ADR: Address
3510                     }
3511 
3512                     Device (PRT2)
3513                     {
3514                         Name (_ADR, 0x02)  // _ADR: Address
3515                     }
3516                 }
3517 
3518                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3519                 {
3520                     Return (GPRW (0x25, 0x03))
3521                 }
3522             }
3523 
3524             Device (EHC1)
3525             {
3526                 Name (_ADR, 0x001D0000)  // _ADR: Address
3527                 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
3528                 Field (PWKE, DWordAcc, NoLock, Preserve)
3529                 {
3530                         ,   1, 
3531                     PWUC,   8
3532                 }
3533 
3534                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3535                 {
3536                     If (Arg0)
3537                     {
3538                         PWUC = Ones
3539                     }
3540                     Else
3541                     {
3542                         PWUC = 0x00
3543                     }
3544                 }
3545 
3546                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3547                 {
3548                     Return (0x02)
3549                 }
3550 
3551                 Name (PLDT, Buffer (0x10) {})
3552                 CreateField (PLDT, 0x00, 0x20, DW00)
3553                 CreateField (PLDT, 0x20, 0x20, DW01)
3554                 CreateField (PLDT, 0x40, 0x20, DW02)
3555                 CreateField (PLDT, 0x60, 0x20, DW03)
3556                 Device (RHUB)
3557                 {
3558                     Name (_ADR, 0x00)  // _ADR: Address
3559                     Device (IHUB)
3560                     {
3561                         Name (_ADR, 0x01)  // _ADR: Address
3562                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3563                         {
3564                             0x00, 
3565                             0xFF, 
3566                             0x00, 
3567                             0x00
3568                         })
3569                         Device (PRT1)
3570                         {
3571                             Name (_ADR, 0x01)  // _ADR: Address
3572                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3573                             {
3574                                 0x00, 
3575                                 0xFF, 
3576                                 0x00, 
3577                                 0x00
3578                             })
3579                         }
3580 
3581                         Device (PRT2)
3582                         {
3583                             Name (_ADR, 0x02)  // _ADR: Address
3584                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3585                             {
3586                                 0xFF, 
3587                                 0x00, 
3588                                 0x00, 
3589                                 0x00
3590                             })
3591                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3592                             {
3593                                 DW00 = 0x81
3594                                 DW01 = 0x00
3595                                 DW02 = 0x1159
3596                                 DW03 = 0x03
3597                                 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3598                             }
3599                         }
3600 
3601                         Device (PRT3)
3602                         {
3603                             Name (_ADR, 0x03)  // _ADR: Address
3604                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3605                             {
3606                                 0xFF, 
3607                                 0x00, 
3608                                 0x00, 
3609                                 0x00
3610                             })
3611                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3612                             {
3613                                 DW00 = 0x81
3614                                 DW01 = 0x00
3615                                 DW02 = 0x1159
3616                                 DW03 = 0x03
3617                                 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3618                             }
3619                         }
3620 
3621                         Device (PRT4)
3622                         {
3623                             Name (_ADR, 0x04)  // _ADR: Address
3624                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3625                             {
3626                                 0x00, 
3627                                 0xFF, 
3628                                 0x00, 
3629                                 0x00
3630                             })
3631                         }
3632 
3633                         Device (PRT5)
3634                         {
3635                             Name (_ADR, 0x05)  // _ADR: Address
3636                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3637                             {
3638                                 0xFF, 
3639                                 0x00, 
3640                                 0x00, 
3641                                 0x00
3642                             })
3643                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3644                             {
3645                                 DW00 = 0x81
3646                                 DW01 = 0x00
3647                                 DW02 = 0x1159
3648                                 DW03 = 0x03
3649                                 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3650                             }
3651                         }
3652 
3653                         Device (PRT6)
3654                         {
3655                             Name (_ADR, 0x06)  // _ADR: Address
3656                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3657                             {
3658                                 0xFF, 
3659                                 0x00, 
3660                                 0x00, 
3661                                 0x00
3662                             })
3663                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3664                             {
3665                                 DW00 = 0x81
3666                                 DW01 = 0x00
3667                                 DW02 = 0x1159
3668                                 DW03 = 0x03
3669                                 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3670                             }
3671                         }
3672                     }
3673                 }
3674 
3675                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3676                 {
3677                     Return (GPRW (0x0D, 0x03))
3678                 }
3679             }
3680 
3681             Device (EHC2)
3682             {
3683                 Name (_ADR, 0x001A0000)  // _ADR: Address
3684                 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
3685                 Field (PWKE, DWordAcc, NoLock, Preserve)
3686                 {
3687                         ,   1, 
3688                     PWUC,   8
3689                 }
3690 
3691                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
3692                 {
3693                     If (Arg0)
3694                     {
3695                         PWUC = Ones
3696                     }
3697                     Else
3698                     {
3699                         PWUC = 0x00
3700                     }
3701                 }
3702 
3703                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
3704                 {
3705                     Return (0x02)
3706                 }
3707 
3708                 Name (PLDT, Buffer (0x10) {})
3709                 CreateField (PLDT, 0x00, 0x20, DW00)
3710                 CreateField (PLDT, 0x20, 0x20, DW01)
3711                 CreateField (PLDT, 0x40, 0x20, DW02)
3712                 CreateField (PLDT, 0x60, 0x20, DW03)
3713                 Device (RHUB)
3714                 {
3715                     Name (_ADR, 0x00)  // _ADR: Address
3716                     Device (IHUB)
3717                     {
3718                         Name (_ADR, 0x01)  // _ADR: Address
3719                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3720                         {
3721                             0x00, 
3722                             0xFF, 
3723                             0x00, 
3724                             0x00
3725                         })
3726                         Device (PRT1)
3727                         {
3728                             Name (_ADR, 0x01)  // _ADR: Address
3729                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3730                             {
3731                                 0x00, 
3732                                 0xFF, 
3733                                 0x00, 
3734                                 0x00
3735                             })
3736                         }
3737 
3738                         Device (PRT2)
3739                         {
3740                             Name (_ADR, 0x02)  // _ADR: Address
3741                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3742                             {
3743                                 0xFF, 
3744                                 0xFF, 
3745                                 0x00, 
3746                                 0x00
3747                             })
3748                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3749                             {
3750                                 DW00 = 0x81
3751                                 DW01 = 0x00
3752                                 DW02 = 0x00
3753                                 DW03 = 0x00
3754                                 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3755                             }
3756                         }
3757 
3758                         Device (PRT3)
3759                         {
3760                             Name (_ADR, 0x03)  // _ADR: Address
3761                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3762                             {
3763                                 0xFF, 
3764                                 0xFF, 
3765                                 0x00, 
3766                                 0x00
3767                             })
3768                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3769                             {
3770                                 DW00 = 0x81
3771                                 DW01 = 0x00
3772                                 DW02 = 0x00
3773                                 DW03 = 0x00
3774                                 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3775                             }
3776                         }
3777 
3778                         Device (PRT4)
3779                         {
3780                             Name (_ADR, 0x04)  // _ADR: Address
3781                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3782                             {
3783                                 0x00, 
3784                                 0xFF, 
3785                                 0x00, 
3786                                 0x00
3787                             })
3788                         }
3789 
3790                         Device (PRT5)
3791                         {
3792                             Name (_ADR, 0x05)  // _ADR: Address
3793                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3794                             {
3795                                 0x00, 
3796                                 0xFF, 
3797                                 0x00, 
3798                                 0x00
3799                             })
3800                         }
3801 
3802                         Device (PRT6)
3803                         {
3804                             Name (_ADR, 0x06)  // _ADR: Address
3805                             Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
3806                             {
3807                                 0xFF, 
3808                                 0xFF, 
3809                                 0x00, 
3810                                 0x00
3811                             })
3812                             Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
3813                             {
3814                                 DW00 = 0x81
3815                                 DW01 = 0x00
3816                                 DW02 = 0x00
3817                                 DW03 = 0x00
3818                                 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3819                             }
3820                         }
3821                     }
3822                 }
3823 
3824                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3825                 {
3826                     Return (GPRW (0x0D, 0x03))
3827                 }
3828             }
3829 
3830             Device (PEG0)
3831             {
3832                 Name (_ADR, 0x00010000)  // _ADR: Address
3833                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3834                 {
3835                     If (PICM)
3836                     {
3837                         Return (AR01 ())
3838                     }
3839 
3840                     Return (PR01 ())
3841                 }
3842 
3843                 Device (PEGP)
3844                 {
3845                     Name (_ADR, 0xFFFF)  // _ADR: Address
3846                 }
3847             }
3848 
3849             Device (HDEF)
3850             {
3851                 Name (_ADR, 0x001B0000)  // _ADR: Address
3852                 OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
3853                 Field (HDAR, WordAcc, NoLock, Preserve)
3854                 {
3855                     DCKA,   1, 
3856                     Offset (0x01), 
3857                     DCKM,   1, 
3858                         ,   6, 
3859                     DCKS,   1, 
3860                     Offset (0x08), 
3861                         ,   15, 
3862                     PMES,   1
3863                 }
3864             }
3865 
3866             Device (RP01)
3867             {
3868                 Name (_ADR, 0x001C0000)  // _ADR: Address
3869                 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
3870                 Field (PXCS, AnyAcc, NoLock, Preserve)
3871                 {
3872                     Offset (0x10), 
3873                     L0SE,   1, 
3874                     Offset (0x11), 
3875                     Offset (0x98), 
3876                         ,   30, 
3877                     HPEX,   1, 
3878                     PMEX,   1
3879                 }
3880 
3881                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
3882                 {
3883                     Offset (0x12), 
3884                         ,   13, 
3885                     LASX,   1, 
3886                     Offset (0x1A), 
3887                     ABPX,   1, 
3888                         ,   2, 
3889                     PDCX,   1, 
3890                         ,   2, 
3891                     PDSX,   1, 
3892                     Offset (0x1B), 
3893                     LSCX,   1, 
3894                     Offset (0x20), 
3895                     Offset (0x22), 
3896                     PSPX,   1, 
3897                     PMPD,   1, 
3898                     Offset (0x9C), 
3899                         ,   30, 
3900                     HPSX,   1, 
3901                     PMSX,   1
3902                 }
3903 
3904                 Device (PXSX)
3905                 {
3906                     Name (_ADR, 0x00)  // _ADR: Address
3907                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
3908                     {
3909                         0x09, 
3910                         0x03
3911                     })
3912                 }
3913 
3914                 Method (HPME, 0, Serialized)
3915                 {
3916                     If (PMSX)
3917                     {
3918                         Local0 = 0xC8
3919                         While (Local0)
3920                         {
3921                             PMSX = 0x01
3922                             If (PMSX)
3923                             {
3924                                 Local0--
3925                             }
3926                             Else
3927                             {
3928                                 Local0 = 0x00
3929                             }
3930                         }
3931 
3932                         Notify (PXSX, 0x02) // Device Wake
3933                         Return (0x01)
3934                     }
3935                     Else
3936                     {
3937                         Return (0x00)
3938                     }
3939                 }
3940 
3941                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3942                 {
3943                     If (PICM)
3944                     {
3945                         Return (AR02 ())
3946                     }
3947 
3948                     Return (PR02 ())
3949                 }
3950             }
3951 
3952             Device (RP02)
3953             {
3954                 Name (_ADR, 0x001C0001)  // _ADR: Address
3955                 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
3956                 Field (PXCS, AnyAcc, NoLock, Preserve)
3957                 {
3958                     Offset (0x10), 
3959                     L0SE,   1, 
3960                     Offset (0x11), 
3961                     Offset (0x98), 
3962                         ,   30, 
3963                     HPEX,   1, 
3964                     PMEX,   1
3965                 }
3966 
3967                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
3968                 {
3969                     Offset (0x12), 
3970                         ,   13, 
3971                     LASX,   1, 
3972                     Offset (0x1A), 
3973                     ABPX,   1, 
3974                         ,   2, 
3975                     PDCX,   1, 
3976                         ,   2, 
3977                     PDSX,   1, 
3978                     Offset (0x1B), 
3979                     LSCX,   1, 
3980                     Offset (0x20), 
3981                     Offset (0x22), 
3982                     PSPX,   1, 
3983                     PMPD,   1, 
3984                     Offset (0x9C), 
3985                         ,   30, 
3986                     HPSX,   1, 
3987                     PMSX,   1
3988                 }
3989 
3990                 Device (PXSX)
3991                 {
3992                     Name (_ADR, 0x00)  // _ADR: Address
3993                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
3994                     {
3995                         0x09, 
3996                         0x03
3997                     })
3998                 }
3999 
4000                 Method (HPME, 0, Serialized)
4001                 {
4002                     If (PMSX)
4003                     {
4004                         Local0 = 0xC8
4005                         While (Local0)
4006                         {
4007                             PMSX = 0x01
4008                             If (PMSX)
4009                             {
4010                                 Local0--
4011                             }
4012                             Else
4013                             {
4014                                 Local0 = 0x00
4015                             }
4016                         }
4017 
4018                         Notify (PXSX, 0x02) // Device Wake
4019                         Return (0x01)
4020                     }
4021                     Else
4022                     {
4023                         Return (0x00)
4024                     }
4025                 }
4026 
4027                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
4028                 {
4029                     If (PICM)
4030                     {
4031                         Return (AR03 ())
4032                     }
4033 
4034                     Return (PR03 ())
4035                 }
4036             }
4037 
4038             Device (RP03)
4039             {
4040                 Name (_ADR, 0x001C0002)  // _ADR: Address
4041                 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
4042                 Field (PXCS, AnyAcc, NoLock, Preserve)
4043                 {
4044                     Offset (0x10), 
4045                     L0SE,   1, 
4046                     Offset (0x11), 
4047                     Offset (0x98), 
4048                         ,   30, 
4049                     HPEX,   1, 
4050                     PMEX,   1
4051                 }
4052 
4053                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
4054                 {
4055                     Offset (0x12), 
4056                         ,   13, 
4057                     LASX,   1, 
4058                     Offset (0x1A), 
4059                     ABPX,   1, 
4060                         ,   2, 
4061                     PDCX,   1, 
4062                         ,   2, 
4063                     PDSX,   1, 
4064                     Offset (0x1B), 
4065                     LSCX,   1, 
4066                     Offset (0x20), 
4067                     Offset (0x22), 
4068                     PSPX,   1, 
4069                     PMPD,   1, 
4070                     Offset (0x9C), 
4071                         ,   30, 
4072                     HPSX,   1, 
4073                     PMSX,   1
4074                 }
4075 
4076                 Device (PXSX)
4077                 {
4078                     Name (_ADR, 0x00)  // _ADR: Address
4079                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4080                     {
4081                         0x09, 
4082                         0x03
4083                     })
4084                 }
4085 
4086                 Method (HPME, 0, Serialized)
4087                 {
4088                     If (PMSX)
4089                     {
4090                         Local0 = 0xC8
4091                         While (Local0)
4092                         {
4093                             PMSX = 0x01
4094                             If (PMSX)
4095                             {
4096                                 Local0--
4097                             }
4098                             Else
4099                             {
4100                                 Local0 = 0x00
4101                             }
4102                         }
4103 
4104                         Notify (PXSX, 0x02) // Device Wake
4105                         Return (0x01)
4106                     }
4107                     Else
4108                     {
4109                         Return (0x00)
4110                     }
4111                 }
4112 
4113                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
4114                 {
4115                     Return (GPRW (0x09, 0x03))
4116                 }
4117 
4118                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
4119                 {
4120                     If (PICM)
4121                     {
4122                         Return (AR04 ())
4123                     }
4124 
4125                     Return (PR04 ())
4126                 }
4127             }
4128 
4129             Device (RP04)
4130             {
4131                 Name (_ADR, 0x001C0003)  // _ADR: Address
4132                 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
4133                 Field (PXCS, AnyAcc, NoLock, Preserve)
4134                 {
4135                     Offset (0x10), 
4136                     L0SE,   1, 
4137                     Offset (0x11), 
4138                     Offset (0x98), 
4139                         ,   30, 
4140                     HPEX,   1, 
4141                     PMEX,   1
4142                 }
4143 
4144                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
4145                 {
4146                     Offset (0x12), 
4147                         ,   13, 
4148                     LASX,   1, 
4149                     Offset (0x1A), 
4150                     ABPX,   1, 
4151                         ,   2, 
4152                     PDCX,   1, 
4153                         ,   2, 
4154                     PDSX,   1, 
4155                     Offset (0x1B), 
4156                     LSCX,   1, 
4157                     Offset (0x20), 
4158                     Offset (0x22), 
4159                     PSPX,   1, 
4160                     PMPD,   1, 
4161                     Offset (0x9C), 
4162                         ,   30, 
4163                     HPSX,   1, 
4164                     PMSX,   1
4165                 }
4166 
4167                 Device (PXSX)
4168                 {
4169                     Name (_ADR, 0x00)  // _ADR: Address
4170                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
4171                     {
4172                         0x09, 
4173                         0x03
4174                     })
4175                 }
4176 
4177                 Method (HPME, 0, Serialized)
4178                 {
4179                     If (PMSX)
4180                     {
4181                         Local0 = 0xC8
4182                         While (Local0)
4183                         {
4184                             PMSX = 0x01
4185                             If (PMSX)
4186                             {
4187                                 Local0--
4188                             }
4189                             Else
4190                             {
4191                                 Local0 = 0x00
4192                             }
4193                         }
4194 
4195                         Notify (PXSX, 0x02) // Device Wake
4196                         Return (0x01)
4197                     }
4198                     Else
4199                     {
4200                         Return (0x00)
4201                     }
4202                 }
4203 
4204                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
4205                 {
4206                     Return (GPRW (0x09, 0x03))
4207                 }
4208 
4209                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
4210                 {
4211                     If (PICM)
4212                     {
4213                         Return (AR05 ())
4214                     }
4215 
4216                     Return (PR05 ())
4217                 }
4218 
4219                 Device (AGBE)
4220                 {
4221                     Name (_ADR, 0xFFFF)  // _ADR: Address
4222                 }
4223             }
4224         }
4225 
4226         Scope (\_GPE)
4227         {
4228             Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4229             {
4230                 Notify (\_SB.PCI0.B0D4, 0x02) // Device Wake
4231                 Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
4232                 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
4233             }
4234 
4235             Method (_L03, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4236             {
4237                 Notify (\_SB.PCI0.USB1, 0x02) // Device Wake
4238             }
4239 
4240             Method (_L04, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4241             {
4242                 Notify (\_SB.PCI0.USB2, 0x02) // Device Wake
4243             }
4244 
4245             Method (_L0C, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4246             {
4247                 Notify (\_SB.PCI0.USB3, 0x02) // Device Wake
4248             }
4249 
4250             Method (_L0E, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4251             {
4252                 Notify (\_SB.PCI0.USB4, 0x02) // Device Wake
4253             }
4254 
4255             Method (_L05, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4256             {
4257                 Notify (\_SB.PCI0.USB5, 0x02) // Device Wake
4258             }
4259 
4260             Method (_L20, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4261             {
4262                 Notify (\_SB.PCI0.USB6, 0x02) // Device Wake
4263             }
4264 
4265             Method (_L25, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4266             {
4267                 Notify (\_SB.PCI0.USB7, 0x02) // Device Wake
4268             }
4269 
4270             Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4271             {
4272                 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
4273                 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
4274             }
4275         }
4276     }
4277 
4278     Mutex (MUTX, 0x00)
4279     Scope (\)
4280     {
4281         Name (RTL0, Buffer (0x10)
4282         {
4283             /* 0000 */  0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36,  /* .....%-6 */
4284             /* 0008 */  0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF   /* AP_v.... */
4285         })
4286         Name (ICL0, Package (0x12)
4287         {
4288             0x64, 
4289             0x64, 
4290             0x0A, 
4291             0x10, 
4292             0x16, 
4293             0x1C, 
4294             0x22, 
4295             0x28, 
4296             0x2E, 
4297             0x34, 
4298             0x3A, 
4299             0x40, 
4300             0x46, 
4301             0x4C, 
4302             0x52, 
4303             0x58, 
4304             0x5E, 
4305             0x64
4306         })
4307         Name (I10B, Buffer (0x08) {})
4308         CreateField (I10B, 0x00, 0x08, I_AL)
4309         CreateField (I10B, 0x08, 0x08, I_AH)
4310         CreateField (I10B, 0x10, 0x08, I_BL)
4311         CreateField (I10B, 0x18, 0x08, I_BH)
4312         CreateField (I10B, 0x20, 0x08, I_CL)
4313         CreateField (I10B, 0x28, 0x08, I_CH)
4314         CreateField (I10B, 0x30, 0x08, I_DL)
4315         CreateField (I10B, 0x38, 0x08, I_DH)
4316         OperationRegion (XCMS, SystemIO, 0x72, 0x02)
4317         Field (XCMS, ByteAcc, NoLock, Preserve)
4318         {
4319             XIND,   8, 
4320             XDAT,   8
4321         }
4322 
4323         IndexField (XIND, XDAT, ByteAcc, NoLock, Preserve)
4324         {
4325             Offset (0x60), 
4326             CM60,   8, 
4327             CM61,   8, 
4328             Offset (0x6C), 
4329             CM6C,   8, 
4330             CM6D,   8, 
4331             CM6E,   8, 
4332             CM6F,   8, 
4333             Offset (0x75), 
4334             CM75,   8, 
4335             Offset (0x78), 
4336             ATFR,   8
4337         }
4338     }
4339 
4340     Name (BFER, 0x00)
4341     Mutex (RWCM, 0x00)
4342     Method (DBGC, 3, NotSerialized)
4343     {
4344     }
4345 
4346     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
4347     Field (PRT0, DWordAcc, Lock, Preserve)
4348     {
4349         P80H,   32
4350     }
4351 
4352     Method (P8XH, 2, Serialized)
4353     {
4354         If ((Arg0 == 0x00))
4355         {
4356             P80D = ((P80D & 0xFFFFFF00) | Arg1)
4357         }
4358 
4359         If ((Arg0 == 0x01))
4360         {
4361             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
4362         }
4363 
4364         If ((Arg0 == 0x02))
4365         {
4366             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
4367         }
4368 
4369         If ((Arg0 == 0x03))
4370         {
4371             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
4372         }
4373 
4374         P80H = P80D /* \P80D */
4375     }
4376 
4377     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
4378     Field (SPRT, ByteAcc, Lock, Preserve)
4379     {
4380         SSMP,   8
4381     }
4382 
4383     Method (\_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
4384     {
4385         GPIC = Arg0
4386         PICM = Arg0
4387     }
4388 
4389     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
4390     {
4391         \DBGC (0x50, Arg0, BCEN)
4392         P80D = 0x00
4393         P8XH (0x00, Arg0)
4394         CM75 = 0x00
4395         PHSB (0xEB, 0x00)
4396         If ((Arg0 == 0x03))
4397         {
4398             If ((DTSE && (TCNT > 0x01)))
4399             {
4400                 TRAP (\TRTD, 0x1E)
4401             }
4402 
4403             Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4404             LIDS = \_SB.PCI0.LPCB.EC.LSTE
4405             Release (\_SB.PCI0.LPCB.EC.MECR)
4406         }
4407 
4408         Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4409         PHSB (0xF9, 0x4A)
4410         Release (\_SB.PCI0.LPCB.EC.MECR)
4411         If ((DBGS == 0x00)) {}
4412         \DBGC (0x50, 0x80, BCEN)
4413     }
4414 
4415     Name (TEM1, 0x00)
4416     Name (TEM2, 0x00)
4417     Name (TEM3, 0x00)
4418     Method (_WAK, 1, Serialized)  // _WAK: Wake
4419     {
4420         \DBGC (0x53, Arg0, BCEN)
4421         P8XH (0x01, 0xAB)
4422         If (NEXP)
4423         {
4424             If ((OSCC & 0x02))
4425             {
4426                 \_SB.PCI0.NHPG ()
4427             }
4428 
4429             If ((OSCC & 0x04))
4430             {
4431                 \_SB.PCI0.NPME ()
4432             }
4433         }
4434 
4435         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
4436         {
4437             If (CM75)
4438             {
4439                 CM75 = 0x00
4440                 Notify (\_SB.PWRB, 0x02) // Device Wake
4441             }
4442 
4443             Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4444             TEM1 = \_SB.PCI0.LPCB.EC.RPWR
4445             TEM2 = \_SB.PCI0.LPCB.EC.BATP
4446             TEM3 = \_SB.PCI0.LPCB.EC.LSTE
4447             Release (\_SB.PCI0.LPCB.EC.MECR)
4448             If ((LIDS != TEM3))
4449             {
4450                 LIDS = TEM3 /* \TEM3 */
4451                 Notify (\_SB.LID0, 0x80) // Status Change
4452             }
4453 
4454             If ((PWRS != TEM1))
4455             {
4456                 PWRS = TEM1 /* \TEM1 */
4457                 Notify (\_SB.ADP1, 0x80) // Status Change
4458                 PNOT ()
4459             }
4460 
4461             If ((BNUM != TEM2))
4462             {
4463                 BNUM = TEM2 /* \TEM2 */
4464                 Notify (\_SB.BAT0, 0x81) // Information Change
4465             }
4466 
4467             If ((DTSE && (TCNT > 0x01)))
4468             {
4469                 TRAP (\TRTD, 0x14)
4470             }
4471 
4472             Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4473             If ((GP54 == 0x00))
4474             {
4475                 If (DGST)
4476                 {
4477                     PHSW (0xF9, 0x4B, 0x10)
4478                 }
4479                 Else
4480                 {
4481                     PHSB (0xF9, 0x4A)
4482                 }
4483             }
4484             Else
4485             {
4486                 Local0 = (SYSD & 0x07)
4487                 If ((Local0 != 0x00))
4488                 {
4489                     PHSW (0xF9, 0x4B, 0x10)
4490                 }
4491             }
4492 
4493             Release (\_SB.PCI0.LPCB.EC.MECR)
4494             If ((RP1D == 0x00))
4495             {
4496                 Notify (\_SB.PCI0.RP01, 0x00) // Bus Check
4497             }
4498 
4499             If ((RP2D == 0x00))
4500             {
4501                 Notify (\_SB.PCI0.RP02, 0x00) // Bus Check
4502             }
4503 
4504             If ((RP3D == 0x00))
4505             {
4506                 Notify (\_SB.PCI0.RP03, 0x00) // Bus Check
4507             }
4508 
4509             If ((RP4D == 0x00))
4510             {
4511                 Notify (\_SB.PCI0.RP04, 0x00) // Bus Check
4512             }
4513         }
4514 
4515         \DBGC (0x53, 0x80, BCEN)
4516         Return (Package (0x02)
4517         {
4518             0x00, 
4519             0x00
4520         })
4521     }
4522 
4523     Method (GETB, 3, Serialized)
4524     {
4525         Local0 = (Arg0 * 0x08)
4526         Local1 = (Arg1 * 0x08)
4527         CreateField (Arg2, Local0, Local1, TBF3)
4528         Return (TBF3) /* \GETB.TBF3 */
4529     }
4530 
4531     Method (PNOT, 0, Serialized)
4532     {
4533         If ((TCNT > 0x01))
4534         {
4535             If ((PDC0 & 0x08))
4536             {
4537                 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4538                 If ((PDC0 & 0x10))
4539                 {
4540                     Sleep (0x64)
4541                     Notify (\_PR.CPU0, 0x81) // C-State Change
4542                 }
4543             }
4544 
4545             If ((PDC1 & 0x08))
4546             {
4547                 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
4548                 If ((PDC1 & 0x10))
4549                 {
4550                     Sleep (0x64)
4551                     Notify (\_PR.CPU1, 0x81) // C-State Change
4552                 }
4553             }
4554 
4555             If ((PDC2 & 0x08))
4556             {
4557                 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
4558                 If ((PDC2 & 0x10))
4559                 {
4560                     Sleep (0x64)
4561                     Notify (\_PR.CPU2, 0x81) // C-State Change
4562                 }
4563             }
4564 
4565             If ((PDC3 & 0x08))
4566             {
4567                 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
4568                 If ((PDC3 & 0x10))
4569                 {
4570                     Sleep (0x64)
4571                     Notify (\_PR.CPU3, 0x81) // C-State Change
4572                 }
4573             }
4574 
4575             If ((PDC4 & 0x08))
4576             {
4577                 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
4578                 If ((PDC4 & 0x10))
4579                 {
4580                     Sleep (0x64)
4581                     Notify (\_PR.CPU4, 0x81) // C-State Change
4582                 }
4583             }
4584 
4585             If ((PDC5 & 0x08))
4586             {
4587                 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
4588                 If ((PDC5 & 0x10))
4589                 {
4590                     Sleep (0x64)
4591                     Notify (\_PR.CPU5, 0x81) // C-State Change
4592                 }
4593             }
4594 
4595             If ((PDC6 & 0x08))
4596             {
4597                 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
4598                 If ((PDC6 & 0x10))
4599                 {
4600                     Sleep (0x64)
4601                     Notify (\_PR.CPU6, 0x81) // C-State Change
4602                 }
4603             }
4604 
4605             If ((PDC7 & 0x08))
4606             {
4607                 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
4608                 If ((PDC7 & 0x10))
4609                 {
4610                     Sleep (0x64)
4611                     Notify (\_PR.CPU7, 0x81) // C-State Change
4612                 }
4613             }
4614         }
4615         Else
4616         {
4617             Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4618             Sleep (0x64)
4619             Notify (\_PR.CPU0, 0x81) // C-State Change
4620         }
4621     }
4622 
4623     Method (TRAP, 2, Serialized)
4624     {
4625         SMIF = Arg1
4626         If ((Arg0 == \TRTP))
4627         {
4628             TRP0 = 0x00
4629         }
4630 
4631         Return (SMIF) /* \SMIF */
4632     }
4633 
4634     Scope (\_SB.PCI0)
4635     {
4636         Method (_INI, 0, NotSerialized)  // _INI: Initialize
4637         {
4638             OSYS = 0x07D0
4639             If (CondRefOf (\_OSI, Local0))
4640             {
4641                 If (\_OSI ("Linux"))
4642                 {
4643                     OSYS = 0x03E8
4644                 }
4645 
4646                 If (\_OSI ("Windows 2001"))
4647                 {
4648                     OSYS = 0x07D1
4649                 }
4650 
4651                 If (\_OSI ("Windows 2001 SP1"))
4652                 {
4653                     OSYS = 0x07D1
4654                 }
4655 
4656                 If (\_OSI ("Windows 2001 SP2"))
4657                 {
4658                     OSYS = 0x07D2
4659                 }
4660 
4661                 If (\_OSI ("Windows 2001.1"))
4662                 {
4663                     OSYS = 0x07D3
4664                 }
4665 
4666                 If (\_OSI ("Windows 2006"))
4667                 {
4668                     OSYS = 0x07D6
4669                 }
4670 
4671                 If (\_OSI ("Windows 2009"))
4672                 {
4673                     OSYS = 0x07D9
4674                 }
4675             }
4676 
4677             If (((OSYS == 0x07D1) || (OSYS == 0x07D2)))
4678             {
4679                 Local1 = 0x00
4680                 Local1 = PHS (0xC1)
4681                 Local1 &= 0x0F
4682                 If ((Local1 > 0x0F))
4683                 {
4684                     Local1 = 0x0F
4685                     PHSB (0xC2, Local1)
4686                 }
4687 
4688                 Local2 = DerefOf (Index (\BTL0, Local1))
4689                 If ((IGDS & IGDS))
4690                 {
4691                     BRTL = Local2
4692                 }
4693                 Else
4694                 {
4695                     ALER = 0x00
4696                     Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02)
4697                     Local3 = DerefOf (Index (RTL0, Local3))
4698                     BRTL = Local2
4699                     I_AL = 0x82
4700                     I_AH = 0xA0
4701                     I_BL = 0x05
4702                     I_BH = 0x01
4703                     I_CL = Local3
4704                     PHDD (0xE2, I10B)
4705                 }
4706             }
4707         }
4708 
4709         Method (NHPG, 0, Serialized)
4710         {
4711             ^RP01.HPEX = 0x00
4712             ^RP02.HPEX = 0x00
4713             ^RP03.HPEX = 0x00
4714             ^RP04.HPEX = 0x00
4715             ^RP01.HPSX = 0x01
4716             ^RP02.HPSX = 0x01
4717             ^RP03.HPSX = 0x01
4718             ^RP04.HPSX = 0x01
4719         }
4720 
4721         Method (NPME, 0, Serialized)
4722         {
4723             ^RP01.PMEX = 0x00
4724             ^RP02.PMEX = 0x00
4725             ^RP03.PMEX = 0x00
4726             ^RP04.PMEX = 0x00
4727             ^RP01.PMSX = 0x01
4728             ^RP02.PMSX = 0x01
4729             ^RP03.PMSX = 0x01
4730             ^RP04.PMSX = 0x01
4731         }
4732     }
4733 
4734     Scope (\)
4735     {
4736         Name (PICM, 0x00)
4737         Name (PRWP, Package (0x02)
4738         {
4739             Zero, 
4740             Zero
4741         })
4742         Method (GPRW, 2, NotSerialized)
4743         {
4744             Index (PRWP, 0x00) = Arg0
4745             Local0 = (SS1 << 0x01)
4746             Local0 |= (SS2 << 0x02)
4747             Local0 |= (SS3 << 0x03)
4748             Local0 |= (SS4 << 0x04)
4749             If (((0x01 << Arg1) & Local0))
4750             {
4751                 Index (PRWP, 0x01) = Arg1
4752             }
4753             Else
4754             {
4755                 Local0 >>= 0x01
4756                 FindSetLeftBit (Local0, Index (PRWP, 0x01))
4757             }
4758 
4759             Return (PRWP) /* \PRWP */
4760         }
4761     }
4762 
4763     Scope (\_SB.PCI0)
4764     {
4765         Device (GFX0)
4766         {
4767             Name (_ADR, 0x00020000)  // _ADR: Address
4768             Method (PCPC, 0, NotSerialized)
4769             {
4770             }
4771 
4772             Method (PAPR, 0, NotSerialized)
4773             {
4774             }
4775 
4776             Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
4777             {
4778                 \DBGC (0x66, 0x01, BCEN)
4779                 DSEN = (Arg0 & 0x07)
4780                 If (((Arg0 & 0x03) == 0x00))
4781                 {
4782                     If (CondRefOf (HDOS))
4783                     {
4784                         HDOS ()
4785                     }
4786                 }
4787             }
4788 
4789             Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
4790             {
4791                 \DBGC (0x66, 0x02, BCEN)
4792                 If (CondRefOf (IDAB))
4793                 {
4794                     IDAB ()
4795                 }
4796                 Else
4797                 {
4798                     NDID = 0x00
4799                     If ((DIDL != Zero))
4800                     {
4801                         DID1 = SDDL (DIDL)
4802                     }
4803 
4804                     If ((DDL2 != Zero))
4805                     {
4806                         DID2 = SDDL (DDL2)
4807                     }
4808 
4809                     If ((DDL3 != Zero))
4810                     {
4811                         DID3 = SDDL (DDL3)
4812                     }
4813 
4814                     If ((DDL4 != Zero))
4815                     {
4816                         DID4 = SDDL (DDL4)
4817                     }
4818 
4819                     If ((DDL5 != Zero))
4820                     {
4821                         DID5 = SDDL (DDL5)
4822                     }
4823 
4824                     If ((DDL6 != Zero))
4825                     {
4826                         DID6 = SDDL (DDL6)
4827                     }
4828 
4829                     If ((DDL7 != Zero))
4830                     {
4831                         DID7 = SDDL (DDL7)
4832                     }
4833 
4834                     If ((DDL8 != Zero))
4835                     {
4836                         DID8 = SDDL (DDL8)
4837                     }
4838                 }
4839 
4840                 If ((NDID == 0x01))
4841                 {
4842                     Name (TMP1, Package (0x01)
4843                     {
4844                         0xFFFFFFFF
4845                     })
4846                     Index (TMP1, 0x00) = (0x00010000 | DID1)
4847                     Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
4848                 }
4849 
4850                 If ((NDID == 0x02))
4851                 {
4852                     Name (TMP2, Package (0x02)
4853                     {
4854                         0xFFFFFFFF, 
4855                         0xFFFFFFFF
4856                     })
4857                     Index (TMP2, 0x00) = (0x00010000 | DID1)
4858                     Index (TMP2, 0x01) = (0x00010000 | DID2)
4859                     Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
4860                 }
4861 
4862                 If ((NDID == 0x03))
4863                 {
4864                     Name (TMP3, Package (0x03)
4865                     {
4866                         0xFFFFFFFF, 
4867                         0xFFFFFFFF, 
4868                         0xFFFFFFFF
4869                     })
4870                     Index (TMP3, 0x00) = (0x00010000 | DID1)
4871                     Index (TMP3, 0x01) = (0x00010000 | DID2)
4872                     Index (TMP3, 0x02) = (0x00010000 | DID3)
4873                     Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
4874                 }
4875 
4876                 If ((NDID == 0x04))
4877                 {
4878                     Name (TMP4, Package (0x04)
4879                     {
4880                         0xFFFFFFFF, 
4881                         0xFFFFFFFF, 
4882                         0xFFFFFFFF, 
4883                         0xFFFFFFFF
4884                     })
4885                     Index (TMP4, 0x00) = (0x00010000 | DID1)
4886                     Index (TMP4, 0x01) = (0x00010000 | DID2)
4887                     Index (TMP4, 0x02) = (0x00010000 | DID3)
4888                     Index (TMP4, 0x03) = (0x00010000 | DID4)
4889                     Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
4890                 }
4891 
4892                 If ((NDID == 0x05))
4893                 {
4894                     Name (TMP5, Package (0x05)
4895                     {
4896                         0xFFFFFFFF, 
4897                         0xFFFFFFFF, 
4898                         0xFFFFFFFF, 
4899                         0xFFFFFFFF, 
4900                         0xFFFFFFFF
4901                     })
4902                     Index (TMP5, 0x00) = (0x00010000 | DID1)
4903                     Index (TMP5, 0x01) = (0x00010000 | DID2)
4904                     Index (TMP5, 0x02) = (0x00010000 | DID3)
4905                     Index (TMP5, 0x03) = (0x00010000 | DID4)
4906                     Index (TMP5, 0x04) = (0x00010000 | DID5)
4907                     Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
4908                 }
4909 
4910                 If ((NDID == 0x06))
4911                 {
4912                     Name (TMP6, Package (0x06)
4913                     {
4914                         0xFFFFFFFF, 
4915                         0xFFFFFFFF, 
4916                         0xFFFFFFFF, 
4917                         0xFFFFFFFF, 
4918                         0xFFFFFFFF, 
4919                         0xFFFFFFFF
4920                     })
4921                     Index (TMP6, 0x00) = (0x00010000 | DID1)
4922                     Index (TMP6, 0x01) = (0x00010000 | DID2)
4923                     Index (TMP6, 0x02) = (0x00010000 | DID3)
4924                     Index (TMP6, 0x03) = (0x00010000 | DID4)
4925                     Index (TMP6, 0x04) = (0x00010000 | DID5)
4926                     Index (TMP6, 0x05) = (0x00010000 | DID6)
4927                     Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
4928                 }
4929 
4930                 If ((NDID == 0x07))
4931                 {
4932                     Name (TMP7, Package (0x07)
4933                     {
4934                         0xFFFFFFFF, 
4935                         0xFFFFFFFF, 
4936                         0xFFFFFFFF, 
4937                         0xFFFFFFFF, 
4938                         0xFFFFFFFF, 
4939                         0xFFFFFFFF, 
4940                         0xFFFFFFFF
4941                     })
4942                     Index (TMP7, 0x00) = (0x00010000 | DID1)
4943                     Index (TMP7, 0x01) = (0x00010000 | DID2)
4944                     Index (TMP7, 0x02) = (0x00010000 | DID3)
4945                     Index (TMP7, 0x03) = (0x00010000 | DID4)
4946                     Index (TMP7, 0x04) = (0x00010000 | DID5)
4947                     Index (TMP7, 0x05) = (0x00010000 | DID6)
4948                     Index (TMP7, 0x06) = (0x00010000 | DID7)
4949                     Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
4950                 }
4951 
4952                 If ((NDID == 0x08))
4953                 {
4954                     Name (TMP8, Package (0x08)
4955                     {
4956                         0xFFFFFFFF, 
4957                         0xFFFFFFFF, 
4958                         0xFFFFFFFF, 
4959                         0xFFFFFFFF, 
4960                         0xFFFFFFFF, 
4961                         0xFFFFFFFF, 
4962                         0xFFFFFFFF, 
4963                         0xFFFFFFFF
4964                     })
4965                     Index (TMP8, 0x00) = (0x00010000 | DID1)
4966                     Index (TMP8, 0x01) = (0x00010000 | DID2)
4967                     Index (TMP8, 0x02) = (0x00010000 | DID3)
4968                     Index (TMP8, 0x03) = (0x00010000 | DID4)
4969                     Index (TMP8, 0x04) = (0x00010000 | DID5)
4970                     Index (TMP8, 0x05) = (0x00010000 | DID6)
4971                     Index (TMP8, 0x06) = (0x00010000 | DID7)
4972                     Index (TMP8, 0x07) = (0x00010000 | DID8)
4973                     Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
4974                 }
4975 
4976                 If ((NDID == 0x09))
4977                 {
4978                     If (CondRefOf (HWID))
4979                     {
4980                         Return (HWID) /* External reference */
4981                     }
4982                 }
4983 
4984                 Return (Package (0x01)
4985                 {
4986                     0x0400
4987                 })
4988             }
4989 
4990             Name (RTL0, Buffer (0x10)
4991             {
4992                 /* 0000 */  0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36,  /* .....%-6 */
4993                 /* 0008 */  0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF   /* AP_v.... */
4994             })
4995             Name (ICL0, Package (0x12)
4996             {
4997                 0x64, 
4998                 0x64, 
4999                 0x0A, 
5000                 0x10, 
5001                 0x16, 
5002                 0x1C, 
5003                 0x22, 
5004                 0x28, 
5005                 0x2E, 
5006                 0x34, 
5007                 0x3A, 
5008                 0x40, 
5009                 0x46, 
5010                 0x4C, 
5011                 0x52, 
5012                 0x58, 
5013                 0x5E, 
5014                 0x64
5015             })
5016             Device (DD01)
5017             {
5018                 Method (_ADR, 0, Serialized)  // _ADR: Address
5019                 {
5020                     If ((DID1 == 0x00))
5021                     {
5022                         Return (0x01)
5023                     }
5024                     Else
5025                     {
5026                         Return ((0xFFFF & DID1))
5027                     }
5028                 }
5029 
5030                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5031                 {
5032                     Return (CDDS (DID1))
5033                 }
5034 
5035                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5036                 {
5037                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5038                     {
5039                         Return (NXD1) /* \NXD1 */
5040                     }
5041 
5042                     Return (NDDS (DID1))
5043                 }
5044 
5045                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5046                 {
5047                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5048                     {
5049                         CSTE = NSTE /* \NSTE */
5050                     }
5051                 }
5052             }
5053 
5054             Device (DD02)
5055             {
5056                 Method (_ADR, 0, Serialized)  // _ADR: Address
5057                 {
5058                     If ((DID2 == 0x00))
5059                     {
5060                         Return (0x02)
5061                     }
5062                     Else
5063                     {
5064                         Return ((0xFFFF & DID2))
5065                     }
5066                 }
5067 
5068                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5069                 {
5070                     If ((LIDS == 0x00))
5071                     {
5072                         Return (0x00)
5073                     }
5074 
5075                     Return (CDDS (DID2))
5076                 }
5077 
5078                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5079                 {
5080                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5081                     {
5082                         Return (NXD2) /* \NXD2 */
5083                     }
5084 
5085                     Return (NDDS (DID2))
5086                 }
5087 
5088                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5089                 {
5090                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5091                     {
5092                         CSTE = NSTE /* \NSTE */
5093                     }
5094                 }
5095 
5096                 Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
5097                 {
5098                     Return (ICL0) /* \_SB_.PCI0.GFX0.ICL0 */
5099                 }
5100 
5101                 Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
5102                 {
5103                     PHSD (0xDA, 0x08)
5104                     Local1 = PHS (0xFA)
5105                     Local1 &= 0x01
5106                     If (Local1)
5107                     {
5108                         ALER = 0x01
5109                         BRTL = Arg0
5110                         Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
5111                     }
5112                     Else
5113                     {
5114                         ALER = 0x00
5115                         If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
5116                         {
5117                             Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02)
5118                             Local0 = DerefOf (Index (RTL0, Local0))
5119                             \_SB.PCI0.GFX0.AINT (0x01, Local0)
5120                             BRTL = Arg0
5121                         }
5122                     }
5123 
5124                     \DBGC (0x66, 0x81, BCEN)
5125                 }
5126 
5127                 Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
5128                 {
5129                     \DBGC (0x66, 0x82, BCEN)
5130                     Return (BRTL) /* \BRTL */
5131                 }
5132             }
5133 
5134             Device (DD03)
5135             {
5136                 Method (_ADR, 0, Serialized)  // _ADR: Address
5137                 {
5138                     If ((DID3 == 0x00))
5139                     {
5140                         Return (0x03)
5141                     }
5142                     Else
5143                     {
5144                         Return ((0xFFFF & DID3))
5145                     }
5146                 }
5147 
5148                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5149                 {
5150                     If ((DID3 == 0x00))
5151                     {
5152                         Return (0x0B)
5153                     }
5154                     Else
5155                     {
5156                         Return (CDDS (DID3))
5157                     }
5158                 }
5159 
5160                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5161                 {
5162                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5163                     {
5164                         Return (NXD3) /* \NXD3 */
5165                     }
5166 
5167                     Return (NDDS (DID3))
5168                 }
5169 
5170                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5171                 {
5172                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5173                     {
5174                         CSTE = NSTE /* \NSTE */
5175                     }
5176                 }
5177             }
5178 
5179             Device (DD04)
5180             {
5181                 Method (_ADR, 0, Serialized)  // _ADR: Address
5182                 {
5183                     If ((DID4 == 0x00))
5184                     {
5185                         Return (0x04)
5186                     }
5187                     Else
5188                     {
5189                         Return ((0xFFFF & DID4))
5190                     }
5191                 }
5192 
5193                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5194                 {
5195                     If ((DID4 == 0x00))
5196                     {
5197                         Return (0x0B)
5198                     }
5199                     Else
5200                     {
5201                         Return (CDDS (DID4))
5202                     }
5203                 }
5204 
5205                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5206                 {
5207                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5208                     {
5209                         Return (NXD4) /* \NXD4 */
5210                     }
5211 
5212                     Return (NDDS (DID4))
5213                 }
5214 
5215                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5216                 {
5217                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5218                     {
5219                         CSTE = NSTE /* \NSTE */
5220                     }
5221                 }
5222             }
5223 
5224             Device (DD05)
5225             {
5226                 Method (_ADR, 0, Serialized)  // _ADR: Address
5227                 {
5228                     If ((DID5 == 0x00))
5229                     {
5230                         Return (0x05)
5231                     }
5232                     Else
5233                     {
5234                         Return ((0xFFFF & DID5))
5235                     }
5236                 }
5237 
5238                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5239                 {
5240                     If ((DID5 == 0x00))
5241                     {
5242                         Return (0x0B)
5243                     }
5244                     Else
5245                     {
5246                         Return (CDDS (DID5))
5247                     }
5248                 }
5249 
5250                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5251                 {
5252                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5253                     {
5254                         Return (NXD5) /* \NXD5 */
5255                     }
5256 
5257                     Return (NDDS (DID5))
5258                 }
5259 
5260                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5261                 {
5262                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5263                     {
5264                         CSTE = NSTE /* \NSTE */
5265                     }
5266                 }
5267             }
5268 
5269             Device (DD06)
5270             {
5271                 Method (_ADR, 0, Serialized)  // _ADR: Address
5272                 {
5273                     If ((DID6 == 0x00))
5274                     {
5275                         Return (0x06)
5276                     }
5277                     Else
5278                     {
5279                         Return ((0xFFFF & DID6))
5280                     }
5281                 }
5282 
5283                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5284                 {
5285                     If ((DID6 == 0x00))
5286                     {
5287                         Return (0x0B)
5288                     }
5289                     Else
5290                     {
5291                         Return (CDDS (DID6))
5292                     }
5293                 }
5294 
5295                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5296                 {
5297                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5298                     {
5299                         Return (NXD6) /* \NXD6 */
5300                     }
5301 
5302                     Return (NDDS (DID6))
5303                 }
5304 
5305                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5306                 {
5307                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5308                     {
5309                         CSTE = NSTE /* \NSTE */
5310                     }
5311                 }
5312             }
5313 
5314             Device (DD07)
5315             {
5316                 Method (_ADR, 0, Serialized)  // _ADR: Address
5317                 {
5318                     If ((DID7 == 0x00))
5319                     {
5320                         Return (0x07)
5321                     }
5322                     Else
5323                     {
5324                         Return ((0xFFFF & DID7))
5325                     }
5326                 }
5327 
5328                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5329                 {
5330                     If ((DID7 == 0x00))
5331                     {
5332                         Return (0x0B)
5333                     }
5334                     Else
5335                     {
5336                         Return (CDDS (DID7))
5337                     }
5338                 }
5339 
5340                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5341                 {
5342                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5343                     {
5344                         Return (NXD7) /* \NXD7 */
5345                     }
5346 
5347                     Return (NDDS (DID7))
5348                 }
5349 
5350                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5351                 {
5352                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5353                     {
5354                         CSTE = NSTE /* \NSTE */
5355                     }
5356                 }
5357             }
5358 
5359             Device (DD08)
5360             {
5361                 Method (_ADR, 0, Serialized)  // _ADR: Address
5362                 {
5363                     If ((DID8 == 0x00))
5364                     {
5365                         Return (0x08)
5366                     }
5367                     Else
5368                     {
5369                         Return ((0xFFFF & DID8))
5370                     }
5371                 }
5372 
5373                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
5374                 {
5375                     If ((DID8 == 0x00))
5376                     {
5377                         Return (0x0B)
5378                     }
5379                     Else
5380                     {
5381                         Return (CDDS (DID8))
5382                     }
5383                 }
5384 
5385                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
5386                 {
5387                     If (((SGMD == 0x01) && CondRefOf (SNXD)))
5388                     {
5389                         Return (NXD8) /* \NXD8 */
5390                     }
5391 
5392                     Return (NDDS (DID8))
5393                 }
5394 
5395                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
5396                 {
5397                     If (((Arg0 & 0xC0000000) == 0xC0000000))
5398                     {
5399                         CSTE = NSTE /* \NSTE */
5400                     }
5401                 }
5402             }
5403 
5404             Method (SDDL, 1, NotSerialized)
5405             {
5406                 NDID++
5407                 Local0 = (Arg0 & 0x0F0F)
5408                 Local1 = (0x80000000 | Local0)
5409                 If ((DIDL == Local0))
5410                 {
5411                     Return (Local1)
5412                 }
5413 
5414                 If ((DDL2 == Local0))
5415                 {
5416                     Return (Local1)
5417                 }
5418 
5419                 If ((DDL3 == Local0))
5420                 {
5421                     Return (Local1)
5422                 }
5423 
5424                 If ((DDL4 == Local0))
5425                 {
5426                     Return (Local1)
5427                 }
5428 
5429                 If ((DDL5 == Local0))
5430                 {
5431                     Return (Local1)
5432                 }
5433 
5434                 If ((DDL6 == Local0))
5435                 {
5436                     Return (Local1)
5437                 }
5438 
5439                 If ((DDL7 == Local0))
5440                 {
5441                     Return (Local1)
5442                 }
5443 
5444                 If ((DDL8 == Local0))
5445                 {
5446                     Return (Local1)
5447                 }
5448 
5449                 Return (0x00)
5450             }
5451 
5452             Method (CDDS, 1, NotSerialized)
5453             {
5454                 Local0 = (Arg0 & 0x0F0F)
5455                 If ((0x00 == Local0))
5456                 {
5457                     Return (0x1D)
5458                 }
5459 
5460                 If ((CADL == Local0))
5461                 {
5462                     Return (0x1F)
5463                 }
5464 
5465                 If ((CAL2 == Local0))
5466                 {
5467                     Return (0x1F)
5468                 }
5469 
5470                 If ((CAL3 == Local0))
5471                 {
5472                     Return (0x1F)
5473                 }
5474 
5475                 If ((CAL4 == Local0))
5476                 {
5477                     Return (0x1F)
5478                 }
5479 
5480                 If ((CAL5 == Local0))
5481                 {
5482                     Return (0x1F)
5483                 }
5484 
5485                 If ((CAL6 == Local0))
5486                 {
5487                     Return (0x1F)
5488                 }
5489 
5490                 If ((CAL7 == Local0))
5491                 {
5492                     Return (0x1F)
5493                 }
5494 
5495                 If ((CAL8 == Local0))
5496                 {
5497                     Return (0x1F)
5498                 }
5499 
5500                 Return (0x1D)
5501             }
5502 
5503             Method (NDDS, 1, NotSerialized)
5504             {
5505                 Local0 = (Arg0 & 0x0F0F)
5506                 If ((0x00 == Local0))
5507                 {
5508                     Return (0x00)
5509                 }
5510 
5511                 If ((NADL == Local0))
5512                 {
5513                     Return (0x01)
5514                 }
5515 
5516                 If ((NDL2 == Local0))
5517                 {
5518                     Return (0x01)
5519                 }
5520 
5521                 If ((NDL3 == Local0))
5522                 {
5523                     Return (0x01)
5524                 }
5525 
5526                 If ((NDL4 == Local0))
5527                 {
5528                     Return (0x01)
5529                 }
5530 
5531                 If ((NDL5 == Local0))
5532                 {
5533                     Return (0x01)
5534                 }
5535 
5536                 If ((NDL6 == Local0))
5537                 {
5538                     Return (0x01)
5539                 }
5540 
5541                 If ((NDL7 == Local0))
5542                 {
5543                     Return (0x01)
5544                 }
5545 
5546                 If ((NDL8 == Local0))
5547                 {
5548                     Return (0x01)
5549                 }
5550 
5551                 Return (0x00)
5552             }
5553 
5554             Scope (\_SB.PCI0)
5555             {
5556                 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
5557                 Field (MCHP, AnyAcc, NoLock, Preserve)
5558                 {
5559                     Offset (0x60), 
5560                     TASM,   10, 
5561                     Offset (0x62)
5562                 }
5563             }
5564 
5565             OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
5566             Field (IGDP, AnyAcc, NoLock, Preserve)
5567             {
5568                 Offset (0x12), 
5569                     ,   1, 
5570                 GIVD,   1, 
5571                     ,   2, 
5572                 GUMA,   3, 
5573                 Offset (0x14), 
5574                     ,   4, 
5575                 GMFN,   1, 
5576                 Offset (0x18), 
5577                 Offset (0xA4), 
5578                 ASLE,   8, 
5579                 Offset (0xA8), 
5580                 GSSE,   1, 
5581                 GSSB,   14, 
5582                 GSES,   1, 
5583                 Offset (0xB0), 
5584                     ,   12, 
5585                 CDVL,   1, 
5586                 Offset (0xB2), 
5587                 Offset (0xB5), 
5588                 LBPC,   8, 
5589                 Offset (0xBC), 
5590                 ASLS,   32
5591             }
5592 
5593             OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
5594             Field (IGDM, AnyAcc, NoLock, Preserve)
5595             {
5596                 SIGN,   128, 
5597                 SIZE,   32, 
5598                 OVER,   32, 
5599                 SVER,   256, 
5600                 VVER,   128, 
5601                 GVER,   128, 
5602                 MBOX,   32, 
5603                 DMOD,   32, 
5604                 Offset (0x100), 
5605                 DRDY,   32, 
5606                 CSTS,   32, 
5607                 CEVT,   32, 
5608                 Offset (0x120), 
5609                 DIDL,   32, 
5610                 DDL2,   32, 
5611                 DDL3,   32, 
5612                 DDL4,   32, 
5613                 DDL5,   32, 
5614                 DDL6,   32, 
5615                 DDL7,   32, 
5616                 DDL8,   32, 
5617                 CPDL,   32, 
5618                 CPL2,   32, 
5619                 CPL3,   32, 
5620                 CPL4,   32, 
5621                 CPL5,   32, 
5622                 CPL6,   32, 
5623                 CPL7,   32, 
5624                 CPL8,   32, 
5625                 CADL,   32, 
5626                 CAL2,   32, 
5627                 CAL3,   32, 
5628                 CAL4,   32, 
5629                 CAL5,   32, 
5630                 CAL6,   32, 
5631                 CAL7,   32, 
5632                 CAL8,   32, 
5633                 NADL,   32, 
5634                 NDL2,   32, 
5635                 NDL3,   32, 
5636                 NDL4,   32, 
5637                 NDL5,   32, 
5638                 NDL6,   32, 
5639                 NDL7,   32, 
5640                 NDL8,   32, 
5641                 ASLP,   32, 
5642                 TIDX,   32, 
5643                 CHPD,   32, 
5644                 CLID,   32, 
5645                 CDCK,   32, 
5646                 SXSW,   32, 
5647                 EVTS,   32, 
5648                 CNOT,   32, 
5649                 NRDY,   32, 
5650                 Offset (0x200), 
5651                 SCIE,   1, 
5652                 GEFC,   4, 
5653                 GXFC,   3, 
5654                 GESF,   8, 
5655                 Offset (0x204), 
5656                 PARM,   32, 
5657                 DSLP,   32, 
5658                 Offset (0x300), 
5659                 ARDY,   32, 
5660                 ASLC,   32, 
5661                 TCHE,   32, 
5662                 ALSI,   32, 
5663                 BCLP,   32, 
5664                 PFIT,   32, 
5665                 CBLV,   32, 
5666                 BCLM,   320, 
5667                 CPFM,   32, 
5668                 EPFM,   32, 
5669                 PLUT,   592, 
5670                 PFMB,   32, 
5671                 CCDV,   32, 
5672                 PCFT,   32, 
5673                 Offset (0x400), 
5674                 GVD1,   49152, 
5675                 PHED,   32, 
5676                 BDDC,   2048
5677             }
5678 
5679             Name (DBTB, Package (0x15)
5680             {
5681                 0x00, 
5682                 0x07, 
5683                 0x38, 
5684                 0x01C0, 
5685                 0x0E00, 
5686                 0x3F, 
5687                 0x01C7, 
5688                 0x0E07, 
5689                 0x01F8, 
5690                 0x0E38, 
5691                 0x0FC0, 
5692                 0x00, 
5693                 0x00, 
5694                 0x00, 
5695                 0x00, 
5696                 0x00, 
5697                 0x7000, 
5698                 0x7007, 
5699                 0x7038, 
5700                 0x71C0, 
5701                 0x7E00
5702             })
5703             Name (CDCT, Package (0x05)
5704             {
5705                 Package (0x02)
5706                 {
5707                     0xE4, 
5708                     0x0140
5709                 }, 
5710 
5711                 Package (0x02)
5712                 {
5713                     0xDE, 
5714                     0x014D
5715                 }, 
5716 
5717                 Package (0x02)
5718                 {
5719                     0xDE, 
5720                     0x014D
5721                 }, 
5722 
5723                 Package (0x02)
5724                 {
5725                     0x00, 
5726                     0x00
5727                 }, 
5728 
5729                 Package (0x02)
5730                 {
5731                     0xDE, 
5732                     0x014D
5733                 }
5734             })
5735             Name (SUCC, 0x01)
5736             Name (NVLD, 0x02)
5737             Name (CRIT, 0x04)
5738             Name (NCRT, 0x06)
5739             Method (GSCI, 0, Serialized)
5740             {
5741                 If ((GESF == 0x08))
5742                 {
5743                     If (SGIN)
5744                     {
5745                         Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
5746                         PHSW (0xF9, 0x4B, 0x0C)
5747                         Release (\_SB.PCI0.LPCB.EC.MECR)
5748                         SGIN = 0x00
5749                         DGST = 0x01
5750                     }
5751                 }
5752 
5753                 Method (GBDA, 0, Serialized)
5754                 {
5755                     If ((GESF == 0x00))
5756                     {
5757                         PARM = 0x0679
5758                         GESF = Zero
5759                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5760                     }
5761 
5762                     If ((GESF == 0x01))
5763                     {
5764                         PARM = 0x0240
5765                         GESF = Zero
5766                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5767                     }
5768 
5769                     If ((GESF == 0x04))
5770                     {
5771                         PARM &= 0xEFFF0000
5772                         PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
5773                         PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
5774                         GESF = Zero
5775                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5776                     }
5777 
5778                     If ((GESF == 0x05))
5779                     {
5780                         PARM = IPSC /* \IPSC */
5781                         PARM |= (IPAT << 0x08)
5782                         PARM += 0x0100
5783                         PARM |= (LIDS << 0x10)
5784                         PARM += 0x00010000
5785                         PARM |= (IBIA << 0x14)
5786                         GESF = Zero
5787                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5788                     }
5789 
5790                     If ((GESF == 0x06))
5791                     {
5792                         PARM = ITVF /* \ITVF */
5793                         PARM |= (ITVM << 0x04)
5794                         GESF = Zero
5795                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5796                     }
5797 
5798                     If ((GESF == 0x07))
5799                     {
5800                         PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
5801                         PARM ^= 0x01
5802                         PARM |= (GMFN << 0x01)
5803                         PARM |= (0x03 << 0x0B)
5804                         PARM |= (IDMS << 0x11)
5805                         PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 
5806                             0x15) /* \_SB_.PCI0.GFX0.PARM */
5807                         GESF = 0x01
5808                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5809                     }
5810 
5811                     If ((GESF == 0x0A))
5812                     {
5813                         PARM = 0x00
5814                         If (ISSC)
5815                         {
5816                             PARM |= 0x03
5817                         }
5818 
5819                         GESF = 0x00
5820                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5821                     }
5822 
5823                     If ((GESF == 0x0B))
5824                     {
5825                         PARM = KSV0 /* \KSV0 */
5826                         GESF = KSV1 /* \KSV1 */
5827                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5828                     }
5829 
5830                     GESF = Zero
5831                     Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5832                 }
5833 
5834                 Method (SBCB, 0, Serialized)
5835                 {
5836                     If ((GESF == 0x00))
5837                     {
5838                         PARM = 0x00
5839                         PARM = 0x000F87FD
5840                         GESF = Zero
5841                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5842                     }
5843 
5844                     If ((GESF == 0x01))
5845                     {
5846                         GESF = Zero
5847                         PARM = Zero
5848                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5849                     }
5850 
5851                     If ((GESF == 0x03))
5852                     {
5853                         GESF = Zero
5854                         PARM = Zero
5855                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5856                     }
5857 
5858                     If ((GESF == 0x04))
5859                     {
5860                         GESF = Zero
5861                         PARM = Zero
5862                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5863                     }
5864 
5865                     If ((GESF == 0x05))
5866                     {
5867                         GESF = Zero
5868                         PARM = Zero
5869                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5870                     }
5871 
5872                     If ((GESF == 0x06))
5873                     {
5874                         ITVF = (PARM & 0x0F)
5875                         ITVM = ((PARM & 0xF0) >> 0x04)
5876                         GESF = Zero
5877                         PARM = Zero
5878                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5879                     }
5880 
5881                     If ((GESF == 0x07))
5882                     {
5883                         If ((PARM == 0x00))
5884                         {
5885                             Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
5886                             If ((0x80000000 & Local0))
5887                             {
5888                                 CLID &= 0x0F
5889                                 GLID (CLID)
5890                             }
5891                         }
5892 
5893                         GESF = Zero
5894                         PARM = Zero
5895                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5896                     }
5897 
5898                     If ((GESF == 0x08))
5899                     {
5900                         GESF = Zero
5901                         PARM = Zero
5902                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5903                     }
5904 
5905                     If ((GESF == 0x09))
5906                     {
5907                         IBTT = (PARM & 0xFF)
5908                         GESF = Zero
5909                         PARM = Zero
5910                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5911                     }
5912 
5913                     If ((GESF == 0x0A))
5914                     {
5915                         IPSC = (PARM & 0xFF)
5916                         If (((PARM >> 0x08) & 0xFF))
5917                         {
5918                             IPAT = ((PARM >> 0x08) & 0xFF)
5919                             IPAT--
5920                         }
5921 
5922                         IBIA = ((PARM >> 0x14) & 0x07)
5923                         GESF = Zero
5924                         PARM = Zero
5925                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5926                     }
5927 
5928                     If ((GESF == 0x0B))
5929                     {
5930                         IF1E = ((PARM >> 0x01) & 0x01)
5931                         If ((PARM & (0x0F << 0x0D)))
5932                         {
5933                             IDMS = ((PARM >> 0x0D) & 0x0F)
5934                         }
5935                         Else
5936                         {
5937                             IDMS = ((PARM >> 0x11) & 0x0F)
5938                         }
5939 
5940                         GESF = Zero
5941                         PARM = Zero
5942                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5943                     }
5944 
5945                     If ((GESF == 0x10))
5946                     {
5947                         GESF = Zero
5948                         PARM = Zero
5949                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5950                     }
5951 
5952                     If ((GESF == 0x11))
5953                     {
5954                         PARM = (LIDS << 0x08)
5955                         PARM += 0x0100
5956                         GESF = Zero
5957                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5958                     }
5959 
5960                     If ((GESF == 0x12))
5961                     {
5962                         If ((PARM & 0x01))
5963                         {
5964                             If (((PARM >> 0x01) == 0x01))
5965                             {
5966                                 ISSC = 0x01
5967                             }
5968                             Else
5969                             {
5970                                 GESF = Zero
5971                                 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5972                             }
5973                         }
5974                         Else
5975                         {
5976                             ISSC = 0x00
5977                         }
5978 
5979                         GESF = Zero
5980                         PARM = Zero
5981                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5982                     }
5983 
5984                     If ((GESF == 0x13))
5985                     {
5986                         GESF = Zero
5987                         PARM = Zero
5988                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5989                     }
5990 
5991                     If ((GESF == 0x14))
5992                     {
5993                         PAVP = (PARM & 0x0F)
5994                         GESF = Zero
5995                         PARM = Zero
5996                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5997                     }
5998 
5999                     GESF = Zero
6000                     Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6001                 }
6002 
6003                 If ((GEFC == 0x04))
6004                 {
6005                     GXFC = GBDA ()
6006                 }
6007 
6008                 If ((GEFC == 0x06))
6009                 {
6010                     GXFC = SBCB ()
6011                 }
6012 
6013                 GEFC = 0x00
6014                 SCIS = 0x01
6015                 GSSE = 0x00
6016                 SCIE = 0x00
6017                 Return (Zero)
6018             }
6019 
6020             Method (PDRD, 0, NotSerialized)
6021             {
6022                 If (!DRDY)
6023                 {
6024                     Sleep (ASLP)
6025                 }
6026 
6027                 Return (!DRDY)
6028             }
6029 
6030             Method (PSTS, 0, NotSerialized)
6031             {
6032                 If ((CSTS > 0x02))
6033                 {
6034                     Sleep (ASLP)
6035                 }
6036 
6037                 Return ((CSTS == 0x03))
6038             }
6039 
6040             Method (GNOT, 2, NotSerialized)
6041             {
6042                 If (PDRD ())
6043                 {
6044                     Return (0x01)
6045                 }
6046 
6047                 CEVT = Arg0
6048                 CSTS = 0x03
6049                 If (((CHPD == 0x00) && (Arg1 == 0x00)))
6050                 {
6051                     If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
6052                     {
6053                         Notify (\_SB.PCI0, Arg1)
6054                     }
6055                     Else
6056                     {
6057                         Notify (\_SB.PCI0.GFX0, Arg1)
6058                     }
6059                 }
6060 
6061                 If (CondRefOf (HNOT))
6062                 {
6063                     HNOT (Arg0)
6064                 }
6065                 Else
6066                 {
6067                     Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
6068                 }
6069 
6070                 Return (0x00)
6071             }
6072 
6073             Method (GHDS, 1, NotSerialized)
6074             {
6075                 TIDX = Arg0
6076                 Return (GNOT (0x01, 0x00))
6077             }
6078 
6079             Method (GLID, 1, NotSerialized)
6080             {
6081                 If ((Arg0 == 0x01))
6082                 {
6083                     CLID = 0x03
6084                 }
6085                 Else
6086                 {
6087                     CLID = Arg0
6088                 }
6089 
6090                 Return (GNOT (0x02, 0x00))
6091             }
6092 
6093             Method (GDCK, 1, NotSerialized)
6094             {
6095                 CDCK = Arg0
6096                 Return (GNOT (0x04, 0x00))
6097             }
6098 
6099             Method (PARD, 0, NotSerialized)
6100             {
6101                 If (!ARDY)
6102                 {
6103                     Sleep (ASLP)
6104                 }
6105 
6106                 Return (!ARDY)
6107             }
6108 
6109             Method (AINT, 2, NotSerialized)
6110             {
6111                 If (!(TCHE & (0x01 << Arg0)))
6112                 {
6113                     Return (0x01)
6114                 }
6115 
6116                 If (PARD ())
6117                 {
6118                     Return (0x01)
6119                 }
6120 
6121                 If ((Arg0 == 0x02))
6122                 {
6123                     If (CPFM)
6124                     {
6125                         Local0 = (CPFM & 0x0F)
6126                         Local1 = (EPFM & 0x0F)
6127                         If ((Local0 == 0x01))
6128                         {
6129                             If ((Local1 & 0x06))
6130                             {
6131                                 PFIT = 0x06
6132                             }
6133                             Else
6134                             {
6135                                 If ((Local1 & 0x08))
6136                                 {
6137                                     PFIT = 0x08
6138                                 }
6139                                 Else
6140                                 {
6141                                     PFIT = 0x01
6142                                 }
6143                             }
6144                         }
6145 
6146                         If ((Local0 == 0x06))
6147                         {
6148                             If ((Local1 & 0x08))
6149                             {
6150                                 PFIT = 0x08
6151                             }
6152                             Else
6153                             {
6154                                 If ((Local1 & 0x01))
6155                                 {
6156                                     PFIT = 0x01
6157                                 }
6158                                 Else
6159                                 {
6160                                     PFIT = 0x06
6161                                 }
6162                             }
6163                         }
6164 
6165                         If ((Local0 == 0x08))
6166                         {
6167                             If ((Local1 & 0x01))
6168                             {
6169                                 PFIT = 0x01
6170                             }
6171                             Else
6172                             {
6173                                 If ((Local1 & 0x06))
6174                                 {
6175                                     PFIT = 0x06
6176                                 }
6177                                 Else
6178                                 {
6179                                     PFIT = 0x08
6180                                 }
6181                             }
6182                         }
6183                     }
6184                     Else
6185                     {
6186                         PFIT ^= 0x07
6187                     }
6188 
6189                     PFIT |= 0x80000000
6190                     ASLC = 0x04
6191                 }
6192                 Else
6193                 {
6194                     If ((Arg0 == 0x01))
6195                     {
6196                         BCLP &= 0xFFFF0000
6197                         If (((BCLP & 0x30000000) == 0x30000000))
6198                         {
6199                             BCLP |= (Arg1 * 0x64) /* \_SB_.PCI0.GFX0.BCLP */
6200                         }
6201                         Else
6202                         {
6203                             If (((BCLP & 0x30000000) == 0x20000000))
6204                             {
6205                                 BCLP |= (Arg1 * 0x0A) /* \_SB_.PCI0.GFX0.BCLP */
6206                             }
6207                             Else
6208                             {
6209                                 If (((BCLP & 0x30000000) == 0x10000000))
6210                                 {
6211                                     BCLP |= Arg1 /* \_SB_.PCI0.GFX0.BCLP */
6212                                 }
6213                                 Else
6214                                 {
6215                                     BCLP = Arg1
6216                                 }
6217                             }
6218                         }
6219 
6220                         BCLP |= 0x80000000
6221                         ASLC = 0x02
6222                     }
6223                     Else
6224                     {
6225                         If ((Arg0 == 0x00))
6226                         {
6227                             ALSI = Arg1
6228                             ASLC = 0x01
6229                         }
6230                         Else
6231                         {
6232                             Return (0x01)
6233                         }
6234                     }
6235                 }
6236 
6237                 ASLE = 0x01
6238                 Return (0x00)
6239             }
6240 
6241             Method (SCIP, 0, NotSerialized)
6242             {
6243                 If ((OVER != 0x00))
6244                 {
6245                     Return (!GSMI)
6246                 }
6247 
6248                 Return (0x00)
6249             }
6250 
6251             Device (\_SB.MEM2)
6252             {
6253                 Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
6254                 Name (_UID, 0x02)  // _UID: Unique ID
6255                 Name (CRS, ResourceTemplate ()
6256                 {
6257                     Memory32Fixed (ReadWrite,
6258                         0x20000000,         // Address Base
6259                         0x00200000,         // Address Length
6260                         )
6261                     Memory32Fixed (ReadWrite,
6262                         0x40000000,         // Address Base
6263                         0x00200000,         // Address Length
6264                         )
6265                 })
6266                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6267                 {
6268                     If (IGDS)
6269                     {
6270                         Return (CRS) /* \_SB_.MEM2.CRS_ */
6271                     }
6272                 }
6273             }
6274 
6275             Method (SBRI, 1, NotSerialized)
6276             {
6277                 If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
6278                 {
6279                     \_SB.PCI0.GFX0.AINT (0x01, Arg0)
6280                 }
6281             }
6282 
6283             Method (GBRI, 0, NotSerialized)
6284             {
6285                 Local0 = BCLP /* \_SB_.PCI0.GFX0.BCLP */
6286                 Local0 &= 0xFF
6287                 Return (Local0)
6288             }
6289         }
6290     }
6291 
6292     Scope (\)
6293     {
6294         OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
6295         Field (IO_T, ByteAcc, NoLock, Preserve)
6296         {
6297             TRPI,   16, 
6298             Offset (0x04), 
6299             Offset (0x06), 
6300             Offset (0x08), 
6301             TRP0,   8, 
6302             Offset (0x0A), 
6303             Offset (0x0B), 
6304             Offset (0x0C), 
6305             Offset (0x0D), 
6306             Offset (0x0E), 
6307             Offset (0x0F), 
6308             Offset (0x10)
6309         }
6310 
6311         OperationRegion (PMIO, SystemIO, 0x0400, 0x80)
6312         Field (PMIO, ByteAcc, NoLock, Preserve)
6313         {
6314             Offset (0x28), 
6315             Offset (0x2A), 
6316                 ,   3, 
6317             GPE3,   1, 
6318             Offset (0x3C), 
6319                 ,   1, 
6320             UPRW,   1, 
6321             Offset (0x42), 
6322                 ,   1, 
6323             GPEC,   1
6324         }
6325 
6326         Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
6327         {
6328             Offset (0x20), 
6329             Offset (0x22), 
6330                 ,   3, 
6331             GPS3,   1, 
6332             Offset (0x64), 
6333                 ,   9, 
6334             SCIS,   1, 
6335             Offset (0x66)
6336         }
6337 
6338         OperationRegion (GPIO, SystemIO, 0x0500, 0x64)
6339         Field (GPIO, ByteAcc, NoLock, Preserve)
6340         {
6341             GU00,   8, 
6342             GU01,   8, 
6343             GU02,   8, 
6344             GU03,   8, 
6345             GIO0,   8, 
6346             GIO1,   8, 
6347             GIO2,   8, 
6348             GIO3,   8, 
6349             Offset (0x0C), 
6350             GL00,   8, 
6351             GL01,   8, 
6352             GL02,   8, 
6353                 ,   3, 
6354             GP27,   1, 
6355             GP28,   1, 
6356             Offset (0x10), 
6357             Offset (0x18), 
6358             GB00,   8, 
6359             GB01,   8, 
6360             GB02,   8, 
6361             GB03,   8, 
6362             Offset (0x2C), 
6363             GIV0,   8, 
6364             GIV1,   8, 
6365             GIV2,   8, 
6366             GIV3,   8, 
6367             GU04,   8, 
6368             GU05,   8, 
6369             GU06,   8, 
6370             GU07,   8, 
6371             GIO4,   8, 
6372             GIO5,   8, 
6373             GIO6,   8, 
6374             GIO7,   8, 
6375             GL04,   8, 
6376             GL05,   8, 
6377                 ,   6, 
6378             GP54,   1, 
6379             Offset (0x3B), 
6380             GL07,   8, 
6381             Offset (0x40), 
6382             GU08,   8, 
6383             GU09,   8, 
6384             GU0A,   8, 
6385             GU0B,   8, 
6386             GIO8,   8, 
6387             GIO9,   8, 
6388             GIOA,   8, 
6389             GIOB,   8, 
6390                 ,   4, 
6391             GPKB,   1, 
6392             Offset (0x49), 
6393             GL09,   8, 
6394             GL0A,   8, 
6395             GL0B,   8
6396         }
6397 
6398         OperationRegion (RCRB, SystemMemory, \SRCB, 0x4000)
6399         Field (RCRB, DWordAcc, Lock, Preserve)
6400         {
6401             Offset (0x1000), 
6402             Offset (0x3000), 
6403             Offset (0x3404), 
6404             HPAS,   2, 
6405                 ,   5, 
6406             HPAE,   1, 
6407             Offset (0x3418), 
6408                 ,   1, 
6409                 ,   1, 
6410             SATD,   1, 
6411             SMBD,   1, 
6412             HDAD,   1, 
6413             Offset (0x341A), 
6414             RP1D,   1, 
6415             RP2D,   1, 
6416             RP3D,   1, 
6417             RP4D,   1, 
6418             RP5D,   1, 
6419             RP6D,   1, 
6420             RP7D,   1, 
6421             RP8D,   1, 
6422             Offset (0x359C), 
6423             UP0D,   1, 
6424             UP1D,   1, 
6425             UP2D,   1, 
6426             UP3D,   1, 
6427             UP4D,   1, 
6428             UP5D,   1, 
6429             UP6D,   1, 
6430             UP7D,   1, 
6431             UP8D,   1, 
6432             UP9D,   1, 
6433             UPAD,   1, 
6434             UPBD,   1, 
6435             UPCD,   1, 
6436             UPDD,   1, 
6437                 ,   1, 
6438             Offset (0x359E)
6439         }
6440     }
6441 
6442     Scope (\_SB.PCI0)
6443     {
6444         Device (SAT0)
6445         {
6446             Name (_ADR, 0x001F0002)  // _ADR: Address
6447         }
6448     }
6449 
6450     Scope (\_PR)
6451     {
6452         Processor (CPU0, 0x01, 0x00000410, 0x06) {}
6453         Processor (CPU1, 0x02, 0x00000410, 0x06) {}
6454         Processor (CPU2, 0x03, 0x00000410, 0x06) {}
6455         Processor (CPU3, 0x04, 0x00000410, 0x06) {}
6456         Processor (CPU4, 0x05, 0x00000410, 0x06) {}
6457         Processor (CPU5, 0x06, 0x00000410, 0x06) {}
6458         Processor (CPU6, 0x07, 0x00000410, 0x06) {}
6459         Processor (CPU7, 0x08, 0x00000410, 0x06) {}
6460     }
6461 
6462     Scope (\_SB.PCI0)
6463     {
6464         Device (PDRC)
6465         {
6466             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
6467             Name (_UID, 0x01)  // _UID: Unique ID
6468             Name (BUF0, ResourceTemplate ()
6469             {
6470                 Memory32Fixed (ReadWrite,
6471                     0x00000000,         // Address Base
6472                     0x00004000,         // Address Length
6473                     _Y18)
6474                 Memory32Fixed (ReadWrite,
6475                     0x00000000,         // Address Base
6476                     0x00008000,         // Address Length
6477                     _Y1A)
6478                 Memory32Fixed (ReadWrite,
6479                     0x00000000,         // Address Base
6480                     0x00001000,         // Address Length
6481                     _Y1B)
6482                 Memory32Fixed (ReadWrite,
6483                     0x00000000,         // Address Base
6484                     0x00001000,         // Address Length
6485                     _Y1C)
6486                 Memory32Fixed (ReadWrite,
6487                     0x00000000,         // Address Base
6488                     0x00000000,         // Address Length
6489                     _Y1D)
6490                 Memory32Fixed (ReadWrite,
6491                     0xFED20000,         // Address Base
6492                     0x00020000,         // Address Length
6493                     )
6494                 Memory32Fixed (ReadOnly,
6495                     0xFED90000,         // Address Base
6496                     0x00004000,         // Address Length
6497                     )
6498                 Memory32Fixed (ReadWrite,
6499                     0xFED45000,         // Address Base
6500                     0x0004B000,         // Address Length
6501                     )
6502                 Memory32Fixed (ReadOnly,
6503                     0xFF000000,         // Address Base
6504                     0x01000000,         // Address Length
6505                     )
6506                 Memory32Fixed (ReadOnly,
6507                     0xFEE00000,         // Address Base
6508                     0x00100000,         // Address Length
6509                     )
6510                 Memory32Fixed (ReadWrite,
6511                     0x00000000,         // Address Base
6512                     0x00001000,         // Address Length
6513                     _Y19)
6514             })
6515             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6516             {
6517                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._BAS, RBR0)  // _BAS: Base Address
6518                 RBR0 = (\_SB.PCI0.LPCB.RCBA << 0x0E)
6519                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._BAS, TBR0)  // _BAS: Base Address
6520                 TBR0 = TBAB /* \TBAB */
6521                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._LEN, TBLN)  // _LEN: Length
6522                 If ((TBAB == 0x00))
6523                 {
6524                     TBLN = 0x00
6525                 }
6526 
6527                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1A._BAS, MBR0)  // _BAS: Base Address
6528                 MBR0 = (\_SB.PCI0.MHBR << 0x0F)
6529                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1B._BAS, DBR0)  // _BAS: Base Address
6530                 DBR0 = (\_SB.PCI0.DIBR << 0x0C)
6531                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._BAS, EBR0)  // _BAS: Base Address
6532                 EBR0 = (\_SB.PCI0.EPBR << 0x0C)
6533                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._BAS, XBR0)  // _BAS: Base Address
6534                 XBR0 = (\_SB.PCI0.PXBR << 0x1A)
6535                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._LEN, XSZ0)  // _LEN: Length
6536                 XSZ0 = (0x10000000 >> \_SB.PCI0.PXSZ)
6537                 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
6538             }
6539         }
6540     }
6541 
6542     Method (BRTN, 1, Serialized)
6543     {
6544         If (((DID1 & 0x0F00) == 0x0400))
6545         {
6546             Notify (\_SB.PCI0.GFX0.DD01, Arg0)
6547         }
6548 
6549         If (((DID2 & 0x0F00) == 0x0400))
6550         {
6551             Notify (\_SB.PCI0.GFX0.DD02, Arg0)
6552         }
6553 
6554         If (((DID3 & 0x0F00) == 0x0400))
6555         {
6556             Notify (\_SB.PCI0.GFX0.DD03, Arg0)
6557         }
6558 
6559         If (((DID4 & 0x0F00) == 0x0400))
6560         {
6561             Notify (\_SB.PCI0.GFX0.DD04, Arg0)
6562         }
6563 
6564         If (((DID5 & 0x0F00) == 0x0400))
6565         {
6566             Notify (\_SB.PCI0.GFX0.DD05, Arg0)
6567         }
6568 
6569         If (((DID6 & 0x0F00) == 0x0400))
6570         {
6571             Notify (\_SB.PCI0.GFX0.DD06, Arg0)
6572         }
6573 
6574         If (((DID7 & 0x0F00) == 0x0400))
6575         {
6576             Notify (\_SB.PCI0.GFX0.DD07, Arg0)
6577         }
6578 
6579         If (((DID8 & 0x0F00) == 0x0400))
6580         {
6581             Notify (\_SB.PCI0.GFX0.DD08, Arg0)
6582         }
6583     }
6584 
6585     Scope (\_GPE)
6586     {
6587         Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
6588         {
6589             L01C += 0x01
6590             P8XH (0x00, 0x01)
6591             P8XH (0x01, L01C)
6592             If (((RP1D == 0x00) && \_SB.PCI0.RP01.HPSX))
6593             {
6594                 Sleep (0x64)
6595                 If (\_SB.PCI0.RP01.PDCX)
6596                 {
6597                     \_SB.PCI0.RP01.PDCX = 0x01
6598                     \_SB.PCI0.RP01.HPSX = 0x01
6599                     If (!\_SB.PCI0.RP01.PDSX)
6600                     {
6601                         \_SB.PCI0.RP01.L0SE = 0x00
6602                     }
6603 
6604                     Notify (\_SB.PCI0.RP01, 0x00) // Bus Check
6605                 }
6606                 Else
6607                 {
6608                     \_SB.PCI0.RP01.HPSX = 0x01
6609                 }
6610             }
6611 
6612             If (((RP2D == 0x00) && \_SB.PCI0.RP02.HPSX))
6613             {
6614                 Sleep (0x64)
6615                 If (\_SB.PCI0.RP02.PDCX)
6616                 {
6617                     \_SB.PCI0.RP02.PDCX = 0x01
6618                     \_SB.PCI0.RP02.HPSX = 0x01
6619                     If (!\_SB.PCI0.RP02.PDSX)
6620                     {
6621                         \_SB.PCI0.RP02.L0SE = 0x00
6622                     }
6623 
6624                     Notify (\_SB.PCI0.RP02, 0x00) // Bus Check
6625                 }
6626                 Else
6627                 {
6628                     \_SB.PCI0.RP02.HPSX = 0x01
6629                 }
6630             }
6631 
6632             If (((RP3D == 0x00) && \_SB.PCI0.RP03.HPSX))
6633             {
6634                 Sleep (0x64)
6635                 If (\_SB.PCI0.RP03.PDCX)
6636                 {
6637                     \_SB.PCI0.RP03.PDCX = 0x01
6638                     \_SB.PCI0.RP03.HPSX = 0x01
6639                     If (!\_SB.PCI0.RP03.PDSX)
6640                     {
6641                         \_SB.PCI0.RP03.L0SE = 0x00
6642                     }
6643 
6644                     Notify (\_SB.PCI0.RP03, 0x00) // Bus Check
6645                 }
6646                 Else
6647                 {
6648                     \_SB.PCI0.RP03.HPSX = 0x01
6649                 }
6650             }
6651 
6652             If (((RP4D == 0x00) && \_SB.PCI0.RP04.HPSX))
6653             {
6654                 Sleep (0x64)
6655                 If (\_SB.PCI0.RP04.PDCX)
6656                 {
6657                     \_SB.PCI0.RP04.PDCX = 0x01
6658                     \_SB.PCI0.RP04.HPSX = 0x01
6659                     If (!\_SB.PCI0.RP04.PDSX)
6660                     {
6661                         \_SB.PCI0.RP04.L0SE = 0x00
6662                     }
6663 
6664                     Notify (\_SB.PCI0.RP04, 0x00) // Bus Check
6665                 }
6666                 Else
6667                 {
6668                     \_SB.PCI0.RP04.HPSX = 0x01
6669                 }
6670             }
6671         }
6672 
6673         Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
6674         {
6675             If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
6676             {
6677                 \_SB.PCI0.GFX0.GSCI ()
6678             }
6679         }
6680 
6681         Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
6682         {
6683             \_SB.PCI0.SBUS.HSTS = 0x20
6684         }
6685 
6686         Method (_L1B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
6687         {
6688             Notify (\_SB.PWRB, 0x02) // Device Wake
6689         }
6690     }
6691 
6692     OperationRegion (SMI0, SystemMemory, 0xDAF8B918, 0x0420)
6693     Field (SMI0, AnyAcc, NoLock, Preserve)
6694     {
6695         BCMD,   8, 
6696         DID,    32, 
6697         INFO,   4096
6698     }
6699 
6700     Field (SMI0, AnyAcc, NoLock, Preserve)
6701     {
6702         Offset (0x05), 
6703         INFB,   8
6704     }
6705 
6706     Field (SMI0, AnyAcc, NoLock, Preserve)
6707     {
6708         Offset (0x05), 
6709         INFD,   32
6710     }
6711 
6712     Field (SMI0, AnyAcc, NoLock, Preserve)
6713     {
6714         Offset (0x05), 
6715         INDD,   64
6716     }
6717 
6718     Field (SMI0, AnyAcc, NoLock, Preserve)
6719     {
6720         Offset (0x05), 
6721         SXBF,   8320
6722     }
6723 
6724     Field (SMI0, AnyAcc, NoLock, Preserve)
6725     {
6726         Offset (0x05), 
6727         INF1,   8, 
6728         INF2,   8
6729     }
6730 
6731     OperationRegion (SMI1, SystemIO, 0x00001100, 0x00000004)
6732     Field (SMI1, AnyAcc, NoLock, Preserve)
6733     {
6734         SMIC,   8
6735     }
6736 
6737     Mutex (MPHS, 0x00)
6738     Method (PHS0, 1, NotSerialized)
6739     {
6740         BCMD = Arg0
6741         SMIC = Zero
6742         While ((BCMD == Arg0)) {}
6743         BCMD = 0x00
6744     }
6745 
6746     Method (PHS, 1, Serialized)
6747     {
6748         Acquire (MPHS, 0xFFFF)
6749         DID = 0x00
6750         PHS0 (Arg0)
6751         Local0 = INFD /* \INFD */
6752         Release (MPHS)
6753         Return (Local0)
6754     }
6755 
6756     Method (PHSD, 2, Serialized)
6757     {
6758         Acquire (MPHS, 0xFFFF)
6759         DID = 0x00
6760         INFD = Arg1
6761         PHS0 (Arg0)
6762         Local0 = INFD /* \INFD */
6763         Release (MPHS)
6764         Return (Local0)
6765     }
6766 
6767     Method (PHDD, 2, Serialized)
6768     {
6769         Acquire (MPHS, 0xFFFF)
6770         DID = 0x00
6771         INDD = Arg1
6772         PHS0 (Arg0)
6773         Local0 = INDD /* \INDD */
6774         Release (MPHS)
6775         Return (Local0)
6776     }
6777 
6778     Method (PHSW, 3, Serialized)
6779     {
6780         Acquire (MPHS, 0xFFFF)
6781         DID = 0x00
6782         INF1 = Arg1
6783         INF2 = Arg2
6784         PHS0 (Arg0)
6785         Local0 = INFB /* \INFB */
6786         Release (MPHS)
6787         Return (Local0)
6788     }
6789 
6790     Method (PHSB, 2, Serialized)
6791     {
6792         Acquire (MPHS, 0xFFFF)
6793         DID = 0x00
6794         INFB = Arg1
6795         PHS0 (Arg0)
6796         Local0 = INFB /* \INFB */
6797         Release (MPHS)
6798         Return (Local0)
6799     }
6800 
6801     Scope (\_SB)
6802     {
6803         Scope (PCI0)
6804         {
6805             Scope (LPCB)
6806             {
6807                 Device (EC)
6808                 {
6809                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
6810                     Mutex (MECR, 0x00)
6811                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
6812                     {
6813                         Name (BFFR, ResourceTemplate ()
6814                         {
6815                             IO (Decode16,
6816                                 0x0062,             // Range Minimum
6817                                 0x0062,             // Range Maximum
6818                                 0x00,               // Alignment
6819                                 0x01,               // Length
6820                                 )
6821                             IO (Decode16,
6822                                 0x0066,             // Range Minimum
6823                                 0x0066,             // Range Maximum
6824                                 0x00,               // Alignment
6825                                 0x01,               // Length
6826                                 )
6827                         })
6828                         Return (BFFR) /* \_SB_.PCI0.LPCB.EC__._CRS.BFFR */
6829                     }
6830 
6831                     OperationRegion (ECF2, EmbeddedControl, 0x00, 0xFF)
6832                     Field (ECF2, ByteAcc, Lock, Preserve)
6833                     {
6834                             ,   3, 
6835                         PRCP,   1, 
6836                             ,   1, 
6837                         LSTE,   1, 
6838                         BATP,   1, 
6839                         RPWR,   1, 
6840                             ,   4, 
6841                         CHGE,   1, 
6842                         LVDS,   1, 
6843                             ,   1, 
6844                         AUAM,   1, 
6845                         ENR0,   8, 
6846                         ENR1,   8, 
6847                         ESR0,   16, 
6848                         BSTS,   8, 
6849                         WKSR,   8, 
6850                         Offset (0x0A), 
6851                         LSDH,   8, 
6852                         LSDL,   8, 
6853                         Offset (0x19), 
6854                         ISID,   8, 
6855                         Offset (0x20), 
6856                         BTPL,   8, 
6857                         BTPH,   8, 
6858                         BSNL,   8, 
6859                         BSNH,   8, 
6860                         BDCL,   8, 
6861                         BDCH,   8, 
6862                         BDVL,   8, 
6863                         BDVH,   8, 
6864                         BAVL,   8, 
6865                         BAVH,   8, 
6866                         BACL,   8, 
6867                         BACH,   8, 
6868                         RSCL,   8, 
6869                         RSCH,   8, 
6870                         BRCL,   8, 
6871                         BRCH,   8, 
6872                         FCCL,   8, 
6873                         FCCH,   8, 
6874                             ,   4, 
6875                         FDCH,   1, 
6876                         FUCH,   1, 
6877                         DCHG,   1, 
6878                         BTIT,   1, 
6879                         BSTH,   8, 
6880                         OMFL,   8, 
6881                         OMFH,   8, 
6882                         IBMF,   8, 
6883                         ASSR,   8, 
6884                         Offset (0x40), 
6885                         TS1R,   8, 
6886                         TS1L,   8, 
6887                         TS2R,   8, 
6888                         TS2L,   8, 
6889                         TS3R,   8, 
6890                         TS3L,   8, 
6891                         F1FL,   8, 
6892                         F1FH,   8, 
6893                         F2FL,   8, 
6894                         F2FH,   8, 
6895                         T1U1,   8, 
6896                         T1U2,   8, 
6897                         T1U3,   8, 
6898                         T1U4,   8, 
6899                         T1U5,   8, 
6900                         T1U6,   8, 
6901                         T1U7,   8, 
6902                         T1D1,   8, 
6903                         T1D2,   8, 
6904                         T1D3,   8, 
6905                         T1L1,   8, 
6906                         T2R1,   8, 
6907                         T2U1,   8, 
6908                         T3L1,   8, 
6909                         T3L2,   8, 
6910                         Offset (0x60), 
6911                         SMBN,   8, 
6912                         SPTR,   8, 
6913                         SSTS,   8, 
6914                         SADR,   8, 
6915                         SCMD,   8, 
6916                         SBFR,   256, 
6917                         SCNT,   8, 
6918                         Offset (0xE8), 
6919                         ALFS,   1, 
6920                             ,   1, 
6921                         DGPW,   1, 
6922                         Offset (0xE9), 
6923                         Offset (0xEF), 
6924                             ,   6, 
6925                         ECAK,   1, 
6926                         CMST,   1, 
6927                         ALSL,   8, 
6928                         ALSH,   8
6929                     }
6930 
6931                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
6932                     {
6933                         If ((_REV >= 0x02))
6934                         {
6935                             ECON = One
6936                         }
6937                         Else
6938                         {
6939                             ECON = 0x00
6940                         }
6941                     }
6942 
6943                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
6944                     {
6945                         If (((Arg0 == 0x03) && (Arg1 == 0x01)))
6946                         {
6947                             BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6948                             B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6949                             PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6950                             Notify (\_SB.BAT0, 0x81) // Information Change
6951                             PNOT ()
6952                             ECON = Arg1
6953                             \ECON = Arg1
6954                         }
6955                     }
6956 
6957                     Name (_GPE, 0x17)  // _GPE: General Purpose Events
6958                     Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query
6959                     {
6960                         P8XH (0x00, 0x21)
6961                         PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6962                         Notify (\_SB.ADP1, 0x81) // Information Change
6963                         Notify (\_SB.BAT0, 0x80) // Status Change
6964                         PNOT ()
6965                     }
6966 
6967                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
6968                     {
6969                         P8XH (0x00, 0x22)
6970                         PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6971                         Notify (\_SB.ADP1, 0x81) // Information Change
6972                         Notify (\_SB.BAT0, 0x80) // Status Change
6973                         PNOT ()
6974                     }
6975 
6976                     Method (_Q23, 0, NotSerialized)  // _Qxx: EC Query
6977                     {
6978                         P8XH (0x00, 0x23)
6979                         B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6980                         BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6981                         Notify (\_SB.BAT0, 0x81) // Information Change
6982                     }
6983 
6984                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
6985                     {
6986                         P8XH (0x00, 0x24)
6987                         B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6988                         BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6989                         Notify (\_SB.BAT0, 0x81) // Information Change
6990                     }
6991 
6992                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
6993                     {
6994                         P8XH (0x00, 0x25)
6995                         B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6996                         Notify (\_SB.BAT0, 0x80) // Status Change
6997                     }
6998 
6999                     Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query
7000                     {
7001                         P8XH (0x00, 0x26)
7002                     }
7003 
7004                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
7005                     {
7006                         P8XH (0x00, 0x27)
7007                     }
7008 
7009                     Method (_Q29, 0, NotSerialized)  // _Qxx: EC Query
7010                     {
7011                         P8XH (0x00, 0x29)
7012                         Notify (\_SB.LID0, 0x80) // Status Change
7013                     }
7014 
7015                     Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
7016                     {
7017                         P8XH (0x00, 0x2A)
7018                         Notify (\_SB.LID0, 0x80) // Status Change
7019                     }
7020 
7021                     Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
7022                     {
7023                         P8XH (0x00, 0x2B)
7024                         Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific
7025                     }
7026 
7027                     Method (_Q2C, 0, NotSerialized)  // _Qxx: EC Query
7028                     {
7029                         P8XH (0x00, 0x2C)
7030                         Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific
7031                     }
7032 
7033                     Method (_Q32, 0, NotSerialized)  // _Qxx: EC Query
7034                     {
7035                         P8XH (0x00, 0x32)
7036                         Notify (\_SB.PWRB, 0x80) // Status Change
7037                     }
7038 
7039                     Method (_Q34, 0, NotSerialized)  // _Qxx: EC Query
7040                     {
7041                         P8XH (0x00, 0x34)
7042                         Notify (\_TZ.TZ00, 0x80) // Thermal Status Change
7043                         If ((TCNT > 0x01))
7044                         {
7045                             Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
7046                         }
7047                     }
7048 
7049                     Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query
7050                     {
7051                         P8XH (0x00, 0x45)
7052                         Q45T++
7053                         ALER = 0x02
7054                         Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
7055                     }
7056 
7057                     Name (HF1P, 0x81)
7058                     Name (HF1R, 0x01)
7059                     Name (HF5P, 0x85)
7060                     Name (HF5R, 0x05)
7061                     Name (HF6P, 0x86)
7062                     Name (HF6R, 0x06)
7063                     Name (HF7P, 0x87)
7064                     Name (HF7R, 0x07)
7065                     Name (HF8P, 0x88)
7066                     Name (HF8R, 0x08)
7067                     Name (HF9P, 0x89)
7068                     Name (HF9R, 0x09)
7069                     Name (HFAP, 0x8A)
7070                     Name (HFAR, 0x0A)
7071                     Name (HFBP, 0x8B)
7072                     Name (HFBR, 0x0B)
7073                     Name (HFCP, 0x8C)
7074                     Name (HFCR, 0x0C)
7075                     Name (HFDP, 0x8D)
7076                     Name (HFDR, 0x0D)
7077                     Name (HS1P, 0x90)
7078                     Name (HS1R, 0x10)
7079                     Name (HS2P, 0x91)
7080                     Name (HS2R, 0x11)
7081                     Name (HUPP, 0x95)
7082                     Name (HUPR, 0x15)
7083                     Name (HDWP, 0x96)
7084                     Name (HDWR, 0x16)
7085                     Name (HMUP, 0x97)
7086                     Name (HMUR, 0x17)
7087                     Name (HTRP, 0x99)
7088                     Name (HTRR, 0x19)
7089                     Name (HCUP, 0x9A)
7090                     Name (HCUR, 0x1A)
7091                     Name (HCDP, 0x9B)
7092                     Name (HCDR, 0x1B)
7093                     Name (HEJP, 0x9F)
7094                     Name (HEJR, 0x1F)
7095                     Name (HAVP, 0xA1)
7096                     Name (HAVR, 0x21)
7097                     Name (HVOP, 0xA5)
7098                     Name (HVOR, 0x25)
7099                     Name (HABP, 0xA6)
7100                     Name (HABR, 0x26)
7101                     Method (_Q50, 0, NotSerialized)  // _Qxx: EC Query
7102                     {
7103                         P8XH (0x00, 0x50)
7104                         SECR (HF1P)
7105                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7106                     }
7107 
7108                     Method (_Q51, 0, NotSerialized)  // _Qxx: EC Query
7109                     {
7110                         P8XH (0x00, 0x51)
7111                         SECR (HF1R)
7112                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7113                     }
7114 
7115                     Method (_Q58, 0, NotSerialized)  // _Qxx: EC Query
7116                     {
7117                         P8XH (0x00, 0x58)
7118                         SECR (HF5P)
7119                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7120                     }
7121 
7122                     Method (_Q59, 0, NotSerialized)  // _Qxx: EC Query
7123                     {
7124                         P8XH (0x00, 0x59)
7125                         SECR (HF5R)
7126                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7127                     }
7128 
7129                     Method (_Q5A, 0, NotSerialized)  // _Qxx: EC Query
7130                     {
7131                         P8XH (0x00, 0x5A)
7132                         SECR (HF6P)
7133                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7134                     }
7135 
7136                     Method (_Q5B, 0, NotSerialized)  // _Qxx: EC Query
7137                     {
7138                         P8XH (0x00, 0x5B)
7139                         SECR (HF6R)
7140                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7141                     }
7142 
7143                     Method (_Q5C, 0, NotSerialized)  // _Qxx: EC Query
7144                     {
7145                         P8XH (0x00, 0x5C)
7146                         SECR (HF7P)
7147                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7148                     }
7149 
7150                     Method (_Q5D, 0, NotSerialized)  // _Qxx: EC Query
7151                     {
7152                         P8XH (0x00, 0x5D)
7153                         SECR (HF7R)
7154                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7155                     }
7156 
7157                     Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
7158                     {
7159                         P8XH (0x00, 0x60)
7160                         SECR (HF9P)
7161                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7162                     }
7163 
7164                     Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query
7165                     {
7166                         P8XH (0x00, 0x61)
7167                         SECR (HF9R)
7168                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7169                     }
7170 
7171                     Method (_Q62, 0, NotSerialized)  // _Qxx: EC Query
7172                     {
7173                         P8XH (0x00, 0x62)
7174                         SECR (HFAP)
7175                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7176                     }
7177 
7178                     Method (_Q63, 0, NotSerialized)  // _Qxx: EC Query
7179                     {
7180                         P8XH (0x00, 0x63)
7181                         SECR (HFAR)
7182                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7183                     }
7184 
7185                     Method (_Q66, 0, NotSerialized)  // _Qxx: EC Query
7186                     {
7187                         P8XH (0x00, 0x66)
7188                         SECR (HFCP)
7189                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7190                     }
7191 
7192                     Method (_Q67, 0, NotSerialized)  // _Qxx: EC Query
7193                     {
7194                         P8XH (0x00, 0x67)
7195                         SECR (HFCR)
7196                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7197                     }
7198 
7199                     Method (_Q84, 0, NotSerialized)  // _Qxx: EC Query
7200                     {
7201                         P8XH (0x00, 0x84)
7202                         SECR (HVOP)
7203                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7204                     }
7205 
7206                     Method (_Q85, 0, NotSerialized)  // _Qxx: EC Query
7207                     {
7208                         P8XH (0x00, 0x85)
7209                         SECR (HVOR)
7210                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7211                     }
7212 
7213                     Method (_Q86, 0, NotSerialized)  // _Qxx: EC Query
7214                     {
7215                         P8XH (0x00, 0x86)
7216                         SECR (HABP)
7217                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7218                     }
7219 
7220                     Method (_Q87, 0, NotSerialized)  // _Qxx: EC Query
7221                     {
7222                         P8XH (0x00, 0x87)
7223                         SECR (HABR)
7224                         Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7225                     }
7226 
7227                     Method (SECR, 1, NotSerialized)
7228                     {
7229                         \_SB.PCI0.LPCB.SNC.XECR = Arg0
7230                     }
7231 
7232                     Method (GECR, 0, NotSerialized)
7233                     {
7234                         Return (\_SB.PCI0.LPCB.SNC.XECR)
7235                     }
7236                 }
7237             }
7238         }
7239     }
7240 
7241     Scope (\_SB)
7242     {
7243         Device (BAT0)
7244         {
7245             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
7246             Name (_UID, 0x00)  // _UID: Unique ID
7247             Name (PSTA, 0x00)
7248             Method (_STA, 0, NotSerialized)  // _STA: Status
7249             {
7250                 \DBGC (0xB0, 0x00, BCEN)
7251                 Sleep (0x05)
7252                 If ((ECON == 0x00))
7253                 {
7254                     Local1 = 0x00
7255                 }
7256                 Else
7257                 {
7258                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7259                     Local1 = \_SB.PCI0.LPCB.EC.BATP
7260                     Release (\_SB.PCI0.LPCB.EC.MECR)
7261                 }
7262 
7263                 If ((Local1 == 0x00))
7264                 {
7265                     Local0 = 0x0F
7266                 }
7267                 Else
7268                 {
7269                     Local0 = 0x1F
7270                 }
7271 
7272                 PSTA = Local0
7273                 \DBGC (0xB0, 0x80, BCEN)
7274                 Return (Local0)
7275             }
7276 
7277             Name (MULV, 0x00)
7278             Name (BATI, Package (0x0D)
7279             {
7280                 0x00, 
7281                 0x2710, 
7282                 0x2710, 
7283                 0x00, 
7284                 0xFFFFFFFF, 
7285                 0x03E8, 
7286                 0x01, 
7287                 0x64, 
7288                 0x64, 
7289                 "", 
7290                 "", 
7291                 "LiOn", 
7292                 "Sony Corp."
7293             })
7294             Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
7295             {
7296                 \DBGC (0xB1, 0x00, BCEN)
7297                 MULV = 0x01
7298                 Sleep (0x05)
7299                 If ((ECON == 0x00)) {}
7300                 Else
7301                 {
7302                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7303                     Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80)
7304                     If (Local0)
7305                     {
7306                         Index (BATI, 0x00) = 0x00
7307                         MULV = 0x0A
7308                     }
7309                     Else
7310                     {
7311                         Index (BATI, 0x00) = 0x01
7312                     }
7313 
7314                     Local0 = \_SB.PCI0.LPCB.EC.BDCH
7315                     Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BDCL)
7316                     Index (BATI, 0x01) = (Local0 * MULV)
7317                     Local0 = \_SB.PCI0.LPCB.EC.FCCH
7318                     Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.FCCL)
7319                     Index (BATI, 0x02) = (Local0 * MULV)
7320                     Local0 = \_SB.PCI0.LPCB.EC.BAVH
7321                     Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL)
7322                     Index (BATI, 0x04) = (Local0 * MULV)
7323                     Release (\_SB.PCI0.LPCB.EC.MECR)
7324                 }
7325 
7326                 \DBGC (0xB1, 0x80, BCEN)
7327                 Return (BATI) /* \_SB_.BAT0.BATI */
7328             }
7329 
7330             Name (PKG0, Package (0x04)
7331             {
7332                 0x02, 
7333                 0xFFFFFFFF, 
7334                 0xFFFFFFFF, 
7335                 0xFFFFFFFF
7336             })
7337             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
7338             {
7339                 \DBGC (0xB2, 0x00, BCEN)
7340                 Sleep (0x05)
7341                 If ((ECON == 0x00)) {}
7342                 Else
7343                 {
7344                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7345                     If ((\_SB.PCI0.LPCB.EC.CHGE == 0x01))
7346                     {
7347                         Local0 = \_SB.PCI0.LPCB.EC.RSCL
7348                         If ((Local0 == 0x64))
7349                         {
7350                             Index (PKG0, 0x00) = 0x00
7351                         }
7352                         Else
7353                         {
7354                             Index (PKG0, 0x00) = 0x02
7355                         }
7356                     }
7357                     Else
7358                     {
7359                         Index (PKG0, 0x00) = 0x01
7360                     }
7361 
7362                     Name (MULV, 0x00)
7363                     Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80)
7364                     If (Local0)
7365                     {
7366                         MULV = 0x0A
7367                     }
7368                     Else
7369                     {
7370                         MULV = 0x01
7371                     }
7372 
7373                     Local0 = \_SB.PCI0.LPCB.EC.BRCH
7374                     Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BRCL)
7375                     Index (PKG0, 0x02) = (Local0 * MULV)
7376                     Local0 = \_SB.PCI0.LPCB.EC.BACH
7377                     Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BACL)
7378                     If ((Local0 && 0x8000))
7379                     {
7380                         Local0 = (~Local0 + 0x01)
7381                         Local0 &= 0xFFFF
7382                     }
7383 
7384                     Local1 = \_SB.PCI0.LPCB.EC.BAVH
7385                     Local1 = ((Local1 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL)
7386                     Local1 /= 0x03E8
7387                     Index (PKG0, 0x01) = (Local0 * Local1)
7388                     Release (\_SB.PCI0.LPCB.EC.MECR)
7389                 }
7390 
7391                 \DBGC (0xB2, 0x80, BCEN)
7392                 Return (PKG0) /* \_SB_.BAT0.PKG0 */
7393             }
7394 
7395             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
7396             {
7397                 \DBGC (0xB3, 0x80, BCEN)
7398                 Return (\_SB)
7399             }
7400         }
7401     }
7402 
7403     Scope (\_SB)
7404     {
7405         Device (ADP1)
7406         {
7407             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
7408             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
7409             {
7410                 \DBGC (0x40, 0x00, BCEN)
7411                 If ((ECON == 0x00))
7412                 {
7413                     Local0 = (PHSB (0xD4, 0x00) & 0x80)
7414                 }
7415                 Else
7416                 {
7417                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7418                     Local0 = \_SB.PCI0.LPCB.EC.RPWR
7419                     Release (\_SB.PCI0.LPCB.EC.MECR)
7420                 }
7421 
7422                 If ((Local0 == 0x00))
7423                 {
7424                     \DBGC (0x40, 0x80, BCEN)
7425                     Return (0x00)
7426                 }
7427                 Else
7428                 {
7429                     \DBGC (0x40, 0x81, BCEN)
7430                     Return (0x01)
7431                 }
7432             }
7433 
7434             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
7435             {
7436                 \DBGC (0x42, 0x80, BCEN)
7437                 Return (\_SB)
7438             }
7439         }
7440 
7441         Device (LID0)
7442         {
7443             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
7444             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
7445             {
7446                 \DBGC (0x41, 0x00, BCEN)
7447                 If (ECON)
7448                 {
7449                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7450                     Local0 = \_SB.PCI0.LPCB.EC.LSTE
7451                     Release (\_SB.PCI0.LPCB.EC.MECR)
7452                 }
7453                 Else
7454                 {
7455                     Local0 = (PHSB (0xD4, 0x00) & 0x20)
7456                 }
7457 
7458                 \DBGC (0x41, 0x80, BCEN)
7459                 Return (Local0)
7460             }
7461         }
7462 
7463         Device (PWRB)
7464         {
7465             Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
7466             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7467             {
7468                 0x1B, 
7469                 0x04
7470             })
7471         }
7472     }
7473 
7474     Scope (\_TZ)
7475     {
7476         ThermalZone (TZ00)
7477         {
7478             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
7479             {
7480                 Return ((0x0AAC + (CRTT * 0x0A)))
7481             }
7482 
7483             Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
7484             {
7485                 Return ((0x0AAC + (PSVT * 0x0A)))
7486             }
7487 
7488             Method (_TMP, 0, Serialized)  // _TMP: Temperature
7489             {
7490                 If (ECON)
7491                 {
7492                     Local0 = \_SB.PCI0.LPCB.EC.TS1R
7493                     Return ((0x0AAC + (Local0 * 0x0A)))
7494                 }
7495 
7496                 Return (0x0BC2)
7497             }
7498         }
7499 
7500         ThermalZone (TZ01)
7501         {
7502             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
7503             {
7504                 Return ((0x0AAC + (CRTT * 0x0A)))
7505             }
7506 
7507             Method (_TMP, 0, Serialized)  // _TMP: Temperature
7508             {
7509                 If (ECON)
7510                 {
7511                     Local0 = \_SB.PCI0.LPCB.EC.TS1R
7512                     Return ((0x0AAC + (Local0 * 0x0A)))
7513                 }
7514 
7515                 Return (0x0BD6)
7516             }
7517 
7518             Method (_PSL, 0, Serialized)  // _PSL: Passive List
7519             {
7520                 If ((TCNT == 0x08))
7521                 {
7522                     Return (Package (0x08)
7523                     {
7524                         \_PR.CPU0, 
7525                         \_PR.CPU1, 
7526                         \_PR.CPU2, 
7527                         \_PR.CPU3, 
7528                         \_PR.CPU4, 
7529                         \_PR.CPU5, 
7530                         \_PR.CPU6, 
7531                         \_PR.CPU7
7532                     })
7533                 }
7534 
7535                 If ((TCNT == 0x04))
7536                 {
7537                     Return (Package (0x04)
7538                     {
7539                         \_PR.CPU0, 
7540                         \_PR.CPU1, 
7541                         \_PR.CPU2, 
7542                         \_PR.CPU3
7543                     })
7544                 }
7545 
7546                 If ((TCNT == 0x02))
7547                 {
7548                     Return (Package (0x02)
7549                     {
7550                         \_PR.CPU0, 
7551                         \_PR.CPU1
7552                     })
7553                 }
7554 
7555                 Return (Package (0x01)
7556                 {
7557                     \_PR.CPU0
7558                 })
7559             }
7560 
7561             Method (_TC1, 0, Serialized)  // _TC1: Thermal Constant 1
7562             {
7563                 Return (TC1V) /* \TC1V */
7564             }
7565 
7566             Method (_TC2, 0, Serialized)  // _TC2: Thermal Constant 2
7567             {
7568                 Return (TC2V) /* \TC2V */
7569             }
7570 
7571             Method (_TSP, 0, Serialized)  // _TSP: Thermal Sampling Period
7572             {
7573                 Return (TSPV) /* \TSPV */
7574             }
7575 
7576             Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
7577             {
7578                 Return ((0x0AAC + (PSVT * 0x0A)))
7579             }
7580         }
7581     }
7582 
7583     Scope (\)
7584     {
7585         Name (BTL0, Buffer (0x10)
7586         {
7587             /* 0000 */  0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34,  /* ...."(.4 */
7588             /* 0008 */  0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64   /* :@FLRX^d */
7589         })
7590     }
7591 
7592     Scope (\_SB)
7593     {
7594         Scope (PCI0)
7595         {
7596             Scope (LPCB)
7597             {
7598                 Device (SNC)
7599                 {
7600                     Name (_HID, EisaId ("SNY5001"))  // _HID: Hardware ID
7601                     Name (CPUT, 0x00)
7602                     Name (UPBR, 0x00)
7603                     Name (DNBR, 0x00)
7604                     Name (RTL1, Buffer (0x10)
7605                     {
7606                         /* 0000 */  0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36,  /* .....%-6 */
7607                         /* 0008 */  0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF   /* AP_v.... */
7608                     })
7609                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
7610                     {
7611                         ALER = 0x00
7612                     }
7613 
7614                     Method (GB16, 0, NotSerialized)
7615                     {
7616                         Local1 = 0x00
7617                         Local1 = PHS (0xC1)
7618                         Local1 &= 0x0F
7619                         If ((Local1 > 0x0F))
7620                         {
7621                             Local1 = 0x0F
7622                             PHSB (0xC2, Local1)
7623                         }
7624 
7625                         Return (Local1)
7626                     }
7627 
7628                     Method (SB16, 1, NotSerialized)
7629                     {
7630                         If ((Arg0 > 0x0F))
7631                         {
7632                             Return (0x00)
7633                         }
7634 
7635                         PHSB (0xC2, Arg0)
7636                         Local0 = DerefOf (Index (\BTL0, Arg0))
7637                         If ((IGDS & IGDS))
7638                         {
7639                             \_SB.PCI0.GFX0.DD02._BCM (Local0)
7640                         }
7641                         Else
7642                         {
7643                             \_SB.PCI0.PEG0.VGA.LCD._BCM (Local0)
7644                         }
7645 
7646                         Return (0x00)
7647                     }
7648 
7649                     Method (PWAK, 0, NotSerialized)
7650                     {
7651                         \DBGC (0xF3, 0x00, BCEN)
7652                         If (((OSYS == 0x07D1) || (OSYS == 0x07D2)))
7653                         {
7654                             Local1 = 0x00
7655                             Local1 = PHS (0xC1)
7656                             Local1 &= 0x0F
7657                             If ((Local1 > 0x0F))
7658                             {
7659                                 Local1 = 0x0F
7660                                 PHSB (0xC2, Local1)
7661                             }
7662 
7663                             Local2 = DerefOf (Index (BTL0, Local1))
7664                             If ((IGDS & IGDS))
7665                             {
7666                                 BRTL = Local2
7667                             }
7668                             Else
7669                             {
7670                                 ALER = 0x00
7671                                 Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02)
7672                                 Local3 = DerefOf (Index (RTL0, Local3))
7673                                 BRTL = Local2
7674                                 I_AL = 0x82
7675                                 I_AH = 0xA0
7676                                 I_BL = 0x05
7677                                 I_BH = 0x01
7678                                 I_CL = Local3
7679                                 PHDD (0xE2, I10B)
7680                             }
7681                         }
7682 
7683                         PNOT ()
7684                         \DBGC (0xF3, 0x80, BCEN)
7685                         Return (Zero)
7686                     }
7687 
7688                     Name (EVS0, 0x07)
7689                     Name (EVS1, 0x00)
7690                     Name (EVS2, 0x00)
7691                     Mutex (MSNE, 0x00)
7692                     Method (GSNE, 1, NotSerialized)
7693                     {
7694                         Acquire (MSNE, 0xFFFF)
7695                         \DBGC (0xF1, 0x00, BCEN)
7696                         Local1 = ((Arg0 & 0xFF000000) >> 0x18)
7697                         Local2 = ((Arg0 & 0x00FF0000) >> 0x10)
7698                         Local3 = (Arg0 & 0xFFFF)
7699                         Local0 = 0x00
7700                         If ((Local1 == 0x00))
7701                         {
7702                             If ((Local2 == 0x00))
7703                             {
7704                                 Local0 = (Arg0 & 0xFFFF0000)
7705                                 Local0 = (Local0 | 0x07)
7706                             }
7707 
7708                             If ((Local2 == 0x01))
7709                             {
7710                                 Local0 = (Arg0 & 0xFFFF0000)
7711                                 Local0 = (Local0 | 0x00)
7712                             }
7713 
7714                             If ((Local2 == 0x02))
7715                             {
7716                                 Local0 = (Arg0 & 0xFFFF0000)
7717                                 Local0 = (Local0 | 0x00)
7718                             }
7719                         }
7720                         Else
7721                         {
7722                             If ((Local1 == 0x01))
7723                             {
7724                                 If ((Local2 == 0x00))
7725                                 {
7726                                     Local0 = (Arg0 & 0xFFFF0000)
7727                                     Local0 = (Local0 | EVS0)
7728                                 }
7729 
7730                                 If ((Local2 == 0x01))
7731                                 {
7732                                     Local0 = (Arg0 & 0xFFFF0000)
7733                                     Local0 = (Local0 | EVS1)
7734                                 }
7735 
7736                                 If ((Local2 == 0x02))
7737                                 {
7738                                     Local0 = (Arg0 & 0xFFFF0000)
7739                                     Local0 = (Local0 | EVS2)
7740                                 }
7741                             }
7742                             Else
7743                             {
7744                                 Local0 = Ones
7745                             }
7746                         }
7747 
7748                         \DBGC (0xF1, 0x80, BCEN)
7749                         Release (MSNE)
7750                         Return (Local0)
7751                     }
7752 
7753                     Method (SSNE, 1, NotSerialized)
7754                     {
7755                         Acquire (MSNE, 0xFFFF)
7756                         \DBGC (0xF4, 0x00, BCEN)
7757                         Local1 = ((Arg0 & 0xFF000000) >> 0x18)
7758                         Local2 = ((Arg0 & 0x00FF0000) >> 0x10)
7759                         Local3 = (Arg0 & 0xFFFF)
7760                         Local0 = 0x00
7761                         If ((Local1 == 0x00))
7762                         {
7763                             If ((Local2 == 0x00))
7764                             {
7765                                 EVS0 = (Arg0 | EVS0)
7766                             }
7767 
7768                             If ((Local2 == 0x01))
7769                             {
7770                                 EVS1 = (Arg0 | EVS1)
7771                             }
7772 
7773                             If ((Local2 == 0x02))
7774                             {
7775                                 EVS2 = (Arg0 | EVS2)
7776                             }
7777                         }
7778                         Else
7779                         {
7780                             If ((Local1 == 0x01))
7781                             {
7782                                 If ((Local2 == 0x00))
7783                                 {
7784                                     EVS0 = (EVS0 & ~Arg0)
7785                                 }
7786 
7787                                 If ((Local2 == 0x01))
7788                                 {
7789                                     EVS1 = (EVS1 & ~Arg0)
7790                                 }
7791 
7792                                 If ((Local2 == 0x02))
7793                                 {
7794                                     EVS2 = (EVS2 & ~Arg0)
7795                                 }
7796                             }
7797                         }
7798 
7799                         \DBGC (0xF4, 0x80, BCEN)
7800                         Release (MSNE)
7801                     }
7802 
7803                     Method (SODV, 1, NotSerialized)
7804                     {
7805                         \DBGC (0xF6, 0x00, BCEN)
7806                         If ((DSEN != 0x00))
7807                         {
7808                             Return (Ones)
7809                         }
7810 
7811                         AODV = Arg0
7812                         If (!(AODV & CADD))
7813                         {
7814                             AODV = 0x01
7815                         }
7816 
7817                         If ((CADD != PADD))
7818                         {
7819                             PADD = CADD /* \CADD */
7820                             Notify (\_SB.PCI0, 0x00) // Bus Check
7821                             Local0 = (PNHM & 0x000FFFF0)
7822                             Sleep (0x02EE)
7823                         }
7824 
7825                         \DBGC (0xF6, 0x80, BCEN)
7826                         Return (Zero)
7827                     }
7828 
7829                     Mutex (MIDB, 0x00)
7830                     Method (RBMF, 1, Serialized)
7831                     {
7832                         Acquire (MIDB, 0xFFFF)
7833                         \DBGC (0xF7, 0x00, BCEN)
7834                         Local0 = (Arg0 & 0x00010000)
7835                         Local0 = PHSD (0xDC, Local0)
7836                         If ((Local0 == 0x02))
7837                         {
7838                             Sleep (0x1388)
7839                         }
7840 
7841                         \DBGC (0xF7, 0x80, BCEN)
7842                         Release (MIDB)
7843                         Return (Local0)
7844                     }
7845 
7846                     Method (RSBI, 1, Serialized)
7847                     {
7848                         Return (Zero)
7849                     }
7850 
7851                     Method (CBMF, 1, Serialized)
7852                     {
7853                         Acquire (MIDB, 0xFFFF)
7854                         Local0 = ((Arg0 & 0x0001FFFF) | 0x02000000)
7855                         Local0 = PHSD (0xDC, Local0)
7856                         Release (MIDB)
7857                         Return (Zero)
7858                     }
7859 
7860                     Method (EAWK, 1, Serialized)
7861                     {
7862                         Acquire (MIDB, 0xFFFF)
7863                         PHSB (0xD3, 0x00)
7864                         Local0 = ~Arg0
7865                         Release (MIDB)
7866                         Return (Local0)
7867                     }
7868 
7869                     Name (SNI0, 0x53636E53)
7870                     Name (SNI1, 0x6F707075)
7871                     Name (SNI2, 0x64657472)
7872                     Name (SNI3, 0x0100)
7873                     Name (SNI4, 0x32560000)
7874                     Name (SNIA, 0xCE3C)
7875                     Name (SNN0, 0x00)
7876                     Name (SNN1, 0x00)
7877                     Name (SNN2, 0x0100)
7878                     Name (SNN3, 0x014B)
7879                     Name (SNN4, 0x0135)
7880                     Name (SNN5, 0x013A)
7881                     Name (SNN6, 0x00)
7882                     Name (SNN7, 0x00)
7883                     Name (SNN8, 0x00)
7884                     Name (SNN9, 0x013F)
7885                     Name (SNNA, 0x011D)
7886                     Name (SNNB, 0x0114)
7887                     Name (SNNC, 0x00)
7888                     Name (SNND, 0x00)
7889                     Name (SNNE, 0x0148)
7890                     Name (SNNF, 0x0122)
7891                     Name (XECR, 0x00)
7892                     Name (ENMK, 0xFFE2)
7893                     Name (ENCR, 0x00)
7894                     Name (ESR, 0x00)
7895                     Method (SN00, 1, NotSerialized)
7896                     {
7897                         Local1 = (Arg0 & 0xFF)
7898                         If ((Local1 == 0x00))
7899                         {
7900                             Return (SNI0) /* \_SB_.PCI0.LPCB.SNC_.SNI0 */
7901                         }
7902 
7903                         If ((Local1 == 0x01))
7904                         {
7905                             Return (SNI1) /* \_SB_.PCI0.LPCB.SNC_.SNI1 */
7906                         }
7907 
7908                         If ((Local1 == 0x02))
7909                         {
7910                             Return (SNI2) /* \_SB_.PCI0.LPCB.SNC_.SNI2 */
7911                         }
7912 
7913                         If ((Local1 == 0x03))
7914                         {
7915                             Return (SNI3) /* \_SB_.PCI0.LPCB.SNC_.SNI3 */
7916                         }
7917 
7918                         If ((Local1 == 0x04))
7919                         {
7920                             Return (SNI4) /* \_SB_.PCI0.LPCB.SNC_.SNI4 */
7921                         }
7922 
7923                         If ((Local1 == 0x10))
7924                         {
7925                             Return (SNIA) /* \_SB_.PCI0.LPCB.SNC_.SNIA */
7926                         }
7927 
7928                         If (((Local1 >= 0x20) && (Local1 <= 0x2F)))
7929                         {
7930                             Local2 = SNGN (Local1)
7931                             Return (Local2)
7932                         }
7933 
7934                         Return (0x00)
7935                     }
7936 
7937                     Method (SNGN, 1, NotSerialized)
7938                     {
7939                         Local1 = (Arg0 & 0x0F)
7940                         If ((Local1 == 0x00))
7941                         {
7942                             Return (SNN0) /* \_SB_.PCI0.LPCB.SNC_.SNN0 */
7943                         }
7944 
7945                         If ((Local1 == 0x01))
7946                         {
7947                             Return (SNN1) /* \_SB_.PCI0.LPCB.SNC_.SNN1 */
7948                         }
7949 
7950                         If ((Local1 == 0x02))
7951                         {
7952                             Return (SNN2) /* \_SB_.PCI0.LPCB.SNC_.SNN2 */
7953                         }
7954 
7955                         If ((Local1 == 0x03))
7956                         {
7957                             Return (SNN3) /* \_SB_.PCI0.LPCB.SNC_.SNN3 */
7958                         }
7959 
7960                         If ((Local1 == 0x04))
7961                         {
7962                             Return (SNN4) /* \_SB_.PCI0.LPCB.SNC_.SNN4 */
7963                         }
7964 
7965                         If ((Local1 == 0x05))
7966                         {
7967                             Return (SNN5) /* \_SB_.PCI0.LPCB.SNC_.SNN5 */
7968                         }
7969 
7970                         If ((Local1 == 0x06))
7971                         {
7972                             Return (SNN6) /* \_SB_.PCI0.LPCB.SNC_.SNN6 */
7973                         }
7974 
7975                         If ((Local1 == 0x07))
7976                         {
7977                             Return (SNN7) /* \_SB_.PCI0.LPCB.SNC_.SNN7 */
7978                         }
7979 
7980                         If ((Local1 == 0x08))
7981                         {
7982                             Return (SNN8) /* \_SB_.PCI0.LPCB.SNC_.SNN8 */
7983                         }
7984 
7985                         If ((Local1 == 0x09))
7986                         {
7987                             Return (SNN9) /* \_SB_.PCI0.LPCB.SNC_.SNN9 */
7988                         }
7989 
7990                         If ((Local1 == 0x0A))
7991                         {
7992                             Return (SNNA) /* \_SB_.PCI0.LPCB.SNC_.SNNA */
7993                         }
7994 
7995                         If ((Local1 == 0x0B))
7996                         {
7997                             Return (SNNB) /* \_SB_.PCI0.LPCB.SNC_.SNNB */
7998                         }
7999 
8000                         If ((Local1 == 0x0C))
8001                         {
8002                             Return (SNNC) /* \_SB_.PCI0.LPCB.SNC_.SNNC */
8003                         }
8004 
8005                         If ((Local1 == 0x0D))
8006                         {
8007                             Return (SNND) /* \_SB_.PCI0.LPCB.SNC_.SNND */
8008                         }
8009 
8010                         If ((Local1 == 0x0E))
8011                         {
8012                             Return (SNNE) /* \_SB_.PCI0.LPCB.SNC_.SNNE */
8013                         }
8014 
8015                         If ((Local1 == 0x0F))
8016                         {
8017                             Return (SNNF) /* \_SB_.PCI0.LPCB.SNC_.SNNF */
8018                         }
8019 
8020                         Return (0x00)
8021                     }
8022 
8023                     Mutex (SNM0, 0x00)
8024                     Method (SN01, 0, NotSerialized)
8025                     {
8026                         Acquire (SNM0, 0xFFFF)
8027                         Local1 = PHS (0xD6)
8028                         Local1 &= ~ENMK
8029                         Local2 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8030                         Local1 |= Local2
8031                         Release (SNM0)
8032                         Return (Local1)
8033                     }
8034 
8035                     Method (SN02, 1, NotSerialized)
8036                     {
8037                         Acquire (SNM0, 0xFFFF)
8038                         Local1 = Arg0
8039                         If ((Local1 != 0x00))
8040                         {
8041                             Local2 = (Local1 & ~ENMK)
8042                             If ((Local2 != 0x00))
8043                             {
8044                                 PHSD (0xD7, Local2)
8045                             }
8046 
8047                             Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8048                             If ((Local2 != 0x00))
8049                             {
8050                                 Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8051                                 ENCR = (Local3 | Local2)
8052                             }
8053                         }
8054 
8055                         Release (SNM0)
8056                     }
8057 
8058                     Method (SN03, 1, NotSerialized)
8059                     {
8060                         Acquire (SNM0, 0xFFFF)
8061                         Local1 = Arg0
8062                         If ((Local1 != 0x00))
8063                         {
8064                             Local2 = (Local1 & ~ENMK)
8065                             If ((Local2 != 0x00))
8066                             {
8067                                 PHSD (0xD8, Local1)
8068                             }
8069 
8070                             Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8071                             If ((Local2 != 0x00))
8072                             {
8073                                 Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8074                                 ENCR = (Local3 & ~Local2)
8075                             }
8076                         }
8077 
8078                         Release (SNM0)
8079                     }
8080 
8081                     Method (SN04, 0, NotSerialized)
8082                     {
8083                         Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8084                         Sleep (0x05)
8085                         Local1 = \_SB.PCI0.LPCB.EC.ESR0
8086                         Release (\_SB.PCI0.LPCB.EC.MECR)
8087                         Local1 &= ~ENMK
8088                         Local2 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8089                         Local1 |= Local2
8090                         Return (Local1)
8091                     }
8092 
8093                     Method (SN05, 1, NotSerialized)
8094                     {
8095                         Local1 = Arg0
8096                         If ((Local1 != 0x00))
8097                         {
8098                             Local2 = (Local1 & ~ENMK)
8099                             If ((Arg0 == 0x08))
8100                             {
8101                                 Local2 &= ~0x08
8102                             }
8103 
8104                             If ((Local2 != 0x00))
8105                             {
8106                                 PHSD (0xDA, Local1)
8107                             }
8108 
8109                             Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8110                             If ((Local2 != 0x00))
8111                             {
8112                                 Local3 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8113                                 ESR = (Local3 & ~Local2)
8114                             }
8115                         }
8116                     }
8117 
8118                     Mutex (SNM1, 0x00)
8119                     Mutex (SNM2, 0x00)
8120                     Name (SNBF, Buffer (0x0410) {})
8121                     CreateField (SNBF, 0x00, 0x20, SNBD)
8122                     Method (SN06, 1, NotSerialized)
8123                     {
8124                         Acquire (SNM2, 0xFFFF)
8125                         SNBF = Arg0
8126                         SNCM ()
8127                         Release (SNM2)
8128                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8129                     }
8130 
8131                     Method (SNCM, 0, NotSerialized)
8132                     {
8133                         Acquire (SNM1, 0xFFFF)
8134                         Local0 = DerefOf (Index (SNBF, 0x00))
8135                         \DBGC (0xF0, Local0, BCEN)
8136                         Local0 &= 0x0F
8137                         If ((Local0 == 0x00))
8138                         {
8139                             SNF0 (SNBF)
8140                         }
8141                         Else
8142                         {
8143                             If ((Local0 == 0x02))
8144                             {
8145                                 SNF2 (SNBF)
8146                             }
8147                             Else
8148                             {
8149                                 If ((Local0 == 0x03))
8150                                 {
8151                                     SNF3 (SNBF)
8152                                 }
8153                                 Else
8154                                 {
8155                                     If ((Local0 == 0x04))
8156                                     {
8157                                         SNF4 (SNBF)
8158                                     }
8159                                     Else
8160                                     {
8161                                         If ((Local0 == 0x05))
8162                                         {
8163                                             SNF5 (SNBF)
8164                                         }
8165                                         Else
8166                                         {
8167                                             If ((Local0 == 0x06))
8168                                             {
8169                                                 SNF6 (SNBF)
8170                                             }
8171                                             Else
8172                                             {
8173                                                 If ((Local0 == 0x07))
8174                                                 {
8175                                                     SNF7 (SNBF)
8176                                                 }
8177                                                 Else
8178                                                 {
8179                                                     If ((Local0 == 0x08))
8180                                                     {
8181                                                         SNF8 (SNBF)
8182                                                     }
8183                                                     Else
8184                                                     {
8185                                                         If ((Local0 == 0x09))
8186                                                         {
8187                                                             SNF9 (SNBF)
8188                                                         }
8189                                                         Else
8190                                                         {
8191                                                             If ((Local0 == 0x0A))
8192                                                             {
8193                                                                 SNFA (SNBF)
8194                                                             }
8195                                                             Else
8196                                                             {
8197                                                                 If ((Local0 == 0x0B))
8198                                                                 {
8199                                                                     SNFB (SNBF)
8200                                                                 }
8201                                                                 Else
8202                                                                 {
8203                                                                     If ((Local0 == 0x0C))
8204                                                                     {
8205                                                                         SNFC (SNBF)
8206                                                                     }
8207                                                                     Else
8208                                                                     {
8209                                                                         If ((Local0 == 0x0E))
8210                                                                         {
8211                                                                             SNFE (SNBF)
8212                                                                         }
8213                                                                         Else
8214                                                                         {
8215                                                                             If ((Local0 == 0x0F))
8216                                                                             {
8217                                                                                 SNFF (SNBF)
8218                                                                             }
8219                                                                             Else
8220                                                                             {
8221                                                                             }
8222                                                                         }
8223                                                                     }
8224                                                                 }
8225                                                             }
8226                                                         }
8227                                                     }
8228                                                 }
8229                                             }
8230                                         }
8231                                     }
8232                                 }
8233                             }
8234                         }
8235 
8236                         Release (SNM1)
8237                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8238                     }
8239 
8240                     Method (SN07, 1, NotSerialized)
8241                     {
8242                         Acquire (SNM2, 0xFFFF)
8243                         Local0 = Arg0
8244                         SNBD = Local0
8245                         SNCM ()
8246                         Release (SNM2)
8247                         Return (SNBD) /* \_SB_.PCI0.LPCB.SNC_.SNBD */
8248                     }
8249 
8250                     Method (SNF0, 1, NotSerialized)
8251                     {
8252                         \DBGC (0x70, 0x80, BCEN)
8253                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8254                     }
8255 
8256                     Method (SNF1, 1, NotSerialized)
8257                     {
8258                         \DBGC (0x71, 0x80, BCEN)
8259                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8260                     }
8261 
8262                     Method (SNF2, 1, NotSerialized)
8263                     {
8264                         Local0 = DerefOf (Index (SNBF, 0x01))
8265                         If ((Local0 == 0x00))
8266                         {
8267                             Local1 = 0x04
8268                             PHSB (0xD0, Local1)
8269                         }
8270                         Else
8271                         {
8272                             If ((Local0 == 0x01))
8273                             {
8274                                 Local1 = 0x04
8275                                 PHSB (0xD1, Local1)
8276                             }
8277                             Else
8278                             {
8279                                 If ((Local0 == 0x02))
8280                                 {
8281                                     Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8282                                     Sleep (0x05)
8283                                     Local1 = \_SB.PCI0.LPCB.EC.GECR ()
8284                                     Release (\_SB.PCI0.LPCB.EC.MECR)
8285                                     Index (SNBF, 0x00) = Local1
8286                                 }
8287                                 Else
8288                                 {
8289                                 }
8290                             }
8291                         }
8292 
8293                         \DBGC (0x72, 0x80, BCEN)
8294                     }
8295 
8296                     Name (BRTB, Buffer (0x10)
8297                     {
8298                         /* 0000 */  0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36,  /* .....%-6 */
8299                         /* 0008 */  0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF   /* AP_v.... */
8300                     })
8301                     Name (DEFU, Buffer (0x09)
8302                     {
8303                         /* 0000 */  0x01, 0x23, 0x02, 0x01, 0x0B, 0x00, 0xDC, 0x00,  /* .#...... */
8304                         /* 0008 */  0x00                                             /* . */
8305                     })
8306                     Method (BRBR, 1, NotSerialized)
8307                     {
8308                         If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
8309                         {
8310                             Local2 = (SYSD & 0x07)
8311                             If (((Local2 == 0x00) || (Local2 == 0x03)))
8312                             {
8313                                 \_SB.PCI0.GFX0.SBRI (Arg0)
8314                             }
8315                             Else
8316                             {
8317                                 \_SB.PCI0.PEG0.VGA.SBRI (Arg0)
8318                             }
8319                         }
8320                     }
8321 
8322                     Method (GTBR, 0, NotSerialized)
8323                     {
8324                         Local1 = (SYSD & 0x07)
8325                         If (((Local1 == 0x00) || (Local1 == 0x03)))
8326                         {
8327                             Local2 = \_SB.PCI0.GFX0.GBRI ()
8328                         }
8329                         Else
8330                         {
8331                             Local2 = \_SB.PCI0.PEG0.VGA.GBRI ()
8332                         }
8333 
8334                         Return (Local2)
8335                     }
8336 
8337                     Method (GLCD, 0, NotSerialized)
8338                     {
8339                         Local2 = 0x00
8340                         If ((CM60 != 0x00))
8341                         {
8342                             Local2 = 0x01
8343                         }
8344 
8345                         Return (Local2)
8346                     }
8347 
8348                     Method (SNF3, 1, NotSerialized)
8349                     {
8350                         Local0 = DerefOf (Index (SNBF, 0x01))
8351                         If ((Local0 == 0x00))
8352                         {
8353                             Local1 = 0x00
8354                             While ((Local1 <= 0x0F))
8355                             {
8356                                 Index (SNBF, Local1) = DerefOf (Index (BRTB, Local1))
8357                                 Local1++
8358                             }
8359 
8360                             Local1 = 0x00
8361                             While ((Local1 <= 0x08))
8362                             {
8363                                 Index (SNBF, (Local1 + 0x10)) = DerefOf (Index (DEFU, Local1
8364                                     ))
8365                                 Local1++
8366                             }
8367                         }
8368                         Else
8369                         {
8370                             If ((Local0 == 0x01))
8371                             {
8372                                 Local2 = GLCD ()
8373                                 Local1 = (~GPKB & 0x01)
8374                                 Index (SNBF, 0x00) = Local1 |= (Local2 << 0x01)
8375                             }
8376                             Else
8377                             {
8378                                 If ((Local0 == 0x10))
8379                                 {
8380                                     Acquire (SNM0, 0xFFFF)
8381                                     Local1 = PHS (0xF7)
8382                                     Local1 &= 0x00FFFFFF
8383                                     Index (SNBF, 0x00) = Local1
8384                                     Index (SNBF, 0x01) = (Local1 >> 0x08)
8385                                     Index (SNBF, 0x02) = (Local1 >> 0x10)
8386                                     Release (SNM0)
8387                                 }
8388                                 Else
8389                                 {
8390                                     If ((Local0 == 0x20))
8391                                     {
8392                                         Local1 = (ALER & 0x03)
8393                                         Index (SNBF, 0x00) = Local1
8394                                     }
8395                                     Else
8396                                     {
8397                                         If ((Local0 == 0x21))
8398                                         {
8399                                             Local1 = PHS (0xFA)
8400                                             Local1 &= 0x01
8401                                             Index (SNBF, 0x00) = Local1
8402                                         }
8403                                         Else
8404                                         {
8405                                             If ((Local0 == 0x22))
8406                                             {
8407                                                 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01)
8408                                                 If (Local1)
8409                                                 {
8410                                                     PHSB (0xFB, 0xA1)
8411                                                 }
8412                                                 Else
8413                                                 {
8414                                                     PHSB (0xFB, 0xA0)
8415                                                 }
8416                                             }
8417                                             Else
8418                                             {
8419                                                 If ((Local0 == 0x30))
8420                                                 {
8421                                                     Local1 = DerefOf (Index (SNBF, 0x02))
8422                                                     Local2 = PHS (0xFA)
8423                                                     Local2 &= 0x01
8424                                                     If (Local2)
8425                                                     {
8426                                                         BRBR (Local1)
8427                                                     }
8428                                                 }
8429                                                 Else
8430                                                 {
8431                                                     If ((Local0 == 0x31))
8432                                                     {
8433                                                         Index (SNBF, 0x00) = GTBR ()
8434                                                     }
8435                                                     Else
8436                                                     {
8437                                                         If ((Local0 == 0x40))
8438                                                         {
8439                                                             Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03)
8440                                                             If ((Local1 != 0x03))
8441                                                             {
8442                                                                 Local1 <<= 0x08
8443                                                                 PHSD (0xF0, (Local1 | 0xA015))
8444                                                             }
8445                                                         }
8446                                                         Else
8447                                                         {
8448                                                             If ((Local0 == 0x41))
8449                                                             {
8450                                                                 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01)
8451                                                                 Local1 <<= 0x08
8452                                                                 PHSD (0xF0, (Local1 | 0xA016))
8453                                                             }
8454                                                             Else
8455                                                             {
8456                                                                 If ((Local0 == 0x42))
8457                                                                 {
8458                                                                     Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03)
8459                                                                     If ((Local1 == 0x00))
8460                                                                     {
8461                                                                         PHSD (0xF0, 0xA317)
8462                                                                     }
8463                                                                     Else
8464                                                                     {
8465                                                                         If ((Local1 == 0x01))
8466                                                                         {
8467                                                                             PHSD (0xF0, 0xA017)
8468                                                                         }
8469                                                                         Else
8470                                                                         {
8471                                                                             If ((Local1 == 0x02))
8472                                                                             {
8473                                                                                 PHSD (0xF0, 0xA117)
8474                                                                             }
8475                                                                             Else
8476                                                                             {
8477                                                                                 If ((Local1 == 0x03))
8478                                                                                 {
8479                                                                                     PHSD (0xF0, 0xA217)
8480                                                                                 }
8481                                                                             }
8482                                                                         }
8483                                                                     }
8484                                                                 }
8485                                                             }
8486                                                         }
8487                                                     }
8488                                                 }
8489                                             }
8490                                         }
8491                                     }
8492                                 }
8493                             }
8494                         }
8495 
8496                         \DBGC (0x73, 0x80, BCEN)
8497                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8498                     }
8499 
8500                     Method (SNF4, 1, NotSerialized)
8501                     {
8502                         Local0 = DerefOf (Index (SNBF, 0x01))
8503                         If ((Local0 == 0x00))
8504                         {
8505                             Local1 = PHS (0xE7)
8506                             SNBF = Local1
8507                         }
8508 
8509                         If ((Local0 == 0x01))
8510                         {
8511                             Local1 = ((Local1 = SN04 () & 0x10) >> 0x04)
8512                             Index (SNBF, 0x00) = Local1
8513                         }
8514                         Else
8515                         {
8516                             If ((Local0 == 0x02))
8517                             {
8518                                 Local1 = PHS (0xDD)
8519                                 Index (SNBF, 0x00) = (Local1 & 0x01)
8520                             }
8521                             Else
8522                             {
8523                                 If ((Local0 == 0x03))
8524                                 {
8525                                     Local1 = PHS (0xDD)
8526                                     Local1 = ((Local1 & 0x06) >> 0x01)
8527                                     Index (SNBF, 0x00) = Local1
8528                                 }
8529                                 Else
8530                                 {
8531                                     If ((Local0 == 0x04))
8532                                     {
8533                                         Local1 = DerefOf (Index (SNBF, 0x02))
8534                                         Local1 &= 0x03
8535                                         PHSD (0xDE, Local1)
8536                                     }
8537                                     Else
8538                                     {
8539                                         If ((Local0 == 0x05))
8540                                         {
8541                                             Local1 = PHS (0xDD)
8542                                             Local1 = ((Local1 & 0x30) >> 0x04)
8543                                             Index (SNBF, 0x00) = Local1
8544                                         }
8545                                         Else
8546                                         {
8547                                             If ((Local0 == 0x06))
8548                                             {
8549                                                 Local1 = DerefOf (Index (SNBF, 0x02))
8550                                                 Local1 &= 0x03
8551                                                 PHSD (0xDF, Local1)
8552                                             }
8553                                             Else
8554                                             {
8555                                                 If ((Local0 == 0x09))
8556                                                 {
8557                                                     Local1 = PHS (0xDD)
8558                                                     Local1 = ((Local1 & 0x3000) >> 0x0C)
8559                                                     Index (SNBF, 0x00) = Local1
8560                                                 }
8561                                                 Else
8562                                                 {
8563                                                     If ((Local0 == 0x0A))
8564                                                     {
8565                                                         Local1 = DerefOf (Index (SNBF, 0x02))
8566                                                         Local1 &= 0x03
8567                                                         PHSD (0xEC, Local1)
8568                                                     }
8569                                                     Else
8570                                                     {
8571                                                     }
8572                                                 }
8573                                             }
8574                                         }
8575                                     }
8576                                 }
8577                             }
8578                         }
8579 
8580                         \DBGC (0x74, 0x80, BCEN)
8581                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8582                     }
8583 
8584                     Method (SNF5, 1, NotSerialized)
8585                     {
8586                         Local0 = DerefOf (Index (SNBF, 0x01))
8587                         If ((Local0 == 0x00))
8588                         {
8589                             Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8590                             Sleep (0x05)
8591                             Local1 = PHS (0xCA)
8592                             Release (\_SB.PCI0.LPCB.EC.MECR)
8593                             Local1 &= 0x0F
8594                             If ((Local1 == 0x05))
8595                             {
8596                                 Local1 = 0x01
8597                             }
8598                             Else
8599                             {
8600                                 Local1 = 0x00
8601                             }
8602 
8603                             Index (SNBF, 0x00) = Local1
8604                             \DBGC (0x75, 0x80, BCEN)
8605                         }
8606                         Else
8607                         {
8608                             If ((Local0 == 0x01))
8609                             {
8610                                 Local2 = DerefOf (Index (SNBF, 0x02))
8611                                 Local2 &= 0x01
8612                                 ATFR = Local2
8613                             }
8614                             Else
8615                             {
8616                             }
8617                         }
8618 
8619                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8620                     }
8621 
8622                     Method (SNF6, 1, NotSerialized)
8623                     {
8624                         Local0 = DerefOf (Index (SNBF, 0x01))
8625                         If ((Local0 == 0x00))
8626                         {
8627                             Local1 = PHSD (0xF1, 0x12)
8628                         }
8629                         Else
8630                         {
8631                             If ((Local0 == 0x01))
8632                             {
8633                                 Local1 = PHSD (0xF1, 0x13)
8634                             }
8635                             Else
8636                             {
8637                                 Local1 = 0x00
8638                             }
8639                         }
8640 
8641                         Index (SNBF, 0x00) = Local1
8642                         Index (SNBF, 0x01) = (Local1 >> 0x08)
8643                         \DBGC (0x76, 0x80, BCEN)
8644                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8645                     }
8646 
8647                     Method (SNF7, 1, NotSerialized)
8648                     {
8649                         \DBGC (0x77, 0x80, BCEN)
8650                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8651                     }
8652 
8653                     Method (SNF8, 1, NotSerialized)
8654                     {
8655                         \DBGC (0x78, 0x80, BCEN)
8656                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8657                     }
8658 
8659                     Method (SNF9, 1, NotSerialized)
8660                     {
8661                         Local0 = DerefOf (Index (SNBF, 0x01))
8662                         If ((Local0 == 0x00))
8663                         {
8664                             Local1 = PHS (0xE4)
8665                             Index (SNBF, 0x00) = (Local1 & 0x35)
8666                         }
8667                         Else
8668                         {
8669                             If ((Local0 == 0x01))
8670                             {
8671                                 Local1 = DerefOf (Index (SNBF, 0x02))
8672                                 Local1 &= 0x31
8673                                 PHSD (0xE5, Local1)
8674                             }
8675                             Else
8676                             {
8677                                 If ((Local0 == 0x02))
8678                                 {
8679                                     Local1 = PHS (0xF3)
8680                                     Index (SNBF, 0x00) = Local1
8681                                 }
8682                             }
8683                         }
8684 
8685                         \DBGC (0x79, 0x80, BCEN)
8686                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8687                     }
8688 
8689                     Method (SNFA, 1, NotSerialized)
8690                     {
8691                         Local0 = DerefOf (Index (SNBF, 0x01))
8692                         If ((Local0 == 0x00))
8693                         {
8694                             Index (SNBF, 0x00) = CM60 /* \CM60 */
8695                             Index (SNBF, 0x01) = 0x00
8696                         }
8697                         Else
8698                         {
8699                         }
8700 
8701                         \DBGC (0x7A, 0x80, BCEN)
8702                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8703                     }
8704 
8705                     Method (SNFB, 1, NotSerialized)
8706                     {
8707                         Local0 = DerefOf (Index (SNBF, 0x01))
8708                         If ((Local0 == 0x00))
8709                         {
8710                             Acquire (MIDB, 0xFFFF)
8711                             Local1 = PHSD (0xDC, 0x00)
8712                             If ((Local1 == 0x02))
8713                             {
8714                                 Sleep (0x1388)
8715                             }
8716 
8717                             Release (MIDB)
8718                             Index (SNBF, 0x00) = (Local1 & 0x07)
8719                         }
8720 
8721                         \DBGC (0x7B, 0x80, BCEN)
8722                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8723                     }
8724 
8725                     Method (SNFC, 1, NotSerialized)
8726                     {
8727                         \DBGC (0x7C, 0x80, BCEN)
8728                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8729                     }
8730 
8731                     Method (SNFD, 1, NotSerialized)
8732                     {
8733                         \DBGC (0x7D, 0x80, BCEN)
8734                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8735                     }
8736 
8737                     Method (SNFE, 1, NotSerialized)
8738                     {
8739                         Local0 = DerefOf (Index (SNBF, 0x01))
8740                         If ((Local0 == 0x00))
8741                         {
8742                             Local1 = PHS (0xC7)
8743                             Local1 &= 0xFF
8744                             If ((Local1 == 0xFE))
8745                             {
8746                                 Local1 = 0x01
8747                             }
8748                             Else
8749                             {
8750                                 Local1 = 0x00
8751                             }
8752 
8753                             Index (SNBF, 0x00) = Local1
8754                             Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8755                         }
8756                         Else
8757                         {
8758                             If ((Local0 == 0x01))
8759                             {
8760                                 Local2 = DerefOf (Index (SNBF, 0x02))
8761                                 Local2 &= 0x01
8762                                 If ((Local2 == 0x00))
8763                                 {
8764                                     Local3 = 0xA0
8765                                 }
8766                                 Else
8767                                 {
8768                                     Local3 = 0xA1
8769                                 }
8770 
8771                                 PHSB (0xC8, Local3)
8772                             }
8773                             Else
8774                             {
8775                             }
8776                         }
8777 
8778                         \DBGC (0x7E, 0x80, BCEN)
8779                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8780                     }
8781 
8782                     Method (SNFF, 1, NotSerialized)
8783                     {
8784                         Local0 = DerefOf (Index (SNBF, 0x01))
8785                         If ((Local0 == 0x00))
8786                         {
8787                             Local1 = 0x03
8788                             Index (SNBF, 0x00) = Local1
8789                         }
8790 
8791                         If ((Local0 == 0x01))
8792                         {
8793                             Local1 = 0x00
8794                             Local1 = PHS (0xF2)
8795                             P8XH (0x00, Local1)
8796                             Local1 &= 0x03
8797                             Index (SNBF, 0x00) = Local1
8798                         }
8799                         Else
8800                         {
8801                             If ((Local0 == 0x02))
8802                             {
8803                                 Local1 = DerefOf (Index (SNBF, 0x02))
8804                                 P8XH (0x00, Local1)
8805                                 Local1 &= 0x03
8806                                 PHSB (0xE8, Local1)
8807                             }
8808                         }
8809 
8810                         \DBGC (0x7F, 0x80, BCEN)
8811                         Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8812                     }
8813                 }
8814             }
8815         }
8816     }
8817 
8818     Scope (\)
8819     {
8820         Name (\AODV, 0x00)
8821         Name (\CADD, 0x00)
8822         Name (\PADD, 0x00)
8823     }
8824 
8825     Name (\_S0, Package (0x04)  // _S0_: S0 System State
8826     {
8827         0x00, 
8828         0x00, 
8829         0x00, 
8830         0x00
8831     })
8832     If (SS3)
8833     {
8834         Name (\_S3, Package (0x04)  // _S3_: S3 System State
8835         {
8836             0x05, 
8837             0x00, 
8838             0x00, 
8839             0x00
8840         })
8841     }
8842 
8843     If (SS4)
8844     {
8845         Name (\_S4, Package (0x04)  // _S4_: S4 System State
8846         {
8847             0x06, 
8848             0x00, 
8849             0x00, 
8850             0x00
8851         })
8852     }
8853 
8854     Name (\_S5, Package (0x04)  // _S5_: S5 System State
8855     {
8856         0x07, 
8857         0x00, 
8858         0x00, 
8859         0x00
8860     })
8861     Method (PTS, 1, NotSerialized)
8862     {
8863         If (Arg0) {}
8864     }
8865 
8866     Method (WAK, 1, NotSerialized)
8867     {
8868     }
8869 
8870     Scope (\_SB.PCI0.PEG0)
8871     {
8872         Device (VGA)
8873         {
8874             Method (_ADR, 0, Serialized)  // _ADR: Address
8875             {
8876                 \DBGC (0x65, 0x00, BCEN)
8877                 Return (0x00)
8878             }
8879 
8880             OperationRegion (ATFX, PCI_Config, 0x00, 0x50)
8881             Field (ATFX, AnyAcc, NoLock, Preserve)
8882             {
8883                 ATID,   16, 
8884                 Offset (0x4C), 
8885                 SSID,   32
8886             }
8887 
8888             Method (_STA, 0, NotSerialized)  // _STA: Status
8889             {
8890                 Return (0x0F)
8891             }
8892 
8893             Name (I10B, Buffer (0x08) {})
8894             CreateField (I10B, 0x00, 0x08, I_AL)
8895             CreateField (I10B, 0x08, 0x08, I_AH)
8896             CreateField (I10B, 0x10, 0x08, I_BL)
8897             CreateField (I10B, 0x18, 0x08, I_BH)
8898             CreateField (I10B, 0x20, 0x08, I_CL)
8899             CreateField (I10B, 0x28, 0x08, I_CH)
8900             CreateField (I10B, 0x30, 0x08, I_DL)
8901             CreateField (I10B, 0x38, 0x08, I_DH)
8902             Name (RTL0, Buffer (0x10)
8903             {
8904                 /* 0000 */  0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36,  /* .....%-6 */
8905                 /* 0008 */  0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF   /* AP_v.... */
8906             })
8907             Name (ICL0, Package (0x12)
8908             {
8909                 0x64, 
8910                 0x64, 
8911                 0x0A, 
8912                 0x10, 
8913                 0x16, 
8914                 0x1C, 
8915                 0x22, 
8916                 0x28, 
8917                 0x2E, 
8918                 0x34, 
8919                 0x3A, 
8920                 0x40, 
8921                 0x46, 
8922                 0x4C, 
8923                 0x52, 
8924                 0x58, 
8925                 0x5E, 
8926                 0x64
8927             })
8928             Method (SBRI, 1, NotSerialized)
8929             {
8930                 I_AL = 0x82
8931                 I_AH = 0xA0
8932                 I_BL = 0x05
8933                 I_BH = 0x01
8934                 I_CL = Arg0
8935                 PHDD (0xE2, I10B)
8936             }
8937 
8938             Name (SSBR, 0x00)
8939             Method (GBRI, 0, NotSerialized)
8940             {
8941                 I_AL = 0x82
8942                 I_AH = 0xA0
8943                 I_BL = 0x05
8944                 I_BH = 0x00
8945                 I_CL = 0x00
8946                 I10B = PHDD (0xE2, I10B)
8947                 SSBR = DerefOf (Index (I10B, 0x04))
8948                 Return (SSBR) /* \_SB_.PCI0.PEG0.VGA_.SSBR */
8949             }
8950 
8951             Device (LCD)
8952             {
8953                 Name (_ADR, 0x0110)  // _ADR: Address
8954                 Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
8955                 {
8956                     Return (ICL0) /* \_SB_.PCI0.PEG0.VGA_.ICL0 */
8957                 }
8958 
8959                 Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
8960                 {
8961                     PHSD (0xDA, 0x08)
8962                     Local1 = PHS (0xFA)
8963                     Local1 &= 0x01
8964                     If ((Local1 == 0x01))
8965                     {
8966                         ALER = 0x01
8967                         BRTL = Arg0
8968                         Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
8969                     }
8970                     Else
8971                     {
8972                         ALER = 0x00
8973                         Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02)
8974                         Local0 = DerefOf (Index (RTL0, Local0))
8975                         BRTL = Arg0
8976                         I_AL = 0x82
8977                         I_AH = 0xA0
8978                         I_BL = 0x05
8979                         I_BH = 0x01
8980                         I_CL = Local0
8981                         PHDD (0xE2, I10B)
8982                     }
8983 
8984                     \DBGC (0x65, 0x81, BCEN)
8985                 }
8986 
8987                 Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
8988                 {
8989                     \DBGC (0x65, 0x82, BCEN)
8990                     Return (BRTL) /* \BRTL */
8991                 }
8992 
8993                 Name (_DCS, 0x1F)  // _DCS: Display Current Status
8994                 Name (_DGS, 0x01)  // _DGS: Display Graphics State
8995                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8996                 {
8997                     If ((Arg0 & 0x40000000))
8998                     {
8999                         If ((Arg0 & 0x01))
9000                         {
9001                             _DCS = 0x1F
9002                         }
9003                         Else
9004                         {
9005                             _DCS = 0x1D
9006                         }
9007                     }
9008                     Else
9009                     {
9010                     }
9011                 }
9012             }
9013 
9014             Device (CRT)
9015             {
9016                 Name (_ADR, 0x0100)  // _ADR: Address
9017                 Name (_DCS, 0x1F)  // _DCS: Display Current Status
9018                 Name (_DGS, 0x01)  // _DGS: Display Graphics State
9019                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
9020                 {
9021                     If ((Arg0 & 0x40000000))
9022                     {
9023                         If ((Arg0 & 0x01))
9024                         {
9025                             _DCS = 0x1F
9026                         }
9027                         Else
9028                         {
9029                             _DCS = 0x1D
9030                         }
9031                     }
9032                     Else
9033                     {
9034                     }
9035                 }
9036             }
9037 
9038             Device (TV)
9039             {
9040                 Name (_ADR, 0x0200)  // _ADR: Address
9041                 Name (_DCS, 0x0D)  // _DCS: Display Current Status
9042                 Name (_DGS, 0x00)  // _DGS: Display Graphics State
9043                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
9044                 {
9045                     If ((Arg0 & 0x40000000))
9046                     {
9047                         If ((Arg0 & 0x01))
9048                         {
9049                             _DCS = 0x1F
9050                         }
9051                         Else
9052                         {
9053                             _DCS = 0x1D
9054                         }
9055                     }
9056                     Else
9057                     {
9058                     }
9059                 }
9060             }
9061 
9062             Device (DFP1)
9063             {
9064                 Name (_ADR, 0x0210)  // _ADR: Address
9065                 Name (_DCS, 0x1F)  // _DCS: Display Current Status
9066                 Name (_DGS, 0x01)  // _DGS: Display Graphics State
9067                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
9068                 {
9069                     If ((Arg0 & 0x40000000))
9070                     {
9071                         If ((Arg0 & 0x01))
9072                         {
9073                             _DCS = 0x1F
9074                         }
9075                         Else
9076                         {
9077                             _DCS = 0x1D
9078                         }
9079                     }
9080                     Else
9081                     {
9082                     }
9083                 }
9084             }
9085 
9086             Name (SWIT, 0x01)
9087             Name (_DOD, Package (0x04)  // _DOD: Display Output Devices
9088             {
9089                 0x00010100, 
9090                 0x00010110, 
9091                 0x00010200, 
9092                 0x00010210
9093             })
9094             Name (ATIB, Buffer (0x0100) {})
9095             Method (XTIF, 2, Serialized)
9096             {
9097                 If ((Arg0 == 0x00))
9098                 {
9099                     Return (AF00 ())
9100                 }
9101 
9102                 If ((Arg0 == 0x01))
9103                 {
9104                     Return (AF01 ())
9105                 }
9106 
9107                 If ((Arg0 == 0x02))
9108                 {
9109                     Return (AF02 ())
9110                 }
9111 
9112                 If ((Arg0 == 0x03))
9113                 {
9114                     Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04))))
9115                 }
9116 
9117                 If ((Arg0 == 0x05))
9118                 {
9119                     Return (AF05 ())
9120                 }
9121 
9122                 If ((Arg0 == 0x06))
9123                 {
9124                     Return (AF06 (DerefOf (Index (Arg1, 0x03))))
9125                 }
9126 
9127                 If ((Arg0 == 0x07))
9128                 {
9129                     Return (AF07 ())
9130                 }
9131 
9132                 If ((Arg0 == 0x08))
9133                 {
9134                     Return (AF08 (DerefOf (Index (Arg1, 0x02))))
9135                 }
9136                 Else
9137                 {
9138                     CreateWordField (ATIB, 0x00, SSZE)
9139                     CreateWordField (ATIB, 0x02, VERN)
9140                     CreateDWordField (ATIB, 0x04, NMSK)
9141                     CreateDWordField (ATIB, 0x08, SFUN)
9142                     SSZE = 0x00
9143                     VERN = 0x00
9144                     NMSK = 0x00
9145                     SFUN = 0x00
9146                     Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9147                 }
9148             }
9149 
9150             Method (AF00, 0, NotSerialized)
9151             {
9152                 CreateWordField (ATIB, 0x00, SSZE)
9153                 CreateWordField (ATIB, 0x02, VERN)
9154                 CreateDWordField (ATIB, 0x04, NMSK)
9155                 CreateDWordField (ATIB, 0x08, SFUN)
9156                 SSZE = 0x0C
9157                 VERN = 0x01
9158                 NMSK = 0x00
9159                 MSKN = NMSK /* \_SB_.PCI0.PEG0.VGA_.AF00.NMSK */
9160                 SFUN = 0x00
9161                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9162             }
9163 
9164             Method (AF01, 0, NotSerialized)
9165             {
9166                 CreateWordField (ATIB, 0x00, SSZE)
9167                 CreateDWordField (ATIB, 0x02, VMSK)
9168                 CreateDWordField (ATIB, 0x06, FLGS)
9169                 SSZE = 0x0A
9170                 VMSK = 0x03
9171                 FLGS = 0x01
9172                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9173             }
9174 
9175             Name (PSBR, Buffer (0x04)
9176             {
9177                  0x00, 0x00, 0x00, 0x00                           /* .... */
9178             })
9179             Name (MSKN, 0x00)
9180             Name (SEXM, 0x00)
9181             Name (STHG, 0x00)
9182             Name (STHI, 0x00)
9183             Name (SFPG, 0x00)
9184             Name (SFPI, 0x00)
9185             Name (SSPS, 0x00)
9186             Name (SSDM, 0x0A)
9187             Name (SCDY, 0x00)
9188             Name (SACT, Buffer (0x06)
9189             {
9190                  0x01, 0x02, 0x08, 0x03, 0x09, 0x0A               /* ...... */
9191             })
9192             Method (AF02, 0, NotSerialized)
9193             {
9194                 CreateBitField (PSBR, 0x00, PDSW)
9195                 CreateBitField (PSBR, 0x01, PEXM)
9196                 CreateBitField (PSBR, 0x02, PTHR)
9197                 CreateBitField (PSBR, 0x03, PFPS)
9198                 CreateBitField (PSBR, 0x04, PSPS)
9199                 CreateBitField (PSBR, 0x05, PDCC)
9200                 CreateWordField (ATIB, 0x00, SSZE)
9201                 CreateDWordField (ATIB, 0x02, PSBI)
9202                 CreateByteField (ATIB, 0x06, EXPM)
9203                 CreateByteField (ATIB, 0x07, THRM)
9204                 CreateByteField (ATIB, 0x08, THID)
9205                 CreateByteField (ATIB, 0x09, FPWR)
9206                 CreateByteField (ATIB, 0x0A, FPID)
9207                 CreateByteField (ATIB, 0x0B, SPWR)
9208                 SSZE = 0x0C
9209                 PSBI = PSBR /* \_SB_.PCI0.PEG0.VGA_.PSBR */
9210                 If (PDSW)
9211                 {
9212                     PDSW = Zero
9213                 }
9214 
9215                 If (PEXM)
9216                 {
9217                     EXPM = SEXM /* \_SB_.PCI0.PEG0.VGA_.SEXM */
9218                     SEXM = Zero
9219                     PEXM = Zero
9220                 }
9221 
9222                 If (PTHR)
9223                 {
9224                     THRM = STHG /* \_SB_.PCI0.PEG0.VGA_.STHG */
9225                     THID = STHI /* \_SB_.PCI0.PEG0.VGA_.STHI */
9226                     STHG = Zero
9227                     STHI = Zero
9228                     PTHR = Zero
9229                 }
9230 
9231                 If (PFPS)
9232                 {
9233                     FPWR = SFPG /* \_SB_.PCI0.PEG0.VGA_.SFPG */
9234                     FPWR = SFPI /* \_SB_.PCI0.PEG0.VGA_.SFPI */
9235                     SFPG = Zero
9236                     SFPI = Zero
9237                     PFPS = Zero
9238                 }
9239 
9240                 If (PSPS)
9241                 {
9242                     SPWR = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */
9243                     PSPS = Zero
9244                 }
9245 
9246                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9247             }
9248 
9249             Method (AF03, 2, NotSerialized)
9250             {
9251                 CreateWordField (ATIB, 0x00, SSZE)
9252                 CreateWordField (ATIB, 0x02, SSDP)
9253                 CreateWordField (ATIB, 0x04, SCDP)
9254                 SSDP = Arg0
9255                 SCDP = Arg1
9256                 Name (NXTD, 0x06)
9257                 Name (CIDX, 0x06)
9258                 Local1 = SSDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SSDP */
9259                 Local1 &= 0x0B
9260                 Local2 = SCDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SCDP */
9261                 If (CondRefOf (\_SB.LID._LID, Local4))
9262                 {
9263                     Local2 &= ~0x01
9264                 }
9265                 Else
9266                 {
9267                     Local2 |= 0x01
9268                 }
9269 
9270                 Local0 = Zero
9271                 While ((Local0 < SizeOf (SACT)))
9272                 {
9273                     Local3 = DerefOf (Index (SACT, Local0))
9274                     If ((Local3 == Local1))
9275                     {
9276                         CIDX = Local0
9277                         Local0 = SizeOf (SACT)
9278                     }
9279                     Else
9280                     {
9281                         Local0++
9282                     }
9283                 }
9284 
9285                 Local0 = CIDX /* \_SB_.PCI0.PEG0.VGA_.AF03.CIDX */
9286                 While ((Local0 < SizeOf (SACT)))
9287                 {
9288                     Local0++
9289                     If ((Local0 == SizeOf (SACT)))
9290                     {
9291                         Local0 = 0x00
9292                     }
9293 
9294                     Local3 = DerefOf (Index (SACT, Local0))
9295                     If (((Local3 & Local2) == Local3))
9296                     {
9297                         NXTD = Local0
9298                         Local0 = SizeOf (SACT)
9299                     }
9300                 }
9301 
9302                 If ((NXTD == SizeOf (SACT)))
9303                 {
9304                     SSDP = Zero
9305                 }
9306                 Else
9307                 {
9308                     Local0 = NXTD /* \_SB_.PCI0.PEG0.VGA_.AF03.NXTD */
9309                     Local3 = DerefOf (Index (SACT, Local0))
9310                     SSDP &= ~0x0B
9311                     SSDP |= Local3
9312                 }
9313 
9314                 SSZE = 0x04
9315                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9316             }
9317 
9318             Method (AF05, 0, NotSerialized)
9319             {
9320                 CreateWordField (ATIB, 0x00, SSZE)
9321                 CreateByteField (ATIB, 0x02, TSEF)
9322                 CreateByteField (ATIB, 0x03, TVIF)
9323                 SSZE = 0x04
9324                 TSEF = 0x00
9325                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9326             }
9327 
9328             Method (AF06, 1, NotSerialized)
9329             {
9330                 CreateWordField (ATIB, 0x00, SSZE)
9331                 CreateByteField (ATIB, 0x02, TSEF)
9332                 CreateByteField (ATIB, 0x03, TVIF)
9333                 SSZE = 0x04
9334                 TSEF = 0x00
9335                 TVIF = Arg0
9336                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9337             }
9338 
9339             Method (AF07, 0, NotSerialized)
9340             {
9341                 CreateWordField (ATIB, 0x00, SSZE)
9342                 CreateByteField (ATIB, 0x02, XMOD)
9343                 SSZE = 0x03
9344                 XMOD = 0x00
9345                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9346             }
9347 
9348             Method (AF08, 1, NotSerialized)
9349             {
9350                 CreateWordField (ATIB, 0x00, SSZE)
9351                 CreateByteField (ATIB, 0x02, XMOD)
9352                 SSZE = 0x03
9353                 XMOD = Arg0
9354                 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9355             }
9356 
9357             Method (AFN0, 0, Serialized)
9358             {
9359                 If ((MSKN & 0x01))
9360                 {
9361                     CreateBitField (PSBR, 0x00, PDSW)
9362                     PDSW = One
9363                     Notify (VGA, 0x81) // Information Change
9364                 }
9365             }
9366 
9367             Method (AFN1, 1, Serialized)
9368             {
9369                 If ((MSKN & 0x02))
9370                 {
9371                     Local0 = Arg0
9372                     Local0 &= 0x03
9373                     SEXM = Local0
9374                     CreateBitField (PSBR, 0x01, PEXM)
9375                     PEXM = One
9376                     Notify (VGA, 0x81) // Information Change
9377                 }
9378             }
9379 
9380             Method (AFN2, 2, Serialized)
9381             {
9382                 If ((MSKN & 0x04))
9383                 {
9384                     Local0 = Arg0
9385                     STHI = Local0
9386                     Local0 = Arg1
9387                     STHG = Local0 &= 0x03
9388                     CreateBitField (PSBR, 0x02, PTHS)
9389                     PTHS = One
9390                     Notify (VGA, 0x81) // Information Change
9391                 }
9392             }
9393 
9394             Method (AFN3, 2, Serialized)
9395             {
9396                 If ((MSKN & 0x08))
9397                 {
9398                     Local0 = Arg0
9399                     SFPI = Local0
9400                     Local0 = Arg1
9401                     SFPG = Local0 &= 0x03
9402                     CreateBitField (PSBR, 0x03, PFPS)
9403                     PFPS = One
9404                     Notify (VGA, 0x81) // Information Change
9405                 }
9406             }
9407 
9408             Method (AFN4, 1, Serialized)
9409             {
9410                 If ((MSKN & 0x10))
9411                 {
9412                     Local0 = Arg0
9413                     Local1 = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */
9414                     SSPS = Local0
9415                     If ((Local0 == Local1)) {}
9416                     Else
9417                     {
9418                         CreateBitField (PSBR, 0x04, PSPS)
9419                         PSPS = One
9420                         Notify (VGA, 0x81) // Information Change
9421                     }
9422                 }
9423             }
9424 
9425             Method (AFN5, 0, Serialized)
9426             {
9427                 If ((MSKN & 0x20))
9428                 {
9429                     CreateBitField (PSBR, 0x05, PDCC)
9430                     PDCC = One
9431                     Notify (VGA, 0x81) // Information Change
9432                 }
9433             }
9434         }
9435     }
9436 
9437     Scope (\_PR.CPU0)
9438     {
9439         Name (_PPC, Zero)  // _PPC: Performance Present Capabilities
9440         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
9441         {
9442             \DBGC (0xC5, Zero, BCEN)
9443             If (((CFGD & One) && (PDC0 & One)))
9444             {
9445                 \DBGC (0xC5, 0x80, BCEN)
9446                 Return (Package (0x02)
9447                 {
9448                     ResourceTemplate ()
9449                     {
9450                         Register (FFixedHW, 
9451                             0x00,               // Bit Width
9452                             0x00,               // Bit Offset
9453                             0x0000000000000000, // Address
9454                             ,)
9455                     }, 
9456 
9457                     ResourceTemplate ()
9458                     {
9459                         Register (FFixedHW, 
9460                             0x00,               // Bit Width
9461                             0x00,               // Bit Offset
9462                             0x0000000000000000, // Address
9463                             ,)
9464                     }
9465                 })
9466             }
9467 
9468             \DBGC (0xC5, 0x81, BCEN)
9469             Return (Package (0x02)
9470             {
9471                 ResourceTemplate ()
9472                 {
9473                     Register (SystemIO, 
9474                         0x10,               // Bit Width
9475                         0x00,               // Bit Offset
9476                         0x0000000000001000, // Address
9477                         ,)
9478                 }, 
9479 
9480                 ResourceTemplate ()
9481                 {
9482                     Register (SystemIO, 
9483                         0x08,               // Bit Width
9484                         0x00,               // Bit Offset
9485                         0x00000000000000B3, // Address
9486                         ,)
9487                 }
9488             })
9489         }
9490 
9491         Method (XPSS, 0, NotSerialized)
9492         {
9493             \DBGC (0xC6, Zero, BCEN)
9494             If ((PDC0 & One))
9495             {
9496                 \DBGC (0xC6, 0x80, BCEN)
9497                 Return (NPSS) /* External reference */
9498             }
9499 
9500             \DBGC (0xC6, 0x81, BCEN)
9501             Return (SPSS) /* \_PR_.CPU0.SPSS */
9502         }
9503 
9504         Name (SPSS, Package (0x08)
9505         {
9506             Package (0x06)
9507             {
9508                 0x000008FD, 
9509                 0x000088B8, 
9510                 0x0000006E, 
9511                 0x0000000A, 
9512                 0x00000083, 
9513                 0x00000000
9514             }, 
9515 
9516             Package (0x06)
9517             {
9518                 0x000008FC, 
9519                 0x000088B8, 
9520                 0x0000006E, 
9521                 0x0000000A, 
9522                 0x00000183, 
9523                 0x00000001
9524             }, 
9525 
9526             Package (0x06)
9527             {
9528                 0x00000708, 
9529                 0x000064A6, 
9530                 0x0000006E, 
9531                 0x0000000A, 
9532                 0x00000283, 
9533                 0x00000002
9534             }, 
9535 
9536             Package (0x06)
9537             {
9538                 0x00000640, 
9539                 0x000056F9, 
9540                 0x0000006E, 
9541                 0x0000000A, 
9542                 0x00000383, 
9543                 0x00000003
9544             }, 
9545 
9546             Package (0x06)
9547             {
9548                 0x00000578, 
9549                 0x000049D8, 
9550                 0x0000006E, 
9551                 0x0000000A, 
9552                 0x00000483, 
9553                 0x00000004
9554             }, 
9555 
9556             Package (0x06)
9557             {
9558                 0x000004B0, 
9559                 0x00003E7C, 
9560                 0x0000006E, 
9561                 0x0000000A, 
9562                 0x00000583, 
9563                 0x00000005
9564             }, 
9565 
9566             Package (0x06)
9567             {
9568                 0x000003E8, 
9569                 0x0000326B, 
9570                 0x0000006E, 
9571                 0x0000000A, 
9572                 0x00000683, 
9573                 0x00000006
9574             }, 
9575 
9576             Package (0x06)
9577             {
9578                 0x00000320, 
9579                 0x000026E4, 
9580                 0x0000006E, 
9581                 0x0000000A, 
9582                 0x00000783, 
9583                 0x00000007
9584             }
9585         })
9586         Package (0x06)
9587         {
9588             0x80000000, 
9589             0x80000000, 
9590             0x80000000, 
9591             0x80000000, 
9592             0x80000000, 
9593             0x80000000
9594         }
9595 
9596         Package (0x06)
9597         {
9598             0x80000000, 
9599             0x80000000, 
9600             0x80000000, 
9601             0x80000000, 
9602             0x80000000, 
9603             0x80000000
9604         }
9605 
9606         Package (0x06)
9607         {
9608             0x80000000, 
9609             0x80000000, 
9610             0x80000000, 
9611             0x80000000, 
9612             0x80000000, 
9613             0x80000000
9614         }
9615 
9616         Package (0x06)
9617         {
9618             0x80000000, 
9619             0x80000000, 
9620             0x80000000, 
9621             0x80000000, 
9622             0x80000000, 
9623             0x80000000
9624         }
9625 
9626         Package (0x06)
9627         {
9628             0x80000000, 
9629             0x80000000, 
9630             0x80000000, 
9631             0x80000000, 
9632             0x80000000, 
9633             0x80000000
9634         }
9635 
9636         Package (0x06)
9637         {
9638             0x80000000, 
9639             0x80000000, 
9640             0x80000000, 
9641             0x80000000, 
9642             0x80000000, 
9643             0x80000000
9644         }
9645 
9646         Package (0x06)
9647         {
9648             0x80000000, 
9649             0x80000000, 
9650             0x80000000, 
9651             0x80000000, 
9652             0x80000000, 
9653             0x80000000
9654         }
9655 
9656         Package (0x06)
9657         {
9658             0x80000000, 
9659             0x80000000, 
9660             0x80000000, 
9661             0x80000000, 
9662             0x80000000, 
9663             0x80000000
9664         }
9665 
9666         Package (0x06)
9667         {
9668             0x80000000, 
9669             0x80000000, 
9670             0x80000000, 
9671             0x80000000, 
9672             0x80000000, 
9673             0x80000000
9674         }
9675 
9676         Package (0x06)
9677         {
9678             0x80000000, 
9679             0x80000000, 
9680             0x80000000, 
9681             0x80000000, 
9682             0x80000000, 
9683             0x80000000
9684         }
9685 
9686         Package (0x06)
9687         {
9688             0x80000000, 
9689             0x80000000, 
9690             0x80000000, 
9691             0x80000000, 
9692             0x80000000, 
9693             0x80000000
9694         }
9695 
9696         Package (0x06)
9697         {
9698             0x80000000, 
9699             0x80000000, 
9700             0x80000000, 
9701             0x80000000, 
9702             0x80000000, 
9703             0x80000000
9704         }
9705 
9706         Package (0x06)
9707         {
9708             0x80000000, 
9709             0x80000000, 
9710             0x80000000, 
9711             0x80000000, 
9712             0x80000000, 
9713             0x80000000
9714         }
9715 
9716         Package (0x06)
9717         {
9718             0x80000000, 
9719             0x80000000, 
9720             0x80000000, 
9721             0x80000000, 
9722             0x80000000, 
9723             0x80000000
9724         }
9725 
9726         Package (0x06)
9727         {
9728             0x80000000, 
9729             0x80000000, 
9730             0x80000000, 
9731             0x80000000, 
9732             0x80000000, 
9733             0x80000000
9734         }
9735 
9736         Package (0x06)
9737         {
9738             0x80000000, 
9739             0x80000000, 
9740             0x80000000, 
9741             0x80000000, 
9742             0x80000000, 
9743             0x80000000
9744         }
9745 
9746         Name (_PSS, Package (0x08)  // _PSS: Performance Supported States
9747         {
9748             Package (0x06)
9749             {
9750                 0x000008FD, 
9751                 0x000088B8, 
9752                 0x0000000A, 
9753                 0x0000000A, 
9754                 0x00001D00, 
9755                 0x00001D00
9756             }, 
9757 
9758             Package (0x06)
9759             {
9760                 0x000008FC, 
9761                 0x000088B8, 
9762                 0x0000000A, 
9763                 0x0000000A, 
9764                 0x00001700, 
9765                 0x00001700
9766             }, 
9767 
9768             Package (0x06)
9769             {
9770                 0x00000708, 
9771                 0x000064A6, 
9772                 0x0000000A, 
9773                 0x0000000A, 
9774                 0x00001200, 
9775                 0x00001200
9776             }, 
9777 
9778             Package (0x06)
9779             {
9780                 0x00000640, 
9781                 0x000056F9, 
9782                 0x0000000A, 
9783                 0x0000000A, 
9784                 0x00001000, 
9785                 0x00001000
9786             }, 
9787 
9788             Package (0x06)
9789             {
9790                 0x00000578, 
9791                 0x000049D8, 
9792                 0x0000000A, 
9793                 0x0000000A, 
9794                 0x00000E00, 
9795                 0x00000E00
9796             }, 
9797 
9798             Package (0x06)
9799             {
9800                 0x000004B0, 
9801                 0x00003E7C, 
9802                 0x0000000A, 
9803                 0x0000000A, 
9804                 0x00000C00, 
9805                 0x00000C00
9806             }, 
9807 
9808             Package (0x06)
9809             {
9810                 0x000003E8, 
9811                 0x0000326B, 
9812                 0x0000000A, 
9813                 0x0000000A, 
9814                 0x00000A00, 
9815                 0x00000A00
9816             }, 
9817 
9818             Package (0x06)
9819             {
9820                 0x00000320, 
9821                 0x000026E4, 
9822                 0x0000000A, 
9823                 0x0000000A, 
9824                 0x00000800, 
9825                 0x00000800
9826             }
9827         })
9828         Package (0x06)
9829         {
9830             0x80000000, 
9831             0x80000000, 
9832             0x80000000, 
9833             0x80000000, 
9834             0x80000000, 
9835             0x80000000
9836         }
9837 
9838         Package (0x06)
9839         {
9840             0x80000000, 
9841             0x80000000, 
9842             0x80000000, 
9843             0x80000000, 
9844             0x80000000, 
9845             0x80000000
9846         }
9847 
9848         Package (0x06)
9849         {
9850             0x80000000, 
9851             0x80000000, 
9852             0x80000000, 
9853             0x80000000, 
9854             0x80000000, 
9855             0x80000000
9856         }
9857 
9858         Package (0x06)
9859         {
9860             0x80000000, 
9861             0x80000000, 
9862             0x80000000, 
9863             0x80000000, 
9864             0x80000000, 
9865             0x80000000
9866         }
9867 
9868         Package (0x06)
9869         {
9870             0x80000000, 
9871             0x80000000, 
9872             0x80000000, 
9873             0x80000000, 
9874             0x80000000, 
9875             0x80000000
9876         }
9877 
9878         Package (0x06)
9879         {
9880             0x80000000, 
9881             0x80000000, 
9882             0x80000000, 
9883             0x80000000, 
9884             0x80000000, 
9885             0x80000000
9886         }
9887 
9888         Package (0x06)
9889         {
9890             0x80000000, 
9891             0x80000000, 
9892             0x80000000, 
9893             0x80000000, 
9894             0x80000000, 
9895             0x80000000
9896         }
9897 
9898         Package (0x06)
9899         {
9900             0x80000000, 
9901             0x80000000, 
9902             0x80000000, 
9903             0x80000000, 
9904             0x80000000, 
9905             0x80000000
9906         }
9907 
9908         Package (0x06)
9909         {
9910             0x80000000, 
9911             0x80000000, 
9912             0x80000000, 
9913             0x80000000, 
9914             0x80000000, 
9915             0x80000000
9916         }
9917 
9918         Package (0x06)
9919         {
9920             0x80000000, 
9921             0x80000000, 
9922             0x80000000, 
9923             0x80000000, 
9924             0x80000000, 
9925             0x80000000
9926         }
9927 
9928         Package (0x06)
9929         {
9930             0x80000000, 
9931             0x80000000, 
9932             0x80000000, 
9933             0x80000000, 
9934             0x80000000, 
9935             0x80000000
9936         }
9937 
9938         Package (0x06)
9939         {
9940             0x80000000, 
9941             0x80000000, 
9942             0x80000000, 
9943             0x80000000, 
9944             0x80000000, 
9945             0x80000000
9946         }
9947 
9948         Package (0x06)
9949         {
9950             0x80000000, 
9951             0x80000000, 
9952             0x80000000, 
9953             0x80000000, 
9954             0x80000000, 
9955             0x80000000
9956         }
9957 
9958         Package (0x06)
9959         {
9960             0x80000000, 
9961             0x80000000, 
9962             0x80000000, 
9963             0x80000000, 
9964             0x80000000, 
9965             0x80000000
9966         }
9967 
9968         Package (0x06)
9969         {
9970             0x80000000, 
9971             0x80000000, 
9972             0x80000000, 
9973             0x80000000, 
9974             0x80000000, 
9975             0x80000000
9976         }
9977 
9978         Package (0x06)
9979         {
9980             0x80000000, 
9981             0x80000000, 
9982             0x80000000, 
9983             0x80000000, 
9984             0x80000000, 
9985             0x80000000
9986         }
9987 
9988         Name (PSDF, Zero)
9989         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
9990         {
9991             \DBGC (0xC7, Zero, BCEN)
9992             If (!PSDF)
9993             {
9994                 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
9995                 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
9996                 PSDF = Ones
9997             }
9998 
9999             If ((PDC0 & 0x0800))
10000             {
10001                 \DBGC (0xC7, 0x80, BCEN)
10002                 Return (HPSD) /* \_PR_.CPU0.HPSD */
10003             }
10004 
10005             \DBGC (0xC7, 0x81, BCEN)
10006             Return (SPSD) /* \_PR_.CPU0.SPSD */
10007         }
10008 
10009         Name (HPSD, Package (0x01)
10010         {
10011             Package (0x05)
10012             {
10013                 0x05, 
10014                 Zero, 
10015                 Zero, 
10016                 0xFE, 
10017                 0x80
10018             }
10019         })
10020         Name (SPSD, Package (0x01)
10021         {
10022             Package (0x05)
10023             {
10024                 0x05, 
10025                 Zero, 
10026                 Zero, 
10027                 0xFC, 
10028                 0x80
10029             }
10030         })
10031     }
10032 
10033     Scope (\)
10034     {
10035         Name (SSDT, Package (0x0C)
10036         {
10037             "CPU0IST ", 
10038             0x01802018, 
10039             0x000007F3, 
10040             "APIST   ", 
10041             0xDADBDA98, 
10042             0x00000303, 
10043             "CPU0CST ", 
10044             0xDADBC718, 
10045             0x0000067C, 
10046             "APCST   ", 
10047             0xDADBBD98, 
10048             0x00000119
10049         })
10050         Name (CFGD, 0x0070F6FF)
10051         Name (\PDC0, 0x80000000)
10052         Name (\PDC1, 0x80000000)
10053         Name (\PDC2, 0x80000000)
10054         Name (\PDC3, 0x80000000)
10055         Name (\PDC4, 0x80000000)
10056         Name (\PDC5, 0x80000000)
10057         Name (\PDC6, 0x80000000)
10058         Name (\PDC7, 0x80000000)
10059         Name (\SDTL, Zero)
10060     }
10061 
10062     Scope (\_PR.CPU0)
10063     {
10064         Name (HI0, Zero)
10065         Name (HC0, Zero)
10066         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10067         {
10068             \DBGC (0xCB, Zero, BCEN)
10069             Local0 = CPDC (Arg0)
10070             GCAP (Local0)
10071             \DBGC (0xCB, 0x80, BCEN)
10072             Return (Local0)
10073         }
10074 
10075         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10076         {
10077             \DBGC (0xCB, One, BCEN)
10078             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
10079             GCAP (Local0)
10080             \DBGC (0xCB, 0x81, BCEN)
10081             Return (Local0)
10082         }
10083 
10084         Method (CPDC, 1, NotSerialized)
10085         {
10086             \DBGC (0xCB, 0x02, BCEN)
10087             CreateDWordField (Arg0, Zero, REVS)
10088             CreateDWordField (Arg0, 0x04, SIZE)
10089             Local0 = SizeOf (Arg0)
10090             Local1 = (Local0 - 0x08)
10091             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
10092             Name (STS0, Buffer (0x04)
10093             {
10094                  0x00, 0x00, 0x00, 0x00                           /* .... */
10095             })
10096             Concatenate (STS0, TEMP, Local2)
10097             \DBGC (0xCB, 0x82, BCEN)
10098             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
10099         }
10100 
10101         Method (COSC, 4, NotSerialized)
10102         {
10103             \DBGC (0xCB, 0x03, BCEN)
10104             CreateDWordField (Arg3, Zero, STS0)
10105             CreateDWordField (Arg3, 0x04, CAP0)
10106             CreateDWordField (Arg0, Zero, IID0)
10107             CreateDWordField (Arg0, 0x04, IID1)
10108             CreateDWordField (Arg0, 0x08, IID2)
10109             CreateDWordField (Arg0, 0x0C, IID3)
10110             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
10111             CreateDWordField (UID0, Zero, EID0)
10112             CreateDWordField (UID0, 0x04, EID1)
10113             CreateDWordField (UID0, 0x08, EID2)
10114             CreateDWordField (UID0, 0x0C, EID3)
10115             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
10116                 IID2 == EID2) && (IID3 == EID3))))
10117             {
10118                 STS0 = 0x06
10119                 \DBGC (0xCB, 0x83, BCEN)
10120                 Return (Arg3)
10121             }
10122 
10123             If ((Arg1 != One))
10124             {
10125                 STS0 = 0x0A
10126                 \DBGC (0xCB, 0x84, BCEN)
10127                 Return (Arg3)
10128             }
10129 
10130             \DBGC (0xCB, 0x85, BCEN)
10131             Return (Arg3)
10132         }
10133 
10134         Method (GCAP, 1, NotSerialized)
10135         {
10136             \DBGC (0xCB, 0x06, BCEN)
10137             CreateDWordField (Arg0, Zero, STS0)
10138             CreateDWordField (Arg0, 0x04, CAP0)
10139             If (((STS0 == 0x06) || (STS0 == 0x0A)))
10140             {
10141                 \DBGC (0xCB, 0x86, BCEN)
10142                 Return (Zero)
10143             }
10144 
10145             If ((STS0 & One))
10146             {
10147                 CAP0 &= 0x0BFF
10148                 \DBGC (0xCB, 0x87, BCEN)
10149                 Return (Zero)
10150             }
10151 
10152             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
10153             If ((CFGD & 0x3E))
10154             {
10155                 If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && !
10156                     (SDTL & 0x02)))
10157                 {
10158                     SDTL |= 0x02
10159                     OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
10160                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
10161                 }
10162             }
10163 
10164             \DBGC (0xCB, 0x88, BCEN)
10165             Return (Zero)
10166         }
10167     }
10168 
10169     Scope (\_PR.CPU1)
10170     {
10171         Name (HI1, Zero)
10172         Name (HC1, Zero)
10173         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10174         {
10175             Local0 = \_PR.CPU0.CPDC (Arg0)
10176             GCAP (Local0)
10177             Return (Local0)
10178         }
10179 
10180         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10181         {
10182             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10183             GCAP (Local0)
10184             Return (Local0)
10185         }
10186 
10187         Method (GCAP, 1, NotSerialized)
10188         {
10189             CreateDWordField (Arg0, Zero, STS1)
10190             CreateDWordField (Arg0, 0x04, CAP1)
10191             If (((STS1 == 0x06) || (STS1 == 0x0A)))
10192             {
10193                 Return (Zero)
10194             }
10195 
10196             If ((STS1 & One))
10197             {
10198                 CAP1 &= 0x0BFF
10199                 Return (Zero)
10200             }
10201 
10202             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
10203             If (((PDC0 & 0x09) == 0x09))
10204             {
10205                 APPT ()
10206             }
10207 
10208             If ((PDC0 & 0x18))
10209             {
10210                 APCT ()
10211             }
10212 
10213             Return (Zero)
10214         }
10215 
10216         Method (APCT, 0, NotSerialized)
10217         {
10218             If (((CFGD & 0x2E) && !(SDTL & 0x20)))
10219             {
10220                 SDTL |= 0x20
10221                 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
10222                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
10223             }
10224         }
10225 
10226         Method (APPT, 0, NotSerialized)
10227         {
10228             If (((CFGD & One) && !(SDTL & 0x10)))
10229             {
10230                 SDTL |= 0x10
10231                 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
10232                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
10233             }
10234         }
10235     }
10236 
10237     Scope (\_PR.CPU2)
10238     {
10239         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10240         {
10241             Local0 = \_PR.CPU0.CPDC (Arg0)
10242             GCAP (Local0)
10243             Return (Local0)
10244         }
10245 
10246         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10247         {
10248             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10249             GCAP (Local0)
10250             Return (Local0)
10251         }
10252 
10253         Method (GCAP, 1, NotSerialized)
10254         {
10255             CreateDWordField (Arg0, Zero, STS2)
10256             CreateDWordField (Arg0, 0x04, CAP2)
10257             If (((STS2 == 0x06) || (STS2 == 0x0A)))
10258             {
10259                 Return (Zero)
10260             }
10261 
10262             If ((STS2 & One))
10263             {
10264                 CAP2 &= 0x0BFF
10265                 Return (Zero)
10266             }
10267 
10268             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
10269             If (((PDC2 & 0x09) == 0x09))
10270             {
10271                 \_PR.CPU1.APPT ()
10272             }
10273 
10274             If ((PDC2 & 0x18))
10275             {
10276                 \_PR.CPU1.APCT ()
10277             }
10278 
10279             Return (Zero)
10280         }
10281     }
10282 
10283     Scope (\_PR.CPU3)
10284     {
10285         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10286         {
10287             Local0 = \_PR.CPU0.CPDC (Arg0)
10288             GCAP (Local0)
10289             Return (Local0)
10290         }
10291 
10292         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10293         {
10294             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10295             GCAP (Local0)
10296             Return (Local0)
10297         }
10298 
10299         Method (GCAP, 1, NotSerialized)
10300         {
10301             CreateDWordField (Arg0, Zero, STS3)
10302             CreateDWordField (Arg0, 0x04, CAP3)
10303             If (((STS3 == 0x06) || (STS3 == 0x0A)))
10304             {
10305                 Return (Zero)
10306             }
10307 
10308             If ((STS3 & One))
10309             {
10310                 CAP3 &= 0x0BFF
10311                 Return (Zero)
10312             }
10313 
10314             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
10315             If (((PDC3 & 0x09) == 0x09))
10316             {
10317                 \_PR.CPU1.APPT ()
10318             }
10319 
10320             If ((PDC3 & 0x18))
10321             {
10322                 \_PR.CPU1.APCT ()
10323             }
10324 
10325             Return (Zero)
10326         }
10327     }
10328 
10329     Scope (\_PR.CPU4)
10330     {
10331         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10332         {
10333             Local0 = \_PR.CPU0.CPDC (Arg0)
10334             GCAP (Local0)
10335             Return (Local0)
10336         }
10337 
10338         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10339         {
10340             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10341             GCAP (Local0)
10342             Return (Local0)
10343         }
10344 
10345         Method (GCAP, 1, NotSerialized)
10346         {
10347             CreateDWordField (Arg0, Zero, STS4)
10348             CreateDWordField (Arg0, 0x04, CAP4)
10349             If (((STS4 == 0x06) || (STS4 == 0x0A)))
10350             {
10351                 Return (Zero)
10352             }
10353 
10354             If ((STS4 & One))
10355             {
10356                 CAP4 &= 0x0BFF
10357                 Return (Zero)
10358             }
10359 
10360             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
10361             If (((PDC4 & 0x09) == 0x09))
10362             {
10363                 \_PR.CPU1.APPT ()
10364             }
10365 
10366             If ((PDC4 & 0x18))
10367             {
10368                 \_PR.CPU1.APCT ()
10369             }
10370 
10371             Return (Zero)
10372         }
10373     }
10374 
10375     Scope (\_PR.CPU5)
10376     {
10377         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10378         {
10379             Local0 = \_PR.CPU0.CPDC (Arg0)
10380             GCAP (Local0)
10381             Return (Local0)
10382         }
10383 
10384         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10385         {
10386             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10387             GCAP (Local0)
10388             Return (Local0)
10389         }
10390 
10391         Method (GCAP, 1, NotSerialized)
10392         {
10393             CreateDWordField (Arg0, Zero, STS5)
10394             CreateDWordField (Arg0, 0x04, CAP5)
10395             If (((STS5 == 0x06) || (STS5 == 0x0A)))
10396             {
10397                 Return (Zero)
10398             }
10399 
10400             If ((STS5 & One))
10401             {
10402                 CAP5 &= 0x0BFF
10403                 Return (Zero)
10404             }
10405 
10406             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
10407             If (((PDC5 & 0x09) == 0x09))
10408             {
10409                 \_PR.CPU1.APPT ()
10410             }
10411 
10412             If ((PDC5 & 0x18))
10413             {
10414                 \_PR.CPU1.APCT ()
10415             }
10416 
10417             Return (Zero)
10418         }
10419     }
10420 
10421     Scope (\_PR.CPU6)
10422     {
10423         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10424         {
10425             Local0 = \_PR.CPU0.CPDC (Arg0)
10426             GCAP (Local0)
10427             Return (Local0)
10428         }
10429 
10430         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10431         {
10432             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10433             GCAP (Local0)
10434             Return (Local0)
10435         }
10436 
10437         Method (GCAP, 1, NotSerialized)
10438         {
10439             CreateDWordField (Arg0, Zero, STS6)
10440             CreateDWordField (Arg0, 0x04, CAP6)
10441             If (((STS6 == 0x06) || (STS6 == 0x0A)))
10442             {
10443                 Return (Zero)
10444             }
10445 
10446             If ((STS6 & One))
10447             {
10448                 CAP6 &= 0x0BFF
10449                 Return (Zero)
10450             }
10451 
10452             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
10453             If (((PDC6 & 0x09) == 0x09))
10454             {
10455                 \_PR.CPU1.APPT ()
10456             }
10457 
10458             If ((PDC6 & 0x18))
10459             {
10460                 \_PR.CPU1.APCT ()
10461             }
10462 
10463             Return (Zero)
10464         }
10465     }
10466 
10467     Scope (\_PR.CPU7)
10468     {
10469         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
10470         {
10471             Local0 = \_PR.CPU0.CPDC (Arg0)
10472             GCAP (Local0)
10473             Return (Local0)
10474         }
10475 
10476         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
10477         {
10478             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10479             GCAP (Local0)
10480             Return (Local0)
10481         }
10482 
10483         Method (GCAP, 1, NotSerialized)
10484         {
10485             CreateDWordField (Arg0, Zero, STS7)
10486             CreateDWordField (Arg0, 0x04, CAP7)
10487             If (((STS7 == 0x06) || (STS7 == 0x0A)))
10488             {
10489                 Return (Zero)
10490             }
10491 
10492             If ((STS7 & One))
10493             {
10494                 CAP7 &= 0x0BFF
10495                 Return (Zero)
10496             }
10497 
10498             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
10499             If (((PDC7 & 0x09) == 0x09))
10500             {
10501                 \_PR.CPU1.APPT ()
10502             }
10503 
10504             If ((PDC7 & 0x18))
10505             {
10506                 \_PR.CPU1.APCT ()
10507             }
10508 
10509             Return (Zero)
10510         }
10511     }
10512 
10513     Scope (\)
10514     {
10515         Name (STFE, Buffer (0x07)
10516         {
10517              0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF         /* ....... */
10518         })
10519         Name (STFD, Buffer (0x07)
10520         {
10521              0x90, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF         /* ....... */
10522         })
10523         Name (FZTF, Buffer (0x07)
10524         {
10525              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5         /* ....... */
10526         })
10527         Name (DCFL, Buffer (0x07)
10528         {
10529              0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1         /* ....... */
10530         })
10531         Name (SCBF, Buffer (0x15) {})
10532         Name (CMDC, 0x00)
10533         Method (GTFB, 2, Serialized)
10534         {
10535             Local0 = (CMDC * 0x38)
10536             CreateField (SCBF, Local0, 0x38, CMDX)
10537             Local0 = (CMDC * 0x07)
10538             CreateByteField (SCBF, (Local0 + 0x01), A001)
10539             CMDX = Arg0
10540             A001 = Arg1
10541             CMDC++
10542         }
10543     }
10544 
10545     Scope (\_SB.PCI0.SAT0)
10546     {
10547         Device (SPT0)
10548         {
10549             Name (_ADR, 0xFFFF)  // _ADR: Address
10550             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
10551             {
10552                 \DBGC (0xB8, 0x00, BCEN)
10553                 CMDC = 0x00
10554                 GTFB (FZTF, 0x00)
10555                 \DBGC (0xB8, 0x80, BCEN)
10556                 Return (SCBF) /* \SCBF */
10557             }
10558         }
10559 
10560         Device (SPT1)
10561         {
10562             Method (_ADR, 0, Serialized)  // _ADR: Address
10563             {
10564                 \DBGC (0xB9, 0x00, BCEN)
10565                 Return (0x0001FFFF)
10566             }
10567         }
10568     }
10569 }

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] (2015-06-18T11:55:06+0000, 325.0 KB) [[attachment:acpidump.txt]]
  • [get | view] (2015-06-18T11:54:59+0000, 8.3 KB) [[attachment:devinfo.txt]]
  • [get | view] (2015-06-18T11:47:59+0000, 69.8 KB) [[attachment:dmesg.txt]]
  • [get | view] (2015-06-18T11:53:43+0000, 4.1 KB) [[attachment:pciconf.txt]]
 All files | Selected Files: delete move to page copy to page

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