Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000caffe210, length=36, cksum=33
   4  */
   5 /*
   6   XSDT: Length=156, Revision=1, Checksum=118,
   7 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
   8 	Creator ID=, Creator Revision=0x1000013
   9 	Entries={ 0x00000000caffa000, 0x00000000caffd000, 0x00000000caffc000, 0x00000000caffb000, 0x00000000caff9000, 0x00000000caff8000, 0x00000000caff7000, 0x00000000cafeb000, 0x00000000cafe9000, 0x00000000cafe7000, 0x00000000cafe6000, 0x00000000cafe4000, 0x00000000cafe3000, 0x00000000cafe2000, 0x00000000cafe1000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=199,
  13 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  14 	Creator ID=ACPI, Creator Revision=0x40000
  15  	FACS=0xcafbb000, DSDT=0xcafec000
  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=57 us
  28 	FLUSH_SIZE=1024, FLUSH_STRIDE=16
  29 	DUTY_OFFSET=1, DUTY_WIDTH=3
  30 	DAY_ALRM=13, MON_ALRM=0, CENTURY=0
  31 	IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
  32 	Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
  33 	RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb
  34  */
  35 /*
  36   FACS:	Length=64, HwSig=0xa26897df, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=2
  40  */
  41 /*
  42   DSDT: Length=41001, Revision=1, Checksum=116,
  43 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  44 	Creator ID=ACPI, Creator Revision=0x40000
  45  */
  46 /*
  47   SLIC: Length=374, Revision=1, Checksum=71,
  48 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  49 	Creator ID=ACPI, Creator Revision=0x40000
  50  */
  51 /*
  52   UEFI: Length=566, Revision=1, Checksum=207,
  53 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  54 	Creator ID=ACPI, Creator Revision=0x40000
  55  */
  56 /*
  57   ASF!: Length=165, Revision=32, Checksum=116,
  58 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  59 	Creator ID=ACPI, Creator Revision=0x40000
  60  */
  61 /*
  62   HPET: Length=56, Revision=1, Checksum=55,
  63 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  64 	Creator ID=ACPI, Creator Revision=0x40000
  65 	HPET Number=0
  66 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
  67 	Comparators=2
  68 	Counter Size=1
  69 	Legacy IRQ routing capable={TRUE}
  70 	PCI Vendor ID=0x8086
  71 	Minimal Tick=128
  72  */
  73 /*
  74   APIC: Length=140, Revision=3, Checksum=155,
  75 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
  76 	Creator ID=ACPI, Creator Revision=0x40000
  77 	Local APIC ADDR=0xfee00000
  78 	Flags={PC-AT}
  79 
  80 	Type=Local APIC
  81 	ACPI CPU=1
  82 	Flags={ENABLED}
  83 	APIC ID=0
  84 
  85 	Type=Local APIC
  86 	ACPI CPU=2
  87 	Flags={ENABLED}
  88 	APIC ID=1
  89 
  90 	Type=Local APIC
  91 	ACPI CPU=3
  92 	Flags={ENABLED}
  93 	APIC ID=2
  94 
  95 	Type=Local APIC
  96 	ACPI CPU=4
  97 	Flags={ENABLED}
  98 	APIC ID=3
  99 
 100 	Type=Local APIC
 101 	ACPI CPU=5
 102 	Flags={DISABLED}
 103 	APIC ID=0
 104 
 105 	Type=Local APIC
 106 	ACPI CPU=6
 107 	Flags={DISABLED}
 108 	APIC ID=0
 109 
 110 	Type=Local APIC
 111 	ACPI CPU=7
 112 	Flags={DISABLED}
 113 	APIC ID=0
 114 
 115 	Type=Local APIC
 116 	ACPI CPU=8
 117 	Flags={DISABLED}
 118 	APIC ID=0
 119 
 120 	Type=IO APIC
 121 	APIC ID=0
 122 	INT BASE=0
 123 	ADDR=0x00000000fec00000
 124 
 125 	Type=INT Override
 126 	BUS=0
 127 	IRQ=0
 128 	INTR=2
 129 	Flags={Polarity=conforming, Trigger=conforming}
 130 
 131 	Type=INT Override
 132 	BUS=0
 133 	IRQ=9
 134 	INTR=9
 135 	Flags={Polarity=active-hi, Trigger=level}
 136  */
 137 /*
 138   MCFG: Length=60, Revision=1, Checksum=15,
 139 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 140 	Creator ID=ACPI, Creator Revision=0x40000
 141 
 142 	Base Address=0x00000000f0000000
 143 	Segment Group=0x0000
 144 	Start Bus=0
 145 	End Bus=63
 146  */
 147 /*
 148   SSDT: Length=1790, Revision=1, Checksum=175,
 149 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 150 	Creator ID=ACPI, Creator Revision=0x40000
 151  */
 152 /*
 153   BOOT: Length=40, Revision=1, Checksum=247,
 154 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 155 	Creator ID=ACPI, Creator Revision=0x40000
 156  */
 157 /*
 158   ASPT: Length=52, Revision=7, Checksum=37,
 159 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 160 	Creator ID=ACPI, Creator Revision=0x40000
 161  */
 162 /*
 163   DBGP: Length=52, Revision=1, Checksum=57,
 164 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 165 	Creator ID=ACPI, Creator Revision=0x40000
 166  */
 167 /*
 168   FPDT: Length=68, Revision=1, Checksum=4,
 169 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 170 	Creator ID=ACPI, Creator Revision=0x40000
 171  */
 172 /*
 173   MSDM: Length=85, Revision=3, Checksum=123,
 174 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 175 	Creator ID=ACPI, Creator Revision=0x40000
 176  */
 177 /*
 178   SSDT: Length=2474, Revision=1, Checksum=243,
 179 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 180 	Creator ID=ACPI, Creator Revision=0x40000
 181  */
 182 /*
 183   SSDT: Length=2706, Revision=1, Checksum=145,
 184 	OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1,
 185 	Creator ID=ACPI, Creator Revision=0x40000
 186  */
 187 /*
 188  * Intel ACPI Component Architecture
 189  * AML/ASL+ Disassembler version 20150515-64
 190  * Copyright (c) 2000 - 2015 Intel Corporation
 191  * 
 192  * Disassembling to symbolic ASL+ operators
 193  *
 194  * Disassembly of /tmp/acpidump.H5AoKk, Mon Feb 29 00:33:42 2016
 195  *
 196  * Original Table Header:
 197  *     Signature        "DSDT"
 198  *     Length           0x0000BAF7 (47863)
 199  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 200  *     Checksum         0x07
 201  *     OEM ID           "LENOVO"
 202  *     OEM Table ID     "CB-01   "
 203  *     OEM Revision     0x00000001 (1)
 204  *     Compiler ID      "ACPI"
 205  *     Compiler Version 0x00040000 (262144)
 206  */
 207 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "CB-01   ", 0x00000001)
 208 {
 209     /*
 210      * iASL Warning: There were 4 external control methods found during
 211      * disassembly, but additional ACPI tables to resolve these externals
 212      * were not specified. This resulting disassembler output file may not
 213      * compile because the disassembler did not know how many arguments
 214      * to assign to these methods. To specify the tables needed to resolve
 215      * external control method references, the -e option can be used to
 216      * specify the filenames. Note: SSDTs can be dynamically loaded at
 217      * runtime and may or may not be available via the host OS.
 218      * Example iASL invocations:
 219      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 220      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 221      *     iasl -e ssdt*.aml -d dsdt.aml
 222      *
 223      * In addition, the -fe option can be used to specify a file containing
 224      * control method external declarations with the associated method
 225      * argument counts. Each line of the file must be of the form:
 226      *     External (<method pathname>, MethodObj, <argument count>)
 227      * Invocation:
 228      *     iasl -fe refs.txt -d dsdt.aml
 229      *
 230      * The following methods were unresolved and many not compile properly
 231      * because the disassembler had to guess at the number of arguments
 232      * required for each:
 233      */
 234     External (ECST, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 235     External (HDOS, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 236     External (HNOT, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 237     External (IDAB, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 238 
 239     External (HWID, IntObj)
 240     External (NPSS, IntObj)
 241 
 242     Name (ECDY, Zero)
 243     Name (SS1, Zero)
 244     Name (SS2, Zero)
 245     Name (SS3, One)
 246     Name (SS4, One)
 247     Name (IOST, 0xFFFF)
 248     Name (SP2O, 0x4E)
 249     Name (SP1O, 0x2E)
 250     Name (IO1B, 0x0600)
 251     Name (IO1L, 0x70)
 252     Name (IO2B, 0x0600)
 253     Name (IO2L, 0x20)
 254     Name (IO3B, 0x0290)
 255     Name (IO3L, 0x10)
 256     Name (SP3O, 0x2E)
 257     Name (IO4B, 0x0A20)
 258     Name (IO4L, 0x20)
 259     Name (MCHB, 0xFED10000)
 260     Name (MCHL, 0x8000)
 261     Name (EGPB, 0xFED19000)
 262     Name (EGPL, 0x1000)
 263     Name (DMIB, 0xFED18000)
 264     Name (DMIL, 0x1000)
 265     Name (IFPB, 0xFED14000)
 266     Name (IFPL, 0x1000)
 267     Name (PEBS, 0xF0000000)
 268     Name (PELN, 0x04000000)
 269     Name (SMBS, 0x0580)
 270     Name (SMBL, 0x20)
 271     Name (PBLK, 0x0410)
 272     Name (PMBS, 0x0400)
 273     Name (PMLN, 0x80)
 274     Name (LVL2, 0x0414)
 275     Name (LVL3, 0x0415)
 276     Name (LVL4, 0x0416)
 277     Name (SMIP, 0xB2)
 278     Name (GPBS, 0x0500)
 279     Name (GPLN, 0x80)
 280     Name (APCB, 0xFEC00000)
 281     Name (APCL, 0x1000)
 282     Name (PM30, 0x0430)
 283     Name (SRCB, 0xFED1C000)
 284     Name (SRCL, 0x4000)
 285     Name (HPTB, 0xFED00000)
 286     Name (HPTC, 0xFED1F404)
 287     Name (ACPH, 0xDE)
 288     Name (ASSB, Zero)
 289     Name (AOTB, Zero)
 290     Name (AAXB, Zero)
 291     Name (DSSP, Zero)
 292     Name (FHPP, One)
 293     Name (FMBL, One)
 294     Name (FDTP, 0x02)
 295     Name (FUPS, 0x03)
 296     Name (BEL, One)
 297     Name (BEH, 0x02)
 298     Name (BRH, 0x03)
 299     Name (BTF, 0x04)
 300     Name (BYB, 0x06)
 301     Name (BWB, 0x06)
 302     Name (BELC, 0x09)
 303     Name (BRHP, 0x0A)
 304     Name (BTFC, 0x0B)
 305     Name (BEHP, 0x0C)
 306     Name (BELP, 0x0E)
 307     Name (BTL, 0x10)
 308     Name (BTFP, 0x11)
 309     Name (BSR, 0x14)
 310     Name (BCC, 0x1C)
 311     Name (BEF, 0x21)
 312     Name (BLLE, 0x22)
 313     Name (BLLC, 0x23)
 314     Name (BLCA, 0x24)
 315     Name (BLLS, 0x25)
 316     Name (BLLP, 0x26)
 317     Name (BLLD, 0x27)
 318     Name (BKF, 0x28)
 319     Name (BHBE, 0x30)
 320     Name (BHBC, 0x31)
 321     Name (BHBN, 0x32)
 322     Name (BHBM, 0x33)
 323     Name (TCGM, One)
 324     Name (TRTP, One)
 325     Name (WDTE, One)
 326     Name (TRTD, 0x02)
 327     Name (TRTI, 0x03)
 328     Name (GCDD, One)
 329     Name (DSTA, 0x0A)
 330     Name (DSLO, 0x0C)
 331     Name (DSLC, 0x0E)
 332     Name (PITS, 0x10)
 333     Name (SBCS, 0x12)
 334     Name (SALS, 0x13)
 335     Name (LSSS, 0x2A)
 336     Name (SOOT, 0x35)
 337     Name (PDBR, 0x4D)
 338     Name (DPPB, 0xFED98000)
 339     Name (DPPL, 0x8000)
 340     OperationRegion (GNVS, SystemMemory, 0xCAFBEA18, 0x00000203)
 341     Field (GNVS, AnyAcc, Lock, Preserve)
 342     {
 343         OSYS,   16, 
 344         SMIF,   8, 
 345         PRM0,   8, 
 346         PRM1,   8, 
 347         SCIF,   8, 
 348         PRM2,   8, 
 349         PRM3,   8, 
 350         LCKF,   8, 
 351         PRM4,   8, 
 352         PRM5,   8, 
 353         P80D,   32, 
 354         LIDS,   8, 
 355         PWRS,   8, 
 356         DBGS,   8, 
 357         THOF,   8, 
 358         ACT1,   8, 
 359         ACTT,   8, 
 360         PSVT,   8, 
 361         TC1V,   8, 
 362         TC2V,   8, 
 363         TSPV,   8, 
 364         CRTT,   8, 
 365         DTSE,   8, 
 366         DTS1,   8, 
 367         DTS2,   8, 
 368         DTSF,   8, 
 369         Offset (0x25), 
 370         REVN,   8, 
 371         RES3,   8, 
 372         Offset (0x28), 
 373         APIC,   8, 
 374         TCNT,   8, 
 375         PCP0,   8, 
 376         PCP1,   8, 
 377         PPCM,   8, 
 378         PPMF,   32, 
 379         C67L,   8, 
 380         NATP,   8, 
 381         CMAP,   8, 
 382         CMBP,   8, 
 383         LPTP,   8, 
 384         FDCP,   8, 
 385         COMA,   8, 
 386         COMB,   8, 
 387         SMSC,   8, 
 388         W381,   8, 
 389         SMC1,   8, 
 390         IGDS,   8, 
 391         TLST,   8, 
 392         CADL,   8, 
 393         PADL,   8, 
 394         CSTE,   16, 
 395         NSTE,   16, 
 396         SSTE,   16, 
 397         NDID,   8, 
 398         DID1,   32, 
 399         DID2,   32, 
 400         DID3,   32, 
 401         DID4,   32, 
 402         DID5,   32, 
 403         KSV0,   32, 
 404         KSV1,   8, 
 405         Offset (0x67), 
 406         BLCS,   8, 
 407         BRTL,   8, 
 408         ALSE,   8, 
 409         ALAF,   8, 
 410         LLOW,   8, 
 411         LHIH,   8, 
 412         Offset (0x6E), 
 413         EMAE,   8, 
 414         EMAP,   16, 
 415         EMAL,   16, 
 416         Offset (0x74), 
 417         MEFE,   8, 
 418         DSTS,   8, 
 419         Offset (0x78), 
 420         TPMP,   8, 
 421         TPME,   8, 
 422         MORD,   8, 
 423         TCGP,   8, 
 424         PPRP,   32, 
 425         PPRQ,   8, 
 426         LPPR,   8, 
 427         GTF0,   56, 
 428         GTF2,   56, 
 429         IDEM,   8, 
 430         GTF1,   56, 
 431         BID,    8, 
 432         PLID,   8, 
 433         Offset (0xAA), 
 434         ASLB,   32, 
 435         IBTT,   8, 
 436         IPAT,   8, 
 437         ITVF,   8, 
 438         ITVM,   8, 
 439         IPSC,   8, 
 440         IBLC,   8, 
 441         IBIA,   8, 
 442         ISSC,   8, 
 443         I409,   8, 
 444         I509,   8, 
 445         I609,   8, 
 446         I709,   8, 
 447         IPCF,   8, 
 448         IDMS,   8, 
 449         IF1E,   8, 
 450         HVCO,   8, 
 451         NXD1,   32, 
 452         NXD2,   32, 
 453         NXD3,   32, 
 454         NXD4,   32, 
 455         NXD5,   32, 
 456         NXD6,   32, 
 457         NXD7,   32, 
 458         NXD8,   32, 
 459         GSMI,   8, 
 460         PAVP,   8, 
 461         Offset (0xE1), 
 462         OSCC,   8, 
 463         NEXP,   8, 
 464         SBV1,   8, 
 465         SBV2,   8, 
 466         Offset (0xEB), 
 467         DSEN,   8, 
 468         Offset (0xED), 
 469         GPIC,   8, 
 470         CTYP,   8, 
 471         L01C,   8, 
 472         VFN0,   8, 
 473         VFN1,   8, 
 474         VFN2,   8, 
 475         VFN3,   8, 
 476         VFN4,   8, 
 477         Offset (0x100), 
 478         NVGA,   32, 
 479         NVHA,   32, 
 480         AMDA,   32, 
 481         DID6,   32, 
 482         DID7,   32, 
 483         DID8,   32, 
 484         EBAS,   32, 
 485         CPSP,   32, 
 486         EECP,   32, 
 487         EVCP,   32, 
 488         XBAS,   32, 
 489         OBS1,   32, 
 490         OBS2,   32, 
 491         OBS3,   32, 
 492         OBS4,   32, 
 493         OBS5,   32, 
 494         OBS6,   32, 
 495         OBS7,   32, 
 496         OBS8,   32, 
 497         Offset (0x157), 
 498         ATMC,   8, 
 499         PTMC,   8, 
 500         ATRA,   8, 
 501         PTRA,   8, 
 502         PNHM,   32, 
 503         TBAB,   32, 
 504         TBAH,   32, 
 505         RTIP,   8, 
 506         TSOD,   8, 
 507         ATPC,   8, 
 508         PTPC,   8, 
 509         PFLV,   8, 
 510         BREV,   8, 
 511         SGMD,   8, 
 512         SGFL,   8, 
 513         PWOK,   8, 
 514         HLRS,   8, 
 515         DSEL,   8, 
 516         ESEL,   8, 
 517         PSEL,   8, 
 518         PWEN,   8, 
 519         PRST,   8, 
 520         MXD1,   32, 
 521         MXD2,   32, 
 522         MXD3,   32, 
 523         MXD4,   32, 
 524         MXD5,   32, 
 525         MXD6,   32, 
 526         MXD7,   32, 
 527         MXD8,   32, 
 528         GBAS,   16, 
 529         SGGP,   8, 
 530         Offset (0x19D), 
 531         ALFP,   8, 
 532         IMON,   8, 
 533         PDTS,   8, 
 534         PKGA,   8, 
 535         PAMT,   8, 
 536         AC0F,   8, 
 537         AC1F,   8, 
 538         DTS3,   8, 
 539         DTS4,   8, 
 540         Offset (0x1B2), 
 541         XHCI,   8, 
 542         XHPM,   8, 
 543         Offset (0x1B7), 
 544         XTUB,   32, 
 545         XTUS,   32, 
 546         XMPB,   32, 
 547         Offset (0x1C4), 
 548         LPMV,   8, 
 549         Offset (0x1C6), 
 550         DDRF,   8, 
 551         MM64,   8, 
 552         Offset (0x1E0), 
 553         CCMD,   8, 
 554         COMD,   8, 
 555         LPT1,   8, 
 556         PSTP,   8, 
 557         WKMD,   8, 
 558         IDER,   8, 
 559         PIE0,   8, 
 560         PIE1,   8, 
 561         CSTS,   8, 
 562         PMEE,   8, 
 563         WOLE,   8, 
 564         NVAD,   32, 
 565         PGVI,   32, 
 566         OPTF,   8, 
 567         IFSE,   8, 
 568         AOAC,   8, 
 569         S1C0,   16, 
 570         S1C1,   16, 
 571         S2C0,   16, 
 572         S2C1,   16, 
 573         SLPS,   8, 
 574         ALAT,   32
 575     }
 576 
 577     OperationRegion (OGNS, SystemMemory, 0xCAFBCF98, 0x00000039)
 578     Field (OGNS, AnyAcc, Lock, Preserve)
 579     {
 580         OG00,   8, 
 581         OG01,   8, 
 582         OG02,   8, 
 583         OG03,   8, 
 584         OG04,   8, 
 585         OG05,   8, 
 586         OG06,   8, 
 587         OG07,   8, 
 588         OG08,   8, 
 589         OG09,   8, 
 590         OG10,   8, 
 591         ECON,   8, 
 592         TPDF,   8, 
 593         CMPS,   8, 
 594         ODTY,   8, 
 595         ODST,   8, 
 596         VTST,   8, 
 597         WLFG,   8, 
 598         FS35,   8, 
 599         BL00,   8, 
 600         BL01,   8, 
 601         BL02,   8, 
 602         BL03,   8, 
 603         BL04,   8, 
 604         BL05,   8, 
 605         BL06,   8, 
 606         BL07,   8, 
 607         BL08,   8, 
 608         BL09,   8, 
 609         BL10,   8, 
 610         BL11,   8, 
 611         BL12,   8, 
 612         BL13,   8, 
 613         BL14,   8, 
 614         BL15,   8, 
 615         BL20,   8, 
 616         BL21,   8, 
 617         BL22,   8, 
 618         BL23,   8, 
 619         BL24,   8, 
 620         BL25,   8, 
 621         BL26,   8, 
 622         BL27,   8, 
 623         BL28,   8, 
 624         BL29,   8, 
 625         BL30,   8, 
 626         BL31,   8, 
 627         BL32,   8, 
 628         BL33,   8, 
 629         BL34,   8, 
 630         BL35,   8, 
 631         BL36,   8, 
 632         BL37,   8, 
 633         BL38,   8, 
 634         BL39,   8, 
 635         BL40,   8, 
 636         KBID,   8
 637     }
 638 
 639     OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
 640     Field (SMIO, ByteAcc, NoLock, Preserve)
 641     {
 642         SMIC,   8, 
 643         SMID,   8
 644     }
 645 
 646     Scope (_SB)
 647     {
 648         Name (PRSA, ResourceTemplate ()
 649         {
 650             IRQ (Level, ActiveLow, Shared, )
 651                 {1,3,4,5,6,10,11,12,14,15}
 652         })
 653         Alias (PRSA, PRSB)
 654         Alias (PRSA, PRSC)
 655         Alias (PRSA, PRSD)
 656         Alias (PRSA, PRSE)
 657         Alias (PRSA, PRSF)
 658         Alias (PRSA, PRSG)
 659         Alias (PRSA, PRSH)
 660         Device (PCI0)
 661         {
 662             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
 663             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
 664             Name (_ADR, Zero)  // _ADR: Address
 665             Method (^BN00, 0, NotSerialized)
 666             {
 667                 Return (Zero)
 668             }
 669 
 670             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
 671             {
 672                 Return (BN00 ())
 673             }
 674 
 675             Name (_UID, Zero)  // _UID: Unique ID
 676             Name (PR00, Package (0x25)
 677             {
 678                 Package (0x04)
 679                 {
 680                     0x0014FFFF, 
 681                     Zero, 
 682                     LNKA, 
 683                     Zero
 684                 }, 
 685 
 686                 Package (0x04)
 687                 {
 688                     0x0016FFFF, 
 689                     Zero, 
 690                     LNKA, 
 691                     Zero
 692                 }, 
 693 
 694                 Package (0x04)
 695                 {
 696                     0x0016FFFF, 
 697                     One, 
 698                     LNKB, 
 699                     Zero
 700                 }, 
 701 
 702                 Package (0x04)
 703                 {
 704                     0x0016FFFF, 
 705                     0x02, 
 706                     LNKC, 
 707                     Zero
 708                 }, 
 709 
 710                 Package (0x04)
 711                 {
 712                     0x0016FFFF, 
 713                     0x03, 
 714                     LNKD, 
 715                     Zero
 716                 }, 
 717 
 718                 Package (0x04)
 719                 {
 720                     0x0019FFFF, 
 721                     Zero, 
 722                     LNKE, 
 723                     Zero
 724                 }, 
 725 
 726                 Package (0x04)
 727                 {
 728                     0x001AFFFF, 
 729                     Zero, 
 730                     LNKA, 
 731                     Zero
 732                 }, 
 733 
 734                 Package (0x04)
 735                 {
 736                     0x001AFFFF, 
 737                     One, 
 738                     LNKF, 
 739                     Zero
 740                 }, 
 741 
 742                 Package (0x04)
 743                 {
 744                     0x001AFFFF, 
 745                     0x02, 
 746                     LNKD, 
 747                     Zero
 748                 }, 
 749 
 750                 Package (0x04)
 751                 {
 752                     0x001AFFFF, 
 753                     0x03, 
 754                     LNKC, 
 755                     Zero
 756                 }, 
 757 
 758                 Package (0x04)
 759                 {
 760                     0x001BFFFF, 
 761                     Zero, 
 762                     LNKG, 
 763                     Zero
 764                 }, 
 765 
 766                 Package (0x04)
 767                 {
 768                     0x001CFFFF, 
 769                     Zero, 
 770                     LNKB, 
 771                     Zero
 772                 }, 
 773 
 774                 Package (0x04)
 775                 {
 776                     0x001CFFFF, 
 777                     One, 
 778                     LNKA, 
 779                     Zero
 780                 }, 
 781 
 782                 Package (0x04)
 783                 {
 784                     0x001CFFFF, 
 785                     0x02, 
 786                     LNKC, 
 787                     Zero
 788                 }, 
 789 
 790                 Package (0x04)
 791                 {
 792                     0x001CFFFF, 
 793                     0x03, 
 794                     LNKD, 
 795                     Zero
 796                 }, 
 797 
 798                 Package (0x04)
 799                 {
 800                     0x001DFFFF, 
 801                     Zero, 
 802                     LNKH, 
 803                     Zero
 804                 }, 
 805 
 806                 Package (0x04)
 807                 {
 808                     0x001DFFFF, 
 809                     One, 
 810                     LNKD, 
 811                     Zero
 812                 }, 
 813 
 814                 Package (0x04)
 815                 {
 816                     0x001DFFFF, 
 817                     0x02, 
 818                     LNKC, 
 819                     Zero
 820                 }, 
 821 
 822                 Package (0x04)
 823                 {
 824                     0x001DFFFF, 
 825                     0x03, 
 826                     LNKA, 
 827                     Zero
 828                 }, 
 829 
 830                 Package (0x04)
 831                 {
 832                     0x001FFFFF, 
 833                     Zero, 
 834                     LNKF, 
 835                     Zero
 836                 }, 
 837 
 838                 Package (0x04)
 839                 {
 840                     0x001FFFFF, 
 841                     One, 
 842                     LNKD, 
 843                     Zero
 844                 }, 
 845 
 846                 Package (0x04)
 847                 {
 848                     0x001FFFFF, 
 849                     0x02, 
 850                     LNKD, 
 851                     Zero
 852                 }, 
 853 
 854                 Package (0x04)
 855                 {
 856                     0x001FFFFF, 
 857                     0x03, 
 858                     LNKA, 
 859                     Zero
 860                 }, 
 861 
 862                 Package (0x04)
 863                 {
 864                     0x0001FFFF, 
 865                     Zero, 
 866                     LNKA, 
 867                     Zero
 868                 }, 
 869 
 870                 Package (0x04)
 871                 {
 872                     0x0001FFFF, 
 873                     One, 
 874                     LNKB, 
 875                     Zero
 876                 }, 
 877 
 878                 Package (0x04)
 879                 {
 880                     0x0001FFFF, 
 881                     0x02, 
 882                     LNKC, 
 883                     Zero
 884                 }, 
 885 
 886                 Package (0x04)
 887                 {
 888                     0x0001FFFF, 
 889                     0x03, 
 890                     LNKD, 
 891                     Zero
 892                 }, 
 893 
 894                 Package (0x04)
 895                 {
 896                     0x0002FFFF, 
 897                     Zero, 
 898                     LNKA, 
 899                     Zero
 900                 }, 
 901 
 902                 Package (0x04)
 903                 {
 904                     0x0004FFFF, 
 905                     Zero, 
 906                     LNKA, 
 907                     Zero
 908                 }, 
 909 
 910                 Package (0x04)
 911                 {
 912                     0x0004FFFF, 
 913                     One, 
 914                     LNKB, 
 915                     Zero
 916                 }, 
 917 
 918                 Package (0x04)
 919                 {
 920                     0x0004FFFF, 
 921                     0x02, 
 922                     LNKC, 
 923                     Zero
 924                 }, 
 925 
 926                 Package (0x04)
 927                 {
 928                     0x0004FFFF, 
 929                     0x03, 
 930                     LNKD, 
 931                     Zero
 932                 }, 
 933 
 934                 Package (0x04)
 935                 {
 936                     0x0006FFFF, 
 937                     Zero, 
 938                     LNKD, 
 939                     Zero
 940                 }, 
 941 
 942                 Package (0x04)
 943                 {
 944                     0x0006FFFF, 
 945                     One, 
 946                     LNKA, 
 947                     Zero
 948                 }, 
 949 
 950                 Package (0x04)
 951                 {
 952                     0x0006FFFF, 
 953                     0x02, 
 954                     LNKB, 
 955                     Zero
 956                 }, 
 957 
 958                 Package (0x04)
 959                 {
 960                     0x0006FFFF, 
 961                     0x03, 
 962                     LNKC, 
 963                     Zero
 964                 }, 
 965 
 966                 Package (0x04)
 967                 {
 968                     0x0018FFFF, 
 969                     Zero, 
 970                     LNKE, 
 971                     Zero
 972                 }
 973             })
 974             Name (AR00, Package (0x25)
 975             {
 976                 Package (0x04)
 977                 {
 978                     0x0014FFFF, 
 979                     Zero, 
 980                     Zero, 
 981                     0x15
 982                 }, 
 983 
 984                 Package (0x04)
 985                 {
 986                     0x0016FFFF, 
 987                     Zero, 
 988                     Zero, 
 989                     0x10
 990                 }, 
 991 
 992                 Package (0x04)
 993                 {
 994                     0x0016FFFF, 
 995                     One, 
 996                     Zero, 
 997                     0x11
 998                 }, 
 999 
1000                 Package (0x04)
1001                 {
1002                     0x0016FFFF, 
1003                     0x02, 
1004                     Zero, 
1005                     0x12
1006                 }, 
1007 
1008                 Package (0x04)
1009                 {
1010                     0x0016FFFF, 
1011                     0x03, 
1012                     Zero, 
1013                     0x13
1014                 }, 
1015 
1016                 Package (0x04)
1017                 {
1018                     0x0019FFFF, 
1019                     Zero, 
1020                     Zero, 
1021                     0x14
1022                 }, 
1023 
1024                 Package (0x04)
1025                 {
1026                     0x001AFFFF, 
1027                     Zero, 
1028                     Zero, 
1029                     0x10
1030                 }, 
1031 
1032                 Package (0x04)
1033                 {
1034                     0x001AFFFF, 
1035                     One, 
1036                     Zero, 
1037                     0x15
1038                 }, 
1039 
1040                 Package (0x04)
1041                 {
1042                     0x001AFFFF, 
1043                     0x02, 
1044                     Zero, 
1045                     0x13
1046                 }, 
1047 
1048                 Package (0x04)
1049                 {
1050                     0x001AFFFF, 
1051                     0x03, 
1052                     Zero, 
1053                     0x12
1054                 }, 
1055 
1056                 Package (0x04)
1057                 {
1058                     0x001BFFFF, 
1059                     Zero, 
1060                     Zero, 
1061                     0x16
1062                 }, 
1063 
1064                 Package (0x04)
1065                 {
1066                     0x001CFFFF, 
1067                     Zero, 
1068                     Zero, 
1069                     0x11
1070                 }, 
1071 
1072                 Package (0x04)
1073                 {
1074                     0x001CFFFF, 
1075                     One, 
1076                     Zero, 
1077                     0x10
1078                 }, 
1079 
1080                 Package (0x04)
1081                 {
1082                     0x001CFFFF, 
1083                     0x02, 
1084                     Zero, 
1085                     0x12
1086                 }, 
1087 
1088                 Package (0x04)
1089                 {
1090                     0x001CFFFF, 
1091                     0x03, 
1092                     Zero, 
1093                     0x13
1094                 }, 
1095 
1096                 Package (0x04)
1097                 {
1098                     0x001DFFFF, 
1099                     Zero, 
1100                     Zero, 
1101                     0x17
1102                 }, 
1103 
1104                 Package (0x04)
1105                 {
1106                     0x001DFFFF, 
1107                     One, 
1108                     Zero, 
1109                     0x13
1110                 }, 
1111 
1112                 Package (0x04)
1113                 {
1114                     0x001DFFFF, 
1115                     0x02, 
1116                     Zero, 
1117                     0x12
1118                 }, 
1119 
1120                 Package (0x04)
1121                 {
1122                     0x001DFFFF, 
1123                     0x03, 
1124                     Zero, 
1125                     0x10
1126                 }, 
1127 
1128                 Package (0x04)
1129                 {
1130                     0x001FFFFF, 
1131                     Zero, 
1132                     Zero, 
1133                     0x15
1134                 }, 
1135 
1136                 Package (0x04)
1137                 {
1138                     0x001FFFFF, 
1139                     One, 
1140                     Zero, 
1141                     0x13
1142                 }, 
1143 
1144                 Package (0x04)
1145                 {
1146                     0x001FFFFF, 
1147                     0x02, 
1148                     Zero, 
1149                     0x13
1150                 }, 
1151 
1152                 Package (0x04)
1153                 {
1154                     0x001FFFFF, 
1155                     0x03, 
1156                     Zero, 
1157                     0x10
1158                 }, 
1159 
1160                 Package (0x04)
1161                 {
1162                     0x0001FFFF, 
1163                     Zero, 
1164                     Zero, 
1165                     0x10
1166                 }, 
1167 
1168                 Package (0x04)
1169                 {
1170                     0x0001FFFF, 
1171                     One, 
1172                     Zero, 
1173                     0x11
1174                 }, 
1175 
1176                 Package (0x04)
1177                 {
1178                     0x0001FFFF, 
1179                     0x02, 
1180                     Zero, 
1181                     0x12
1182                 }, 
1183 
1184                 Package (0x04)
1185                 {
1186                     0x0001FFFF, 
1187                     0x03, 
1188                     Zero, 
1189                     0x13
1190                 }, 
1191 
1192                 Package (0x04)
1193                 {
1194                     0x0002FFFF, 
1195                     Zero, 
1196                     Zero, 
1197                     0x10
1198                 }, 
1199 
1200                 Package (0x04)
1201                 {
1202                     0x0004FFFF, 
1203                     Zero, 
1204                     Zero, 
1205                     0x10
1206                 }, 
1207 
1208                 Package (0x04)
1209                 {
1210                     0x0004FFFF, 
1211                     One, 
1212                     Zero, 
1213                     0x11
1214                 }, 
1215 
1216                 Package (0x04)
1217                 {
1218                     0x0004FFFF, 
1219                     0x02, 
1220                     Zero, 
1221                     0x12
1222                 }, 
1223 
1224                 Package (0x04)
1225                 {
1226                     0x0004FFFF, 
1227                     0x03, 
1228                     Zero, 
1229                     0x13
1230                 }, 
1231 
1232                 Package (0x04)
1233                 {
1234                     0x0006FFFF, 
1235                     Zero, 
1236                     Zero, 
1237                     0x13
1238                 }, 
1239 
1240                 Package (0x04)
1241                 {
1242                     0x0006FFFF, 
1243                     One, 
1244                     Zero, 
1245                     0x10
1246                 }, 
1247 
1248                 Package (0x04)
1249                 {
1250                     0x0006FFFF, 
1251                     0x02, 
1252                     Zero, 
1253                     0x11
1254                 }, 
1255 
1256                 Package (0x04)
1257                 {
1258                     0x0006FFFF, 
1259                     0x03, 
1260                     Zero, 
1261                     0x12
1262                 }, 
1263 
1264                 Package (0x04)
1265                 {
1266                     0x0018FFFF, 
1267                     Zero, 
1268                     Zero, 
1269                     0x14
1270                 }
1271             })
1272             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
1273             {
1274                 If (PICM)
1275                 {
1276                     Return (AR00) /* \_SB_.PCI0.AR00 */
1277                 }
1278 
1279                 Return (PR00) /* \_SB_.PCI0.PR00 */
1280             }
1281 
1282             OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
1283             Field (HBUS, DWordAcc, NoLock, Preserve)
1284             {
1285                 Offset (0x40), 
1286                 EPEN,   1, 
1287                     ,   11, 
1288                 EPBR,   20, 
1289                 Offset (0x48), 
1290                 MHEN,   1, 
1291                     ,   14, 
1292                 MHBR,   17, 
1293                 Offset (0x50), 
1294                 GCLK,   1, 
1295                 Offset (0x54), 
1296                 D0EN,   1, 
1297                 Offset (0x60), 
1298                 PXEN,   1, 
1299                 PXSZ,   2, 
1300                     ,   23, 
1301                 PXBR,   6, 
1302                 Offset (0x68), 
1303                 DIEN,   1, 
1304                     ,   11, 
1305                 DIBR,   20, 
1306                 Offset (0x70), 
1307                     ,   20, 
1308                 MEBR,   12, 
1309                 Offset (0x80), 
1310                     ,   4, 
1311                 PM0H,   2, 
1312                 Offset (0x81), 
1313                 PM1L,   2, 
1314                     ,   2, 
1315                 PM1H,   2, 
1316                 Offset (0x82), 
1317                 PM2L,   2, 
1318                     ,   2, 
1319                 PM2H,   2, 
1320                 Offset (0x83), 
1321                 PM3L,   2, 
1322                     ,   2, 
1323                 PM3H,   2, 
1324                 Offset (0x84), 
1325                 PM4L,   2, 
1326                     ,   2, 
1327                 PM4H,   2, 
1328                 Offset (0x85), 
1329                 PM5L,   2, 
1330                     ,   2, 
1331                 PM5H,   2, 
1332                 Offset (0x86), 
1333                 PM6L,   2, 
1334                     ,   2, 
1335                 PM6H,   2, 
1336                 Offset (0x87), 
1337                 Offset (0xA8), 
1338                     ,   20, 
1339                 TUUD,   19, 
1340                 Offset (0xBC), 
1341                     ,   20, 
1342                 TLUD,   12, 
1343                 Offset (0xC8), 
1344                     ,   7, 
1345                 HTSE,   1
1346             }
1347 
1348             OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
1349             Field (MCHT, ByteAcc, NoLock, Preserve)
1350             {
1351             }
1352 
1353             Name (BUF0, ResourceTemplate ()
1354             {
1355                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1356                     0x0000,             // Granularity
1357                     0x0000,             // Range Minimum
1358                     0x00FF,             // Range Maximum
1359                     0x0000,             // Translation Offset
1360                     0x0100,             // Length
1361                     ,, _Y00)
1362                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1363                     0x00000000,         // Granularity
1364                     0x00000000,         // Range Minimum
1365                     0x00000CF7,         // Range Maximum
1366                     0x00000000,         // Translation Offset
1367                     0x00000CF8,         // Length
1368                     ,, , TypeStatic)
1369                 IO (Decode16,
1370                     0x0CF8,             // Range Minimum
1371                     0x0CF8,             // Range Maximum
1372                     0x01,               // Alignment
1373                     0x08,               // Length
1374                     )
1375                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1376                     0x00000000,         // Granularity
1377                     0x00000D00,         // Range Minimum
1378                     0x0000FFFF,         // Range Maximum
1379                     0x00000000,         // Translation Offset
1380                     0x0000F300,         // Length
1381                     ,, , TypeStatic)
1382                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1383                     0x00000000,         // Granularity
1384                     0x000A0000,         // Range Minimum
1385                     0x000BFFFF,         // Range Maximum
1386                     0x00000000,         // Translation Offset
1387                     0x00020000,         // Length
1388                     ,, , AddressRangeMemory, TypeStatic)
1389                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1390                     0x00000000,         // Granularity
1391                     0x000C0000,         // Range Minimum
1392                     0x000C3FFF,         // Range Maximum
1393                     0x00000000,         // Translation Offset
1394                     0x00004000,         // Length
1395                     ,, _Y01, AddressRangeMemory, TypeStatic)
1396                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1397                     0x00000000,         // Granularity
1398                     0x000C4000,         // Range Minimum
1399                     0x000C7FFF,         // Range Maximum
1400                     0x00000000,         // Translation Offset
1401                     0x00004000,         // Length
1402                     ,, _Y02, AddressRangeMemory, TypeStatic)
1403                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1404                     0x00000000,         // Granularity
1405                     0x000C8000,         // Range Minimum
1406                     0x000CBFFF,         // Range Maximum
1407                     0x00000000,         // Translation Offset
1408                     0x00004000,         // Length
1409                     ,, _Y03, AddressRangeMemory, TypeStatic)
1410                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1411                     0x00000000,         // Granularity
1412                     0x000CC000,         // Range Minimum
1413                     0x000CFFFF,         // Range Maximum
1414                     0x00000000,         // Translation Offset
1415                     0x00004000,         // Length
1416                     ,, _Y04, AddressRangeMemory, TypeStatic)
1417                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1418                     0x00000000,         // Granularity
1419                     0x000D0000,         // Range Minimum
1420                     0x000D3FFF,         // Range Maximum
1421                     0x00000000,         // Translation Offset
1422                     0x00004000,         // Length
1423                     ,, _Y05, AddressRangeMemory, TypeStatic)
1424                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1425                     0x00000000,         // Granularity
1426                     0x000D4000,         // Range Minimum
1427                     0x000D7FFF,         // Range Maximum
1428                     0x00000000,         // Translation Offset
1429                     0x00004000,         // Length
1430                     ,, _Y06, AddressRangeMemory, TypeStatic)
1431                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1432                     0x00000000,         // Granularity
1433                     0x000D8000,         // Range Minimum
1434                     0x000DBFFF,         // Range Maximum
1435                     0x00000000,         // Translation Offset
1436                     0x00004000,         // Length
1437                     ,, _Y07, AddressRangeMemory, TypeStatic)
1438                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1439                     0x00000000,         // Granularity
1440                     0x000DC000,         // Range Minimum
1441                     0x000DFFFF,         // Range Maximum
1442                     0x00000000,         // Translation Offset
1443                     0x00004000,         // Length
1444                     ,, _Y08, AddressRangeMemory, TypeStatic)
1445                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1446                     0x00000000,         // Granularity
1447                     0x000E0000,         // Range Minimum
1448                     0x000E3FFF,         // Range Maximum
1449                     0x00000000,         // Translation Offset
1450                     0x00004000,         // Length
1451                     ,, _Y09, AddressRangeMemory, TypeStatic)
1452                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1453                     0x00000000,         // Granularity
1454                     0x000E4000,         // Range Minimum
1455                     0x000E7FFF,         // Range Maximum
1456                     0x00000000,         // Translation Offset
1457                     0x00004000,         // Length
1458                     ,, _Y0A, AddressRangeMemory, TypeStatic)
1459                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1460                     0x00000000,         // Granularity
1461                     0x000E8000,         // Range Minimum
1462                     0x000EBFFF,         // Range Maximum
1463                     0x00000000,         // Translation Offset
1464                     0x00004000,         // Length
1465                     ,, _Y0B, AddressRangeMemory, TypeStatic)
1466                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1467                     0x00000000,         // Granularity
1468                     0x000EC000,         // Range Minimum
1469                     0x000EFFFF,         // Range Maximum
1470                     0x00000000,         // Translation Offset
1471                     0x00004000,         // Length
1472                     ,, _Y0C, AddressRangeMemory, TypeStatic)
1473                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1474                     0x00000000,         // Granularity
1475                     0x000F0000,         // Range Minimum
1476                     0x000FFFFF,         // Range Maximum
1477                     0x00000000,         // Translation Offset
1478                     0x00010000,         // Length
1479                     ,, _Y0D, AddressRangeMemory, TypeStatic)
1480                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1481                     0x00000000,         // Granularity
1482                     0x00000000,         // Range Minimum
1483                     0xFEAFFFFF,         // Range Maximum
1484                     0x00000000,         // Translation Offset
1485                     0xFEB00000,         // Length
1486                     ,, _Y0E, AddressRangeMemory, TypeStatic)
1487                 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1488                     0x0000000000000000, // Granularity
1489                     0x0000000000010000, // Range Minimum
1490                     0x000000000001FFFF, // Range Maximum
1491                     0x0000000000000000, // Translation Offset
1492                     0x0000000000010000, // Length
1493                     ,, _Y0F, AddressRangeMemory, TypeStatic)
1494             })
1495             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
1496             {
1497                 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
1498                 PBMX = ((PELN >> 0x14) - 0x02)
1499                 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
1500                 PBLN = ((PELN >> 0x14) - One)
1501                 If (PM1L)
1502                 {
1503                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN)  // _LEN: Length
1504                     C0LN = Zero
1505                 }
1506 
1507                 If ((PM1L == One))
1508                 {
1509                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW)  // _RW_: Read-Write Status
1510                     C0RW = Zero
1511                 }
1512 
1513                 If (PM1H)
1514                 {
1515                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN)  // _LEN: Length
1516                     C4LN = Zero
1517                 }
1518 
1519                 If ((PM1H == One))
1520                 {
1521                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW)  // _RW_: Read-Write Status
1522                     C4RW = Zero
1523                 }
1524 
1525                 If (PM2L)
1526                 {
1527                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN)  // _LEN: Length
1528                     C8LN = Zero
1529                 }
1530 
1531                 If ((PM2L == One))
1532                 {
1533                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW)  // _RW_: Read-Write Status
1534                     C8RW = Zero
1535                 }
1536 
1537                 If (PM2H)
1538                 {
1539                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN)  // _LEN: Length
1540                     CCLN = Zero
1541                 }
1542 
1543                 If ((PM2H == One))
1544                 {
1545                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW)  // _RW_: Read-Write Status
1546                     CCRW = Zero
1547                 }
1548 
1549                 If (PM3L)
1550                 {
1551                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN)  // _LEN: Length
1552                     D0LN = Zero
1553                 }
1554 
1555                 If ((PM3L == One))
1556                 {
1557                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW)  // _RW_: Read-Write Status
1558                     D0RW = Zero
1559                 }
1560 
1561                 If (PM3H)
1562                 {
1563                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN)  // _LEN: Length
1564                     D4LN = Zero
1565                 }
1566 
1567                 If ((PM3H == One))
1568                 {
1569                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW)  // _RW_: Read-Write Status
1570                     D4RW = Zero
1571                 }
1572 
1573                 If (PM4L)
1574                 {
1575                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN)  // _LEN: Length
1576                     D8LN = Zero
1577                 }
1578 
1579                 If ((PM4L == One))
1580                 {
1581                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW)  // _RW_: Read-Write Status
1582                     D8RW = Zero
1583                 }
1584 
1585                 If (PM4H)
1586                 {
1587                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN)  // _LEN: Length
1588                     DCLN = Zero
1589                 }
1590 
1591                 If ((PM4H == One))
1592                 {
1593                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW)  // _RW_: Read-Write Status
1594                     DCRW = Zero
1595                 }
1596 
1597                 If (PM5L)
1598                 {
1599                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN)  // _LEN: Length
1600                     E0LN = Zero
1601                 }
1602 
1603                 If ((PM5L == One))
1604                 {
1605                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW)  // _RW_: Read-Write Status
1606                     E0RW = Zero
1607                 }
1608 
1609                 If (PM5H)
1610                 {
1611                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN)  // _LEN: Length
1612                     E4LN = Zero
1613                 }
1614 
1615                 If ((PM5H == One))
1616                 {
1617                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW)  // _RW_: Read-Write Status
1618                     E4RW = Zero
1619                 }
1620 
1621                 If (PM6L)
1622                 {
1623                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN)  // _LEN: Length
1624                     E8LN = Zero
1625                 }
1626 
1627                 If ((PM6L == One))
1628                 {
1629                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW)  // _RW_: Read-Write Status
1630                     E8RW = Zero
1631                 }
1632 
1633                 If (PM6H)
1634                 {
1635                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN)  // _LEN: Length
1636                     ECLN = Zero
1637                 }
1638 
1639                 If ((PM6H == One))
1640                 {
1641                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
1642                     ECRW = Zero
1643                 }
1644 
1645                 If (PM0H)
1646                 {
1647                     CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
1648                     F0LN = Zero
1649                 }
1650 
1651                 If ((PM0H == One))
1652                 {
1653                     CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW)  // _RW_: Read-Write Status
1654                     F0RW = Zero
1655                 }
1656 
1657                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)  // _MIN: Minimum Base Address
1658                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)  // _MAX: Maximum Base Address
1659                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)  // _LEN: Length
1660                 M1MN = (TLUD << 0x14)
1661                 M1LN = ((M1MX - M1MN) + One)
1662                 If (((MM64 == Zero) || (OSYS <= 0x07D3)))
1663                 {
1664                     CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)  // _LEN: Length
1665                     MSLN = Zero
1666                 }
1667                 Else
1668                 {
1669                     CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)  // _LEN: Length
1670                     CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)  // _MIN: Minimum Base Address
1671                     CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)  // _MAX: Maximum Base Address
1672                     M2LN = 0x00000000
1673                     If ((TUUD >= 0x1000))
1674                     {
1675                         M2MN = (TUUD << 0x14)
1676                     }
1677                     Else
1678                     {
1679                         M2MN = 0x00000000
1680                     }
1681 
1682                     M2MX = ((M2MN + M2LN) - One)
1683                 }
1684 
1685                 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1686             }
1687 
1688             Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1689             Name (SUPP, Zero)
1690             Name (CTRL, Zero)
1691             Name (XCNT, Zero)
1692             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1693             {
1694                 Local0 = Arg3
1695                 CreateDWordField (Local0, Zero, CDW1)
1696                 CreateDWordField (Local0, 0x04, CDW2)
1697                 CreateDWordField (Local0, 0x08, CDW3)
1698                 If (^XHC.CUID (Arg0))
1699                 {
1700                     Return (^XHC.POSC (Arg1, Arg2, Arg3))
1701                 }
1702                 Else
1703                 {
1704                     If (_OSI ("Windows 2012"))
1705                     {
1706                         If ((XCNT == Zero))
1707                         {
1708                             ^XHC.XSEL ()
1709                             XCNT++
1710                         }
1711                     }
1712                 }
1713 
1714                 If (((Arg0 == GUID) && NEXP))
1715                 {
1716                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1717                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1718                     If (~(CDW1 & One))
1719                     {
1720                         If ((CTRL & One))
1721                         {
1722                             NHPG ()
1723                         }
1724 
1725                         If ((CTRL & 0x04))
1726                         {
1727                             NPME ()
1728                         }
1729                     }
1730 
1731                     If ((Arg1 != One))
1732                     {
1733                         CDW1 |= 0x08
1734                     }
1735 
1736                     If ((CDW3 != CTRL))
1737                     {
1738                         CDW1 |= 0x10
1739                     }
1740 
1741                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1742                     OSCC = CTRL /* \_SB_.PCI0.CTRL */
1743                     Return (Local0)
1744                 }
1745                 Else
1746                 {
1747                     CDW1 |= 0x04
1748                     Return (Local0)
1749                 }
1750             }
1751 
1752             Device (P0P1)
1753             {
1754                 Name (_ADR, 0x001E0000)  // _ADR: Address
1755                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1756                 {
1757                     If (PMEE)
1758                     {
1759                         Return (Package (0x02)
1760                         {
1761                             0x0B, 
1762                             0x04
1763                         })
1764                     }
1765                     Else
1766                     {
1767                         Return (Package (0x02)
1768                         {
1769                             0x0B, 
1770                             Zero
1771                         })
1772                     }
1773                 }
1774 
1775                 Name (PR04, Package (0x0C)
1776                 {
1777                     Package (0x04)
1778                     {
1779                         0xFFFF, 
1780                         Zero, 
1781                         LNKF, 
1782                         Zero
1783                     }, 
1784 
1785                     Package (0x04)
1786                     {
1787                         0xFFFF, 
1788                         One, 
1789                         LNKG, 
1790                         Zero
1791                     }, 
1792 
1793                     Package (0x04)
1794                     {
1795                         0xFFFF, 
1796                         0x02, 
1797                         LNKH, 
1798                         Zero
1799                     }, 
1800 
1801                     Package (0x04)
1802                     {
1803                         0xFFFF, 
1804                         0x03, 
1805                         LNKE, 
1806                         Zero
1807                     }, 
1808 
1809                     Package (0x04)
1810                     {
1811                         0x0001FFFF, 
1812                         Zero, 
1813                         LNKG, 
1814                         Zero
1815                     }, 
1816 
1817                     Package (0x04)
1818                     {
1819                         0x0001FFFF, 
1820                         One, 
1821                         LNKF, 
1822                         Zero
1823                     }, 
1824 
1825                     Package (0x04)
1826                     {
1827                         0x0001FFFF, 
1828                         0x02, 
1829                         LNKE, 
1830                         Zero
1831                     }, 
1832 
1833                     Package (0x04)
1834                     {
1835                         0x0001FFFF, 
1836                         0x03, 
1837                         LNKH, 
1838                         Zero
1839                     }, 
1840 
1841                     Package (0x04)
1842                     {
1843                         0x0005FFFF, 
1844                         Zero, 
1845                         LNKC, 
1846                         Zero
1847                     }, 
1848 
1849                     Package (0x04)
1850                     {
1851                         0x0005FFFF, 
1852                         One, 
1853                         LNKE, 
1854                         Zero
1855                     }, 
1856 
1857                     Package (0x04)
1858                     {
1859                         0x0005FFFF, 
1860                         0x02, 
1861                         LNKG, 
1862                         Zero
1863                     }, 
1864 
1865                     Package (0x04)
1866                     {
1867                         0x0005FFFF, 
1868                         0x03, 
1869                         LNKF, 
1870                         Zero
1871                     }
1872                 })
1873                 Name (AR04, Package (0x0C)
1874                 {
1875                     Package (0x04)
1876                     {
1877                         0xFFFF, 
1878                         Zero, 
1879                         Zero, 
1880                         0x15
1881                     }, 
1882 
1883                     Package (0x04)
1884                     {
1885                         0xFFFF, 
1886                         One, 
1887                         Zero, 
1888                         0x16
1889                     }, 
1890 
1891                     Package (0x04)
1892                     {
1893                         0xFFFF, 
1894                         0x02, 
1895                         Zero, 
1896                         0x17
1897                     }, 
1898 
1899                     Package (0x04)
1900                     {
1901                         0xFFFF, 
1902                         0x03, 
1903                         Zero, 
1904                         0x14
1905                     }, 
1906 
1907                     Package (0x04)
1908                     {
1909                         0x0001FFFF, 
1910                         Zero, 
1911                         Zero, 
1912                         0x16
1913                     }, 
1914 
1915                     Package (0x04)
1916                     {
1917                         0x0001FFFF, 
1918                         One, 
1919                         Zero, 
1920                         0x15
1921                     }, 
1922 
1923                     Package (0x04)
1924                     {
1925                         0x0001FFFF, 
1926                         0x02, 
1927                         Zero, 
1928                         0x14
1929                     }, 
1930 
1931                     Package (0x04)
1932                     {
1933                         0x0001FFFF, 
1934                         0x03, 
1935                         Zero, 
1936                         0x17
1937                     }, 
1938 
1939                     Package (0x04)
1940                     {
1941                         0x0005FFFF, 
1942                         Zero, 
1943                         Zero, 
1944                         0x12
1945                     }, 
1946 
1947                     Package (0x04)
1948                     {
1949                         0x0005FFFF, 
1950                         One, 
1951                         Zero, 
1952                         0x14
1953                     }, 
1954 
1955                     Package (0x04)
1956                     {
1957                         0x0005FFFF, 
1958                         0x02, 
1959                         Zero, 
1960                         0x16
1961                     }, 
1962 
1963                     Package (0x04)
1964                     {
1965                         0x0005FFFF, 
1966                         0x03, 
1967                         Zero, 
1968                         0x15
1969                     }
1970                 })
1971                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
1972                 {
1973                     If (PICM)
1974                     {
1975                         Return (AR04) /* \_SB_.PCI0.P0P1.AR04 */
1976                     }
1977 
1978                     Return (PR04) /* \_SB_.PCI0.P0P1.PR04 */
1979                 }
1980             }
1981 
1982             Device (LPCB)
1983             {
1984                 Name (_ADR, 0x001F0000)  // _ADR: Address
1985                 Scope (\_SB)
1986                 {
1987                     OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
1988                     Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
1989                     {
1990                         Offset (0x20), 
1991                         PARC,   8, 
1992                         PBRC,   8, 
1993                         PCRC,   8, 
1994                         PDRC,   8, 
1995                         Offset (0x28), 
1996                         PERC,   8, 
1997                         PFRC,   8, 
1998                         PGRC,   8, 
1999                         PHRC,   8, 
2000                         Offset (0x6C), 
2001                         Offset (0x6D), 
2002                         Offset (0x6E), 
2003                         XUSB,   1
2004                     }
2005 
2006                     Device (LNKA)
2007                     {
2008                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2009                         Name (_UID, One)  // _UID: Unique ID
2010                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2011                         {
2012                             PARC |= 0x80
2013                         }
2014 
2015                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2016                         {
2017                             Return (PRSA) /* \_SB_.PRSA */
2018                         }
2019 
2020                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2021                         {
2022                             Name (RTLA, ResourceTemplate ()
2023                             {
2024                                 IRQ (Level, ActiveLow, Shared, )
2025                                     {}
2026                             })
2027                             CreateWordField (RTLA, One, IRQ0)
2028                             IRQ0 = Zero
2029                             IRQ0 = (One << (PARC & 0x0F))
2030                             Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
2031                         }
2032 
2033                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2034                         {
2035                             CreateWordField (Arg0, One, IRQ0)
2036                             FindSetRightBit (IRQ0, Local0)
2037                             Local0--
2038                             PARC = Local0
2039                         }
2040 
2041                         Method (_STA, 0, Serialized)  // _STA: Status
2042                         {
2043                             If ((PARC & 0x80))
2044                             {
2045                                 Return (0x09)
2046                             }
2047                             Else
2048                             {
2049                                 Return (0x0B)
2050                             }
2051                         }
2052                     }
2053 
2054                     Device (LNKB)
2055                     {
2056                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2057                         Name (_UID, 0x02)  // _UID: Unique ID
2058                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2059                         {
2060                             PBRC |= 0x80
2061                         }
2062 
2063                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2064                         {
2065                             Return (PRSB) /* \_SB_.PRSB */
2066                         }
2067 
2068                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2069                         {
2070                             Name (RTLB, ResourceTemplate ()
2071                             {
2072                                 IRQ (Level, ActiveLow, Shared, )
2073                                     {}
2074                             })
2075                             CreateWordField (RTLB, One, IRQ0)
2076                             IRQ0 = Zero
2077                             IRQ0 = (One << (PBRC & 0x0F))
2078                             Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
2079                         }
2080 
2081                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2082                         {
2083                             CreateWordField (Arg0, One, IRQ0)
2084                             FindSetRightBit (IRQ0, Local0)
2085                             Local0--
2086                             PBRC = Local0
2087                         }
2088 
2089                         Method (_STA, 0, Serialized)  // _STA: Status
2090                         {
2091                             If ((PBRC & 0x80))
2092                             {
2093                                 Return (0x09)
2094                             }
2095                             Else
2096                             {
2097                                 Return (0x0B)
2098                             }
2099                         }
2100                     }
2101 
2102                     Device (LNKC)
2103                     {
2104                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2105                         Name (_UID, 0x03)  // _UID: Unique ID
2106                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2107                         {
2108                             PCRC |= 0x80
2109                         }
2110 
2111                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2112                         {
2113                             Return (PRSC) /* \_SB_.PRSC */
2114                         }
2115 
2116                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2117                         {
2118                             Name (RTLC, ResourceTemplate ()
2119                             {
2120                                 IRQ (Level, ActiveLow, Shared, )
2121                                     {}
2122                             })
2123                             CreateWordField (RTLC, One, IRQ0)
2124                             IRQ0 = Zero
2125                             IRQ0 = (One << (PCRC & 0x0F))
2126                             Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
2127                         }
2128 
2129                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2130                         {
2131                             CreateWordField (Arg0, One, IRQ0)
2132                             FindSetRightBit (IRQ0, Local0)
2133                             Local0--
2134                             PCRC = Local0
2135                         }
2136 
2137                         Method (_STA, 0, Serialized)  // _STA: Status
2138                         {
2139                             If ((PCRC & 0x80))
2140                             {
2141                                 Return (0x09)
2142                             }
2143                             Else
2144                             {
2145                                 Return (0x0B)
2146                             }
2147                         }
2148                     }
2149 
2150                     Device (LNKD)
2151                     {
2152                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2153                         Name (_UID, 0x04)  // _UID: Unique ID
2154                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2155                         {
2156                             PDRC |= 0x80
2157                         }
2158 
2159                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2160                         {
2161                             Return (PRSD) /* \_SB_.PRSD */
2162                         }
2163 
2164                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2165                         {
2166                             Name (RTLD, ResourceTemplate ()
2167                             {
2168                                 IRQ (Level, ActiveLow, Shared, )
2169                                     {}
2170                             })
2171                             CreateWordField (RTLD, One, IRQ0)
2172                             IRQ0 = Zero
2173                             IRQ0 = (One << (PDRC & 0x0F))
2174                             Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
2175                         }
2176 
2177                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2178                         {
2179                             CreateWordField (Arg0, One, IRQ0)
2180                             FindSetRightBit (IRQ0, Local0)
2181                             Local0--
2182                             PDRC = Local0
2183                         }
2184 
2185                         Method (_STA, 0, Serialized)  // _STA: Status
2186                         {
2187                             If ((PDRC & 0x80))
2188                             {
2189                                 Return (0x09)
2190                             }
2191                             Else
2192                             {
2193                                 Return (0x0B)
2194                             }
2195                         }
2196                     }
2197 
2198                     Device (LNKE)
2199                     {
2200                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2201                         Name (_UID, 0x05)  // _UID: Unique ID
2202                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2203                         {
2204                             PERC |= 0x80
2205                         }
2206 
2207                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2208                         {
2209                             Return (PRSE) /* \_SB_.PRSE */
2210                         }
2211 
2212                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2213                         {
2214                             Name (RTLE, ResourceTemplate ()
2215                             {
2216                                 IRQ (Level, ActiveLow, Shared, )
2217                                     {}
2218                             })
2219                             CreateWordField (RTLE, One, IRQ0)
2220                             IRQ0 = Zero
2221                             IRQ0 = (One << (PERC & 0x0F))
2222                             Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
2223                         }
2224 
2225                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2226                         {
2227                             CreateWordField (Arg0, One, IRQ0)
2228                             FindSetRightBit (IRQ0, Local0)
2229                             Local0--
2230                             PERC = Local0
2231                         }
2232 
2233                         Method (_STA, 0, Serialized)  // _STA: Status
2234                         {
2235                             If ((PERC & 0x80))
2236                             {
2237                                 Return (0x09)
2238                             }
2239                             Else
2240                             {
2241                                 Return (0x0B)
2242                             }
2243                         }
2244                     }
2245 
2246                     Device (LNKF)
2247                     {
2248                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2249                         Name (_UID, 0x06)  // _UID: Unique ID
2250                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2251                         {
2252                             PFRC |= 0x80
2253                         }
2254 
2255                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2256                         {
2257                             Return (PRSF) /* \_SB_.PRSF */
2258                         }
2259 
2260                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2261                         {
2262                             Name (RTLF, ResourceTemplate ()
2263                             {
2264                                 IRQ (Level, ActiveLow, Shared, )
2265                                     {}
2266                             })
2267                             CreateWordField (RTLF, One, IRQ0)
2268                             IRQ0 = Zero
2269                             IRQ0 = (One << (PFRC & 0x0F))
2270                             Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2271                         }
2272 
2273                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2274                         {
2275                             CreateWordField (Arg0, One, IRQ0)
2276                             FindSetRightBit (IRQ0, Local0)
2277                             Local0--
2278                             PFRC = Local0
2279                         }
2280 
2281                         Method (_STA, 0, Serialized)  // _STA: Status
2282                         {
2283                             If ((PFRC & 0x80))
2284                             {
2285                                 Return (0x09)
2286                             }
2287                             Else
2288                             {
2289                                 Return (0x0B)
2290                             }
2291                         }
2292                     }
2293 
2294                     Device (LNKG)
2295                     {
2296                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2297                         Name (_UID, 0x07)  // _UID: Unique ID
2298                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2299                         {
2300                             PGRC |= 0x80
2301                         }
2302 
2303                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2304                         {
2305                             Return (PRSG) /* \_SB_.PRSG */
2306                         }
2307 
2308                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2309                         {
2310                             Name (RTLG, ResourceTemplate ()
2311                             {
2312                                 IRQ (Level, ActiveLow, Shared, )
2313                                     {}
2314                             })
2315                             CreateWordField (RTLG, One, IRQ0)
2316                             IRQ0 = Zero
2317                             IRQ0 = (One << (PGRC & 0x0F))
2318                             Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2319                         }
2320 
2321                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2322                         {
2323                             CreateWordField (Arg0, One, IRQ0)
2324                             FindSetRightBit (IRQ0, Local0)
2325                             Local0--
2326                             PGRC = Local0
2327                         }
2328 
2329                         Method (_STA, 0, Serialized)  // _STA: Status
2330                         {
2331                             If ((PGRC & 0x80))
2332                             {
2333                                 Return (0x09)
2334                             }
2335                             Else
2336                             {
2337                                 Return (0x0B)
2338                             }
2339                         }
2340                     }
2341 
2342                     Device (LNKH)
2343                     {
2344                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
2345                         Name (_UID, 0x08)  // _UID: Unique ID
2346                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
2347                         {
2348                             PHRC |= 0x80
2349                         }
2350 
2351                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
2352                         {
2353                             Return (PRSH) /* \_SB_.PRSH */
2354                         }
2355 
2356                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2357                         {
2358                             Name (RTLH, ResourceTemplate ()
2359                             {
2360                                 IRQ (Level, ActiveLow, Shared, )
2361                                     {}
2362                             })
2363                             CreateWordField (RTLH, One, IRQ0)
2364                             IRQ0 = Zero
2365                             IRQ0 = (One << (PHRC & 0x0F))
2366                             Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2367                         }
2368 
2369                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
2370                         {
2371                             CreateWordField (Arg0, One, IRQ0)
2372                             FindSetRightBit (IRQ0, Local0)
2373                             Local0--
2374                             PHRC = Local0
2375                         }
2376 
2377                         Method (_STA, 0, Serialized)  // _STA: Status
2378                         {
2379                             If ((PHRC & 0x80))
2380                             {
2381                                 Return (0x09)
2382                             }
2383                             Else
2384                             {
2385                                 Return (0x0B)
2386                             }
2387                         }
2388                     }
2389                 }
2390 
2391                 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
2392                 Field (LPC0, AnyAcc, NoLock, Preserve)
2393                 {
2394                     Offset (0x40), 
2395                     IOD0,   8, 
2396                     IOD1,   8, 
2397                     Offset (0xB0), 
2398                     RAEN,   1, 
2399                         ,   13, 
2400                     RCBA,   18
2401                 }
2402 
2403                 Device (DMAC)
2404                 {
2405                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
2406                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2407                     {
2408                         IO (Decode16,
2409                             0x0000,             // Range Minimum
2410                             0x0000,             // Range Maximum
2411                             0x01,               // Alignment
2412                             0x20,               // Length
2413                             )
2414                         IO (Decode16,
2415                             0x0081,             // Range Minimum
2416                             0x0081,             // Range Maximum
2417                             0x01,               // Alignment
2418                             0x11,               // Length
2419                             )
2420                         IO (Decode16,
2421                             0x0093,             // Range Minimum
2422                             0x0093,             // Range Maximum
2423                             0x01,               // Alignment
2424                             0x0D,               // Length
2425                             )
2426                         IO (Decode16,
2427                             0x00C0,             // Range Minimum
2428                             0x00C0,             // Range Maximum
2429                             0x01,               // Alignment
2430                             0x20,               // Length
2431                             )
2432                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
2433                             {4}
2434                     })
2435                 }
2436 
2437                 Device (FWHD)
2438                 {
2439                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
2440                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2441                     {
2442                         Memory32Fixed (ReadOnly,
2443                             0xFF010000,         // Address Base
2444                             0x00FF0000,         // Address Length
2445                             )
2446                     })
2447                 }
2448 
2449                 Device (HPET)
2450                 {
2451                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
2452                     Name (_UID, Zero)  // _UID: Unique ID
2453                     Name (BUF0, ResourceTemplate ()
2454                     {
2455                         Memory32Fixed (ReadWrite,
2456                             0xFED00000,         // Address Base
2457                             0x00000400,         // Address Length
2458                             _Y10)
2459                     })
2460                     Method (_STA, 0, NotSerialized)  // _STA: Status
2461                     {
2462                         If ((OSYS >= 0x07D1))
2463                         {
2464                             If (HPAE)
2465                             {
2466                                 Return (0x0F)
2467                             }
2468                         }
2469                         Else
2470                         {
2471                             If (HPAE)
2472                             {
2473                                 Return (0x0B)
2474                             }
2475                         }
2476 
2477                         Return (Zero)
2478                     }
2479 
2480                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2481                     {
2482                         If (HPAE)
2483                         {
2484                             CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._BAS, HPT0)  // _BAS: Base Address
2485                             If ((HPAS == One))
2486                             {
2487                                 HPT0 = 0xFED01000
2488                             }
2489 
2490                             If ((HPAS == 0x02))
2491                             {
2492                                 HPT0 = 0xFED02000
2493                             }
2494 
2495                             If ((HPAS == 0x03))
2496                             {
2497                                 HPT0 = 0xFED03000
2498                             }
2499                         }
2500 
2501                         Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
2502                     }
2503                 }
2504 
2505                 Device (IPIC)
2506                 {
2507                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
2508                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2509                     {
2510                         IO (Decode16,
2511                             0x0020,             // Range Minimum
2512                             0x0020,             // Range Maximum
2513                             0x01,               // Alignment
2514                             0x02,               // Length
2515                             )
2516                         IO (Decode16,
2517                             0x0024,             // Range Minimum
2518                             0x0024,             // Range Maximum
2519                             0x01,               // Alignment
2520                             0x02,               // Length
2521                             )
2522                         IO (Decode16,
2523                             0x0028,             // Range Minimum
2524                             0x0028,             // Range Maximum
2525                             0x01,               // Alignment
2526                             0x02,               // Length
2527                             )
2528                         IO (Decode16,
2529                             0x002C,             // Range Minimum
2530                             0x002C,             // Range Maximum
2531                             0x01,               // Alignment
2532                             0x02,               // Length
2533                             )
2534                         IO (Decode16,
2535                             0x0030,             // Range Minimum
2536                             0x0030,             // Range Maximum
2537                             0x01,               // Alignment
2538                             0x02,               // Length
2539                             )
2540                         IO (Decode16,
2541                             0x0034,             // Range Minimum
2542                             0x0034,             // Range Maximum
2543                             0x01,               // Alignment
2544                             0x02,               // Length
2545                             )
2546                         IO (Decode16,
2547                             0x0038,             // Range Minimum
2548                             0x0038,             // Range Maximum
2549                             0x01,               // Alignment
2550                             0x02,               // Length
2551                             )
2552                         IO (Decode16,
2553                             0x003C,             // Range Minimum
2554                             0x003C,             // Range Maximum
2555                             0x01,               // Alignment
2556                             0x02,               // Length
2557                             )
2558                         IO (Decode16,
2559                             0x00A0,             // Range Minimum
2560                             0x00A0,             // Range Maximum
2561                             0x01,               // Alignment
2562                             0x02,               // Length
2563                             )
2564                         IO (Decode16,
2565                             0x00A4,             // Range Minimum
2566                             0x00A4,             // Range Maximum
2567                             0x01,               // Alignment
2568                             0x02,               // Length
2569                             )
2570                         IO (Decode16,
2571                             0x00A8,             // Range Minimum
2572                             0x00A8,             // Range Maximum
2573                             0x01,               // Alignment
2574                             0x02,               // Length
2575                             )
2576                         IO (Decode16,
2577                             0x00AC,             // Range Minimum
2578                             0x00AC,             // Range Maximum
2579                             0x01,               // Alignment
2580                             0x02,               // Length
2581                             )
2582                         IO (Decode16,
2583                             0x00B0,             // Range Minimum
2584                             0x00B0,             // Range Maximum
2585                             0x01,               // Alignment
2586                             0x02,               // Length
2587                             )
2588                         IO (Decode16,
2589                             0x00B4,             // Range Minimum
2590                             0x00B4,             // Range Maximum
2591                             0x01,               // Alignment
2592                             0x02,               // Length
2593                             )
2594                         IO (Decode16,
2595                             0x00B8,             // Range Minimum
2596                             0x00B8,             // Range Maximum
2597                             0x01,               // Alignment
2598                             0x02,               // Length
2599                             )
2600                         IO (Decode16,
2601                             0x00BC,             // Range Minimum
2602                             0x00BC,             // Range Maximum
2603                             0x01,               // Alignment
2604                             0x02,               // Length
2605                             )
2606                         IO (Decode16,
2607                             0x04D0,             // Range Minimum
2608                             0x04D0,             // Range Maximum
2609                             0x01,               // Alignment
2610                             0x02,               // Length
2611                             )
2612                         IRQNoFlags ()
2613                             {2}
2614                     })
2615                 }
2616 
2617                 Device (MATH)
2618                 {
2619                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
2620                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2621                     {
2622                         IO (Decode16,
2623                             0x00F0,             // Range Minimum
2624                             0x00F0,             // Range Maximum
2625                             0x01,               // Alignment
2626                             0x01,               // Length
2627                             )
2628                         IRQNoFlags ()
2629                             {13}
2630                     })
2631                 }
2632 
2633                 Device (LDRC)
2634                 {
2635                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
2636                     Name (_UID, 0x02)  // _UID: Unique ID
2637                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2638                     {
2639                         IO (Decode16,
2640                             0x002E,             // Range Minimum
2641                             0x002E,             // Range Maximum
2642                             0x01,               // Alignment
2643                             0x02,               // Length
2644                             )
2645                         IO (Decode16,
2646                             0x004E,             // Range Minimum
2647                             0x004E,             // Range Maximum
2648                             0x01,               // Alignment
2649                             0x02,               // Length
2650                             )
2651                         IO (Decode16,
2652                             0x0061,             // Range Minimum
2653                             0x0061,             // Range Maximum
2654                             0x01,               // Alignment
2655                             0x01,               // Length
2656                             )
2657                         IO (Decode16,
2658                             0x0063,             // Range Minimum
2659                             0x0063,             // Range Maximum
2660                             0x01,               // Alignment
2661                             0x01,               // Length
2662                             )
2663                         IO (Decode16,
2664                             0x0065,             // Range Minimum
2665                             0x0065,             // Range Maximum
2666                             0x01,               // Alignment
2667                             0x01,               // Length
2668                             )
2669                         IO (Decode16,
2670                             0x0067,             // Range Minimum
2671                             0x0067,             // Range Maximum
2672                             0x01,               // Alignment
2673                             0x01,               // Length
2674                             )
2675                         IO (Decode16,
2676                             0x0070,             // Range Minimum
2677                             0x0070,             // Range Maximum
2678                             0x01,               // Alignment
2679                             0x01,               // Length
2680                             )
2681                         IO (Decode16,
2682                             0x0080,             // Range Minimum
2683                             0x0080,             // Range Maximum
2684                             0x01,               // Alignment
2685                             0x01,               // Length
2686                             )
2687                         IO (Decode16,
2688                             0x0092,             // Range Minimum
2689                             0x0092,             // Range Maximum
2690                             0x01,               // Alignment
2691                             0x01,               // Length
2692                             )
2693                         IO (Decode16,
2694                             0x00B2,             // Range Minimum
2695                             0x00B2,             // Range Maximum
2696                             0x01,               // Alignment
2697                             0x02,               // Length
2698                             )
2699                         IO (Decode16,
2700                             0x0680,             // Range Minimum
2701                             0x0680,             // Range Maximum
2702                             0x01,               // Alignment
2703                             0x20,               // Length
2704                             )
2705                         IO (Decode16,
2706                             0x1000,             // Range Minimum
2707                             0x1000,             // Range Maximum
2708                             0x01,               // Alignment
2709                             0x10,               // Length
2710                             )
2711                         IO (Decode16,
2712                             0xFFFF,             // Range Minimum
2713                             0xFFFF,             // Range Maximum
2714                             0x01,               // Alignment
2715                             0x01,               // Length
2716                             )
2717                         IO (Decode16,
2718                             0xFFFF,             // Range Minimum
2719                             0xFFFF,             // Range Maximum
2720                             0x01,               // Alignment
2721                             0x01,               // Length
2722                             )
2723                         IO (Decode16,
2724                             0x0400,             // Range Minimum
2725                             0x0400,             // Range Maximum
2726                             0x01,               // Alignment
2727                             0x54,               // Length
2728                             )
2729                         IO (Decode16,
2730                             0x0458,             // Range Minimum
2731                             0x0458,             // Range Maximum
2732                             0x01,               // Alignment
2733                             0x28,               // Length
2734                             )
2735                         IO (Decode16,
2736                             0x0500,             // Range Minimum
2737                             0x0500,             // Range Maximum
2738                             0x01,               // Alignment
2739                             0x80,               // Length
2740                             )
2741                         IO (Decode16,
2742                             0x164E,             // Range Minimum
2743                             0x164E,             // Range Maximum
2744                             0x01,               // Alignment
2745                             0x02,               // Length
2746                             )
2747                         IO (Decode16,
2748                             0xFD60,             // Range Minimum
2749                             0xFD60,             // Range Maximum
2750                             0x01,               // Alignment
2751                             0x04,               // Length
2752                             )
2753                     })
2754                 }
2755 
2756                 Device (RTC)
2757                 {
2758                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
2759                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2760                     {
2761                         IO (Decode16,
2762                             0x0070,             // Range Minimum
2763                             0x0070,             // Range Maximum
2764                             0x01,               // Alignment
2765                             0x08,               // Length
2766                             )
2767                         IRQNoFlags ()
2768                             {8}
2769                     })
2770                 }
2771 
2772                 Device (TIMR)
2773                 {
2774                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
2775                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2776                     {
2777                         IO (Decode16,
2778                             0x0040,             // Range Minimum
2779                             0x0040,             // Range Maximum
2780                             0x01,               // Alignment
2781                             0x04,               // Length
2782                             )
2783                         IO (Decode16,
2784                             0x0050,             // Range Minimum
2785                             0x0050,             // Range Maximum
2786                             0x10,               // Alignment
2787                             0x04,               // Length
2788                             )
2789                         IRQNoFlags ()
2790                             {0}
2791                     })
2792                 }
2793 
2794                 Device (CWDT)
2795                 {
2796                     Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */)  // _HID: Hardware ID
2797                     Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
2798                     Name (BUF0, ResourceTemplate ()
2799                     {
2800                         IO (Decode16,
2801                             0x0454,             // Range Minimum
2802                             0x0454,             // Range Maximum
2803                             0x04,               // Alignment
2804                             0x04,               // Length
2805                             )
2806                     })
2807                     Method (_STA, 0, Serialized)  // _STA: Status
2808                     {
2809                         If ((WDTE == One))
2810                         {
2811                             Return (0x0F)
2812                         }
2813                         Else
2814                         {
2815                             Return (Zero)
2816                         }
2817                     }
2818 
2819                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2820                     {
2821                         Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
2822                     }
2823                 }
2824 
2825                 Device (PWRB)
2826                 {
2827                     Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
2828                 }
2829 
2830                 Device (SLPB)
2831                 {
2832                     Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
2833                 }
2834 
2835                 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
2836                 Field (PKBS, ByteAcc, Lock, Preserve)
2837                 {
2838                     PKBD,   8, 
2839                     Offset (0x02), 
2840                     Offset (0x03), 
2841                     Offset (0x04), 
2842                     PKBC,   8
2843                 }
2844 
2845                 Device (PS2K)
2846                 {
2847                     Method (_HID, 0, Serialized)  // _HID: Hardware ID
2848                     {
2849                         Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
2850                         If ((OSYS == 0x07DC))
2851                         {
2852                             While (One)
2853                             {
2854                                 _T_0 = KBID /* \KBID */
2855                                 If ((_T_0 == Zero))
2856                                 {
2857                                     Return ("IDEA0100")
2858                                 }
2859                                 Else
2860                                 {
2861                                     If ((_T_0 == One))
2862                                     {
2863                                         Return ("IDEA0102")
2864                                     }
2865                                     Else
2866                                     {
2867                                         If ((_T_0 == 0x02))
2868                                         {
2869                                             Return ("IDEA0101")
2870                                         }
2871                                         Else
2872                                         {
2873                                             If ((_T_0 == 0x03))
2874                                             {
2875                                                 Return ("IDEA0103")
2876                                             }
2877                                             Else
2878                                             {
2879                                                 Return (0x01006636)
2880                                             }
2881                                         }
2882                                     }
2883                                 }
2884 
2885                                 Break
2886                             }
2887                         }
2888                         Else
2889                         {
2890                             Return (0x0303D041)
2891                         }
2892                     }
2893 
2894                     Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
2895                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2896                     {
2897                         IO (Decode16,
2898                             0x0060,             // Range Minimum
2899                             0x0060,             // Range Maximum
2900                             0x01,               // Alignment
2901                             0x01,               // Length
2902                             )
2903                         IO (Decode16,
2904                             0x0064,             // Range Minimum
2905                             0x0064,             // Range Maximum
2906                             0x01,               // Alignment
2907                             0x01,               // Length
2908                             )
2909                         IRQ (Edge, ActiveHigh, Exclusive, )
2910                             {1}
2911                     })
2912                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
2913                     {
2914                         StartDependentFn (0x00, 0x00)
2915                         {
2916                             FixedIO (
2917                                 0x0060,             // Address
2918                                 0x01,               // Length
2919                                 )
2920                             FixedIO (
2921                                 0x0064,             // Address
2922                                 0x01,               // Length
2923                                 )
2924                             IRQNoFlags ()
2925                                 {1}
2926                         }
2927                         EndDependentFn ()
2928                     })
2929                 }
2930 
2931                 Device (MSS0)
2932                 {
2933                     Name (_HID, EisaId ("SYN073B"))  // _HID: Hardware ID
2934                     Name (_CID, Package (0x03)  // _CID: Compatible ID
2935                     {
2936                         EisaId ("SYN0700"), 
2937                         EisaId ("SYN0002"), 
2938                         EisaId ("PNP0F13") /* PS/2 Mouse */
2939                     })
2940                     Method (_STA, 0, NotSerialized)  // _STA: Status
2941                     {
2942                         If ((TPDF == 0x04))
2943                         {
2944                             Return (0x0F)
2945                         }
2946 
2947                         Return (Zero)
2948                     }
2949 
2950                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2951                     {
2952                         IRQ (Edge, ActiveHigh, Exclusive, )
2953                             {12}
2954                     })
2955                 }
2956 
2957                 Device (MSS1)
2958                 {
2959                     Name (_HID, EisaId ("SYN0741"))  // _HID: Hardware ID
2960                     Name (_CID, Package (0x03)  // _CID: Compatible ID
2961                     {
2962                         EisaId ("SYN0700"), 
2963                         EisaId ("SYN0002"), 
2964                         EisaId ("PNP0F13") /* PS/2 Mouse */
2965                     })
2966                     Method (_STA, 0, NotSerialized)  // _STA: Status
2967                     {
2968                         If ((TPDF == 0x05))
2969                         {
2970                             Return (0x0F)
2971                         }
2972 
2973                         Return (Zero)
2974                     }
2975 
2976                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2977                     {
2978                         IRQ (Edge, ActiveHigh, Exclusive, )
2979                             {12}
2980                     })
2981                 }
2982 
2983                 Device (MSS3)
2984                 {
2985                     Name (_HID, EisaId ("SYN0742"))  // _HID: Hardware ID
2986                     Name (_CID, Package (0x03)  // _CID: Compatible ID
2987                     {
2988                         EisaId ("SYN0700"), 
2989                         EisaId ("SYN0002"), 
2990                         EisaId ("PNP0F13") /* PS/2 Mouse */
2991                     })
2992                     Method (_STA, 0, NotSerialized)  // _STA: Status
2993                     {
2994                         If ((TPDF == 0x06))
2995                         {
2996                             Return (0x0F)
2997                         }
2998 
2999                         Return (Zero)
3000                     }
3001 
3002                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3003                     {
3004                         IRQ (Edge, ActiveHigh, Exclusive, )
3005                             {12}
3006                     })
3007                 }
3008 
3009                 Device (MSS4)
3010                 {
3011                     Name (_HID, EisaId ("ETD0613"))  // _HID: Hardware ID
3012                     Name (_CID, Package (0x02)  // _CID: Compatible ID
3013                     {
3014                         EisaId ("ETD0001"), 
3015                         EisaId ("PNP0F13") /* PS/2 Mouse */
3016                     })
3017                     Method (_STA, 0, NotSerialized)  // _STA: Status
3018                     {
3019                         If ((TPDF == 0x08))
3020                         {
3021                             Return (0x0F)
3022                         }
3023 
3024                         Return (Zero)
3025                     }
3026 
3027                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3028                     {
3029                         IRQ (Edge, ActiveHigh, Exclusive, )
3030                             {12}
3031                     })
3032                 }
3033 
3034                 Device (MSS5)
3035                 {
3036                     Name (_HID, EisaId ("ETD0612"))  // _HID: Hardware ID
3037                     Name (_CID, Package (0x02)  // _CID: Compatible ID
3038                     {
3039                         EisaId ("ETD0001"), 
3040                         EisaId ("PNP0F13") /* PS/2 Mouse */
3041                     })
3042                     Method (_STA, 0, NotSerialized)  // _STA: Status
3043                     {
3044                         If ((TPDF == 0x09))
3045                         {
3046                             Return (0x0F)
3047                         }
3048 
3049                         Return (Zero)
3050                     }
3051 
3052                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3053                     {
3054                         IRQ (Edge, ActiveHigh, Exclusive, )
3055                             {12}
3056                     })
3057                 }
3058 
3059                 Device (MSS6)
3060                 {
3061                     Name (_HID, EisaId ("CYS8787"))  // _HID: Hardware ID
3062                     Name (_CID, Package (0x05)  // _CID: Compatible ID
3063                     {
3064                         EisaId ("PNP0F13") /* PS/2 Mouse */, 
3065                         EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */, 
3066                         EisaId ("PNP0F0E"), 
3067                         EisaId ("PNP0F0B"), 
3068                         EisaId ("PNP0F12")
3069                     })
3070                     Method (_STA, 0, NotSerialized)  // _STA: Status
3071                     {
3072                         If ((TPDF == 0x0C))
3073                         {
3074                             Return (0x0F)
3075                         }
3076 
3077                         Return (Zero)
3078                     }
3079 
3080                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3081                     {
3082                         IRQ (Edge, ActiveHigh, Exclusive, )
3083                             {12}
3084                     })
3085                 }
3086 
3087                 Device (MSS2)
3088                 {
3089                     Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _HID: Hardware ID
3090                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
3091                     Method (_STA, 0, NotSerialized)  // _STA: Status
3092                     {
3093                         If ((TPDF == 0xFF))
3094                         {
3095                             Return (0x0F)
3096                         }
3097 
3098                         Return (Zero)
3099                     }
3100 
3101                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3102                     {
3103                         IRQ (Edge, ActiveHigh, Exclusive, )
3104                             {12}
3105                     })
3106                 }
3107             }
3108         }
3109     }
3110 
3111     Mutex (MUTX, 0x00)
3112     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
3113     Field (PRT0, DWordAcc, Lock, Preserve)
3114     {
3115         P80H,   32
3116     }
3117 
3118     Method (P8XH, 3, Serialized)
3119     {
3120         If ((Arg0 == Zero))
3121         {
3122             P80D = ((P80D & 0xFFFFFF00) | Arg1)
3123         }
3124 
3125         If ((Arg0 == One))
3126         {
3127             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
3128         }
3129 
3130         If ((Arg0 == 0x02))
3131         {
3132             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
3133         }
3134 
3135         If ((Arg0 == 0x03))
3136         {
3137             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
3138         }
3139 
3140         If ((Arg0 == 0x04))
3141         {
3142             P80D = ((P80D & Zero) | Arg1)
3143         }
3144 
3145         If ((Arg2 == Zero)) {}
3146         If ((Arg2 == One))
3147         {
3148             P80H = P80D /* \P80D */
3149         }
3150     }
3151 
3152     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
3153     Field (SPRT, ByteAcc, Lock, Preserve)
3154     {
3155         SSMP,   8
3156     }
3157 
3158     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
3159     {
3160         GPIC = Arg0
3161         PICM = Arg0
3162     }
3163 
3164     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
3165     {
3166         P80D = Zero
3167         P8XH (Zero, Arg0, Zero)
3168         SLPS = Arg0
3169         If ((Arg0 == 0x03))
3170         {
3171             P8XH (0x04, 0x53, Zero)
3172             P8XH (0x04, 0x53, One)
3173             If ((DTSE && (TCNT > One)))
3174             {
3175                 TRAP (TRTD, 0x1E)
3176             }
3177 
3178             Local0 = \_SB.PCI0.LPCB.EC0.ADPT
3179             If (Local0)
3180             {
3181                 \_SB.PCI0.LPCB.EC0.UWAK = One
3182             }
3183             Else
3184             {
3185                 \_SB.PCI0.LPCB.EC0.UWAK = Zero
3186             }
3187 
3188             \_SB.PCI0.LPCB.EC0.S3ST = One
3189         }
3190 
3191         If ((Arg0 == 0x04))
3192         {
3193             P8XH (0x04, 0x54, Zero)
3194             P8XH (0x04, 0x54, One)
3195             \_PR.CPU0._PPC = Zero
3196             \_SB.PCI0.LPCB.EC0.S4ST = One
3197         }
3198 
3199         If ((Arg0 == 0x05))
3200         {
3201             P8XH (0x04, 0x55, Zero)
3202             P8XH (0x04, 0x55, One)
3203             \_SB.PCI0.LPCB.EC0.S5ST = One
3204         }
3205 
3206         If ((DBGS == Zero)) {}
3207     }
3208 
3209     Method (B_ON, 0, NotSerialized)
3210     {
3211         GP34 = Zero
3212         If ((WLFG == Zero))
3213         {
3214             GP22 = Zero
3215         }
3216         Else
3217         {
3218             If ((WLFG == One))
3219             {
3220                 GP22 = One
3221             }
3222             Else
3223             {
3224                 If ((WLFG == 0x02))
3225                 {
3226                     GP22 = One
3227                 }
3228                 Else
3229                 {
3230                     GP22 = One
3231                 }
3232             }
3233         }
3234     }
3235 
3236     Method (B_OF, 0, NotSerialized)
3237     {
3238         GP34 = One
3239         If ((WLFG == Zero))
3240         {
3241             GP22 = Zero
3242         }
3243         Else
3244         {
3245             If ((WLFG == One))
3246             {
3247                 GP22 = Zero
3248             }
3249             Else
3250             {
3251                 If ((WLFG == 0x02))
3252                 {
3253                     GP22 = One
3254                 }
3255                 Else
3256                 {
3257                     GP22 = Zero
3258                 }
3259             }
3260         }
3261     }
3262 
3263     Method (_WAK, 1, Serialized)  // _WAK: Wake
3264     {
3265         P80D = Zero
3266         \_SB.PCI0.LPCB.EC0.SODD = One
3267         If (NEXP)
3268         {
3269             If ((OSCC & 0x02))
3270             {
3271                 \_SB.PCI0.NHPG ()
3272             }
3273 
3274             If ((OSCC & 0x04))
3275             {
3276                 \_SB.PCI0.NPME ()
3277             }
3278         }
3279 
3280         If (((\_SB.PCI0.LPCB.EC0.WLEX == One) & (\_SB.PCI0.LPCB.EC0.WLAT == One)))
3281         {
3282             GP55 = One
3283         }
3284         Else
3285         {
3286             GP55 = Zero
3287         }
3288 
3289         Sleep (0x01F4)
3290         If (((\_SB.PCI0.LPCB.EC0.BTEX == One) & (\_SB.PCI0.LPCB.EC0.BTAT == One)))
3291         {
3292             B_ON ()
3293         }
3294         Else
3295         {
3296             B_OF ()
3297         }
3298 
3299         If ((Arg0 == 0x03))
3300         {
3301             P8XH (0x04, 0xE3, Zero)
3302             P8XH (0x04, 0xE3, One)
3303             SSMP = 0x70
3304             If ((Zero == ACTT)) {}
3305             \_SB.PCI0.LPCB.EC0.S3RM = One
3306         }
3307 
3308         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
3309         {
3310             Index (PLVL, Zero) = BL12 /* \BL12 */
3311             Index (PLVL, One) = BL12 /* \BL12 */
3312             If ((DTSE && (TCNT > One)))
3313             {
3314                 TRAP (TRTD, 0x14)
3315             }
3316 
3317             If ((OSYS == 0x07D2))
3318             {
3319                 If ((CFGD & One))
3320                 {
3321                     If ((\_PR.CPU0._PPC > Zero))
3322                     {
3323                         \_PR.CPU0._PPC -= One
3324                         PNOT ()
3325                         \_PR.CPU0._PPC += One
3326                         PNOT ()
3327                     }
3328                     Else
3329                     {
3330                         \_PR.CPU0._PPC += One
3331                         PNOT ()
3332                         \_PR.CPU0._PPC -= One
3333                         PNOT ()
3334                     }
3335                 }
3336             }
3337 
3338             If ((RP1D == Zero))
3339             {
3340                 Notify (\_SB.PCI0.RP01, Zero) // Bus Check
3341             }
3342 
3343             If ((RP2D == Zero))
3344             {
3345                 Notify (\_SB.PCI0.RP02, Zero) // Bus Check
3346             }
3347 
3348             If ((RP3D == Zero))
3349             {
3350                 Notify (\_SB.PCI0.RP03, Zero) // Bus Check
3351             }
3352 
3353             If ((RP4D == Zero))
3354             {
3355                 Notify (\_SB.PCI0.RP04, Zero) // Bus Check
3356             }
3357 
3358             If ((RP5D == Zero))
3359             {
3360                 Notify (\_SB.PCI0.RP05, Zero) // Bus Check
3361             }
3362 
3363             If ((RP6D == Zero))
3364             {
3365                 Notify (\_SB.PCI0.RP06, Zero) // Bus Check
3366             }
3367 
3368             If ((RP7D == Zero))
3369             {
3370                 If ((DSTS == Zero))
3371                 {
3372                     Notify (\_SB.PCI0.RP07, Zero) // Bus Check
3373                 }
3374             }
3375 
3376             If ((RP8D == Zero))
3377             {
3378                 If ((DSTS == Zero))
3379                 {
3380                     Notify (\_SB.PCI0.RP08, Zero) // Bus Check
3381                 }
3382             }
3383         }
3384 
3385         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
3386         {
3387             \_SB.PCI0.XHC.XWAK ()
3388         }
3389 
3390         If ((Arg0 == 0x04))
3391         {
3392             P8XH (0x04, 0xE4, Zero)
3393             P8XH (0x04, 0xE4, One)
3394             \_SB.PCI0.LPCB.EC0.S4RM = One
3395         }
3396 
3397         If ((Arg0 == 0x05))
3398         {
3399             P8XH (0x04, 0xE5, Zero)
3400             P8XH (0x04, 0xE5, One)
3401             \_SB.PCI0.LPCB.EC0.S5RM = One
3402         }
3403 
3404         Return (Package (0x02)
3405         {
3406             Zero, 
3407             Zero
3408         })
3409     }
3410 
3411     Method (GETB, 3, Serialized)
3412     {
3413         Local0 = (Arg0 * 0x08)
3414         Local1 = (Arg1 * 0x08)
3415         CreateField (Arg2, Local0, Local1, TBF3)
3416         Return (TBF3) /* \GETB.TBF3 */
3417     }
3418 
3419     Method (PNOT, 0, Serialized)
3420     {
3421         If ((TCNT > One))
3422         {
3423             If ((PDC0 & 0x08))
3424             {
3425                 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3426                 If ((PDC0 & 0x10))
3427                 {
3428                     Sleep (0x64)
3429                     Notify (\_PR.CPU0, 0x81) // C-State Change
3430                 }
3431             }
3432 
3433             If ((PDC1 & 0x08))
3434             {
3435                 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
3436                 If ((PDC1 & 0x10))
3437                 {
3438                     Sleep (0x64)
3439                     Notify (\_PR.CPU1, 0x81) // C-State Change
3440                 }
3441             }
3442 
3443             If ((PDC2 & 0x08))
3444             {
3445                 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
3446                 If ((PDC2 & 0x10))
3447                 {
3448                     Sleep (0x64)
3449                     Notify (\_PR.CPU2, 0x81) // C-State Change
3450                 }
3451             }
3452 
3453             If ((PDC3 & 0x08))
3454             {
3455                 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
3456                 If ((PDC3 & 0x10))
3457                 {
3458                     Sleep (0x64)
3459                     Notify (\_PR.CPU3, 0x81) // C-State Change
3460                 }
3461             }
3462 
3463             If ((PDC4 & 0x08))
3464             {
3465                 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
3466                 If ((PDC4 & 0x10))
3467                 {
3468                     Sleep (0x64)
3469                     Notify (\_PR.CPU4, 0x81) // C-State Change
3470                 }
3471             }
3472 
3473             If ((PDC5 & 0x08))
3474             {
3475                 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
3476                 If ((PDC5 & 0x10))
3477                 {
3478                     Sleep (0x64)
3479                     Notify (\_PR.CPU5, 0x81) // C-State Change
3480                 }
3481             }
3482 
3483             If ((PDC6 & 0x08))
3484             {
3485                 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
3486                 If ((PDC6 & 0x10))
3487                 {
3488                     Sleep (0x64)
3489                     Notify (\_PR.CPU6, 0x81) // C-State Change
3490                 }
3491             }
3492 
3493             If ((PDC7 & 0x08))
3494             {
3495                 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
3496                 If ((PDC7 & 0x10))
3497                 {
3498                     Sleep (0x64)
3499                     Notify (\_PR.CPU7, 0x81) // C-State Change
3500                 }
3501             }
3502         }
3503         Else
3504         {
3505             Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3506             Sleep (0x64)
3507             Notify (\_PR.CPU0, 0x81) // C-State Change
3508         }
3509     }
3510 
3511     Method (TRAP, 2, Serialized)
3512     {
3513         SMIF = Arg1
3514         If ((Arg0 == TRTP))
3515         {
3516             TRP0 = Zero
3517         }
3518 
3519         If ((Arg0 == TRTD))
3520         {
3521             DTSF = Arg1
3522             TRPD = Zero
3523             Return (DTSF) /* \DTSF */
3524         }
3525 
3526         If ((Arg0 == TRTI))
3527         {
3528             TRPH = Zero
3529         }
3530 
3531         Return (SMIF) /* \SMIF */
3532     }
3533 
3534     Name (DGPU, Ones)
3535     Scope (_SB.PCI0)
3536     {
3537         Method (_INI, 0, NotSerialized)  // _INI: Initialize
3538         {
3539             OSYS = 0x07D0
3540             If (CondRefOf (\_OSI, Local0))
3541             {
3542                 If (_OSI ("Windows 2001"))
3543                 {
3544                     OSYS = 0x07D1
3545                     ^LPCB.EC0.OSTY = Zero
3546                 }
3547 
3548                 If (_OSI ("Windows 2001 SP1"))
3549                 {
3550                     OSYS = 0x07D1
3551                     ^LPCB.EC0.OSTY = Zero
3552                 }
3553 
3554                 If (_OSI ("Windows 2001 SP2"))
3555                 {
3556                     OSYS = 0x07D2
3557                     ^LPCB.EC0.OSTY = Zero
3558                 }
3559 
3560                 If (_OSI ("Windows 2001.1"))
3561                 {
3562                     OSYS = 0x07D3
3563                 }
3564 
3565                 If (_OSI ("Windows 2006"))
3566                 {
3567                     OSYS = 0x07D6
3568                     ^LPCB.EC0.OSTY = One
3569                 }
3570 
3571                 If (_OSI ("Windows 2009"))
3572                 {
3573                     OSYS = 0x07D9
3574                     ^LPCB.EC0.OSTY = 0x03
3575                 }
3576 
3577                 If (_OSI ("Windows 2012"))
3578                 {
3579                     OSYS = 0x07DC
3580                     ^LPCB.EC0.OSTY = 0x04
3581                 }
3582 
3583                 If (_OSI ("Linux"))
3584                 {
3585                     OSYS = 0x03E8
3586                     ^LPCB.EC0.OSTY = 0x02
3587                 }
3588             }
3589 
3590             If ((OSYS != 0x07DC))
3591             {
3592                 Index (PLVL, Zero) = BL12 /* \BL12 */
3593                 Index (PLVL, One) = BL12 /* \BL12 */
3594                 Index (PLVL, 0x02) = BL00 /* \BL00 */
3595                 Index (PLVL, 0x03) = BL01 /* \BL01 */
3596                 Index (PLVL, 0x04) = BL02 /* \BL02 */
3597                 Index (PLVL, 0x05) = BL03 /* \BL03 */
3598                 Index (PLVL, 0x06) = BL04 /* \BL04 */
3599                 Index (PLVL, 0x07) = BL05 /* \BL05 */
3600                 Index (PLVL, 0x08) = BL06 /* \BL06 */
3601                 Index (PLVL, 0x09) = BL07 /* \BL07 */
3602                 Index (PLVL, 0x0A) = BL08 /* \BL08 */
3603                 Index (PLVL, 0x0B) = BL09 /* \BL09 */
3604                 Index (PLVL, 0x0C) = BL10 /* \BL10 */
3605                 Index (PLVL, 0x0D) = BL11 /* \BL11 */
3606                 Index (PLVL, 0x0E) = BL12 /* \BL12 */
3607                 Index (PLVL, 0x0F) = BL13 /* \BL13 */
3608                 Index (PLVL, 0x10) = BL14 /* \BL14 */
3609                 Index (PLVL, 0x11) = BL15 /* \BL15 */
3610                 Index (^LPCB.EC0.VPC0.TBSL, Zero) = BL00 /* \BL00 */
3611                 Index (^LPCB.EC0.VPC0.TBSL, One) = BL01 /* \BL01 */
3612                 Index (^LPCB.EC0.VPC0.TBSL, 0x02) = BL02 /* \BL02 */
3613                 Index (^LPCB.EC0.VPC0.TBSL, 0x03) = BL03 /* \BL03 */
3614                 Index (^LPCB.EC0.VPC0.TBSL, 0x04) = BL04 /* \BL04 */
3615                 Index (^LPCB.EC0.VPC0.TBSL, 0x05) = BL05 /* \BL05 */
3616                 Index (^LPCB.EC0.VPC0.TBSL, 0x06) = BL06 /* \BL06 */
3617                 Index (^LPCB.EC0.VPC0.TBSL, 0x07) = BL07 /* \BL07 */
3618                 Index (^LPCB.EC0.VPC0.TBSL, 0x08) = BL08 /* \BL08 */
3619                 Index (^LPCB.EC0.VPC0.TBSL, 0x09) = BL09 /* \BL09 */
3620                 Index (^LPCB.EC0.VPC0.TBSL, 0x0A) = BL10 /* \BL10 */
3621                 Index (^LPCB.EC0.VPC0.TBSL, 0x0B) = BL11 /* \BL11 */
3622                 Index (^LPCB.EC0.VPC0.TBSL, 0x0C) = BL12 /* \BL12 */
3623                 Index (^LPCB.EC0.VPC0.TBSL, 0x0D) = BL13 /* \BL13 */
3624                 Index (^LPCB.EC0.VPC0.TBSL, 0x0E) = BL14 /* \BL14 */
3625                 Index (^LPCB.EC0.VPC0.TBSL, 0x0F) = BL15 /* \BL15 */
3626             }
3627             Else
3628             {
3629                 Index (PLV2, Zero) = BL37 /* \BL37 */
3630                 Index (PLV2, One) = BL23 /* \BL23 */
3631             }
3632 
3633             If (((^PEG0.PEGP.GID2 == 0x0FD1) || (^PEG0.PEGP.GID2 == 0x0FD4)))
3634             {
3635                 ^LPCB.EC0.VPC0.GPS1 = One
3636             }
3637 
3638             If (((^PEG0.PEGP.GID2 == 0x1140) && (^PEG0.PEGP.GID3 == 0x3902)))
3639             {
3640                 ^LPCB.EC0.VPC0.GPS1 = One
3641             }
3642 
3643             DGPU = ^PEG0.PEGP.GID2 /* \_SB_.PCI0.PEG0.PEGP.GID2 */
3644         }
3645 
3646         Method (NHPG, 0, Serialized)
3647         {
3648             ^RP01.HPEX = Zero
3649             ^RP02.HPEX = Zero
3650             ^RP03.HPEX = Zero
3651             ^RP04.HPEX = Zero
3652             ^RP05.HPEX = Zero
3653             ^RP07.HPEX = Zero
3654             ^RP08.HPEX = Zero
3655             ^RP01.HPSX = One
3656             ^RP02.HPSX = One
3657             ^RP03.HPSX = One
3658             ^RP04.HPSX = One
3659             ^RP05.HPSX = One
3660             ^RP07.HPSX = One
3661             ^RP08.HPSX = One
3662         }
3663 
3664         Method (NPME, 0, Serialized)
3665         {
3666             ^RP01.PMEX = Zero
3667             ^RP02.PMEX = Zero
3668             ^RP03.PMEX = Zero
3669             ^RP04.PMEX = Zero
3670             ^RP05.PMEX = Zero
3671             ^RP06.PMEX = Zero
3672             ^RP07.PMEX = Zero
3673             ^RP08.PMEX = Zero
3674             ^RP01.PMSX = One
3675             ^RP02.PMSX = One
3676             ^RP03.PMSX = One
3677             ^RP04.PMSX = One
3678             ^RP05.PMSX = One
3679             ^RP06.PMSX = One
3680             ^RP07.PMSX = One
3681             ^RP08.PMSX = One
3682         }
3683     }
3684 
3685     Scope (\)
3686     {
3687         Name (PICM, Zero)
3688     }
3689 
3690     Scope (_PR)
3691     {
3692         Processor (CPU0, 0x01, 0x00000410, 0x06) {}
3693         Processor (CPU1, 0x02, 0x00000410, 0x06) {}
3694         Processor (CPU2, 0x03, 0x00000410, 0x06) {}
3695         Processor (CPU3, 0x04, 0x00000410, 0x06) {}
3696         Processor (CPU4, 0x05, 0x00000410, 0x06) {}
3697         Processor (CPU5, 0x06, 0x00000410, 0x06) {}
3698         Processor (CPU6, 0x07, 0x00000410, 0x06) {}
3699         Processor (CPU7, 0x08, 0x00000410, 0x06) {}
3700     }
3701 
3702     Scope (_TZ)
3703     {
3704         Name (ETMD, One)
3705         Name (THLD, 0x78)
3706         ThermalZone (TZ00)
3707         {
3708             Name (PTMP, 0x0BB8)
3709             Method (_SCP, 1, Serialized)  // _SCP: Set Cooling Policy
3710             {
3711                 CTYP = Arg0
3712             }
3713 
3714             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
3715             {
3716                 Return (0x0FA2)
3717             }
3718 
3719             Method (_TMP, 0, Serialized)  // _TMP: Temperature
3720             {
3721                 If (\_SB.PCI0.LPCB.ECOK ())
3722                 {
3723                     \_SB.PCI0.LPCB.EC0.ENIB = 0x8400
3724                     Local0 = \_SB.PCI0.LPCB.EC0.ENDD
3725                 }
3726                 Else
3727                 {
3728                     Local0 = PTMP /* \_TZ_.TZ00.PTMP */
3729                 }
3730 
3731                 If ((Local0 >= THLD))
3732                 {
3733                     Return (PTMP) /* \_TZ_.TZ00.PTMP */
3734                 }
3735                 Else
3736                 {
3737                     Local0 = (0x0AAC + (Local0 * 0x0A))
3738                     PTMP = Local0
3739                     Return (Local0)
3740                 }
3741             }
3742 
3743             Method (_HOT, 0, NotSerialized)  // _HOT: Hot Temperature
3744             {
3745                 Return (0x0FA2)
3746             }
3747 
3748             Method (_PSL, 0, Serialized)  // _PSL: Passive List
3749             {
3750                 If ((TCNT == 0x08))
3751                 {
3752                     Return (Package (0x08)
3753                     {
3754                         \_PR.CPU0, 
3755                         \_PR.CPU1, 
3756                         \_PR.CPU2, 
3757                         \_PR.CPU3, 
3758                         \_PR.CPU4, 
3759                         \_PR.CPU5, 
3760                         \_PR.CPU6, 
3761                         \_PR.CPU7
3762                     })
3763                 }
3764 
3765                 If ((TCNT == 0x04))
3766                 {
3767                     Return (Package (0x04)
3768                     {
3769                         \_PR.CPU0, 
3770                         \_PR.CPU1, 
3771                         \_PR.CPU2, 
3772                         \_PR.CPU3
3773                     })
3774                 }
3775 
3776                 If ((TCNT == 0x02))
3777                 {
3778                     Return (Package (0x02)
3779                     {
3780                         \_PR.CPU0, 
3781                         \_PR.CPU1
3782                     })
3783                 }
3784 
3785                 Return (Package (0x01)
3786                 {
3787                     \_PR.CPU0
3788                 })
3789             }
3790 
3791             Method (_PSV, 0, Serialized)  // _PSV: Passive Temperature
3792             {
3793                 Return (0x0AAC)
3794             }
3795 
3796             Name (_TC1, Zero)  // _TC1: Thermal Constant 1
3797             Name (_TC2, Zero)  // _TC2: Thermal Constant 2
3798             Name (_TSP, Zero)  // _TSP: Thermal Sampling Period
3799         }
3800     }
3801 
3802     Scope (_SB.PCI0)
3803     {
3804         Device (PDRC)
3805         {
3806             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3807             Name (_UID, One)  // _UID: Unique ID
3808             Name (BUF0, ResourceTemplate ()
3809             {
3810                 Memory32Fixed (ReadWrite,
3811                     0x00000000,         // Address Base
3812                     0x00004000,         // Address Length
3813                     _Y11)
3814                 Memory32Fixed (ReadWrite,
3815                     0x00000000,         // Address Base
3816                     0x00008000,         // Address Length
3817                     _Y13)
3818                 Memory32Fixed (ReadWrite,
3819                     0x00000000,         // Address Base
3820                     0x00001000,         // Address Length
3821                     _Y14)
3822                 Memory32Fixed (ReadWrite,
3823                     0x00000000,         // Address Base
3824                     0x00001000,         // Address Length
3825                     _Y15)
3826                 Memory32Fixed (ReadWrite,
3827                     0x00000000,         // Address Base
3828                     0x00000000,         // Address Length
3829                     _Y16)
3830                 Memory32Fixed (ReadWrite,
3831                     0xFED20000,         // Address Base
3832                     0x00020000,         // Address Length
3833                     )
3834                 Memory32Fixed (ReadOnly,
3835                     0xFED90000,         // Address Base
3836                     0x00004000,         // Address Length
3837                     )
3838                 Memory32Fixed (ReadWrite,
3839                     0xFF000000,         // Address Base
3840                     0x00001000,         // Address Length
3841                     )
3842                 Memory32Fixed (ReadOnly,
3843                     0xFF010000,         // Address Base
3844                     0x00FF0000,         // Address Length
3845                     )
3846                 Memory32Fixed (ReadOnly,
3847                     0xFEE00000,         // Address Base
3848                     0x00100000,         // Address Length
3849                     )
3850                 Memory32Fixed (ReadWrite,
3851                     0x00000000,         // Address Base
3852                     0x00001000,         // Address Length
3853                     _Y12)
3854             })
3855             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3856             {
3857                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, RBR0)  // _BAS: Base Address
3858                 RBR0 = (^^LPCB.RCBA << 0x0E)
3859                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, TBR0)  // _BAS: Base Address
3860                 TBR0 = TBAB /* \TBAB */
3861                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._LEN, TBLN)  // _LEN: Length
3862                 If ((TBAB == Zero))
3863                 {
3864                     TBLN = Zero
3865                 }
3866 
3867                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0)  // _BAS: Base Address
3868                 MBR0 = (MHBR << 0x0F)
3869                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0)  // _BAS: Base Address
3870                 DBR0 = (DIBR << 0x0C)
3871                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0)  // _BAS: Base Address
3872                 EBR0 = (EPBR << 0x0C)
3873                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0)  // _BAS: Base Address
3874                 XBR0 = (PXBR << 0x1A)
3875                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0)  // _LEN: Length
3876                 XSZ0 = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
3877                 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
3878             }
3879         }
3880     }
3881 
3882     Method (BRTN, 1, Serialized)
3883     {
3884         If (((DID1 & 0x0F00) == 0x0400))
3885         {
3886             Notify (\_SB.PCI0.GFX0.DD01, Arg0)
3887         }
3888 
3889         If (((DID2 & 0x0F00) == 0x0400))
3890         {
3891             Notify (\_SB.PCI0.GFX0.DD02, Arg0)
3892         }
3893 
3894         If (((DID3 & 0x0F00) == 0x0400))
3895         {
3896             Notify (\_SB.PCI0.GFX0.DD03, Arg0)
3897         }
3898 
3899         If (((DID4 & 0x0F00) == 0x0400))
3900         {
3901             Notify (\_SB.PCI0.GFX0.DD04, Arg0)
3902         }
3903 
3904         If (((DID5 & 0x0F00) == 0x0400))
3905         {
3906             Notify (\_SB.PCI0.GFX0.DD05, Arg0)
3907         }
3908 
3909         If (((DID6 & 0x0F00) == 0x0400))
3910         {
3911             Notify (\_SB.PCI0.GFX0.DD06, Arg0)
3912         }
3913 
3914         If (((DID7 & 0x0F00) == 0x0400))
3915         {
3916             Notify (\_SB.PCI0.GFX0.DD07, Arg0)
3917         }
3918 
3919         If (((DID8 & 0x0F00) == 0x0400))
3920         {
3921             Notify (\_SB.PCI0.GFX0.DD08, Arg0)
3922         }
3923     }
3924 
3925     Scope (_GPE)
3926     {
3927         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
3928         {
3929             P8XH (0x04, 0x0B, Zero)
3930             P8XH (0x04, 0x0B, One)
3931             Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake
3932         }
3933 
3934         Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
3935         {
3936             P8XH (0x04, 0x09, Zero)
3937             P8XH (0x04, 0x09, One)
3938             If ((RP1D == Zero))
3939             {
3940                 \_SB.PCI0.RP01.HPME ()
3941                 Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
3942             }
3943 
3944             If ((RP2D == Zero))
3945             {
3946                 \_SB.PCI0.RP02.HPME ()
3947                 Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
3948             }
3949 
3950             If ((RP4D == Zero))
3951             {
3952                 \_SB.PCI0.RP04.HPME ()
3953                 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
3954             }
3955 
3956             Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake
3957             Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake
3958             Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake
3959         }
3960 
3961         Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
3962         {
3963             P8XH (0x04, 0x0D, Zero)
3964             P8XH (0x04, 0x0D, One)
3965             Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
3966             Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
3967             Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
3968             If ((\_SB.PCI0.XHC.PMES && \_SB.PCI0.XHC.PMES))
3969             {
3970                 \_SB.PCI0.XHC.PMES = One
3971             }
3972         }
3973 
3974         Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
3975         {
3976             P8XH (0x04, One, Zero)
3977             P8XH (0x04, One, One)
3978             L01C += One
3979             If (((RP1D == Zero) && \_SB.PCI0.RP01.HPSX))
3980             {
3981                 P8XH (One, One, One)
3982                 P8XH (Zero, L01C, One)
3983                 Sleep (0x64)
3984                 If (\_SB.PCI0.RP01.PDCX)
3985                 {
3986                     \_SB.PCI0.RP01.PDCX = One
3987                     \_SB.PCI0.RP01.HPSX = One
3988                     If (!\_SB.PCI0.RP01.PDSX)
3989                     {
3990                         \_SB.PCI0.RP01.L0SE = Zero
3991                     }
3992 
3993                     Notify (\_SB.PCI0.RP01, Zero) // Bus Check
3994                 }
3995                 Else
3996                 {
3997                     \_SB.PCI0.RP01.HPSX = One
3998                 }
3999             }
4000 
4001             If (((RP2D == Zero) && \_SB.PCI0.RP02.HPSX))
4002             {
4003                 P8XH (One, 0x02, One)
4004                 P8XH (Zero, L01C, One)
4005                 Sleep (0x64)
4006                 If (\_SB.PCI0.RP02.PDCX)
4007                 {
4008                     \_SB.PCI0.RP02.PDCX = One
4009                     \_SB.PCI0.RP02.HPSX = One
4010                     If (!\_SB.PCI0.RP02.PDSX)
4011                     {
4012                         \_SB.PCI0.RP02.L0SE = Zero
4013                     }
4014 
4015                     Notify (\_SB.PCI0.RP02, Zero) // Bus Check
4016                 }
4017                 Else
4018                 {
4019                     \_SB.PCI0.RP02.HPSX = One
4020                 }
4021             }
4022 
4023             If (((RP3D == Zero) && \_SB.PCI0.RP03.HPSX))
4024             {
4025                 P8XH (One, 0x03, One)
4026                 P8XH (Zero, L01C, One)
4027                 Sleep (0x64)
4028                 If (\_SB.PCI0.RP03.PDCX)
4029                 {
4030                     \_SB.PCI0.RP03.PDCX = One
4031                     \_SB.PCI0.RP03.HPSX = One
4032                     If (!\_SB.PCI0.RP03.PDSX)
4033                     {
4034                         \_SB.PCI0.RP03.L0SE = Zero
4035                     }
4036 
4037                     Notify (\_SB.PCI0.RP03, Zero) // Bus Check
4038                 }
4039                 Else
4040                 {
4041                     \_SB.PCI0.RP03.HPSX = One
4042                 }
4043             }
4044 
4045             If (((RP4D == Zero) && \_SB.PCI0.RP04.HPSX))
4046             {
4047                 P8XH (One, 0x04, One)
4048                 P8XH (Zero, L01C, One)
4049                 Sleep (0x64)
4050                 If (\_SB.PCI0.RP04.PDCX)
4051                 {
4052                     \_SB.PCI0.RP04.PDCX = One
4053                     \_SB.PCI0.RP04.HPSX = One
4054                     If (!\_SB.PCI0.RP04.PDSX)
4055                     {
4056                         \_SB.PCI0.RP04.L0SE = Zero
4057                     }
4058 
4059                     Notify (\_SB.PCI0.RP04, Zero) // Bus Check
4060                 }
4061                 Else
4062                 {
4063                     \_SB.PCI0.RP04.HPSX = One
4064                 }
4065             }
4066         }
4067 
4068         Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4069         {
4070             P8XH (0x04, 0x02, Zero)
4071             P8XH (0x04, 0x02, One)
4072             GPEC = Zero
4073             Notify (\_TZ.TZ00, 0x80) // Thermal Status Change
4074         }
4075 
4076         Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4077         {
4078             P8XH (0x04, 0xDD, Zero)
4079             P8XH (0x04, 0xDD, One)
4080             If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
4081             {
4082                 P8XH (0x04, 0xDE, One)
4083                 \_SB.PCI0.GFX0.GSCI ()
4084                 P8XH (0x04, 0xDF, One)
4085             }
4086 
4087             P8XH (0x04, 0xDC, Zero)
4088             P8XH (0x04, 0xDC, One)
4089         }
4090 
4091         Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4092         {
4093             P8XH (0x04, 0x07, Zero)
4094             P8XH (0x04, 0x07, One)
4095             \_SB.PCI0.SBUS.HSTS = 0x20
4096         }
4097 
4098         Method (_L1F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
4099         {
4100             P8XH (0x04, 0x1F, Zero)
4101             P8XH (0x04, 0x1F, One)
4102             If (GP15)
4103             {
4104                 GIV1 |= 0x80
4105             }
4106             Else
4107             {
4108                 GIV1 &= 0x7F
4109             }
4110 
4111             If (IGDS)
4112             {
4113                 If (\_SB.PCI0.GFX0.SCIP ())
4114                 {
4115                     \_SB.PCI0.GFX0.GLID ((GIV1 && 0x80))
4116                 }
4117                 Else
4118                 {
4119                 }
4120             }
4121 
4122             Notify (\_SB.LID0, 0x80) // Status Change
4123         }
4124     }
4125 
4126     Scope (\)
4127     {
4128         OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
4129         Field (IO_T, ByteAcc, NoLock, Preserve)
4130         {
4131             TRPI,   16, 
4132             Offset (0x04), 
4133             Offset (0x06), 
4134             Offset (0x08), 
4135             TRP0,   8, 
4136             Offset (0x0A), 
4137             Offset (0x0B), 
4138             Offset (0x0C), 
4139             Offset (0x0D), 
4140             Offset (0x0E), 
4141             Offset (0x0F), 
4142             Offset (0x10)
4143         }
4144 
4145         OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
4146         Field (IO_D, ByteAcc, NoLock, Preserve)
4147         {
4148             TRPD,   8
4149         }
4150 
4151         OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
4152         Field (IO_H, ByteAcc, NoLock, Preserve)
4153         {
4154             TRPH,   8
4155         }
4156 
4157         OperationRegion (PMIO, SystemIO, PMBS, 0x80)
4158         Field (PMIO, ByteAcc, NoLock, Preserve)
4159         {
4160                 ,   14, 
4161             PEWS,   1, 
4162             Offset (0x28), 
4163             Offset (0x2A), 
4164                 ,   3, 
4165             GPE3,   1, 
4166             Offset (0x3C), 
4167             PMEN,   1, 
4168             UPRW,   1, 
4169             Offset (0x42), 
4170                 ,   1, 
4171             GPEC,   1
4172         }
4173 
4174         Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
4175         {
4176             Offset (0x20), 
4177             Offset (0x22), 
4178                 ,   3, 
4179             GPS3,   1, 
4180             Offset (0x64), 
4181                 ,   9, 
4182             SCIS,   1, 
4183             Offset (0x66)
4184         }
4185 
4186         OperationRegion (GPIO, SystemIO, GPBS, 0x64)
4187         Field (GPIO, ByteAcc, NoLock, Preserve)
4188         {
4189             GU00,   8, 
4190             GU01,   8, 
4191             GU02,   8, 
4192             GU03,   8, 
4193                 ,   3, 
4194             GSO3,   1, 
4195             Offset (0x05), 
4196             GIO1,   8, 
4197             GIO2,   8, 
4198             GIO3,   8, 
4199             Offset (0x0C), 
4200             GL00,   8, 
4201                 ,   7, 
4202             GP15,   1, 
4203             GL02,   6, 
4204             GP22,   1, 
4205             Offset (0x0F), 
4206             GP24,   1, 
4207                 ,   2, 
4208             GP27,   1, 
4209             GP28,   1, 
4210             Offset (0x10), 
4211             Offset (0x18), 
4212             GB00,   8, 
4213             GB01,   8, 
4214             GB02,   8, 
4215             GB03,   8, 
4216             Offset (0x2C), 
4217                 ,   3, 
4218             GV03,   1, 
4219             Offset (0x2D), 
4220             GIV1,   8, 
4221             GIV2,   8, 
4222             GIV3,   8, 
4223             GU04,   8, 
4224             GU05,   8, 
4225             GU06,   8, 
4226             GU07,   8, 
4227             GIO4,   8, 
4228             GIO5,   8, 
4229             GIO6,   8, 
4230             GIO7,   8, 
4231                 ,   2, 
4232             GP34,   1, 
4233                 ,   1, 
4234             GP36,   1, 
4235                 ,   1, 
4236             GP38,   1, 
4237             Offset (0x39), 
4238             GL05,   8, 
4239                 ,   2, 
4240             GP50,   1, 
4241                 ,   1, 
4242             GP52,   1, 
4243                 ,   1, 
4244             GP54,   1, 
4245             GP55,   1, 
4246             GL07,   8, 
4247             Offset (0x40), 
4248             GU08,   8, 
4249             GU09,   8, 
4250             GU0A,   8, 
4251             GU0B,   8, 
4252             GIO8,   8, 
4253             GIO9,   8, 
4254             GIOA,   8, 
4255             GIOB,   8, 
4256                 ,   3, 
4257             GP67,   1, 
4258             GP68,   1, 
4259                 ,   1, 
4260             GP70,   1, 
4261             Offset (0x49), 
4262             GL09,   8, 
4263             GL0A,   8, 
4264             GL0B,   8
4265         }
4266 
4267         OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
4268         Field (RCRB, DWordAcc, Lock, Preserve)
4269         {
4270             Offset (0x1000), 
4271             Offset (0x3000), 
4272             Offset (0x3404), 
4273             HPAS,   2, 
4274                 ,   5, 
4275             HPAE,   1, 
4276             Offset (0x3418), 
4277                 ,   1, 
4278                 ,   1, 
4279             SATD,   1, 
4280             SMBD,   1, 
4281             HDAD,   1, 
4282             Offset (0x341A), 
4283             RP1D,   1, 
4284             RP2D,   1, 
4285             RP3D,   1, 
4286             RP4D,   1, 
4287             RP5D,   1, 
4288             RP6D,   1, 
4289             RP7D,   1, 
4290             RP8D,   1, 
4291             Offset (0x359C), 
4292             UP0D,   1, 
4293             UP1D,   1, 
4294             UP2D,   1, 
4295             UP3D,   1, 
4296             UP4D,   1, 
4297             UP5D,   1, 
4298             UP6D,   1, 
4299             UP7D,   1, 
4300             UP8D,   1, 
4301             UP9D,   1, 
4302             UPAD,   1, 
4303             UPBD,   1, 
4304             UPCD,   1, 
4305             UPDD,   1, 
4306                 ,   1, 
4307             Offset (0x359E), 
4308             Offset (0x35B0), 
4309             RMW1,   4, 
4310             RMW2,   4, 
4311             REW1,   1, 
4312             REW2,   1, 
4313             Offset (0x35B4)
4314         }
4315 
4316         Method (GPI0, 4, NotSerialized)
4317         {
4318             If (((Arg0 | Arg1) == Zero))
4319             {
4320                 Return (Ones)
4321             }
4322             Else
4323             {
4324                 If (((Arg0 == Zero) & (Arg1 == One)))
4325                 {
4326                     Return (0x0384)
4327                 }
4328             }
4329 
4330             Return ((0x1E * (0x09 - (Arg2 + Arg3))))
4331         }
4332 
4333         Method (GDMA, 2, NotSerialized)
4334         {
4335             If ((Arg0 == One))
4336             {
4337                 If ((Arg1 == One))
4338                 {
4339                     Return (0x0F)
4340                 }
4341             }
4342 
4343             Return (Ones)
4344         }
4345 
4346         Method (SFLG, 5, NotSerialized)
4347         {
4348             Local0 = Zero
4349             Local0 |= Arg1
4350             Local0 |= (Arg0 << One)
4351             Local0 |= (Arg2 << 0x03)
4352             Local0 |= (Arg3 << 0x02)
4353             Local0 |= (Arg4 << 0x04)
4354             Return (Local0)
4355         }
4356 
4357         Method (SPIO, 3, NotSerialized)
4358         {
4359             Name (PBUF, Buffer (0x05)
4360             {
4361                  0x00, 0x00, 0x00, 0x00, 0x00                     /* ..... */
4362             })
4363             CreateByteField (PBUF, Zero, RCT)
4364             CreateByteField (PBUF, One, ISP)
4365             CreateByteField (PBUF, 0x02, FAST)
4366             CreateByteField (PBUF, 0x03, DMAE)
4367             CreateByteField (PBUF, 0x04, PIOT)
4368             If (((Arg0 == Zero) || (Arg0 == Ones)))
4369             {
4370                 Return (PBUF) /* \SPIO.PBUF */
4371             }
4372 
4373             If ((Arg0 > 0xF0))
4374             {
4375                 DMAE = One
4376                 PIOT = Zero
4377             }
4378             Else
4379             {
4380                 FAST = One
4381                 If ((Arg1 & 0x02))
4382                 {
4383                     If (((Arg0 == 0x78) & (Arg2 & 0x02)))
4384                     {
4385                         RCT = 0x03
4386                         ISP = 0x02
4387                         PIOT = 0x04
4388                         Return (PBUF) /* \SPIO.PBUF */
4389                     }
4390 
4391                     If (((Arg0 <= 0xB4) & (Arg2 & One)))
4392                     {
4393                         RCT = One
4394                         ISP = 0x02
4395                         PIOT = 0x03
4396                         Return (PBUF) /* \SPIO.PBUF */
4397                     }
4398                     Else
4399                     {
4400                         RCT = Zero
4401                         ISP = One
4402                         PIOT = 0x02
4403                     }
4404                 }
4405             }
4406 
4407             Return (PBUF) /* \SPIO.PBUF */
4408         }
4409 
4410         Method (SDMA, 3, NotSerialized)
4411         {
4412             Name (PBUF, Buffer (0x05)
4413             {
4414                  0x00, 0x00, 0x00, 0x00                           /* .... */
4415             })
4416             CreateByteField (PBUF, Zero, PCT)
4417             CreateByteField (PBUF, One, PCB)
4418             CreateByteField (PBUF, 0x02, UDMT)
4419             CreateByteField (PBUF, 0x03, UDME)
4420             CreateByteField (PBUF, 0x04, DMAT)
4421             If (((Arg0 == Zero) || (Arg0 == Ones)))
4422             {
4423                 Return (PBUF) /* \SDMA.PBUF */
4424             }
4425 
4426             If ((Arg0 <= 0x78))
4427             {
4428                 If ((Arg1 & 0x04))
4429                 {
4430                     UDME = One
4431                     If (((Arg0 <= 0x0F) & (Arg2 & 0x40)))
4432                     {
4433                         UDMT = One
4434                         PCB = One
4435                         PCT = One
4436                         DMAT = 0x06
4437                         Return (PBUF) /* \SDMA.PBUF */
4438                     }
4439 
4440                     If (((Arg0 <= 0x14) & (Arg2 & 0x20)))
4441                     {
4442                         UDMT = One
4443                         PCB = One
4444                         PCT = One
4445                         DMAT = 0x05
4446                         Return (PBUF) /* \SDMA.PBUF */
4447                     }
4448 
4449                     If (((Arg0 <= 0x1E) & (Arg2 & 0x10)))
4450                     {
4451                         PCB = One
4452                         PCT = 0x02
4453                         DMAT = 0x04
4454                         Return (PBUF) /* \SDMA.PBUF */
4455                     }
4456 
4457                     If (((Arg0 <= 0x2D) & (Arg2 & 0x08)))
4458                     {
4459                         PCB = One
4460                         PCT = One
4461                         DMAT = 0x03
4462                         Return (PBUF) /* \SDMA.PBUF */
4463                     }
4464 
4465                     If (((Arg0 <= 0x3C) & (Arg2 & 0x04)))
4466                     {
4467                         PCT = 0x02
4468                         DMAT = 0x02
4469                         Return (PBUF) /* \SDMA.PBUF */
4470                     }
4471 
4472                     If (((Arg0 <= 0x5A) & (Arg2 & 0x02)))
4473                     {
4474                         PCT = One
4475                         DMAT = One
4476                         Return (PBUF) /* \SDMA.PBUF */
4477                     }
4478 
4479                     If (((Arg0 <= 0x78) & (Arg2 & One)))
4480                     {
4481                         DMAT = Zero
4482                     }
4483                 }
4484             }
4485 
4486             Return (PBUF) /* \SDMA.PBUF */
4487         }
4488 
4489         Method (SETT, 3, Serialized)
4490         {
4491             If ((Arg1 & 0x02))
4492             {
4493                 If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
4494                 {
4495                     Return (0x0B)
4496                 }
4497 
4498                 If (((Arg0 <= 0xB4) && (Arg2 & One)))
4499                 {
4500                     Return (0x09)
4501                 }
4502             }
4503 
4504             Return (0x04)
4505         }
4506     }
4507 
4508     Scope (_SB.PCI0)
4509     {
4510         Device (EHC1)
4511         {
4512             Name (_ADR, 0x001D0000)  // _ADR: Address
4513             OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
4514             Field (PWKE, DWordAcc, NoLock, Preserve)
4515             {
4516                     ,   1, 
4517                 PWUC,   8
4518             }
4519 
4520             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
4521             {
4522                 If (Arg0)
4523                 {
4524                     If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ()))
4525                     {
4526                         RMW2 = Zero
4527                         PWUC = Ones
4528                     }
4529                     Else
4530                     {
4531                         RMW2 = 0x0F
4532                         PWUC = Zero
4533                     }
4534                 }
4535                 Else
4536                 {
4537                     RMW2 = 0x0F
4538                     PWUC = Zero
4539                 }
4540             }
4541 
4542             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
4543             {
4544                 Return (0x02)
4545             }
4546 
4547             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
4548             {
4549                 Return (0x02)
4550             }
4551 
4552             Device (HUBN)
4553             {
4554                 Name (_ADR, Zero)  // _ADR: Address
4555                 Device (PR01)
4556                 {
4557                     Name (_ADR, One)  // _ADR: Address
4558                     Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4559                     {
4560                         0xFF, 
4561                         Zero, 
4562                         Zero, 
4563                         Zero
4564                     })
4565                     Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4566                     {
4567                         ToPLD (
4568                             PLD_Revision       = 0x1,
4569                             PLD_IgnoreColor    = 0x1,
4570                             PLD_Red            = 0x0,
4571                             PLD_Green          = 0x0,
4572                             PLD_Blue           = 0x0,
4573                             PLD_Width          = 0x0,
4574                             PLD_Height         = 0x0,
4575                             PLD_UserVisible    = 0x0,
4576                             PLD_Dock           = 0x0,
4577                             PLD_Lid            = 0x0,
4578                             PLD_Panel          = "UNKNOWN",
4579                             PLD_VerticalPosition = "UPPER",
4580                             PLD_HorizontalPosition = "LEFT",
4581                             PLD_Shape          = "UNKNOWN",
4582                             PLD_GroupOrientation = 0x0,
4583                             PLD_GroupToken     = 0x0,
4584                             PLD_GroupPosition  = 0x0,
4585                             PLD_Bay            = 0x0,
4586                             PLD_Ejectable      = 0x0,
4587                             PLD_EjectRequired  = 0x0,
4588                             PLD_CabinetNumber  = 0x0,
4589                             PLD_CardCageNumber = 0x0,
4590                             PLD_Reference      = 0x0,
4591                             PLD_Rotation       = 0x0,
4592                             PLD_Order          = 0x0,
4593                             PLD_VerticalOffset = 0x0,
4594                             PLD_HorizontalOffset = 0x0)
4595 
4596                     })
4597                     Device (PR11)
4598                     {
4599                         Name (_ADR, One)  // _ADR: Address
4600                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4601                         {
4602                             Zero, 
4603                             0xFF, 
4604                             Zero, 
4605                             Zero
4606                         })
4607                     }
4608 
4609                     Device (PR12)
4610                     {
4611                         Name (_ADR, 0x02)  // _ADR: Address
4612                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4613                         {
4614                             0xFF, 
4615                             0xFF, 
4616                             Zero, 
4617                             Zero
4618                         })
4619                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4620                         {
4621                             ToPLD (
4622                                 PLD_Revision       = 0x1,
4623                                 PLD_IgnoreColor    = 0x1,
4624                                 PLD_Red            = 0x0,
4625                                 PLD_Green          = 0x0,
4626                                 PLD_Blue           = 0x0,
4627                                 PLD_Width          = 0x0,
4628                                 PLD_Height         = 0x0,
4629                                 PLD_UserVisible    = 0x1,
4630                                 PLD_Dock           = 0x0,
4631                                 PLD_Lid            = 0x0,
4632                                 PLD_Panel          = "UNKNOWN",
4633                                 PLD_VerticalPosition = "LOWER",
4634                                 PLD_HorizontalPosition = "CENTER",
4635                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
4636                                 PLD_GroupOrientation = 0x0,
4637                                 PLD_GroupToken     = 0x0,
4638                                 PLD_GroupPosition  = 0x0,
4639                                 PLD_Bay            = 0x0,
4640                                 PLD_Ejectable      = 0x0,
4641                                 PLD_EjectRequired  = 0x0,
4642                                 PLD_CabinetNumber  = 0x0,
4643                                 PLD_CardCageNumber = 0x0,
4644                                 PLD_Reference      = 0x0,
4645                                 PLD_Rotation       = 0x0,
4646                                 PLD_Order          = 0x0,
4647                                 PLD_VerticalOffset = 0x0,
4648                                 PLD_HorizontalOffset = 0x0)
4649 
4650                         })
4651                     }
4652 
4653                     Device (PR13)
4654                     {
4655                         Name (_ADR, 0x03)  // _ADR: Address
4656                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4657                         {
4658                             0xFF, 
4659                             0xFF, 
4660                             Zero, 
4661                             Zero
4662                         })
4663                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4664                         {
4665                             ToPLD (
4666                                 PLD_Revision       = 0x1,
4667                                 PLD_IgnoreColor    = 0x1,
4668                                 PLD_Red            = 0x0,
4669                                 PLD_Green          = 0x0,
4670                                 PLD_Blue           = 0x0,
4671                                 PLD_Width          = 0x0,
4672                                 PLD_Height         = 0x0,
4673                                 PLD_UserVisible    = 0x1,
4674                                 PLD_Dock           = 0x0,
4675                                 PLD_Lid            = 0x0,
4676                                 PLD_Panel          = "UNKNOWN",
4677                                 PLD_VerticalPosition = "LOWER",
4678                                 PLD_HorizontalPosition = "CENTER",
4679                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
4680                                 PLD_GroupOrientation = 0x0,
4681                                 PLD_GroupToken     = 0x0,
4682                                 PLD_GroupPosition  = 0x0,
4683                                 PLD_Bay            = 0x0,
4684                                 PLD_Ejectable      = 0x0,
4685                                 PLD_EjectRequired  = 0x0,
4686                                 PLD_CabinetNumber  = 0x0,
4687                                 PLD_CardCageNumber = 0x0,
4688                                 PLD_Reference      = 0x0,
4689                                 PLD_Rotation       = 0x0,
4690                                 PLD_Order          = 0x0,
4691                                 PLD_VerticalOffset = 0x0,
4692                                 PLD_HorizontalOffset = 0x0)
4693 
4694                         })
4695                     }
4696 
4697                     Device (PR14)
4698                     {
4699                         Name (_ADR, 0x04)  // _ADR: Address
4700                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4701                         {
4702                             0xFF, 
4703                             0xFF, 
4704                             Zero, 
4705                             Zero
4706                         })
4707                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4708                         {
4709                             ToPLD (
4710                                 PLD_Revision       = 0x1,
4711                                 PLD_IgnoreColor    = 0x1,
4712                                 PLD_Red            = 0x0,
4713                                 PLD_Green          = 0x0,
4714                                 PLD_Blue           = 0x0,
4715                                 PLD_Width          = 0x0,
4716                                 PLD_Height         = 0x0,
4717                                 PLD_UserVisible    = 0x1,
4718                                 PLD_Dock           = 0x0,
4719                                 PLD_Lid            = 0x0,
4720                                 PLD_Panel          = "UNKNOWN",
4721                                 PLD_VerticalPosition = "LOWER",
4722                                 PLD_HorizontalPosition = "CENTER",
4723                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
4724                                 PLD_GroupOrientation = 0x0,
4725                                 PLD_GroupToken     = 0x0,
4726                                 PLD_GroupPosition  = 0x0,
4727                                 PLD_Bay            = 0x0,
4728                                 PLD_Ejectable      = 0x0,
4729                                 PLD_EjectRequired  = 0x0,
4730                                 PLD_CabinetNumber  = 0x0,
4731                                 PLD_CardCageNumber = 0x0,
4732                                 PLD_Reference      = 0x0,
4733                                 PLD_Rotation       = 0x0,
4734                                 PLD_Order          = 0x0,
4735                                 PLD_VerticalOffset = 0x0,
4736                                 PLD_HorizontalOffset = 0x0)
4737 
4738                         })
4739                         Alias (SBV1, SDGV)
4740                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4741                         {
4742                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
4743                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4744                             {
4745                                 While (One)
4746                                 {
4747                                     _T_0 = ToInteger (Arg2)
4748                                     If ((_T_0 == Zero))
4749                                     {
4750                                         If ((Arg1 == One))
4751                                         {
4752                                             Return (Buffer (One)
4753                                             {
4754                                                  0x07                                             /* . */
4755                                             })
4756                                         }
4757                                         Else
4758                                         {
4759                                             Return (Buffer (One)
4760                                             {
4761                                                  0x00                                             /* . */
4762                                             })
4763                                         }
4764                                     }
4765                                     Else
4766                                     {
4767                                         If ((_T_0 == One))
4768                                         {
4769                                             If ((SDGV == 0xFF))
4770                                             {
4771                                                 Return (Zero)
4772                                             }
4773                                             Else
4774                                             {
4775                                                 Return (One)
4776                                             }
4777                                         }
4778                                         Else
4779                                         {
4780                                             If ((_T_0 == 0x02))
4781                                             {
4782                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */
4783                                             }
4784                                         }
4785                                     }
4786 
4787                                     Break
4788                                 }
4789                             }
4790 
4791                             Return (Zero)
4792                         }
4793                     }
4794 
4795                     Device (PR15)
4796                     {
4797                         Name (_ADR, 0x05)  // _ADR: Address
4798                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4799                         {
4800                             Zero, 
4801                             0xFF, 
4802                             Zero, 
4803                             Zero
4804                         })
4805                         Alias (SBV2, SDGV)
4806                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4807                         {
4808                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
4809                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4810                             {
4811                                 While (One)
4812                                 {
4813                                     _T_0 = ToInteger (Arg2)
4814                                     If ((_T_0 == Zero))
4815                                     {
4816                                         If ((Arg1 == One))
4817                                         {
4818                                             Return (Buffer (One)
4819                                             {
4820                                                  0x07                                             /* . */
4821                                             })
4822                                         }
4823                                         Else
4824                                         {
4825                                             Return (Buffer (One)
4826                                             {
4827                                                  0x00                                             /* . */
4828                                             })
4829                                         }
4830                                     }
4831                                     Else
4832                                     {
4833                                         If ((_T_0 == One))
4834                                         {
4835                                             If ((SDGV == 0xFF))
4836                                             {
4837                                                 Return (Zero)
4838                                             }
4839                                             Else
4840                                             {
4841                                                 Return (One)
4842                                             }
4843                                         }
4844                                         Else
4845                                         {
4846                                             If ((_T_0 == 0x02))
4847                                             {
4848                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */
4849                                             }
4850                                         }
4851                                     }
4852 
4853                                     Break
4854                                 }
4855                             }
4856 
4857                             Return (Zero)
4858                         }
4859                     }
4860 
4861                     Device (PR16)
4862                     {
4863                         Name (_ADR, 0x06)  // _ADR: Address
4864                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
4865                         {
4866                             0xFF, 
4867                             0xFF, 
4868                             Zero, 
4869                             Zero
4870                         })
4871                         Device (PR26)
4872                         {
4873                             Name (_ADR, 0x06)  // _ADR: Address
4874                             Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
4875                             {
4876                                 ToPLD (
4877                                     PLD_Revision       = 0x2,
4878                                     PLD_IgnoreColor    = 0x1,
4879                                     PLD_Red            = 0x0,
4880                                     PLD_Green          = 0x0,
4881                                     PLD_Blue           = 0x0,
4882                                     PLD_Width          = 0x0,
4883                                     PLD_Height         = 0x0,
4884                                     PLD_UserVisible    = 0x0,
4885                                     PLD_Dock           = 0x0,
4886                                     PLD_Lid            = 0x1,
4887                                     PLD_Panel          = "FRONT",
4888                                     PLD_VerticalPosition = "UPPER",
4889                                     PLD_HorizontalPosition = "CENTER",
4890                                     PLD_Shape          = "HORIZONTALTRAPEZOID",
4891                                     PLD_GroupOrientation = 0x0,
4892                                     PLD_GroupToken     = 0x0,
4893                                     PLD_GroupPosition  = 0x0,
4894                                     PLD_Bay            = 0x0,
4895                                     PLD_Ejectable      = 0x0,
4896                                     PLD_EjectRequired  = 0x0,
4897                                     PLD_CabinetNumber  = 0x0,
4898                                     PLD_CardCageNumber = 0x0,
4899                                     PLD_Reference      = 0x0,
4900                                     PLD_Rotation       = 0x0,
4901                                     PLD_Order          = 0x0,
4902                                     PLD_VerticalOffset = 0x0,
4903                                     PLD_HorizontalOffset = 0x0)
4904 
4905                             })
4906                             Method (_STA, 0, NotSerialized)  // _STA: Status
4907                             {
4908                                 If ((OSYS == 0x07DC))
4909                                 {
4910                                     Return (0x0F)
4911                                 }
4912                                 Else
4913                                 {
4914                                     Return (Zero)
4915                                 }
4916                             }
4917                         }
4918 
4919                         Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
4920                         {
4921                             If ((OSYS == 0x07DC))
4922                             {
4923                                 Return (Package (0x01)
4924                                 {
4925                                     Buffer (0x14)
4926                                     {
4927                                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4928                                         /* 0008 */  0xA0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4929                                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
4930                                     }
4931                                 })
4932                             }
4933                             Else
4934                             {
4935                                 Return (Package (0x01)
4936                                 {
4937                                     Buffer (0x10)
4938                                     {
4939                                         /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
4940                                         /* 0008 */  0xB0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
4941                                     }
4942                                 })
4943                             }
4944                         }
4945 
4946                         Alias (SBV1, SDGV)
4947                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4948                         {
4949                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
4950                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
4951                             {
4952                                 While (One)
4953                                 {
4954                                     _T_0 = ToInteger (Arg2)
4955                                     If ((_T_0 == Zero))
4956                                     {
4957                                         If ((Arg1 == One))
4958                                         {
4959                                             Return (Buffer (One)
4960                                             {
4961                                                  0x07                                             /* . */
4962                                             })
4963                                         }
4964                                         Else
4965                                         {
4966                                             Return (Buffer (One)
4967                                             {
4968                                                  0x00                                             /* . */
4969                                             })
4970                                         }
4971                                     }
4972                                     Else
4973                                     {
4974                                         If ((_T_0 == One))
4975                                         {
4976                                             If ((SDGV == 0xFF))
4977                                             {
4978                                                 Return (Zero)
4979                                             }
4980                                             Else
4981                                             {
4982                                                 Return (One)
4983                                             }
4984                                         }
4985                                         Else
4986                                         {
4987                                             If ((_T_0 == 0x02))
4988                                             {
4989                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */
4990                                             }
4991                                         }
4992                                     }
4993 
4994                                     Break
4995                                 }
4996                             }
4997 
4998                             Return (Zero)
4999                         }
5000                     }
5001 
5002                     Device (PR17)
5003                     {
5004                         Name (_ADR, 0x07)  // _ADR: Address
5005                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5006                         {
5007                             Zero, 
5008                             0xFF, 
5009                             Zero, 
5010                             Zero
5011                         })
5012                         Alias (SBV2, SDGV)
5013                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5014                         {
5015                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
5016                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5017                             {
5018                                 While (One)
5019                                 {
5020                                     _T_0 = ToInteger (Arg2)
5021                                     If ((_T_0 == Zero))
5022                                     {
5023                                         If ((Arg1 == One))
5024                                         {
5025                                             Return (Buffer (One)
5026                                             {
5027                                                  0x07                                             /* . */
5028                                             })
5029                                         }
5030                                         Else
5031                                         {
5032                                             Return (Buffer (One)
5033                                             {
5034                                                  0x00                                             /* . */
5035                                             })
5036                                         }
5037                                     }
5038                                     Else
5039                                     {
5040                                         If ((_T_0 == One))
5041                                         {
5042                                             If ((SDGV == 0xFF))
5043                                             {
5044                                                 Return (Zero)
5045                                             }
5046                                             Else
5047                                             {
5048                                                 Return (One)
5049                                             }
5050                                         }
5051                                         Else
5052                                         {
5053                                             If ((_T_0 == 0x02))
5054                                             {
5055                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */
5056                                             }
5057                                         }
5058                                     }
5059 
5060                                     Break
5061                                 }
5062                             }
5063 
5064                             Return (Zero)
5065                         }
5066                     }
5067 
5068                     Device (PR18)
5069                     {
5070                         Name (_ADR, 0x08)  // _ADR: Address
5071                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5072                         {
5073                             Zero, 
5074                             0xFF, 
5075                             Zero, 
5076                             Zero
5077                         })
5078                     }
5079                 }
5080             }
5081 
5082             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
5083             {
5084                 0x0D, 
5085                 0x03
5086             })
5087         }
5088 
5089         Device (EHC2)
5090         {
5091             Name (_ADR, 0x001A0000)  // _ADR: Address
5092             OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
5093             Field (PWKE, DWordAcc, NoLock, Preserve)
5094             {
5095                     ,   1, 
5096                 PWUC,   6
5097             }
5098 
5099             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
5100             {
5101                 If (Arg0)
5102                 {
5103                     If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ()))
5104                     {
5105                         RMW1 = Zero
5106                         PWUC = Ones
5107                     }
5108                     Else
5109                     {
5110                         RMW1 = 0x0F
5111                         PWUC = Zero
5112                     }
5113                 }
5114                 Else
5115                 {
5116                     RMW1 = 0x0F
5117                     PWUC = Zero
5118                 }
5119             }
5120 
5121             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
5122             {
5123                 Return (0x02)
5124             }
5125 
5126             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
5127             {
5128                 Return (0x02)
5129             }
5130 
5131             Device (HUBN)
5132             {
5133                 Name (_ADR, Zero)  // _ADR: Address
5134                 Device (PR01)
5135                 {
5136                     Name (_ADR, One)  // _ADR: Address
5137                     Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5138                     {
5139                         0xFF, 
5140                         Zero, 
5141                         Zero, 
5142                         Zero
5143                     })
5144                     Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5145                     {
5146                         ToPLD (
5147                             PLD_Revision       = 0x1,
5148                             PLD_IgnoreColor    = 0x1,
5149                             PLD_Red            = 0x0,
5150                             PLD_Green          = 0x0,
5151                             PLD_Blue           = 0x0,
5152                             PLD_Width          = 0x0,
5153                             PLD_Height         = 0x0,
5154                             PLD_UserVisible    = 0x0,
5155                             PLD_Dock           = 0x0,
5156                             PLD_Lid            = 0x0,
5157                             PLD_Panel          = "UNKNOWN",
5158                             PLD_VerticalPosition = "UPPER",
5159                             PLD_HorizontalPosition = "LEFT",
5160                             PLD_Shape          = "UNKNOWN",
5161                             PLD_GroupOrientation = 0x0,
5162                             PLD_GroupToken     = 0x0,
5163                             PLD_GroupPosition  = 0x0,
5164                             PLD_Bay            = 0x0,
5165                             PLD_Ejectable      = 0x0,
5166                             PLD_EjectRequired  = 0x0,
5167                             PLD_CabinetNumber  = 0x0,
5168                             PLD_CardCageNumber = 0x0,
5169                             PLD_Reference      = 0x0,
5170                             PLD_Rotation       = 0x0,
5171                             PLD_Order          = 0x0,
5172                             PLD_VerticalOffset = 0x0,
5173                             PLD_HorizontalOffset = 0x0)
5174 
5175                     })
5176                     Device (PR11)
5177                     {
5178                         Name (_ADR, One)  // _ADR: Address
5179                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5180                         {
5181                             Zero, 
5182                             0xFF, 
5183                             Zero, 
5184                             Zero
5185                         })
5186                     }
5187 
5188                     Device (PR12)
5189                     {
5190                         Name (_ADR, 0x02)  // _ADR: Address
5191                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5192                         {
5193                             0xFF, 
5194                             0xFF, 
5195                             Zero, 
5196                             Zero
5197                         })
5198                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5199                         {
5200                             ToPLD (
5201                                 PLD_Revision       = 0x1,
5202                                 PLD_IgnoreColor    = 0x1,
5203                                 PLD_Red            = 0x0,
5204                                 PLD_Green          = 0x0,
5205                                 PLD_Blue           = 0x0,
5206                                 PLD_Width          = 0x0,
5207                                 PLD_Height         = 0x0,
5208                                 PLD_UserVisible    = 0x1,
5209                                 PLD_Dock           = 0x0,
5210                                 PLD_Lid            = 0x0,
5211                                 PLD_Panel          = "UNKNOWN",
5212                                 PLD_VerticalPosition = "LOWER",
5213                                 PLD_HorizontalPosition = "CENTER",
5214                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
5215                                 PLD_GroupOrientation = 0x0,
5216                                 PLD_GroupToken     = 0x0,
5217                                 PLD_GroupPosition  = 0x0,
5218                                 PLD_Bay            = 0x0,
5219                                 PLD_Ejectable      = 0x0,
5220                                 PLD_EjectRequired  = 0x0,
5221                                 PLD_CabinetNumber  = 0x0,
5222                                 PLD_CardCageNumber = 0x0,
5223                                 PLD_Reference      = 0x0,
5224                                 PLD_Rotation       = 0x0,
5225                                 PLD_Order          = 0x0,
5226                                 PLD_VerticalOffset = 0x0,
5227                                 PLD_HorizontalOffset = 0x0)
5228 
5229                         })
5230                         Alias (SBV1, SDGV)
5231                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5232                         {
5233                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
5234                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5235                             {
5236                                 While (One)
5237                                 {
5238                                     _T_0 = ToInteger (Arg2)
5239                                     If ((_T_0 == Zero))
5240                                     {
5241                                         If ((Arg1 == One))
5242                                         {
5243                                             Return (Buffer (One)
5244                                             {
5245                                                  0x07                                             /* . */
5246                                             })
5247                                         }
5248                                         Else
5249                                         {
5250                                             Return (Buffer (One)
5251                                             {
5252                                                  0x00                                             /* . */
5253                                             })
5254                                         }
5255                                     }
5256                                     Else
5257                                     {
5258                                         If ((_T_0 == One))
5259                                         {
5260                                             If ((SDGV == 0xFF))
5261                                             {
5262                                                 Return (Zero)
5263                                             }
5264                                             Else
5265                                             {
5266                                                 Return (One)
5267                                             }
5268                                         }
5269                                         Else
5270                                         {
5271                                             If ((_T_0 == 0x02))
5272                                             {
5273                                                 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12.SDGV */
5274                                             }
5275                                         }
5276                                     }
5277 
5278                                     Break
5279                                 }
5280                             }
5281 
5282                             Return (Zero)
5283                         }
5284                     }
5285 
5286                     Device (PR13)
5287                     {
5288                         Name (_ADR, 0x03)  // _ADR: Address
5289                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5290                         {
5291                             0xFF, 
5292                             0xFF, 
5293                             Zero, 
5294                             Zero
5295                         })
5296                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5297                         {
5298                             ToPLD (
5299                                 PLD_Revision       = 0x1,
5300                                 PLD_IgnoreColor    = 0x1,
5301                                 PLD_Red            = 0x0,
5302                                 PLD_Green          = 0x0,
5303                                 PLD_Blue           = 0x0,
5304                                 PLD_Width          = 0x0,
5305                                 PLD_Height         = 0x0,
5306                                 PLD_UserVisible    = 0x0,
5307                                 PLD_Dock           = 0x0,
5308                                 PLD_Lid            = 0x0,
5309                                 PLD_Panel          = "UNKNOWN",
5310                                 PLD_VerticalPosition = "LOWER",
5311                                 PLD_HorizontalPosition = "CENTER",
5312                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
5313                                 PLD_GroupOrientation = 0x0,
5314                                 PLD_GroupToken     = 0x0,
5315                                 PLD_GroupPosition  = 0x0,
5316                                 PLD_Bay            = 0x0,
5317                                 PLD_Ejectable      = 0x0,
5318                                 PLD_EjectRequired  = 0x0,
5319                                 PLD_CabinetNumber  = 0x0,
5320                                 PLD_CardCageNumber = 0x0,
5321                                 PLD_Reference      = 0x0,
5322                                 PLD_Rotation       = 0x0,
5323                                 PLD_Order          = 0x0,
5324                                 PLD_VerticalOffset = 0x0,
5325                                 PLD_HorizontalOffset = 0x0)
5326 
5327                         })
5328                         Alias (SBV2, SDGV)
5329                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5330                         {
5331                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
5332                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
5333                             {
5334                                 While (One)
5335                                 {
5336                                     _T_0 = ToInteger (Arg2)
5337                                     If ((_T_0 == Zero))
5338                                     {
5339                                         If ((Arg1 == One))
5340                                         {
5341                                             Return (Buffer (One)
5342                                             {
5343                                                  0x07                                             /* . */
5344                                             })
5345                                         }
5346                                         Else
5347                                         {
5348                                             Return (Buffer (One)
5349                                             {
5350                                                  0x00                                             /* . */
5351                                             })
5352                                         }
5353                                     }
5354                                     Else
5355                                     {
5356                                         If ((_T_0 == One))
5357                                         {
5358                                             If ((SDGV == 0xFF))
5359                                             {
5360                                                 Return (Zero)
5361                                             }
5362                                             Else
5363                                             {
5364                                                 Return (One)
5365                                             }
5366                                         }
5367                                         Else
5368                                         {
5369                                             If ((_T_0 == 0x02))
5370                                             {
5371                                                 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */
5372                                             }
5373                                         }
5374                                     }
5375 
5376                                     Break
5377                                 }
5378                             }
5379 
5380                             Return (Zero)
5381                         }
5382                     }
5383 
5384                     Device (PR14)
5385                     {
5386                         Name (_ADR, 0x04)  // _ADR: Address
5387                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5388                         {
5389                             0xFF, 
5390                             0xFF, 
5391                             Zero, 
5392                             Zero
5393                         })
5394                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5395                         {
5396                             ToPLD (
5397                                 PLD_Revision       = 0x1,
5398                                 PLD_IgnoreColor    = 0x1,
5399                                 PLD_Red            = 0x0,
5400                                 PLD_Green          = 0x0,
5401                                 PLD_Blue           = 0x0,
5402                                 PLD_Width          = 0x0,
5403                                 PLD_Height         = 0x0,
5404                                 PLD_UserVisible    = 0x0,
5405                                 PLD_Dock           = 0x0,
5406                                 PLD_Lid            = 0x0,
5407                                 PLD_Panel          = "UNKNOWN",
5408                                 PLD_VerticalPosition = "LOWER",
5409                                 PLD_HorizontalPosition = "CENTER",
5410                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
5411                                 PLD_GroupOrientation = 0x0,
5412                                 PLD_GroupToken     = 0x0,
5413                                 PLD_GroupPosition  = 0x0,
5414                                 PLD_Bay            = 0x0,
5415                                 PLD_Ejectable      = 0x0,
5416                                 PLD_EjectRequired  = 0x0,
5417                                 PLD_CabinetNumber  = 0x0,
5418                                 PLD_CardCageNumber = 0x0,
5419                                 PLD_Reference      = 0x0,
5420                                 PLD_Rotation       = 0x0,
5421                                 PLD_Order          = 0x0,
5422                                 PLD_VerticalOffset = 0x0,
5423                                 PLD_HorizontalOffset = 0x0)
5424 
5425                         })
5426                     }
5427 
5428                     Device (PR15)
5429                     {
5430                         Name (_ADR, 0x05)  // _ADR: Address
5431                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5432                         {
5433                             Zero, 
5434                             0xFF, 
5435                             Zero, 
5436                             Zero
5437                         })
5438                     }
5439 
5440                     Device (PR16)
5441                     {
5442                         Name (_ADR, 0x06)  // _ADR: Address
5443                         Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
5444                         {
5445                             0xFF, 
5446                             0xFF, 
5447                             Zero, 
5448                             Zero
5449                         })
5450                         Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
5451                         {
5452                             ToPLD (
5453                                 PLD_Revision       = 0x1,
5454                                 PLD_IgnoreColor    = 0x1,
5455                                 PLD_Red            = 0x0,
5456                                 PLD_Green          = 0x0,
5457                                 PLD_Blue           = 0x0,
5458                                 PLD_Width          = 0x0,
5459                                 PLD_Height         = 0x0,
5460                                 PLD_UserVisible    = 0x0,
5461                                 PLD_Dock           = 0x0,
5462                                 PLD_Lid            = 0x0,
5463                                 PLD_Panel          = "UNKNOWN",
5464                                 PLD_VerticalPosition = "LOWER",
5465                                 PLD_HorizontalPosition = "CENTER",
5466                                 PLD_Shape          = "HORIZONTALTRAPEZOID",
5467                                 PLD_GroupOrientation = 0x0,
5468                                 PLD_GroupToken     = 0x0,
5469                                 PLD_GroupPosition  = 0x0,
5470                                 PLD_Bay            = 0x0,
5471                                 PLD_Ejectable      = 0x0,
5472                                 PLD_EjectRequired  = 0x0,
5473                                 PLD_CabinetNumber  = 0x0,
5474                                 PLD_CardCageNumber = 0x0,
5475                                 PLD_Reference      = 0x0,
5476                                 PLD_Rotation       = 0x0,
5477                                 PLD_Order          = 0x0,
5478                                 PLD_VerticalOffset = 0x0,
5479                                 PLD_HorizontalOffset = 0x0)
5480 
5481                         })
5482                     }
5483                 }
5484             }
5485 
5486             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
5487             {
5488                 0x0D, 
5489                 0x03
5490             })
5491         }
5492 
5493         Device (XHC)
5494         {
5495             Name (_ADR, 0x00140000)  // _ADR: Address
5496             OperationRegion (XPRT, PCI_Config, 0x74, 0x6C)
5497             Field (XPRT, DWordAcc, NoLock, Preserve)
5498             {
5499                 Offset (0x01), 
5500                 PMEE,   1, 
5501                     ,   6, 
5502                 PMES,   1, 
5503                 Offset (0x5C), 
5504                 PR2,    32, 
5505                 PR2M,   32, 
5506                 PR3,    32, 
5507                 PR3M,   32
5508             }
5509 
5510             Name (XRST, Zero)
5511             Method (CUID, 1, Serialized)
5512             {
5513                 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
5514                 {
5515                     Return (One)
5516                 }
5517 
5518                 Return (Zero)
5519             }
5520 
5521             Method (POSC, 3, Serialized)
5522             {
5523                 CreateDWordField (Arg2, Zero, CDW1)
5524                 CreateDWordField (Arg2, 0x08, CDW3)
5525                 If ((Arg1 != One))
5526                 {
5527                     CDW1 |= 0x08
5528                 }
5529 
5530                 If ((XHCI == Zero))
5531                 {
5532                     CDW1 |= 0x02
5533                 }
5534 
5535                 If (!(CDW1 & One))
5536                 {
5537                     If ((CDW3 & One))
5538                     {
5539                         ESEL ()
5540                     }
5541                     Else
5542                     {
5543                         XSEL ()
5544                     }
5545                 }
5546 
5547                 Return (Arg2)
5548             }
5549 
5550             Method (XSEL, 0, Serialized)
5551             {
5552                 If (((XHCI == 0x02) || (XHCI == 0x03)))
5553                 {
5554                     XUSB = One
5555                     XRST = One
5556                     Local0 = Zero
5557                     Local0 = (PR3 & 0xFFFFFFF0)
5558                     Local0 |= XHPM /* \XHPM */
5559                     PR3 = (Local0 & PR3M) /* \_SB_.PCI0.XHC_.PR3M */
5560                     Local0 = Zero
5561                     Local0 = (PR2 & 0xFFFFFFF0)
5562                     Local0 |= XHPM /* \XHPM */
5563                     PR2 = (Local0 & PR2M) /* \_SB_.PCI0.XHC_.PR2M */
5564                 }
5565             }
5566 
5567             Method (ESEL, 0, Serialized)
5568             {
5569                 If (((XHCI == 0x02) || (XHCI == 0x03)))
5570                 {
5571                     PR3 &= 0xFFFFFFF0
5572                     PR2 &= 0xFFFFFFF0
5573                     XUSB = Zero
5574                     XRST = Zero
5575                 }
5576             }
5577 
5578             Method (XWAK, 0, Serialized)
5579             {
5580                 If (((XUSB == One) || (XRST == One)))
5581                 {
5582                     XSEL ()
5583                 }
5584             }
5585 
5586             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
5587             {
5588                 Return (0x02)
5589             }
5590 
5591             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
5592             {
5593                 Return (0x02)
5594             }
5595 
5596             Device (RHUB)
5597             {
5598                 Name (_ADR, Zero)  // _ADR: Address
5599                 Device (HSP1)
5600                 {
5601                     Name (_ADR, One)  // _ADR: Address
5602                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5603                     {
5604                         Name (UPCP, Package (0x04)
5605                         {
5606                             0xFF, 
5607                             0x03, 
5608                             Zero, 
5609                             Zero
5610                         })
5611                         If (!(PR2 & One))
5612                         {
5613                             Index (UPCP, Zero) = Zero
5614                         }
5615 
5616                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._UPC.UPCP */
5617                     }
5618 
5619                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5620                     {
5621                         Name (PLDP, Package (0x01)
5622                         {
5623                             Buffer (0x10)
5624                             {
5625                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5626                                 /* 0008 */  0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00   /* i....... */
5627                             }
5628                         })
5629                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5630                         If (!(PR2 & One))
5631                         {
5632                             VIS &= Zero
5633                         }
5634 
5635                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._PLD.PLDP */
5636                     }
5637                 }
5638 
5639                 Device (HSP2)
5640                 {
5641                     Name (_ADR, 0x02)  // _ADR: Address
5642                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5643                     {
5644                         Name (UPCP, Package (0x04)
5645                         {
5646                             0xFF, 
5647                             0x03, 
5648                             Zero, 
5649                             Zero
5650                         })
5651                         If (!(PR2 & 0x02))
5652                         {
5653                             Index (UPCP, Zero) = Zero
5654                         }
5655 
5656                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._UPC.UPCP */
5657                     }
5658 
5659                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5660                     {
5661                         Name (PLDP, Package (0x01)
5662                         {
5663                             Buffer (0x10)
5664                             {
5665                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5666                                 /* 0008 */  0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
5667                             }
5668                         })
5669                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5670                         If (!(PR2 & 0x02))
5671                         {
5672                             VIS &= Zero
5673                         }
5674 
5675                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._PLD.PLDP */
5676                     }
5677                 }
5678 
5679                 Device (HSP3)
5680                 {
5681                     Name (_ADR, 0x03)  // _ADR: Address
5682                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5683                     {
5684                         Name (UPCP, Package (0x04)
5685                         {
5686                             0xFF, 
5687                             0x03, 
5688                             Zero, 
5689                             Zero
5690                         })
5691                         If (!(PR2 & 0x04))
5692                         {
5693                             Index (UPCP, Zero) = Zero
5694                         }
5695 
5696                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._UPC.UPCP */
5697                     }
5698 
5699                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5700                     {
5701                         Name (PLDP, Package (0x01)
5702                         {
5703                             Buffer (0x10)
5704                             {
5705                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5706                                 /* 0008 */  0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
5707                             }
5708                         })
5709                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5710                         If (!(PR2 & 0x04))
5711                         {
5712                             VIS &= Zero
5713                         }
5714 
5715                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._PLD.PLDP */
5716                     }
5717                 }
5718 
5719                 Device (HSP4)
5720                 {
5721                     Name (_ADR, 0x04)  // _ADR: Address
5722                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5723                     {
5724                         Name (UPCP, Package (0x04)
5725                         {
5726                             0xFF, 
5727                             0x03, 
5728                             Zero, 
5729                             Zero
5730                         })
5731                         If (!(PR2 & 0x08))
5732                         {
5733                             Index (UPCP, Zero) = Zero
5734                         }
5735 
5736                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._UPC.UPCP */
5737                     }
5738 
5739                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5740                     {
5741                         Name (PLDP, Package (0x01)
5742                         {
5743                             Buffer (0x10)
5744                             {
5745                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5746                                 /* 0008 */  0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* i....... */
5747                             }
5748                         })
5749                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5750                         If (!(PR2 & 0x08))
5751                         {
5752                             VIS &= Zero
5753                         }
5754 
5755                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._PLD.PLDP */
5756                     }
5757                 }
5758 
5759                 Device (SSP1)
5760                 {
5761                     Name (_ADR, 0x05)  // _ADR: Address
5762                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5763                     {
5764                         Name (UPCP, Package (0x04)
5765                         {
5766                             0xFF, 
5767                             0x03, 
5768                             Zero, 
5769                             Zero
5770                         })
5771                         If (!(PR3 & One))
5772                         {
5773                             Index (UPCP, Zero) = Zero
5774                         }
5775 
5776                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */
5777                     }
5778 
5779                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5780                     {
5781                         Name (PLDP, Package (0x01)
5782                         {
5783                             Buffer (0x10)
5784                             {
5785                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5786                                 /* 0008 */  0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00   /* i....... */
5787                             }
5788                         })
5789                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5790                         If (!(PR3 & One))
5791                         {
5792                             VIS &= Zero
5793                         }
5794 
5795                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */
5796                     }
5797                 }
5798 
5799                 Device (SSP2)
5800                 {
5801                     Name (_ADR, 0x06)  // _ADR: Address
5802                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5803                     {
5804                         Name (UPCP, Package (0x04)
5805                         {
5806                             0xFF, 
5807                             0x03, 
5808                             Zero, 
5809                             Zero
5810                         })
5811                         If (!(PR3 & 0x02))
5812                         {
5813                             Index (UPCP, Zero) = Zero
5814                         }
5815 
5816                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */
5817                     }
5818 
5819                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5820                     {
5821                         Name (PLDP, Package (0x01)
5822                         {
5823                             Buffer (0x10)
5824                             {
5825                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5826                                 /* 0008 */  0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
5827                             }
5828                         })
5829                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5830                         If (!(PR3 & 0x02))
5831                         {
5832                             VIS &= Zero
5833                         }
5834 
5835                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
5836                     }
5837                 }
5838 
5839                 Device (SSP3)
5840                 {
5841                     Name (_ADR, 0x07)  // _ADR: Address
5842                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5843                     {
5844                         Name (UPCP, Package (0x04)
5845                         {
5846                             0xFF, 
5847                             0x03, 
5848                             Zero, 
5849                             Zero
5850                         })
5851                         If (!(PR3 & 0x04))
5852                         {
5853                             Index (UPCP, Zero) = Zero
5854                         }
5855 
5856                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
5857                     }
5858 
5859                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5860                     {
5861                         Name (PLDP, Package (0x01)
5862                         {
5863                             Buffer (0x10)
5864                             {
5865                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5866                                 /* 0008 */  0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
5867                             }
5868                         })
5869                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5870                         If (!(PR3 & 0x04))
5871                         {
5872                             VIS &= Zero
5873                         }
5874 
5875                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
5876                     }
5877                 }
5878 
5879                 Device (SSP4)
5880                 {
5881                     Name (_ADR, 0x08)  // _ADR: Address
5882                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
5883                     {
5884                         Name (UPCP, Package (0x04)
5885                         {
5886                             0xFF, 
5887                             0x03, 
5888                             Zero, 
5889                             Zero
5890                         })
5891                         If (!(PR3 & 0x08))
5892                         {
5893                             Index (UPCP, Zero) = Zero
5894                         }
5895 
5896                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
5897                     }
5898 
5899                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
5900                     {
5901                         Name (PLDP, Package (0x01)
5902                         {
5903                             Buffer (0x10)
5904                             {
5905                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
5906                                 /* 0008 */  0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* i....... */
5907                             }
5908                         })
5909                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
5910                         If (!(PR3 & 0x08))
5911                         {
5912                             VIS &= Zero
5913                         }
5914 
5915                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
5916                     }
5917                 }
5918             }
5919 
5920             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
5921             {
5922                 0x0D, 
5923                 0x03
5924             })
5925         }
5926 
5927         Device (HDEF)
5928         {
5929             Name (_ADR, 0x001B0000)  // _ADR: Address
5930             OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
5931             Field (HDAR, WordAcc, NoLock, Preserve)
5932             {
5933                 DCKA,   1, 
5934                 Offset (0x01), 
5935                 DCKM,   1, 
5936                     ,   6, 
5937                 DCKS,   1, 
5938                 Offset (0x08), 
5939                     ,   15, 
5940                 PMES,   1
5941             }
5942 
5943             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
5944             {
5945                 0x0D, 
5946                 Zero
5947             })
5948         }
5949 
5950         Device (RP01)
5951         {
5952             Name (_ADR, 0x001C0000)  // _ADR: Address
5953             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
5954             Field (PXCS, AnyAcc, NoLock, Preserve)
5955             {
5956                 Offset (0x10), 
5957                 L0SE,   1, 
5958                 Offset (0x11), 
5959                 Offset (0x12), 
5960                     ,   13, 
5961                 LASX,   1, 
5962                 Offset (0x1A), 
5963                 ABPX,   1, 
5964                     ,   2, 
5965                 PDCX,   1, 
5966                     ,   2, 
5967                 PDSX,   1, 
5968                 Offset (0x1B), 
5969                 Offset (0x20), 
5970                 Offset (0x22), 
5971                 PSPX,   1, 
5972                 Offset (0x98), 
5973                     ,   30, 
5974                 HPEX,   1, 
5975                 PMEX,   1
5976             }
5977 
5978             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
5979             {
5980                 Offset (0x9C), 
5981                     ,   30, 
5982                 HPSX,   1, 
5983                 PMSX,   1
5984             }
5985 
5986             Device (PXSX)
5987             {
5988                 Name (_ADR, Zero)  // _ADR: Address
5989                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
5990                 {
5991                     0x09, 
5992                     0x03
5993                 })
5994                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
5995                 {
5996                     If (^^^LPCB.ECOK ())
5997                     {
5998                         If (Arg0)
5999                         {
6000                             ^^^LPCB.EC0.PWAK = One
6001                         }
6002                         Else
6003                         {
6004                             ^^^LPCB.EC0.PWAK = Zero
6005                         }
6006                     }
6007                 }
6008             }
6009 
6010             Method (HPME, 0, Serialized)
6011             {
6012                 If (PMSX)
6013                 {
6014                     Local0 = 0xC8
6015                     While (Local0)
6016                     {
6017                         PMSX = One
6018                         If (PMSX)
6019                         {
6020                             Local0--
6021                         }
6022                         Else
6023                         {
6024                             Local0 = Zero
6025                         }
6026                     }
6027 
6028                     Notify (PXSX, 0x02) // Device Wake
6029                 }
6030             }
6031 
6032             Name (PR05, Package (0x04)
6033             {
6034                 Package (0x04)
6035                 {
6036                     0xFFFF, 
6037                     Zero, 
6038                     LNKA, 
6039                     Zero
6040                 }, 
6041 
6042                 Package (0x04)
6043                 {
6044                     0xFFFF, 
6045                     One, 
6046                     LNKB, 
6047                     Zero
6048                 }, 
6049 
6050                 Package (0x04)
6051                 {
6052                     0xFFFF, 
6053                     0x02, 
6054                     LNKC, 
6055                     Zero
6056                 }, 
6057 
6058                 Package (0x04)
6059                 {
6060                     0xFFFF, 
6061                     0x03, 
6062                     LNKD, 
6063                     Zero
6064                 }
6065             })
6066             Name (AR05, Package (0x04)
6067             {
6068                 Package (0x04)
6069                 {
6070                     0xFFFF, 
6071                     Zero, 
6072                     Zero, 
6073                     0x10
6074                 }, 
6075 
6076                 Package (0x04)
6077                 {
6078                     0xFFFF, 
6079                     One, 
6080                     Zero, 
6081                     0x11
6082                 }, 
6083 
6084                 Package (0x04)
6085                 {
6086                     0xFFFF, 
6087                     0x02, 
6088                     Zero, 
6089                     0x12
6090                 }, 
6091 
6092                 Package (0x04)
6093                 {
6094                     0xFFFF, 
6095                     0x03, 
6096                     Zero, 
6097                     0x13
6098                 }
6099             })
6100             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6101             {
6102                 If (PICM)
6103                 {
6104                     Return (AR05) /* \_SB_.PCI0.RP01.AR05 */
6105                 }
6106 
6107                 Return (PR05) /* \_SB_.PCI0.RP01.PR05 */
6108             }
6109         }
6110 
6111         Device (RP02)
6112         {
6113             Name (_ADR, 0x001C0001)  // _ADR: Address
6114             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6115             Field (PXCS, AnyAcc, NoLock, Preserve)
6116             {
6117                 Offset (0x10), 
6118                 L0SE,   1, 
6119                 Offset (0x11), 
6120                 Offset (0x12), 
6121                     ,   13, 
6122                 LASX,   1, 
6123                 Offset (0x1A), 
6124                 ABPX,   1, 
6125                     ,   2, 
6126                 PDCX,   1, 
6127                     ,   2, 
6128                 PDSX,   1, 
6129                 Offset (0x1B), 
6130                 Offset (0x20), 
6131                 Offset (0x22), 
6132                 PSPX,   1, 
6133                 Offset (0x98), 
6134                     ,   30, 
6135                 HPEX,   1, 
6136                 PMEX,   1
6137             }
6138 
6139             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6140             {
6141                 Offset (0x9C), 
6142                     ,   30, 
6143                 HPSX,   1, 
6144                 PMSX,   1
6145             }
6146 
6147             Device (PXSX)
6148             {
6149                 Name (_ADR, Zero)  // _ADR: Address
6150                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6151                 {
6152                     0x09, 
6153                     0x03
6154                 })
6155             }
6156 
6157             Method (HPME, 0, Serialized)
6158             {
6159                 If (PMSX)
6160                 {
6161                     Local0 = 0xC8
6162                     While (Local0)
6163                     {
6164                         PMSX = One
6165                         If (PMSX)
6166                         {
6167                             Local0--
6168                         }
6169                         Else
6170                         {
6171                             Local0 = Zero
6172                         }
6173                     }
6174 
6175                     Notify (PXSX, 0x02) // Device Wake
6176                 }
6177             }
6178 
6179             Name (PR06, Package (0x04)
6180             {
6181                 Package (0x04)
6182                 {
6183                     0xFFFF, 
6184                     Zero, 
6185                     LNKB, 
6186                     Zero
6187                 }, 
6188 
6189                 Package (0x04)
6190                 {
6191                     0xFFFF, 
6192                     One, 
6193                     LNKC, 
6194                     Zero
6195                 }, 
6196 
6197                 Package (0x04)
6198                 {
6199                     0xFFFF, 
6200                     0x02, 
6201                     LNKD, 
6202                     Zero
6203                 }, 
6204 
6205                 Package (0x04)
6206                 {
6207                     0xFFFF, 
6208                     0x03, 
6209                     LNKA, 
6210                     Zero
6211                 }
6212             })
6213             Name (AR06, Package (0x04)
6214             {
6215                 Package (0x04)
6216                 {
6217                     0xFFFF, 
6218                     Zero, 
6219                     Zero, 
6220                     0x11
6221                 }, 
6222 
6223                 Package (0x04)
6224                 {
6225                     0xFFFF, 
6226                     One, 
6227                     Zero, 
6228                     0x12
6229                 }, 
6230 
6231                 Package (0x04)
6232                 {
6233                     0xFFFF, 
6234                     0x02, 
6235                     Zero, 
6236                     0x13
6237                 }, 
6238 
6239                 Package (0x04)
6240                 {
6241                     0xFFFF, 
6242                     0x03, 
6243                     Zero, 
6244                     0x10
6245                 }
6246             })
6247             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6248             {
6249                 If (PICM)
6250                 {
6251                     Return (AR06) /* \_SB_.PCI0.RP02.AR06 */
6252                 }
6253 
6254                 Return (PR06) /* \_SB_.PCI0.RP02.PR06 */
6255             }
6256         }
6257 
6258         Device (RP03)
6259         {
6260             Name (_ADR, 0x001C0002)  // _ADR: Address
6261             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6262             Field (PXCS, AnyAcc, NoLock, Preserve)
6263             {
6264                 Offset (0x10), 
6265                 L0SE,   1, 
6266                 Offset (0x11), 
6267                 Offset (0x12), 
6268                     ,   13, 
6269                 LASX,   1, 
6270                 Offset (0x1A), 
6271                 ABPX,   1, 
6272                     ,   2, 
6273                 PDCX,   1, 
6274                     ,   2, 
6275                 PDSX,   1, 
6276                 Offset (0x1B), 
6277                 Offset (0x20), 
6278                 Offset (0x22), 
6279                 PSPX,   1, 
6280                 Offset (0x98), 
6281                     ,   30, 
6282                 HPEX,   1, 
6283                 PMEX,   1
6284             }
6285 
6286             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6287             {
6288                 Offset (0x9C), 
6289                     ,   30, 
6290                 HPSX,   1, 
6291                 PMSX,   1
6292             }
6293 
6294             Device (PXSX)
6295             {
6296                 Name (_ADR, Zero)  // _ADR: Address
6297                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6298                 {
6299                     0x09, 
6300                     0x03
6301                 })
6302             }
6303 
6304             Method (HPME, 0, Serialized)
6305             {
6306                 If (PMSX)
6307                 {
6308                     Local0 = 0xC8
6309                     While (Local0)
6310                     {
6311                         PMSX = One
6312                         If (PMSX)
6313                         {
6314                             Local0--
6315                         }
6316                         Else
6317                         {
6318                             Local0 = Zero
6319                         }
6320                     }
6321 
6322                     Notify (PXSX, 0x02) // Device Wake
6323                 }
6324             }
6325 
6326             Name (PR07, Package (0x04)
6327             {
6328                 Package (0x04)
6329                 {
6330                     0xFFFF, 
6331                     Zero, 
6332                     LNKC, 
6333                     Zero
6334                 }, 
6335 
6336                 Package (0x04)
6337                 {
6338                     0xFFFF, 
6339                     One, 
6340                     LNKD, 
6341                     Zero
6342                 }, 
6343 
6344                 Package (0x04)
6345                 {
6346                     0xFFFF, 
6347                     0x02, 
6348                     LNKA, 
6349                     Zero
6350                 }, 
6351 
6352                 Package (0x04)
6353                 {
6354                     0xFFFF, 
6355                     0x03, 
6356                     LNKB, 
6357                     Zero
6358                 }
6359             })
6360             Name (AR07, Package (0x04)
6361             {
6362                 Package (0x04)
6363                 {
6364                     0xFFFF, 
6365                     Zero, 
6366                     Zero, 
6367                     0x12
6368                 }, 
6369 
6370                 Package (0x04)
6371                 {
6372                     0xFFFF, 
6373                     One, 
6374                     Zero, 
6375                     0x13
6376                 }, 
6377 
6378                 Package (0x04)
6379                 {
6380                     0xFFFF, 
6381                     0x02, 
6382                     Zero, 
6383                     0x10
6384                 }, 
6385 
6386                 Package (0x04)
6387                 {
6388                     0xFFFF, 
6389                     0x03, 
6390                     Zero, 
6391                     0x11
6392                 }
6393             })
6394             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6395             {
6396                 If (PICM)
6397                 {
6398                     Return (AR07) /* \_SB_.PCI0.RP03.AR07 */
6399                 }
6400 
6401                 Return (PR07) /* \_SB_.PCI0.RP03.PR07 */
6402             }
6403         }
6404 
6405         Device (RP04)
6406         {
6407             Name (_ADR, 0x001C0003)  // _ADR: Address
6408             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6409             Field (PXCS, AnyAcc, NoLock, Preserve)
6410             {
6411                 Offset (0x10), 
6412                 L0SE,   1, 
6413                 Offset (0x11), 
6414                 Offset (0x12), 
6415                     ,   13, 
6416                 LASX,   1, 
6417                 Offset (0x1A), 
6418                 ABPX,   1, 
6419                     ,   2, 
6420                 PDCX,   1, 
6421                     ,   2, 
6422                 PDSX,   1, 
6423                 Offset (0x1B), 
6424                 Offset (0x20), 
6425                 Offset (0x22), 
6426                 PSPX,   1, 
6427                 Offset (0x98), 
6428                     ,   30, 
6429                 HPEX,   1, 
6430                 PMEX,   1
6431             }
6432 
6433             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6434             {
6435                 Offset (0x9C), 
6436                     ,   30, 
6437                 HPSX,   1, 
6438                 PMSX,   1
6439             }
6440 
6441             Device (PXSX)
6442             {
6443                 Name (_ADR, Zero)  // _ADR: Address
6444                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6445                 {
6446                     0x09, 
6447                     0x03
6448                 })
6449             }
6450 
6451             Method (HPME, 0, Serialized)
6452             {
6453                 If (PMSX)
6454                 {
6455                     Local0 = 0xC8
6456                     While (Local0)
6457                     {
6458                         PMSX = One
6459                         If (PMSX)
6460                         {
6461                             Local0--
6462                         }
6463                         Else
6464                         {
6465                             Local0 = Zero
6466                         }
6467                     }
6468 
6469                     Notify (PXSX, 0x02) // Device Wake
6470                 }
6471             }
6472 
6473             Name (PR08, Package (0x04)
6474             {
6475                 Package (0x04)
6476                 {
6477                     0xFFFF, 
6478                     Zero, 
6479                     LNKD, 
6480                     Zero
6481                 }, 
6482 
6483                 Package (0x04)
6484                 {
6485                     0xFFFF, 
6486                     One, 
6487                     LNKA, 
6488                     Zero
6489                 }, 
6490 
6491                 Package (0x04)
6492                 {
6493                     0xFFFF, 
6494                     0x02, 
6495                     LNKB, 
6496                     Zero
6497                 }, 
6498 
6499                 Package (0x04)
6500                 {
6501                     0xFFFF, 
6502                     0x03, 
6503                     LNKC, 
6504                     Zero
6505                 }
6506             })
6507             Name (AR08, Package (0x04)
6508             {
6509                 Package (0x04)
6510                 {
6511                     0xFFFF, 
6512                     Zero, 
6513                     Zero, 
6514                     0x13
6515                 }, 
6516 
6517                 Package (0x04)
6518                 {
6519                     0xFFFF, 
6520                     One, 
6521                     Zero, 
6522                     0x10
6523                 }, 
6524 
6525                 Package (0x04)
6526                 {
6527                     0xFFFF, 
6528                     0x02, 
6529                     Zero, 
6530                     0x11
6531                 }, 
6532 
6533                 Package (0x04)
6534                 {
6535                     0xFFFF, 
6536                     0x03, 
6537                     Zero, 
6538                     0x12
6539                 }
6540             })
6541             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6542             {
6543                 If (PICM)
6544                 {
6545                     Return (AR08) /* \_SB_.PCI0.RP04.AR08 */
6546                 }
6547 
6548                 Return (PR08) /* \_SB_.PCI0.RP04.PR08 */
6549             }
6550         }
6551 
6552         Device (RP05)
6553         {
6554             Name (_ADR, 0x001C0004)  // _ADR: Address
6555             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6556             Field (PXCS, AnyAcc, NoLock, Preserve)
6557             {
6558                 Offset (0x10), 
6559                 L0SE,   1, 
6560                 Offset (0x11), 
6561                 Offset (0x12), 
6562                     ,   13, 
6563                 LASX,   1, 
6564                 Offset (0x1A), 
6565                 ABPX,   1, 
6566                     ,   2, 
6567                 PDCX,   1, 
6568                     ,   2, 
6569                 PDSX,   1, 
6570                 Offset (0x1B), 
6571                 Offset (0x20), 
6572                 Offset (0x22), 
6573                 PSPX,   1, 
6574                 Offset (0x98), 
6575                     ,   30, 
6576                 HPEX,   1, 
6577                 PMEX,   1
6578             }
6579 
6580             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6581             {
6582                 Offset (0x9C), 
6583                     ,   30, 
6584                 HPSX,   1, 
6585                 PMSX,   1
6586             }
6587 
6588             Device (PXSX)
6589             {
6590                 Name (_ADR, Zero)  // _ADR: Address
6591                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6592                 {
6593                     0x09, 
6594                     0x03
6595                 })
6596             }
6597 
6598             Method (HPME, 0, Serialized)
6599             {
6600                 If (PMSX)
6601                 {
6602                     Local0 = 0xC8
6603                     While (Local0)
6604                     {
6605                         PMSX = One
6606                         If (PMSX)
6607                         {
6608                             Local0--
6609                         }
6610                         Else
6611                         {
6612                             Local0 = Zero
6613                         }
6614                     }
6615 
6616                     Notify (PXSX, 0x02) // Device Wake
6617                 }
6618             }
6619 
6620             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
6621             {
6622                 If (PMEE)
6623                 {
6624                     Return (Package (0x02)
6625                     {
6626                         0x09, 
6627                         0x04
6628                     })
6629                 }
6630                 Else
6631                 {
6632                     Return (Package (0x02)
6633                     {
6634                         0x09, 
6635                         Zero
6636                     })
6637                 }
6638             }
6639 
6640             Name (PR09, Package (0x04)
6641             {
6642                 Package (0x04)
6643                 {
6644                     0xFFFF, 
6645                     Zero, 
6646                     LNKA, 
6647                     Zero
6648                 }, 
6649 
6650                 Package (0x04)
6651                 {
6652                     0xFFFF, 
6653                     One, 
6654                     LNKB, 
6655                     Zero
6656                 }, 
6657 
6658                 Package (0x04)
6659                 {
6660                     0xFFFF, 
6661                     0x02, 
6662                     LNKC, 
6663                     Zero
6664                 }, 
6665 
6666                 Package (0x04)
6667                 {
6668                     0xFFFF, 
6669                     0x03, 
6670                     LNKD, 
6671                     Zero
6672                 }
6673             })
6674             Name (AR09, Package (0x04)
6675             {
6676                 Package (0x04)
6677                 {
6678                     0xFFFF, 
6679                     Zero, 
6680                     Zero, 
6681                     0x10
6682                 }, 
6683 
6684                 Package (0x04)
6685                 {
6686                     0xFFFF, 
6687                     One, 
6688                     Zero, 
6689                     0x11
6690                 }, 
6691 
6692                 Package (0x04)
6693                 {
6694                     0xFFFF, 
6695                     0x02, 
6696                     Zero, 
6697                     0x12
6698                 }, 
6699 
6700                 Package (0x04)
6701                 {
6702                     0xFFFF, 
6703                     0x03, 
6704                     Zero, 
6705                     0x13
6706                 }
6707             })
6708             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6709             {
6710                 If (PICM)
6711                 {
6712                     Return (AR09) /* \_SB_.PCI0.RP05.AR09 */
6713                 }
6714 
6715                 Return (PR09) /* \_SB_.PCI0.RP05.PR09 */
6716             }
6717         }
6718 
6719         Device (RP06)
6720         {
6721             Name (_ADR, 0x001C0005)  // _ADR: Address
6722             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6723             Field (PXCS, AnyAcc, NoLock, Preserve)
6724             {
6725                 Offset (0x10), 
6726                 L0SE,   1, 
6727                 Offset (0x11), 
6728                 Offset (0x12), 
6729                     ,   13, 
6730                 LASX,   1, 
6731                 Offset (0x1A), 
6732                 ABPX,   1, 
6733                     ,   2, 
6734                 PDCX,   1, 
6735                     ,   2, 
6736                 PDSX,   1, 
6737                 Offset (0x1B), 
6738                 Offset (0x20), 
6739                 Offset (0x22), 
6740                 PSPX,   1, 
6741                 Offset (0x98), 
6742                     ,   30, 
6743                 HPEX,   1, 
6744                 PMEX,   1
6745             }
6746 
6747             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6748             {
6749                 Offset (0x9C), 
6750                     ,   30, 
6751                 HPSX,   1, 
6752                 PMSX,   1
6753             }
6754 
6755             Device (PXSX)
6756             {
6757                 Name (_ADR, Zero)  // _ADR: Address
6758                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6759                 {
6760                     0x09, 
6761                     0x03
6762                 })
6763             }
6764 
6765             Method (HPME, 0, Serialized)
6766             {
6767                 If (PMSX)
6768                 {
6769                     Local0 = 0xC8
6770                     While (Local0)
6771                     {
6772                         PMSX = One
6773                         If (PMSX)
6774                         {
6775                             Local0--
6776                         }
6777                         Else
6778                         {
6779                             Local0 = Zero
6780                         }
6781                     }
6782 
6783                     Notify (PXSX, 0x02) // Device Wake
6784                 }
6785             }
6786 
6787             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
6788             {
6789                 If (PMEE)
6790                 {
6791                     Return (Package (0x02)
6792                     {
6793                         0x09, 
6794                         0x04
6795                     })
6796                 }
6797                 Else
6798                 {
6799                     Return (Package (0x02)
6800                     {
6801                         0x09, 
6802                         Zero
6803                     })
6804                 }
6805             }
6806 
6807             Name (PR0C, Package (0x04)
6808             {
6809                 Package (0x04)
6810                 {
6811                     0xFFFF, 
6812                     Zero, 
6813                     LNKB, 
6814                     Zero
6815                 }, 
6816 
6817                 Package (0x04)
6818                 {
6819                     0xFFFF, 
6820                     One, 
6821                     LNKC, 
6822                     Zero
6823                 }, 
6824 
6825                 Package (0x04)
6826                 {
6827                     0xFFFF, 
6828                     0x02, 
6829                     LNKD, 
6830                     Zero
6831                 }, 
6832 
6833                 Package (0x04)
6834                 {
6835                     0xFFFF, 
6836                     0x03, 
6837                     LNKA, 
6838                     Zero
6839                 }
6840             })
6841             Name (AR0C, Package (0x04)
6842             {
6843                 Package (0x04)
6844                 {
6845                     0xFFFF, 
6846                     Zero, 
6847                     Zero, 
6848                     0x11
6849                 }, 
6850 
6851                 Package (0x04)
6852                 {
6853                     0xFFFF, 
6854                     One, 
6855                     Zero, 
6856                     0x12
6857                 }, 
6858 
6859                 Package (0x04)
6860                 {
6861                     0xFFFF, 
6862                     0x02, 
6863                     Zero, 
6864                     0x13
6865                 }, 
6866 
6867                 Package (0x04)
6868                 {
6869                     0xFFFF, 
6870                     0x03, 
6871                     Zero, 
6872                     0x10
6873                 }
6874             })
6875             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6876             {
6877                 If (PICM)
6878                 {
6879                     Return (AR0C) /* \_SB_.PCI0.RP06.AR0C */
6880                 }
6881 
6882                 Return (PR0C) /* \_SB_.PCI0.RP06.PR0C */
6883             }
6884         }
6885 
6886         Device (RP07)
6887         {
6888             Name (_ADR, 0x001C0006)  // _ADR: Address
6889             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
6890             Field (PXCS, AnyAcc, NoLock, Preserve)
6891             {
6892                 Offset (0x10), 
6893                 L0SE,   1, 
6894                 Offset (0x11), 
6895                 Offset (0x12), 
6896                     ,   13, 
6897                 LASX,   1, 
6898                 Offset (0x1A), 
6899                 ABPX,   1, 
6900                     ,   2, 
6901                 PDCX,   1, 
6902                     ,   2, 
6903                 PDSX,   1, 
6904                 Offset (0x1B), 
6905                 Offset (0x20), 
6906                 Offset (0x22), 
6907                 PSPX,   1, 
6908                 Offset (0x98), 
6909                     ,   30, 
6910                 HPEX,   1, 
6911                 PMEX,   1
6912             }
6913 
6914             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
6915             {
6916                 Offset (0x9C), 
6917                     ,   30, 
6918                 HPSX,   1, 
6919                 PMSX,   1
6920             }
6921 
6922             Device (PXSX)
6923             {
6924                 Name (_ADR, Zero)  // _ADR: Address
6925                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
6926                 {
6927                     0x09, 
6928                     0x03
6929                 })
6930             }
6931 
6932             Method (HPME, 0, Serialized)
6933             {
6934                 If (PMSX)
6935                 {
6936                     Local0 = 0xC8
6937                     While (Local0)
6938                     {
6939                         PMSX = One
6940                         If (PMSX)
6941                         {
6942                             Local0--
6943                         }
6944                         Else
6945                         {
6946                             Local0 = Zero
6947                         }
6948                     }
6949 
6950                     Notify (PXSX, 0x02) // Device Wake
6951                 }
6952             }
6953 
6954             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
6955             {
6956                 If (PMEE)
6957                 {
6958                     Return (Package (0x02)
6959                     {
6960                         0x09, 
6961                         0x04
6962                     })
6963                 }
6964                 Else
6965                 {
6966                     Return (Package (0x02)
6967                     {
6968                         0x09, 
6969                         Zero
6970                     })
6971                 }
6972             }
6973 
6974             Name (PR0D, Package (0x04)
6975             {
6976                 Package (0x04)
6977                 {
6978                     0xFFFF, 
6979                     Zero, 
6980                     LNKC, 
6981                     Zero
6982                 }, 
6983 
6984                 Package (0x04)
6985                 {
6986                     0xFFFF, 
6987                     One, 
6988                     LNKD, 
6989                     Zero
6990                 }, 
6991 
6992                 Package (0x04)
6993                 {
6994                     0xFFFF, 
6995                     0x02, 
6996                     LNKE, 
6997                     Zero
6998                 }, 
6999 
7000                 Package (0x04)
7001                 {
7002                     0xFFFF, 
7003                     0x03, 
7004                     LNKF, 
7005                     Zero
7006                 }
7007             })
7008             Name (AR0D, Package (0x04)
7009             {
7010                 Package (0x04)
7011                 {
7012                     0xFFFF, 
7013                     Zero, 
7014                     Zero, 
7015                     0x12
7016                 }, 
7017 
7018                 Package (0x04)
7019                 {
7020                     0xFFFF, 
7021                     One, 
7022                     Zero, 
7023                     0x13
7024                 }, 
7025 
7026                 Package (0x04)
7027                 {
7028                     0xFFFF, 
7029                     0x02, 
7030                     Zero, 
7031                     0x14
7032                 }, 
7033 
7034                 Package (0x04)
7035                 {
7036                     0xFFFF, 
7037                     0x03, 
7038                     Zero, 
7039                     0x15
7040                 }
7041             })
7042             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
7043             {
7044                 If (PICM)
7045                 {
7046                     Return (AR0D) /* \_SB_.PCI0.RP07.AR0D */
7047                 }
7048 
7049                 Return (PR0D) /* \_SB_.PCI0.RP07.PR0D */
7050             }
7051         }
7052 
7053         Device (RP08)
7054         {
7055             Name (_ADR, 0x001C0007)  // _ADR: Address
7056             OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
7057             Field (PXCS, AnyAcc, NoLock, Preserve)
7058             {
7059                 Offset (0x10), 
7060                 L0SE,   1, 
7061                 Offset (0x11), 
7062                 Offset (0x12), 
7063                     ,   13, 
7064                 LASX,   1, 
7065                 Offset (0x1A), 
7066                 ABPX,   1, 
7067                     ,   2, 
7068                 PDCX,   1, 
7069                     ,   2, 
7070                 PDSX,   1, 
7071                 Offset (0x1B), 
7072                 Offset (0x20), 
7073                 Offset (0x22), 
7074                 PSPX,   1, 
7075                 Offset (0x98), 
7076                     ,   30, 
7077                 HPEX,   1, 
7078                 PMEX,   1
7079             }
7080 
7081             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
7082             {
7083                 Offset (0x9C), 
7084                     ,   30, 
7085                 HPSX,   1, 
7086                 PMSX,   1
7087             }
7088 
7089             Device (PXSX)
7090             {
7091                 Name (_ADR, Zero)  // _ADR: Address
7092                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7093                 {
7094                     0x09, 
7095                     0x03
7096                 })
7097             }
7098 
7099             Method (HPME, 0, Serialized)
7100             {
7101                 If (PMSX)
7102                 {
7103                     Local0 = 0xC8
7104                     While (Local0)
7105                     {
7106                         PMSX = One
7107                         If (PMSX)
7108                         {
7109                             Local0--
7110                         }
7111                         Else
7112                         {
7113                             Local0 = Zero
7114                         }
7115                     }
7116 
7117                     Notify (PXSX, 0x02) // Device Wake
7118                 }
7119             }
7120 
7121             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
7122             {
7123                 If (PMEE)
7124                 {
7125                     Return (Package (0x02)
7126                     {
7127                         0x09, 
7128                         0x04
7129                     })
7130                 }
7131                 Else
7132                 {
7133                     Return (Package (0x02)
7134                     {
7135                         0x09, 
7136                         Zero
7137                     })
7138                 }
7139             }
7140 
7141             Name (PR0E, Package (0x04)
7142             {
7143                 Package (0x04)
7144                 {
7145                     0xFFFF, 
7146                     Zero, 
7147                     LNKD, 
7148                     Zero
7149                 }, 
7150 
7151                 Package (0x04)
7152                 {
7153                     0xFFFF, 
7154                     One, 
7155                     LNKA, 
7156                     Zero
7157                 }, 
7158 
7159                 Package (0x04)
7160                 {
7161                     0xFFFF, 
7162                     0x02, 
7163                     LNKB, 
7164                     Zero
7165                 }, 
7166 
7167                 Package (0x04)
7168                 {
7169                     0xFFFF, 
7170                     0x03, 
7171                     LNKC, 
7172                     Zero
7173                 }
7174             })
7175             Name (AR0E, Package (0x04)
7176             {
7177                 Package (0x04)
7178                 {
7179                     0xFFFF, 
7180                     Zero, 
7181                     Zero, 
7182                     0x13
7183                 }, 
7184 
7185                 Package (0x04)
7186                 {
7187                     0xFFFF, 
7188                     One, 
7189                     Zero, 
7190                     0x10
7191                 }, 
7192 
7193                 Package (0x04)
7194                 {
7195                     0xFFFF, 
7196                     0x02, 
7197                     Zero, 
7198                     0x11
7199                 }, 
7200 
7201                 Package (0x04)
7202                 {
7203                     0xFFFF, 
7204                     0x03, 
7205                     Zero, 
7206                     0x12
7207                 }
7208             })
7209             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
7210             {
7211                 If (PICM)
7212                 {
7213                     Return (AR0E) /* \_SB_.PCI0.RP08.AR0E */
7214                 }
7215 
7216                 Return (PR0E) /* \_SB_.PCI0.RP08.PR0E */
7217             }
7218         }
7219 
7220         Device (SAT0)
7221         {
7222             Name (_ADR, 0x001F0002)  // _ADR: Address
7223         }
7224 
7225         Device (SAT1)
7226         {
7227             Name (_ADR, 0x001F0005)  // _ADR: Address
7228         }
7229 
7230         Device (SBUS)
7231         {
7232             Name (_ADR, 0x001F0003)  // _ADR: Address
7233             OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
7234             Field (SMBP, DWordAcc, NoLock, Preserve)
7235             {
7236                     ,   2, 
7237                 I2CE,   1
7238             }
7239 
7240             OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
7241             Field (SMPB, DWordAcc, NoLock, Preserve)
7242             {
7243                     ,   5, 
7244                 SBAR,   11
7245             }
7246 
7247             OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
7248             Field (SMBI, ByteAcc, NoLock, Preserve)
7249             {
7250                 HSTS,   8, 
7251                 Offset (0x02), 
7252                 HCON,   8, 
7253                 HCOM,   8, 
7254                 TXSA,   8, 
7255                 DAT0,   8, 
7256                 DAT1,   8, 
7257                 HBDR,   8, 
7258                 PECR,   8, 
7259                 RXSA,   8, 
7260                 SDAT,   16
7261             }
7262 
7263             Method (SSXB, 2, Serialized)
7264             {
7265                 If (STRT ())
7266                 {
7267                     Return (Zero)
7268                 }
7269 
7270                 I2CE = Zero
7271                 HSTS = 0xBF
7272                 TXSA = Arg0
7273                 HCOM = Arg1
7274                 HCON = 0x48
7275                 If (COMP ())
7276                 {
7277                     HSTS |= 0xFF
7278                     Return (One)
7279                 }
7280 
7281                 Return (Zero)
7282             }
7283 
7284             Method (SRXB, 1, Serialized)
7285             {
7286                 If (STRT ())
7287                 {
7288                     Return (0xFFFF)
7289                 }
7290 
7291                 I2CE = Zero
7292                 HSTS = 0xBF
7293                 TXSA = (Arg0 | One)
7294                 HCON = 0x44
7295                 If (COMP ())
7296                 {
7297                     HSTS |= 0xFF
7298                     Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
7299                 }
7300 
7301                 Return (0xFFFF)
7302             }
7303 
7304             Method (SWRB, 3, Serialized)
7305             {
7306                 If (STRT ())
7307                 {
7308                     Return (Zero)
7309                 }
7310 
7311                 I2CE = Zero
7312                 HSTS = 0xBF
7313                 TXSA = Arg0
7314                 HCOM = Arg1
7315                 DAT0 = Arg2
7316                 HCON = 0x48
7317                 If (COMP ())
7318                 {
7319                     HSTS |= 0xFF
7320                     Return (One)
7321                 }
7322 
7323                 Return (Zero)
7324             }
7325 
7326             Method (SRDB, 2, Serialized)
7327             {
7328                 If (STRT ())
7329                 {
7330                     Return (0xFFFF)
7331                 }
7332 
7333                 I2CE = Zero
7334                 HSTS = 0xBF
7335                 TXSA = (Arg0 | One)
7336                 HCOM = Arg1
7337                 HCON = 0x48
7338                 If (COMP ())
7339                 {
7340                     HSTS |= 0xFF
7341                     Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
7342                 }
7343 
7344                 Return (0xFFFF)
7345             }
7346 
7347             Method (SWRW, 3, Serialized)
7348             {
7349                 If (STRT ())
7350                 {
7351                     Return (Zero)
7352                 }
7353 
7354                 I2CE = Zero
7355                 HSTS = 0xBF
7356                 TXSA = Arg0
7357                 HCOM = Arg1
7358                 DAT1 = (Arg2 & 0xFF)
7359                 DAT0 = ((Arg2 >> 0x08) & 0xFF)
7360                 HCON = 0x4C
7361                 If (COMP ())
7362                 {
7363                     HSTS |= 0xFF
7364                     Return (One)
7365                 }
7366 
7367                 Return (Zero)
7368             }
7369 
7370             Method (SRDW, 2, Serialized)
7371             {
7372                 If (STRT ())
7373                 {
7374                     Return (0xFFFF)
7375                 }
7376 
7377                 I2CE = Zero
7378                 HSTS = 0xBF
7379                 TXSA = (Arg0 | One)
7380                 HCOM = Arg1
7381                 HCON = 0x4C
7382                 If (COMP ())
7383                 {
7384                     HSTS |= 0xFF
7385                     Return (((DAT0 << 0x08) | DAT1))
7386                 }
7387 
7388                 Return (Ones)
7389             }
7390 
7391             Method (SBLW, 4, Serialized)
7392             {
7393                 If (STRT ())
7394                 {
7395                     Return (Zero)
7396                 }
7397 
7398                 I2CE = Arg3
7399                 HSTS = 0xBF
7400                 TXSA = Arg0
7401                 HCOM = Arg1
7402                 DAT0 = SizeOf (Arg2)
7403                 Local1 = Zero
7404                 HBDR = DerefOf (Index (Arg2, Zero))
7405                 HCON = 0x54
7406                 While ((SizeOf (Arg2) > Local1))
7407                 {
7408                     Local0 = 0x0FA0
7409                     While ((!(HSTS & 0x80) && Local0))
7410                     {
7411                         Local0--
7412                         Stall (0x32)
7413                     }
7414 
7415                     If (!Local0)
7416                     {
7417                         KILL ()
7418                         Return (Zero)
7419                     }
7420 
7421                     HSTS = 0x80
7422                     Local1++
7423                     If ((SizeOf (Arg2) > Local1))
7424                     {
7425                         HBDR = DerefOf (Index (Arg2, Local1))
7426                     }
7427                 }
7428 
7429                 If (COMP ())
7430                 {
7431                     HSTS |= 0xFF
7432                     Return (One)
7433                 }
7434 
7435                 Return (Zero)
7436             }
7437 
7438             Method (SBLR, 3, Serialized)
7439             {
7440                 Name (TBUF, Buffer (0x0100) {})
7441                 If (STRT ())
7442                 {
7443                     Return (Zero)
7444                 }
7445 
7446                 I2CE = Arg2
7447                 HSTS = 0xBF
7448                 TXSA = (Arg0 | One)
7449                 HCOM = Arg1
7450                 HCON = 0x54
7451                 Local0 = 0x0FA0
7452                 While ((!(HSTS & 0x80) && Local0))
7453                 {
7454                     Local0--
7455                     Stall (0x32)
7456                 }
7457 
7458                 If (!Local0)
7459                 {
7460                     KILL ()
7461                     Return (Zero)
7462                 }
7463 
7464                 Index (TBUF, Zero) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
7465                 HSTS = 0x80
7466                 Local1 = One
7467                 While ((Local1 < DerefOf (Index (TBUF, Zero))))
7468                 {
7469                     Local0 = 0x0FA0
7470                     While ((!(HSTS & 0x80) && Local0))
7471                     {
7472                         Local0--
7473                         Stall (0x32)
7474                     }
7475 
7476                     If (!Local0)
7477                     {
7478                         KILL ()
7479                         Return (Zero)
7480                     }
7481 
7482                     Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */
7483                     HSTS = 0x80
7484                     Local1++
7485                 }
7486 
7487                 If (COMP ())
7488                 {
7489                     HSTS |= 0xFF
7490                     Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
7491                 }
7492 
7493                 Return (Zero)
7494             }
7495 
7496             Method (STRT, 0, Serialized)
7497             {
7498                 Local0 = 0xC8
7499                 While (Local0)
7500                 {
7501                     If ((HSTS & 0x40))
7502                     {
7503                         Local0--
7504                         Sleep (One)
7505                         If ((Local0 == Zero))
7506                         {
7507                             Return (One)
7508                         }
7509                     }
7510                     Else
7511                     {
7512                         Local0 = Zero
7513                     }
7514                 }
7515 
7516                 Local0 = 0x0FA0
7517                 While (Local0)
7518                 {
7519                     If ((HSTS & One))
7520                     {
7521                         Local0--
7522                         Stall (0x32)
7523                         If ((Local0 == Zero))
7524                         {
7525                             KILL ()
7526                         }
7527                     }
7528                     Else
7529                     {
7530                         Return (Zero)
7531                     }
7532                 }
7533 
7534                 Return (One)
7535             }
7536 
7537             Method (COMP, 0, Serialized)
7538             {
7539                 Local0 = 0x0FA0
7540                 While (Local0)
7541                 {
7542                     If ((HSTS & 0x02))
7543                     {
7544                         Return (One)
7545                     }
7546                     Else
7547                     {
7548                         Local0--
7549                         Stall (0x32)
7550                         If ((Local0 == Zero))
7551                         {
7552                             KILL ()
7553                         }
7554                     }
7555                 }
7556 
7557                 Return (Zero)
7558             }
7559 
7560             Method (KILL, 0, Serialized)
7561             {
7562                 HCON |= 0x02
7563                 HSTS |= 0xFF
7564             }
7565         }
7566     }
7567 
7568     Name (BUFN, Zero)
7569     Name (MBUF, Buffer (0x1000) {})
7570     OperationRegion (MDBG, SystemMemory, 0xCAFB9018, 0x00001004)
7571     Field (MDBG, AnyAcc, Lock, Preserve)
7572     {
7573         MDG0,   32768
7574     }
7575 
7576     Method (DB2H, 1, Serialized)
7577     {
7578         SHOW (Arg0)
7579         MDGC (0x20)
7580     }
7581 
7582     Method (DW2H, 1, Serialized)
7583     {
7584         Local0 = Arg0
7585         Local1 = (Arg0 >> 0x08)
7586         Local0 &= 0xFF
7587         Local1 &= 0xFF
7588         DB2H (Local1)
7589         BUFN--
7590         DB2H (Local0)
7591     }
7592 
7593     Method (DD2H, 1, Serialized)
7594     {
7595         Local0 = Arg0
7596         Local1 = (Arg0 >> 0x10)
7597         Local0 &= 0xFFFF
7598         Local1 &= 0xFFFF
7599         DW2H (Local1)
7600         BUFN--
7601         DW2H (Local0)
7602     }
7603 
7604     Method (MBGS, 1, Serialized)
7605     {
7606         Local0 = SizeOf (Arg0)
7607         Name (BUFS, Buffer (Local0) {})
7608         BUFS = Arg0
7609         MDGC (0x20)
7610         While (Local0)
7611         {
7612             MDGC (DerefOf (Index (BUFS, (SizeOf (Arg0) - Local0))))
7613             Local0--
7614         }
7615     }
7616 
7617     Method (SHOW, 1, Serialized)
7618     {
7619         MDGC (NTOC ((Arg0 >> 0x04)))
7620         MDGC (NTOC (Arg0))
7621     }
7622 
7623     Method (LINE, 0, Serialized)
7624     {
7625         Local0 = BUFN /* \BUFN */
7626         Local0 &= 0x0F
7627         While (Local0)
7628         {
7629             MDGC (Zero)
7630             Local0++
7631             Local0 &= 0x0F
7632         }
7633     }
7634 
7635     Method (MDGC, 1, Serialized)
7636     {
7637         Index (MBUF, BUFN) = Arg0
7638         BUFN += One
7639         If ((BUFN > 0x0FFF))
7640         {
7641             BUFN &= 0x0FFF
7642             UP_L (One)
7643         }
7644     }
7645 
7646     Method (UP_L, 1, Serialized)
7647     {
7648         Local2 = Arg0
7649         Local2 <<= 0x04
7650         MOVE (Local2)
7651         Local3 = (0x1000 - Local2)
7652         While (Local2)
7653         {
7654             Index (MBUF, Local3) = Zero
7655             Local3++
7656             Local2--
7657         }
7658     }
7659 
7660     Method (MOVE, 1, Serialized)
7661     {
7662         Local4 = Arg0
7663         BUFN = Zero
7664         Local5 = (0x1000 - Local4)
7665         While (Local5)
7666         {
7667             Local5--
7668             Index (MBUF, BUFN) = DerefOf (Index (MBUF, Local4))
7669             BUFN++
7670             Local4++
7671         }
7672     }
7673 
7674     Method (NTOC, 1, Serialized)
7675     {
7676         Local0 = (Arg0 & 0x0F)
7677         If ((Local0 < 0x0A))
7678         {
7679             Local0 += 0x30
7680         }
7681         Else
7682         {
7683             Local0 += 0x37
7684         }
7685 
7686         Return (Local0)
7687     }
7688 
7689     Scope (_SB.PCI0)
7690     {
7691         Device (PEG0)
7692         {
7693             Name (_ADR, 0x00010000)  // _ADR: Address
7694             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7695             {
7696                 0x09, 
7697                 0x04
7698             })
7699             Name (PR0A, Package (0x04)
7700             {
7701                 Package (0x04)
7702                 {
7703                     0xFFFF, 
7704                     Zero, 
7705                     LNKA, 
7706                     Zero
7707                 }, 
7708 
7709                 Package (0x04)
7710                 {
7711                     0xFFFF, 
7712                     One, 
7713                     LNKB, 
7714                     Zero
7715                 }, 
7716 
7717                 Package (0x04)
7718                 {
7719                     0xFFFF, 
7720                     0x02, 
7721                     LNKC, 
7722                     Zero
7723                 }, 
7724 
7725                 Package (0x04)
7726                 {
7727                     0xFFFF, 
7728                     0x03, 
7729                     LNKD, 
7730                     Zero
7731                 }
7732             })
7733             Name (AR0A, Package (0x04)
7734             {
7735                 Package (0x04)
7736                 {
7737                     0xFFFF, 
7738                     Zero, 
7739                     Zero, 
7740                     0x10
7741                 }, 
7742 
7743                 Package (0x04)
7744                 {
7745                     0xFFFF, 
7746                     One, 
7747                     Zero, 
7748                     0x11
7749                 }, 
7750 
7751                 Package (0x04)
7752                 {
7753                     0xFFFF, 
7754                     0x02, 
7755                     Zero, 
7756                     0x12
7757                 }, 
7758 
7759                 Package (0x04)
7760                 {
7761                     0xFFFF, 
7762                     0x03, 
7763                     Zero, 
7764                     0x13
7765                 }
7766             })
7767             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
7768             {
7769                 If (PICM)
7770                 {
7771                     Return (AR0A) /* \_SB_.PCI0.PEG0.AR0A */
7772                 }
7773 
7774                 Return (PR0A) /* \_SB_.PCI0.PEG0.PR0A */
7775             }
7776 
7777             Device (PEGP)
7778             {
7779                 Name (_ADR, Zero)  // _ADR: Address
7780                 OperationRegion (DGFX, PCI_Config, Zero, 0xF0)
7781                 Field (DGFX, DWordAcc, Lock, Preserve)
7782                 {
7783                     Offset (0x0B), 
7784                     LNKV,   8
7785                 }
7786 
7787                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7788                 {
7789                     0x09, 
7790                     0x04
7791                 })
7792                 OperationRegion (GPID, PCI_Config, Zero, 0x3F)
7793                 Field (GPID, AnyAcc, NoLock, Preserve)
7794                 {
7795                     GID1,   16, 
7796                     GID2,   16, 
7797                     Offset (0x2E), 
7798                     GID3,   16
7799                 }
7800             }
7801 
7802             Device (VGA1)
7803             {
7804                 Name (_ADR, One)  // _ADR: Address
7805                 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
7806                 Field (PSID, AnyAcc, NoLock, Preserve)
7807                 {
7808                     NVID,   32, 
7809                     Offset (0x0C), 
7810                     SVID,   16, 
7811                     SSID,   16, 
7812                     Offset (0x28), 
7813                     D1LX,   8
7814                 }
7815 
7816                 Method (_STA, 0, NotSerialized)  // _STA: Status
7817                 {
7818                     Local0 = GP38 /* \GP38 */
7819                     Local1 = GP67 /* \GP67 */
7820                     If (((Local0 == One) && (Local1 == Zero)))
7821                     {
7822                         Return (0x0F)
7823                     }
7824                     Else
7825                     {
7826                         Return (Zero)
7827                     }
7828                 }
7829             }
7830 
7831             Device (VGA)
7832             {
7833                 Name (_ADR, Zero)  // _ADR: Address
7834                 OperationRegion (PVID, PCI_Config, Zero, 0x04)
7835                 Field (PVID, AnyAcc, NoLock, Preserve)
7836                 {
7837                     DVI0,   16, 
7838                     DVI1,   16
7839                 }
7840 
7841                 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
7842                 Field (PSID, AnyAcc, NoLock, Preserve)
7843                 {
7844                     SVD2,   16, 
7845                     SSD2,   16, 
7846                     Offset (0x0C), 
7847                     SVID,   16, 
7848                     SSID,   16, 
7849                     Offset (0x28), 
7850                     D0LX,   8, 
7851                     Offset (0x48), 
7852                     LNKS,   2
7853                 }
7854 
7855                 Method (_STA, 0, NotSerialized)  // _STA: Status
7856                 {
7857                     Local0 = GP38 /* \GP38 */
7858                     Local1 = GP67 /* \GP67 */
7859                     If (((Local0 == One) && (Local1 == Zero)))
7860                     {
7861                         Return (0x0F)
7862                     }
7863                     Else
7864                     {
7865                         Return (Zero)
7866                     }
7867                 }
7868 
7869                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
7870                 {
7871                     DSEN = (Arg0 & 0x07)
7872                 }
7873 
7874                 Name (DOD0, Package (0x03)
7875                 {
7876                     0x0110, 
7877                     0x0100, 
7878                     0x80007330
7879                 })
7880                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
7881                 {
7882                     Return (DOD0) /* \_SB_.PCI0.PEG0.VGA_.DOD0 */
7883                 }
7884 
7885                 Device (LCD)
7886                 {
7887                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
7888                     {
7889                         Return (0x0110)
7890                     }
7891 
7892                     Method (LVLS, 1, NotSerialized)
7893                     {
7894                         Local0 = One
7895                         Local1 = Zero
7896                         If ((OSYS == 0x07DC))
7897                         {
7898                             Local5 = 0x14
7899                             Local6 = PLV2 /* \PLV2 */
7900                         }
7901                         Else
7902                         {
7903                             Local5 = 0x0F
7904                             Local6 = PLVL /* \PLVL */
7905                         }
7906 
7907                         While (Local0)
7908                         {
7909                             Local2 = (Local1 + 0x02)
7910                             Local3 = DerefOf (Index (Local6, Local2))
7911                             Local4 = (Arg0 & 0xFF)
7912                             If ((Local4 == Local3))
7913                             {
7914                                 Local0 = Zero
7915                             }
7916 
7917                             Local3 -= One
7918                             If ((Local4 == Local3))
7919                             {
7920                                 Local0 = Zero
7921                             }
7922 
7923                             If ((Local1 >= Local5))
7924                             {
7925                                 Local0 = Zero
7926                             }
7927 
7928                             If (Local0)
7929                             {
7930                                 Local1 += One
7931                             }
7932                         }
7933 
7934                         Return (Local1)
7935                     }
7936 
7937                     Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
7938                     {
7939                         If ((OSYS != 0x07DC))
7940                         {
7941                             Return (PLVL) /* \PLVL */
7942                         }
7943                         Else
7944                         {
7945                             Return (PLV2) /* \PLV2 */
7946                         }
7947                     }
7948 
7949                     Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
7950                     {
7951                         If (IGDS)
7952                         {
7953                             Local1 = ^^^^GFX0.DD02.LVLS (Arg0)
7954                             ^^^^LPCB.EC0.BRTS = Local1
7955                             ^^^^GFX0.AINT (One, Arg0)
7956                         }
7957                         Else
7958                         {
7959                             Local1 = LVLS (Arg0)
7960                             ^^^^LPCB.EC0.BRTS = Local1
7961                         }
7962 
7963                         BRTL = Arg0
7964                     }
7965 
7966                     Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
7967                     {
7968                         Return (BRTL) /* \BRTL */
7969                     }
7970                 }
7971             }
7972         }
7973 
7974         Device (PEG1)
7975         {
7976             Name (_ADR, 0x00010001)  // _ADR: Address
7977             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7978             {
7979                 0x09, 
7980                 0x04
7981             })
7982             Name (PR02, Package (0x04)
7983             {
7984                 Package (0x04)
7985                 {
7986                     0xFFFF, 
7987                     Zero, 
7988                     LNKB, 
7989                     Zero
7990                 }, 
7991 
7992                 Package (0x04)
7993                 {
7994                     0xFFFF, 
7995                     One, 
7996                     LNKC, 
7997                     Zero
7998                 }, 
7999 
8000                 Package (0x04)
8001                 {
8002                     0xFFFF, 
8003                     0x02, 
8004                     LNKD, 
8005                     Zero
8006                 }, 
8007 
8008                 Package (0x04)
8009                 {
8010                     0xFFFF, 
8011                     0x03, 
8012                     LNKA, 
8013                     Zero
8014                 }
8015             })
8016             Name (AR02, Package (0x04)
8017             {
8018                 Package (0x04)
8019                 {
8020                     0xFFFF, 
8021                     Zero, 
8022                     Zero, 
8023                     0x11
8024                 }, 
8025 
8026                 Package (0x04)
8027                 {
8028                     0xFFFF, 
8029                     One, 
8030                     Zero, 
8031                     0x12
8032                 }, 
8033 
8034                 Package (0x04)
8035                 {
8036                     0xFFFF, 
8037                     0x02, 
8038                     Zero, 
8039                     0x13
8040                 }, 
8041 
8042                 Package (0x04)
8043                 {
8044                     0xFFFF, 
8045                     0x03, 
8046                     Zero, 
8047                     0x10
8048                 }
8049             })
8050             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8051             {
8052                 If (PICM)
8053                 {
8054                     Return (AR02) /* \_SB_.PCI0.PEG1.AR02 */
8055                 }
8056 
8057                 Return (PR02) /* \_SB_.PCI0.PEG1.PR02 */
8058             }
8059 
8060             Device (VGA1)
8061             {
8062                 Name (_ADR, One)  // _ADR: Address
8063                 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
8064                 Field (PSID, AnyAcc, NoLock, Preserve)
8065                 {
8066                     NVID,   32, 
8067                     Offset (0x0C), 
8068                     SVID,   16, 
8069                     SSID,   16, 
8070                     Offset (0x28), 
8071                     D1LX,   8
8072                 }
8073 
8074                 Method (_STA, 0, NotSerialized)  // _STA: Status
8075                 {
8076                     Local0 = GP38 /* \GP38 */
8077                     Local1 = GP67 /* \GP67 */
8078                     If (((Local0 == One) && (Local1 == Zero)))
8079                     {
8080                         Return (0x0F)
8081                     }
8082                     Else
8083                     {
8084                         Return (Zero)
8085                     }
8086                 }
8087             }
8088 
8089             Device (VGA)
8090             {
8091                 Name (_ADR, Zero)  // _ADR: Address
8092                 OperationRegion (PVID, PCI_Config, Zero, 0x04)
8093                 Field (PVID, AnyAcc, NoLock, Preserve)
8094                 {
8095                     DVI0,   16, 
8096                     DVI1,   16
8097                 }
8098 
8099                 OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
8100                 Field (PSID, AnyAcc, NoLock, Preserve)
8101                 {
8102                     SVD2,   16, 
8103                     SSD2,   16, 
8104                     Offset (0x0C), 
8105                     SVID,   16, 
8106                     SSID,   16, 
8107                     Offset (0x28), 
8108                     D0LX,   8, 
8109                     Offset (0x48), 
8110                     LNKS,   2
8111                 }
8112 
8113                 Method (_STA, 0, NotSerialized)  // _STA: Status
8114                 {
8115                     Local0 = GP38 /* \GP38 */
8116                     Local1 = GP67 /* \GP67 */
8117                     If (((Local0 == One) && (Local1 == Zero)))
8118                     {
8119                         Return (0x0F)
8120                     }
8121                     Else
8122                     {
8123                         Return (Zero)
8124                     }
8125                 }
8126 
8127                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
8128                 {
8129                     DSEN = (Arg0 & 0x07)
8130                 }
8131 
8132                 Name (DOD0, Package (0x03)
8133                 {
8134                     0x0110, 
8135                     0x0100, 
8136                     0x80007330
8137                 })
8138                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
8139                 {
8140                     Return (DOD0) /* \_SB_.PCI0.PEG1.VGA_.DOD0 */
8141                 }
8142 
8143                 Device (LCD)
8144                 {
8145                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
8146                     {
8147                         Return (0x0110)
8148                     }
8149 
8150                     Method (LVLS, 1, NotSerialized)
8151                     {
8152                         Local0 = One
8153                         Local1 = Zero
8154                         If ((OSYS == 0x07DC))
8155                         {
8156                             Local5 = 0x14
8157                             Local6 = PLV2 /* \PLV2 */
8158                         }
8159                         Else
8160                         {
8161                             Local5 = 0x0F
8162                             Local6 = PLVL /* \PLVL */
8163                         }
8164 
8165                         While (Local0)
8166                         {
8167                             Local2 = (Local1 + 0x02)
8168                             Local3 = DerefOf (Index (Local6, Local2))
8169                             Local4 = (Arg0 & 0xFF)
8170                             If ((Local4 == Local3))
8171                             {
8172                                 Local0 = Zero
8173                             }
8174 
8175                             Local3 -= One
8176                             If ((Local4 == Local3))
8177                             {
8178                                 Local0 = Zero
8179                             }
8180 
8181                             If ((Local1 >= Local5))
8182                             {
8183                                 Local0 = Zero
8184                             }
8185 
8186                             If (Local0)
8187                             {
8188                                 Local1 += One
8189                             }
8190                         }
8191 
8192                         Return (Local1)
8193                     }
8194 
8195                     Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
8196                     {
8197                         If ((OSYS != 0x07DC))
8198                         {
8199                             Return (PLVL) /* \PLVL */
8200                         }
8201                         Else
8202                         {
8203                             Return (PLV2) /* \PLV2 */
8204                         }
8205                     }
8206 
8207                     Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
8208                     {
8209                         If (IGDS)
8210                         {
8211                             Local1 = ^^^^GFX0.DD02.LVLS (Arg0)
8212                             ^^^^LPCB.EC0.BRTS = Local1
8213                             ^^^^GFX0.AINT (One, Arg0)
8214                         }
8215                         Else
8216                         {
8217                             Local1 = ^^^^PEG0.VGA.LCD.LVLS (Arg0)
8218                             ^^^^LPCB.EC0.BRTS = Local1
8219                         }
8220 
8221                         BRTL = Arg0
8222                     }
8223 
8224                     Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
8225                     {
8226                         Return (BRTL) /* \BRTL */
8227                     }
8228                 }
8229             }
8230         }
8231 
8232         Device (PEG2)
8233         {
8234             Name (_ADR, 0x00010002)  // _ADR: Address
8235             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8236             {
8237                 0x09, 
8238                 0x04
8239             })
8240             Name (PR03, Package (0x04)
8241             {
8242                 Package (0x04)
8243                 {
8244                     0xFFFF, 
8245                     Zero, 
8246                     LNKC, 
8247                     Zero
8248                 }, 
8249 
8250                 Package (0x04)
8251                 {
8252                     0xFFFF, 
8253                     One, 
8254                     LNKD, 
8255                     Zero
8256                 }, 
8257 
8258                 Package (0x04)
8259                 {
8260                     0xFFFF, 
8261                     0x02, 
8262                     LNKA, 
8263                     Zero
8264                 }, 
8265 
8266                 Package (0x04)
8267                 {
8268                     0xFFFF, 
8269                     0x03, 
8270                     LNKB, 
8271                     Zero
8272                 }
8273             })
8274             Name (AR03, Package (0x04)
8275             {
8276                 Package (0x04)
8277                 {
8278                     0xFFFF, 
8279                     Zero, 
8280                     Zero, 
8281                     0x12
8282                 }, 
8283 
8284                 Package (0x04)
8285                 {
8286                     0xFFFF, 
8287                     One, 
8288                     Zero, 
8289                     0x13
8290                 }, 
8291 
8292                 Package (0x04)
8293                 {
8294                     0xFFFF, 
8295                     0x02, 
8296                     Zero, 
8297                     0x10
8298                 }, 
8299 
8300                 Package (0x04)
8301                 {
8302                     0xFFFF, 
8303                     0x03, 
8304                     Zero, 
8305                     0x11
8306                 }
8307             })
8308             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8309             {
8310                 If (PICM)
8311                 {
8312                     Return (AR03) /* \_SB_.PCI0.PEG2.AR03 */
8313                 }
8314 
8315                 Return (PR03) /* \_SB_.PCI0.PEG2.PR03 */
8316             }
8317         }
8318 
8319         Device (PEG3)
8320         {
8321             Name (_ADR, 0x00060000)  // _ADR: Address
8322             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8323             {
8324                 0x09, 
8325                 0x04
8326             })
8327             Name (PR0B, Package (0x04)
8328             {
8329                 Package (0x04)
8330                 {
8331                     0xFFFF, 
8332                     Zero, 
8333                     LNKD, 
8334                     Zero
8335                 }, 
8336 
8337                 Package (0x04)
8338                 {
8339                     0xFFFF, 
8340                     One, 
8341                     LNKA, 
8342                     Zero
8343                 }, 
8344 
8345                 Package (0x04)
8346                 {
8347                     0xFFFF, 
8348                     0x02, 
8349                     LNKB, 
8350                     Zero
8351                 }, 
8352 
8353                 Package (0x04)
8354                 {
8355                     0xFFFF, 
8356                     0x03, 
8357                     LNKC, 
8358                     Zero
8359                 }
8360             })
8361             Name (AR0B, Package (0x04)
8362             {
8363                 Package (0x04)
8364                 {
8365                     0xFFFF, 
8366                     Zero, 
8367                     Zero, 
8368                     0x13
8369                 }, 
8370 
8371                 Package (0x04)
8372                 {
8373                     0xFFFF, 
8374                     One, 
8375                     Zero, 
8376                     0x10
8377                 }, 
8378 
8379                 Package (0x04)
8380                 {
8381                     0xFFFF, 
8382                     0x02, 
8383                     Zero, 
8384                     0x11
8385                 }, 
8386 
8387                 Package (0x04)
8388                 {
8389                     0xFFFF, 
8390                     0x03, 
8391                     Zero, 
8392                     0x12
8393                 }
8394             })
8395             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8396             {
8397                 If (PICM)
8398                 {
8399                     Return (AR0B) /* \_SB_.PCI0.PEG3.AR0B */
8400                 }
8401 
8402                 Return (PR0B) /* \_SB_.PCI0.PEG3.PR0B */
8403             }
8404         }
8405 
8406         Device (B0D4)
8407         {
8408             Name (_ADR, 0x00040000)  // _ADR: Address
8409         }
8410 
8411         Device (GFX0)
8412         {
8413             Name (_ADR, 0x00020000)  // _ADR: Address
8414             Method (PCPC, 0, NotSerialized)
8415             {
8416                 ECST (0x6F)
8417             }
8418 
8419             Method (PAPR, 0, NotSerialized)
8420             {
8421             }
8422 
8423             Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
8424             {
8425                 DSEN = (Arg0 & 0x07)
8426                 If (((Arg0 & 0x03) == Zero))
8427                 {
8428                     If (CondRefOf (HDOS))
8429                     {
8430                         HDOS ()
8431                     }
8432                 }
8433             }
8434 
8435             Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
8436             {
8437                 If (CondRefOf (IDAB))
8438                 {
8439                     IDAB ()
8440                 }
8441                 Else
8442                 {
8443                     NDID = Zero
8444                     If ((DIDL != Zero))
8445                     {
8446                         DID1 = SDDL (DIDL)
8447                     }
8448 
8449                     If ((DDL2 != Zero))
8450                     {
8451                         DID2 = SDDL (DDL2)
8452                     }
8453 
8454                     If ((DDL3 != Zero))
8455                     {
8456                         DID3 = SDDL (DDL3)
8457                     }
8458 
8459                     If ((DDL4 != Zero))
8460                     {
8461                         DID4 = SDDL (DDL4)
8462                     }
8463 
8464                     If ((DDL5 != Zero))
8465                     {
8466                         DID5 = SDDL (DDL5)
8467                     }
8468 
8469                     If ((DDL6 != Zero))
8470                     {
8471                         DID6 = SDDL (DDL6)
8472                     }
8473 
8474                     If ((DDL7 != Zero))
8475                     {
8476                         DID7 = SDDL (DDL7)
8477                     }
8478 
8479                     If ((DDL8 != Zero))
8480                     {
8481                         DID8 = SDDL (DDL8)
8482                     }
8483                 }
8484 
8485                 If ((NDID == One))
8486                 {
8487                     Name (TMP1, Package (0x01)
8488                     {
8489                         Ones
8490                     })
8491                     Index (TMP1, Zero) = (0x00010000 | DID1)
8492                     Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
8493                 }
8494 
8495                 If ((NDID == 0x02))
8496                 {
8497                     Name (TMP2, Package (0x02)
8498                     {
8499                         Ones, 
8500                         Ones
8501                     })
8502                     Index (TMP2, Zero) = (0x00010000 | DID1)
8503                     Index (TMP2, One) = (0x00010000 | DID2)
8504                     Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
8505                 }
8506 
8507                 If ((NDID == 0x03))
8508                 {
8509                     Name (TMP3, Package (0x03)
8510                     {
8511                         Ones, 
8512                         Ones, 
8513                         Ones
8514                     })
8515                     Index (TMP3, Zero) = (0x00010000 | DID1)
8516                     Index (TMP3, One) = (0x00010000 | DID2)
8517                     Index (TMP3, 0x02) = (0x00010000 | DID3)
8518                     Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
8519                 }
8520 
8521                 If ((NDID == 0x04))
8522                 {
8523                     Name (TMP4, Package (0x04)
8524                     {
8525                         Ones, 
8526                         Ones, 
8527                         Ones, 
8528                         Ones
8529                     })
8530                     Index (TMP4, Zero) = (0x00010000 | DID1)
8531                     Index (TMP4, One) = (0x00010000 | DID2)
8532                     Index (TMP4, 0x02) = (0x00010000 | DID3)
8533                     Index (TMP4, 0x03) = (0x00010000 | DID4)
8534                     Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
8535                 }
8536 
8537                 If ((NDID == 0x05))
8538                 {
8539                     Name (TMP5, Package (0x05)
8540                     {
8541                         Ones, 
8542                         Ones, 
8543                         Ones, 
8544                         Ones, 
8545                         Ones
8546                     })
8547                     Index (TMP5, Zero) = (0x00010000 | DID1)
8548                     Index (TMP5, One) = (0x00010000 | DID2)
8549                     Index (TMP5, 0x02) = (0x00010000 | DID3)
8550                     Index (TMP5, 0x03) = (0x00010000 | DID4)
8551                     Index (TMP5, 0x04) = (0x00010000 | DID5)
8552                     Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
8553                 }
8554 
8555                 If ((NDID == 0x06))
8556                 {
8557                     Name (TMP6, Package (0x06)
8558                     {
8559                         Ones, 
8560                         Ones, 
8561                         Ones, 
8562                         Ones, 
8563                         Ones, 
8564                         Ones
8565                     })
8566                     Index (TMP6, Zero) = (0x00010000 | DID1)
8567                     Index (TMP6, One) = (0x00010000 | DID2)
8568                     Index (TMP6, 0x02) = (0x00010000 | DID3)
8569                     Index (TMP6, 0x03) = (0x00010000 | DID4)
8570                     Index (TMP6, 0x04) = (0x00010000 | DID5)
8571                     Index (TMP6, 0x05) = (0x00010000 | DID6)
8572                     Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
8573                 }
8574 
8575                 If ((NDID == 0x07))
8576                 {
8577                     Name (TMP7, Package (0x07)
8578                     {
8579                         Ones, 
8580                         Ones, 
8581                         Ones, 
8582                         Ones, 
8583                         Ones, 
8584                         Ones, 
8585                         Ones
8586                     })
8587                     Index (TMP7, Zero) = (0x00010000 | DID1)
8588                     Index (TMP7, One) = (0x00010000 | DID2)
8589                     Index (TMP7, 0x02) = (0x00010000 | DID3)
8590                     Index (TMP7, 0x03) = (0x00010000 | DID4)
8591                     Index (TMP7, 0x04) = (0x00010000 | DID5)
8592                     Index (TMP7, 0x05) = (0x00010000 | DID6)
8593                     Index (TMP7, 0x06) = (0x00010000 | DID7)
8594                     Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
8595                 }
8596 
8597                 If ((NDID == 0x08))
8598                 {
8599                     Name (TMP8, Package (0x08)
8600                     {
8601                         Ones, 
8602                         Ones, 
8603                         Ones, 
8604                         Ones, 
8605                         Ones, 
8606                         Ones, 
8607                         Ones, 
8608                         Ones
8609                     })
8610                     Index (TMP8, Zero) = (0x00010000 | DID1)
8611                     Index (TMP8, One) = (0x00010000 | DID2)
8612                     Index (TMP8, 0x02) = (0x00010000 | DID3)
8613                     Index (TMP8, 0x03) = (0x00010000 | DID4)
8614                     Index (TMP8, 0x04) = (0x00010000 | DID5)
8615                     Index (TMP8, 0x05) = (0x00010000 | DID6)
8616                     Index (TMP8, 0x06) = (0x00010000 | DID7)
8617                     Index (TMP8, 0x07) = (0x00010000 | DID8)
8618                     Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
8619                 }
8620 
8621                 If ((NDID == 0x09))
8622                 {
8623                     If (CondRefOf (HWID))
8624                     {
8625                         Return (HWID) /* External reference */
8626                     }
8627                 }
8628 
8629                 Return (Package (0x01)
8630                 {
8631                     0x0400
8632                 })
8633             }
8634 
8635             Device (DD01)
8636             {
8637                 Method (_ADR, 0, Serialized)  // _ADR: Address
8638                 {
8639                     If ((DID1 == Zero))
8640                     {
8641                         Return (One)
8642                     }
8643                     Else
8644                     {
8645                         Return ((0xFFFF & DID1))
8646                     }
8647                 }
8648 
8649                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8650                 {
8651                     Return (CDDS (DID1))
8652                 }
8653 
8654                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8655                 {
8656                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8657                     {
8658                         Return (NXD1) /* \NXD1 */
8659                     }
8660 
8661                     Return (NDDS (DID1))
8662                 }
8663 
8664                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8665                 {
8666                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8667                     {
8668                         CSTE = NSTE /* \NSTE */
8669                     }
8670                 }
8671             }
8672 
8673             Device (DD02)
8674             {
8675                 Method (_ADR, 0, Serialized)  // _ADR: Address
8676                 {
8677                     If ((DID2 == Zero))
8678                     {
8679                         Return (0x02)
8680                     }
8681                     Else
8682                     {
8683                         Return ((0xFFFF & DID2))
8684                     }
8685                 }
8686 
8687                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8688                 {
8689                     If ((LIDS == Zero))
8690                     {
8691                         Return (Zero)
8692                     }
8693 
8694                     Return (CDDS (DID2))
8695                 }
8696 
8697                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8698                 {
8699                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8700                     {
8701                         Return (NXD2) /* \NXD2 */
8702                     }
8703 
8704                     Return (NDDS (DID2))
8705                 }
8706 
8707                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8708                 {
8709                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8710                     {
8711                         CSTE = NSTE /* \NSTE */
8712                     }
8713                 }
8714 
8715                 Method (LVLS, 1, NotSerialized)
8716                 {
8717                     Local0 = One
8718                     Local1 = Zero
8719                     If ((OSYS == 0x07DC))
8720                     {
8721                         Local5 = 0x14
8722                         Local6 = PLV2 /* \PLV2 */
8723                     }
8724                     Else
8725                     {
8726                         Local5 = 0x0F
8727                         Local6 = PLVL /* \PLVL */
8728                     }
8729 
8730                     While (Local0)
8731                     {
8732                         Local2 = (Local1 + 0x02)
8733                         Local3 = DerefOf (Index (Local6, Local2))
8734                         Local4 = (Arg0 & 0xFF)
8735                         If ((Local4 == Local3))
8736                         {
8737                             Local0 = Zero
8738                         }
8739 
8740                         Local3 -= One
8741                         If ((Local4 == Local3))
8742                         {
8743                             Local0 = Zero
8744                         }
8745 
8746                         If ((Local1 >= Local5))
8747                         {
8748                             Local0 = Zero
8749                         }
8750 
8751                         If (Local0)
8752                         {
8753                             Local1 += One
8754                         }
8755                     }
8756 
8757                     Return (Local1)
8758                 }
8759 
8760                 Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
8761                 {
8762                     If ((OSYS != 0x07DC))
8763                     {
8764                         Return (PLVL) /* \PLVL */
8765                     }
8766                     Else
8767                     {
8768                         Return (PLV2) /* \PLV2 */
8769                     }
8770                 }
8771 
8772                 Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
8773                 {
8774                     If (IGDS)
8775                     {
8776                         Local1 = LVLS (Arg0)
8777                         ^^^LPCB.EC0.BRTS = Local1
8778                         AINT (One, Arg0)
8779                     }
8780                     Else
8781                     {
8782                         Local1 = ^^^PEG0.VGA.LCD.LVLS (Arg0)
8783                         ^^^LPCB.EC0.BRTS = Local1
8784                     }
8785 
8786                     BRTL = Arg0
8787                 }
8788 
8789                 Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
8790                 {
8791                     Return (BRTL) /* \BRTL */
8792                 }
8793             }
8794 
8795             Device (DD03)
8796             {
8797                 Method (_ADR, 0, Serialized)  // _ADR: Address
8798                 {
8799                     If ((DID3 == Zero))
8800                     {
8801                         Return (0x03)
8802                     }
8803                     Else
8804                     {
8805                         Return ((0xFFFF & DID3))
8806                     }
8807                 }
8808 
8809                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8810                 {
8811                     If ((DID3 == Zero))
8812                     {
8813                         Return (0x0B)
8814                     }
8815                     Else
8816                     {
8817                         Return (CDDS (DID3))
8818                     }
8819                 }
8820 
8821                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8822                 {
8823                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8824                     {
8825                         Return (NXD3) /* \NXD3 */
8826                     }
8827 
8828                     Return (NDDS (DID3))
8829                 }
8830 
8831                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8832                 {
8833                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8834                     {
8835                         CSTE = NSTE /* \NSTE */
8836                     }
8837                 }
8838             }
8839 
8840             Device (DD04)
8841             {
8842                 Method (_ADR, 0, Serialized)  // _ADR: Address
8843                 {
8844                     If ((DID4 == Zero))
8845                     {
8846                         Return (0x04)
8847                     }
8848                     Else
8849                     {
8850                         Return ((0xFFFF & DID4))
8851                     }
8852                 }
8853 
8854                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8855                 {
8856                     If ((DID4 == Zero))
8857                     {
8858                         Return (0x0B)
8859                     }
8860                     Else
8861                     {
8862                         Return (CDDS (DID4))
8863                     }
8864                 }
8865 
8866                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8867                 {
8868                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8869                     {
8870                         Return (NXD4) /* \NXD4 */
8871                     }
8872 
8873                     Return (NDDS (DID4))
8874                 }
8875 
8876                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8877                 {
8878                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8879                     {
8880                         CSTE = NSTE /* \NSTE */
8881                     }
8882                 }
8883             }
8884 
8885             Device (DD05)
8886             {
8887                 Method (_ADR, 0, Serialized)  // _ADR: Address
8888                 {
8889                     If ((DID5 == Zero))
8890                     {
8891                         Return (0x05)
8892                     }
8893                     Else
8894                     {
8895                         Return ((0xFFFF & DID5))
8896                     }
8897                 }
8898 
8899                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8900                 {
8901                     If ((DID5 == Zero))
8902                     {
8903                         Return (0x0B)
8904                     }
8905                     Else
8906                     {
8907                         Return (CDDS (DID5))
8908                     }
8909                 }
8910 
8911                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8912                 {
8913                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8914                     {
8915                         Return (NXD5) /* \NXD5 */
8916                     }
8917 
8918                     Return (NDDS (DID5))
8919                 }
8920 
8921                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8922                 {
8923                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8924                     {
8925                         CSTE = NSTE /* \NSTE */
8926                     }
8927                 }
8928             }
8929 
8930             Device (DD06)
8931             {
8932                 Method (_ADR, 0, Serialized)  // _ADR: Address
8933                 {
8934                     If ((DID6 == Zero))
8935                     {
8936                         Return (0x06)
8937                     }
8938                     Else
8939                     {
8940                         Return ((0xFFFF & DID6))
8941                     }
8942                 }
8943 
8944                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8945                 {
8946                     If ((DID6 == Zero))
8947                     {
8948                         Return (0x0B)
8949                     }
8950                     Else
8951                     {
8952                         Return (CDDS (DID6))
8953                     }
8954                 }
8955 
8956                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8957                 {
8958                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
8959                     {
8960                         Return (NXD6) /* \NXD6 */
8961                     }
8962 
8963                     Return (NDDS (DID6))
8964                 }
8965 
8966                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8967                 {
8968                     If (((Arg0 & 0xC0000000) == 0xC0000000))
8969                     {
8970                         CSTE = NSTE /* \NSTE */
8971                     }
8972                 }
8973             }
8974 
8975             Device (DD07)
8976             {
8977                 Method (_ADR, 0, Serialized)  // _ADR: Address
8978                 {
8979                     If ((DID7 == Zero))
8980                     {
8981                         Return (0x07)
8982                     }
8983                     Else
8984                     {
8985                         Return ((0xFFFF & DID7))
8986                     }
8987                 }
8988 
8989                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8990                 {
8991                     If ((DID7 == Zero))
8992                     {
8993                         Return (0x0B)
8994                     }
8995                     Else
8996                     {
8997                         Return (CDDS (DID7))
8998                     }
8999                 }
9000 
9001                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
9002                 {
9003                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
9004                     {
9005                         Return (NXD7) /* \NXD7 */
9006                     }
9007 
9008                     Return (NDDS (DID7))
9009                 }
9010 
9011                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
9012                 {
9013                     If (((Arg0 & 0xC0000000) == 0xC0000000))
9014                     {
9015                         CSTE = NSTE /* \NSTE */
9016                     }
9017                 }
9018             }
9019 
9020             Device (DD08)
9021             {
9022                 Method (_ADR, 0, Serialized)  // _ADR: Address
9023                 {
9024                     If ((DID8 == Zero))
9025                     {
9026                         Return (0x08)
9027                     }
9028                     Else
9029                     {
9030                         Return ((0xFFFF & DID8))
9031                     }
9032                 }
9033 
9034                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
9035                 {
9036                     If ((DID8 == Zero))
9037                     {
9038                         Return (0x0B)
9039                     }
9040                     Else
9041                     {
9042                         Return (CDDS (DID8))
9043                     }
9044                 }
9045 
9046                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
9047                 {
9048                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
9049                     {
9050                         Return (NXD8) /* \NXD8 */
9051                     }
9052 
9053                     Return (NDDS (DID8))
9054                 }
9055 
9056                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
9057                 {
9058                     If (((Arg0 & 0xC0000000) == 0xC0000000))
9059                     {
9060                         CSTE = NSTE /* \NSTE */
9061                     }
9062                 }
9063             }
9064 
9065             Method (SDDL, 1, NotSerialized)
9066             {
9067                 NDID++
9068                 Local0 = (Arg0 & 0x0F0F)
9069                 Local1 = (0x80000000 | Local0)
9070                 If ((DIDL == Local0))
9071                 {
9072                     Return (Local1)
9073                 }
9074 
9075                 If ((DDL2 == Local0))
9076                 {
9077                     Return (Local1)
9078                 }
9079 
9080                 If ((DDL3 == Local0))
9081                 {
9082                     Return (Local1)
9083                 }
9084 
9085                 If ((DDL4 == Local0))
9086                 {
9087                     Return (Local1)
9088                 }
9089 
9090                 If ((DDL5 == Local0))
9091                 {
9092                     Return (Local1)
9093                 }
9094 
9095                 If ((DDL6 == Local0))
9096                 {
9097                     Return (Local1)
9098                 }
9099 
9100                 If ((DDL7 == Local0))
9101                 {
9102                     Return (Local1)
9103                 }
9104 
9105                 If ((DDL8 == Local0))
9106                 {
9107                     Return (Local1)
9108                 }
9109 
9110                 Return (Zero)
9111             }
9112 
9113             Method (CDDS, 1, NotSerialized)
9114             {
9115                 Local0 = (Arg0 & 0x0F0F)
9116                 If ((Zero == Local0))
9117                 {
9118                     Return (0x1D)
9119                 }
9120 
9121                 If ((CADL == Local0))
9122                 {
9123                     Return (0x1F)
9124                 }
9125 
9126                 If ((CAL2 == Local0))
9127                 {
9128                     Return (0x1F)
9129                 }
9130 
9131                 If ((CAL3 == Local0))
9132                 {
9133                     Return (0x1F)
9134                 }
9135 
9136                 If ((CAL4 == Local0))
9137                 {
9138                     Return (0x1F)
9139                 }
9140 
9141                 If ((CAL5 == Local0))
9142                 {
9143                     Return (0x1F)
9144                 }
9145 
9146                 If ((CAL6 == Local0))
9147                 {
9148                     Return (0x1F)
9149                 }
9150 
9151                 If ((CAL7 == Local0))
9152                 {
9153                     Return (0x1F)
9154                 }
9155 
9156                 If ((CAL8 == Local0))
9157                 {
9158                     Return (0x1F)
9159                 }
9160 
9161                 Return (0x1D)
9162             }
9163 
9164             Method (NDDS, 1, NotSerialized)
9165             {
9166                 Local0 = (Arg0 & 0x0F0F)
9167                 If ((Zero == Local0))
9168                 {
9169                     Return (Zero)
9170                 }
9171 
9172                 If ((NADL == Local0))
9173                 {
9174                     Return (One)
9175                 }
9176 
9177                 If ((NDL2 == Local0))
9178                 {
9179                     Return (One)
9180                 }
9181 
9182                 If ((NDL3 == Local0))
9183                 {
9184                     Return (One)
9185                 }
9186 
9187                 If ((NDL4 == Local0))
9188                 {
9189                     Return (One)
9190                 }
9191 
9192                 If ((NDL5 == Local0))
9193                 {
9194                     Return (One)
9195                 }
9196 
9197                 If ((NDL6 == Local0))
9198                 {
9199                     Return (One)
9200                 }
9201 
9202                 If ((NDL7 == Local0))
9203                 {
9204                     Return (One)
9205                 }
9206 
9207                 If ((NDL8 == Local0))
9208                 {
9209                     Return (One)
9210                 }
9211 
9212                 Return (Zero)
9213             }
9214 
9215             Scope (^^PCI0)
9216             {
9217                 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
9218                 Field (MCHP, AnyAcc, NoLock, Preserve)
9219                 {
9220                     Offset (0x60), 
9221                     TASM,   10, 
9222                     Offset (0x62)
9223                 }
9224             }
9225 
9226             OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
9227             Field (IGDP, AnyAcc, NoLock, Preserve)
9228             {
9229                 Offset (0x12), 
9230                     ,   1, 
9231                 GIVD,   1, 
9232                     ,   2, 
9233                 GUMA,   3, 
9234                 Offset (0x14), 
9235                     ,   4, 
9236                 GMFN,   1, 
9237                 Offset (0x18), 
9238                 Offset (0xA4), 
9239                 ASLE,   8, 
9240                 Offset (0xA8), 
9241                 GSSE,   1, 
9242                 GSSB,   14, 
9243                 GSES,   1, 
9244                 Offset (0xB0), 
9245                     ,   12, 
9246                 CDVL,   1, 
9247                 Offset (0xB2), 
9248                 Offset (0xB5), 
9249                 LBPC,   8, 
9250                 Offset (0xBC), 
9251                 ASLS,   32
9252             }
9253 
9254             OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
9255             Field (IGDM, AnyAcc, NoLock, Preserve)
9256             {
9257                 SIGN,   128, 
9258                 SIZE,   32, 
9259                 OVER,   32, 
9260                 SVER,   256, 
9261                 VVER,   128, 
9262                 GVER,   128, 
9263                 MBOX,   32, 
9264                 DMOD,   32, 
9265                 Offset (0x100), 
9266                 DRDY,   32, 
9267                 CSTS,   32, 
9268                 CEVT,   32, 
9269                 Offset (0x120), 
9270                 DIDL,   32, 
9271                 DDL2,   32, 
9272                 DDL3,   32, 
9273                 DDL4,   32, 
9274                 DDL5,   32, 
9275                 DDL6,   32, 
9276                 DDL7,   32, 
9277                 DDL8,   32, 
9278                 CPDL,   32, 
9279                 CPL2,   32, 
9280                 CPL3,   32, 
9281                 CPL4,   32, 
9282                 CPL5,   32, 
9283                 CPL6,   32, 
9284                 CPL7,   32, 
9285                 CPL8,   32, 
9286                 CADL,   32, 
9287                 CAL2,   32, 
9288                 CAL3,   32, 
9289                 CAL4,   32, 
9290                 CAL5,   32, 
9291                 CAL6,   32, 
9292                 CAL7,   32, 
9293                 CAL8,   32, 
9294                 NADL,   32, 
9295                 NDL2,   32, 
9296                 NDL3,   32, 
9297                 NDL4,   32, 
9298                 NDL5,   32, 
9299                 NDL6,   32, 
9300                 NDL7,   32, 
9301                 NDL8,   32, 
9302                 ASLP,   32, 
9303                 TIDX,   32, 
9304                 CHPD,   32, 
9305                 CLID,   32, 
9306                 CDCK,   32, 
9307                 SXSW,   32, 
9308                 EVTS,   32, 
9309                 CNOT,   32, 
9310                 NRDY,   32, 
9311                 Offset (0x200), 
9312                 SCIE,   1, 
9313                 GEFC,   4, 
9314                 GXFC,   3, 
9315                 GESF,   8, 
9316                 Offset (0x204), 
9317                 PARM,   32, 
9318                 DSLP,   32, 
9319                 Offset (0x300), 
9320                 ARDY,   32, 
9321                 ASLC,   32, 
9322                 TCHE,   32, 
9323                 ALSI,   32, 
9324                 BCLP,   32, 
9325                 PFIT,   32, 
9326                 CBLV,   32, 
9327                 BCLM,   320, 
9328                 CPFM,   32, 
9329                 EPFM,   32, 
9330                 PLUT,   592, 
9331                 PFMB,   32, 
9332                 CCDV,   32, 
9333                 PCFT,   32, 
9334                 Offset (0x400), 
9335                 GVD1,   49152, 
9336                 PHED,   32, 
9337                 BDDC,   2048
9338             }
9339 
9340             Name (DBTB, Package (0x15)
9341             {
9342                 Zero, 
9343                 0x07, 
9344                 0x38, 
9345                 0x01C0, 
9346                 0x0E00, 
9347                 0x3F, 
9348                 0x01C7, 
9349                 0x0E07, 
9350                 0x01F8, 
9351                 0x0E38, 
9352                 0x0FC0, 
9353                 Zero, 
9354                 Zero, 
9355                 Zero, 
9356                 Zero, 
9357                 Zero, 
9358                 0x7000, 
9359                 0x7007, 
9360                 0x7038, 
9361                 0x71C0, 
9362                 0x7E00
9363             })
9364             Name (CDCT, Package (0x05)
9365             {
9366                 Package (0x02)
9367                 {
9368                     0xE4, 
9369                     0x0140
9370                 }, 
9371 
9372                 Package (0x02)
9373                 {
9374                     0xDE, 
9375                     0x014D
9376                 }, 
9377 
9378                 Package (0x02)
9379                 {
9380                     0xDE, 
9381                     0x014D
9382                 }, 
9383 
9384                 Package (0x02)
9385                 {
9386                     Zero, 
9387                     Zero
9388                 }, 
9389 
9390                 Package (0x02)
9391                 {
9392                     0xDE, 
9393                     0x014D
9394                 }
9395             })
9396             Name (SUCC, One)
9397             Name (NVLD, 0x02)
9398             Name (CRIT, 0x04)
9399             Name (NCRT, 0x06)
9400             Method (GSCI, 0, Serialized)
9401             {
9402                 Method (GBDA, 0, Serialized)
9403                 {
9404                     If ((GESF == Zero))
9405                     {
9406                         PARM = 0x0679
9407                         GESF = Zero
9408                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9409                     }
9410 
9411                     If ((GESF == One))
9412                     {
9413                         PARM = 0x0240
9414                         GESF = Zero
9415                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9416                     }
9417 
9418                     If ((GESF == 0x04))
9419                     {
9420                         PARM &= 0xEFFF0000
9421                         PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
9422                         PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
9423                         GESF = Zero
9424                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9425                     }
9426 
9427                     If ((GESF == 0x05))
9428                     {
9429                         PARM = IPSC /* \IPSC */
9430                         PARM |= (IPAT << 0x08)
9431                         PARM += 0x0100
9432                         PARM |= (LIDS << 0x10)
9433                         PARM += 0x00010000
9434                         PARM |= (IBIA << 0x14)
9435                         GESF = Zero
9436                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9437                     }
9438 
9439                     If ((GESF == 0x06))
9440                     {
9441                         PARM = ITVF /* \ITVF */
9442                         PARM |= (ITVM << 0x04)
9443                         GESF = Zero
9444                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9445                     }
9446 
9447                     If ((GESF == 0x07))
9448                     {
9449                         PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
9450                         PARM ^= One
9451                         PARM |= (GMFN << One)
9452                         PARM |= 0x1800
9453                         PARM |= (IDMS << 0x11)
9454                         PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 
9455                             0x15) /* \_SB_.PCI0.GFX0.PARM */
9456                         GESF = One
9457                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9458                     }
9459 
9460                     If ((GESF == 0x0A))
9461                     {
9462                         PARM = Zero
9463                         If (ISSC)
9464                         {
9465                             PARM |= 0x03
9466                         }
9467 
9468                         GESF = Zero
9469                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9470                     }
9471 
9472                     If ((GESF == 0x0B))
9473                     {
9474                         PARM = KSV0 /* \KSV0 */
9475                         GESF = KSV1 /* \KSV1 */
9476                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9477                     }
9478 
9479                     GESF = Zero
9480                     Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
9481                 }
9482 
9483                 Method (SBCB, 0, Serialized)
9484                 {
9485                     If ((GESF == Zero))
9486                     {
9487                         PARM = Zero
9488                         PARM = 0x000F87FD
9489                         GESF = Zero
9490                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9491                     }
9492 
9493                     If ((GESF == One))
9494                     {
9495                         GESF = Zero
9496                         PARM = Zero
9497                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9498                     }
9499 
9500                     If ((GESF == 0x03))
9501                     {
9502                         GESF = Zero
9503                         PARM = Zero
9504                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9505                     }
9506 
9507                     If ((GESF == 0x04))
9508                     {
9509                         GESF = Zero
9510                         PARM = Zero
9511                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9512                     }
9513 
9514                     If ((GESF == 0x05))
9515                     {
9516                         GESF = Zero
9517                         PARM = Zero
9518                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9519                     }
9520 
9521                     If ((GESF == 0x06))
9522                     {
9523                         ITVF = (PARM & 0x0F)
9524                         ITVM = ((PARM & 0xF0) >> 0x04)
9525                         GESF = Zero
9526                         PARM = Zero
9527                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9528                     }
9529 
9530                     If ((GESF == 0x07))
9531                     {
9532                         If ((PARM == Zero))
9533                         {
9534                             Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
9535                             If ((0x80000000 & Local0))
9536                             {
9537                                 CLID &= 0x0F
9538                                 GLID (CLID)
9539                             }
9540                         }
9541 
9542                         GESF = Zero
9543                         PARM = Zero
9544                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9545                     }
9546 
9547                     If ((GESF == 0x08))
9548                     {
9549                         GESF = Zero
9550                         PARM = Zero
9551                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9552                     }
9553 
9554                     If ((GESF == 0x09))
9555                     {
9556                         IBTT = (PARM & 0xFF)
9557                         GESF = Zero
9558                         PARM = Zero
9559                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9560                     }
9561 
9562                     If ((GESF == 0x0A))
9563                     {
9564                         IPSC = (PARM & 0xFF)
9565                         If (((PARM >> 0x08) & 0xFF))
9566                         {
9567                             IPAT = ((PARM >> 0x08) & 0xFF)
9568                             IPAT--
9569                         }
9570 
9571                         IBIA = ((PARM >> 0x14) & 0x07)
9572                         GESF = Zero
9573                         PARM = Zero
9574                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9575                     }
9576 
9577                     If ((GESF == 0x0B))
9578                     {
9579                         IF1E = ((PARM >> One) & One)
9580                         If ((PARM & 0x0001E000))
9581                         {
9582                             IDMS = ((PARM >> 0x0D) & 0x0F)
9583                         }
9584                         Else
9585                         {
9586                             IDMS = ((PARM >> 0x11) & 0x0F)
9587                         }
9588 
9589                         GESF = Zero
9590                         PARM = Zero
9591                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9592                     }
9593 
9594                     If ((GESF == 0x10))
9595                     {
9596                         GESF = Zero
9597                         PARM = Zero
9598                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9599                     }
9600 
9601                     If ((GESF == 0x11))
9602                     {
9603                         PARM = (LIDS << 0x08)
9604                         PARM += 0x0100
9605                         GESF = Zero
9606                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9607                     }
9608 
9609                     If ((GESF == 0x12))
9610                     {
9611                         If ((PARM & One))
9612                         {
9613                             If (((PARM >> One) == One))
9614                             {
9615                                 ISSC = One
9616                             }
9617                             Else
9618                             {
9619                                 GESF = Zero
9620                                 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
9621                             }
9622                         }
9623                         Else
9624                         {
9625                             ISSC = Zero
9626                         }
9627 
9628                         GESF = Zero
9629                         PARM = Zero
9630                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9631                     }
9632 
9633                     If ((GESF == 0x13))
9634                     {
9635                         GESF = Zero
9636                         PARM = Zero
9637                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9638                     }
9639 
9640                     If ((GESF == 0x14))
9641                     {
9642                         PAVP = (PARM & 0x0F)
9643                         GESF = Zero
9644                         PARM = Zero
9645                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9646                     }
9647 
9648                     GESF = Zero
9649                     Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
9650                 }
9651 
9652                 If ((GEFC == 0x04))
9653                 {
9654                     GXFC = GBDA ()
9655                 }
9656 
9657                 If ((GEFC == 0x06))
9658                 {
9659                     GXFC = SBCB ()
9660                 }
9661 
9662                 GEFC = Zero
9663                 SCIS = One
9664                 GSSE = Zero
9665                 SCIE = Zero
9666                 Return (Zero)
9667             }
9668 
9669             Method (PDRD, 0, NotSerialized)
9670             {
9671                 If (!DRDY)
9672                 {
9673                     Sleep (ASLP)
9674                 }
9675 
9676                 Return (!DRDY)
9677             }
9678 
9679             Method (PSTS, 0, NotSerialized)
9680             {
9681                 If ((CSTS > 0x02))
9682                 {
9683                     Sleep (ASLP)
9684                 }
9685 
9686                 Return ((CSTS == 0x03))
9687             }
9688 
9689             Method (GNOT, 2, NotSerialized)
9690             {
9691                 If (PDRD ())
9692                 {
9693                     Return (One)
9694                 }
9695 
9696                 CEVT = Arg0
9697                 CSTS = 0x03
9698                 If (((CHPD == Zero) && (Arg1 == Zero)))
9699                 {
9700                     If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
9701                     {
9702                         Notify (PCI0, Arg1)
9703                     }
9704                     Else
9705                     {
9706                         Notify (GFX0, Arg1)
9707                     }
9708                 }
9709 
9710                 If (CondRefOf (HNOT))
9711                 {
9712                     HNOT (Arg0)
9713                 }
9714                 Else
9715                 {
9716                     Notify (GFX0, 0x80) // Status Change
9717                 }
9718 
9719                 Return (Zero)
9720             }
9721 
9722             Method (GHDS, 1, NotSerialized)
9723             {
9724                 TIDX = Arg0
9725                 Return (GNOT (One, Zero))
9726             }
9727 
9728             Method (GLID, 1, NotSerialized)
9729             {
9730                 If ((Arg0 == One))
9731                 {
9732                     CLID = 0x03
9733                 }
9734                 Else
9735                 {
9736                     CLID = Arg0
9737                 }
9738 
9739                 Return (GNOT (0x02, Zero))
9740             }
9741 
9742             Method (GDCK, 1, NotSerialized)
9743             {
9744                 CDCK = Arg0
9745                 Return (GNOT (0x04, Zero))
9746             }
9747 
9748             Method (PARD, 0, NotSerialized)
9749             {
9750                 If (!ARDY)
9751                 {
9752                     Sleep (ASLP)
9753                 }
9754 
9755                 Return (!ARDY)
9756             }
9757 
9758             Method (AINT, 2, NotSerialized)
9759             {
9760                 If (!(TCHE & (One << Arg0)))
9761                 {
9762                     Return (One)
9763                 }
9764 
9765                 If (PARD ())
9766                 {
9767                     Return (One)
9768                 }
9769 
9770                 If ((Arg0 == 0x02))
9771                 {
9772                     If (CPFM)
9773                     {
9774                         Local0 = (CPFM & 0x0F)
9775                         Local1 = (EPFM & 0x0F)
9776                         If ((Local0 == One))
9777                         {
9778                             If ((Local1 & 0x06))
9779                             {
9780                                 PFIT = 0x06
9781                             }
9782                             Else
9783                             {
9784                                 If ((Local1 & 0x08))
9785                                 {
9786                                     PFIT = 0x08
9787                                 }
9788                                 Else
9789                                 {
9790                                     PFIT = One
9791                                 }
9792                             }
9793                         }
9794 
9795                         If ((Local0 == 0x06))
9796                         {
9797                             If ((Local1 & 0x08))
9798                             {
9799                                 PFIT = 0x08
9800                             }
9801                             Else
9802                             {
9803                                 If ((Local1 & One))
9804                                 {
9805                                     PFIT = One
9806                                 }
9807                                 Else
9808                                 {
9809                                     PFIT = 0x06
9810                                 }
9811                             }
9812                         }
9813 
9814                         If ((Local0 == 0x08))
9815                         {
9816                             If ((Local1 & One))
9817                             {
9818                                 PFIT = One
9819                             }
9820                             Else
9821                             {
9822                                 If ((Local1 & 0x06))
9823                                 {
9824                                     PFIT = 0x06
9825                                 }
9826                                 Else
9827                                 {
9828                                     PFIT = 0x08
9829                                 }
9830                             }
9831                         }
9832                     }
9833                     Else
9834                     {
9835                         PFIT ^= 0x07
9836                     }
9837 
9838                     PFIT |= 0x80000000
9839                     ASLC = 0x04
9840                 }
9841                 Else
9842                 {
9843                     If ((Arg0 == One))
9844                     {
9845                         BCLP = ((Arg1 * 0xFF) / 0x64)
9846                         BCLP |= 0x80000000
9847                         ASLC = 0x02
9848                     }
9849                     Else
9850                     {
9851                         If ((Arg0 == Zero))
9852                         {
9853                             ALSI = Arg1
9854                             ASLC = One
9855                         }
9856                         Else
9857                         {
9858                             Return (One)
9859                         }
9860                     }
9861                 }
9862 
9863                 ASLE = One
9864                 Return (Zero)
9865             }
9866 
9867             Method (SCIP, 0, NotSerialized)
9868             {
9869                 If ((OVER != Zero))
9870                 {
9871                     Return (!GSMI)
9872                 }
9873 
9874                 Return (Zero)
9875             }
9876 
9877             Device (^^MEM2)
9878             {
9879                 Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
9880                 Name (_UID, 0x02)  // _UID: Unique ID
9881                 Name (CRS1, ResourceTemplate ()
9882                 {
9883                     Memory32Fixed (ReadWrite,
9884                         0x20000000,         // Address Base
9885                         0x00200000,         // Address Length
9886                         )
9887                     Memory32Fixed (ReadWrite,
9888                         0x40000000,         // Address Base
9889                         0x00200000,         // Address Length
9890                         )
9891                 })
9892                 Name (CRS2, ResourceTemplate ()
9893                 {
9894                     Memory32Fixed (ReadWrite,
9895                         0x20000000,         // Address Base
9896                         0x00200000,         // Address Length
9897                         )
9898                     Memory32Fixed (ReadWrite,
9899                         0x40004000,         // Address Base
9900                         0x00001000,         // Address Length
9901                         )
9902                 })
9903                 Method (_STA, 0, NotSerialized)  // _STA: Status
9904                 {
9905                     If (IGDS)
9906                     {
9907                         Return (0x0F)
9908                     }
9909 
9910                     Return (Zero)
9911                 }
9912 
9913                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9914                 {
9915                     If ((((PNHM & 0x0FFF0FF0) == 0x000206A0) || ((PNHM & 0x0FFF0FFF
9916                         ) == 0x000306A0)))
9917                     {
9918                         Return (CRS1) /* \_SB_.MEM2.CRS1 */
9919                     }
9920 
9921                     Return (CRS2) /* \_SB_.MEM2.CRS2 */
9922                 }
9923             }
9924 
9925             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
9926             {
9927                 Name (DRET, Buffer (0x04)
9928                 {
9929                      0x00                                             /* . */
9930                 })
9931                 If ((Arg0 == ToUUID ("6f3975e1-7a82-4f67-8b97-15bee060bedf")))
9932                 {
9933                     If ((Arg2 == Zero))
9934                     {
9935                         CreateWordField (DRET, Zero, F0SS)
9936                         F0SS = 0x02
9937                         Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
9938                     }
9939 
9940                     If ((Arg2 == One))
9941                     {
9942                         If ((^^PEG0.PEGP.LNKV == 0x03))
9943                         {
9944                             Return (Zero)
9945                         }
9946 
9947                         Return (One)
9948                     }
9949                 }
9950 
9951                 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */
9952             }
9953         }
9954     }
9955 
9956     Scope (\)
9957     {
9958         OperationRegion (COMP, SystemMemory, 0xCAFBEC98, 0x00000200)
9959         Field (COMP, AnyAcc, Lock, Preserve)
9960         {
9961             RSV0,   32, 
9962             BDID,   8, 
9963             CPFB,   8, 
9964             PBTI,   8, 
9965             BRLV,   8, 
9966             CAVR,   8, 
9967             TJMA,   16, 
9968             CORE,   8, 
9969             CG12,   8, 
9970             CG13,   8, 
9971             CG14,   8, 
9972             CG15,   8, 
9973             CG16,   8, 
9974             CG17,   8, 
9975             CG18,   8, 
9976             CG19,   8, 
9977             CG20,   8, 
9978             CG21,   8, 
9979             CG22,   8, 
9980             CG23,   8, 
9981             CG24,   8, 
9982             CG25,   8, 
9983             CG26,   8, 
9984             CG27,   8, 
9985             CG28,   8, 
9986             CG29,   8, 
9987             CG30,   8, 
9988             CG31,   8, 
9989             SFNO,   16, 
9990             STDT,   16, 
9991             BFDT,   1024, 
9992             RSV1,   736, 
9993             IDFD,   1024, 
9994             RSV2,   1024
9995         }
9996     }
9997 
9998     Scope (_SB.PCI0.LPCB)
9999     {
10000         Method (ECOK, 0, NotSerialized)
10001         {
10002             If ((^EC0.OKEC == One))
10003             {
10004                 Return (One)
10005             }
10006             Else
10007             {
10008                 Return (Zero)
10009             }
10010         }
10011 
10012         Device (EC0)
10013         {
10014             Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
10015             Name (_GPE, 0x17)  // _GPE: General Purpose Events
10016             Name (OKEC, One)
10017             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
10018             {
10019                 IO (Decode16,
10020                     0x0062,             // Range Minimum
10021                     0x0062,             // Range Maximum
10022                     0x01,               // Alignment
10023                     0x01,               // Length
10024                     )
10025                 IO (Decode16,
10026                     0x0066,             // Range Minimum
10027                     0x0066,             // Range Maximum
10028                     0x01,               // Alignment
10029                     0x01,               // Length
10030                     )
10031             })
10032             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
10033             {
10034                 If ((Arg0 == 0x03))
10035                 {
10036                     OKEC = Arg1
10037                 }
10038             }
10039 
10040             OperationRegion (ECMM, SystemMemory, 0xFF000000, 0x1000)
10041             Field (ECMM, AnyAcc, Lock, Preserve)
10042             {
10043                 Offset (0x800), 
10044                 Offset (0x85A), 
10045                 AASD,   8, 
10046                 Offset (0x890), 
10047                 BMFN,   72, 
10048                 BATD,   56, 
10049                 AATL,   1, 
10050                 AACL,   1, 
10051                 AAST,   1, 
10052                 AARW,   1, 
10053                 AAEN,   1, 
10054                 AAEW,   1, 
10055                 AAND,   1, 
10056                 Offset (0x8A1), 
10057                     ,   1, 
10058                 VIDO,   1, 
10059                 TOUP,   1, 
10060                 Offset (0x8A2), 
10061                 ODTS,   8, 
10062                 OSTY,   3, 
10063                     ,   4, 
10064                 ADPT,   1, 
10065                 PWAK,   1, 
10066                 MWAK,   1, 
10067                 LWAK,   1, 
10068                 RWAK,   1, 
10069                 WWAK,   1, 
10070                 UWAK,   1, 
10071                 KWAK,   1, 
10072                 TWAK,   1, 
10073                 CCAC,   1, 
10074                 AOAC,   1, 
10075                 BLAC,   1, 
10076                 PSRC,   1, 
10077                 BOAC,   1, 
10078                 LCAC,   1, 
10079                 AAAC,   1, 
10080                 ACAC,   1, 
10081                 S3ST,   1, 
10082                 S3RM,   1, 
10083                 S4ST,   1, 
10084                 S4RM,   1, 
10085                 S5ST,   1, 
10086                 S5RM,   1, 
10087                 Offset (0x8A7), 
10088                 OSTT,   8, 
10089                 OSST,   8, 
10090                 THLT,   8, 
10091                 TCNL,   8, 
10092                 MODE,   1, 
10093                     ,   2, 
10094                 INIT,   1, 
10095                 FAN1,   1, 
10096                 FAN2,   1, 
10097                 FANT,   1, 
10098                 SKNM,   1, 
10099                 SDTM,   8, 
10100                 FSSN,   4, 
10101                 FANU,   4, 
10102                 PCVL,   4, 
10103                     ,   2, 
10104                 SWTO,   1, 
10105                 TTHR,   1, 
10106                 TTHM,   1, 
10107                 THTL,   1, 
10108                     ,   1, 
10109                 CTDP,   1, 
10110                 NPST,   4, 
10111                 CTMP,   8, 
10112                 CTML,   8, 
10113                 SKTA,   8, 
10114                 SKTB,   8, 
10115                 SKTC,   8, 
10116                 Offset (0x8B6), 
10117                 NTMP,   8, 
10118                     ,   1, 
10119                 SKEY,   1, 
10120                 DIGM,   1, 
10121                 CDLE,   1, 
10122                 Offset (0x8B8), 
10123                     ,   1, 
10124                 LIDF,   1, 
10125                 PMEE,   1, 
10126                 PWBE,   1, 
10127                 RNGE,   1, 
10128                 BTWE,   1, 
10129                 Offset (0x8B9), 
10130                 BRTS,   8, 
10131                 S35M,   1, 
10132                 S35S,   1, 
10133                     ,   2, 
10134                 FFEN,   1, 
10135                 FFST,   1, 
10136                 Offset (0x8BB), 
10137                 WLAT,   1, 
10138                 BTAT,   1, 
10139                 WLEX,   1, 
10140                 BTEX,   1, 
10141                 KLSW,   1, 
10142                 WLOK,   1, 
10143                 AT3G,   1, 
10144                 EX3G,   1, 
10145                 PJID,   8, 
10146                 CPUJ,   3, 
10147                 CPNM,   3, 
10148                 GATY,   2, 
10149                 BOL0,   1, 
10150                 BOL1,   1, 
10151                     ,   2, 
10152                 BCC0,   1, 
10153                 BCC1,   1, 
10154                 Offset (0x8BF), 
10155                 BPU0,   1, 
10156                 BPU1,   1, 
10157                     ,   2, 
10158                 BOS0,   1, 
10159                 BOS1,   1, 
10160                 Offset (0x8C0), 
10161                 BTY0,   1, 
10162                 BAM0,   1, 
10163                 BAL0,   1, 
10164                     ,   1, 
10165                 BMF0,   3, 
10166                 Offset (0x8C1), 
10167                 BST0,   8, 
10168                 BRC0,   16, 
10169                 BSN0,   16, 
10170                 BPV0,   16, 
10171                 BDV0,   16, 
10172                 BDC0,   16, 
10173                 BFC0,   16, 
10174                 GAU0,   8, 
10175                 CYC0,   8, 
10176                 BPC0,   16, 
10177                 BAC0,   16, 
10178                 BTW0,   8, 
10179                 BVL0,   8, 
10180                 BTM0,   8, 
10181                 BAT0,   8, 
10182                 BCG0,   16, 
10183                 BCT0,   8, 
10184                 BCI0,   8, 
10185                 BCM0,   8, 
10186                 BOT0,   8, 
10187                 BSSB,   16, 
10188                 BOV0,   8, 
10189                 BCF0,   8, 
10190                 BAD0,   8, 
10191                 BCV1,   16, 
10192                 BCV2,   16, 
10193                 BCV3,   16, 
10194                 BCV4,   16, 
10195                 Offset (0x8ED), 
10196                 BFCB,   16, 
10197                 Offset (0x8F1), 
10198                     ,   6, 
10199                 ORRF,   1, 
10200                 Offset (0x8F4), 
10201                 BMD0,   16, 
10202                 BACV,   16, 
10203                 BDN0,   8, 
10204                 BTPB,   16, 
10205                 Offset (0x8FC)
10206             }
10207 
10208             OperationRegion (ECMP, SystemMemory, 0xFF000000, 0x1000)
10209             Field (ECMP, AnyAcc, Lock, Preserve)
10210             {
10211             }
10212 
10213             OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
10214             Field (ERAM, ByteAcc, Lock, Preserve)
10215             {
10216                 Offset (0x5A), 
10217                 Offset (0x5B), 
10218                 FCMP,   1, 
10219                 Offset (0x5C), 
10220                 Offset (0x5D), 
10221                 ENIB,   16, 
10222                 ENDD,   8, 
10223                 SMPR,   8, 
10224                 SMST,   8, 
10225                 SMAD,   8, 
10226                 SMCM,   8, 
10227                 SMD0,   256, 
10228                 BCNT,   8, 
10229                 SMAA,   24, 
10230                 Offset (0x89)
10231             }
10232 
10233             OperationRegion (ECPR, EmbeddedControl, Zero, 0xFF)
10234             Field (ECPR, ByteAcc, Lock, Preserve)
10235             {
10236             }
10237 
10238             OperationRegion (CCLK, SystemIO, 0x0410, 0x04)
10239             Field (CCLK, DWordAcc, NoLock, Preserve)
10240             {
10241                     ,   1, 
10242                 DUTY,   3, 
10243                 THEN,   1, 
10244                 Offset (0x01), 
10245                 FTT,    1, 
10246                     ,   8, 
10247                 TSTS,   1
10248             }
10249 
10250             OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
10251             Field (ECRM, ByteAcc, Lock, Preserve)
10252             {
10253                 Offset (0x5D), 
10254                 ERIB,   16, 
10255                 ERBD,   8, 
10256                 Offset (0xAA), 
10257                 Offset (0xAB), 
10258                 Offset (0xAD), 
10259                     ,   4, 
10260                 Offset (0xAE), 
10261                 PTVL,   4, 
10262                 Offset (0xB0), 
10263                 Offset (0xB1), 
10264                 Offset (0xB2), 
10265                 Offset (0xB3), 
10266                 Offset (0xB4), 
10267                 Offset (0xB5), 
10268                 Offset (0xBC), 
10269                 Offset (0xBD)
10270             }
10271 
10272             Mutex (FAMX, 0x00)
10273             Method (FANG, 1, NotSerialized)
10274             {
10275                 Acquire (FAMX, 0xFFFF)
10276                 ERIB = Arg0
10277                 Local0 = ERBD /* \_SB_.PCI0.LPCB.EC0_.ERBD */
10278                 Release (FAMX)
10279                 Return (Local0)
10280             }
10281 
10282             Method (FANW, 2, NotSerialized)
10283             {
10284                 Acquire (FAMX, 0xFFFF)
10285                 ERIB = Arg0
10286                 ERBD = Arg1
10287                 Release (FAMX)
10288                 Return (Arg1)
10289             }
10290 
10291             Method (TUVR, 1, NotSerialized)
10292             {
10293                 Return (0x03)
10294             }
10295 
10296             Method (THRO, 1, NotSerialized)
10297             {
10298                 Return (ITHR (Arg0))
10299             }
10300 
10301             Method (CLCK, 1, NotSerialized)
10302             {
10303                 If ((Arg0 == Zero))
10304                 {
10305                     THEN = Zero
10306                     FTT = Zero
10307                 }
10308                 Else
10309                 {
10310                     DUTY = Arg0
10311                     THEN = One
10312                 }
10313 
10314                 Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
10315             }
10316 
10317             Method (PCLK, 0, NotSerialized)
10318             {
10319                 IPCL ()
10320             }
10321 
10322             Method (ITHR, 1, NotSerialized)
10323             {
10324                 If ((Arg0 == Zero))
10325                 {
10326                     Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
10327                 }
10328                 Else
10329                 {
10330                     If ((Arg0 == One))
10331                     {
10332                         Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */
10333                     }
10334                     Else
10335                     {
10336                         If ((Arg0 == 0x02))
10337                         {
10338                             Return (TTHR) /* \_SB_.PCI0.LPCB.EC0_.TTHR */
10339                         }
10340                         Else
10341                         {
10342                             Return (0xFF)
10343                         }
10344                     }
10345                 }
10346             }
10347 
10348             Method (IPCL, 0, NotSerialized)
10349             {
10350                 Local0 = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */
10351                 \_PR.CPU0._PPC = Local0
10352                 PNOT ()
10353             }
10354 
10355             Name (CMFP, Package (0x0E)
10356             {
10357                 0x11, 
10358                 0x12, 
10359                 0x13, 
10360                 0x14, 
10361                 0x15, 
10362                 0x16, 
10363                 0x60, 
10364                 0x61, 
10365                 0x62, 
10366                 0x63, 
10367                 0x64, 
10368                 0x20, 
10369                 0x21, 
10370                 0x22
10371             })
10372             Mutex (CFMX, 0x00)
10373             Method (CFUN, 4, Serialized)
10374             {
10375                 Name (ESRC, 0x05)
10376                 If ((Match (CMFP, MEQ, DerefOf (Index (Arg0, Zero)), MTR, 
10377                     Zero, Zero) != Ones))
10378                 {
10379                     Acquire (CFMX, 0xFFFF)
10380                     SMID = Arg0
10381                     SFNO = Arg1
10382                     BFDT = Arg2
10383                     SMIC = 0xCE
10384                     Release (CFMX)
10385                 }
10386                 Else
10387                 {
10388                     If ((DerefOf (Index (Arg0, Zero)) == 0x10))
10389                     {
10390                         If ((DerefOf (Index (Arg1, Zero)) == One))
10391                         {
10392                             CreateByteField (Arg2, Zero, CAPV)
10393                             CAVR = CAPV /* \_SB_.PCI0.LPCB.EC0_.CFUN.CAPV */
10394                             STDT = One
10395                         }
10396                         Else
10397                         {
10398                             If ((DerefOf (Index (Arg1, Zero)) == 0x02))
10399                             {
10400                                 Local0 = Buffer (0x80) {}
10401                                 CreateByteField (Local0, Zero, BFD0)
10402                                 BFD0 = 0x08
10403                                 STDT = One
10404                                 BFDT = Local0
10405                             }
10406                             Else
10407                             {
10408                                 STDT = Zero
10409                             }
10410                         }
10411                     }
10412                     Else
10413                     {
10414                         If ((DerefOf (Index (Arg0, Zero)) == 0x18))
10415                         {
10416                             Acquire (CFMX, 0xFFFF)
10417                             If ((DerefOf (Index (Arg1, Zero)) == 0x02))
10418                             {
10419                                 SMD0 = Zero
10420                                 SMAD = DerefOf (Index (Arg2, One))
10421                                 SMCM = DerefOf (Index (Arg2, 0x02))
10422                                 SMPR = DerefOf (Index (Arg2, Zero))
10423                                 While ((~(ESRC == Zero) && ~((SMST & 0x80
10424                                     ) == 0x80)))
10425                                 {
10426                                     Sleep (0x14)
10427                                     ESRC -= One
10428                                 }
10429 
10430                                 Local2 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
10431                                 If (((Local2 & 0x80) == 0x80))
10432                                 {
10433                                     Local1 = Buffer (0x80) {}
10434                                     Index (Local1, Zero) = Local2
10435                                     If ((Local2 == 0x80))
10436                                     {
10437                                         P80H = 0xC4
10438                                         Index (Local1, One) = BCNT /* \_SB_.PCI0.LPCB.EC0_.BCNT */
10439                                         Local3 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
10440                                         Index (Local1, 0x02) = DerefOf (Index (Local3, Zero))
10441                                         Index (Local1, 0x03) = DerefOf (Index (Local3, One))
10442                                         Index (Local1, 0x04) = DerefOf (Index (Local3, 0x02))
10443                                         Index (Local1, 0x05) = DerefOf (Index (Local3, 0x03))
10444                                         Index (Local1, 0x06) = DerefOf (Index (Local3, 0x04))
10445                                         Index (Local1, 0x07) = DerefOf (Index (Local3, 0x05))
10446                                         Index (Local1, 0x08) = DerefOf (Index (Local3, 0x06))
10447                                         Index (Local1, 0x09) = DerefOf (Index (Local3, 0x07))
10448                                         Index (Local1, 0x0A) = DerefOf (Index (Local3, 0x08))
10449                                         Index (Local1, 0x0B) = DerefOf (Index (Local3, 0x09))
10450                                         Index (Local1, 0x0C) = DerefOf (Index (Local3, 0x0A))
10451                                         Index (Local1, 0x0D) = DerefOf (Index (Local3, 0x0B))
10452                                         Index (Local1, 0x0E) = DerefOf (Index (Local3, 0x0C))
10453                                         Index (Local1, 0x0F) = DerefOf (Index (Local3, 0x0D))
10454                                         Index (Local1, 0x10) = DerefOf (Index (Local3, 0x0E))
10455                                         Index (Local1, 0x11) = DerefOf (Index (Local3, 0x0F))
10456                                         Index (Local1, 0x12) = DerefOf (Index (Local3, 0x10))
10457                                         Index (Local1, 0x13) = DerefOf (Index (Local3, 0x11))
10458                                         Index (Local1, 0x14) = DerefOf (Index (Local3, 0x12))
10459                                         Index (Local1, 0x15) = DerefOf (Index (Local3, 0x13))
10460                                         Index (Local1, 0x16) = DerefOf (Index (Local3, 0x14))
10461                                         Index (Local1, 0x17) = DerefOf (Index (Local3, 0x15))
10462                                         Index (Local1, 0x18) = DerefOf (Index (Local3, 0x16))
10463                                         Index (Local1, 0x19) = DerefOf (Index (Local3, 0x17))
10464                                         Index (Local1, 0x1A) = DerefOf (Index (Local3, 0x18))
10465                                         Index (Local1, 0x1B) = DerefOf (Index (Local3, 0x19))
10466                                         Index (Local1, 0x1C) = DerefOf (Index (Local3, 0x1A))
10467                                         Index (Local1, 0x1D) = DerefOf (Index (Local3, 0x1B))
10468                                         Index (Local1, 0x1E) = DerefOf (Index (Local3, 0x1C))
10469                                         Index (Local1, 0x1F) = DerefOf (Index (Local3, 0x1D))
10470                                         Index (Local1, 0x20) = DerefOf (Index (Local3, 0x1E))
10471                                         Index (Local1, 0x21) = DerefOf (Index (Local3, 0x1F))
10472                                     }
10473 
10474                                     BFDT = Local1
10475                                     STDT = One
10476                                 }
10477                                 Else
10478                                 {
10479                                     P80H = 0xC5
10480                                     STDT = Zero
10481                                 }
10482                             }
10483                             Else
10484                             {
10485                                 P80H = 0xC6
10486                                 STDT = Zero
10487                             }
10488 
10489                             Release (CFMX)
10490                         }
10491                         Else
10492                         {
10493                             STDT = Zero
10494                         }
10495                     }
10496                 }
10497             }
10498 
10499             Mutex (PFMX, 0x00)
10500             Method (PFUN, 4, Serialized)
10501             {
10502                 Acquire (PFMX, 0xFFFF)
10503                 SMID = Arg0
10504                 SFNO = Arg1
10505                 BFDT = Arg2
10506                 SMIC = 0xCF
10507                 Release (PFMX)
10508                 STDT = Zero
10509             }
10510 
10511             Method (CMFC, 4, Serialized)
10512             {
10513                 Name (RTVL, Package (0x04)
10514                 {
10515                     Zero, 
10516                     Zero, 
10517                     Zero, 
10518                     Zero
10519                 })
10520                 If ((ObjectType (Arg0) == One))
10521                 {
10522                     Index (RTVL, Zero) = 0x8000
10523                 }
10524                 Else
10525                 {
10526                     If ((DerefOf (Index (Arg0, Zero)) < 0xFE))
10527                     {
10528                         Local1 = Buffer (0x82) {}
10529                         CreateWordField (Local1, Zero, RTST)
10530                         CreateField (Local1, 0x10, 0x0400, RTDT)
10531                         If ((ToInteger (Arg0) <= 0x7F))
10532                         {
10533                             CFUN (Arg0, Arg1, Arg2, Arg3)
10534                         }
10535                         Else
10536                         {
10537                             PFUN (Arg0, Arg1, Arg2, Arg3)
10538                         }
10539 
10540                         RTST = STDT /* \STDT */
10541                         RTDT = BFDT /* \BFDT */
10542                         Return (Local1)
10543                     }
10544                     Else
10545                     {
10546                         Index (RTVL, Zero) = 0x8000
10547                     }
10548                 }
10549 
10550                 Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */
10551             }
10552         }
10553 
10554         Scope (EC0)
10555         {
10556             Method (BSHK, 0, NotSerialized)
10557             {
10558                 If (ECOK ())
10559                 {
10560                     Local1 = One
10561                     If ((OSYS == 0x07D1))
10562                     {
10563                         Local1 = Zero
10564                     }
10565 
10566                     If ((OSYS == 0x07D2))
10567                     {
10568                         Local1 = Zero
10569                     }
10570 
10571                     If ((OSYS == 0x07D6))
10572                     {
10573                         Local1 = One
10574                     }
10575 
10576                     If ((OSYS == 0x03E8))
10577                     {
10578                         Local1 = 0x02
10579                     }
10580 
10581                     If ((OSYS == 0x07D9))
10582                     {
10583                         Local1 = 0x03
10584                     }
10585 
10586                     If ((OSYS == 0x07DC))
10587                     {
10588                         Local1 = 0x04
10589                     }
10590 
10591                     Sleep (0x14)
10592                     OSTY = Local1
10593                     Sleep (0x14)
10594                 }
10595             }
10596         }
10597 
10598         Scope (\_SB.PCI0.LPCB)
10599         {
10600         }
10601 
10602         Device (BAT1)
10603         {
10604             Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
10605             Name (_UID, One)  // _UID: Unique ID
10606             Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
10607             {
10608                 _SB
10609             })
10610             Name (BMDL, Zero)
10611             Name (BASC, One)
10612             Name (BFFW, Zero)
10613             Method (_STA, 0, NotSerialized)  // _STA: Status
10614             {
10615                 ^^EC0.BSHK ()
10616                 If (ECOK ())
10617                 {
10618                     If (^^EC0.BOL0)
10619                     {
10620                         Sleep (Zero)
10621                         Return (0x1F)
10622                     }
10623                     Else
10624                     {
10625                         Sleep (Zero)
10626                         Return (0x0F)
10627                     }
10628                 }
10629                 Else
10630                 {
10631                     Sleep (Zero)
10632                     Return (0x1F)
10633                 }
10634             }
10635 
10636             Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
10637             {
10638                 Return (BIFX (Zero))
10639             }
10640 
10641             Method (_BIX, 0, NotSerialized)  // _BIX: Battery Information Extended
10642             {
10643                 Return (BIFX (One))
10644             }
10645 
10646             Method (BIFX, 1, NotSerialized)
10647             {
10648                 Name (STAX, Package (0x14)
10649                 {
10650                     Zero, 
10651                     One, 
10652                     0x1770, 
10653                     0x1770, 
10654                     One, 
10655                     0x2A30, 
10656                     0x0258, 
10657                     0xB4, 
10658                     Zero, 
10659                     Zero, 
10660                     Zero, 
10661                     Zero, 
10662                     Zero, 
10663                     Zero, 
10664                     0x0108, 
10665                     0x0EC4, 
10666                     "PABAS0241231", 
10667                     "41167", 
10668                     "Li-Ion", 
10669                     "LENOVO "
10670                 })
10671                 Name (STAF, Package (0x0D)
10672                 {
10673                     One, 
10674                     0x1770, 
10675                     0x1770, 
10676                     One, 
10677                     0x2A30, 
10678                     0x0258, 
10679                     0xB4, 
10680                     0x0108, 
10681                     0x0EC4, 
10682                     "PABAS0241231", 
10683                     "41167", 
10684                     "Li-Ion", 
10685                     "LENOVO "
10686                 })
10687                 If (ECOK ())
10688                 {
10689                     If ((^^EC0.BAM0 == Zero))
10690                     {
10691                         BASC = 0x0A
10692                     }
10693 
10694                     Index (STAX, One) = ^^EC0.BAM0 /* \_SB_.PCI0.LPCB.EC0_.BAM0 */
10695                     Local0 = ^^EC0.BDN0 /* \_SB_.PCI0.LPCB.EC0_.BDN0 */
10696                     BMDL = Local0
10697                     Index (STAX, 0x02) = (^^EC0.BDC0 * BASC)
10698                     Sleep (Zero)
10699                     Index (STAX, 0x05) = ^^EC0.BDV0 /* \_SB_.PCI0.LPCB.EC0_.BDV0 */
10700                     Sleep (Zero)
10701                     If ((BFFW == One))
10702                     {
10703                         Local2 = ^^EC0.BFCB /* \_SB_.PCI0.LPCB.EC0_.BFCB */
10704                     }
10705                     Else
10706                     {
10707                         Local2 = ^^EC0.BFC0 /* \_SB_.PCI0.LPCB.EC0_.BFC0 */
10708                     }
10709 
10710                     Local2 = (Local2 * BASC)
10711                     Sleep (Zero)
10712                     Index (STAX, 0x03) = Local2
10713                     Divide (Local2, 0x64, Local0, Local1)
10714                     Local1 *= 0x0A
10715                     Index (STAX, 0x06) = Local1
10716                     Divide (Local2, 0x64, Local0, Local1)
10717                     Local1 *= 0x03
10718                     Index (STAX, 0x07) = Local1
10719                     Index (STAF, Zero) = DerefOf (Index (STAX, One))
10720                     Index (STAF, One) = DerefOf (Index (STAX, 0x02))
10721                     Index (STAF, 0x02) = DerefOf (Index (STAX, 0x03))
10722                     Index (STAF, 0x03) = DerefOf (Index (STAX, 0x04))
10723                     Index (STAF, 0x04) = DerefOf (Index (STAX, 0x05))
10724                     Index (STAF, 0x05) = DerefOf (Index (STAX, 0x06))
10725                     Index (STAF, 0x06) = DerefOf (Index (STAX, 0x07))
10726                     Index (STAF, 0x07) = DerefOf (Index (STAX, 0x0E))
10727                     Index (STAF, 0x08) = DerefOf (Index (STAX, 0x0F))
10728                     Index (STAF, 0x09) = DerefOf (Index (STAX, 0x10))
10729                     Index (STAF, 0x0A) = DerefOf (Index (STAX, 0x11))
10730                     Index (STAF, 0x0B) = DerefOf (Index (STAX, 0x12))
10731                     Index (STAF, 0x0C) = DerefOf (Index (STAX, 0x13))
10732                     If ((Arg0 == One))
10733                     {
10734                         Return (STAX) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAX */
10735                     }
10736                     Else
10737                     {
10738                         Return (STAF) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAF */
10739                     }
10740                 }
10741             }
10742 
10743             Method (_BST, 0, NotSerialized)  // _BST: Battery Status
10744             {
10745                 Name (PBST, Package (0x04)
10746                 {
10747                     Zero, 
10748                     Ones, 
10749                     Ones, 
10750                     0x1770
10751                 })
10752                 If (ECOK ())
10753                 {
10754                     Index (PBST, Zero) = ^^EC0.BST0 /* \_SB_.PCI0.LPCB.EC0_.BST0 */
10755                     Sleep (Zero)
10756                     Local4 = ^^EC0.BAC0 /* \_SB_.PCI0.LPCB.EC0_.BAC0 */
10757                     Local4 -= 0xFFFF
10758                     Local5 = (Local4 * 0x0A)
10759                     If ((^^EC0.BAM0 == Zero))
10760                     {
10761                         Local4 = ((Local4 * ^^EC0.BPV0) / 0x03E8)
10762                     }
10763 
10764                     Local4 = Local5
10765                     Index (PBST, One) = Local4
10766                     Sleep (Zero)
10767                     If ((BFFW == One))
10768                     {
10769                         Local4 = (^^EC0.BFCB * BASC) /* \_SB_.PCI0.LPCB.BAT1.BASC */
10770                         Local2 = (^^EC0.GAU0 * Local4)
10771                         Divide (Local2, 0x64, Local4, Local2)
10772                         Index (PBST, 0x02) = Local2
10773                         Sleep (Zero)
10774                     }
10775                     Else
10776                     {
10777                         Index (PBST, 0x02) = (^^EC0.BRC0 * BASC)
10778                         Sleep (Zero)
10779                     }
10780 
10781                     Index (PBST, 0x03) = ^^EC0.BPV0 /* \_SB_.PCI0.LPCB.EC0_.BPV0 */
10782                     Sleep (Zero)
10783                     If ((^^EC0.BDN0 != BMDL))
10784                     {
10785                         Notify (BAT1, 0x81) // Information Change
10786                     }
10787                 }
10788 
10789                 Return (PBST) /* \_SB_.PCI0.LPCB.BAT1._BST.PBST */
10790             }
10791 
10792             Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
10793             {
10794                 Local0 = (Arg0 / BASC)
10795                 ^^EC0.BTPB = Local0
10796             }
10797         }
10798 
10799         Device (ACAD)
10800         {
10801             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
10802             Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
10803             {
10804                 _SB
10805             })
10806             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
10807             {
10808                 Local0 = ^^EC0.ADPT /* \_SB_.PCI0.LPCB.EC0_.ADPT */
10809                 Return (Local0)
10810             }
10811         }
10812 
10813         Scope (RTC)
10814         {
10815             OperationRegion (RCM0, SystemCMOS, Zero, 0x10)
10816             Field (RCM0, ByteAcc, NoLock, Preserve)
10817             {
10818                 AccessAs (ByteAcc, 0x00), 
10819                 RTCS,   8, 
10820                 Offset (0x02), 
10821                 RTCM,   8, 
10822                 Offset (0x04), 
10823                 RTCH,   8, 
10824                 Offset (0x06), 
10825                 RTCW,   8, 
10826                 RTCD,   8
10827             }
10828         }
10829     }
10830 
10831     Scope (\)
10832     {
10833         Name (GPSP, Zero)
10834         Name (DCPS, Zero)
10835     }
10836 
10837     Scope (_SB.PCI0.LPCB.EC0)
10838     {
10839         Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
10840         {
10841             P80H = 0x11
10842             Local0 = GP38 /* \GP38 */
10843             Local1 = GP67 /* \GP67 */
10844             If (((OSYS >= 0x07D6) || (OSYS == 0x03E8)))
10845             {
10846                 If (((Local0 == One) && (Local1 == Zero)))
10847                 {
10848                     Notify (^^^PEG0.VGA.LCD, 0x87) // Device-Specific
10849                 }
10850                 Else
10851                 {
10852                     Notify (^^^GFX0.DD02, 0x87) // Device-Specific
10853                 }
10854 
10855                 Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10856                 If ((Local1 > Zero))
10857                 {
10858                     BRTS = (Local1 - One)
10859                 }
10860             }
10861             Else
10862             {
10863                 If (((Local0 == One) && (Local1 == Zero))) {}
10864                 Else
10865                 {
10866                     Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10867                     Local0 += 0x02
10868                     ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
10869                 }
10870             }
10871 
10872             Notify (VPC0, 0x80) // Status Change
10873         }
10874 
10875         Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
10876         {
10877             P80H = 0x12
10878             Local0 = GP38 /* \GP38 */
10879             Local1 = GP67 /* \GP67 */
10880             If (((OSYS >= 0x07D6) || (OSYS == 0x03E8)))
10881             {
10882                 If (((Local0 == One) && (Local1 == Zero)))
10883                 {
10884                     Notify (^^^PEG0.VGA.LCD, 0x86) // Device-Specific
10885                 }
10886                 Else
10887                 {
10888                     Notify (^^^GFX0.DD02, 0x86) // Device-Specific
10889                 }
10890 
10891                 Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10892                 If ((Local1 < 0x0F))
10893                 {
10894                     BRTS = (Local1 + One)
10895                 }
10896             }
10897             Else
10898             {
10899                 If (((Local0 == One) && (Local1 == Zero))) {}
10900                 Else
10901                 {
10902                     Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */
10903                     Local0 += 0x02
10904                     ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
10905                 }
10906             }
10907 
10908             Notify (VPC0, 0x80) // Status Change
10909         }
10910 
10911         Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
10912         {
10913             If ((ECOK () && Ones))
10914             {
10915                 If ((Zero == APTG))
10916                 {
10917                     If ((OSYS != 0x03E8))
10918                     {
10919                         If (IGDS)
10920                         {
10921                             ^^^GFX0.GHDS (Zero)
10922                         }
10923                     }
10924                 }
10925 
10926                 Sleep (0x01F4)
10927                 Notify (VPC0, 0x80) // Status Change
10928             }
10929         }
10930 
10931         Name (DGST, 0xD1)
10932         Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
10933         {
10934             P80H = 0x1D
10935             If (PCVL)
10936             {
10937                 DCPS = One
10938             }
10939             Else
10940             {
10941                 DCPS = Zero
10942             }
10943 
10944             PCLK ()
10945         }
10946 
10947         Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
10948         {
10949             P80H = 0x24
10950             Debug = "=====QUERY_24====="
10951             Sleep (0x03E8)
10952             Notify (BAT1, 0x80) // Status Change
10953         }
10954 
10955         Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
10956         {
10957             P80H = 0xBB
10958             Debug = "=====QUERY_25====="
10959             Sleep (0x03E8)
10960             Notify (BAT1, 0x81) // Information Change
10961             Sleep (0x03E8)
10962             Notify (BAT1, 0x80) // Status Change
10963         }
10964 
10965         Method (_Q37, 0, NotSerialized)  // _Qxx: EC Query
10966         {
10967             P80H = 0x37
10968             Debug = "=====QUERY_37====="
10969             Notify (ACAD, 0x80) // Status Change
10970             Sleep (0x03E8)
10971             Notify (BAT1, 0x80) // Status Change
10972             PWRS = One
10973             PNOT ()
10974         }
10975 
10976         Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query
10977         {
10978             P80H = 0x38
10979             Debug = "=====QUERY_38====="
10980             Notify (ACAD, 0x80) // Status Change
10981             Sleep (0x03E8)
10982             Notify (BAT1, 0x80) // Status Change
10983             PWRS = Zero
10984             PNOT ()
10985         }
10986 
10987         Method (_Q55, 0, NotSerialized)  // _Qxx: EC Query
10988         {
10989             Notify (BAT1, 0x81) // Information Change
10990         }
10991 
10992         Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
10993         {
10994             P80H = 0x60
10995             Debug = "=====QUERY_60====="
10996             Local0 = GP34 /* \GP34 */
10997             Local1 = GP55 /* \GP55 */
10998             If (((Local0 == One) || (Local1 == Zero)))
10999             {
11000                 GP34 = Zero
11001                 GP55 = One
11002             }
11003             Else
11004             {
11005                 GP34 = One
11006                 GP55 = Zero
11007             }
11008         }
11009 
11010         Method (_Q65, 0, NotSerialized)  // _Qxx: EC Query
11011         {
11012             P80H = 0x65
11013             Debug = "=====QUERY_65====="
11014             If (((WLEX == One) & (WLAT == One)))
11015             {
11016                 GP55 = One
11017             }
11018             Else
11019             {
11020                 GP55 = Zero
11021             }
11022 
11023             If (((BTEX == One) & (BTAT == One)))
11024             {
11025                 B_ON ()
11026             }
11027             Else
11028             {
11029                 B_OF ()
11030             }
11031         }
11032     }
11033 
11034     Scope (_SB.PCI0.LPCB.EC0)
11035     {
11036         OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
11037         Field (ECF2, ByteAcc, Lock, Preserve)
11038         {
11039             VCMD,   8, 
11040             VDAT,   8, 
11041             VSTA,   8
11042         }
11043 
11044         Device (VPC0)
11045         {
11046             Name (_HID, "VPC2004")  // _HID: Hardware ID
11047             Name (_UID, Zero)  // _UID: Unique ID
11048             Name (_VPC, 0x0140)
11049             Name (VPCD, Zero)
11050             Name (GPS1, Zero)
11051             Method (_STA, 0, NotSerialized)  // _STA: Status
11052             {
11053                 Return (0x0F)
11054             }
11055 
11056             Method (_CFG, 0, NotSerialized)
11057             {
11058                 If ((CATO == Zero))
11059                 {
11060                     Local0 = SizeOf (\_PR.CPU0._PSS)
11061                     Local1 = DerefOf (Index (\_PR.CPU0._PSS, One))
11062                     Local1 = DerefOf (Index (Local1, Zero))
11063                     Divide (Local1, 0x0A, Local2, Local1)
11064                     Local1 *= 0x07
11065                     Local2 = Zero
11066                     While ((Local0 > Local2))
11067                     {
11068                         Local3 = DerefOf (Index (\_PR.CPU0._PSS, Local2))
11069                         Local3 = DerefOf (Index (Local3, Zero))
11070                         If ((Local1 >= Local3))
11071                         {
11072                             Break
11073                         }
11074 
11075                         Local2++
11076                     }
11077 
11078                     CATO = Local2
11079                 }
11080 
11081                 Local0 = _VPC /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */
11082                 Local0 &= 0xFFFF
11083                 Local2 = Zero
11084                 Local2 += 0x07
11085                 Local2 &= 0x07
11086                 Local2 <<= 0x0D
11087                 Local0 |= Local2
11088                 Local0 &= 0xFFFFE8FF
11089                 If ((^^^^PEG0.PEGP.VID != 0xFFFF))
11090                 {
11091                     If ((^^^^GFX0.VID == 0x8086))
11092                     {
11093                         If ((^^^^PEG0.PEGP.VID == 0x10DE))
11094                         {
11095                             Local0 |= 0x1500
11096                         }
11097 
11098                         If ((^^^^PEG0.PEGP.VID == 0x1002))
11099                         {
11100                             Local0 |= 0x1400
11101                         }
11102                     }
11103                     Else
11104                     {
11105                         If ((^^^^PEG0.PEGP.VID == 0x10DE))
11106                         {
11107                             Local0 |= 0x0300
11108                         }
11109 
11110                         If ((^^^^PEG0.PEGP.VID == 0x1002))
11111                         {
11112                             Local0 |= 0x0200
11113                         }
11114                     }
11115                 }
11116                 Else
11117                 {
11118                     Local0 |= 0x0100
11119                 }
11120 
11121                 If (HYMS)
11122                 {
11123                     Local0 |= 0x1000
11124                 }
11125                 Else
11126                 {
11127                     Local0 &= 0xEFFF
11128                 }
11129 
11130                 If ((OSYS == 0x07DC))
11131                 {
11132                     Local0 |= 0x40
11133                 }
11134                 Else
11135                 {
11136                     Local0 &= 0xFFBF
11137                 }
11138 
11139                 If (GPS1)
11140                 {
11141                     Local0 |= 0x20
11142                 }
11143 
11144                 Local0 |= 0x08
11145                 Local0 |= 0x04
11146                 Local0 |= 0x02
11147                 If (ECOK ())
11148                 {
11149                     Local1 = BTEX /* \_SB_.PCI0.LPCB.EC0_.BTEX */
11150                 }
11151 
11152                 If (EX3G)
11153                 {
11154                     Local1 |= 0x02
11155                 }
11156                 Else
11157                 {
11158                     Local1 &= 0xFD
11159                 }
11160 
11161                 If (WLEX)
11162                 {
11163                     Local1 |= 0x04
11164                 }
11165                 Else
11166                 {
11167                     Local1 &= 0xFB
11168                 }
11169 
11170                 If (CMEX)
11171                 {
11172                     Local1 |= 0x08
11173                 }
11174                 Else
11175                 {
11176                     Local1 &= 0xF7
11177                 }
11178 
11179                 Local2 = Zero
11180                 Local2 |= 0x07
11181                 Local2 &= 0x07
11182                 Local2 <<= 0x04
11183                 Local1 |= Local2
11184                 Local1 *= 0x00010000
11185                 Local0 += Local1
11186                 _VPC = Local0
11187                 Return (_VPC) /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */
11188             }
11189 
11190             Method (APPC, 1, Serialized)
11191             {
11192                 APTG = Arg0
11193                 APEJ = Arg0
11194                 Return (Zero)
11195             }
11196 
11197             Name (TBSL, Package (0x10)
11198             {
11199                 0x02, 
11200                 0x05, 
11201                 0x0A, 
11202                 0x0F, 
11203                 0x11, 
11204                 0x14, 
11205                 0x19, 
11206                 0x1E, 
11207                 0x23, 
11208                 0x28, 
11209                 0x32, 
11210                 0x3C, 
11211                 0x46, 
11212                 0x50, 
11213                 0x5A, 
11214                 0x64
11215             })
11216             Name (TBS2, Package (0x65)
11217             {
11218                 Zero, 
11219                 One, 
11220                 0x02, 
11221                 0x03, 
11222                 0x04, 
11223                 0x05, 
11224                 0x06, 
11225                 0x07, 
11226                 0x08, 
11227                 0x09, 
11228                 0x0A, 
11229                 0x0B, 
11230                 0x0C, 
11231                 0x0D, 
11232                 0x0E, 
11233                 0x0F, 
11234                 0x10, 
11235                 0x11, 
11236                 0x12, 
11237                 0x13, 
11238                 0x14, 
11239                 0x15, 
11240                 0x16, 
11241                 0x17, 
11242                 0x18, 
11243                 0x19, 
11244                 0x1A, 
11245                 0x1B, 
11246                 0x1C, 
11247                 0x1D, 
11248                 0x1E, 
11249                 0x1F, 
11250                 0x20, 
11251                 0x21, 
11252                 0x22, 
11253                 0x23, 
11254                 0x24, 
11255                 0x25, 
11256                 0x26, 
11257                 0x27, 
11258                 0x28, 
11259                 0x29, 
11260                 0x2A, 
11261                 0x2B, 
11262                 0x2C, 
11263                 0x2D, 
11264                 0x2E, 
11265                 0x2F, 
11266                 0x30, 
11267                 0x31, 
11268                 0x32, 
11269                 0x33, 
11270                 0x34, 
11271                 0x35, 
11272                 0x36, 
11273                 0x37, 
11274                 0x38, 
11275                 0x39, 
11276                 0x3A, 
11277                 0x3B, 
11278                 0x3C, 
11279                 0x3D, 
11280                 0x3E, 
11281                 0x3F, 
11282                 0x40, 
11283                 0x41, 
11284                 0x42, 
11285                 0x43, 
11286                 0x44, 
11287                 0x45, 
11288                 0x46, 
11289                 0x47, 
11290                 0x48, 
11291                 0x49, 
11292                 0x4A, 
11293                 0x4B, 
11294                 0x4C, 
11295                 0x4D, 
11296                 0x4E, 
11297                 0x4F, 
11298                 0x50, 
11299                 0x51, 
11300                 0x52, 
11301                 0x53, 
11302                 0x54, 
11303                 0x55, 
11304                 0x56, 
11305                 0x57, 
11306                 0x58, 
11307                 0x59, 
11308                 0x5A, 
11309                 0x5B, 
11310                 0x5C, 
11311                 0x5D, 
11312                 0x5E, 
11313                 0x5F, 
11314                 0x60, 
11315                 0x61, 
11316                 0x62, 
11317                 0x63, 
11318                 0x64
11319             })
11320             Method (DBSL, 0, NotSerialized)
11321             {
11322                 If ((OSYS != 0x07DC))
11323                 {
11324                     Return (TBSL) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBSL */
11325                 }
11326                 Else
11327                 {
11328                     Return (TBS2) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBS2 */
11329                 }
11330             }
11331 
11332             Method (HALS, 0, NotSerialized)
11333             {
11334                 Local0 = Zero
11335                 Local0 |= 0x10
11336                 If (KLEN)
11337                 {
11338                     Local0 |= 0x20
11339                 }
11340 
11341                 Local0 |= 0x40
11342                 If (UCEN)
11343                 {
11344                     Local0 |= 0x80
11345                 }
11346 
11347                 Return (Local0)
11348             }
11349 
11350             Method (SALS, 1, Serialized)
11351             {
11352                 If ((Arg0 == Zero)) {}
11353                 If ((Arg0 == One)) {}
11354                 If ((Arg0 == 0x04)) {}
11355                 If ((Arg0 == 0x05)) {}
11356                 If ((Arg0 == 0x06)) {}
11357                 If ((Arg0 == 0x07)) {}
11358                 If ((Arg0 == 0x08))
11359                 {
11360                     KLEN = One
11361                 }
11362 
11363                 If ((Arg0 == 0x09))
11364                 {
11365                     KLEN = Zero
11366                 }
11367 
11368                 If ((Arg0 == 0x0A))
11369                 {
11370                     UCEN = One
11371                 }
11372 
11373                 If ((Arg0 == 0x0B))
11374                 {
11375                     UCEN = Zero
11376                 }
11377 
11378                 Return (Zero)
11379             }
11380 
11381             Method (HODD, 0, NotSerialized)
11382             {
11383                 Return (0xFF)
11384             }
11385 
11386             Method (SODD, 1, Serialized)
11387             {
11388             }
11389 
11390             Method (GBMD, 0, NotSerialized)
11391             {
11392                 Local0 = 0x10000000
11393                 If ((One == CDMB))
11394                 {
11395                     Local0 |= One
11396                 }
11397 
11398                 If ((One == BTSM))
11399                 {
11400                     Local0 |= 0x02
11401                 }
11402 
11403                 If ((One == FCGM))
11404                 {
11405                     Local0 |= 0x04
11406                 }
11407 
11408                 If ((One == MBBD))
11409                 {
11410                     Local0 |= 0x08
11411                 }
11412 
11413                 If ((One == SBBD))
11414                 {
11415                     Local0 |= 0x10
11416                 }
11417 
11418                 If ((One == LBTM))
11419                 {
11420                     Local0 &= 0xFFFFFFDF
11421                 }
11422 
11423                 If ((One == BTIL))
11424                 {
11425                     Local0 |= 0x80
11426                 }
11427 
11428                 If ((One == BTPF))
11429                 {
11430                     Local0 |= 0x0100
11431                 }
11432 
11433                 If ((Zero == BTCM))
11434                 {
11435                     Local0 |= 0x0200
11436                 }
11437                 Else
11438                 {
11439                     Local0 |= 0x20
11440                     Local0 &= 0xFFFFFDFF
11441                 }
11442 
11443                 If ((One == SBIL))
11444                 {
11445                     Local0 |= 0x0400
11446                 }
11447 
11448                 If ((One == BTOV))
11449                 {
11450                     Local0 |= 0x0800
11451                 }
11452 
11453                 If ((One == SBOV))
11454                 {
11455                     Local0 |= 0x1000
11456                 }
11457 
11458                 If ((One == SBPF))
11459                 {
11460                     Local0 |= 0x2000
11461                 }
11462 
11463                 Return (Local0)
11464             }
11465 
11466             Method (SBMC, 1, NotSerialized)
11467             {
11468                 If ((Arg0 == Zero))
11469                 {
11470                     CDMB = Zero
11471                     EDCC = One
11472                     Return (Zero)
11473                 }
11474 
11475                 If ((Arg0 == One))
11476                 {
11477                     EDCC = Zero
11478                     CDMB = One
11479                     Return (Zero)
11480                 }
11481 
11482                 If ((Arg0 == 0x02))
11483                 {
11484                     CCSB = One
11485                     Return (Zero)
11486                 }
11487 
11488                 If ((Arg0 == 0x03))
11489                 {
11490                     BTSM = Zero
11491                     BTCM = One
11492                     LBTM = Zero
11493                     Return (Zero)
11494                 }
11495 
11496                 If ((Arg0 == 0x04))
11497                 {
11498                     BTSM = Zero
11499                     BTCM = One
11500                     LBTM = Zero
11501                     Return (Zero)
11502                 }
11503 
11504                 If ((Arg0 == 0x05))
11505                 {
11506                     BTSM = Zero
11507                     BTCM = Zero
11508                     LBTM = One
11509                     Return (Zero)
11510                 }
11511 
11512                 If ((Arg0 == 0x06))
11513                 {
11514                     CSBM = One
11515                     Return (Zero)
11516                 }
11517 
11518                 Return (Zero)
11519             }
11520 
11521             Method (SHDC, 1, Serialized)
11522             {
11523                 IPEN = Arg0
11524                 Return (Zero)
11525             }
11526 
11527             Method (SVCR, 1, Serialized)
11528             {
11529                 Local0 = Zero
11530                 If ((Arg0 == Zero))
11531                 {
11532                     QTMD = Zero
11533                 }
11534 
11535                 If ((Arg0 == One))
11536                 {
11537                     QTMD = One
11538                 }
11539 
11540                 If ((Arg0 == 0x02))
11541                 {
11542                     LVAT = Zero
11543                 }
11544 
11545                 If ((Arg0 == 0x03))
11546                 {
11547                     LVAT = One
11548                 }
11549             }
11550 
11551             Method (VPCR, 1, Serialized)
11552             {
11553                 If ((Arg0 == One))
11554                 {
11555                     VPCD = VCMD /* \_SB_.PCI0.LPCB.EC0_.VCMD */
11556                 }
11557                 Else
11558                 {
11559                     VPCD = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */
11560                 }
11561 
11562                 Return (VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */
11563             }
11564 
11565             Method (VPCW, 2, Serialized)
11566             {
11567                 If ((Arg0 == One))
11568                 {
11569                     VCMD = Arg1
11570                     If ((Arg1 == 0x11))
11571                     {
11572                         VDAT = 0x10
11573                         VCMD = Zero
11574                         Return (Zero)
11575                     }
11576 
11577                     If ((Arg1 == 0x13))
11578                     {
11579                         If ((OSYS < 0x07D6))
11580                         {
11581                             Local0 = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */
11582                             Local0 += 0x02
11583                             ^^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0)))
11584                             Return (Zero)
11585                         }
11586                     }
11587                 }
11588                 Else
11589                 {
11590                     VDAT = Arg1
11591                 }
11592 
11593                 Return (Zero)
11594             }
11595 
11596             Method (MHCF, 1, NotSerialized)
11597             {
11598                 Local0 = Arg0
11599                 (Local0 & 0x60)
11600                 Local0 >>= 0x05
11601                 BFUC = Local0
11602                 If ((BFUC == One))
11603                 {
11604                     BFFW = Zero
11605                 }
11606 
11607                 Sleep (0x14)
11608                 Return (Local0)
11609             }
11610 
11611             Method (MHPF, 1, NotSerialized)
11612             {
11613                 Name (BFWB, Buffer (0x25) {})
11614                 CreateByteField (BFWB, Zero, FB0)
11615                 CreateByteField (BFWB, One, FB1)
11616                 CreateByteField (BFWB, 0x02, FB2)
11617                 CreateByteField (BFWB, 0x03, FB3)
11618                 CreateField (BFWB, 0x20, 0x0100, FB4)
11619                 CreateByteField (BFWB, 0x24, FB5)
11620                 If ((SizeOf (Arg0) <= 0x25))
11621                 {
11622                     If ((SMPR != Zero))
11623                     {
11624                         FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
11625                     }
11626                     Else
11627                     {
11628                         BFWB = Arg0
11629                         SMAD = FB2 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB2_ */
11630                         SMCM = FB3 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB3_ */
11631                         BCNT = FB5 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB5_ */
11632                         Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11633                         If (((Local0 & One) == Zero))
11634                         {
11635                             SMD0 = FB4 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB4_ */
11636                         }
11637 
11638                         SMST = Zero
11639                         SMPR = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11640                         Local1 = 0x64
11641                         While (Local1)
11642                         {
11643                             Sleep (0x0A)
11644                             Local1--
11645                             If ((SMST && 0x80))
11646                             {
11647                                 Break
11648                             }
11649                         }
11650 
11651                         Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */
11652                         If (((Local0 & One) != Zero))
11653                         {
11654                             FB4 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */
11655                         }
11656 
11657                         FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */
11658                         If ((Local1 == Zero))
11659                         {
11660                             SMPR = Zero
11661                             FB1 = 0x92
11662                         }
11663                     }
11664 
11665                     Sleep (0x14)
11666                     Return (BFWB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.BFWB */
11667                 }
11668             }
11669 
11670             Method (MHIF, 1, NotSerialized)
11671             {
11672                 Name (RETB, Buffer (0x0A) {})
11673                 While ((BFFW == Zero))
11674                 {
11675                     Sleep (0xC8)
11676                 }
11677 
11678                 If ((Arg0 == Zero))
11679                 {
11680                     Index (RETB, Zero) = FUSL /* \_SB_.PCI0.LPCB.EC0_.FUSL */
11681                     Index (RETB, One) = FUSH /* \_SB_.PCI0.LPCB.EC0_.FUSH */
11682                     Index (RETB, 0x02) = BMIL /* \_SB_.PCI0.LPCB.EC0_.BMIL */
11683                     Index (RETB, 0x03) = BMIH /* \_SB_.PCI0.LPCB.EC0_.BMIH */
11684                     Index (RETB, 0x04) = HIDL /* \_SB_.PCI0.LPCB.EC0_.HIDL */
11685                     Index (RETB, 0x05) = HIDH /* \_SB_.PCI0.LPCB.EC0_.HIDH */
11686                     Index (RETB, 0x06) = FMVL /* \_SB_.PCI0.LPCB.EC0_.FMVL */
11687                     Index (RETB, 0x07) = FMVH /* \_SB_.PCI0.LPCB.EC0_.FMVH */
11688                     Index (RETB, 0x08) = DAVL /* \_SB_.PCI0.LPCB.EC0_.DAVL */
11689                     Index (RETB, 0x09) = DAVH /* \_SB_.PCI0.LPCB.EC0_.DAVH */
11690                 }
11691 
11692                 Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHIF.RETB */
11693             }
11694         }
11695 
11696         Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query
11697         {
11698             If ((ECOK () == One))
11699             {
11700                 P8XH (0x04, 0x44, Zero)
11701                 P8XH (0x04, 0x44, One)
11702                 Notify (VPC0, 0x80) // Status Change
11703             }
11704         }
11705 
11706         Name (AMOD, Zero)
11707         Name (CATO, Zero)
11708         Method (_Q67, 0, NotSerialized)  // _Qxx: EC Query
11709         {
11710             AMOD = \_PR.CPU0._PPC
11711             \_PR.CPU0._PPC = CATO /* \_SB_.PCI0.LPCB.EC0_.CATO */
11712             PNOT ()
11713         }
11714 
11715         Method (_Q68, 0, NotSerialized)  // _Qxx: EC Query
11716         {
11717             \_PR.CPU0._PPC = AMOD /* \_SB_.PCI0.LPCB.EC0_.AMOD */
11718             PNOT ()
11719         }
11720 
11721         Method (_Q62, 0, NotSerialized)  // _Qxx: EC Query
11722         {
11723             ECDX = 0xD1
11724             Notify (^^^PEG0.PEGP, 0xD1) // Hardware-Specific
11725             If ((GPSP == One))
11726             {
11727                 ECPS = Zero
11728                 GPSP = Zero
11729                 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11730             }
11731         }
11732 
11733         Method (_Q63, 0, NotSerialized)  // _Qxx: EC Query
11734         {
11735             ECDX = 0xD2
11736             Notify (^^^PEG0.PEGP, 0xD2) // Hardware-Specific
11737             If ((GPSP == One))
11738             {
11739                 ECPS = Zero
11740                 GPSP = Zero
11741                 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11742             }
11743         }
11744 
11745         Method (_Q64, 0, NotSerialized)  // _Qxx: EC Query
11746         {
11747             If ((GPSP == Zero))
11748             {
11749                 ECPS = One
11750                 GPSP = One
11751                 Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific
11752             }
11753         }
11754 
11755         Scope (\)
11756         {
11757             Name (PLVL, Package (0x12)
11758             {
11759                 0x46, 
11760                 0x1E, 
11761                 0x0A, 
11762                 0x0F, 
11763                 0x14, 
11764                 0x19, 
11765                 0x1E, 
11766                 0x23, 
11767                 0x28, 
11768                 0x2D, 
11769                 0x32, 
11770                 0x37, 
11771                 0x3C, 
11772                 0x41, 
11773                 0x46, 
11774                 0x50, 
11775                 0x5A, 
11776                 0x64
11777             })
11778             Name (PLV2, Package (0x67)
11779             {
11780                 0x46, 
11781                 0x1E, 
11782                 Zero, 
11783                 One, 
11784                 0x02, 
11785                 0x03, 
11786                 0x04, 
11787                 0x05, 
11788                 0x06, 
11789                 0x07, 
11790                 0x08, 
11791                 0x09, 
11792                 0x0A, 
11793                 0x0B, 
11794                 0x0C, 
11795                 0x0D, 
11796                 0x0E, 
11797                 0x0F, 
11798                 0x10, 
11799                 0x11, 
11800                 0x12, 
11801                 0x13, 
11802                 0x14, 
11803                 0x15, 
11804                 0x16, 
11805                 0x17, 
11806                 0x18, 
11807                 0x19, 
11808                 0x1A, 
11809                 0x1B, 
11810                 0x1C, 
11811                 0x1D, 
11812                 0x1E, 
11813                 0x1F, 
11814                 0x20, 
11815                 0x21, 
11816                 0x22, 
11817                 0x23, 
11818                 0x24, 
11819                 0x25, 
11820                 0x26, 
11821                 0x27, 
11822                 0x28, 
11823                 0x29, 
11824                 0x2A, 
11825                 0x2B, 
11826                 0x2C, 
11827                 0x2D, 
11828                 0x2E, 
11829                 0x2F, 
11830                 0x30, 
11831                 0x31, 
11832                 0x32, 
11833                 0x33, 
11834                 0x34, 
11835                 0x35, 
11836                 0x36, 
11837                 0x37, 
11838                 0x38, 
11839                 0x39, 
11840                 0x3A, 
11841                 0x3B, 
11842                 0x3C, 
11843                 0x3D, 
11844                 0x3E, 
11845                 0x3F, 
11846                 0x40, 
11847                 0x41, 
11848                 0x42, 
11849                 0x43, 
11850                 0x44, 
11851                 0x45, 
11852                 0x46, 
11853                 0x47, 
11854                 0x48, 
11855                 0x49, 
11856                 0x4A, 
11857                 0x4B, 
11858                 0x4C, 
11859                 0x4D, 
11860                 0x4E, 
11861                 0x4F, 
11862                 0x50, 
11863                 0x51, 
11864                 0x52, 
11865                 0x53, 
11866                 0x54, 
11867                 0x55, 
11868                 0x56, 
11869                 0x57, 
11870                 0x58, 
11871                 0x59, 
11872                 0x5A, 
11873                 0x5B, 
11874                 0x5C, 
11875                 0x5D, 
11876                 0x5E, 
11877                 0x5F, 
11878                 0x60, 
11879                 0x61, 
11880                 0x62, 
11881                 0x63, 
11882                 0x64
11883             })
11884             Name (APTG, Zero)
11885             Name (APEJ, Zero)
11886             Name (APSD, Zero)
11887             Name (ECDX, 0xD1)
11888             Name (ECPS, Zero)
11889         }
11890 
11891         Scope (^^PEG0.PEGP)
11892         {
11893             OperationRegion (PCRG, PCI_Config, Zero, 0x3F)
11894             Field (PCRG, AnyAcc, NoLock, Preserve)
11895             {
11896                 VID,    16, 
11897                 DID,    16
11898             }
11899         }
11900 
11901         Scope (^^GFX0)
11902         {
11903             OperationRegion (PCRG, PCI_Config, Zero, 0x3F)
11904             Field (PCRG, AnyAcc, NoLock, Preserve)
11905             {
11906                 VID,    16, 
11907                 DID,    16
11908             }
11909         }
11910 
11911         OperationRegion (ECAM, EmbeddedControl, Zero, 0xFF)
11912         Field (ECAM, ByteAcc, Lock, Preserve)
11913         {
11914             Offset (0x03), 
11915             KLEN,   1, 
11916             KLEX,   1, 
11917             UCEN,   1, 
11918             UCEX,   1, 
11919             SEVP,   1, 
11920             Offset (0x04), 
11921             SBOV,   1, 
11922             SBIL,   1, 
11923             SBPF,   1, 
11924                 ,   2, 
11925             SBBD,   1, 
11926             Offset (0x05), 
11927             Offset (0x06), 
11928             ERPM,   8, 
11929             BTOV,   1, 
11930             BTIL,   1, 
11931             BTPF,   1, 
11932             BTSG,   1, 
11933             LEDF,   1, 
11934             MBBD,   1, 
11935             LVAT,   1, 
11936             FCGM,   1, 
11937             ACBL,   8, 
11938             DCBL,   8, 
11939             EDCC,   1, 
11940             ALSC,   1, 
11941             CDMB,   1, 
11942             CCSB,   1, 
11943             BTSM,   1, 
11944             BTCM,   1, 
11945             LBTM,   1, 
11946             CSBM,   1, 
11947             HYMS,   1, 
11948             HDME,   1, 
11949             HGMF,   1, 
11950             SWCS,   1, 
11951             IPEN,   1, 
11952             DCRC,   1, 
11953             CREC,   1, 
11954             SGCR,   1, 
11955             ODPO,   1, 
11956             EODD,   1, 
11957             ODPK,   1, 
11958             CMEX,   1, 
11959             CMON,   1, 
11960             SODD,   1, 
11961             ODFB,   1, 
11962             EODS,   1, 
11963             RTMP,   8, 
11964             VTMP,   8, 
11965             FNCM,   8, 
11966             PINF,   3, 
11967             SPST,   1, 
11968             ATIT,   1, 
11969             QTMD,   1, 
11970             SS35,   1, 
11971             Offset (0x11), 
11972             BFUC,   2, 
11973             Offset (0x12), 
11974             FUSL,   8, 
11975             FUSH,   8, 
11976             BMIL,   8, 
11977             BMIH,   8, 
11978             HIDL,   8, 
11979             HIDH,   8, 
11980             FMVL,   8, 
11981             FMVH,   8, 
11982             DAVL,   8, 
11983             DAVH,   8, 
11984             KEYP,   1, 
11985             BRAZ,   1, 
11986             Offset (0x1D), 
11987             BFFW,   1
11988         }
11989     }
11990 
11991     Scope (_SB)
11992     {
11993         Device (LID0)
11994         {
11995             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
11996             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
11997             {
11998                 Return (GP15) /* \GP15 */
11999             }
12000 
12001             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
12002             {
12003                 0x1F, 
12004                 0x03
12005             })
12006         }
12007     }
12008 
12009     Mutex (PSMX, 0x00)
12010     Method (OSMI, 1, NotSerialized)
12011     {
12012         Acquire (PSMX, 0xFFFF)
12013         SMID = Arg0
12014         SMIC = 0xB2
12015         Release (PSMX)
12016     }
12017 
12018     Mutex (SSMX, 0x00)
12019     Method (SSMI, 2, NotSerialized)
12020     {
12021         Acquire (SSMX, 0xFFFF)
12022         SMID = Arg1
12023         SMIC = Arg0
12024         Local0 = SMID /* \SMID */
12025         Release (SSMX)
12026         Return (Local0)
12027     }
12028 
12029     Scope (_SB.PCI0.LPCB.EC0)
12030     {
12031         Method (REGH, 0, NotSerialized)
12032         {
12033             If (((WLEX == One) & (WLAT == One)))
12034             {
12035                 GP55 = One
12036             }
12037             Else
12038             {
12039                 GP55 = Zero
12040             }
12041 
12042             If (((BTEX == One) & (BTAT == One)))
12043             {
12044                 B_ON ()
12045             }
12046             Else
12047             {
12048                 B_OF ()
12049             }
12050         }
12051     }
12052 
12053     Scope (_SB.PCI0.LPCB.EC0)
12054     {
12055         Method (LVCK, 0, NotSerialized)
12056         {
12057             Return (0x38)
12058         }
12059 
12060         Method (AITL, 2, NotSerialized)
12061         {
12062             Local0 = Arg1
12063             If ((Zero == APSD))
12064             {
12065                 APSD = One
12066                 If ((Arg0 == 0x10))
12067                 {
12068                     OSMI (0x8A)
12069                     Return (0xF0)
12070                 }
12071 
12072                 If ((Arg0 == 0x11))
12073                 {
12074                     OSMI (0x8B)
12075                     Return (0xF0)
12076                 }
12077 
12078                 If ((Arg0 == 0x12))
12079                 {
12080                     OSMI (0x8C)
12081                     Return (0xF0)
12082                 }
12083 
12084                 If ((Arg0 == 0x13))
12085                 {
12086                     OSMI (0x8D)
12087                     Return (0xF0)
12088                 }
12089             }
12090             Else
12091             {
12092                 Return (0xFE)
12093             }
12094 
12095             Return (0xFF)
12096         }
12097     }
12098 
12099     Name (_S0, Package (0x04)  // _S0_: S0 System State
12100     {
12101         Zero, 
12102         Zero, 
12103         Zero, 
12104         Zero
12105     })
12106     If (SS1)
12107     {
12108         Name (_S1, Package (0x04)  // _S1_: S1 System State
12109         {
12110             One, 
12111             Zero, 
12112             Zero, 
12113             Zero
12114         })
12115     }
12116 
12117     If (SS3)
12118     {
12119         Name (_S3, Package (0x04)  // _S3_: S3 System State
12120         {
12121             0x05, 
12122             Zero, 
12123             Zero, 
12124             Zero
12125         })
12126     }
12127 
12128     If (SS4)
12129     {
12130         Name (_S4, Package (0x04)  // _S4_: S4 System State
12131         {
12132             0x06, 
12133             Zero, 
12134             Zero, 
12135             Zero
12136         })
12137     }
12138 
12139     Name (_S5, Package (0x04)  // _S5_: S5 System State
12140     {
12141         0x07, 
12142         Zero, 
12143         Zero, 
12144         Zero
12145     })
12146     Scope (\_SB)
12147     {
12148         OperationRegion (MAIO, SystemIO, 0xFD61, 0x03)
12149         Field (MAIO, ByteAcc, NoLock, Preserve)
12150         {
12151             MAIN,   16, 
12152             MADT,   8
12153         }
12154 
12155         Method (AMBX, 3, Serialized)
12156         {
12157             If ((Arg0 == Zero))
12158             {
12159                 MAIN = Arg1
12160                 Local2 = MADT /* \_SB_.MADT */
12161                 Return (Local2)
12162             }
12163             Else
12164             {
12165                 MAIN = Arg1
12166                 MADT = Arg2
12167                 Local2 = Zero
12168                 Return (Local2)
12169             }
12170         }
12171 
12172         Device (PTID)
12173         {
12174             Name (_HID, EisaId ("INT340E") /* Motherboard Resources */)  // _HID: Hardware ID
12175             Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
12176             Name (IVER, 0x00030000)
12177             Method (_STA, 0, NotSerialized)  // _STA: Status
12178             {
12179                 Return (0x0F)
12180             }
12181 
12182             Name (TSDL, Package (0x0A)
12183             {
12184                 Zero, 
12185                 "CPU Core 0 DTS", 
12186                 Zero, 
12187                 "CPU Core 1 DTS", 
12188                 Zero, 
12189                 "CPU Core 2 DTS", 
12190                 Zero, 
12191                 "CPU Core 3 DTS", 
12192                 Zero, 
12193                 "CPU Core Package DTS"
12194             })
12195             Name (TMPV, Package (0x02)
12196             {
12197                 Zero, 
12198                 Zero
12199             })
12200             Name (PSDL, Package (0x04)
12201             {
12202                 Zero, 
12203                 "Power 0", 
12204                 Zero, 
12205                 "Power 1"
12206             })
12207             Name (PWRV, Package (0x02)
12208             {
12209                 Zero, 
12210                 Zero
12211             })
12212             Name (OSDL, Package (0x06)
12213             {
12214                 0x04, 
12215                 "Fan RPM", 
12216                 "RPM", 
12217                 0x0C, 
12218                 "Battery Capacity", 
12219                 "mAh"
12220             })
12221             Name (OSDV, Package (0x02)
12222             {
12223                 Zero, 
12224                 Zero
12225             })
12226             Method (TSDD, 0, NotSerialized)
12227             {
12228                 Index (TMPV, Zero) = ((DTS1 * 0x0A) + 0x0AAC)
12229                 Index (TMPV, One) = ((DTS2 * 0x0A) + 0x0AAC)
12230                 Index (TMPV, 0x02) = ((DTS3 * 0x0A) + 0x0AAC)
12231                 Index (TMPV, 0x03) = ((DTS4 * 0x0A) + 0x0AAC)
12232                 Index (TMPV, 0x04) = ((PDTS * 0x0A) + 0x0AAC)
12233                 Return (TMPV) /* \_SB_.PTID.TMPV */
12234             }
12235 
12236             Method (PSDD, 0, NotSerialized)
12237             {
12238                 Return (PWRV) /* \_SB_.PTID.PWRV */
12239             }
12240 
12241             Method (OSDD, 0, NotSerialized)
12242             {
12243                 Return (OSDV) /* \_SB_.PTID.OSDV */
12244             }
12245 
12246             Method (SDSP, 0, NotSerialized)
12247             {
12248                 Return (0x0A)
12249             }
12250 
12251             Name (PADA, Package (0x0A)
12252             {
12253                 One, 
12254                 Ones, 
12255                 Ones, 
12256                 0x1A, 
12257                 Ones, 
12258                 Ones, 
12259                 Ones, 
12260                 Ones, 
12261                 Ones, 
12262                 Ones
12263             })
12264             Name (PADD, Package (0x0A)
12265             {
12266                 0x02, 
12267                 0x6C, 
12268                 0x68, 
12269                 0x1A, 
12270                 0x62, 
12271                 0x63, 
12272                 0x60, 
12273                 0x61, 
12274                 0x65, 
12275                 0x64
12276             })
12277             Method (PADT, 0, NotSerialized)
12278             {
12279                 If (PAMT)
12280                 {
12281                     Return (PADA) /* \_SB_.PTID.PADA */
12282                 }
12283 
12284                 Return (PADD) /* \_SB_.PTID.PADD */
12285             }
12286 
12287             Method (RPMD, 0, NotSerialized)
12288             {
12289                 Name (MTMP, Buffer (0x1A) {})
12290                 Debug = "RPMD"
12291                 Local0 = AMBX (Zero, 0x8AFB, Zero)
12292                 Debug = Local0
12293                 Index (MTMP, 0x05) = AMBX (Zero, 0x8BFB, Zero)
12294                 Index (MTMP, 0x06) = AMBX (Zero, 0x8CFB, Zero)
12295                 Index (MTMP, 0x07) = AMBX (Zero, 0x8DFB, Zero)
12296                 Index (MTMP, 0x08) = AMBX (Zero, 0x8EFB, Zero)
12297                 Index (MTMP, 0x09) = AMBX (Zero, 0x8FFB, Zero)
12298                 Index (MTMP, 0x0A) = AMBX (Zero, 0x90FB, Zero)
12299                 Index (MTMP, 0x0B) = AMBX (Zero, 0x91FB, Zero)
12300                 Index (MTMP, 0x0C) = AMBX (Zero, 0x92FB, Zero)
12301                 Index (MTMP, 0x0D) = AMBX (Zero, 0x93FB, Zero)
12302                 Index (MTMP, 0x0E) = AMBX (Zero, 0x94FB, Zero)
12303                 Index (MTMP, 0x0F) = AMBX (Zero, 0x95FB, Zero)
12304                 Index (MTMP, 0x10) = AMBX (Zero, 0x96FB, Zero)
12305                 Index (MTMP, 0x11) = AMBX (Zero, 0x97FB, Zero)
12306                 Index (MTMP, 0x12) = AMBX (Zero, 0x98FB, Zero)
12307                 Index (MTMP, 0x13) = AMBX (Zero, 0x99FB, Zero)
12308                 Index (MTMP, 0x14) = AMBX (Zero, 0x9AFB, Zero)
12309                 Index (MTMP, 0x15) = AMBX (Zero, 0x9BFB, Zero)
12310                 Index (MTMP, 0x16) = AMBX (Zero, 0x9CFB, Zero)
12311                 Index (MTMP, 0x17) = AMBX (Zero, 0x9DFB, Zero)
12312                 Index (MTMP, 0x18) = AMBX (Zero, 0x9EFB, Zero)
12313                 Index (MTMP, 0x19) = AMBX (Zero, 0x9FFB, Zero)
12314                 Index (MTMP, Zero) = AMBX (Zero, 0x86FB, Zero)
12315                 Index (MTMP, One) = AMBX (Zero, 0x87FB, Zero)
12316                 Index (MTMP, 0x02) = AMBX (Zero, 0x88FB, Zero)
12317                 Index (MTMP, 0x03) = AMBX (Zero, 0x89FB, Zero)
12318                 Debug = MTMP /* \_SB_.PTID.RPMD.MTMP */
12319                 Return (MTMP) /* \_SB_.PTID.RPMD.MTMP */
12320             }
12321 
12322             Method (WPMD, 1, NotSerialized)
12323             {
12324                 If ((SizeOf (Arg0) != 0x1A))
12325                 {
12326                     Debug = SizeOf (Arg0)
12327                     Debug = Arg0
12328                     Return (Ones)
12329                 }
12330 
12331                 Debug = "WPMD"
12332                 Debug = Arg0
12333                 AMBX (One, 0x8AFB, DerefOf (Index (Arg0, 0x04)))
12334                 AMBX (One, 0x8BFB, DerefOf (Index (Arg0, 0x05)))
12335                 AMBX (One, 0x8CFB, DerefOf (Index (Arg0, 0x06)))
12336                 AMBX (One, 0x8DFB, DerefOf (Index (Arg0, 0x07)))
12337                 AMBX (One, 0x8EFB, DerefOf (Index (Arg0, 0x08)))
12338                 AMBX (One, 0x8FFB, DerefOf (Index (Arg0, 0x09)))
12339                 AMBX (One, 0x90FB, DerefOf (Index (Arg0, 0x0A)))
12340                 AMBX (One, 0x91FB, DerefOf (Index (Arg0, 0x0B)))
12341                 AMBX (One, 0x92FB, DerefOf (Index (Arg0, 0x0C)))
12342                 AMBX (One, 0x93FB, DerefOf (Index (Arg0, 0x0D)))
12343                 AMBX (One, 0x94FB, DerefOf (Index (Arg0, 0x0E)))
12344                 AMBX (One, 0x95FB, DerefOf (Index (Arg0, 0x0F)))
12345                 AMBX (One, 0x96FB, DerefOf (Index (Arg0, 0x10)))
12346                 AMBX (One, 0x97FB, DerefOf (Index (Arg0, 0x11)))
12347                 AMBX (One, 0x98FB, DerefOf (Index (Arg0, 0x12)))
12348                 AMBX (One, 0x99FB, DerefOf (Index (Arg0, 0x13)))
12349                 AMBX (One, 0x9AFB, DerefOf (Index (Arg0, 0x14)))
12350                 AMBX (One, 0x9BFB, DerefOf (Index (Arg0, 0x15)))
12351                 AMBX (One, 0x9CFB, DerefOf (Index (Arg0, 0x16)))
12352                 AMBX (One, 0x9DFB, DerefOf (Index (Arg0, 0x17)))
12353                 AMBX (One, 0x9EFB, DerefOf (Index (Arg0, 0x18)))
12354                 AMBX (One, 0x9FFB, DerefOf (Index (Arg0, 0x19)))
12355                 AMBX (One, 0x86FB, DerefOf (Index (Arg0, Zero)))
12356                 AMBX (One, 0x87FB, DerefOf (Index (Arg0, One)))
12357                 AMBX (One, 0x88FB, DerefOf (Index (Arg0, 0x02)))
12358                 AMBX (One, 0x89FB, DerefOf (Index (Arg0, 0x03)))
12359                 Return (Zero)
12360             }
12361 
12362             Method (ISPC, 0, NotSerialized)
12363             {
12364                 Debug = "ISPC"
12365                 AMBX (One, 0x10FF, 0x60)
12366                 Local0 = AMBX (Zero, 0x10FF, Zero)
12367                 While (Local0)
12368                 {
12369                     Local0 = AMBX (Zero, 0x10FF, Zero)
12370                 }
12371 
12372                 Return (Zero)
12373             }
12374 
12375             Method (ENPC, 0, NotSerialized)
12376             {
12377                 AMBX (One, 0x10FF, 0x61)
12378                 Local0 = AMBX (Zero, 0x10FF, Zero)
12379                 While (Local0)
12380                 {
12381                     Local0 = AMBX (Zero, 0x10FF, Zero)
12382                 }
12383 
12384                 Return (Zero)
12385             }
12386 
12387             Method (RPCS, 0, NotSerialized)
12388             {
12389                 Debug = "RPCS"
12390                 AMBX (One, 0x10FF, 0x65)
12391                 Local0 = AMBX (Zero, 0x10FF, Zero)
12392                 While (Local0)
12393                 {
12394                     Local0 = AMBX (Zero, 0x10FF, Zero)
12395                 }
12396 
12397                 Local0 = AMBX (Zero, 0x80FB, Zero)
12398                 Debug = Local0
12399                 Return (Local0)
12400             }
12401 
12402             Method (RPEC, 0, NotSerialized)
12403             {
12404                 Local0 = Zero
12405                 AMBX (One, 0x10FF, 0x64)
12406                 Local0 = AMBX (Zero, 0x10FF, Zero)
12407                 While (Local0)
12408                 {
12409                     Local0 = AMBX (Zero, 0x10FF, Zero)
12410                 }
12411 
12412                 Local1 = AMBX (Zero, 0x82FB, Zero)
12413                 Local0 |= Local1
12414                 Local1 = AMBX (Zero, 0x83FB, Zero)
12415                 Local0 |= (Local1 << 0x08)
12416                 Local1 = AMBX (Zero, 0x84FB, Zero)
12417                 Local0 |= (Local1 << 0x10)
12418                 Local1 = AMBX (Zero, 0x85FB, Zero)
12419                 Local0 |= (Local1 << 0x18)
12420                 Return (Local0)
12421             }
12422         }
12423     }
12424 
12425     Scope (\_PR.CPU0)
12426     {
12427         Name (_PPC, Zero)  // _PPC: Performance Present Capabilities
12428         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
12429         {
12430             \_PR.CPU0._PPC = \_PR.CPPC
12431             If (((CFGD & One) && (PDC0 & One)))
12432             {
12433                 Return (Package (0x02)
12434                 {
12435                     ResourceTemplate ()
12436                     {
12437                         Register (FFixedHW, 
12438                             0x00,               // Bit Width
12439                             0x00,               // Bit Offset
12440                             0x0000000000000000, // Address
12441                             ,)
12442                     }, 
12443 
12444                     ResourceTemplate ()
12445                     {
12446                         Register (FFixedHW, 
12447                             0x00,               // Bit Width
12448                             0x00,               // Bit Offset
12449                             0x0000000000000000, // Address
12450                             ,)
12451                     }
12452                 })
12453             }
12454 
12455             Return (Package (0x02)
12456             {
12457                 ResourceTemplate ()
12458                 {
12459                     Register (SystemIO, 
12460                         0x10,               // Bit Width
12461                         0x00,               // Bit Offset
12462                         0x0000000000001000, // Address
12463                         ,)
12464                 }, 
12465 
12466                 ResourceTemplate ()
12467                 {
12468                     Register (SystemIO, 
12469                         0x08,               // Bit Width
12470                         0x00,               // Bit Offset
12471                         0x00000000000000B3, // Address
12472                         ,)
12473                 }
12474             })
12475         }
12476 
12477         Method (XPSS, 0, NotSerialized)
12478         {
12479             If ((PDC0 & One))
12480             {
12481                 Return (NPSS) /* External reference */
12482             }
12483 
12484             Return (SPSS) /* \_PR_.CPU0.SPSS */
12485         }
12486 
12487         Name (SPSS, Package (0x10)
12488         {
12489             Package (0x06)
12490             {
12491                 0x000008FC, 
12492                 0x000088B8, 
12493                 0x0000006E, 
12494                 0x0000000A, 
12495                 0x00000083, 
12496                 0x00000000
12497             }, 
12498 
12499             Package (0x06)
12500             {
12501                 0x00000898, 
12502                 0x00008068, 
12503                 0x0000006E, 
12504                 0x0000000A, 
12505                 0x00000183, 
12506                 0x00000001
12507             }, 
12508 
12509             Package (0x06)
12510             {
12511                 0x00000834, 
12512                 0x00007997, 
12513                 0x0000006E, 
12514                 0x0000000A, 
12515                 0x00000283, 
12516                 0x00000002
12517             }, 
12518 
12519             Package (0x06)
12520             {
12521                 0x000007D0, 
12522                 0x00007197, 
12523                 0x0000006E, 
12524                 0x0000000A, 
12525                 0x00000383, 
12526                 0x00000003
12527             }, 
12528 
12529             Package (0x06)
12530             {
12531                 0x0000076C, 
12532                 0x00006B0E, 
12533                 0x0000006E, 
12534                 0x0000000A, 
12535                 0x00000483, 
12536                 0x00000004
12537             }, 
12538 
12539             Package (0x06)
12540             {
12541                 0x00000708, 
12542                 0x000064A6, 
12543                 0x0000006E, 
12544                 0x0000000A, 
12545                 0x00000583, 
12546                 0x00000005
12547             }, 
12548 
12549             Package (0x06)
12550             {
12551                 0x000006A4, 
12552                 0x00005D1D, 
12553                 0x0000006E, 
12554                 0x0000000A, 
12555                 0x00000683, 
12556                 0x00000006
12557             }, 
12558 
12559             Package (0x06)
12560             {
12561                 0x00000640, 
12562                 0x000056F9, 
12563                 0x0000006E, 
12564                 0x0000000A, 
12565                 0x00000783, 
12566                 0x00000007
12567             }, 
12568 
12569             Package (0x06)
12570             {
12571                 0x000005DC, 
12572                 0x000050F6, 
12573                 0x0000006E, 
12574                 0x0000000A, 
12575                 0x00000883, 
12576                 0x00000008
12577             }, 
12578 
12579             Package (0x06)
12580             {
12581                 0x00000578, 
12582                 0x000049D8, 
12583                 0x0000006E, 
12584                 0x0000000A, 
12585                 0x00000983, 
12586                 0x00000009
12587             }, 
12588 
12589             Package (0x06)
12590             {
12591                 0x00000514, 
12592                 0x00004418, 
12593                 0x0000006E, 
12594                 0x0000000A, 
12595                 0x00000A83, 
12596                 0x0000000A
12597             }, 
12598 
12599             Package (0x06)
12600             {
12601                 0x000004B0, 
12602                 0x00003E7C, 
12603                 0x0000006E, 
12604                 0x0000000A, 
12605                 0x00000B83, 
12606                 0x0000000B
12607             }, 
12608 
12609             Package (0x06)
12610             {
12611                 0x0000044C, 
12612                 0x000037CA, 
12613                 0x0000006E, 
12614                 0x0000000A, 
12615                 0x00000C83, 
12616                 0x0000000C
12617             }, 
12618 
12619             Package (0x06)
12620             {
12621                 0x000003E8, 
12622                 0x0000326B, 
12623                 0x0000006E, 
12624                 0x0000000A, 
12625                 0x00000D83, 
12626                 0x0000000D
12627             }, 
12628 
12629             Package (0x06)
12630             {
12631                 0x00000384, 
12632                 0x00002D2B, 
12633                 0x0000006E, 
12634                 0x0000000A, 
12635                 0x00000E83, 
12636                 0x0000000E
12637             }, 
12638 
12639             Package (0x06)
12640             {
12641                 0x00000320, 
12642                 0x000026E4, 
12643                 0x0000006E, 
12644                 0x0000000A, 
12645                 0x00000F83, 
12646                 0x0000000F
12647             }
12648         })
12649         Package (0x06)
12650         {
12651             0x80000000, 
12652             0x80000000, 
12653             0x80000000, 
12654             0x80000000, 
12655             0x80000000, 
12656             0x80000000
12657         }
12658 
12659         Package (0x06)
12660         {
12661             0x80000000, 
12662             0x80000000, 
12663             0x80000000, 
12664             0x80000000, 
12665             0x80000000, 
12666             0x80000000
12667         }
12668 
12669         Package (0x06)
12670         {
12671             0x80000000, 
12672             0x80000000, 
12673             0x80000000, 
12674             0x80000000, 
12675             0x80000000, 
12676             0x80000000
12677         }
12678 
12679         Package (0x06)
12680         {
12681             0x80000000, 
12682             0x80000000, 
12683             0x80000000, 
12684             0x80000000, 
12685             0x80000000, 
12686             0x80000000
12687         }
12688 
12689         Package (0x06)
12690         {
12691             0x80000000, 
12692             0x80000000, 
12693             0x80000000, 
12694             0x80000000, 
12695             0x80000000, 
12696             0x80000000
12697         }
12698 
12699         Package (0x06)
12700         {
12701             0x80000000, 
12702             0x80000000, 
12703             0x80000000, 
12704             0x80000000, 
12705             0x80000000, 
12706             0x80000000
12707         }
12708 
12709         Package (0x06)
12710         {
12711             0x80000000, 
12712             0x80000000, 
12713             0x80000000, 
12714             0x80000000, 
12715             0x80000000, 
12716             0x80000000
12717         }
12718 
12719         Package (0x06)
12720         {
12721             0x80000000, 
12722             0x80000000, 
12723             0x80000000, 
12724             0x80000000, 
12725             0x80000000, 
12726             0x80000000
12727         }
12728 
12729         Package (0x06)
12730         {
12731             0x80000000, 
12732             0x80000000, 
12733             0x80000000, 
12734             0x80000000, 
12735             0x80000000, 
12736             0x80000000
12737         }
12738 
12739         Package (0x06)
12740         {
12741             0x80000000, 
12742             0x80000000, 
12743             0x80000000, 
12744             0x80000000, 
12745             0x80000000, 
12746             0x80000000
12747         }
12748 
12749         Package (0x06)
12750         {
12751             0x80000000, 
12752             0x80000000, 
12753             0x80000000, 
12754             0x80000000, 
12755             0x80000000, 
12756             0x80000000
12757         }
12758 
12759         Package (0x06)
12760         {
12761             0x80000000, 
12762             0x80000000, 
12763             0x80000000, 
12764             0x80000000, 
12765             0x80000000, 
12766             0x80000000
12767         }
12768 
12769         Package (0x06)
12770         {
12771             0x80000000, 
12772             0x80000000, 
12773             0x80000000, 
12774             0x80000000, 
12775             0x80000000, 
12776             0x80000000
12777         }
12778 
12779         Package (0x06)
12780         {
12781             0x80000000, 
12782             0x80000000, 
12783             0x80000000, 
12784             0x80000000, 
12785             0x80000000, 
12786             0x80000000
12787         }
12788 
12789         Package (0x06)
12790         {
12791             0x80000000, 
12792             0x80000000, 
12793             0x80000000, 
12794             0x80000000, 
12795             0x80000000, 
12796             0x80000000
12797         }
12798 
12799         Package (0x06)
12800         {
12801             0x80000000, 
12802             0x80000000, 
12803             0x80000000, 
12804             0x80000000, 
12805             0x80000000, 
12806             0x80000000
12807         }
12808 
12809         Name (_PSS, Package (0x10)  // _PSS: Performance Supported States
12810         {
12811             Package (0x06)
12812             {
12813                 0x000008FC, 
12814                 0x000088B8, 
12815                 0x0000000A, 
12816                 0x0000000A, 
12817                 0x00001700, 
12818                 0x00001700
12819             }, 
12820 
12821             Package (0x06)
12822             {
12823                 0x00000898, 
12824                 0x00008068, 
12825                 0x0000000A, 
12826                 0x0000000A, 
12827                 0x00001600, 
12828                 0x00001600
12829             }, 
12830 
12831             Package (0x06)
12832             {
12833                 0x00000834, 
12834                 0x00007997, 
12835                 0x0000000A, 
12836                 0x0000000A, 
12837                 0x00001500, 
12838                 0x00001500
12839             }, 
12840 
12841             Package (0x06)
12842             {
12843                 0x000007D0, 
12844                 0x00007197, 
12845                 0x0000000A, 
12846                 0x0000000A, 
12847                 0x00001400, 
12848                 0x00001400
12849             }, 
12850 
12851             Package (0x06)
12852             {
12853                 0x0000076C, 
12854                 0x00006B0E, 
12855                 0x0000000A, 
12856                 0x0000000A, 
12857                 0x00001300, 
12858                 0x00001300
12859             }, 
12860 
12861             Package (0x06)
12862             {
12863                 0x00000708, 
12864                 0x000064A6, 
12865                 0x0000000A, 
12866                 0x0000000A, 
12867                 0x00001200, 
12868                 0x00001200
12869             }, 
12870 
12871             Package (0x06)
12872             {
12873                 0x000006A4, 
12874                 0x00005D1D, 
12875                 0x0000000A, 
12876                 0x0000000A, 
12877                 0x00001100, 
12878                 0x00001100
12879             }, 
12880 
12881             Package (0x06)
12882             {
12883                 0x00000640, 
12884                 0x000056F9, 
12885                 0x0000000A, 
12886                 0x0000000A, 
12887                 0x00001000, 
12888                 0x00001000
12889             }, 
12890 
12891             Package (0x06)
12892             {
12893                 0x000005DC, 
12894                 0x000050F6, 
12895                 0x0000000A, 
12896                 0x0000000A, 
12897                 0x00000F00, 
12898                 0x00000F00
12899             }, 
12900 
12901             Package (0x06)
12902             {
12903                 0x00000578, 
12904                 0x000049D8, 
12905                 0x0000000A, 
12906                 0x0000000A, 
12907                 0x00000E00, 
12908                 0x00000E00
12909             }, 
12910 
12911             Package (0x06)
12912             {
12913                 0x00000514, 
12914                 0x00004418, 
12915                 0x0000000A, 
12916                 0x0000000A, 
12917                 0x00000D00, 
12918                 0x00000D00
12919             }, 
12920 
12921             Package (0x06)
12922             {
12923                 0x000004B0, 
12924                 0x00003E7C, 
12925                 0x0000000A, 
12926                 0x0000000A, 
12927                 0x00000C00, 
12928                 0x00000C00
12929             }, 
12930 
12931             Package (0x06)
12932             {
12933                 0x0000044C, 
12934                 0x000037CA, 
12935                 0x0000000A, 
12936                 0x0000000A, 
12937                 0x00000B00, 
12938                 0x00000B00
12939             }, 
12940 
12941             Package (0x06)
12942             {
12943                 0x000003E8, 
12944                 0x0000326B, 
12945                 0x0000000A, 
12946                 0x0000000A, 
12947                 0x00000A00, 
12948                 0x00000A00
12949             }, 
12950 
12951             Package (0x06)
12952             {
12953                 0x00000384, 
12954                 0x00002D2B, 
12955                 0x0000000A, 
12956                 0x0000000A, 
12957                 0x00000900, 
12958                 0x00000900
12959             }, 
12960 
12961             Package (0x06)
12962             {
12963                 0x00000320, 
12964                 0x000026E4, 
12965                 0x0000000A, 
12966                 0x0000000A, 
12967                 0x00000800, 
12968                 0x00000800
12969             }
12970         })
12971         Package (0x06)
12972         {
12973             0x80000000, 
12974             0x80000000, 
12975             0x80000000, 
12976             0x80000000, 
12977             0x80000000, 
12978             0x80000000
12979         }
12980 
12981         Package (0x06)
12982         {
12983             0x80000000, 
12984             0x80000000, 
12985             0x80000000, 
12986             0x80000000, 
12987             0x80000000, 
12988             0x80000000
12989         }
12990 
12991         Package (0x06)
12992         {
12993             0x80000000, 
12994             0x80000000, 
12995             0x80000000, 
12996             0x80000000, 
12997             0x80000000, 
12998             0x80000000
12999         }
13000 
13001         Package (0x06)
13002         {
13003             0x80000000, 
13004             0x80000000, 
13005             0x80000000, 
13006             0x80000000, 
13007             0x80000000, 
13008             0x80000000
13009         }
13010 
13011         Package (0x06)
13012         {
13013             0x80000000, 
13014             0x80000000, 
13015             0x80000000, 
13016             0x80000000, 
13017             0x80000000, 
13018             0x80000000
13019         }
13020 
13021         Package (0x06)
13022         {
13023             0x80000000, 
13024             0x80000000, 
13025             0x80000000, 
13026             0x80000000, 
13027             0x80000000, 
13028             0x80000000
13029         }
13030 
13031         Package (0x06)
13032         {
13033             0x80000000, 
13034             0x80000000, 
13035             0x80000000, 
13036             0x80000000, 
13037             0x80000000, 
13038             0x80000000
13039         }
13040 
13041         Package (0x06)
13042         {
13043             0x80000000, 
13044             0x80000000, 
13045             0x80000000, 
13046             0x80000000, 
13047             0x80000000, 
13048             0x80000000
13049         }
13050 
13051         Package (0x06)
13052         {
13053             0x80000000, 
13054             0x80000000, 
13055             0x80000000, 
13056             0x80000000, 
13057             0x80000000, 
13058             0x80000000
13059         }
13060 
13061         Package (0x06)
13062         {
13063             0x80000000, 
13064             0x80000000, 
13065             0x80000000, 
13066             0x80000000, 
13067             0x80000000, 
13068             0x80000000
13069         }
13070 
13071         Package (0x06)
13072         {
13073             0x80000000, 
13074             0x80000000, 
13075             0x80000000, 
13076             0x80000000, 
13077             0x80000000, 
13078             0x80000000
13079         }
13080 
13081         Package (0x06)
13082         {
13083             0x80000000, 
13084             0x80000000, 
13085             0x80000000, 
13086             0x80000000, 
13087             0x80000000, 
13088             0x80000000
13089         }
13090 
13091         Package (0x06)
13092         {
13093             0x80000000, 
13094             0x80000000, 
13095             0x80000000, 
13096             0x80000000, 
13097             0x80000000, 
13098             0x80000000
13099         }
13100 
13101         Package (0x06)
13102         {
13103             0x80000000, 
13104             0x80000000, 
13105             0x80000000, 
13106             0x80000000, 
13107             0x80000000, 
13108             0x80000000
13109         }
13110 
13111         Package (0x06)
13112         {
13113             0x80000000, 
13114             0x80000000, 
13115             0x80000000, 
13116             0x80000000, 
13117             0x80000000, 
13118             0x80000000
13119         }
13120 
13121         Package (0x06)
13122         {
13123             0x80000000, 
13124             0x80000000, 
13125             0x80000000, 
13126             0x80000000, 
13127             0x80000000, 
13128             0x80000000
13129         }
13130 
13131         Name (PSDF, Zero)
13132         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
13133         {
13134             If (!PSDF)
13135             {
13136                 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
13137                 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
13138                 PSDF = Ones
13139             }
13140 
13141             If ((PDC0 & 0x0800))
13142             {
13143                 Return (HPSD) /* \_PR_.CPU0.HPSD */
13144             }
13145 
13146             Return (SPSD) /* \_PR_.CPU0.SPSD */
13147         }
13148 
13149         Name (HPSD, Package (0x01)
13150         {
13151             Package (0x05)
13152             {
13153                 0x05, 
13154                 Zero, 
13155                 Zero, 
13156                 0xFE, 
13157                 0x80
13158             }
13159         })
13160         Name (SPSD, Package (0x01)
13161         {
13162             Package (0x05)
13163             {
13164                 0x05, 
13165                 Zero, 
13166                 Zero, 
13167                 0xFC, 
13168                 0x80
13169             }
13170         })
13171     }
13172 
13173     Scope (\)
13174     {
13175         Name (SSDT, Package (0x0C)
13176         {
13177             "CPU0IST ", 
13178             0xC83BE018, 
13179             0x000009AA, 
13180             "APIST   ", 
13181             0xCAE18A98, 
13182             0x00000303, 
13183             "CPU0CST ", 
13184             0xCAE17018, 
13185             0x0000083B, 
13186             "APCST   ", 
13187             0xCAE16D98, 
13188             0x00000119
13189         })
13190         Name (CFGD, 0x0066F67F)
13191         Name (\PDC0, 0x80000000)
13192         Name (\PDC1, 0x80000000)
13193         Name (\PDC2, 0x80000000)
13194         Name (\PDC3, 0x80000000)
13195         Name (\PDC4, 0x80000000)
13196         Name (\PDC5, 0x80000000)
13197         Name (\PDC6, 0x80000000)
13198         Name (\PDC7, 0x80000000)
13199         Name (\SDTL, Zero)
13200     }
13201 
13202     Scope (\_PR)
13203     {
13204         OperationRegion (PPMT, SystemMemory, 0xCAFBCF18, 0x0029)
13205         Field (PPMT, AnyAcc, Lock, Preserve)
13206         {
13207             PGRV,   8, 
13208             Offset (0x06), 
13209             ACRT,   8, 
13210             APSV,   8, 
13211             AAC0,   8, 
13212             CPID,   32, 
13213             CPPC,   8, 
13214             CCTP,   8, 
13215             CLVL,   8, 
13216             CBMI,   8, 
13217             PL10,   16, 
13218             PL20,   16, 
13219             PLW0,   8, 
13220             CTC0,   8, 
13221             TAR0,   8, 
13222             PPC0,   8, 
13223             PL11,   16, 
13224             PL21,   16, 
13225             PLW1,   8, 
13226             CTC1,   8, 
13227             TAR1,   8, 
13228             PPC1,   8, 
13229             PL12,   16, 
13230             PL22,   16, 
13231             PLW2,   8, 
13232             CTC2,   8, 
13233             TAR2,   8, 
13234             PPC2,   8
13235         }
13236     }
13237 
13238     Scope (\_PR.CPU0)
13239     {
13240         Name (HI0, Zero)
13241         Name (HC0, Zero)
13242         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13243         {
13244             \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
13245             Local0 = CPDC (Arg0)
13246             GCAP (Local0)
13247             Return (Local0)
13248         }
13249 
13250         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13251         {
13252             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
13253             GCAP (Local0)
13254             Return (Local0)
13255         }
13256 
13257         Method (CPDC, 1, NotSerialized)
13258         {
13259             CreateDWordField (Arg0, Zero, REVS)
13260             CreateDWordField (Arg0, 0x04, SIZE)
13261             Local0 = SizeOf (Arg0)
13262             Local1 = (Local0 - 0x08)
13263             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
13264             Name (STS0, Buffer (0x04)
13265             {
13266                  0x00, 0x00, 0x00, 0x00                           /* .... */
13267             })
13268             Concatenate (STS0, TEMP, Local2)
13269             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
13270         }
13271 
13272         Method (COSC, 4, NotSerialized)
13273         {
13274             CreateDWordField (Arg3, Zero, STS0)
13275             CreateDWordField (Arg3, 0x04, CAP0)
13276             CreateDWordField (Arg0, Zero, IID0)
13277             CreateDWordField (Arg0, 0x04, IID1)
13278             CreateDWordField (Arg0, 0x08, IID2)
13279             CreateDWordField (Arg0, 0x0C, IID3)
13280             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
13281             CreateDWordField (UID0, Zero, EID0)
13282             CreateDWordField (UID0, 0x04, EID1)
13283             CreateDWordField (UID0, 0x08, EID2)
13284             CreateDWordField (UID0, 0x0C, EID3)
13285             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
13286                 IID2 == EID2) && (IID3 == EID3))))
13287             {
13288                 STS0 = 0x06
13289                 Return (Arg3)
13290             }
13291 
13292             If ((Arg1 != One))
13293             {
13294                 STS0 = 0x0A
13295                 Return (Arg3)
13296             }
13297 
13298             Return (Arg3)
13299         }
13300 
13301         Method (GCAP, 1, NotSerialized)
13302         {
13303             CreateDWordField (Arg0, Zero, STS0)
13304             CreateDWordField (Arg0, 0x04, CAP0)
13305             If (((STS0 == 0x06) || (STS0 == 0x0A)))
13306             {
13307                 Return (Zero)
13308             }
13309 
13310             If ((STS0 & One))
13311             {
13312                 CAP0 &= 0x0BFF
13313                 Return (Zero)
13314             }
13315 
13316             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
13317             If ((CFGD & 0x3E))
13318             {
13319                 If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && !
13320                     (SDTL & 0x02)))
13321                 {
13322                     SDTL |= 0x02
13323                     OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
13324                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
13325                 }
13326             }
13327 
13328             Return (Zero)
13329         }
13330     }
13331 
13332     Scope (\_PR.CPU1)
13333     {
13334         Name (HI1, Zero)
13335         Name (HC1, Zero)
13336         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13337         {
13338             Local0 = \_PR.CPU0.CPDC (Arg0)
13339             GCAP (Local0)
13340             Return (Local0)
13341         }
13342 
13343         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13344         {
13345             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13346             GCAP (Local0)
13347             Return (Local0)
13348         }
13349 
13350         Method (GCAP, 1, NotSerialized)
13351         {
13352             CreateDWordField (Arg0, Zero, STS1)
13353             CreateDWordField (Arg0, 0x04, CAP1)
13354             If (((STS1 == 0x06) || (STS1 == 0x0A)))
13355             {
13356                 Return (Zero)
13357             }
13358 
13359             If ((STS1 & One))
13360             {
13361                 CAP1 &= 0x0BFF
13362                 Return (Zero)
13363             }
13364 
13365             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
13366             If (((PDC1 & 0x09) == 0x09))
13367             {
13368                 APPT ()
13369             }
13370 
13371             If ((PDC1 & 0x18))
13372             {
13373                 APCT ()
13374             }
13375 
13376             PDC0 = PDC1 /* \PDC1 */
13377             Return (Zero)
13378         }
13379 
13380         Method (APCT, 0, NotSerialized)
13381         {
13382             If (((CFGD & 0x2E) && !(SDTL & 0x20)))
13383             {
13384                 SDTL |= 0x20
13385                 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
13386                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
13387             }
13388         }
13389 
13390         Method (APPT, 0, NotSerialized)
13391         {
13392             If (((CFGD & One) && !(SDTL & 0x10)))
13393             {
13394                 SDTL |= 0x10
13395                 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
13396                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
13397             }
13398         }
13399     }
13400 
13401     Scope (\_PR.CPU2)
13402     {
13403         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13404         {
13405             Local0 = \_PR.CPU0.CPDC (Arg0)
13406             GCAP (Local0)
13407             Return (Local0)
13408         }
13409 
13410         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13411         {
13412             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13413             GCAP (Local0)
13414             Return (Local0)
13415         }
13416 
13417         Method (GCAP, 1, NotSerialized)
13418         {
13419             CreateDWordField (Arg0, Zero, STS2)
13420             CreateDWordField (Arg0, 0x04, CAP2)
13421             If (((STS2 == 0x06) || (STS2 == 0x0A)))
13422             {
13423                 Return (Zero)
13424             }
13425 
13426             If ((STS2 & One))
13427             {
13428                 CAP2 &= 0x0BFF
13429                 Return (Zero)
13430             }
13431 
13432             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
13433             If (((PDC2 & 0x09) == 0x09))
13434             {
13435                 \_PR.CPU1.APPT ()
13436             }
13437 
13438             If ((PDC2 & 0x18))
13439             {
13440                 \_PR.CPU1.APCT ()
13441             }
13442 
13443             PDC0 = PDC2 /* \PDC2 */
13444             Return (Zero)
13445         }
13446     }
13447 
13448     Scope (\_PR.CPU3)
13449     {
13450         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13451         {
13452             Local0 = \_PR.CPU0.CPDC (Arg0)
13453             GCAP (Local0)
13454             Return (Local0)
13455         }
13456 
13457         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13458         {
13459             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13460             GCAP (Local0)
13461             Return (Local0)
13462         }
13463 
13464         Method (GCAP, 1, NotSerialized)
13465         {
13466             CreateDWordField (Arg0, Zero, STS3)
13467             CreateDWordField (Arg0, 0x04, CAP3)
13468             If (((STS3 == 0x06) || (STS3 == 0x0A)))
13469             {
13470                 Return (Zero)
13471             }
13472 
13473             If ((STS3 & One))
13474             {
13475                 CAP3 &= 0x0BFF
13476                 Return (Zero)
13477             }
13478 
13479             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
13480             If (((PDC3 & 0x09) == 0x09))
13481             {
13482                 \_PR.CPU1.APPT ()
13483             }
13484 
13485             If ((PDC3 & 0x18))
13486             {
13487                 \_PR.CPU1.APCT ()
13488             }
13489 
13490             PDC0 = PDC3 /* \PDC3 */
13491             Return (Zero)
13492         }
13493     }
13494 
13495     Scope (\_PR.CPU4)
13496     {
13497         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13498         {
13499             Local0 = \_PR.CPU0.CPDC (Arg0)
13500             GCAP (Local0)
13501             Return (Local0)
13502         }
13503 
13504         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13505         {
13506             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13507             GCAP (Local0)
13508             Return (Local0)
13509         }
13510 
13511         Method (GCAP, 1, NotSerialized)
13512         {
13513             CreateDWordField (Arg0, Zero, STS4)
13514             CreateDWordField (Arg0, 0x04, CAP4)
13515             If (((STS4 == 0x06) || (STS4 == 0x0A)))
13516             {
13517                 Return (Zero)
13518             }
13519 
13520             If ((STS4 & One))
13521             {
13522                 CAP4 &= 0x0BFF
13523                 Return (Zero)
13524             }
13525 
13526             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
13527             If (((PDC4 & 0x09) == 0x09))
13528             {
13529                 \_PR.CPU1.APPT ()
13530             }
13531 
13532             If ((PDC4 & 0x18))
13533             {
13534                 \_PR.CPU1.APCT ()
13535             }
13536 
13537             PDC0 = PDC4 /* \PDC4 */
13538             Return (Zero)
13539         }
13540     }
13541 
13542     Scope (\_PR.CPU5)
13543     {
13544         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13545         {
13546             Local0 = \_PR.CPU0.CPDC (Arg0)
13547             GCAP (Local0)
13548             Return (Local0)
13549         }
13550 
13551         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13552         {
13553             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13554             GCAP (Local0)
13555             Return (Local0)
13556         }
13557 
13558         Method (GCAP, 1, NotSerialized)
13559         {
13560             CreateDWordField (Arg0, Zero, STS5)
13561             CreateDWordField (Arg0, 0x04, CAP5)
13562             If (((STS5 == 0x06) || (STS5 == 0x0A)))
13563             {
13564                 Return (Zero)
13565             }
13566 
13567             If ((STS5 & One))
13568             {
13569                 CAP5 &= 0x0BFF
13570                 Return (Zero)
13571             }
13572 
13573             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
13574             If (((PDC5 & 0x09) == 0x09))
13575             {
13576                 \_PR.CPU1.APPT ()
13577             }
13578 
13579             If ((PDC5 & 0x18))
13580             {
13581                 \_PR.CPU1.APCT ()
13582             }
13583 
13584             PDC0 = PDC5 /* \PDC5 */
13585             Return (Zero)
13586         }
13587     }
13588 
13589     Scope (\_PR.CPU6)
13590     {
13591         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13592         {
13593             Local0 = \_PR.CPU0.CPDC (Arg0)
13594             GCAP (Local0)
13595             Return (Local0)
13596         }
13597 
13598         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13599         {
13600             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13601             GCAP (Local0)
13602             Return (Local0)
13603         }
13604 
13605         Method (GCAP, 1, NotSerialized)
13606         {
13607             CreateDWordField (Arg0, Zero, STS6)
13608             CreateDWordField (Arg0, 0x04, CAP6)
13609             If (((STS6 == 0x06) || (STS6 == 0x0A)))
13610             {
13611                 Return (Zero)
13612             }
13613 
13614             If ((STS6 & One))
13615             {
13616                 CAP6 &= 0x0BFF
13617                 Return (Zero)
13618             }
13619 
13620             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
13621             If (((PDC6 & 0x09) == 0x09))
13622             {
13623                 \_PR.CPU1.APPT ()
13624             }
13625 
13626             If ((PDC6 & 0x18))
13627             {
13628                 \_PR.CPU1.APCT ()
13629             }
13630 
13631             PDC0 = PDC6 /* \PDC6 */
13632             Return (Zero)
13633         }
13634     }
13635 
13636     Scope (\_PR.CPU7)
13637     {
13638         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
13639         {
13640             Local0 = \_PR.CPU0.CPDC (Arg0)
13641             GCAP (Local0)
13642             Return (Local0)
13643         }
13644 
13645         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
13646         {
13647             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
13648             GCAP (Local0)
13649             Return (Local0)
13650         }
13651 
13652         Method (GCAP, 1, NotSerialized)
13653         {
13654             CreateDWordField (Arg0, Zero, STS7)
13655             CreateDWordField (Arg0, 0x04, CAP7)
13656             If (((STS7 == 0x06) || (STS7 == 0x0A)))
13657             {
13658                 Return (Zero)
13659             }
13660 
13661             If ((STS7 & One))
13662             {
13663                 CAP7 &= 0x0BFF
13664                 Return (Zero)
13665             }
13666 
13667             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
13668             If (((PDC7 & 0x09) == 0x09))
13669             {
13670                 \_PR.CPU1.APPT ()
13671             }
13672 
13673             If ((PDC7 & 0x18))
13674             {
13675                 \_PR.CPU1.APCT ()
13676             }
13677 
13678             PDC0 = PDC7 /* \PDC7 */
13679             Return (Zero)
13680         }
13681     }
13682 }

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] (2016-02-29T06:34:32+0000, 406.0 KB) [[attachment:acpidump.txt]]
  • [get | view] (2016-02-29T06:35:10+0000, 0.4 KB) [[attachment:battery.txt]]
  • [get | view] (2016-02-29T06:33:13+0000, 8.8 KB) [[attachment:devinfo.txt]]
  • [get | view] (2016-02-29T06:35:58+0000, 11.5 KB) [[attachment:dmesg.txt]]
  • [get | view] (2016-02-29T06:32:48+0000, 1.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.