Attachment 'acpidump.out.txt'

Download

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

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] (2019-10-21T16:10:14+0000, 0.4 KB) [[attachment:acpiconf-i0.out.txt]]
  • [get | view] (2019-10-21T16:10:06+0000, 420.0 KB) [[attachment:acpidump.out.txt]]
  • [get | view] (2019-10-21T16:09:46+0000, 8.0 KB) [[attachment:devinfo.out.txt]]
  • [get | view] (2019-10-21T16:09:37+0000, 11.5 KB) [[attachment:dmesg.boot.out.txt]]
  • [get | view] (2019-10-21T16:09:23+0000, 11.5 KB) [[attachment:dmesg.out.txt]]
  • [get | view] (2019-10-21T16:09:13+0000, 3.9 KB) [[attachment:pciconf.out.txt]]
 All files | Selected Files: delete move to page copy to page

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