Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000dcffe170, length=36, cksum=176
   4  */
   5 /*
   6   XSDT: Length=172, Revision=1, Checksum=145,
   7 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
   8 	Creator ID=PTEC, Creator Revision=0x2
   9 	Entries={ 0x00000000dcffb000, 0x00000000dcffd000, 0x00000000dcffa000, 0x00000000dcff9000, 0x00000000dcff8000, 0x00000000dcff7000, 0x00000000dcfe9000, 0x00000000dcfe8000, 0x00000000dcfe4000, 0x00000000dcfe3000, 0x00000000dcfe2000, 0x00000000dcfe1000, 0x00000000dceb3000, 0x00000000dcfe0000, 0x00000000dcfdf000, 0x00000000dcfde000, 0x00000000dcfdd000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=47,
  13 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  14 	Creator ID=PTEC, Creator Revision=0x2
  15  	FACS=0xdcf69000, DSDT=0xdcfea000
  16 	INT_MODEL=PIC
  17 	Preferred_PM_Profile=Mobile (2)
  18 	SCI_INT=9
  19 	SMI_CMD=0xb2, ACPI_ENABLE=0xf2, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0x0
  21 	PM1a_EVT_BLK=0x1800-0x1803
  22 	PM1a_CNT_BLK=0x1804-0x1805
  23 	PM2_CNT_BLK=0x1850-0x1850
  24 	PM_TMR_BLK=0x1808-0x180b
  25 	GPE0_BLK=0x1880-0x189f
  26 	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
  27 	FLUSH_SIZE=0, FLUSH_STRIDE=0
  28 	DUTY_OFFSET=1, DUTY_WIDTH=3
  29 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  30 	IAPC_BOOT_ARCH={LEGACY_DEVICES,8042}
  31 	Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER}
  32 	RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
  33  */
  34 /*
  35   FACS:	Length=64, HwSig=0x000029aa, Firm_Wake_Vec=0x00000000
  36 	Global_Lock=
  37 	Flags=
  38 	Version=2
  39  */
  40 /*
  41   DSDT: Length=51575, Revision=2, Checksum=52,
  42 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  43 	Creator ID=INTL, Creator Revision=0x20120711
  44  */
  45 /*
  46   ASF!: Length=165, Revision=32, Checksum=231,
  47 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  48 	Creator ID=PTEC, Creator Revision=0x2
  49  */
  50 /*
  51   HPET: Length=56, Revision=1, Checksum=169,
  52 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  53 	Creator ID=PTEC, Creator Revision=0x2
  54 	HPET Number=0
  55 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
  56 	Comparators=3
  57 	Counter Size=1
  58 	Legacy IRQ routing capable={TRUE}
  59 	PCI Vendor ID=0x8086
  60 	Minimal Tick=128
  61 	Flags=0x00
  62  */
  63 /*
  64   LPIT: Length=92, Revision=1, Checksum=252,
  65 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  66 	Creator ID=PTEC, Creator Revision=0x2
  67  */
  68 /*
  69   APIC: Length=152, Revision=1, Checksum=225,
  70 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
  71 	Creator ID=PTEC, Creator Revision=0x2
  72 	Local APIC ADDR=0xfee00000
  73 	Flags={PC-AT}
  74 
  75 	Type=Local APIC
  76 	ACPI CPU=1
  77 	Flags={ENABLED}
  78 	APIC ID=0
  79 
  80 	Type=Local APIC
  81 	ACPI CPU=2
  82 	Flags={ENABLED}
  83 	APIC ID=1
  84 
  85 	Type=Local APIC
  86 	ACPI CPU=3
  87 	Flags={ENABLED}
  88 	APIC ID=2
  89 
  90 	Type=Local APIC
  91 	ACPI CPU=4
  92 	Flags={ENABLED}
  93 	APIC ID=3
  94 
  95 	Type=Local APIC
  96 	ACPI CPU=5
  97 	Flags={DISABLED}
  98 	APIC ID=0
  99 
 100 	Type=Local APIC
 101 	ACPI CPU=6
 102 	Flags={DISABLED}
 103 	APIC ID=0
 104 
 105 	Type=Local APIC
 106 	ACPI CPU=7
 107 	Flags={DISABLED}
 108 	APIC ID=0
 109 
 110 	Type=Local APIC
 111 	ACPI CPU=8
 112 	Flags={DISABLED}
 113 	APIC ID=0
 114 
 115 	Type=IO APIC
 116 	APIC ID=2
 117 	INT BASE=0
 118 	ADDR=0x00000000fec00000
 119 
 120 	Type=INT Override
 121 	BUS=0
 122 	IRQ=0
 123 	INTR=2
 124 	Flags={Polarity=conforming, Trigger=conforming}
 125 
 126 	Type=INT Override
 127 	BUS=0
 128 	IRQ=9
 129 	INTR=9
 130 	Flags={Polarity=active-hi, Trigger=level}
 131 
 132 	Type=Local APIC NMI
 133 	ACPI CPU=0
 134 	LINT Pin=1
 135 	Flags={Polarity=active-hi, Trigger=edge}
 136 
 137 	Type=Local APIC NMI
 138 	ACPI CPU=1
 139 	LINT Pin=1
 140 	Flags={Polarity=active-hi, Trigger=edge}
 141  */
 142 /*
 143   MCFG: Length=60, Revision=1, Checksum=122,
 144 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 145 	Creator ID=PTEC, Creator Revision=0x2
 146 
 147 	Base Address=0x00000000f8000000
 148 	Segment Group=0x0000
 149 	Start Bus=0
 150 	End Bus=63
 151  */
 152 /*
 153   SSDT: Length=1271, Revision=1, Checksum=16,
 154 	OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 155 	Creator ID=INTL, Creator Revision=0x20120711
 156  */
 157 /*
 158   SSDT: Length=2776, Revision=1, Checksum=126,
 159 	OEMID=LENOVO, OEM Table ID=CpuPm, OEM Revision=0x3000,
 160 	Creator ID=INTL, Creator Revision=0x20120711
 161  */
 162 /*
 163   SSDT: Length=13595, Revision=1, Checksum=172,
 164 	OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
 165 	Creator ID=INTL, Creator Revision=0x20120711
 166  */
 167 /*
 168   TCPA: Length=50, Revision=2, Checksum=133,
 169 	OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
 170 	Creator ID=LNVO, Creator Revision=0x1
 171 	Class 0 Base Address 0xdced4000 Length 589824
 172 
 173 	0 0xbf9cce0c550f2813eb4c34c03123e166d52450ec [S-CRTM Contents]
 174 	0 0xa17554a0d2b15a664c0e73900184544f19e70227 [S-CRTM Version]
 175 	6 0x0ed34fd1bb4227e218191958f2ddf98c9c5d2eaf [Wake Event 1]
 176 	0 0x36c0acb4bbb112d12e0b64042726806d7d3b34c2 [POST Code]
 177 	4 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 178 	2 0x811934319d8a3d1cfc5e09d7416c9b2a0f4a9464 [<unknown 0x80000004>]
 179 	1 0x70f4c19012df55cde94ab966671e86093ff621ff [Administrator Password Entered]
 180 	4 0x623825e47ee6f6462a64e7a6d71a52797cdfa45d [<unknown 0x80000003>]
 181 	5 0xcd0fdb4531a6ec41be2753ba042637d6e5f7f256 [<unknown 0x80000007>]
 182 	0 0x20d74c7e1c3934b95c99be6d6bd83f84ee58e1eb [<unknown 0x80000009>]
 183 	1 0xa89b2f7655a88ba7b81c2e4ac29082c7100e6cab [<unknown 0x80000009>]
 184 	0 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 185 	1 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 186 	2 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 187 	3 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 188 	5 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 189 	6 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 190 	7 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
 191 	1 0x065b58a0bb32bc4ea6e5adc11e94b3cd95f4dad2 [<unknown 0x80000002>]
 192 	2 0x3ca8d54d964e95dbff457805946806825b68e006 [<unknown 0x80000004>]
 193 	4 0x2775ffba89b75772842f5e7242dc84d8585ad6fc [<unknown 0x80000003>]
 194  */
 195 /*
 196   SSDT: Length=1393, Revision=1, Checksum=52,
 197 	OEMID=Intel_, OEM Table ID=TpmTable, OEM Revision=0x1000,
 198 	Creator ID=INTL, Creator Revision=0x20120711
 199  */
 200 /*
 201   UEFI: Length=66, Revision=1, Checksum=104,
 202 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 203 	Creator ID=PTEC, Creator Revision=0x2
 204  */
 205 /*
 206   MSDM: Length=85, Revision=3, Checksum=21,
 207 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 208 	Creator ID=PTEC, Creator Revision=0x2
 209  */
 210 /*
 211   BATB: Length=70, Revision=1, Checksum=118,
 212 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 213 	Creator ID=PTEC, Creator Revision=0x2
 214  */
 215 /*
 216   FPDT: Length=100, Revision=1, Checksum=174,
 217 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 218 	Creator ID=PTEC, Creator Revision=0x2
 219  */
 220 /*
 221   UEFI: Length=738, Revision=1, Checksum=133,
 222 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 223 	Creator ID=PTEC, Creator Revision=0x2
 224  */
 225 /*
 226   BGRT: Length=56, Revision=1, Checksum=49,
 227 	OEMID=LENOVO, OEM Table ID=TP-J3, OEM Revision=0x1630,
 228 	Creator ID=PTEC, Creator Revision=0x2
 229  */
 230 /*
 231  * Intel ACPI Component Architecture
 232  * AML/ASL+ Disassembler version 20150818-64
 233  * Copyright (c) 2000 - 2015 Intel Corporation
 234  * 
 235  * Disassembling to symbolic ASL+ operators
 236  *
 237  * Disassembly of /tmp/acpidump.pcmfn6, Sun Jan 31 18:01:56 2016
 238  *
 239  * Original Table Header:
 240  *     Signature        "DSDT"
 241  *     Length           0x00011342 (70466)
 242  *     Revision         0x02
 243  *     Checksum         0x9B
 244  *     OEM ID           "LENOVO"
 245  *     OEM Table ID     "TP-J3   "
 246  *     OEM Revision     0x00001630 (5680)
 247  *     Compiler ID      "INTL"
 248  *     Compiler Version 0x20120711 (538052369)
 249  */
 250 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 2, "LENOVO", "TP-J3   ", 0x00001630)
 251 {
 252     /*
 253      * iASL Warning: There were 8 external control methods found during
 254      * disassembly, but additional ACPI tables to resolve these externals
 255      * were not specified. This resulting disassembler output file may not
 256      * compile because the disassembler did not know how many arguments
 257      * to assign to these methods. To specify the tables needed to resolve
 258      * external control method references, the -e option can be used to
 259      * specify the filenames. Note: SSDTs can be dynamically loaded at
 260      * runtime and may or may not be available via the host OS.
 261      * Example iASL invocations:
 262      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 263      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 264      *     iasl -e ssdt*.aml -d dsdt.aml
 265      *
 266      * In addition, the -fe option can be used to specify a file containing
 267      * control method external declarations with the associated method
 268      * argument counts. Each line of the file must be of the form:
 269      *     External (<method pathname>, MethodObj, <argument count>)
 270      * Invocation:
 271      *     iasl -fe refs.txt -d dsdt.aml
 272      *
 273      * The following methods were unresolved and many not compile properly
 274      * because the disassembler had to guess at the number of arguments
 275      * required for each:
 276      */
 277     External (_GPE.MMTB, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 278     External (_SB_.PCI0.PAUD.PUAM, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 279     External (_SB_.PCI0.XHC_.DUAM, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 280     External (HDOS, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 281     External (HNOT, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 282     External (IDAB, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 283     External (PS0X, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 284     External (PS3X, MethodObj)    // Warning: Unresolved method, guessing 0 arguments
 285 
 286     External (_SB_.IAOE.ECTM, UnknownObj)
 287     External (_SB_.IAOE.IBT1, UnknownObj)
 288     External (_SB_.IAOE.ITMR, UnknownObj)
 289     External (_SB_.IAOE.PTSL, UnknownObj)
 290     External (_SB_.IAOE.RCTM, UnknownObj)
 291     External (_SB_.IAOE.WKRS, UnknownObj)
 292     External (_SB_.IETM, UnknownObj)
 293     External (_SB_.PCCD, UnknownObj)
 294     External (_SB_.PCCD.PENB, UnknownObj)
 295     External (D1F0, UnknownObj)
 296     External (D1F1, UnknownObj)
 297     External (D1F2, UnknownObj)
 298     External (MDBG, IntObj)
 299 
 300     Name (SS1, Zero)
 301     Name (SS2, Zero)
 302     Name (SS3, One)
 303     Name (SS4, One)
 304     Name (FRBN, Zero)
 305     Name (SP2O, 0x4E)
 306     Name (SP1O, 0x164E)
 307     Name (IO1B, 0x0600)
 308     Name (IO1L, 0x70)
 309     Name (IO2B, 0x0680)
 310     Name (IO2L, 0x20)
 311     Name (IO3B, 0x0290)
 312     Name (IO3L, 0x10)
 313     Name (SP3O, 0x2E)
 314     Name (IO4B, 0x0A20)
 315     Name (IO4L, 0x20)
 316     Name (HSCS, One)
 317     Name (MCHB, 0xFED10000)
 318     Name (MCHL, 0x8000)
 319     Name (EGPB, 0xFED19000)
 320     Name (EGPL, 0x1000)
 321     Name (DMIB, 0xFED18000)
 322     Name (DMIL, 0x1000)
 323     Name (IFPB, 0xFED14000)
 324     Name (IFPL, 0x1000)
 325     Name (PEBS, 0xF8000000)
 326     Name (PELN, 0x04000000)
 327     Name (TTTB, 0xFED20000)
 328     Name (TTTL, 0x00020000)
 329     Name (SMBS, 0xEFA0)
 330     Name (SMBL, 0x10)
 331     Name (PBLK, 0x1810)
 332     Name (PMBS, 0x1800)
 333     Name (PMLN, 0x0100)
 334     Name (LVL2, 0x1814)
 335     Name (LVL3, 0x1815)
 336     Name (LVL4, 0x1816)
 337     Name (SMIP, 0xB2)
 338     Name (GPBS, 0x0800)
 339     Name (GPLN, 0x0400)
 340     Name (APCB, 0xFEC00000)
 341     Name (APCL, 0x1000)
 342     Name (PM30, 0x1830)
 343     Name (SRCB, 0xFED1C000)
 344     Name (SRCL, 0x4000)
 345     Name (HPTB, 0xFED00000)
 346     Name (HPTC, 0xFED1F404)
 347     Name (ACPH, 0xDE)
 348     Name (ASSB, Zero)
 349     Name (AOTB, Zero)
 350     Name (AAXB, Zero)
 351     Name (PEHP, One)
 352     Name (SHPC, One)
 353     Name (PEPM, One)
 354     Name (PEER, One)
 355     Name (PECS, One)
 356     Name (ITKE, Zero)
 357     Name (DSSP, Zero)
 358     Name (FHPP, Zero)
 359     Name (FMBL, One)
 360     Name (FDTP, 0x02)
 361     Name (FUPS, 0x03)
 362     Name (FEMD, 0x04)
 363     Name (BGR, One)
 364     Name (BFR, 0x02)
 365     Name (BBR, 0x03)
 366     Name (BWC, 0x04)
 367     Name (BGRP, 0x09)
 368     Name (BGRC, 0x0A)
 369     Name (BFRP, 0x0B)
 370     Name (BBRP, 0x0C)
 371     Name (BRPS, 0x10)
 372     Name (BRCS, 0x11)
 373     Name (BRDS, 0x12)
 374     Name (BR4S, 0x13)
 375     Name (BR5S, 0x14)
 376     Name (BWT1, 0x20)
 377     Name (BW1P, 0x21)
 378     Name (BW2C, 0x22)
 379     Name (BW2P, 0x23)
 380     Name (BSPC, 0x24)
 381     Name (BSPP, 0x25)
 382     Name (BTS, 0x26)
 383     Name (BICO, 0x27)
 384     Name (BICC, 0x28)
 385     Name (BHB, 0x30)
 386     Name (BFS2, 0x31)
 387     Name (BFS3, 0x32)
 388     Name (BFS4, 0x33)
 389     Name (BRH, 0x35)
 390     Name (BFHC, 0x40)
 391     Name (BFD1, 0x41)
 392     Name (BFD2, 0x42)
 393     Name (BFCC, 0x43)
 394     Name (BHCP, 0x44)
 395     Name (BCOC, 0x45)
 396     Name (BFHP, 0x46)
 397     Name (BFCP, 0x47)
 398     Name (BTMB, 0x51)
 399     Name (BBGB, 0x52)
 400     Name (BHC2, 0x53)
 401     Name (TCGM, One)
 402     Name (TRTP, One)
 403     Name (WDTE, One)
 404     Name (TRTD, 0x02)
 405     Name (TRTI, 0x03)
 406     Name (PFTI, 0x04)
 407     Name (GCDD, One)
 408     Name (DSTA, 0x0A)
 409     Name (DSLO, 0x0C)
 410     Name (DSLC, 0x0E)
 411     Name (PITS, 0x10)
 412     Name (SBCS, 0x12)
 413     Name (SALS, 0x13)
 414     Name (LSSS, 0x2A)
 415     Name (SOOT, 0x35)
 416     Name (PDBR, 0x4D)
 417     Name (DPPB, 0xFED98000)
 418     Name (DPPL, 0x8000)
 419     OperationRegion (GNVS, SystemMemory, 0xDCF6AC18, 0x02B2)
 420     Field (GNVS, AnyAcc, Lock, Preserve)
 421     {
 422         OSYS,   16, 
 423         SMIF,   8, 
 424         PRM0,   8, 
 425         PRM1,   8, 
 426         SCIF,   8, 
 427         PRM2,   8, 
 428         PRM3,   8, 
 429         LCKF,   8, 
 430         PRM4,   8, 
 431         PRM5,   8, 
 432         P80D,   32, 
 433         PWRS,   8, 
 434         Offset (0x11), 
 435         THOF,   8, 
 436         ACT1,   8, 
 437         ACTT,   8, 
 438         PSVT,   8, 
 439         TC1V,   8, 
 440         TC2V,   8, 
 441         TSPV,   8, 
 442         CRTT,   8, 
 443         Offset (0x1A), 
 444         Offset (0x1B), 
 445         DTS2,   8, 
 446         DTSF,   8, 
 447         Offset (0x1E), 
 448         Offset (0x25), 
 449         REVN,   8, 
 450         IFFS,   8, 
 451         Offset (0x28), 
 452         APIC,   8, 
 453         TCNT,   8, 
 454         PCP0,   8, 
 455         PCP1,   8, 
 456         PPCM,   8, 
 457         PPMF,   32, 
 458         C67L,   8, 
 459         NATP,   8, 
 460         CMAP,   8, 
 461         CMBP,   8, 
 462         LPTP,   8, 
 463         FDCP,   8, 
 464         CMCP,   8, 
 465         CIRP,   8, 
 466         SMSC,   8, 
 467         W381,   8, 
 468         SMC1,   8, 
 469         EMAE,   8, 
 470         EMAP,   16, 
 471         EMAL,   16, 
 472         Offset (0x42), 
 473         MEFE,   8, 
 474         DSTS,   8, 
 475         Offset (0x47), 
 476         TPMP,   8, 
 477         MORD,   8, 
 478         TCGP,   8, 
 479         PPRP,   32, 
 480         PPRQ,   8, 
 481         LPPR,   8, 
 482         GTF0,   56, 
 483         GTF2,   56, 
 484         IDEM,   8, 
 485         GTF1,   56, 
 486         BID,    16, 
 487         PLID,   8, 
 488         ECTG,   8, 
 489         ISCT,   8, 
 490         SLDR,   32, 
 491         WAKR,   8, 
 492         Offset (0x71), 
 493         OSCC,   8, 
 494         NEXP,   8, 
 495         SBV1,   8, 
 496         SBV2,   8, 
 497         Offset (0x7A), 
 498         DSEN,   8, 
 499         ECON,   8, 
 500         GPIC,   8, 
 501         CTYP,   8, 
 502         L01C,   8, 
 503         VFN0,   8, 
 504         VFN1,   8, 
 505         VFN2,   8, 
 506         VFN3,   8, 
 507         VFN4,   8, 
 508         VFN5,   8, 
 509         VFN6,   8, 
 510         VFN7,   8, 
 511         VFN8,   8, 
 512         VFN9,   8, 
 513         Offset (0x8F), 
 514         ATMC,   8, 
 515         PTMC,   8, 
 516         ATRA,   8, 
 517         PTRA,   8, 
 518         PNHM,   32, 
 519         TBAB,   32, 
 520         TBAH,   32, 
 521         RTIP,   8, 
 522         TSOD,   8, 
 523         ATPC,   8, 
 524         PTPC,   8, 
 525         PFLV,   8, 
 526         BREV,   8, 
 527         PDTS,   8, 
 528         PKGA,   8, 
 529         PAMT,   8, 
 530         AC0F,   8, 
 531         AC1F,   8, 
 532         DTS3,   8, 
 533         DTS4,   8, 
 534         Offset (0xB0), 
 535         LTR1,   8, 
 536         LTR2,   8, 
 537         LTR3,   8, 
 538         LTR4,   8, 
 539         LTR5,   8, 
 540         LTR6,   8, 
 541         LTR7,   8, 
 542         LTR8,   8, 
 543         OBF1,   8, 
 544         OBF2,   8, 
 545         OBF3,   8, 
 546         OBF4,   8, 
 547         OBF5,   8, 
 548         OBF6,   8, 
 549         OBF7,   8, 
 550         OBF8,   8, 
 551         XHCI,   8, 
 552         XTUB,   32, 
 553         XTUS,   32, 
 554         XMPB,   32, 
 555         DDRF,   8, 
 556         RTD3,   8, 
 557         PEP0,   8, 
 558         PEP3,   8, 
 559         DPTF,   8, 
 560         SADE,   8, 
 561         SACR,   8, 
 562         SAHT,   8, 
 563         PCHD,   8, 
 564         PCHC,   8, 
 565         PCHH,   8, 
 566         CTDP,   8, 
 567         LPMP,   8, 
 568         LPMV,   8, 
 569         ECEU,   8, 
 570         TGFG,   16, 
 571         MEMD,   8, 
 572         MEMC,   8, 
 573         MEMH,   8, 
 574         FND1,   8, 
 575         FND2,   8, 
 576         AMBD,   8, 
 577         AMAT,   8, 
 578         AMPT,   8, 
 579         AMCT,   8, 
 580         AMHT,   8, 
 581         SKDE,   8, 
 582         SKAT,   8, 
 583         SKPT,   8, 
 584         SKCT,   8, 
 585         SKHT,   8, 
 586         EFDE,   8, 
 587         EFAT,   8, 
 588         EFPT,   8, 
 589         EFCT,   8, 
 590         EFHT,   8, 
 591         VRDE,   8, 
 592         VRAT,   8, 
 593         VRPT,   8, 
 594         VRCT,   8, 
 595         VRHT,   8, 
 596         DPAP,   8, 
 597         DPPP,   8, 
 598         DPCP,   8, 
 599         DCMP,   8, 
 600         TRTV,   8, 
 601         LPOE,   8, 
 602         LPOP,   8, 
 603         LPOS,   8, 
 604         LPOW,   8, 
 605         LPER,   8, 
 606         PPSZ,   32, 
 607         DISE,   8, 
 608         PFMA,   64, 
 609         PFMS,   8, 
 610         PFIA,   16, 
 611         ICNF,   8, 
 612         DSP0,   32, 
 613         DSP1,   32, 
 614         NFCE,   8, 
 615         CODS,   8, 
 616         SNHE,   8, 
 617         S0ID,   8, 
 618         CTDB,   8, 
 619         Offset (0x121), 
 620         TBTE,   8, 
 621         Offset (0x207), 
 622         PWRE,   8, 
 623         PWRP,   8, 
 624         XHPR,   8, 
 625         SDS0,   8, 
 626         SDS1,   16, 
 627         SDS2,   8, 
 628         SDS3,   8, 
 629         SDS4,   8, 
 630         SDS5,   8, 
 631         Offset (0x212), 
 632         RIC0,   8, 
 633         PEPY,   8, 
 634         DVS0,   8, 
 635         DVS1,   8, 
 636         DVS2,   8, 
 637         DVS3,   8, 
 638         GBSX,   8, 
 639         IUBE,   8, 
 640         IUCE,   8, 
 641         IUDE,   8, 
 642         ECNO,   8, 
 643         AUDD,   16, 
 644         DSPD,   16, 
 645         IC0D,   16, 
 646         IC1D,   16, 
 647         IC1S,   16, 
 648         VRRD,   16, 
 649         PSCP,   8, 
 650         RWAG,   8, 
 651         I20D,   16, 
 652         I21D,   16, 
 653         Offset (0x231), 
 654         RCG0,   8, 
 655         ECDB,   8, 
 656         P2ME,   8, 
 657         SSH0,   16, 
 658         SSL0,   16, 
 659         SSD0,   16, 
 660         FMH0,   16, 
 661         FML0,   16, 
 662         FMD0,   16, 
 663         FPH0,   16, 
 664         FPL0,   16, 
 665         FPD0,   16, 
 666         SSH1,   16, 
 667         SSL1,   16, 
 668         SSD1,   16, 
 669         FMH1,   16, 
 670         FML1,   16, 
 671         FMD1,   16, 
 672         FPH1,   16, 
 673         FPL1,   16, 
 674         FPD1,   16, 
 675         M0C0,   16, 
 676         M1C0,   16, 
 677         M2C0,   16, 
 678         M0C1,   16, 
 679         M1C1,   16, 
 680         M2C1,   16, 
 681         M0C2,   16, 
 682         M1C2,   16, 
 683         M0C3,   16, 
 684         M1C3,   16, 
 685         M0C4,   16, 
 686         M1C4,   16, 
 687         M0C5,   16, 
 688         M1C5,   16, 
 689         TBSF,   8, 
 690         GIRQ,   32, 
 691         DMTP,   8, 
 692         DMTD,   8, 
 693         DMSH,   8, 
 694         LANP,   8, 
 695         Offset (0x27E), 
 696         SHSB,   8, 
 697         PLCS,   8, 
 698         PLVL,   16, 
 699         GN1E,   8, 
 700         G1AT,   8, 
 701         G1PT,   8, 
 702         G1CT,   8, 
 703         G1HT,   8, 
 704         GN2E,   8, 
 705         G2AT,   8, 
 706         G2PT,   8, 
 707         G2CT,   8, 
 708         G2HT,   8, 
 709         WWSD,   8, 
 710         CVSD,   8, 
 711         SSDD,   8, 
 712         INLD,   8, 
 713         IFAT,   8, 
 714         IFPT,   8, 
 715         IFCT,   8, 
 716         IFHT,   8, 
 717         DOSD,   8, 
 718         USBH,   8, 
 719         BCV4,   8, 
 720         WTV0,   8, 
 721         WTV1,   8, 
 722         APFU,   8, 
 723         SOHP,   8, 
 724         NOHP,   8, 
 725         TBSE,   8, 
 726         WKFN,   8, 
 727         PEPC,   16, 
 728         VRSD,   16, 
 729         PB1E,   8, 
 730         WAND,   8, 
 731         WWAT,   8, 
 732         WWPT,   8, 
 733         WWCT,   8, 
 734         WWHT,   8, 
 735         Offset (0x2AD), 
 736         MPLT,   16, 
 737         GR13,   8, 
 738         SPST,   8
 739     }
 740 
 741     OperationRegion (MNVS, SystemMemory, 0xDCF7D018, 0x1000)
 742     Field (MNVS, DWordAcc, NoLock, Preserve)
 743     {
 744         Offset (0xD00), 
 745         GAPA,   32, 
 746         GAPL,   32, 
 747         DCKI,   32, 
 748         DCKS,   32, 
 749         VCDL,   1, 
 750         VCDC,   1, 
 751         VCDT,   1, 
 752         VCDD,   1, 
 753             ,   1, 
 754         VCSS,   1, 
 755         VCDB,   1, 
 756         VCIN,   1, 
 757         VVPO,   8, 
 758         BNTL,   8, 
 759         BRLV,   8, 
 760         CDFL,   8, 
 761         CDAH,   8, 
 762         PMOD,   2, 
 763         PDIR,   1, 
 764         PDMA,   1, 
 765         Offset (0xD17), 
 766         LFDC,   1, 
 767         Offset (0xD18), 
 768         C2NA,   1, 
 769         C3NA,   1, 
 770         C4NA,   1, 
 771         C6NA,   1, 
 772         C7NA,   1, 
 773         Offset (0xD19), 
 774         Offset (0xD1A), 
 775             ,   2, 
 776             ,   1, 
 777         NHPS,   1, 
 778             ,   1, 
 779         Offset (0xD1B), 
 780         UOPT,   8, 
 781         BTID,   32, 
 782         DPP0,   1, 
 783         DPP1,   1, 
 784         DPP2,   1, 
 785         DPP3,   1, 
 786         DPP4,   1, 
 787         DPP5,   1, 
 788         Offset (0xD21), 
 789         Offset (0xD22), 
 790         TCRT,   16, 
 791         TPSV,   16, 
 792         TTC1,   16, 
 793         TTC2,   16, 
 794         TTSP,   16, 
 795         SRAH,   8, 
 796         SRHE,   8, 
 797         SRE1,   8, 
 798         SRE2,   8, 
 799         SRE3,   8, 
 800         SRE4,   8, 
 801         SRE5,   8, 
 802         SRE6,   8, 
 803         SRU1,   8, 
 804         SRU2,   8, 
 805         SRU3,   8, 
 806         SRU7,   8, 
 807         SRU4,   8, 
 808         SRU5,   8, 
 809         SRU8,   8, 
 810         SRPB,   8, 
 811         SRLP,   8, 
 812         SRSA,   8, 
 813         SRSM,   8, 
 814         CWAC,   1, 
 815         CWAS,   1, 
 816         CWUE,   1, 
 817         CWUS,   1, 
 818         Offset (0xD40), 
 819         CWAP,   16, 
 820         CWAT,   16, 
 821         DBGC,   1, 
 822         Offset (0xD45), 
 823         FS1L,   16, 
 824         FS1M,   16, 
 825         FS1H,   16, 
 826         FS2L,   16, 
 827         FS2M,   16, 
 828         FS2H,   16, 
 829         FS3L,   16, 
 830         FS3M,   16, 
 831         FS3H,   16, 
 832         TATC,   1, 
 833             ,   6, 
 834         TATL,   1, 
 835         TATW,   8, 
 836         TNFT,   4, 
 837         TNTT,   4, 
 838         TDFA,   4, 
 839         TDTA,   4, 
 840         TDFD,   4, 
 841         TDTD,   4, 
 842         TCFA,   4, 
 843         TCTA,   4, 
 844         TCFD,   4, 
 845         TCTD,   4, 
 846         TSFT,   4, 
 847         TSTT,   4, 
 848         TIT0,   8, 
 849         TCR0,   16, 
 850         TPS0,   16, 
 851         TIT1,   8, 
 852         TCR1,   16, 
 853         TPS1,   16, 
 854         TIT2,   8, 
 855         TCR2,   16, 
 856         TPS2,   16, 
 857         TIF0,   8, 
 858         TIF1,   8, 
 859         TIF2,   8, 
 860         Offset (0xD78), 
 861         BTHI,   1, 
 862         Offset (0xD79), 
 863         HDIR,   1, 
 864         HDEH,   1, 
 865         HDSP,   1, 
 866         HDPP,   1, 
 867         HDUB,   1, 
 868         HDMC,   1, 
 869         NFCF,   1, 
 870         Offset (0xD7A), 
 871         TPME,   8, 
 872         BIDE,   4, 
 873         IDET,   4, 
 874             ,   1, 
 875         DTSE,   1, 
 876         Offset (0xD7D), 
 877         DTS0,   8, 
 878         DTS1,   8, 
 879         DT00,   1, 
 880         DT01,   1, 
 881         DT02,   1, 
 882         DT03,   1, 
 883         Offset (0xD80), 
 884         LIDB,   1, 
 885         C4WR,   1, 
 886         C4AC,   1, 
 887         ODDX,   1, 
 888         CMPR,   1, 
 889         ILNF,   1, 
 890         PLUX,   1, 
 891         Offset (0xD81), 
 892         Offset (0xD8C), 
 893             ,   4, 
 894             ,   1, 
 895         IDMM,   1, 
 896         Offset (0xD8D), 
 897             ,   3, 
 898             ,   1, 
 899             ,   1, 
 900         LIDA,   1, 
 901         Offset (0xD8E), 
 902         Offset (0xD8F), 
 903             ,   4, 
 904         Offset (0xD90), 
 905         TCG0,   1, 
 906         TCG1,   1, 
 907         Offset (0xD91), 
 908         SWGP,   8, 
 909         IPMS,   8, 
 910         IPMB,   120, 
 911         IPMR,   24, 
 912         IPMO,   24, 
 913         IPMA,   8, 
 914         VIGD,   1, 
 915         VDSC,   1, 
 916             ,   2, 
 917         VDSP,   1, 
 918         Offset (0xDAA), 
 919         Offset (0xDAD), 
 920         ASFT,   8, 
 921         PL1L,   8, 
 922         PL1M,   8, 
 923         CHKC,   32, 
 924         CHKE,   32, 
 925         ATRB,   32, 
 926         Offset (0xDBD), 
 927         PPCR,   8, 
 928         TPCR,   5, 
 929         Offset (0xDBF), 
 930         Offset (0xDCF), 
 931         PPCA,   8, 
 932         TPCA,   5, 
 933         Offset (0xDD1), 
 934         BFWB,   296, 
 935         OSPX,   1, 
 936         OSC4,   1, 
 937         Offset (0xDF7), 
 938         SPEN,   1, 
 939         SCRM,   1, 
 940         GFPL,   1, 
 941         ETAU,   1, 
 942         IHBC,   1, 
 943         APMD,   1, 
 944         APMF,   1, 
 945         Offset (0xDF8), 
 946         FTPS,   8, 
 947         HIST,   8, 
 948         LPST,   8, 
 949         LWST,   8, 
 950         Offset (0xDFF), 
 951         MTAU,   8, 
 952         Offset (0xE20), 
 953         HPET,   32, 
 954         PKLI,   16, 
 955         VLCX,   16, 
 956         VNIT,   8, 
 957         VBD0,   8, 
 958         VBDT,   128, 
 959         VBPL,   16, 
 960         VBPH,   16, 
 961         VBML,   8, 
 962         VBMH,   8, 
 963         VEDI,   1024, 
 964         PDCI,   16, 
 965         ISCG,   32, 
 966         ISSP,   1, 
 967         ISWK,   2, 
 968         Offset (0xEC7), 
 969         SHA1,   160, 
 970         FFDT,   1, 
 971         Offset (0xEDC), 
 972         LWCP,   1, 
 973         LWEN,   1, 
 974         IOCP,   1, 
 975         IOEN,   1, 
 976         IOST,   1, 
 977         Offset (0xEDD), 
 978         USBR,   1, 
 979         Offset (0xEDE), 
 980         Offset (0xEDF), 
 981         Offset (0xEE1), 
 982         BT2T,   1, 
 983         Offset (0xEE2), 
 984         TPPP,   8, 
 985         TPPC,   8, 
 986         WKRS,   8, 
 987         FNWK,   8
 988     }
 989 
 990     Field (MNVS, ByteAcc, NoLock, Preserve)
 991     {
 992         Offset (0xB00), 
 993         WITM,   8, 
 994         WSEL,   8, 
 995         WLS0,   8, 
 996         WLS1,   8, 
 997         WLS2,   8, 
 998         WLS3,   8, 
 999         WLS4,   8, 
1000         WLS5,   8, 
1001         WLS6,   8, 
1002         WLS7,   8, 
1003         WLS8,   8, 
1004         WLS9,   8, 
1005         WLSA,   8, 
1006         WLSB,   8, 
1007         WLSC,   8, 
1008         WLSD,   8, 
1009         WENC,   8, 
1010         WKBD,   8, 
1011         WPTY,   8, 
1012         WPAS,   1032, 
1013         WPNW,   1032, 
1014         WSPM,   8, 
1015         WSPS,   8, 
1016         WSMN,   8, 
1017         WSMX,   8, 
1018         WSEN,   8, 
1019         WSKB,   8, 
1020         WASB,   8, 
1021         WASI,   16, 
1022         WASD,   8, 
1023         WASS,   32
1024     }
1025 
1026     Field (MNVS, ByteAcc, NoLock, Preserve)
1027     {
1028         Offset (0xA00), 
1029         DBGS,   1024
1030     }
1031 
1032     OperationRegion (OEMN, SystemMemory, 0xDCF6BF18, 0x64)
1033     Field (OEMN, AnyAcc, Lock, Preserve)
1034     {
1035         SIGN,   32, 
1036         BRID,   8, 
1037         OPID,   8, 
1038         OSID,   8, 
1039         CPPS,   8, 
1040         CPUT,   8, 
1041         ECIF,   8, 
1042         CTID,   8, 
1043         ORV1,   608
1044     }
1045 
1046     Scope (_SB)
1047     {
1048         Name (PR00, Package (0x19)
1049         {
1050             Package (0x04)
1051             {
1052                 0x001FFFFF, 
1053                 Zero, 
1054                 LNKF, 
1055                 Zero
1056             }, 
1057 
1058             Package (0x04)
1059             {
1060                 0x001FFFFF, 
1061                 One, 
1062                 LNKD, 
1063                 Zero
1064             }, 
1065 
1066             Package (0x04)
1067             {
1068                 0x001FFFFF, 
1069                 0x02, 
1070                 LNKC, 
1071                 Zero
1072             }, 
1073 
1074             Package (0x04)
1075             {
1076                 0x001FFFFF, 
1077                 0x03, 
1078                 LNKA, 
1079                 Zero
1080             }, 
1081 
1082             Package (0x04)
1083             {
1084                 0x001DFFFF, 
1085                 Zero, 
1086                 LNKH, 
1087                 Zero
1088             }, 
1089 
1090             Package (0x04)
1091             {
1092                 0x001AFFFF, 
1093                 Zero, 
1094                 LNKA, 
1095                 Zero
1096             }, 
1097 
1098             Package (0x04)
1099             {
1100                 0x0013FFFF, 
1101                 Zero, 
1102                 LNKH, 
1103                 Zero
1104             }, 
1105 
1106             Package (0x04)
1107             {
1108                 0x001BFFFF, 
1109                 Zero, 
1110                 LNKG, 
1111                 Zero
1112             }, 
1113 
1114             Package (0x04)
1115             {
1116                 0x0018FFFF, 
1117                 Zero, 
1118                 LNKE, 
1119                 Zero
1120             }, 
1121 
1122             Package (0x04)
1123             {
1124                 0x0019FFFF, 
1125                 Zero, 
1126                 LNKE, 
1127                 Zero
1128             }, 
1129 
1130             Package (0x04)
1131             {
1132                 0x0016FFFF, 
1133                 Zero, 
1134                 LNKA, 
1135                 Zero
1136             }, 
1137 
1138             Package (0x04)
1139             {
1140                 0x0016FFFF, 
1141                 One, 
1142                 LNKB, 
1143                 Zero
1144             }, 
1145 
1146             Package (0x04)
1147             {
1148                 0x0016FFFF, 
1149                 0x02, 
1150                 LNKC, 
1151                 Zero
1152             }, 
1153 
1154             Package (0x04)
1155             {
1156                 0x0016FFFF, 
1157                 0x03, 
1158                 LNKD, 
1159                 Zero
1160             }, 
1161 
1162             Package (0x04)
1163             {
1164                 0x001CFFFF, 
1165                 Zero, 
1166                 LNKA, 
1167                 Zero
1168             }, 
1169 
1170             Package (0x04)
1171             {
1172                 0x001CFFFF, 
1173                 One, 
1174                 LNKB, 
1175                 Zero
1176             }, 
1177 
1178             Package (0x04)
1179             {
1180                 0x001CFFFF, 
1181                 0x02, 
1182                 LNKC, 
1183                 Zero
1184             }, 
1185 
1186             Package (0x04)
1187             {
1188                 0x001CFFFF, 
1189                 0x03, 
1190                 LNKD, 
1191                 Zero
1192             }, 
1193 
1194             Package (0x04)
1195             {
1196                 0x0001FFFF, 
1197                 Zero, 
1198                 LNKA, 
1199                 Zero
1200             }, 
1201 
1202             Package (0x04)
1203             {
1204                 0x0001FFFF, 
1205                 One, 
1206                 LNKB, 
1207                 Zero
1208             }, 
1209 
1210             Package (0x04)
1211             {
1212                 0x0001FFFF, 
1213                 0x02, 
1214                 LNKC, 
1215                 Zero
1216             }, 
1217 
1218             Package (0x04)
1219             {
1220                 0x0001FFFF, 
1221                 0x03, 
1222                 LNKD, 
1223                 Zero
1224             }, 
1225 
1226             Package (0x04)
1227             {
1228                 0x0002FFFF, 
1229                 Zero, 
1230                 LNKA, 
1231                 Zero
1232             }, 
1233 
1234             Package (0x04)
1235             {
1236                 0x0003FFFF, 
1237                 Zero, 
1238                 LNKA, 
1239                 Zero
1240             }, 
1241 
1242             Package (0x04)
1243             {
1244                 0x0004FFFF, 
1245                 Zero, 
1246                 LNKA, 
1247                 Zero
1248             }
1249         })
1250         Name (AR00, Package (0x19)
1251         {
1252             Package (0x04)
1253             {
1254                 0x001FFFFF, 
1255                 Zero, 
1256                 Zero, 
1257                 0x15
1258             }, 
1259 
1260             Package (0x04)
1261             {
1262                 0x001FFFFF, 
1263                 One, 
1264                 Zero, 
1265                 0x13
1266             }, 
1267 
1268             Package (0x04)
1269             {
1270                 0x001FFFFF, 
1271                 0x02, 
1272                 Zero, 
1273                 0x12
1274             }, 
1275 
1276             Package (0x04)
1277             {
1278                 0x001FFFFF, 
1279                 0x03, 
1280                 Zero, 
1281                 0x10
1282             }, 
1283 
1284             Package (0x04)
1285             {
1286                 0x001DFFFF, 
1287                 Zero, 
1288                 Zero, 
1289                 0x17
1290             }, 
1291 
1292             Package (0x04)
1293             {
1294                 0x001AFFFF, 
1295                 Zero, 
1296                 Zero, 
1297                 0x10
1298             }, 
1299 
1300             Package (0x04)
1301             {
1302                 0x0013FFFF, 
1303                 Zero, 
1304                 Zero, 
1305                 0x17
1306             }, 
1307 
1308             Package (0x04)
1309             {
1310                 0x001BFFFF, 
1311                 Zero, 
1312                 Zero, 
1313                 0x16
1314             }, 
1315 
1316             Package (0x04)
1317             {
1318                 0x0018FFFF, 
1319                 Zero, 
1320                 Zero, 
1321                 0x14
1322             }, 
1323 
1324             Package (0x04)
1325             {
1326                 0x0019FFFF, 
1327                 Zero, 
1328                 Zero, 
1329                 0x14
1330             }, 
1331 
1332             Package (0x04)
1333             {
1334                 0x0016FFFF, 
1335                 Zero, 
1336                 Zero, 
1337                 0x10
1338             }, 
1339 
1340             Package (0x04)
1341             {
1342                 0x0016FFFF, 
1343                 One, 
1344                 Zero, 
1345                 0x11
1346             }, 
1347 
1348             Package (0x04)
1349             {
1350                 0x0016FFFF, 
1351                 0x02, 
1352                 Zero, 
1353                 0x12
1354             }, 
1355 
1356             Package (0x04)
1357             {
1358                 0x0016FFFF, 
1359                 0x03, 
1360                 Zero, 
1361                 0x13
1362             }, 
1363 
1364             Package (0x04)
1365             {
1366                 0x001CFFFF, 
1367                 Zero, 
1368                 Zero, 
1369                 0x10
1370             }, 
1371 
1372             Package (0x04)
1373             {
1374                 0x001CFFFF, 
1375                 One, 
1376                 Zero, 
1377                 0x11
1378             }, 
1379 
1380             Package (0x04)
1381             {
1382                 0x001CFFFF, 
1383                 0x02, 
1384                 Zero, 
1385                 0x12
1386             }, 
1387 
1388             Package (0x04)
1389             {
1390                 0x001CFFFF, 
1391                 0x03, 
1392                 Zero, 
1393                 0x13
1394             }, 
1395 
1396             Package (0x04)
1397             {
1398                 0x0001FFFF, 
1399                 Zero, 
1400                 Zero, 
1401                 0x10
1402             }, 
1403 
1404             Package (0x04)
1405             {
1406                 0x0001FFFF, 
1407                 One, 
1408                 Zero, 
1409                 0x11
1410             }, 
1411 
1412             Package (0x04)
1413             {
1414                 0x0001FFFF, 
1415                 0x02, 
1416                 Zero, 
1417                 0x12
1418             }, 
1419 
1420             Package (0x04)
1421             {
1422                 0x0001FFFF, 
1423                 0x03, 
1424                 Zero, 
1425                 0x13
1426             }, 
1427 
1428             Package (0x04)
1429             {
1430                 0x0002FFFF, 
1431                 Zero, 
1432                 Zero, 
1433                 0x10
1434             }, 
1435 
1436             Package (0x04)
1437             {
1438                 0x0003FFFF, 
1439                 Zero, 
1440                 Zero, 
1441                 0x10
1442             }, 
1443 
1444             Package (0x04)
1445             {
1446                 0x0004FFFF, 
1447                 Zero, 
1448                 Zero, 
1449                 0x10
1450             }
1451         })
1452         Name (PR04, Package (0x04)
1453         {
1454             Package (0x04)
1455             {
1456                 0xFFFF, 
1457                 Zero, 
1458                 LNKA, 
1459                 Zero
1460             }, 
1461 
1462             Package (0x04)
1463             {
1464                 0xFFFF, 
1465                 One, 
1466                 LNKB, 
1467                 Zero
1468             }, 
1469 
1470             Package (0x04)
1471             {
1472                 0xFFFF, 
1473                 0x02, 
1474                 LNKC, 
1475                 Zero
1476             }, 
1477 
1478             Package (0x04)
1479             {
1480                 0xFFFF, 
1481                 0x03, 
1482                 LNKD, 
1483                 Zero
1484             }
1485         })
1486         Name (AR04, Package (0x04)
1487         {
1488             Package (0x04)
1489             {
1490                 0xFFFF, 
1491                 Zero, 
1492                 Zero, 
1493                 0x10
1494             }, 
1495 
1496             Package (0x04)
1497             {
1498                 0xFFFF, 
1499                 One, 
1500                 Zero, 
1501                 0x11
1502             }, 
1503 
1504             Package (0x04)
1505             {
1506                 0xFFFF, 
1507                 0x02, 
1508                 Zero, 
1509                 0x12
1510             }, 
1511 
1512             Package (0x04)
1513             {
1514                 0xFFFF, 
1515                 0x03, 
1516                 Zero, 
1517                 0x13
1518             }
1519         })
1520         Name (PR05, Package (0x04)
1521         {
1522             Package (0x04)
1523             {
1524                 0xFFFF, 
1525                 Zero, 
1526                 LNKB, 
1527                 Zero
1528             }, 
1529 
1530             Package (0x04)
1531             {
1532                 0xFFFF, 
1533                 One, 
1534                 LNKC, 
1535                 Zero
1536             }, 
1537 
1538             Package (0x04)
1539             {
1540                 0xFFFF, 
1541                 0x02, 
1542                 LNKD, 
1543                 Zero
1544             }, 
1545 
1546             Package (0x04)
1547             {
1548                 0xFFFF, 
1549                 0x03, 
1550                 LNKA, 
1551                 Zero
1552             }
1553         })
1554         Name (AR05, Package (0x04)
1555         {
1556             Package (0x04)
1557             {
1558                 0xFFFF, 
1559                 Zero, 
1560                 Zero, 
1561                 0x11
1562             }, 
1563 
1564             Package (0x04)
1565             {
1566                 0xFFFF, 
1567                 One, 
1568                 Zero, 
1569                 0x12
1570             }, 
1571 
1572             Package (0x04)
1573             {
1574                 0xFFFF, 
1575                 0x02, 
1576                 Zero, 
1577                 0x13
1578             }, 
1579 
1580             Package (0x04)
1581             {
1582                 0xFFFF, 
1583                 0x03, 
1584                 Zero, 
1585                 0x10
1586             }
1587         })
1588         Name (PR06, Package (0x04)
1589         {
1590             Package (0x04)
1591             {
1592                 0xFFFF, 
1593                 Zero, 
1594                 LNKC, 
1595                 Zero
1596             }, 
1597 
1598             Package (0x04)
1599             {
1600                 0xFFFF, 
1601                 One, 
1602                 LNKD, 
1603                 Zero
1604             }, 
1605 
1606             Package (0x04)
1607             {
1608                 0xFFFF, 
1609                 0x02, 
1610                 LNKA, 
1611                 Zero
1612             }, 
1613 
1614             Package (0x04)
1615             {
1616                 0xFFFF, 
1617                 0x03, 
1618                 LNKB, 
1619                 Zero
1620             }
1621         })
1622         Name (AR06, Package (0x04)
1623         {
1624             Package (0x04)
1625             {
1626                 0xFFFF, 
1627                 Zero, 
1628                 Zero, 
1629                 0x12
1630             }, 
1631 
1632             Package (0x04)
1633             {
1634                 0xFFFF, 
1635                 One, 
1636                 Zero, 
1637                 0x13
1638             }, 
1639 
1640             Package (0x04)
1641             {
1642                 0xFFFF, 
1643                 0x02, 
1644                 Zero, 
1645                 0x10
1646             }, 
1647 
1648             Package (0x04)
1649             {
1650                 0xFFFF, 
1651                 0x03, 
1652                 Zero, 
1653                 0x11
1654             }
1655         })
1656         Name (PR07, Package (0x04)
1657         {
1658             Package (0x04)
1659             {
1660                 0xFFFF, 
1661                 Zero, 
1662                 LNKD, 
1663                 Zero
1664             }, 
1665 
1666             Package (0x04)
1667             {
1668                 0xFFFF, 
1669                 One, 
1670                 LNKA, 
1671                 Zero
1672             }, 
1673 
1674             Package (0x04)
1675             {
1676                 0xFFFF, 
1677                 0x02, 
1678                 LNKB, 
1679                 Zero
1680             }, 
1681 
1682             Package (0x04)
1683             {
1684                 0xFFFF, 
1685                 0x03, 
1686                 LNKC, 
1687                 Zero
1688             }
1689         })
1690         Name (AR07, Package (0x04)
1691         {
1692             Package (0x04)
1693             {
1694                 0xFFFF, 
1695                 Zero, 
1696                 Zero, 
1697                 0x13
1698             }, 
1699 
1700             Package (0x04)
1701             {
1702                 0xFFFF, 
1703                 One, 
1704                 Zero, 
1705                 0x10
1706             }, 
1707 
1708             Package (0x04)
1709             {
1710                 0xFFFF, 
1711                 0x02, 
1712                 Zero, 
1713                 0x11
1714             }, 
1715 
1716             Package (0x04)
1717             {
1718                 0xFFFF, 
1719                 0x03, 
1720                 Zero, 
1721                 0x12
1722             }
1723         })
1724         Name (PR08, Package (0x04)
1725         {
1726             Package (0x04)
1727             {
1728                 0xFFFF, 
1729                 Zero, 
1730                 LNKA, 
1731                 Zero
1732             }, 
1733 
1734             Package (0x04)
1735             {
1736                 0xFFFF, 
1737                 One, 
1738                 LNKB, 
1739                 Zero
1740             }, 
1741 
1742             Package (0x04)
1743             {
1744                 0xFFFF, 
1745                 0x02, 
1746                 LNKC, 
1747                 Zero
1748             }, 
1749 
1750             Package (0x04)
1751             {
1752                 0xFFFF, 
1753                 0x03, 
1754                 LNKD, 
1755                 Zero
1756             }
1757         })
1758         Name (AR08, Package (0x04)
1759         {
1760             Package (0x04)
1761             {
1762                 0xFFFF, 
1763                 Zero, 
1764                 Zero, 
1765                 0x10
1766             }, 
1767 
1768             Package (0x04)
1769             {
1770                 0xFFFF, 
1771                 One, 
1772                 Zero, 
1773                 0x11
1774             }, 
1775 
1776             Package (0x04)
1777             {
1778                 0xFFFF, 
1779                 0x02, 
1780                 Zero, 
1781                 0x12
1782             }, 
1783 
1784             Package (0x04)
1785             {
1786                 0xFFFF, 
1787                 0x03, 
1788                 Zero, 
1789                 0x13
1790             }
1791         })
1792         Name (PR09, Package (0x04)
1793         {
1794             Package (0x04)
1795             {
1796                 0xFFFF, 
1797                 Zero, 
1798                 LNKB, 
1799                 Zero
1800             }, 
1801 
1802             Package (0x04)
1803             {
1804                 0xFFFF, 
1805                 One, 
1806                 LNKC, 
1807                 Zero
1808             }, 
1809 
1810             Package (0x04)
1811             {
1812                 0xFFFF, 
1813                 0x02, 
1814                 LNKD, 
1815                 Zero
1816             }, 
1817 
1818             Package (0x04)
1819             {
1820                 0xFFFF, 
1821                 0x03, 
1822                 LNKA, 
1823                 Zero
1824             }
1825         })
1826         Name (AR09, Package (0x04)
1827         {
1828             Package (0x04)
1829             {
1830                 0xFFFF, 
1831                 Zero, 
1832                 Zero, 
1833                 0x11
1834             }, 
1835 
1836             Package (0x04)
1837             {
1838                 0xFFFF, 
1839                 One, 
1840                 Zero, 
1841                 0x12
1842             }, 
1843 
1844             Package (0x04)
1845             {
1846                 0xFFFF, 
1847                 0x02, 
1848                 Zero, 
1849                 0x13
1850             }, 
1851 
1852             Package (0x04)
1853             {
1854                 0xFFFF, 
1855                 0x03, 
1856                 Zero, 
1857                 0x10
1858             }
1859         })
1860         Name (PR0E, Package (0x04)
1861         {
1862             Package (0x04)
1863             {
1864                 0xFFFF, 
1865                 Zero, 
1866                 LNKC, 
1867                 Zero
1868             }, 
1869 
1870             Package (0x04)
1871             {
1872                 0xFFFF, 
1873                 One, 
1874                 LNKD, 
1875                 Zero
1876             }, 
1877 
1878             Package (0x04)
1879             {
1880                 0xFFFF, 
1881                 0x02, 
1882                 LNKA, 
1883                 Zero
1884             }, 
1885 
1886             Package (0x04)
1887             {
1888                 0xFFFF, 
1889                 0x03, 
1890                 LNKB, 
1891                 Zero
1892             }
1893         })
1894         Name (AR0E, Package (0x04)
1895         {
1896             Package (0x04)
1897             {
1898                 0xFFFF, 
1899                 Zero, 
1900                 Zero, 
1901                 0x12
1902             }, 
1903 
1904             Package (0x04)
1905             {
1906                 0xFFFF, 
1907                 One, 
1908                 Zero, 
1909                 0x13
1910             }, 
1911 
1912             Package (0x04)
1913             {
1914                 0xFFFF, 
1915                 0x02, 
1916                 Zero, 
1917                 0x10
1918             }, 
1919 
1920             Package (0x04)
1921             {
1922                 0xFFFF, 
1923                 0x03, 
1924                 Zero, 
1925                 0x11
1926             }
1927         })
1928         Name (PR0F, Package (0x04)
1929         {
1930             Package (0x04)
1931             {
1932                 0xFFFF, 
1933                 Zero, 
1934                 LNKD, 
1935                 Zero
1936             }, 
1937 
1938             Package (0x04)
1939             {
1940                 0xFFFF, 
1941                 One, 
1942                 LNKA, 
1943                 Zero
1944             }, 
1945 
1946             Package (0x04)
1947             {
1948                 0xFFFF, 
1949                 0x02, 
1950                 LNKB, 
1951                 Zero
1952             }, 
1953 
1954             Package (0x04)
1955             {
1956                 0xFFFF, 
1957                 0x03, 
1958                 LNKC, 
1959                 Zero
1960             }
1961         })
1962         Name (AR0F, Package (0x04)
1963         {
1964             Package (0x04)
1965             {
1966                 0xFFFF, 
1967                 Zero, 
1968                 Zero, 
1969                 0x13
1970             }, 
1971 
1972             Package (0x04)
1973             {
1974                 0xFFFF, 
1975                 One, 
1976                 Zero, 
1977                 0x10
1978             }, 
1979 
1980             Package (0x04)
1981             {
1982                 0xFFFF, 
1983                 0x02, 
1984                 Zero, 
1985                 0x11
1986             }, 
1987 
1988             Package (0x04)
1989             {
1990                 0xFFFF, 
1991                 0x03, 
1992                 Zero, 
1993                 0x12
1994             }
1995         })
1996         Name (PR02, Package (0x04)
1997         {
1998             Package (0x04)
1999             {
2000                 0xFFFF, 
2001                 Zero, 
2002                 LNKA, 
2003                 Zero
2004             }, 
2005 
2006             Package (0x04)
2007             {
2008                 0xFFFF, 
2009                 One, 
2010                 LNKB, 
2011                 Zero
2012             }, 
2013 
2014             Package (0x04)
2015             {
2016                 0xFFFF, 
2017                 0x02, 
2018                 LNKC, 
2019                 Zero
2020             }, 
2021 
2022             Package (0x04)
2023             {
2024                 0xFFFF, 
2025                 0x03, 
2026                 LNKD, 
2027                 Zero
2028             }
2029         })
2030         Name (AR02, Package (0x04)
2031         {
2032             Package (0x04)
2033             {
2034                 0xFFFF, 
2035                 Zero, 
2036                 Zero, 
2037                 0x10
2038             }, 
2039 
2040             Package (0x04)
2041             {
2042                 0xFFFF, 
2043                 One, 
2044                 Zero, 
2045                 0x11
2046             }, 
2047 
2048             Package (0x04)
2049             {
2050                 0xFFFF, 
2051                 0x02, 
2052                 Zero, 
2053                 0x12
2054             }, 
2055 
2056             Package (0x04)
2057             {
2058                 0xFFFF, 
2059                 0x03, 
2060                 Zero, 
2061                 0x13
2062             }
2063         })
2064         Name (PR0A, Package (0x04)
2065         {
2066             Package (0x04)
2067             {
2068                 0xFFFF, 
2069                 Zero, 
2070                 LNKB, 
2071                 Zero
2072             }, 
2073 
2074             Package (0x04)
2075             {
2076                 0xFFFF, 
2077                 One, 
2078                 LNKC, 
2079                 Zero
2080             }, 
2081 
2082             Package (0x04)
2083             {
2084                 0xFFFF, 
2085                 0x02, 
2086                 LNKD, 
2087                 Zero
2088             }, 
2089 
2090             Package (0x04)
2091             {
2092                 0xFFFF, 
2093                 0x03, 
2094                 LNKA, 
2095                 Zero
2096             }
2097         })
2098         Name (AR0A, Package (0x04)
2099         {
2100             Package (0x04)
2101             {
2102                 0xFFFF, 
2103                 Zero, 
2104                 Zero, 
2105                 0x11
2106             }, 
2107 
2108             Package (0x04)
2109             {
2110                 0xFFFF, 
2111                 One, 
2112                 Zero, 
2113                 0x12
2114             }, 
2115 
2116             Package (0x04)
2117             {
2118                 0xFFFF, 
2119                 0x02, 
2120                 Zero, 
2121                 0x13
2122             }, 
2123 
2124             Package (0x04)
2125             {
2126                 0xFFFF, 
2127                 0x03, 
2128                 Zero, 
2129                 0x10
2130             }
2131         })
2132         Name (PR0B, Package (0x04)
2133         {
2134             Package (0x04)
2135             {
2136                 0xFFFF, 
2137                 Zero, 
2138                 LNKC, 
2139                 Zero
2140             }, 
2141 
2142             Package (0x04)
2143             {
2144                 0xFFFF, 
2145                 One, 
2146                 LNKD, 
2147                 Zero
2148             }, 
2149 
2150             Package (0x04)
2151             {
2152                 0xFFFF, 
2153                 0x02, 
2154                 LNKA, 
2155                 Zero
2156             }, 
2157 
2158             Package (0x04)
2159             {
2160                 0xFFFF, 
2161                 0x03, 
2162                 LNKB, 
2163                 Zero
2164             }
2165         })
2166         Name (AR0B, Package (0x04)
2167         {
2168             Package (0x04)
2169             {
2170                 0xFFFF, 
2171                 Zero, 
2172                 Zero, 
2173                 0x12
2174             }, 
2175 
2176             Package (0x04)
2177             {
2178                 0xFFFF, 
2179                 One, 
2180                 Zero, 
2181                 0x13
2182             }, 
2183 
2184             Package (0x04)
2185             {
2186                 0xFFFF, 
2187                 0x02, 
2188                 Zero, 
2189                 0x10
2190             }, 
2191 
2192             Package (0x04)
2193             {
2194                 0xFFFF, 
2195                 0x03, 
2196                 Zero, 
2197                 0x11
2198             }
2199         })
2200         Name (PR01, Package (0x18)
2201         {
2202             Package (0x04)
2203             {
2204                 0xFFFF, 
2205                 Zero, 
2206                 LNKF, 
2207                 Zero
2208             }, 
2209 
2210             Package (0x04)
2211             {
2212                 0xFFFF, 
2213                 One, 
2214                 LNKG, 
2215                 Zero
2216             }, 
2217 
2218             Package (0x04)
2219             {
2220                 0xFFFF, 
2221                 0x02, 
2222                 LNKH, 
2223                 Zero
2224             }, 
2225 
2226             Package (0x04)
2227             {
2228                 0xFFFF, 
2229                 0x03, 
2230                 LNKE, 
2231                 Zero
2232             }, 
2233 
2234             Package (0x04)
2235             {
2236                 0x0001FFFF, 
2237                 Zero, 
2238                 LNKG, 
2239                 Zero
2240             }, 
2241 
2242             Package (0x04)
2243             {
2244                 0x0001FFFF, 
2245                 One, 
2246                 LNKF, 
2247                 Zero
2248             }, 
2249 
2250             Package (0x04)
2251             {
2252                 0x0001FFFF, 
2253                 0x02, 
2254                 LNKE, 
2255                 Zero
2256             }, 
2257 
2258             Package (0x04)
2259             {
2260                 0x0001FFFF, 
2261                 0x03, 
2262                 LNKH, 
2263                 Zero
2264             }, 
2265 
2266             Package (0x04)
2267             {
2268                 0x0002FFFF, 
2269                 Zero, 
2270                 LNKH, 
2271                 Zero
2272             }, 
2273 
2274             Package (0x04)
2275             {
2276                 0x0002FFFF, 
2277                 One, 
2278                 LNKE, 
2279                 Zero
2280             }, 
2281 
2282             Package (0x04)
2283             {
2284                 0x0002FFFF, 
2285                 0x02, 
2286                 LNKF, 
2287                 Zero
2288             }, 
2289 
2290             Package (0x04)
2291             {
2292                 0x0002FFFF, 
2293                 0x03, 
2294                 LNKG, 
2295                 Zero
2296             }, 
2297 
2298             Package (0x04)
2299             {
2300                 0x0003FFFF, 
2301                 Zero, 
2302                 LNKD, 
2303                 Zero
2304             }, 
2305 
2306             Package (0x04)
2307             {
2308                 0x0003FFFF, 
2309                 One, 
2310                 LNKC, 
2311                 Zero
2312             }, 
2313 
2314             Package (0x04)
2315             {
2316                 0x0003FFFF, 
2317                 0x02, 
2318                 LNKF, 
2319                 Zero
2320             }, 
2321 
2322             Package (0x04)
2323             {
2324                 0x0003FFFF, 
2325                 0x03, 
2326                 LNKG, 
2327                 Zero
2328             }, 
2329 
2330             Package (0x04)
2331             {
2332                 0x0004FFFF, 
2333                 Zero, 
2334                 LNKC, 
2335                 Zero
2336             }, 
2337 
2338             Package (0x04)
2339             {
2340                 0x0004FFFF, 
2341                 One, 
2342                 LNKH, 
2343                 Zero
2344             }, 
2345 
2346             Package (0x04)
2347             {
2348                 0x0004FFFF, 
2349                 0x02, 
2350                 LNKA, 
2351                 Zero
2352             }, 
2353 
2354             Package (0x04)
2355             {
2356                 0x0004FFFF, 
2357                 0x03, 
2358                 LNKE, 
2359                 Zero
2360             }, 
2361 
2362             Package (0x04)
2363             {
2364                 0x0005FFFF, 
2365                 Zero, 
2366                 LNKC, 
2367                 Zero
2368             }, 
2369 
2370             Package (0x04)
2371             {
2372                 0x0005FFFF, 
2373                 One, 
2374                 LNKE, 
2375                 Zero
2376             }, 
2377 
2378             Package (0x04)
2379             {
2380                 0x0005FFFF, 
2381                 0x02, 
2382                 LNKG, 
2383                 Zero
2384             }, 
2385 
2386             Package (0x04)
2387             {
2388                 0x0005FFFF, 
2389                 0x03, 
2390                 LNKF, 
2391                 Zero
2392             }
2393         })
2394         Name (AR01, Package (0x18)
2395         {
2396             Package (0x04)
2397             {
2398                 0xFFFF, 
2399                 Zero, 
2400                 Zero, 
2401                 0x15
2402             }, 
2403 
2404             Package (0x04)
2405             {
2406                 0xFFFF, 
2407                 One, 
2408                 Zero, 
2409                 0x16
2410             }, 
2411 
2412             Package (0x04)
2413             {
2414                 0xFFFF, 
2415                 0x02, 
2416                 Zero, 
2417                 0x17
2418             }, 
2419 
2420             Package (0x04)
2421             {
2422                 0xFFFF, 
2423                 0x03, 
2424                 Zero, 
2425                 0x14
2426             }, 
2427 
2428             Package (0x04)
2429             {
2430                 0x0001FFFF, 
2431                 Zero, 
2432                 Zero, 
2433                 0x16
2434             }, 
2435 
2436             Package (0x04)
2437             {
2438                 0x0001FFFF, 
2439                 One, 
2440                 Zero, 
2441                 0x15
2442             }, 
2443 
2444             Package (0x04)
2445             {
2446                 0x0001FFFF, 
2447                 0x02, 
2448                 Zero, 
2449                 0x14
2450             }, 
2451 
2452             Package (0x04)
2453             {
2454                 0x0001FFFF, 
2455                 0x03, 
2456                 Zero, 
2457                 0x17
2458             }, 
2459 
2460             Package (0x04)
2461             {
2462                 0x0002FFFF, 
2463                 Zero, 
2464                 Zero, 
2465                 0x17
2466             }, 
2467 
2468             Package (0x04)
2469             {
2470                 0x0002FFFF, 
2471                 One, 
2472                 Zero, 
2473                 0x14
2474             }, 
2475 
2476             Package (0x04)
2477             {
2478                 0x0002FFFF, 
2479                 0x02, 
2480                 Zero, 
2481                 0x15
2482             }, 
2483 
2484             Package (0x04)
2485             {
2486                 0x0002FFFF, 
2487                 0x03, 
2488                 Zero, 
2489                 0x16
2490             }, 
2491 
2492             Package (0x04)
2493             {
2494                 0x0003FFFF, 
2495                 Zero, 
2496                 Zero, 
2497                 0x13
2498             }, 
2499 
2500             Package (0x04)
2501             {
2502                 0x0003FFFF, 
2503                 One, 
2504                 Zero, 
2505                 0x12
2506             }, 
2507 
2508             Package (0x04)
2509             {
2510                 0x0003FFFF, 
2511                 0x02, 
2512                 Zero, 
2513                 0x15
2514             }, 
2515 
2516             Package (0x04)
2517             {
2518                 0x0003FFFF, 
2519                 0x03, 
2520                 Zero, 
2521                 0x16
2522             }, 
2523 
2524             Package (0x04)
2525             {
2526                 0x0004FFFF, 
2527                 Zero, 
2528                 Zero, 
2529                 0x12
2530             }, 
2531 
2532             Package (0x04)
2533             {
2534                 0x0004FFFF, 
2535                 One, 
2536                 Zero, 
2537                 0x17
2538             }, 
2539 
2540             Package (0x04)
2541             {
2542                 0x0004FFFF, 
2543                 0x02, 
2544                 Zero, 
2545                 0x10
2546             }, 
2547 
2548             Package (0x04)
2549             {
2550                 0x0004FFFF, 
2551                 0x03, 
2552                 Zero, 
2553                 0x14
2554             }, 
2555 
2556             Package (0x04)
2557             {
2558                 0x0005FFFF, 
2559                 Zero, 
2560                 Zero, 
2561                 0x12
2562             }, 
2563 
2564             Package (0x04)
2565             {
2566                 0x0005FFFF, 
2567                 One, 
2568                 Zero, 
2569                 0x14
2570             }, 
2571 
2572             Package (0x04)
2573             {
2574                 0x0005FFFF, 
2575                 0x02, 
2576                 Zero, 
2577                 0x16
2578             }, 
2579 
2580             Package (0x04)
2581             {
2582                 0x0005FFFF, 
2583                 0x03, 
2584                 Zero, 
2585                 0x15
2586             }
2587         })
2588         Name (PRSA, ResourceTemplate ()
2589         {
2590             IRQ (Level, ActiveLow, Shared, )
2591                 {3,4,5,6,10,11,12,14,15}
2592         })
2593         Alias (PRSA, PRSB)
2594         Alias (PRSA, PRSC)
2595         Alias (PRSA, PRSD)
2596         Alias (PRSA, PRSE)
2597         Alias (PRSA, PRSF)
2598         Alias (PRSA, PRSG)
2599         Alias (PRSA, PRSH)
2600         Device (PCI0)
2601         {
2602             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
2603             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
2604             Name (_ADR, Zero)  // _ADR: Address
2605             Method (^BN00, 0, NotSerialized)
2606             {
2607                 Return (Zero)
2608             }
2609 
2610             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
2611             {
2612                 Return (BN00 ())
2613             }
2614 
2615             Name (_UID, Zero)  // _UID: Unique ID
2616             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2617             {
2618                 If (PICM)
2619                 {
2620                     Return (AR00 ())
2621                 }
2622 
2623                 Return (PR00 ())
2624             }
2625 
2626             OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
2627             Field (HBUS, DWordAcc, NoLock, Preserve)
2628             {
2629                 Offset (0x40), 
2630                 EPEN,   1, 
2631                     ,   11, 
2632                 EPBR,   20, 
2633                 Offset (0x48), 
2634                 MHEN,   1, 
2635                     ,   14, 
2636                 MHBR,   17, 
2637                 Offset (0x50), 
2638                 GCLK,   1, 
2639                 Offset (0x54), 
2640                 D0EN,   1, 
2641                 D1F2,   1, 
2642                 D1F1,   1, 
2643                 D1F0,   1, 
2644                 Offset (0x60), 
2645                 PXEN,   1, 
2646                 PXSZ,   2, 
2647                     ,   23, 
2648                 PXBR,   6, 
2649                 Offset (0x68), 
2650                 DIEN,   1, 
2651                     ,   11, 
2652                 DIBR,   20, 
2653                 Offset (0x70), 
2654                     ,   20, 
2655                 MEBR,   12, 
2656                 Offset (0x80), 
2657                     ,   4, 
2658                 PM0H,   2, 
2659                 Offset (0x81), 
2660                 PM1L,   2, 
2661                     ,   2, 
2662                 PM1H,   2, 
2663                 Offset (0x82), 
2664                 PM2L,   2, 
2665                     ,   2, 
2666                 PM2H,   2, 
2667                 Offset (0x83), 
2668                 PM3L,   2, 
2669                     ,   2, 
2670                 PM3H,   2, 
2671                 Offset (0x84), 
2672                 PM4L,   2, 
2673                     ,   2, 
2674                 PM4H,   2, 
2675                 Offset (0x85), 
2676                 PM5L,   2, 
2677                     ,   2, 
2678                 PM5H,   2, 
2679                 Offset (0x86), 
2680                 PM6L,   2, 
2681                     ,   2, 
2682                 PM6H,   2, 
2683                 Offset (0x87), 
2684                 Offset (0xA8), 
2685                     ,   20, 
2686                 TUUD,   19, 
2687                 Offset (0xBC), 
2688                     ,   20, 
2689                 TLUD,   12, 
2690                 Offset (0xC8), 
2691                     ,   7, 
2692                 HTSE,   1
2693             }
2694 
2695             OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
2696             Name (BUF0, ResourceTemplate ()
2697             {
2698                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2699                     0x0000,             // Granularity
2700                     0x0000,             // Range Minimum
2701                     0x00FF,             // Range Maximum
2702                     0x0000,             // Translation Offset
2703                     0x0100,             // Length
2704                     ,, _Y00)
2705                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2706                     0x00000000,         // Granularity
2707                     0x00000000,         // Range Minimum
2708                     0x00000CF7,         // Range Maximum
2709                     0x00000000,         // Translation Offset
2710                     0x00000CF8,         // Length
2711                     ,, , TypeStatic)
2712                 IO (Decode16,
2713                     0x0CF8,             // Range Minimum
2714                     0x0CF8,             // Range Maximum
2715                     0x01,               // Alignment
2716                     0x08,               // Length
2717                     )
2718                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2719                     0x00000000,         // Granularity
2720                     0x00000D00,         // Range Minimum
2721                     0x0000FFFF,         // Range Maximum
2722                     0x00000000,         // Translation Offset
2723                     0x0000F300,         // Length
2724                     ,, , TypeStatic)
2725                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2726                     0x00000000,         // Granularity
2727                     0x000A0000,         // Range Minimum
2728                     0x000BFFFF,         // Range Maximum
2729                     0x00000000,         // Translation Offset
2730                     0x00020000,         // Length
2731                     ,, , AddressRangeMemory, TypeStatic)
2732                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2733                     0x00000000,         // Granularity
2734                     0x000C0000,         // Range Minimum
2735                     0x000C3FFF,         // Range Maximum
2736                     0x00000000,         // Translation Offset
2737                     0x00004000,         // Length
2738                     ,, _Y01, AddressRangeMemory, TypeStatic)
2739                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2740                     0x00000000,         // Granularity
2741                     0x000C4000,         // Range Minimum
2742                     0x000C7FFF,         // Range Maximum
2743                     0x00000000,         // Translation Offset
2744                     0x00004000,         // Length
2745                     ,, _Y02, AddressRangeMemory, TypeStatic)
2746                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2747                     0x00000000,         // Granularity
2748                     0x000C8000,         // Range Minimum
2749                     0x000CBFFF,         // Range Maximum
2750                     0x00000000,         // Translation Offset
2751                     0x00004000,         // Length
2752                     ,, _Y03, AddressRangeMemory, TypeStatic)
2753                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2754                     0x00000000,         // Granularity
2755                     0x000CC000,         // Range Minimum
2756                     0x000CFFFF,         // Range Maximum
2757                     0x00000000,         // Translation Offset
2758                     0x00004000,         // Length
2759                     ,, _Y04, AddressRangeMemory, TypeStatic)
2760                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2761                     0x00000000,         // Granularity
2762                     0x000D0000,         // Range Minimum
2763                     0x000D3FFF,         // Range Maximum
2764                     0x00000000,         // Translation Offset
2765                     0x00004000,         // Length
2766                     ,, _Y05, AddressRangeMemory, TypeStatic)
2767                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2768                     0x00000000,         // Granularity
2769                     0x000D4000,         // Range Minimum
2770                     0x000D7FFF,         // Range Maximum
2771                     0x00000000,         // Translation Offset
2772                     0x00004000,         // Length
2773                     ,, _Y06, AddressRangeMemory, TypeStatic)
2774                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2775                     0x00000000,         // Granularity
2776                     0x000D8000,         // Range Minimum
2777                     0x000DBFFF,         // Range Maximum
2778                     0x00000000,         // Translation Offset
2779                     0x00004000,         // Length
2780                     ,, _Y07, AddressRangeMemory, TypeStatic)
2781                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2782                     0x00000000,         // Granularity
2783                     0x000DC000,         // Range Minimum
2784                     0x000DFFFF,         // Range Maximum
2785                     0x00000000,         // Translation Offset
2786                     0x00004000,         // Length
2787                     ,, _Y08, AddressRangeMemory, TypeStatic)
2788                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2789                     0x00000000,         // Granularity
2790                     0x000E0000,         // Range Minimum
2791                     0x000E3FFF,         // Range Maximum
2792                     0x00000000,         // Translation Offset
2793                     0x00004000,         // Length
2794                     ,, _Y09, AddressRangeMemory, TypeStatic)
2795                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2796                     0x00000000,         // Granularity
2797                     0x000E4000,         // Range Minimum
2798                     0x000E7FFF,         // Range Maximum
2799                     0x00000000,         // Translation Offset
2800                     0x00004000,         // Length
2801                     ,, _Y0A, AddressRangeMemory, TypeStatic)
2802                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2803                     0x00000000,         // Granularity
2804                     0x000E8000,         // Range Minimum
2805                     0x000EBFFF,         // Range Maximum
2806                     0x00000000,         // Translation Offset
2807                     0x00004000,         // Length
2808                     ,, _Y0B, AddressRangeMemory, TypeStatic)
2809                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2810                     0x00000000,         // Granularity
2811                     0x000EC000,         // Range Minimum
2812                     0x000EFFFF,         // Range Maximum
2813                     0x00000000,         // Translation Offset
2814                     0x00004000,         // Length
2815                     ,, _Y0C, AddressRangeMemory, TypeStatic)
2816                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2817                     0x00000000,         // Granularity
2818                     0x000F0000,         // Range Minimum
2819                     0x000FFFFF,         // Range Maximum
2820                     0x00000000,         // Translation Offset
2821                     0x00010000,         // Length
2822                     ,, _Y0D, AddressRangeMemory, TypeStatic)
2823                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2824                     0x00000000,         // Granularity
2825                     0x00000000,         // Range Minimum
2826                     0xFEAFFFFF,         // Range Maximum
2827                     0x00000000,         // Translation Offset
2828                     0xFEB00000,         // Length
2829                     ,, _Y0E, AddressRangeMemory, TypeStatic)
2830             })
2831             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2832             {
2833                 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
2834                 PBMX = ((PELN >> 0x14) - 0x02)
2835                 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN)  // _LEN: Length
2836                 PBLN = ((PELN >> 0x14) - One)
2837                 If (PM1L)
2838                 {
2839                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN)  // _LEN: Length
2840                     C0LN = Zero
2841                 }
2842 
2843                 If ((PM1L == One))
2844                 {
2845                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW)  // _RW_: Read-Write Status
2846                     C0RW = Zero
2847                 }
2848 
2849                 If (PM1H)
2850                 {
2851                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN)  // _LEN: Length
2852                     C4LN = Zero
2853                 }
2854 
2855                 If ((PM1H == One))
2856                 {
2857                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW)  // _RW_: Read-Write Status
2858                     C4RW = Zero
2859                 }
2860 
2861                 If (PM2L)
2862                 {
2863                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN)  // _LEN: Length
2864                     C8LN = Zero
2865                 }
2866 
2867                 If ((PM2L == One))
2868                 {
2869                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW)  // _RW_: Read-Write Status
2870                     C8RW = Zero
2871                 }
2872 
2873                 If (PM2H)
2874                 {
2875                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN)  // _LEN: Length
2876                     CCLN = Zero
2877                 }
2878 
2879                 If ((PM2H == One))
2880                 {
2881                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW)  // _RW_: Read-Write Status
2882                     CCRW = Zero
2883                 }
2884 
2885                 If (PM3L)
2886                 {
2887                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN)  // _LEN: Length
2888                     D0LN = Zero
2889                 }
2890 
2891                 If ((PM3L == One))
2892                 {
2893                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW)  // _RW_: Read-Write Status
2894                     D0RW = Zero
2895                 }
2896 
2897                 If (PM3H)
2898                 {
2899                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN)  // _LEN: Length
2900                     D4LN = Zero
2901                 }
2902 
2903                 If ((PM3H == One))
2904                 {
2905                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW)  // _RW_: Read-Write Status
2906                     D4RW = Zero
2907                 }
2908 
2909                 If (PM4L)
2910                 {
2911                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN)  // _LEN: Length
2912                     D8LN = Zero
2913                 }
2914 
2915                 If ((PM4L == One))
2916                 {
2917                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW)  // _RW_: Read-Write Status
2918                     D8RW = Zero
2919                 }
2920 
2921                 If (PM4H)
2922                 {
2923                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN)  // _LEN: Length
2924                     DCLN = Zero
2925                 }
2926 
2927                 If ((PM4H == One))
2928                 {
2929                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW)  // _RW_: Read-Write Status
2930                     DCRW = Zero
2931                 }
2932 
2933                 If (PM5L)
2934                 {
2935                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN)  // _LEN: Length
2936                     E0LN = Zero
2937                 }
2938 
2939                 If ((PM5L == One))
2940                 {
2941                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW)  // _RW_: Read-Write Status
2942                     E0RW = Zero
2943                 }
2944 
2945                 If (PM5H)
2946                 {
2947                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN)  // _LEN: Length
2948                     E4LN = Zero
2949                 }
2950 
2951                 If ((PM5H == One))
2952                 {
2953                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW)  // _RW_: Read-Write Status
2954                     E4RW = Zero
2955                 }
2956 
2957                 If (PM6L)
2958                 {
2959                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN)  // _LEN: Length
2960                     E8LN = Zero
2961                 }
2962 
2963                 If ((PM6L == One))
2964                 {
2965                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW)  // _RW_: Read-Write Status
2966                     E8RW = Zero
2967                 }
2968 
2969                 If (PM6H)
2970                 {
2971                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN)  // _LEN: Length
2972                     ECLN = Zero
2973                 }
2974 
2975                 If ((PM6H == One))
2976                 {
2977                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
2978                     ECRW = Zero
2979                 }
2980 
2981                 If (PM0H)
2982                 {
2983                     CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
2984                     F0LN = Zero
2985                 }
2986 
2987                 If ((PM0H == One))
2988                 {
2989                     CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW)  // _RW_: Read-Write Status
2990                     F0RW = Zero
2991                 }
2992 
2993                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)  // _MIN: Minimum Base Address
2994                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)  // _MAX: Maximum Base Address
2995                 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)  // _LEN: Length
2996                 M1MN = (TLUD << 0x14)
2997                 M1LN = ((M1MX - M1MN) + One)
2998                 Return (BUF0) /* \_SB_.PCI0.BUF0 */
2999             }
3000 
3001             Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
3002             Name (SUPP, Zero)
3003             Name (CTRL, Zero)
3004             Name (XCNT, Zero)
3005             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
3006             {
3007                 Local0 = Arg3
3008                 CreateDWordField (Local0, Zero, CDW1)
3009                 CreateDWordField (Local0, 0x04, CDW2)
3010                 CreateDWordField (Local0, 0x08, CDW3)
3011                 If (^XHC.CUID (Arg0))
3012                 {
3013                     Return (^XHC.POSC (Arg1, Arg2, Arg3))
3014                 }
3015                 Else
3016                 {
3017                     If ((OSYS >= 0x07DC))
3018                     {
3019                         If ((XCNT == Zero))
3020                         {
3021                             ^XHC.XSEL ()
3022                             XCNT++
3023                         }
3024                     }
3025                 }
3026 
3027                 If (((Arg0 == GUID) && NEXP))
3028                 {
3029                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
3030                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
3031                     If (~(CDW1 & One))
3032                     {
3033                         If ((CTRL & One))
3034                         {
3035                             NHPG ()
3036                         }
3037 
3038                         If ((CTRL & 0x04))
3039                         {
3040                             NPME ()
3041                         }
3042                     }
3043 
3044                     If ((Arg1 != One))
3045                     {
3046                         CDW1 |= 0x08
3047                     }
3048 
3049                     If ((CDW3 != CTRL))
3050                     {
3051                         CDW1 |= 0x10
3052                     }
3053 
3054                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
3055                     OSCC = CTRL /* \_SB_.PCI0.CTRL */
3056                     Return (Local0)
3057                 }
3058                 Else
3059                 {
3060                     CDW1 |= 0x04
3061                     Return (Local0)
3062                 }
3063             }
3064 
3065             Scope (\_SB.PCI0)
3066             {
3067                 Method (AR00, 0, NotSerialized)
3068                 {
3069                     Return (^^AR00) /* \_SB_.AR00 */
3070                 }
3071 
3072                 Method (PR00, 0, NotSerialized)
3073                 {
3074                     Return (^^PR00) /* \_SB_.PR00 */
3075                 }
3076 
3077                 Method (AR01, 0, NotSerialized)
3078                 {
3079                     Return (^^AR01) /* \_SB_.AR01 */
3080                 }
3081 
3082                 Method (PR01, 0, NotSerialized)
3083                 {
3084                     Return (^^PR01) /* \_SB_.PR01 */
3085                 }
3086 
3087                 Method (AR02, 0, NotSerialized)
3088                 {
3089                     Return (^^AR02) /* \_SB_.AR02 */
3090                 }
3091 
3092                 Method (PR02, 0, NotSerialized)
3093                 {
3094                     Return (^^PR02) /* \_SB_.PR02 */
3095                 }
3096 
3097                 Method (AR04, 0, NotSerialized)
3098                 {
3099                     Return (^^AR04) /* \_SB_.AR04 */
3100                 }
3101 
3102                 Method (PR04, 0, NotSerialized)
3103                 {
3104                     Return (^^PR04) /* \_SB_.PR04 */
3105                 }
3106 
3107                 Method (AR05, 0, NotSerialized)
3108                 {
3109                     Return (^^AR05) /* \_SB_.AR05 */
3110                 }
3111 
3112                 Method (PR05, 0, NotSerialized)
3113                 {
3114                     Return (^^PR05) /* \_SB_.PR05 */
3115                 }
3116 
3117                 Method (AR06, 0, NotSerialized)
3118                 {
3119                     Return (^^AR06) /* \_SB_.AR06 */
3120                 }
3121 
3122                 Method (PR06, 0, NotSerialized)
3123                 {
3124                     Return (^^PR06) /* \_SB_.PR06 */
3125                 }
3126 
3127                 Method (AR07, 0, NotSerialized)
3128                 {
3129                     Return (^^AR07) /* \_SB_.AR07 */
3130                 }
3131 
3132                 Method (PR07, 0, NotSerialized)
3133                 {
3134                     Return (^^PR07) /* \_SB_.PR07 */
3135                 }
3136 
3137                 Method (AR08, 0, NotSerialized)
3138                 {
3139                     Return (^^AR08) /* \_SB_.AR08 */
3140                 }
3141 
3142                 Method (PR08, 0, NotSerialized)
3143                 {
3144                     Return (^^PR08) /* \_SB_.PR08 */
3145                 }
3146 
3147                 Method (AR09, 0, NotSerialized)
3148                 {
3149                     Return (^^AR09) /* \_SB_.AR09 */
3150                 }
3151 
3152                 Method (PR09, 0, NotSerialized)
3153                 {
3154                     Return (^^PR09) /* \_SB_.PR09 */
3155                 }
3156 
3157                 Method (AR0A, 0, NotSerialized)
3158                 {
3159                     Return (^^AR0A) /* \_SB_.AR0A */
3160                 }
3161 
3162                 Method (PR0A, 0, NotSerialized)
3163                 {
3164                     Return (^^PR0A) /* \_SB_.PR0A */
3165                 }
3166 
3167                 Method (AR0B, 0, NotSerialized)
3168                 {
3169                     Return (^^AR0B) /* \_SB_.AR0B */
3170                 }
3171 
3172                 Method (PR0B, 0, NotSerialized)
3173                 {
3174                     Return (^^PR0B) /* \_SB_.PR0B */
3175                 }
3176             }
3177 
3178             Device (P0P1)
3179             {
3180                 Name (_ADR, 0x001E0000)  // _ADR: Address
3181                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
3182                 {
3183                     Return (GPRW (0x6B, 0x04))
3184                 }
3185 
3186                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3187                 {
3188                     If (PICM)
3189                     {
3190                         Return (AR01 ())
3191                     }
3192 
3193                     Return (PR01 ())
3194                 }
3195             }
3196 
3197             Device (LPCB)
3198             {
3199                 Name (_ADR, 0x001F0000)  // _ADR: Address
3200                 Scope (\_SB)
3201                 {
3202                     OperationRegion (PCI0.LPCB.LPC1, PCI_Config, Zero, 0x0100)
3203                     Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
3204                     {
3205                         Offset (0x02), 
3206                         CDID,   16, 
3207                         Offset (0x08), 
3208                         CRID,   8, 
3209                         Offset (0x60), 
3210                         PARC,   8, 
3211                         PBRC,   8, 
3212                         PCRC,   8, 
3213                         PDRC,   8, 
3214                         Offset (0x68), 
3215                         PERC,   8, 
3216                         PFRC,   8, 
3217                         PGRC,   8, 
3218                         PHRC,   8, 
3219                         Offset (0xAC), 
3220                         Offset (0xAD), 
3221                         Offset (0xAE), 
3222                         XUSB,   1
3223                     }
3224 
3225                     Device (LNKA)
3226                     {
3227                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3228                         Name (_UID, One)  // _UID: Unique ID
3229                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3230                         {
3231                             PARC |= 0x80
3232                         }
3233 
3234                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3235                         {
3236                             Return (PRSA) /* \_SB_.PRSA */
3237                         }
3238 
3239                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3240                         {
3241                             Name (RTLA, ResourceTemplate ()
3242                             {
3243                                 IRQ (Level, ActiveLow, Shared, )
3244                                     {}
3245                             })
3246                             CreateWordField (RTLA, One, IRQ0)
3247                             IRQ0 = Zero
3248                             IRQ0 = (One << (PARC & 0x0F))
3249                             Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
3250                         }
3251 
3252                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3253                         {
3254                             CreateWordField (Arg0, One, IRQ0)
3255                             FindSetRightBit (IRQ0, Local0)
3256                             Local0--
3257                             PARC = Local0
3258                         }
3259 
3260                         Method (_STA, 0, Serialized)  // _STA: Status
3261                         {
3262                             If ((PARC & 0x80))
3263                             {
3264                                 Return (0x09)
3265                             }
3266                             Else
3267                             {
3268                                 Return (0x0B)
3269                             }
3270                         }
3271                     }
3272 
3273                     Device (LNKB)
3274                     {
3275                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3276                         Name (_UID, 0x02)  // _UID: Unique ID
3277                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3278                         {
3279                             PBRC |= 0x80
3280                         }
3281 
3282                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3283                         {
3284                             Return (PRSB) /* \_SB_.PRSB */
3285                         }
3286 
3287                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3288                         {
3289                             Name (RTLB, ResourceTemplate ()
3290                             {
3291                                 IRQ (Level, ActiveLow, Shared, )
3292                                     {}
3293                             })
3294                             CreateWordField (RTLB, One, IRQ0)
3295                             IRQ0 = Zero
3296                             IRQ0 = (One << (PBRC & 0x0F))
3297                             Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
3298                         }
3299 
3300                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3301                         {
3302                             CreateWordField (Arg0, One, IRQ0)
3303                             FindSetRightBit (IRQ0, Local0)
3304                             Local0--
3305                             PBRC = Local0
3306                         }
3307 
3308                         Method (_STA, 0, Serialized)  // _STA: Status
3309                         {
3310                             If ((PBRC & 0x80))
3311                             {
3312                                 Return (0x09)
3313                             }
3314                             Else
3315                             {
3316                                 Return (0x0B)
3317                             }
3318                         }
3319                     }
3320 
3321                     Device (LNKC)
3322                     {
3323                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3324                         Name (_UID, 0x03)  // _UID: Unique ID
3325                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3326                         {
3327                             PCRC |= 0x80
3328                         }
3329 
3330                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3331                         {
3332                             Return (PRSC) /* \_SB_.PRSC */
3333                         }
3334 
3335                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3336                         {
3337                             Name (RTLC, ResourceTemplate ()
3338                             {
3339                                 IRQ (Level, ActiveLow, Shared, )
3340                                     {}
3341                             })
3342                             CreateWordField (RTLC, One, IRQ0)
3343                             IRQ0 = Zero
3344                             IRQ0 = (One << (PCRC & 0x0F))
3345                             Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
3346                         }
3347 
3348                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3349                         {
3350                             CreateWordField (Arg0, One, IRQ0)
3351                             FindSetRightBit (IRQ0, Local0)
3352                             Local0--
3353                             PCRC = Local0
3354                         }
3355 
3356                         Method (_STA, 0, Serialized)  // _STA: Status
3357                         {
3358                             If ((PCRC & 0x80))
3359                             {
3360                                 Return (0x09)
3361                             }
3362                             Else
3363                             {
3364                                 Return (0x0B)
3365                             }
3366                         }
3367                     }
3368 
3369                     Device (LNKD)
3370                     {
3371                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3372                         Name (_UID, 0x04)  // _UID: Unique ID
3373                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3374                         {
3375                             PDRC |= 0x80
3376                         }
3377 
3378                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3379                         {
3380                             Return (PRSD) /* \_SB_.PRSD */
3381                         }
3382 
3383                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3384                         {
3385                             Name (RTLD, ResourceTemplate ()
3386                             {
3387                                 IRQ (Level, ActiveLow, Shared, )
3388                                     {}
3389                             })
3390                             CreateWordField (RTLD, One, IRQ0)
3391                             IRQ0 = Zero
3392                             IRQ0 = (One << (PDRC & 0x0F))
3393                             Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
3394                         }
3395 
3396                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3397                         {
3398                             CreateWordField (Arg0, One, IRQ0)
3399                             FindSetRightBit (IRQ0, Local0)
3400                             Local0--
3401                             PDRC = Local0
3402                         }
3403 
3404                         Method (_STA, 0, Serialized)  // _STA: Status
3405                         {
3406                             If ((PDRC & 0x80))
3407                             {
3408                                 Return (0x09)
3409                             }
3410                             Else
3411                             {
3412                                 Return (0x0B)
3413                             }
3414                         }
3415                     }
3416 
3417                     Device (LNKE)
3418                     {
3419                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3420                         Name (_UID, 0x05)  // _UID: Unique ID
3421                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3422                         {
3423                             PERC |= 0x80
3424                         }
3425 
3426                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3427                         {
3428                             Return (PRSE) /* \_SB_.PRSE */
3429                         }
3430 
3431                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3432                         {
3433                             Name (RTLE, ResourceTemplate ()
3434                             {
3435                                 IRQ (Level, ActiveLow, Shared, )
3436                                     {}
3437                             })
3438                             CreateWordField (RTLE, One, IRQ0)
3439                             IRQ0 = Zero
3440                             IRQ0 = (One << (PERC & 0x0F))
3441                             Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
3442                         }
3443 
3444                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3445                         {
3446                             CreateWordField (Arg0, One, IRQ0)
3447                             FindSetRightBit (IRQ0, Local0)
3448                             Local0--
3449                             PERC = Local0
3450                         }
3451 
3452                         Method (_STA, 0, Serialized)  // _STA: Status
3453                         {
3454                             If ((PERC & 0x80))
3455                             {
3456                                 Return (0x09)
3457                             }
3458                             Else
3459                             {
3460                                 Return (0x0B)
3461                             }
3462                         }
3463                     }
3464 
3465                     Device (LNKF)
3466                     {
3467                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3468                         Name (_UID, 0x06)  // _UID: Unique ID
3469                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3470                         {
3471                             PFRC |= 0x80
3472                         }
3473 
3474                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3475                         {
3476                             Return (PRSF) /* \_SB_.PRSF */
3477                         }
3478 
3479                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3480                         {
3481                             Name (RTLF, ResourceTemplate ()
3482                             {
3483                                 IRQ (Level, ActiveLow, Shared, )
3484                                     {}
3485                             })
3486                             CreateWordField (RTLF, One, IRQ0)
3487                             IRQ0 = Zero
3488                             IRQ0 = (One << (PFRC & 0x0F))
3489                             Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
3490                         }
3491 
3492                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3493                         {
3494                             CreateWordField (Arg0, One, IRQ0)
3495                             FindSetRightBit (IRQ0, Local0)
3496                             Local0--
3497                             PFRC = Local0
3498                         }
3499 
3500                         Method (_STA, 0, Serialized)  // _STA: Status
3501                         {
3502                             If ((PFRC & 0x80))
3503                             {
3504                                 Return (0x09)
3505                             }
3506                             Else
3507                             {
3508                                 Return (0x0B)
3509                             }
3510                         }
3511                     }
3512 
3513                     Device (LNKG)
3514                     {
3515                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3516                         Name (_UID, 0x07)  // _UID: Unique ID
3517                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3518                         {
3519                             PGRC |= 0x80
3520                         }
3521 
3522                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3523                         {
3524                             Return (PRSG) /* \_SB_.PRSG */
3525                         }
3526 
3527                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3528                         {
3529                             Name (RTLG, ResourceTemplate ()
3530                             {
3531                                 IRQ (Level, ActiveLow, Shared, )
3532                                     {}
3533                             })
3534                             CreateWordField (RTLG, One, IRQ0)
3535                             IRQ0 = Zero
3536                             IRQ0 = (One << (PGRC & 0x0F))
3537                             Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
3538                         }
3539 
3540                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3541                         {
3542                             CreateWordField (Arg0, One, IRQ0)
3543                             FindSetRightBit (IRQ0, Local0)
3544                             Local0--
3545                             PGRC = Local0
3546                         }
3547 
3548                         Method (_STA, 0, Serialized)  // _STA: Status
3549                         {
3550                             If ((PGRC & 0x80))
3551                             {
3552                                 Return (0x09)
3553                             }
3554                             Else
3555                             {
3556                                 Return (0x0B)
3557                             }
3558                         }
3559                     }
3560 
3561                     Device (LNKH)
3562                     {
3563                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
3564                         Name (_UID, 0x08)  // _UID: Unique ID
3565                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
3566                         {
3567                             PHRC |= 0x80
3568                         }
3569 
3570                         Method (_PRS, 0, Serialized)  // _PRS: Possible Resource Settings
3571                         {
3572                             Return (PRSH) /* \_SB_.PRSH */
3573                         }
3574 
3575                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3576                         {
3577                             Name (RTLH, ResourceTemplate ()
3578                             {
3579                                 IRQ (Level, ActiveLow, Shared, )
3580                                     {}
3581                             })
3582                             CreateWordField (RTLH, One, IRQ0)
3583                             IRQ0 = Zero
3584                             IRQ0 = (One << (PHRC & 0x0F))
3585                             Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
3586                         }
3587 
3588                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
3589                         {
3590                             CreateWordField (Arg0, One, IRQ0)
3591                             FindSetRightBit (IRQ0, Local0)
3592                             Local0--
3593                             PHRC = Local0
3594                         }
3595 
3596                         Method (_STA, 0, Serialized)  // _STA: Status
3597                         {
3598                             If ((PHRC & 0x80))
3599                             {
3600                                 Return (0x09)
3601                             }
3602                             Else
3603                             {
3604                                 Return (0x0B)
3605                             }
3606                         }
3607                     }
3608 
3609                     Device (PWRB)
3610                     {
3611                         Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
3612                     }
3613                 }
3614 
3615                 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
3616                 Field (LPC0, AnyAcc, NoLock, Preserve)
3617                 {
3618                     Offset (0x40), 
3619                     IOD0,   8, 
3620                     IOD1,   8, 
3621                     Offset (0x78), 
3622                         ,   6, 
3623                     GR03,   2, 
3624                     Offset (0x7A), 
3625                     GR08,   2, 
3626                     GR09,   2, 
3627                     GR0A,   2, 
3628                     GR0B,   2, 
3629                     Offset (0x7C), 
3630                         ,   2, 
3631                     GR19,   2, 
3632                     Offset (0x80), 
3633                     Offset (0xB0), 
3634                     RAEN,   1, 
3635                         ,   13, 
3636                     RCBA,   18
3637                 }
3638 
3639                 Device (DMAC)
3640                 {
3641                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
3642                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3643                     {
3644                         IO (Decode16,
3645                             0x0000,             // Range Minimum
3646                             0x0000,             // Range Maximum
3647                             0x01,               // Alignment
3648                             0x20,               // Length
3649                             )
3650                         IO (Decode16,
3651                             0x0081,             // Range Minimum
3652                             0x0081,             // Range Maximum
3653                             0x01,               // Alignment
3654                             0x11,               // Length
3655                             )
3656                         IO (Decode16,
3657                             0x0093,             // Range Minimum
3658                             0x0093,             // Range Maximum
3659                             0x01,               // Alignment
3660                             0x0D,               // Length
3661                             )
3662                         IO (Decode16,
3663                             0x00C0,             // Range Minimum
3664                             0x00C0,             // Range Maximum
3665                             0x01,               // Alignment
3666                             0x20,               // Length
3667                             )
3668                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
3669                             {4}
3670                     })
3671                 }
3672 
3673                 Device (FWHD)
3674                 {
3675                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
3676                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3677                     {
3678                         Memory32Fixed (ReadOnly,
3679                             0xFF000000,         // Address Base
3680                             0x01000000,         // Address Length
3681                             )
3682                     })
3683                 }
3684 
3685                 Device (HPET)
3686                 {
3687                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
3688                     Name (_UID, Zero)  // _UID: Unique ID
3689                     Name (BUF0, ResourceTemplate ()
3690                     {
3691                         Memory32Fixed (ReadWrite,
3692                             0xFED00000,         // Address Base
3693                             0x00000400,         // Address Length
3694                             _Y0F)
3695                     })
3696                     Method (_STA, 0, NotSerialized)  // _STA: Status
3697                     {
3698                         If ((OSYS >= 0x07D1))
3699                         {
3700                             If (HPAE)
3701                             {
3702                                 Return (0x0F)
3703                             }
3704                         }
3705                         Else
3706                         {
3707                             If (HPAE)
3708                             {
3709                                 Return (0x0B)
3710                             }
3711                         }
3712 
3713                         Return (Zero)
3714                     }
3715 
3716                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3717                     {
3718                         If (HPAE)
3719                         {
3720                             CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y0F._BAS, HPT0)  // _BAS: Base Address
3721                             If ((HPAS == One))
3722                             {
3723                                 HPT0 = 0xFED01000
3724                             }
3725 
3726                             If ((HPAS == 0x02))
3727                             {
3728                                 HPT0 = 0xFED02000
3729                             }
3730 
3731                             If ((HPAS == 0x03))
3732                             {
3733                                 HPT0 = 0xFED03000
3734                             }
3735                         }
3736 
3737                         Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
3738                     }
3739                 }
3740 
3741                 Device (IPIC)
3742                 {
3743                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
3744                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3745                     {
3746                         IO (Decode16,
3747                             0x0020,             // Range Minimum
3748                             0x0020,             // Range Maximum
3749                             0x01,               // Alignment
3750                             0x02,               // Length
3751                             )
3752                         IO (Decode16,
3753                             0x0024,             // Range Minimum
3754                             0x0024,             // Range Maximum
3755                             0x01,               // Alignment
3756                             0x02,               // Length
3757                             )
3758                         IO (Decode16,
3759                             0x0028,             // Range Minimum
3760                             0x0028,             // Range Maximum
3761                             0x01,               // Alignment
3762                             0x02,               // Length
3763                             )
3764                         IO (Decode16,
3765                             0x002C,             // Range Minimum
3766                             0x002C,             // Range Maximum
3767                             0x01,               // Alignment
3768                             0x02,               // Length
3769                             )
3770                         IO (Decode16,
3771                             0x0030,             // Range Minimum
3772                             0x0030,             // Range Maximum
3773                             0x01,               // Alignment
3774                             0x02,               // Length
3775                             )
3776                         IO (Decode16,
3777                             0x0034,             // Range Minimum
3778                             0x0034,             // Range Maximum
3779                             0x01,               // Alignment
3780                             0x02,               // Length
3781                             )
3782                         IO (Decode16,
3783                             0x0038,             // Range Minimum
3784                             0x0038,             // Range Maximum
3785                             0x01,               // Alignment
3786                             0x02,               // Length
3787                             )
3788                         IO (Decode16,
3789                             0x003C,             // Range Minimum
3790                             0x003C,             // Range Maximum
3791                             0x01,               // Alignment
3792                             0x02,               // Length
3793                             )
3794                         IO (Decode16,
3795                             0x00A0,             // Range Minimum
3796                             0x00A0,             // Range Maximum
3797                             0x01,               // Alignment
3798                             0x02,               // Length
3799                             )
3800                         IO (Decode16,
3801                             0x00A4,             // Range Minimum
3802                             0x00A4,             // Range Maximum
3803                             0x01,               // Alignment
3804                             0x02,               // Length
3805                             )
3806                         IO (Decode16,
3807                             0x00A8,             // Range Minimum
3808                             0x00A8,             // Range Maximum
3809                             0x01,               // Alignment
3810                             0x02,               // Length
3811                             )
3812                         IO (Decode16,
3813                             0x00AC,             // Range Minimum
3814                             0x00AC,             // Range Maximum
3815                             0x01,               // Alignment
3816                             0x02,               // Length
3817                             )
3818                         IO (Decode16,
3819                             0x00B0,             // Range Minimum
3820                             0x00B0,             // Range Maximum
3821                             0x01,               // Alignment
3822                             0x02,               // Length
3823                             )
3824                         IO (Decode16,
3825                             0x00B4,             // Range Minimum
3826                             0x00B4,             // Range Maximum
3827                             0x01,               // Alignment
3828                             0x02,               // Length
3829                             )
3830                         IO (Decode16,
3831                             0x00B8,             // Range Minimum
3832                             0x00B8,             // Range Maximum
3833                             0x01,               // Alignment
3834                             0x02,               // Length
3835                             )
3836                         IO (Decode16,
3837                             0x00BC,             // Range Minimum
3838                             0x00BC,             // Range Maximum
3839                             0x01,               // Alignment
3840                             0x02,               // Length
3841                             )
3842                         IO (Decode16,
3843                             0x04D0,             // Range Minimum
3844                             0x04D0,             // Range Maximum
3845                             0x01,               // Alignment
3846                             0x02,               // Length
3847                             )
3848                         IRQNoFlags ()
3849                             {2}
3850                     })
3851                 }
3852 
3853                 Device (LDRC)
3854                 {
3855                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3856                     Name (_UID, 0x02)  // _UID: Unique ID
3857                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3858                     {
3859                         IO (Decode16,
3860                             0x002E,             // Range Minimum
3861                             0x002E,             // Range Maximum
3862                             0x01,               // Alignment
3863                             0x02,               // Length
3864                             )
3865                         IO (Decode16,
3866                             0x004E,             // Range Minimum
3867                             0x004E,             // Range Maximum
3868                             0x01,               // Alignment
3869                             0x02,               // Length
3870                             )
3871                         IO (Decode16,
3872                             0x0061,             // Range Minimum
3873                             0x0061,             // Range Maximum
3874                             0x01,               // Alignment
3875                             0x01,               // Length
3876                             )
3877                         IO (Decode16,
3878                             0x0063,             // Range Minimum
3879                             0x0063,             // Range Maximum
3880                             0x01,               // Alignment
3881                             0x01,               // Length
3882                             )
3883                         IO (Decode16,
3884                             0x0065,             // Range Minimum
3885                             0x0065,             // Range Maximum
3886                             0x01,               // Alignment
3887                             0x01,               // Length
3888                             )
3889                         IO (Decode16,
3890                             0x0067,             // Range Minimum
3891                             0x0067,             // Range Maximum
3892                             0x01,               // Alignment
3893                             0x01,               // Length
3894                             )
3895                         IO (Decode16,
3896                             0x0070,             // Range Minimum
3897                             0x0070,             // Range Maximum
3898                             0x01,               // Alignment
3899                             0x01,               // Length
3900                             )
3901                         IO (Decode16,
3902                             0x0080,             // Range Minimum
3903                             0x0080,             // Range Maximum
3904                             0x01,               // Alignment
3905                             0x01,               // Length
3906                             )
3907                         IO (Decode16,
3908                             0x0092,             // Range Minimum
3909                             0x0092,             // Range Maximum
3910                             0x01,               // Alignment
3911                             0x01,               // Length
3912                             )
3913                         IO (Decode16,
3914                             0x00B2,             // Range Minimum
3915                             0x00B2,             // Range Maximum
3916                             0x01,               // Alignment
3917                             0x02,               // Length
3918                             )
3919                         IO (Decode16,
3920                             0x0680,             // Range Minimum
3921                             0x0680,             // Range Maximum
3922                             0x01,               // Alignment
3923                             0x20,               // Length
3924                             )
3925                         IO (Decode16,
3926                             0xFFFF,             // Range Minimum
3927                             0xFFFF,             // Range Maximum
3928                             0x01,               // Alignment
3929                             0x01,               // Length
3930                             )
3931                         IO (Decode16,
3932                             0xFFFF,             // Range Minimum
3933                             0xFFFF,             // Range Maximum
3934                             0x01,               // Alignment
3935                             0x01,               // Length
3936                             )
3937                         IO (Decode16,
3938                             0xFFFF,             // Range Minimum
3939                             0xFFFF,             // Range Maximum
3940                             0x01,               // Alignment
3941                             0x01,               // Length
3942                             )
3943                         IO (Decode16,
3944                             0x1800,             // Range Minimum
3945                             0x1800,             // Range Maximum
3946                             0x01,               // Alignment
3947                             0xFF,               // Length
3948                             )
3949                         IO (Decode16,
3950                             0x164E,             // Range Minimum
3951                             0x164E,             // Range Maximum
3952                             0x01,               // Alignment
3953                             0x02,               // Length
3954                             )
3955                     })
3956                 }
3957 
3958                 Device (LDR2)
3959                 {
3960                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3961                     Name (_UID, 0x05)  // _UID: Unique ID
3962                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3963                     {
3964                         IO (Decode16,
3965                             0x0800,             // Range Minimum
3966                             0x0800,             // Range Maximum
3967                             0x01,               // Alignment
3968                             0x80,               // Length
3969                             )
3970                     })
3971                     Method (_STA, 0, NotSerialized)  // _STA: Status
3972                     {
3973                         If (((CDID & 0xF000) == 0x8000))
3974                         {
3975                             Return (0x0F)
3976                         }
3977                         Else
3978                         {
3979                             Return (Zero)
3980                         }
3981                     }
3982                 }
3983 
3984                 Device (RTC)
3985                 {
3986                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
3987                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3988                     {
3989                         IO (Decode16,
3990                             0x0070,             // Range Minimum
3991                             0x0070,             // Range Maximum
3992                             0x01,               // Alignment
3993                             0x08,               // Length
3994                             )
3995                         IRQNoFlags ()
3996                             {8}
3997                     })
3998                 }
3999 
4000                 Device (TIMR)
4001                 {
4002                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
4003                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4004                     {
4005                         IO (Decode16,
4006                             0x0040,             // Range Minimum
4007                             0x0040,             // Range Maximum
4008                             0x01,               // Alignment
4009                             0x04,               // Length
4010                             )
4011                         IO (Decode16,
4012                             0x0050,             // Range Minimum
4013                             0x0050,             // Range Maximum
4014                             0x10,               // Alignment
4015                             0x04,               // Length
4016                             )
4017                         IRQNoFlags ()
4018                             {0}
4019                     })
4020                 }
4021 
4022                 Device (CWDT)
4023                 {
4024                     Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */)  // _HID: Hardware ID
4025                     Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
4026                     Name (BUF0, ResourceTemplate ()
4027                     {
4028                         IO (Decode16,
4029                             0x1854,             // Range Minimum
4030                             0x1854,             // Range Maximum
4031                             0x04,               // Alignment
4032                             0x04,               // Length
4033                             )
4034                     })
4035                     Method (_STA, 0, Serialized)  // _STA: Status
4036                     {
4037                         If ((WDTE == One))
4038                         {
4039                             Return (0x0F)
4040                         }
4041                         Else
4042                         {
4043                             Return (Zero)
4044                         }
4045                     }
4046 
4047                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4048                     {
4049                         Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
4050                     }
4051                 }
4052 
4053                 Device (EC0)
4054                 {
4055                     Device (HKEY)
4056                     {
4057                         Name (_HID, EisaId ("LEN0068"))  // _HID: Hardware ID
4058                         Method (_STA, 0, NotSerialized)  // _STA: Status
4059                         {
4060                             Return (0x0F)
4061                         }
4062 
4063                         Method (MHKV, 0, NotSerialized)
4064                         {
4065                             Return (0x0100)
4066                         }
4067 
4068                         Name (DHKC, Zero)
4069                         Name (DHKB, One)
4070                         Mutex (XDHK, 0x07)
4071                         Name (DHKH, Zero)
4072                         Name (DHKW, Zero)
4073                         Name (DHKS, Zero)
4074                         Name (DHKD, Zero)
4075                         Name (DHKN, 0x0C018070)
4076                         Name (DHKT, Zero)
4077                         Name (DHWW, Zero)
4078                         Method (MHKA, 0, NotSerialized)
4079                         {
4080                             Return (0xFFFFFFFB)
4081                         }
4082 
4083                         Method (MHKN, 0, NotSerialized)
4084                         {
4085                             Return (DHKN) /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKN */
4086                         }
4087 
4088                         Method (MHKK, 1, NotSerialized)
4089                         {
4090                             If (DHKC)
4091                             {
4092                                 Return ((DHKN & Arg0))
4093                             }
4094                             Else
4095                             {
4096                                 Return (Zero)
4097                             }
4098                         }
4099 
4100                         Method (MHKM, 2, NotSerialized)
4101                         {
4102                             Acquire (XDHK, 0xFFFF)
4103                             If ((Arg0 > 0x20))
4104                             {
4105                                 Noop
4106                             }
4107                             Else
4108                             {
4109                                 Local0 = (One << Arg0--)
4110                                 If ((Local0 & 0xFFFFFFFB))
4111                                 {
4112                                     If (Arg1)
4113                                     {
4114                                         DHKN |= Local0 /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKN */
4115                                     }
4116                                     Else
4117                                     {
4118                                         DHKN &= (Local0 ^ 0xFFFFFFFF)
4119                                     }
4120                                 }
4121                                 Else
4122                                 {
4123                                     Noop
4124                                 }
4125                             }
4126 
4127                             Release (XDHK)
4128                         }
4129 
4130                         Method (MHKC, 1, NotSerialized)
4131                         {
4132                             DHKC = Arg0
4133                         }
4134 
4135                         Method (MHKP, 0, NotSerialized)
4136                         {
4137                             Acquire (XDHK, 0xFFFF)
4138                             If (DHWW)
4139                             {
4140                                 Local1 = DHWW /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHWW */
4141                                 DHWW = Zero
4142                             }
4143                             Else
4144                             {
4145                                 If (DHKW)
4146                                 {
4147                                     Local1 = DHKW /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKW */
4148                                     DHKW = Zero
4149                                 }
4150                                 Else
4151                                 {
4152                                     If (DHKD)
4153                                     {
4154                                         Local1 = DHKD /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKD */
4155                                         DHKD = Zero
4156                                     }
4157                                     Else
4158                                     {
4159                                         If (DHKS)
4160                                         {
4161                                             Local1 = DHKS /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKS */
4162                                             DHKS = Zero
4163                                         }
4164                                         Else
4165                                         {
4166                                             If (DHKT)
4167                                             {
4168                                                 Local1 = DHKT /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKT */
4169                                                 DHKT = Zero
4170                                             }
4171                                             Else
4172                                             {
4173                                                 Local1 = DHKH /* \_SB_.PCI0.LPCB.EC0_.HKEY.DHKH */
4174                                                 DHKH = Zero
4175                                             }
4176                                         }
4177                                     }
4178                                 }
4179                             }
4180 
4181                             Release (XDHK)
4182                             Return (Local1)
4183                         }
4184 
4185                         Method (MHKE, 1, NotSerialized)
4186                         {
4187                             DHKB = Arg0
4188                             Acquire (XDHK, 0xFFFF)
4189                             DHKH = Zero
4190                             DHKW = Zero
4191                             DHKS = Zero
4192                             DHKD = Zero
4193                             DHKT = Zero
4194                             DHWW = Zero
4195                             Release (XDHK)
4196                         }
4197 
4198                         Method (MHKQ, 1, NotSerialized)
4199                         {
4200                             If (DHKB)
4201                             {
4202                                 If (DHKC)
4203                                 {
4204                                     Acquire (XDHK, 0xFFFF)
4205                                     If ((Arg0 < 0x1000)) {}
4206                                     Else
4207                                     {
4208                                         If ((Arg0 < 0x2000))
4209                                         {
4210                                             DHKH = Arg0
4211                                         }
4212                                         Else
4213                                         {
4214                                             If ((Arg0 < 0x3000))
4215                                             {
4216                                                 DHKW = Arg0
4217                                             }
4218                                             Else
4219                                             {
4220                                                 If ((Arg0 < 0x4000))
4221                                                 {
4222                                                     DHKS = Arg0
4223                                                 }
4224                                                 Else
4225                                                 {
4226                                                     If ((Arg0 < 0x5000))
4227                                                     {
4228                                                         DHKD = Arg0
4229                                                     }
4230                                                     Else
4231                                                     {
4232                                                         If ((Arg0 < 0x6000))
4233                                                         {
4234                                                             DHKH = Arg0
4235                                                         }
4236                                                         Else
4237                                                         {
4238                                                             If ((Arg0 < 0x7000))
4239                                                             {
4240                                                                 DHKT = Arg0
4241                                                             }
4242                                                             Else
4243                                                             {
4244                                                                 If ((Arg0 < 0x8000))
4245                                                                 {
4246                                                                     DHWW = Arg0
4247                                                                 }
4248                                                                 Else
4249                                                                 {
4250                                                                 }
4251                                                             }
4252                                                         }
4253                                                     }
4254                                                 }
4255                                             }
4256                                         }
4257                                     }
4258 
4259                                     Release (XDHK)
4260                                     Notify (HKEY, 0x80) // Status Change
4261                                 }
4262                                 Else
4263                                 {
4264                                 }
4265                             }
4266                         }
4267 
4268                         Method (MHKB, 1, NotSerialized)
4269                         {
4270                             If ((Arg0 == Zero))
4271                             {
4272                                 BEEP (0x11)
4273                                 LIDB = Zero
4274                             }
4275                             Else
4276                             {
4277                                 If ((Arg0 == One))
4278                                 {
4279                                     BEEP (0x10)
4280                                     LIDB = One
4281                                 }
4282                                 Else
4283                                 {
4284                                 }
4285                             }
4286                         }
4287 
4288                         Method (MHKD, 0, NotSerialized)
4289                         {
4290                         }
4291 
4292                         Method (MHQC, 1, NotSerialized)
4293                         {
4294                             If (WNTF)
4295                             {
4296                                 If ((Arg0 == Zero))
4297                                 {
4298                                     Return (CWAC) /* \CWAC */
4299                                 }
4300                                 Else
4301                                 {
4302                                     If ((Arg0 == One))
4303                                     {
4304                                         Return (CWAP) /* \CWAP */
4305                                     }
4306                                     Else
4307                                     {
4308                                         If ((Arg0 == 0x02))
4309                                         {
4310                                             Return (CWAT) /* \CWAT */
4311                                         }
4312                                         Else
4313                                         {
4314                                             Noop
4315                                         }
4316                                     }
4317                                 }
4318                             }
4319                             Else
4320                             {
4321                                 Noop
4322                             }
4323 
4324                             Return (Zero)
4325                         }
4326 
4327                         Method (MHGC, 0, NotSerialized)
4328                         {
4329                             If (WNTF)
4330                             {
4331                                 Acquire (XDHK, 0xFFFF)
4332                                 If (CKC4 (Zero))
4333                                 {
4334                                     Local0 = 0x03
4335                                 }
4336                                 Else
4337                                 {
4338                                     Local0 = 0x04
4339                                 }
4340 
4341                                 Release (XDHK)
4342                                 Return (Local0)
4343                             }
4344                             Else
4345                             {
4346                                 Noop
4347                             }
4348 
4349                             Return (Zero)
4350                         }
4351 
4352                         Method (MHSC, 1, NotSerialized)
4353                         {
4354                             If ((CWAC && WNTF))
4355                             {
4356                                 Acquire (XDHK, 0xFFFF)
4357                                 If (OSC4)
4358                                 {
4359                                     If ((Arg0 == 0x03))
4360                                     {
4361                                         If (!CWAS)
4362                                         {
4363                                             PNTF (0x81)
4364                                             CWAS = One
4365                                         }
4366                                     }
4367                                     Else
4368                                     {
4369                                         If ((Arg0 == 0x04))
4370                                         {
4371                                             If (CWAS)
4372                                             {
4373                                                 PNTF (0x81)
4374                                                 CWAS = Zero
4375                                             }
4376                                         }
4377                                         Else
4378                                         {
4379                                             Noop
4380                                         }
4381                                     }
4382                                 }
4383 
4384                                 Release (XDHK)
4385                             }
4386                             Else
4387                             {
4388                                 Noop
4389                             }
4390                         }
4391 
4392                         Method (CKC4, 1, NotSerialized)
4393                         {
4394                             Local0 = Zero
4395                             If (C4WR)
4396                             {
4397                                 If (!C4AC)
4398                                 {
4399                                     Local0 |= One
4400                                 }
4401                             }
4402 
4403                             If (C4NA)
4404                             {
4405                                 Local0 |= 0x02
4406                             }
4407 
4408                             If ((CWAC && CWAS))
4409                             {
4410                                 Local0 |= 0x04
4411                             }
4412 
4413                             If ((CWUE && CWUS))
4414                             {
4415                                 Local0 |= 0x08
4416                             }
4417 
4418                             Local0 &= ~Arg0
4419                             Return (Local0)
4420                         }
4421 
4422                         Method (MHQE, 0, NotSerialized)
4423                         {
4424                             Return (C4WR) /* \C4WR */
4425                         }
4426 
4427                         Method (MHGE, 0, NotSerialized)
4428                         {
4429                             If ((C4WR && C4AC))
4430                             {
4431                                 Return (0x04)
4432                             }
4433 
4434                             Return (0x03)
4435                         }
4436 
4437                         Method (MHSE, 1, NotSerialized)
4438                         {
4439                             If (C4WR)
4440                             {
4441                                 Local0 = C4AC /* \C4AC */
4442                                 If ((Arg0 == 0x03))
4443                                 {
4444                                     C4AC = Zero
4445                                     If ((Local0 ^ C4AC))
4446                                     {
4447                                         If (OSC4)
4448                                         {
4449                                             PNTF (0x81)
4450                                         }
4451                                     }
4452                                 }
4453                                 Else
4454                                 {
4455                                     If ((Arg0 == 0x04))
4456                                     {
4457                                         C4AC = One
4458                                         If ((Local0 ^ C4AC))
4459                                         {
4460                                             If (OSC4)
4461                                             {
4462                                                 PNTF (0x81)
4463                                             }
4464                                         }
4465                                     }
4466                                 }
4467                             }
4468                         }
4469 
4470                         Method (UAWO, 1, NotSerialized)
4471                         {
4472                             Return (UAWS (Arg0))
4473                         }
4474 
4475                         Method (KBAG, 1, NotSerialized)
4476                         {
4477                             Sleep (0x14)
4478                             Local0 = KBLS (0x02, Zero)
4479                             Local0 |= 0x00020000
4480                             Local0 |= 0x00040000
4481                             Return (Local0)
4482                         }
4483 
4484                         Method (KBAS, 1, NotSerialized)
4485                         {
4486                             If ((Arg0 > 0x02))
4487                             {
4488                                 Return (0x80000000)
4489                             }
4490 
4491                             KBBL = Arg0
4492                             Return (Zero)
4493                         }
4494 
4495                         Method (MLCS, 1, NotSerialized)
4496                         {
4497                             Local0 = KBLS (One, Arg0)
4498                             If (!(Local0 & 0x80000000))
4499                             {
4500                                 If ((Arg0 & 0x00010000))
4501                                 {
4502                                     MHKQ (0x6001)
4503                                 }
4504                                 Else
4505                                 {
4506                                     If (MHKK (0x00020000))
4507                                     {
4508                                         MHKQ (0x1012)
4509                                     }
4510                                 }
4511                             }
4512 
4513                             Return (Local0)
4514                         }
4515 
4516                         Method (DSSG, 1, NotSerialized)
4517                         {
4518                             Local0 = (0x0400 | PDCI) /* \PDCI */
4519                             Return (Local0)
4520                         }
4521 
4522                         Method (DSSS, 1, NotSerialized)
4523                         {
4524                             PDCI |= Arg0
4525                         }
4526 
4527                         Method (SBSG, 1, NotSerialized)
4528                         {
4529                             Return (SYBC (Zero, Zero))
4530                         }
4531 
4532                         Method (SBSS, 1, NotSerialized)
4533                         {
4534                             Return (SYBC (One, Arg0))
4535                         }
4536 
4537                         Method (PBLG, 1, NotSerialized)
4538                         {
4539                             Local0 = BRLV /* \BRLV */
4540                             Local1 = (Local0 | 0x0F00)
4541                             Return (Local1)
4542                         }
4543 
4544                         Method (PBLS, 1, NotSerialized)
4545                         {
4546                             BRLV = Arg0
4547                             If (VIGD)
4548                             {
4549                                 BRNS ()
4550                             }
4551                             Else
4552                             {
4553                                 VBRC (BRLV)
4554                             }
4555 
4556                             If (!NBCF)
4557                             {
4558                                 MHKQ (0x6050)
4559                             }
4560 
4561                             Return (Zero)
4562                         }
4563 
4564                         Method (PMSG, 1, NotSerialized)
4565                         {
4566                             Local0 = PRSM (Zero, Zero)
4567                             Return (Local0)
4568                         }
4569 
4570                         Method (PMSS, 1, NotSerialized)
4571                         {
4572                             PRSM (One, Arg0)
4573                             Return (Zero)
4574                         }
4575 
4576                         Method (ISSG, 1, NotSerialized)
4577                         {
4578                             Local0 = ISSP /* \ISSP */
4579                             Local0 |= (ISCG & 0x30)
4580                             Return (Zero)
4581                         }
4582 
4583                         Method (ISSS, 1, NotSerialized)
4584                         {
4585                             ISCG = Arg0
4586                             Return (Zero)
4587                         }
4588 
4589                         Method (FFSG, 1, NotSerialized)
4590                         {
4591                             Return (IFRS (Zero, Zero))
4592                         }
4593 
4594                         Method (FFSS, 1, NotSerialized)
4595                         {
4596                             IFRS (One, Arg0)
4597                             Return (Zero)
4598                         }
4599 
4600                         Method (GMKS, 0, NotSerialized)
4601                         {
4602                             If ((OPID == One))
4603                             {
4604                                 Return (Zero)
4605                             }
4606 
4607                             Local0 = (One & FNKC)
4608                             Local0 |= 0x0200
4609                             Return (Local0)
4610                         }
4611 
4612                         Method (SMKS, 1, NotSerialized)
4613                         {
4614                             If ((OPID == One))
4615                             {
4616                                 Return (Zero)
4617                             }
4618 
4619                             If ((Arg0 & One))
4620                             {
4621                                 FNKC = One
4622                                 HKFA = One
4623                             }
4624                             Else
4625                             {
4626                                 FNKC = Zero
4627                                 HKFA = Zero
4628                             }
4629 
4630                             Return (Zero)
4631                         }
4632 
4633                         Method (INSG, 1, NotSerialized)
4634                         {
4635                             Local0 = IOEN /* \IOEN */
4636                             Local0 |= (IOST << 0x07)
4637                             Local0 |= (IOCP << 0x08)
4638                             Return (Zero)
4639                         }
4640 
4641                         Method (INSS, 1, NotSerialized)
4642                         {
4643                             If ((IOCP && (Arg0 & One)))
4644                             {
4645                                 IOEN = One
4646                             }
4647                             Else
4648                             {
4649                                 IOEN = Zero
4650                                 If (IOST)
4651                                 {
4652                                     If (!ISOC (Zero))
4653                                     {
4654                                         IOST = Zero
4655                                     }
4656                                 }
4657                             }
4658 
4659                             Return (Zero)
4660                         }
4661 
4662                         Method (GTPD, 0, NotSerialized)
4663                         {
4664                             Acquire (XDHK, 0xFFFF)
4665                             Local0 = Zero
4666                             If (TPDS)
4667                             {
4668                                 Local0 |= One
4669                             }
4670                             Else
4671                             {
4672                                 Local0 &= 0xFE
4673                             }
4674 
4675                             Local0 |= 0x02
4676                             Release (XDHK)
4677                             Return (Local0)
4678                         }
4679                     }
4680 
4681                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
4682                     Name (_GPE, 0x0A)  // _GPE: General Purpose Events
4683                     Name (OKEC, Zero)
4684                     Name (ECAV, Zero)
4685                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4686                     {
4687                         IO (Decode16,
4688                             0x0062,             // Range Minimum
4689                             0x0062,             // Range Maximum
4690                             0x01,               // Alignment
4691                             0x01,               // Length
4692                             )
4693                         IO (Decode16,
4694                             0x0066,             // Range Minimum
4695                             0x0066,             // Range Maximum
4696                             0x01,               // Alignment
4697                             0x01,               // Length
4698                             )
4699                     })
4700                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
4701                     {
4702                         If (((Arg0 == 0x03) && (Arg1 == One)))
4703                         {
4704                             ECAV = One
4705                             PENV = Zero
4706                             PLMX = 0x80
4707                             OKEC = Arg1
4708                             H8DR = Arg1
4709                             ECON = One
4710                             PWRS = HPAC /* \_SB_.PCI0.LPCB.EC0_.HPAC */
4711                             PNOT ()
4712                         }
4713                     }
4714 
4715                     OperationRegion (ECOR, EmbeddedControl, Zero, 0x0800)
4716                     Field (ECOR, ByteAcc, NoLock, Preserve)
4717                     {
4718                         HDBM,   1, 
4719                             ,   1, 
4720                         HKFA,   1, 
4721                         HFNE,   1, 
4722                             ,   1, 
4723                             ,   1, 
4724                         HLDM,   1, 
4725                         Offset (0x01), 
4726                         BBLS,   1, 
4727                         BTCM,   1, 
4728                             ,   1, 
4729                             ,   1, 
4730                             ,   1, 
4731                         HBPR,   1, 
4732                             ,   1, 
4733                         Offset (0x02), 
4734                         HDUE,   1, 
4735                             ,   4, 
4736                         SNLK,   1, 
4737                         Offset (0x03), 
4738                             ,   5, 
4739                         HAUM,   2, 
4740                         Offset (0x05), 
4741                         HSPA,   1, 
4742                         Offset (0x06), 
4743                         HSUN,   8, 
4744                         HSRP,   8, 
4745                         Offset (0x0B), 
4746                             ,   4, 
4747                         AAEN,   1, 
4748                         AAEW,   1, 
4749                         Offset (0x0C), 
4750                         HLCL,   8, 
4751                             ,   4, 
4752                         CALM,   1, 
4753                             ,   1, 
4754                         KBBL,   2, 
4755                         HFNS,   2, 
4756                         Offset (0x0F), 
4757                             ,   6, 
4758                         NULS,   1, 
4759                         Offset (0x10), 
4760                         HAM0,   8, 
4761                         HAM1,   8, 
4762                         HAM2,   8, 
4763                         HAM3,   8, 
4764                         HAM4,   8, 
4765                         HAM5,   8, 
4766                         HAM6,   8, 
4767                         HAM7,   8, 
4768                         HAM8,   8, 
4769                         HAM9,   8, 
4770                         HAMA,   8, 
4771                         HAMB,   8, 
4772                         HAMC,   8, 
4773                         HAMD,   8, 
4774                         HAME,   8, 
4775                         HAMF,   8, 
4776                         Offset (0x23), 
4777                         HANT,   8, 
4778                         Offset (0x26), 
4779                             ,   2, 
4780                         HANA,   2, 
4781                         Offset (0x27), 
4782                         Offset (0x2A), 
4783                         HATR,   8, 
4784                         HT0H,   8, 
4785                         HT0L,   8, 
4786                         HT1H,   8, 
4787                         HT1L,   8, 
4788                         HFSP,   8, 
4789                             ,   6, 
4790                         HMUT,   1, 
4791                         Offset (0x31), 
4792                             ,   2, 
4793                         HUWB,   1, 
4794                         Offset (0x32), 
4795                         HWWL,   1, 
4796                         HWLB,   1, 
4797                         HWLO,   1, 
4798                         HWDK,   1, 
4799                         HWFN,   1, 
4800                         HWBT,   1, 
4801                         HWAO,   1, 
4802                         HWBU,   1, 
4803                         HWLU,   1, 
4804                         Offset (0x34), 
4805                             ,   3, 
4806                         PIBS,   1, 
4807                             ,   3, 
4808                         HPLO,   1, 
4809                         Offset (0x36), 
4810                         Offset (0x38), 
4811                         HB0S,   7, 
4812                         HB0A,   1, 
4813                         HB1S,   7, 
4814                         HB1A,   1, 
4815                         HCMU,   1, 
4816                             ,   2, 
4817                         OVRQ,   1, 
4818                         DCBD,   1, 
4819                         DCWL,   1, 
4820                         DCWW,   1, 
4821                         HB1I,   1, 
4822                             ,   1, 
4823                         KBLT,   1, 
4824                         BTPW,   1, 
4825                         FNKC,   1, 
4826                         HUBS,   1, 
4827                         BDPW,   1, 
4828                         BDDT,   1, 
4829                         HUBB,   1, 
4830                         Offset (0x46), 
4831                             ,   1, 
4832                         BTWK,   1, 
4833                         HPLD,   1, 
4834                         TPDS,   1, 
4835                         HPAC,   1, 
4836                         BTST,   1, 
4837                         Offset (0x47), 
4838                         HPBU,   1, 
4839                             ,   1, 
4840                         HBID,   1, 
4841                             ,   3, 
4842                         HBCS,   1, 
4843                         HPNF,   1, 
4844                             ,   1, 
4845                         GSTS,   1, 
4846                             ,   2, 
4847                         HLBU,   1, 
4848                         DOCD,   1, 
4849                         HCBL,   1, 
4850                         Offset (0x49), 
4851                         SLUL,   1, 
4852                         Offset (0x4A), 
4853                         ESDL,   8, 
4854                         ESDH,   8, 
4855                         HTMH,   8, 
4856                         HTML,   8, 
4857                         HWAK,   16, 
4858                         HMPR,   8, 
4859                             ,   7, 
4860                         HMDN,   1, 
4861                         Offset (0x78), 
4862                         TMP0,   8, 
4863                         Offset (0x80), 
4864                         Offset (0x81), 
4865                         HIID,   8, 
4866                         Offset (0x83), 
4867                         HFNI,   8, 
4868                         HSPD,   16, 
4869                         Offset (0x88), 
4870                         TSL0,   7, 
4871                         TSR0,   1, 
4872                         TSL1,   7, 
4873                         TSR1,   1, 
4874                         TSL2,   7, 
4875                         TSR2,   1, 
4876                         TSL3,   7, 
4877                         TSR3,   1, 
4878                         Offset (0x8D), 
4879                         HDAA,   3, 
4880                         HDAB,   3, 
4881                         HDAC,   2, 
4882                         Offset (0xB0), 
4883                         HDEN,   32, 
4884                         HDEP,   32, 
4885                         HDEM,   8, 
4886                         HDES,   8, 
4887                         Offset (0xBB), 
4888                         PLSL,   8, 
4889                         PLMS,   8, 
4890                         PLLS,   8, 
4891                         PLTU,   8, 
4892                         Offset (0xC8), 
4893                         ATMX,   8, 
4894                         HWAT,   8, 
4895                         Offset (0xCC), 
4896                         PWMH,   8, 
4897                         PWML,   8, 
4898                         Offset (0xED), 
4899                             ,   4, 
4900                         HDDD,   1, 
4901                         Offset (0xF8), 
4902                         TSHT,   8, 
4903                         TSLT,   8, 
4904                         PENV,   8, 
4905                         PLMX,   8, 
4906                         CFAN,   1, 
4907                         Offset (0x668), 
4908                         CPU1,   8, 
4909                         GPU1,   8, 
4910                         TML0,   8, 
4911                         TMR0,   8, 
4912                         TMR1,   8
4913                     }
4914 
4915                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
4916                     {
4917                         ^HKEY.WGIN ()
4918                     }
4919 
4920                     Method (LED, 2, NotSerialized)
4921                     {
4922                         Local0 = (Arg0 | Arg1)
4923                         If (H8DR)
4924                         {
4925                             HLCL = Local0
4926                         }
4927                         Else
4928                         {
4929                             WBEC (0x0C, Local0)
4930                         }
4931                     }
4932 
4933                     Name (BAON, Zero)
4934                     Name (WBON, Zero)
4935                     Method (BEEP, 1, NotSerialized)
4936                     {
4937                         If ((Arg0 == 0x05))
4938                         {
4939                             WBON = Zero
4940                         }
4941 
4942                         Local2 = WBON /* \_SB_.PCI0.LPCB.EC0_.WBON */
4943                         If (BAON)
4944                         {
4945                             If ((Arg0 == Zero))
4946                             {
4947                                 BAON = Zero
4948                                 If (WBON)
4949                                 {
4950                                     Local0 = 0x03
4951                                     Local1 = 0x08
4952                                 }
4953                                 Else
4954                                 {
4955                                     Local0 = Zero
4956                                     Local1 = Zero
4957                                 }
4958                             }
4959                             Else
4960                             {
4961                                 Local0 = 0xFF
4962                                 Local1 = 0xFF
4963                                 If ((Arg0 == 0x11))
4964                                 {
4965                                     WBON = Zero
4966                                 }
4967 
4968                                 If ((Arg0 == 0x10))
4969                                 {
4970                                     WBON = One
4971                                 }
4972                             }
4973                         }
4974                         Else
4975                         {
4976                             Local0 = Arg0
4977                             Local1 = 0xFF
4978                             If ((Arg0 == 0x0F))
4979                             {
4980                                 Local0 = Arg0
4981                                 Local1 = 0x08
4982                                 BAON = One
4983                             }
4984 
4985                             If ((Arg0 == 0x11))
4986                             {
4987                                 Local0 = Zero
4988                                 Local1 = Zero
4989                                 WBON = Zero
4990                             }
4991 
4992                             If ((Arg0 == 0x10))
4993                             {
4994                                 Local0 = 0x03
4995                                 Local1 = 0x08
4996                                 WBON = One
4997                             }
4998                         }
4999 
5000                         If ((Arg0 == 0x03))
5001                         {
5002                             WBON = Zero
5003                             If (Local2)
5004                             {
5005                                 Local0 = 0x07
5006                                 If (((SPS == 0x03) || (SPS == 0x04)))
5007                                 {
5008                                     Local2 = Zero
5009                                     Local0 = 0xFF
5010                                     Local1 = 0xFF
5011                                 }
5012                             }
5013                         }
5014 
5015                         If ((Arg0 == 0x07))
5016                         {
5017                             If (Local2)
5018                             {
5019                                 Local2 = Zero
5020                                 Local0 = 0xFF
5021                                 Local1 = 0xFF
5022                             }
5023                         }
5024 
5025                         If (H8DR)
5026                         {
5027                             If ((Local2 && !WBON))
5028                             {
5029                                 HSRP = Zero
5030                                 HSUN = Zero
5031                                 Sleep (0x64)
5032                             }
5033 
5034                             If ((Local1 != 0xFF))
5035                             {
5036                                 HSRP = Local1
5037                             }
5038 
5039                             If ((Local0 != 0xFF))
5040                             {
5041                                 HSUN = Local0
5042                             }
5043                         }
5044                         Else
5045                         {
5046                             If ((Local2 && !WBON))
5047                             {
5048                                 WBEC (0x07, Zero)
5049                                 WBEC (0x06, Zero)
5050                                 Sleep (0x64)
5051                             }
5052 
5053                             If ((Local1 != 0xFF))
5054                             {
5055                                 WBEC (0x07, Local1)
5056                             }
5057 
5058                             If ((Local0 != 0xFF))
5059                             {
5060                                 WBEC (0x06, Local0)
5061                             }
5062                         }
5063 
5064                         If ((Arg0 == 0x03)) {}
5065                         If ((Arg0 == 0x07))
5066                         {
5067                             Sleep (0x01F4)
5068                         }
5069                     }
5070 
5071                     Method (EVNT, 1, NotSerialized)
5072                     {
5073                         If (H8DR)
5074                         {
5075                             If (Arg0)
5076                             {
5077                                 HAM5 |= 0x04
5078                             }
5079                             Else
5080                             {
5081                                 HAM5 &= 0xFB
5082                             }
5083                         }
5084                         Else
5085                         {
5086                             If (Arg0)
5087                             {
5088                                 MBEC (0x15, 0xFF, 0x04)
5089                             }
5090                             Else
5091                             {
5092                                 MBEC (0x15, 0xFB, Zero)
5093                             }
5094                         }
5095                     }
5096 
5097                     Method (CHKS, 0, NotSerialized)
5098                     {
5099                         Local0 = 0x03E8
5100                         While (HMPR)
5101                         {
5102                             Sleep (0x14)
5103                             Local0--
5104                             If (!Local0)
5105                             {
5106                                 Return (0x8080)
5107                             }
5108                         }
5109 
5110                         If (HMDN)
5111                         {
5112                             Return (Zero)
5113                         }
5114 
5115                         Return (0x8081)
5116                     }
5117 
5118                     Method (LPMD, 0, NotSerialized)
5119                     {
5120                         Local0 = Zero
5121                         Local1 = Zero
5122                         Local2 = Zero
5123                         Return (Local0)
5124                     }
5125 
5126                     Method (CLPM, 0, NotSerialized)
5127                     {
5128                         If ((PPMF & One))
5129                         {
5130                             If (OSPX)
5131                             {
5132                                 PNTF (0x80)
5133                             }
5134                             Else
5135                             {
5136                                 Local0 = LPMD ()
5137                                 If (Local0)
5138                                 {
5139                                     STEP (0x04)
5140                                 }
5141                                 Else
5142                                 {
5143                                     STEP (0x05)
5144                                 }
5145                             }
5146                         }
5147                     }
5148 
5149                     Method (ECTT, 6, Serialized)
5150                     {
5151                         Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
5152                         If (ECIF)
5153                         {
5154                             Return (One)
5155                         }
5156 
5157                         Local0 = Arg0
5158                         Local1 = Arg1
5159                         Local2 = Arg2
5160                         Local3 = Arg3
5161                         Local4 = Arg4
5162                         Local5 = Arg5
5163                         While (One)
5164                         {
5165                             _T_0 = Local0
5166                             If ((_T_0 == 0x03))
5167                             {
5168                                 Return (^HKEY.MHKK (Local1))
5169                             }
5170                             Else
5171                             {
5172                                 If ((_T_0 == 0x04))
5173                                 {
5174                                     ^HKEY.MHKM (Local1, Local2)
5175                                 }
5176                                 Else
5177                                 {
5178                                     If ((_T_0 == 0x06))
5179                                     {
5180                                         ^HKEY.MHKC (Local1)
5181                                     }
5182                                     Else
5183                                     {
5184                                         If ((_T_0 == 0x07))
5185                                         {
5186                                             Return (^HKEY.MHKP ())
5187                                         }
5188                                         Else
5189                                         {
5190                                             If ((_T_0 == 0x08))
5191                                             {
5192                                                 ^HKEY.MHKE (Local1)
5193                                             }
5194                                             Else
5195                                             {
5196                                                 If ((_T_0 == 0x09))
5197                                                 {
5198                                                     ^HKEY.MHKQ (Local1)
5199                                                 }
5200                                                 Else
5201                                                 {
5202                                                     If ((_T_0 == 0x0A))
5203                                                     {
5204                                                         Return (^HKEY.UAWO (Local1))
5205                                                     }
5206                                                     Else
5207                                                     {
5208                                                         If ((_T_0 == 0x0B))
5209                                                         {
5210                                                             Return (^HKEY.NUMG ())
5211                                                         }
5212                                                         Else
5213                                                         {
5214                                                             If ((_T_0 == 0x0C))
5215                                                             {
5216                                                                 Return (^HKEY.WPWS ())
5217                                                             }
5218                                                             Else
5219                                                             {
5220                                                                 If ((_T_0 == 0x0D))
5221                                                                 {
5222                                                                     ^HKEY.WPWC (Local1)
5223                                                                 }
5224                                                                 Else
5225                                                                 {
5226                                                                     If ((_T_0 == 0x0E))
5227                                                                     {
5228                                                                         Return (^HKEY.BPWS ())
5229                                                                     }
5230                                                                     Else
5231                                                                     {
5232                                                                         If ((_T_0 == 0x0F))
5233                                                                         {
5234                                                                             ^HKEY.BPWC (Local1)
5235                                                                         }
5236                                                                         Else
5237                                                                         {
5238                                                                             If ((_T_0 == 0x10))
5239                                                                             {
5240                                                                                 Return (^HKEY.CKC4 (Local1))
5241                                                                             }
5242                                                                             Else
5243                                                                             {
5244                                                                                 If ((_T_0 == 0x11))
5245                                                                                 {
5246                                                                                     ^HKEY.MHSC (Local1)
5247                                                                                 }
5248                                                                                 Else
5249                                                                                 {
5250                                                                                     If ((_T_0 == 0x12))
5251                                                                                     {
5252                                                                                         Return (^HKEY.PBLS (Local1))
5253                                                                                     }
5254                                                                                     Else
5255                                                                                     {
5256                                                                                         If ((_T_0 == 0x13))
5257                                                                                         {
5258                                                                                             Return (GBST (Local1, Local2, Local3, Local4))
5259                                                                                         }
5260                                                                                         Else
5261                                                                                         {
5262                                                                                             If ((_T_0 == 0x14))
5263                                                                                             {
5264                                                                                                 Return (GBIF (Local1, Local2, Local3))
5265                                                                                             }
5266                                                                                             Else
5267                                                                                             {
5268                                                                                                 If ((_T_0 == 0x15))
5269                                                                                                 {
5270                                                                                                     _Q1D ()
5271                                                                                                 }
5272                                                                                                 Else
5273                                                                                                 {
5274                                                                                                     If ((_T_0 == 0x16))
5275                                                                                                     {
5276                                                                                                         ^HKEY.SBIG (Local1)
5277                                                                                                     }
5278                                                                                                     Else
5279                                                                                                     {
5280                                                                                                         If ((_T_0 == 0x17))
5281                                                                                                         {
5282                                                                                                             _Q70 ()
5283                                                                                                         }
5284                                                                                                         Else
5285                                                                                                         {
5286                                                                                                             If ((_T_0 == 0x18))
5287                                                                                                             {
5288                                                                                                                 Return (^HKEY.GMKS ())
5289                                                                                                             }
5290                                                                                                             Else
5291                                                                                                             {
5292                                                                                                                 If ((_T_0 == 0x19))
5293                                                                                                                 {
5294                                                                                                                     ^HKEY.SMKS (Local1)
5295                                                                                                                 }
5296                                                                                                                 Else
5297                                                                                                                 {
5298                                                                                                                     Return (One)
5299                                                                                                                 }
5300                                                                                                             }
5301                                                                                                         }
5302                                                                                                     }
5303                                                                                                 }
5304                                                                                             }
5305                                                                                         }
5306                                                                                     }
5307                                                                                 }
5308                                                                             }
5309                                                                         }
5310                                                                     }
5311                                                                 }
5312                                                             }
5313                                                         }
5314                                                     }
5315                                                 }
5316                                             }
5317                                         }
5318                                     }
5319                                 }
5320                             }
5321 
5322                             Break
5323                         }
5324                     }
5325 
5326                     Method (CMFC, 4, Serialized)
5327                     {
5328                         Name (_T_3, Zero)  // _T_x: Emitted by ASL Compiler
5329                         Name (_T_2, Zero)  // _T_x: Emitted by ASL Compiler
5330                         Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
5331                         Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
5332                         Local0 = Buffer (0x82) {}
5333                         CreateWordField (Local0, Zero, RTST)
5334                         CreateField (Local0, 0x10, 0x0400, RTDT)
5335                         While (One)
5336                         {
5337                             _T_0 = ToInteger (Arg0)
5338                             If ((_T_0 == 0x10))
5339                             {
5340                                 While (One)
5341                                 {
5342                                     _T_1 = ToInteger (Arg1)
5343                                     If ((_T_1 == One))
5344                                     {
5345                                         While (One)
5346                                         {
5347                                             _T_2 = ToInteger (Arg2)
5348                                             If ((_T_2 == One))
5349                                             {
5350                                                 RTST = One
5351                                                 RTDT = Zero
5352                                                 Return (Local0)
5353                                             }
5354                                             Else
5355                                             {
5356                                                 RTST = Zero
5357                                                 RTDT = Zero
5358                                                 Return (Local0)
5359                                             }
5360 
5361                                             Break
5362                                         }
5363                                     }
5364                                     Else
5365                                     {
5366                                         If ((_T_1 == 0x02))
5367                                         {
5368                                             RTST = One
5369                                             RTDT = 0x11
5370                                             Return (Local0)
5371                                         }
5372                                         Else
5373                                         {
5374                                             RTST = Zero
5375                                             RTDT = Zero
5376                                             Return (Local0)
5377                                         }
5378                                     }
5379 
5380                                     Break
5381                                 }
5382                             }
5383                             Else
5384                             {
5385                                 If ((_T_0 == 0x23))
5386                                 {
5387                                     While (One)
5388                                     {
5389                                         _T_3 = ToInteger (Arg1)
5390                                         If ((_T_3 == 0x10))
5391                                         {
5392                                             RTST = One
5393                                             RTDT = 0x06
5394                                             Return (Local0)
5395                                         }
5396                                         Else
5397                                         {
5398                                             RTST = Zero
5399                                             RTDT = Zero
5400                                             Return (Local0)
5401                                         }
5402 
5403                                         Break
5404                                     }
5405                                 }
5406                                 Else
5407                                 {
5408                                     Local1 = CBBM (Arg0, Arg1)
5409                                     If ((Local1 == 0xFF))
5410                                     {
5411                                         RTST = Zero
5412                                         RTDT = Zero
5413                                         Return (Local0)
5414                                     }
5415                                     Else
5416                                     {
5417                                         RTST = One
5418                                         RTDT = Local1
5419                                         Return (Local0)
5420                                     }
5421                                 }
5422                             }
5423 
5424                             Break
5425                         }
5426                     }
5427 
5428                     Method (CTMP, 0, NotSerialized)
5429                     {
5430                         Local0 = AMBX (Zero, 0xB0F4, Zero)
5431                         Return (Local0)
5432                     }
5433 
5434                     Method (SKTA, 0, NotSerialized)
5435                     {
5436                         Local0 = AMBX (Zero, 0xB2F4, Zero)
5437                         Return (Local0)
5438                     }
5439 
5440                     Method (SKTB, 0, NotSerialized)
5441                     {
5442                         Local0 = AMBX (Zero, 0xB3F4, Zero)
5443                         Return (Local0)
5444                     }
5445 
5446                     Method (SKTC, 0, NotSerialized)
5447                     {
5448                         Local0 = AMBX (Zero, 0xB4F4, Zero)
5449                         Return (Local0)
5450                     }
5451 
5452                     Method (CDTS, 0, NotSerialized)
5453                     {
5454                         Local0 = AMBX (Zero, 0xB5F4, Zero)
5455                         Return (Local0)
5456                     }
5457 
5458                     Method (PJID, 0, NotSerialized)
5459                     {
5460                         Local0 = AMBX (Zero, 0xBCF4, Zero)
5461                         Return (Local0)
5462                     }
5463 
5464                     Method (FANU, 0, NotSerialized)
5465                     {
5466                         Local0 = AMBX (Zero, 0xADF4, Zero)
5467                         Local0 &= 0x0F
5468                         Return (Local0)
5469                     }
5470 
5471                     Method (FSSN, 0, NotSerialized)
5472                     {
5473                         Local0 = AMBX (Zero, 0xADF4, Zero)
5474                         Local0 >>= 0x04
5475                         Return (Local0)
5476                     }
5477 
5478                     Method (TCNL, 0, NotSerialized)
5479                     {
5480                         Local0 = AMBX (Zero, 0xAAF4, Zero)
5481                         Return (Local0)
5482                     }
5483 
5484                     Method (BRC0, 0, NotSerialized)
5485                     {
5486                         Local0 = AMBX (Zero, 0xC3F4, Zero)
5487                         Local1 = AMBX (Zero, 0xC2F4, Zero)
5488                         Local0 <<= 0x08
5489                         Local1 |= Local0
5490                         Return (Local1)
5491                     }
5492 
5493                     Mutex (FAMX, 0x00)
5494                     Method (FANG, 1, NotSerialized)
5495                     {
5496                         Return (Zero)
5497                     }
5498 
5499                     Method (FANW, 2, NotSerialized)
5500                     {
5501                         Acquire (FAMX, 0xFFFF)
5502                         Local0 = (Arg0 >> 0x08)
5503                         AMBX (One, 0x94F4, Local0)
5504                         Local1 = (Arg0 & 0xFF)
5505                         AMBX (One, 0x95F4, Local1)
5506                         AMBX (One, 0x96F4, Arg1)
5507                         Release (FAMX)
5508                         Return (Arg1)
5509                     }
5510 
5511                     Method (TUVR, 1, NotSerialized)
5512                     {
5513                         Return (0x04)
5514                     }
5515 
5516                     OperationRegion (CCLK, SystemIO, 0x1810, 0x04)
5517                     Field (CCLK, DWordAcc, NoLock, Preserve)
5518                     {
5519                             ,   1, 
5520                         DUTY,   3, 
5521                         THEN,   1, 
5522                         Offset (0x01), 
5523                         FTT,    1, 
5524                             ,   8, 
5525                         TSTS,   1
5526                     }
5527 
5528                     OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
5529                     Field (ECRM, ByteAcc, Lock, Preserve)
5530                     {
5531                         Offset (0x94), 
5532                         ERIB,   16, 
5533                         ERBD,   8, 
5534                         Offset (0xAC), 
5535                         Offset (0xAD), 
5536                             ,   4, 
5537                         Offset (0xAE), 
5538                             ,   3, 
5539                             ,   4, 
5540                         Offset (0xAF), 
5541                         Offset (0xBC), 
5542                         Offset (0xBD), 
5543                         Offset (0xBE), 
5544                         Offset (0xF9), 
5545                         RFRD,   16
5546                     }
5547 
5548                     Name (BTBF, Buffer (0x0100)
5549                     {
5550                          0x00                                             /* . */
5551                     })
5552                     OperationRegion (MMEC, SystemMemory, 0xFF000000, 0x0100)
5553                     Field (MMEC, AnyAcc, Lock, Preserve)
5554                     {
5555                         TWBT,   2048
5556                     }
5557 
5558                     Method (BTIF, 0, NotSerialized)
5559                     {
5560                         BTBF = TWBT /* \_SB_.PCI0.LPCB.EC0_.TWBT */
5561                         Return (BTBF) /* \_SB_.PCI0.LPCB.EC0_.BTBF */
5562                     }
5563 
5564                     OperationRegion (MAIO, SystemIO, 0x0705, 0x03)
5565                     Field (MAIO, ByteAcc, NoLock, Preserve)
5566                     {
5567                         MAIN,   16, 
5568                         MADT,   8
5569                     }
5570 
5571                     Method (AMBX, 3, Serialized)
5572                     {
5573                         If ((Arg0 == Zero))
5574                         {
5575                             MAIN = Arg1
5576                             Local2 = MADT /* \_SB_.PCI0.LPCB.EC0_.MADT */
5577                             Return (Local2)
5578                         }
5579                         Else
5580                         {
5581                             MAIN = Arg1
5582                             MADT = Arg2
5583                             Local2 = Zero
5584                             Return (Local2)
5585                         }
5586                     }
5587 
5588                     Method (THRO, 1, NotSerialized)
5589                     {
5590                         If ((Arg0 == Zero))
5591                         {
5592                             Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
5593                         }
5594                         Else
5595                         {
5596                             If ((Arg0 == One))
5597                             {
5598                                 Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */
5599                             }
5600                             Else
5601                             {
5602                                 If ((Arg0 == 0x02))
5603                                 {
5604                                     Local0 = AMBX (Zero, 0xAEF4, Zero)
5605                                     Local0 &= 0x40
5606                                     Return (Local0)
5607                                 }
5608                                 Else
5609                                 {
5610                                     Return (0xFF)
5611                                 }
5612                             }
5613                         }
5614                     }
5615 
5616                     Method (CLCK, 1, NotSerialized)
5617                     {
5618                         If ((Arg0 == Zero))
5619                         {
5620                             THEN = Zero
5621                             FTT = Zero
5622                         }
5623                         Else
5624                         {
5625                             DUTY = Arg0
5626                             THEN = One
5627                         }
5628 
5629                         Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
5630                     }
5631 
5632                     Method (PCLK, 0, NotSerialized)
5633                     {
5634                         Local0 = AMBX (Zero, 0xAEF4, Zero)
5635                         \_PR.CPU0._PPC = Local0
5636                         PNOT ()
5637                     }
5638 
5639                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
5640                     {
5641                         If (HB0A)
5642                         {
5643                             Notify (BAT0, 0x80) // Status Change
5644                         }
5645                     }
5646 
5647                     Method (_Q4A, 0, NotSerialized)  // _Qxx: EC Query
5648                     {
5649                         P80H = 0x4A
5650                         Notify (BAT0, 0x81) // Information Change
5651                     }
5652 
5653                     Method (_Q4B, 0, NotSerialized)  // _Qxx: EC Query
5654                     {
5655                         P80H = 0x4B
5656                         Notify (BAT0, 0x80) // Status Change
5657                     }
5658 
5659                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
5660                     {
5661                         Notify (BAT0, 0x80) // Status Change
5662                     }
5663 
5664                     Method (BATW, 1, NotSerialized)
5665                     {
5666                     }
5667 
5668                     Field (ECOR, ByteAcc, NoLock, Preserve)
5669                     {
5670                         Offset (0xA0), 
5671                         SBRC,   16, 
5672                         SBFC,   16, 
5673                         SBAE,   16, 
5674                         SBRS,   16, 
5675                         SBAC,   16, 
5676                         SBVO,   16, 
5677                         SBAF,   16, 
5678                         SBBS,   16
5679                     }
5680 
5681                     Field (ECOR, ByteAcc, NoLock, Preserve)
5682                     {
5683                         Offset (0xA0), 
5684                             ,   15, 
5685                         SBCM,   1, 
5686                         SBMD,   16, 
5687                         SBCC,   16
5688                     }
5689 
5690                     Field (ECOR, ByteAcc, NoLock, Preserve)
5691                     {
5692                         Offset (0xA0), 
5693                         SBDC,   16, 
5694                         SBDV,   16, 
5695                         SBOM,   16, 
5696                         SBSI,   16, 
5697                         SBDT,   16, 
5698                         SBSN,   16
5699                     }
5700 
5701                     Field (ECOR, ByteAcc, NoLock, Preserve)
5702                     {
5703                         Offset (0xA0), 
5704                         SBCH,   32
5705                     }
5706 
5707                     Field (ECOR, ByteAcc, NoLock, Preserve)
5708                     {
5709                         Offset (0xA0), 
5710                         SBMN,   128
5711                     }
5712 
5713                     Field (ECOR, ByteAcc, NoLock, Preserve)
5714                     {
5715                         Offset (0xA0), 
5716                         SBDN,   128
5717                     }
5718 
5719                     Mutex (BATM, 0x07)
5720                     Method (GBIF, 3, NotSerialized)
5721                     {
5722                         Acquire (BATM, 0xFFFF)
5723                         If (Arg2)
5724                         {
5725                             HIID = (Arg0 | One)
5726                             Sleep (0x14)
5727                             Local7 = SBCM /* \_SB_.PCI0.LPCB.EC0_.SBCM */
5728                             Index (Arg1, Zero) = (Local7 ^ One)
5729                             HIID = Arg0
5730                             Sleep (0x14)
5731                             If (Local7)
5732                             {
5733                                 Local1 = (SBFC * 0x0A)
5734                             }
5735                             Else
5736                             {
5737                                 Local1 = SBFC /* \_SB_.PCI0.LPCB.EC0_.SBFC */
5738                             }
5739 
5740                             Index (Arg1, 0x02) = Local1
5741                             HIID = (Arg0 | 0x02)
5742                             Sleep (0x14)
5743                             If (Local7)
5744                             {
5745                                 Local0 = (SBDC * 0x0A)
5746                             }
5747                             Else
5748                             {
5749                                 Local0 = SBDC /* \_SB_.PCI0.LPCB.EC0_.SBDC */
5750                             }
5751 
5752                             Index (Arg1, One) = Local0
5753                             Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
5754                             If (Local7)
5755                             {
5756                                 Index (Arg1, 0x06) = 0xC8
5757                             }
5758                             Else
5759                             {
5760                                 If (SBDV)
5761                                 {
5762                                     Divide (0x00030D40, SBDV, Local2, Index (Arg1, 0x06))
5763                                 }
5764                                 Else
5765                                 {
5766                                     Index (Arg1, 0x06) = Zero
5767                                 }
5768                             }
5769 
5770                             Index (Arg1, 0x04) = SBDV /* \_SB_.PCI0.LPCB.EC0_.SBDV */
5771                             Local0 = SBSN /* \_SB_.PCI0.LPCB.EC0_.SBSN */
5772                             Name (SERN, Buffer (0x06)
5773                             {
5774                                 "     "
5775                             })
5776                             Local2 = 0x04
5777                             While (Local0)
5778                             {
5779                                 Divide (Local0, 0x0A, Local1, Local0)
5780                                 Index (SERN, Local2) = (Local1 + 0x30)
5781                                 Local2--
5782                             }
5783 
5784                             Index (Arg1, 0x0A) = SERN /* \_SB_.PCI0.LPCB.EC0_.GBIF.SERN */
5785                             HIID = (Arg0 | 0x06)
5786                             Sleep (0x14)
5787                             Index (Arg1, 0x09) = SBDN /* \_SB_.PCI0.LPCB.EC0_.SBDN */
5788                             HIID = (Arg0 | 0x04)
5789                             Sleep (0x14)
5790                             Name (BTYP, Buffer (0x05)
5791                             {
5792                                  0x00, 0x00, 0x00, 0x00, 0x00                     /* ..... */
5793                             })
5794                             BTYP = SBCH /* \_SB_.PCI0.LPCB.EC0_.SBCH */
5795                             Index (Arg1, 0x0B) = BTYP /* \_SB_.PCI0.LPCB.EC0_.GBIF.BTYP */
5796                             HIID = (Arg0 | 0x05)
5797                             Sleep (0x14)
5798                             Index (Arg1, 0x0C) = SBMN /* \_SB_.PCI0.LPCB.EC0_.SBMN */
5799                         }
5800                         Else
5801                         {
5802                             Index (Arg1, One) = 0xFFFFFFFF
5803                             Index (Arg1, 0x05) = Zero
5804                             Index (Arg1, 0x06) = Zero
5805                             Index (Arg1, 0x02) = 0xFFFFFFFF
5806                         }
5807 
5808                         Release (BATM)
5809                         Return (Arg1)
5810                     }
5811 
5812                     Scope (HKEY)
5813                     {
5814                         Method (SBIG, 1, NotSerialized)
5815                         {
5816                             If (ECIF)
5817                             {
5818                                 Return (Zero)
5819                             }
5820 
5821                             Return (BTIF ())
5822                         }
5823                     }
5824 
5825                     Method (GBST, 4, NotSerialized)
5826                     {
5827                         Acquire (BATM, 0xFFFF)
5828                         If ((Arg1 & 0x20))
5829                         {
5830                             Local0 = 0x02
5831                         }
5832                         Else
5833                         {
5834                             If ((Arg1 & 0x40))
5835                             {
5836                                 Local0 = One
5837                             }
5838                             Else
5839                             {
5840                                 Local0 = Zero
5841                             }
5842                         }
5843 
5844                         If ((Arg1 & 0x07)) {}
5845                         Else
5846                         {
5847                             Local0 |= 0x04
5848                         }
5849 
5850                         If (((Arg1 & 0x07) == 0x07))
5851                         {
5852                             Local0 = 0x04
5853                             Local1 = Zero
5854                             Local2 = Zero
5855                             Local3 = Zero
5856                         }
5857                         Else
5858                         {
5859                             Sleep (0x32)
5860                             HIID = Arg0
5861                             Sleep (0x32)
5862                             Local6 = HIID /* \_SB_.PCI0.LPCB.EC0_.HIID */
5863                             If ((Arg0 != Local6))
5864                             {
5865                                 Release (BATM)
5866                                 Return (Arg3)
5867                             }
5868 
5869                             Local3 = SBVO /* \_SB_.PCI0.LPCB.EC0_.SBVO */
5870                             If (Arg2)
5871                             {
5872                                 Local2 = (SBRC * 0x0A)
5873                             }
5874                             Else
5875                             {
5876                                 Local2 = SBRC /* \_SB_.PCI0.LPCB.EC0_.SBRC */
5877                             }
5878 
5879                             Local1 = SBAC /* \_SB_.PCI0.LPCB.EC0_.SBAC */
5880                             If ((Local1 >= 0x8000))
5881                             {
5882                                 If ((Local0 & One))
5883                                 {
5884                                     Local1 = (0x00010000 - Local1)
5885                                 }
5886                                 Else
5887                                 {
5888                                     Local1 = Zero
5889                                 }
5890                             }
5891                             Else
5892                             {
5893                                 If (!(Local0 & 0x02))
5894                                 {
5895                                     Local1 = Zero
5896                                 }
5897                             }
5898 
5899                             If (Arg2)
5900                             {
5901                                 Local1 *= Local3
5902                                 Divide (Local1, 0x03E8, Local7, Local1)
5903                             }
5904                         }
5905 
5906                         Index (Arg3, Zero) = Local0
5907                         Index (Arg3, One) = Local1
5908                         Index (Arg3, 0x02) = Local2
5909                         Index (Arg3, 0x03) = Local3
5910                         Release (BATM)
5911                         Return (Arg3)
5912                     }
5913 
5914                     Device (BAT0)
5915                     {
5916                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
5917                         Name (_UID, Zero)  // _UID: Unique ID
5918                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
5919                         {
5920                             _SB
5921                         })
5922                         Name (B0ST, Zero)
5923                         Name (BT0I, Package (0x0D)
5924                         {
5925                             Zero, 
5926                             0xFFFFFFFF, 
5927                             0xFFFFFFFF, 
5928                             One, 
5929                             0x2A30, 
5930                             Zero, 
5931                             Zero, 
5932                             One, 
5933                             One, 
5934                             "", 
5935                             "", 
5936                             "", 
5937                             ""
5938                         })
5939                         Name (BT0P, Package (0x04) {})
5940                         Method (_STA, 0, NotSerialized)  // _STA: Status
5941                         {
5942                             If (ECIF)
5943                             {
5944                                 Return (0x0F)
5945                             }
5946 
5947                             If (H8DR)
5948                             {
5949                                 B0ST = HB0A /* \_SB_.PCI0.LPCB.EC0_.HB0A */
5950                             }
5951                             Else
5952                             {
5953                                 If ((RBEC (0x38) & 0x80))
5954                                 {
5955                                     B0ST = One
5956                                 }
5957                                 Else
5958                                 {
5959                                     B0ST = Zero
5960                                 }
5961                             }
5962 
5963                             If (B0ST)
5964                             {
5965                                 Return (0x1F)
5966                             }
5967                             Else
5968                             {
5969                                 Return (0x0F)
5970                             }
5971                         }
5972 
5973                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
5974                         {
5975                             Local7 = Zero
5976                             Local6 = 0x0A
5977                             While ((!Local7 && Local6))
5978                             {
5979                                 If (HB0A)
5980                                 {
5981                                     If (((HB0S & 0x07) == 0x07))
5982                                     {
5983                                         Sleep (0x03E8)
5984                                         Local6--
5985                                     }
5986                                     Else
5987                                     {
5988                                         Local7 = One
5989                                     }
5990                                 }
5991                                 Else
5992                                 {
5993                                     Local6 = Zero
5994                                 }
5995                             }
5996 
5997                             Return (GBIF (Zero, BT0I, Local7))
5998                         }
5999 
6000                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
6001                         {
6002                             If (ECIF)
6003                             {
6004                                 Return (BT0P) /* \_SB_.PCI0.LPCB.EC0_.BAT0.BT0P */
6005                             }
6006 
6007                             Local0 = (DerefOf (Index (BT0I, Zero)) ^ One)
6008                             Return (GBST (Zero, HB0S, Local0, BT0P))
6009                         }
6010 
6011                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
6012                         {
6013                             HAM4 &= 0xEF
6014                             If (Arg0)
6015                             {
6016                                 Local1 = Arg0
6017                                 If (!DerefOf (Index (BT0I, Zero)))
6018                                 {
6019                                     Divide (Local1, 0x0A, Local0, Local1)
6020                                 }
6021 
6022                                 HT0L = (Local1 & 0xFF)
6023                                 HT0H = ((Local1 >> 0x08) & 0xFF)
6024                                 HAM4 |= 0x10
6025                             }
6026                         }
6027                     }
6028 
6029                     Scope (HKEY)
6030                     {
6031                         Mutex (BFWM, 0x07)
6032                         Method (MHCF, 1, NotSerialized)
6033                         {
6034                             Local0 = BFWC (Arg0)
6035                             Return (Local0)
6036                         }
6037 
6038                         Method (MHPF, 1, NotSerialized)
6039                         {
6040                             Name (RETB, Buffer (0x25) {})
6041                             Acquire (BFWM, 0xFFFF)
6042                             If ((SizeOf (Arg0) <= 0x25))
6043                             {
6044                                 BFWB = Arg0
6045                                 If (BFWP ())
6046                                 {
6047                                     CHKS ()
6048                                     BFWL ()
6049                                 }
6050 
6051                                 RETB = BFWB /* \BFWB */
6052                             }
6053 
6054                             Release (BFWM)
6055                             Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.HKEY.MHPF.RETB */
6056                         }
6057 
6058                         Method (MHIF, 1, NotSerialized)
6059                         {
6060                             Name (RETB, Buffer (0x0A) {})
6061                             Acquire (BFWM, 0xFFFF)
6062                             BFWG (Arg0)
6063                             RETB = BFWB /* \BFWB */
6064                             Release (BFWM)
6065                             Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.HKEY.MHIF.RETB */
6066                         }
6067 
6068                         Method (MHDM, 1, NotSerialized)
6069                         {
6070                             BDMC (Arg0)
6071                         }
6072                     }
6073 
6074                     Device (AC)
6075                     {
6076                         Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
6077                         Name (_UID, Zero)  // _UID: Unique ID
6078                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6079                         {
6080                             _SB
6081                         })
6082                         Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
6083                         {
6084                             If (ECIF)
6085                             {
6086                                 Return (One)
6087                             }
6088 
6089                             If (H8DR)
6090                             {
6091                                 If (HPAC)
6092                                 {
6093                                     If (DOCD)
6094                                     {
6095                                         If (One)
6096                                         {
6097                                             Return (One)
6098                                         }
6099                                         Else
6100                                         {
6101                                             Return (Zero)
6102                                         }
6103                                     }
6104                                     Else
6105                                     {
6106                                         Return (One)
6107                                     }
6108                                 }
6109                                 Else
6110                                 {
6111                                     Return (Zero)
6112                                 }
6113                             }
6114                             Else
6115                             {
6116                                 If ((RBEC (0x46) & 0x10))
6117                                 {
6118                                     Return (One)
6119                                 }
6120                                 Else
6121                                 {
6122                                     Return (Zero)
6123                                 }
6124                             }
6125                         }
6126 
6127                         Method (_STA, 0, NotSerialized)  // _STA: Status
6128                         {
6129                             Return (0x0F)
6130                         }
6131                     }
6132 
6133                     Scope (HKEY)
6134                     {
6135                         Method (PWMC, 0, NotSerialized)
6136                         {
6137                             Return (One)
6138                         }
6139 
6140                         Method (PWMG, 0, NotSerialized)
6141                         {
6142                             If (ECIF)
6143                             {
6144                                 Return (Zero)
6145                             }
6146 
6147                             Local0 = PWMH /* \_SB_.PCI0.LPCB.EC0_.PWMH */
6148                             Local0 <<= 0x08
6149                             Local0 |= PWML /* \_SB_.PCI0.LPCB.EC0_.PWML */
6150                             Return (Local0)
6151                         }
6152                     }
6153 
6154                     Mutex (MCPU, 0x07)
6155                     Method (_Q64, 0, NotSerialized)  // _Qxx: EC Query
6156                     {
6157                         If (^HKEY.MHKK (0x10))
6158                         {
6159                             ^HKEY.MHKQ (0x1005)
6160                         }
6161                     }
6162 
6163                     Method (_Q65, 0, NotSerialized)  // _Qxx: EC Query
6164                     {
6165                         If (^HKEY.MHKK (0x20))
6166                         {
6167                             ^HKEY.MHKQ (0x1006)
6168                         }
6169                     }
6170 
6171                     Method (_Q5F, 0, NotSerialized)  // _Qxx: EC Query
6172                     {
6173                         If (^HKEY.MHKK (0x01000000))
6174                         {
6175                             ^HKEY.MHKQ (0x60A0)
6176                         }
6177                     }
6178 
6179                     Method (_Q5E, 0, NotSerialized)  // _Qxx: EC Query
6180                     {
6181                         If (^HKEY.MHKK (0x1000))
6182                         {
6183                             ^HKEY.MHKQ (0x6000)
6184                         }
6185                     }
6186 
6187                     Method (_Q1F, 0, NotSerialized)  // _Qxx: EC Query
6188                     {
6189                         If (^HKEY.MHKK (0x08000000))
6190                         {
6191                             ^HKEY.MHKQ (0x101C)
6192                         }
6193 
6194                         UCMS (0x0E)
6195                     }
6196 
6197                     Method (_Q5A, 0, NotSerialized)  // _Qxx: EC Query
6198                     {
6199                         If (^HKEY.MHKK (0x10000000))
6200                         {
6201                             ^HKEY.MHKQ (0x101D)
6202                         }
6203                     }
6204 
6205                     Method (_Q5B, 0, NotSerialized)  // _Qxx: EC Query
6206                     {
6207                         If (^HKEY.MHKK (0x20000000))
6208                         {
6209                             ^HKEY.MHKQ (0x101E)
6210                         }
6211                     }
6212 
6213                     Method (_Q5C, 0, NotSerialized)  // _Qxx: EC Query
6214                     {
6215                         If (^HKEY.MHKK (0x40000000))
6216                         {
6217                             ^HKEY.MHKQ (0x101F)
6218                         }
6219                     }
6220 
6221                     Method (_Q5D, 0, NotSerialized)  // _Qxx: EC Query
6222                     {
6223                         If (^HKEY.MHKK (0x80000000))
6224                         {
6225                             ^HKEY.MHKQ (0x1020)
6226                         }
6227                     }
6228 
6229                     Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query
6230                     {
6231                         Notify (AC, 0x80) // Status Change
6232                         Sleep (0x03E8)
6233                         PWRS = One
6234                         PNOT ()
6235                     }
6236 
6237                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
6238                     {
6239                         Notify (AC, 0x80) // Status Change
6240                         Sleep (0x03E8)
6241                         PWRS = Zero
6242                         PNOT ()
6243                     }
6244 
6245                     Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
6246                     {
6247                         P80H = 0x2A
6248                         If ((^^^^LID0._LID () == Zero))
6249                         {
6250                             Return (Zero)
6251                         }
6252 
6253                         VCMS (One, ^^^^LID0._LID ())
6254                         If ((ILNF == Zero))
6255                         {
6256                             If (IOST)
6257                             {
6258                                 If (!ISOC (Zero))
6259                                 {
6260                                     IOST = Zero
6261                                     ^HKEY.MHKQ (0x60D0)
6262                                 }
6263                             }
6264                             Else
6265                             {
6266                                 ^HKEY.MHKQ (0x5002)
6267                                 If ((PLUX == Zero))
6268                                 {
6269                                     ^^^GFX0.CLID = One
6270                                     If ((RDGI (0x23) == Zero))
6271                                     {
6272                                         WTGP (0x37, One)
6273                                     }
6274 
6275                                     Notify (LID0, 0x80) // Status Change
6276                                 }
6277                             }
6278                         }
6279                     }
6280 
6281                     Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
6282                     {
6283                         P80H = 0x2B
6284                         If ((^^^^LID0._LID () == One))
6285                         {
6286                             Return (Zero)
6287                         }
6288 
6289                         UCMS (0x0D)
6290                         VCMS (One, ^^^^LID0._LID ())
6291                         If ((ILNF == Zero))
6292                         {
6293                             If ((IOEN && !IOST))
6294                             {
6295                                 If (!ISOC (One))
6296                                 {
6297                                     IOST = One
6298                                     ^HKEY.MHKQ (0x60D0)
6299                                 }
6300                             }
6301                             Else
6302                             {
6303                                 ^HKEY.MHKQ (0x5001)
6304                                 If ((PLUX == Zero))
6305                                 {
6306                                     If (VIGD)
6307                                     {
6308                                         ^^^GFX0.CLID = Zero
6309                                     }
6310 
6311                                     If ((RDGI (0x23) == Zero))
6312                                     {
6313                                         WTGP (0x37, Zero)
6314                                     }
6315 
6316                                     Notify (LID0, 0x80) // Status Change
6317                                 }
6318                             }
6319                         }
6320                     }
6321 
6322                     Method (_Q78, 0, NotSerialized)  // _Qxx: EC Query
6323                     {
6324                         APMC = 0x78
6325                     }
6326 
6327                     Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
6328                     {
6329                         Notify (^^^PEG0.PEGP, 0xD3) // Hardware-Specific
6330                     }
6331 
6332                     Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query
6333                     {
6334                         Notify (^^^PEG0.PEGP, 0xD2) // Hardware-Specific
6335                     }
6336 
6337                     Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
6338                     {
6339                         PCLK ()
6340                     }
6341 
6342                     Scope (\_SB.PCI0.LPCB.EC0)
6343                     {
6344                         Method (_Q6A, 0, NotSerialized)  // _Qxx: EC Query
6345                         {
6346                             If (HDMC)
6347                             {
6348                                 Noop
6349                             }
6350                             Else
6351                             {
6352                                 If (^HKEY.MHKK (0x04000000))
6353                                 {
6354                                     ^HKEY.MHKQ (0x101B)
6355                                 }
6356                             }
6357                         }
6358                     }
6359 
6360                     Scope (HKEY)
6361                     {
6362                         Method (MMTG, 0, NotSerialized)
6363                         {
6364                             Local0 = 0x0101
6365                             If (HDMC)
6366                             {
6367                                 Local0 |= 0x00010000
6368                             }
6369 
6370                             Return (Local0)
6371                         }
6372 
6373                         Method (MMTS, 1, NotSerialized)
6374                         {
6375                             If (HDMC)
6376                             {
6377                                 Noop
6378                             }
6379                             Else
6380                             {
6381                                 If ((OPID == Zero))
6382                                 {
6383                                     If ((Arg0 == 0x02))
6384                                     {
6385                                         LED (0x0E, 0x80)
6386                                     }
6387                                     Else
6388                                     {
6389                                         If ((Arg0 == 0x03))
6390                                         {
6391                                             LED (0x0E, 0xC0)
6392                                         }
6393                                         Else
6394                                         {
6395                                             LED (0x0E, Zero)
6396                                         }
6397                                     }
6398                                 }
6399                             }
6400                         }
6401                     }
6402 
6403                     Scope (\_SB.PCI0.LPCB.EC0)
6404                     {
6405                         Method (_Q3F, 0, NotSerialized)  // _Qxx: EC Query
6406                         {
6407                             ^HKEY.MHKQ (0x6000)
6408                         }
6409 
6410                         Method (_Q74, 0, NotSerialized)  // _Qxx: EC Query
6411                         {
6412                             FNKC ^= One
6413                             HKFA = FNKC /* \_SB_.PCI0.LPCB.EC0_.FNKC */
6414                             ^HKEY.MHKQ (0x6060)
6415                         }
6416                     }
6417 
6418                     Scope (HKEY)
6419                     {
6420                         Method (NUMG, 0, NotSerialized)
6421                         {
6422                             If (ECIF)
6423                             {
6424                                 Return (0x03)
6425                             }
6426 
6427                             Local0 = 0x03
6428                             If (NULS)
6429                             {
6430                                 Local0 |= 0x0100
6431                             }
6432                             Else
6433                             {
6434                                 Local0 &= 0xFFFFFFFFFFFFFEFF
6435                             }
6436 
6437                             Return (Local0)
6438                         }
6439                     }
6440 
6441                     Scope (HKEY)
6442                     {
6443                         Name (WGFL, Zero)
6444                         Method (WSIF, 0, NotSerialized)
6445                         {
6446                             Return (Zero)
6447                         }
6448 
6449                         Method (GWLS, 0, NotSerialized)
6450                         {
6451                             Return (GSTS) /* \_SB_.PCI0.LPCB.EC0_.GSTS */
6452                         }
6453 
6454                         Method (SWLS, 1, NotSerialized)
6455                         {
6456                             If ((Arg0 & One))
6457                             {
6458                                 Local0 = WLSR (Arg0)
6459                                 If ((Local0 & One))
6460                                 {
6461                                     DCBD = One
6462                                     If ((BRID == Zero))
6463                                     {
6464                                         WTGP (0x2D, One)
6465                                         WTGP (0x2F, One)
6466                                     }
6467                                     Else
6468                                     {
6469                                         If ((BRID == One))
6470                                         {
6471                                             WTGP (0x4D, One)
6472                                             WTGP (0x50, One)
6473                                         }
6474                                         Else
6475                                         {
6476                                             If ((BRID == 0x02))
6477                                             {
6478                                                 WTGP (0x4D, One)
6479                                                 WTGP (0x50, One)
6480                                             }
6481                                             Else
6482                                             {
6483                                                 If ((BRID == 0x03))
6484                                                 {
6485                                                     WTGP (0x4D, One)
6486                                                     WTGP (0x50, One)
6487                                                 }
6488                                                 Else
6489                                                 {
6490                                                     WTGP (0x4D, One)
6491                                                     WTGP (0x50, One)
6492                                                 }
6493                                             }
6494                                         }
6495                                     }
6496                                 }
6497 
6498                                 If ((Local0 & 0x02))
6499                                 {
6500                                     DCWL = One
6501                                 }
6502 
6503                                 GSTS = One
6504                             }
6505                             Else
6506                             {
6507                                 WLSR (Arg0)
6508                                 If ((BRID == Zero))
6509                                 {
6510                                     WTGP (0x2D, Zero)
6511                                     WTGP (0x2F, Zero)
6512                                 }
6513                                 Else
6514                                 {
6515                                     If ((BRID == One))
6516                                     {
6517                                         WTGP (0x4D, Zero)
6518                                         WTGP (0x50, Zero)
6519                                     }
6520                                     Else
6521                                     {
6522                                         If ((BRID == 0x02))
6523                                         {
6524                                             WTGP (0x4D, Zero)
6525                                             WTGP (0x50, Zero)
6526                                         }
6527                                         Else
6528                                         {
6529                                             If ((BRID == 0x03))
6530                                             {
6531                                                 WTGP (0x4D, Zero)
6532                                                 WTGP (0x50, Zero)
6533                                             }
6534                                             Else
6535                                             {
6536                                                 WTGP (0x4D, Zero)
6537                                                 WTGP (0x50, Zero)
6538                                             }
6539                                         }
6540                                     }
6541                                 }
6542 
6543                                 DCBD = Zero
6544                                 DCWL = Zero
6545                                 GSTS = Zero
6546                             }
6547                         }
6548 
6549                         Method (GWLN, 0, NotSerialized)
6550                         {
6551                             Local0 = Zero
6552                             If ((WGFL & 0x0100))
6553                             {
6554                                 Local0 |= One
6555                             }
6556 
6557                             If ((WGFL & 0x0800))
6558                             {
6559                                 Return (Local0)
6560                             }
6561 
6562                             If (LPWS ())
6563                             {
6564                                 Local0 |= 0x02
6565                             }
6566 
6567                             Local0 |= 0x04
6568                             Return (Local0)
6569                         }
6570 
6571                         Method (SWLN, 1, NotSerialized)
6572                         {
6573                             If ((Arg0 & 0x02))
6574                             {
6575                                 LPWC (One)
6576                             }
6577                             Else
6578                             {
6579                                 LPWC (Zero)
6580                             }
6581                         }
6582 
6583                         Method (GWAN, 0, NotSerialized)
6584                         {
6585                             Local0 = Zero
6586                             If ((WGFL & One))
6587                             {
6588                                 Local0 |= One
6589                             }
6590 
6591                             If ((WGFL & 0x08))
6592                             {
6593                                 Return (Local0)
6594                             }
6595 
6596                             If (WPWS ())
6597                             {
6598                                 Local0 |= 0x02
6599                             }
6600 
6601                             Local0 |= 0x04
6602                             Return (Local0)
6603                         }
6604 
6605                         Method (SWAN, 1, NotSerialized)
6606                         {
6607                             If ((Arg0 & 0x02))
6608                             {
6609                                 WPWC (One)
6610                             }
6611                             Else
6612                             {
6613                                 WPWC (Zero)
6614                             }
6615                         }
6616 
6617                         Method (GBDC, 0, NotSerialized)
6618                         {
6619                             If (ECIF)
6620                             {
6621                                 Return (0x04)
6622                             }
6623 
6624                             Local0 = Zero
6625                             If ((WGFL & 0x10))
6626                             {
6627                                 Local0 |= One
6628                             }
6629 
6630                             If ((WGFL & 0x80))
6631                             {
6632                                 Return (Local0)
6633                             }
6634 
6635                             If (BPWS ())
6636                             {
6637                                 Local0 |= 0x02
6638                             }
6639 
6640                             Local0 |= 0x04
6641                             Return (Local0)
6642                         }
6643 
6644                         Method (SBDC, 1, NotSerialized)
6645                         {
6646                             If ((Arg0 & 0x02))
6647                             {
6648                                 BPWC (One)
6649                             }
6650                             Else
6651                             {
6652                                 BPWC (Zero)
6653                             }
6654                         }
6655 
6656                         Method (LPWS, 0, NotSerialized)
6657                         {
6658                             If (H8DR)
6659                             {
6660                                 Local0 = DCWL /* \_SB_.PCI0.LPCB.EC0_.DCWL */
6661                             }
6662                             Else
6663                             {
6664                                 Local0 = ((RBEC (0x3A) & 0x40) >> 0x05)
6665                             }
6666 
6667                             Return (Local0)
6668                         }
6669 
6670                         Method (LPWC, 1, NotSerialized)
6671                         {
6672                             Local0 = Zero
6673                             If ((Arg0 && ((WGFL & 0x0100) && !(WGFL & 0x0800
6674                                 ))))
6675                             {
6676                                 If (H8DR)
6677                                 {
6678                                     DCWL = One
6679                                 }
6680                                 Else
6681                                 {
6682                                     MBEC (0x3A, 0xFF, 0x20)
6683                                 }
6684 
6685                                 WGFL |= 0x0200
6686                             }
6687                             Else
6688                             {
6689                                 If (H8DR)
6690                                 {
6691                                     DCWL = Zero
6692                                 }
6693                                 Else
6694                                 {
6695                                     MBEC (0x3A, 0xDF, Zero)
6696                                 }
6697 
6698                                 Local0 = ~0x0200
6699                                 WGFL &= Local0
6700                             }
6701                         }
6702 
6703                         Method (WPWS, 0, NotSerialized)
6704                         {
6705                             If (H8DR)
6706                             {
6707                                 Local0 = DCWW /* \_SB_.PCI0.LPCB.EC0_.DCWW */
6708                             }
6709                             Else
6710                             {
6711                                 Local0 = ((RBEC (0x3A) & 0x40) >> 0x06)
6712                             }
6713 
6714                             Return (Local0)
6715                         }
6716 
6717                         Method (WPWC, 1, NotSerialized)
6718                         {
6719                             Local0 = Zero
6720                             If ((Arg0 && ((WGFL & One) && !(WGFL & 0x08
6721                                 ))))
6722                             {
6723                                 If (H8DR)
6724                                 {
6725                                     DCWW = One
6726                                 }
6727                                 Else
6728                                 {
6729                                     MBEC (0x3A, 0xFF, 0x40)
6730                                 }
6731 
6732                                 WGFL |= 0x02
6733                             }
6734                             Else
6735                             {
6736                                 If (H8DR)
6737                                 {
6738                                     DCWW = Zero
6739                                 }
6740                                 Else
6741                                 {
6742                                     MBEC (0x3A, 0xBF, Zero)
6743                                 }
6744 
6745                                 Local0 = ~0x02
6746                                 WGFL &= Local0
6747                             }
6748                         }
6749 
6750                         Method (BPWS, 0, NotSerialized)
6751                         {
6752                             If (H8DR)
6753                             {
6754                                 Local0 = DCBD /* \_SB_.PCI0.LPCB.EC0_.DCBD */
6755                                 If ((BRID == Zero))
6756                                 {
6757                                     WTGP (0x2D, Local0)
6758                                     WTGP (0x2F, Local0)
6759                                 }
6760                                 Else
6761                                 {
6762                                     If ((BRID == One))
6763                                     {
6764                                         WTGP (0x4D, Local0)
6765                                         WTGP (0x50, Local0)
6766                                     }
6767                                     Else
6768                                     {
6769                                         If ((BRID == 0x02))
6770                                         {
6771                                             WTGP (0x4D, Local0)
6772                                             WTGP (0x50, Local0)
6773                                         }
6774                                         Else
6775                                         {
6776                                             If ((BRID == 0x03))
6777                                             {
6778                                                 WTGP (0x4D, Local0)
6779                                                 WTGP (0x50, Local0)
6780                                             }
6781                                             Else
6782                                             {
6783                                                 WTGP (0x4D, Local0)
6784                                                 WTGP (0x50, Local0)
6785                                             }
6786                                         }
6787                                     }
6788                                 }
6789                             }
6790                             Else
6791                             {
6792                                 Local0 = ((RBEC (0x3A) & 0x10) >> 0x04)
6793                             }
6794 
6795                             Return (Local0)
6796                         }
6797 
6798                         Method (BPWC, 1, NotSerialized)
6799                         {
6800                             Local0 = Zero
6801                             If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
6802                                 ))))
6803                             {
6804                                 If (H8DR)
6805                                 {
6806                                     DCBD = One
6807                                     If ((BRID == Zero))
6808                                     {
6809                                         WTGP (0x2D, One)
6810                                         WTGP (0x2F, One)
6811                                     }
6812                                     Else
6813                                     {
6814                                         If ((BRID == One))
6815                                         {
6816                                             WTGP (0x4D, One)
6817                                             WTGP (0x50, One)
6818                                         }
6819                                         Else
6820                                         {
6821                                             If ((BRID == 0x02))
6822                                             {
6823                                                 WTGP (0x4D, One)
6824                                                 WTGP (0x50, One)
6825                                             }
6826                                             Else
6827                                             {
6828                                                 If ((BRID == 0x03))
6829                                                 {
6830                                                     WTGP (0x4D, One)
6831                                                     WTGP (0x50, One)
6832                                                 }
6833                                                 Else
6834                                                 {
6835                                                     WTGP (0x4D, One)
6836                                                     WTGP (0x50, One)
6837                                                 }
6838                                             }
6839                                         }
6840                                     }
6841                                 }
6842                                 Else
6843                                 {
6844                                     MBEC (0x3A, 0xFF, 0x10)
6845                                     If ((BRID == Zero))
6846                                     {
6847                                         WTGP (0x2D, One)
6848                                         WTGP (0x2F, One)
6849                                     }
6850                                     Else
6851                                     {
6852                                         If ((BRID == One))
6853                                         {
6854                                             WTGP (0x4D, One)
6855                                             WTGP (0x50, One)
6856                                         }
6857                                         Else
6858                                         {
6859                                             If ((BRID == 0x02))
6860                                             {
6861                                                 WTGP (0x4D, One)
6862                                                 WTGP (0x50, One)
6863                                             }
6864                                             Else
6865                                             {
6866                                                 If ((BRID == 0x03))
6867                                                 {
6868                                                     WTGP (0x4D, One)
6869                                                     WTGP (0x50, One)
6870                                                 }
6871                                                 Else
6872                                                 {
6873                                                     WTGP (0x4D, One)
6874                                                     WTGP (0x50, One)
6875                                                 }
6876                                             }
6877                                         }
6878                                     }
6879                                 }
6880 
6881                                 WGFL |= 0x20
6882                             }
6883                             Else
6884                             {
6885                                 If (H8DR)
6886                                 {
6887                                     DCBD = Zero
6888                                     If ((BRID == Zero))
6889                                     {
6890                                         WTGP (0x2D, Zero)
6891                                         WTGP (0x2F, Zero)
6892                                     }
6893                                     Else
6894                                     {
6895                                         If ((BRID == One))
6896                                         {
6897                                             WTGP (0x4D, Zero)
6898                                             WTGP (0x50, Zero)
6899                                         }
6900                                         Else
6901                                         {
6902                                             If ((BRID == 0x02))
6903                                             {
6904                                                 WTGP (0x4D, Zero)
6905                                                 WTGP (0x50, Zero)
6906                                             }
6907                                             Else
6908                                             {
6909                                                 If ((BRID == 0x03))
6910                                                 {
6911                                                     WTGP (0x4D, Zero)
6912                                                     WTGP (0x50, Zero)
6913                                                 }
6914                                                 Else
6915                                                 {
6916                                                     WTGP (0x4D, Zero)
6917                                                     WTGP (0x50, Zero)
6918                                                 }
6919                                             }
6920                                         }
6921                                     }
6922                                 }
6923                                 Else
6924                                 {
6925                                     MBEC (0x3A, 0xEF, Zero)
6926                                     If ((BRID == Zero))
6927                                     {
6928                                         WTGP (0x2D, Zero)
6929                                         WTGP (0x2F, Zero)
6930                                     }
6931                                     Else
6932                                     {
6933                                         If ((BRID == One))
6934                                         {
6935                                             WTGP (0x4D, Zero)
6936                                             WTGP (0x50, Zero)
6937                                         }
6938                                         Else
6939                                         {
6940                                             If ((BRID == 0x02))
6941                                             {
6942                                                 WTGP (0x4D, Zero)
6943                                                 WTGP (0x50, Zero)
6944                                             }
6945                                             Else
6946                                             {
6947                                                 If ((BRID == 0x03))
6948                                                 {
6949                                                     WTGP (0x4D, Zero)
6950                                                     WTGP (0x50, Zero)
6951                                                 }
6952                                                 Else
6953                                                 {
6954                                                     WTGP (0x4D, Zero)
6955                                                     WTGP (0x50, Zero)
6956                                                 }
6957                                             }
6958                                         }
6959                                     }
6960                                 }
6961 
6962                                 Local0 = ~0x20
6963                                 WGFL &= Local0
6964                             }
6965                         }
6966 
6967                         Method (WGIN, 0, NotSerialized)
6968                         {
6969                             WGFL = Zero
6970                             WGFL = WGSV (One)
6971                             If (WIN8)
6972                             {
6973                                 WGFL |= 0x0100
6974                             }
6975 
6976                             If (WIN8)
6977                             {
6978                                 If ((WGFL && 0x10))
6979                                 {
6980                                     BPWC (One)
6981                                 }
6982 
6983                                 If ((WGFL && 0x0100))
6984                                 {
6985                                     LPWC (One)
6986                                 }
6987 
6988                                 If ((WGFL && One))
6989                                 {
6990                                     WPWC (One)
6991                                 }
6992                             }
6993 
6994                             If (LPWS ())
6995                             {
6996                                 WGFL |= 0x0200
6997                             }
6998 
6999                             If (WPWS ())
7000                             {
7001                                 WGFL |= 0x02
7002                             }
7003 
7004                             If (BPWS ())
7005                             {
7006                                 WGFL |= 0x20
7007                             }
7008                         }
7009 
7010                         Method (WGPS, 1, NotSerialized)
7011                         {
7012                             If ((Arg0 >= 0x04))
7013                             {
7014                                 BLTH (0x05)
7015                             }
7016                         }
7017 
7018                         Method (WGWK, 1, NotSerialized)
7019                         {
7020                             If ((DCWL == One))
7021                             {
7022                                 LPWC (One)
7023                             }
7024 
7025                             If ((DCBD == One))
7026                             {
7027                                 BPWC (One)
7028                             }
7029 
7030                             If ((DCWW == One))
7031                             {
7032                                 WPWC (One)
7033                             }
7034                         }
7035                     }
7036 
7037                     Scope (HKEY)
7038                     {
7039                         Name (INDV, Zero)
7040                         Method (MHQI, 0, NotSerialized)
7041                         {
7042                             Return (Zero)
7043                         }
7044 
7045                         Method (MHGI, 1, NotSerialized)
7046                         {
7047                         }
7048 
7049                         Method (MHSI, 2, NotSerialized)
7050                         {
7051                         }
7052                     }
7053 
7054                     Scope (HKEY)
7055                     {
7056                         Method (PSSG, 1, NotSerialized)
7057                         {
7058                             Return (PSIF (Zero, Zero))
7059                         }
7060 
7061                         Method (PSSS, 1, NotSerialized)
7062                         {
7063                             Sleep (0x14)
7064                             Return (PSIF (One, Arg0))
7065                         }
7066 
7067                         Method (PSBS, 1, NotSerialized)
7068                         {
7069                             Return (PSIF (0x02, Arg0))
7070                         }
7071 
7072                         Method (BICG, 1, NotSerialized)
7073                         {
7074                             If (ECIF)
7075                             {
7076                                 Return (Zero)
7077                             }
7078 
7079                             Return (PSIF (0x03, Arg0))
7080                         }
7081 
7082                         Method (BICS, 1, NotSerialized)
7083                         {
7084                             Return (PSIF (0x04, Arg0))
7085                         }
7086 
7087                         Method (BCTG, 1, NotSerialized)
7088                         {
7089                             Return (PSIF (0x05, Arg0))
7090                         }
7091 
7092                         Method (BCCS, 1, NotSerialized)
7093                         {
7094                             Return (PSIF (0x06, Arg0))
7095                         }
7096 
7097                         Method (BCSG, 1, NotSerialized)
7098                         {
7099                             Return (PSIF (0x07, Arg0))
7100                         }
7101 
7102                         Method (BCSS, 1, NotSerialized)
7103                         {
7104                             Return (PSIF (0x08, Arg0))
7105                         }
7106 
7107                         Method (BDSG, 1, NotSerialized)
7108                         {
7109                             Return (PSIF (0x09, Arg0))
7110                         }
7111 
7112                         Method (BDSS, 1, NotSerialized)
7113                         {
7114                             Return (PSIF (0x0A, Arg0))
7115                         }
7116                     }
7117 
7118                     Scope (\_SB.PCI0.LPCB.EC0)
7119                     {
7120                         Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query
7121                         {
7122                             UCMS (0x18)
7123                         }
7124 
7125                         Method (SAUM, 1, NotSerialized)
7126                         {
7127                             If ((Arg0 > 0x03))
7128                             {
7129                                 Noop
7130                             }
7131                             Else
7132                             {
7133                                 If (H8DR)
7134                                 {
7135                                     HAUM = Arg0
7136                                 }
7137                                 Else
7138                                 {
7139                                     MBEC (0x03, 0x9F, (Arg0 << 0x05))
7140                                 }
7141                             }
7142                         }
7143                     }
7144 
7145                     Scope (HKEY)
7146                     {
7147                         Method (GSMS, 1, NotSerialized)
7148                         {
7149                             Return (AUDC (Zero, Zero))
7150                         }
7151 
7152                         Method (SSMS, 1, NotSerialized)
7153                         {
7154                             Return (AUDC (One, (Arg0 & One)))
7155                         }
7156 
7157                         Method (SHDA, 1, NotSerialized)
7158                         {
7159                             Return (AUDC (0x02, (Arg0 & One)))
7160                         }
7161                     }
7162 
7163                     Scope (\_SB.PCI0.LPCB.EC0)
7164                     {
7165                         Method (_Q70, 0, NotSerialized)  // _Qxx: EC Query
7166                         {
7167                             FNST ()
7168                             Notify (PWRB, 0x02) // Device Wake
7169                         }
7170 
7171                         Method (_Q72, 0, NotSerialized)  // _Qxx: EC Query
7172                         {
7173                             FNST ()
7174                         }
7175 
7176                         Method (_Q73, 0, NotSerialized)  // _Qxx: EC Query
7177                         {
7178                             FNST ()
7179                         }
7180 
7181                         Method (FNST, 0, NotSerialized)
7182                         {
7183                             If (H8DR)
7184                             {
7185                                 Local0 = HFNS /* \_SB_.PCI0.LPCB.EC0_.HFNS */
7186                                 Local1 = HFNE /* \_SB_.PCI0.LPCB.EC0_.HFNE */
7187                             }
7188                             Else
7189                             {
7190                                 Local0 = (RBEC (0x0E) & 0x03)
7191                                 Local1 = (RBEC (Zero) & 0x08)
7192                             }
7193 
7194                             If (Local1)
7195                             {
7196                                 If ((Local0 == Zero))
7197                                 {
7198                                     UCMS (0x11)
7199                                 }
7200 
7201                                 If ((Local0 == One))
7202                                 {
7203                                     UCMS (0x0F)
7204                                 }
7205 
7206                                 If ((Local0 == 0x02))
7207                                 {
7208                                     UCMS (0x10)
7209                                 }
7210 
7211                                 ^HKEY.MHKQ (0x6005)
7212                             }
7213                         }
7214                     }
7215 
7216                     Scope (HKEY)
7217                     {
7218                         Method (GHSL, 1, NotSerialized)
7219                         {
7220                             Return (FNSC (Zero, Zero))
7221                         }
7222 
7223                         Method (SHSL, 1, NotSerialized)
7224                         {
7225                             Return (FNSC (One, (Arg0 & One)))
7226                         }
7227                     }
7228 
7229                     Scope (HKEY)
7230                     {
7231                         Method (GILN, 0, NotSerialized)
7232                         {
7233                             Return ((0x02 | ILNF))
7234                         }
7235 
7236                         Method (SILN, 1, NotSerialized)
7237                         {
7238                             If ((One == Arg0))
7239                             {
7240                                 ILNF = One
7241                                 BBLS = Zero
7242                                 Return (Zero)
7243                             }
7244                             Else
7245                             {
7246                                 If ((0x02 == Arg0))
7247                                 {
7248                                     ILNF = Zero
7249                                     BBLS = One
7250                                     Return (Zero)
7251                                 }
7252                                 Else
7253                                 {
7254                                     Return (One)
7255                                 }
7256                             }
7257                         }
7258 
7259                         Method (GLSI, 0, NotSerialized)
7260                         {
7261                             If (H8DR)
7262                             {
7263                                 Return ((0x02 + HPLD))
7264                             }
7265                             Else
7266                             {
7267                                 If ((RBEC (0x46) & 0x04))
7268                                 {
7269                                     Return (0x03)
7270                                 }
7271                                 Else
7272                                 {
7273                                     Return (0x02)
7274                                 }
7275                             }
7276                         }
7277                     }
7278 
7279                     Scope (\_SB.PCI0.LPCB.EC0)
7280                     {
7281                         Name (BRTW, Package (0x12)
7282                         {
7283                             0x64, 
7284                             0x64, 
7285                             0x05, 
7286                             0x0A, 
7287                             0x14, 
7288                             0x19, 
7289                             0x1E, 
7290                             0x23, 
7291                             0x28, 
7292                             0x2D, 
7293                             0x32, 
7294                             0x37, 
7295                             0x3C, 
7296                             0x41, 
7297                             0x46, 
7298                             0x50, 
7299                             0x5A, 
7300                             0x64
7301                         })
7302                         Name (BRTB, Package (0x04)
7303                         {
7304                             Package (0x16)
7305                             {
7306                                 0x14, 
7307                                 0x04, 
7308                                 0x04, 
7309                                 0x07, 
7310                                 0x09, 
7311                                 0x0C, 
7312                                 0x10, 
7313                                 0x15, 
7314                                 0x1C, 
7315                                 0x25, 
7316                                 0x32, 
7317                                 0x40, 
7318                                 0x50, 
7319                                 0x64, 
7320                                 0x82, 
7321                                 0xA5, 
7322                                 0xCD, 
7323                                 0xFF, 
7324                                 0xDC, 
7325                                 0xDC, 
7326                                 0x04, 
7327                                 0x04
7328                             }, 
7329 
7330                             Package (0x16)
7331                             {
7332                                 0x19, 
7333                                 0x04, 
7334                                 0x04, 
7335                                 0x06, 
7336                                 0x08, 
7337                                 0x0B, 
7338                                 0x0F, 
7339                                 0x14, 
7340                                 0x1B, 
7341                                 0x24, 
7342                                 0x31, 
7343                                 0x3F, 
7344                                 0x50, 
7345                                 0x66, 
7346                                 0x82, 
7347                                 0xA5, 
7348                                 0xCD, 
7349                                 0xFF, 
7350                                 0xDC, 
7351                                 0xDC, 
7352                                 0x04, 
7353                                 0x04
7354                             }, 
7355 
7356                             Package (0x16)
7357                             {
7358                                 0x1E, 
7359                                 0x04, 
7360                                 0x03, 
7361                                 0x05, 
7362                                 0x08, 
7363                                 0x0A, 
7364                                 0x0D, 
7365                                 0x0F, 
7366                                 0x12, 
7367                                 0x19, 
7368                                 0x22, 
7369                                 0x2E, 
7370                                 0x3E, 
7371                                 0x54, 
7372                                 0x6E, 
7373                                 0x93, 
7374                                 0xC0, 
7375                                 0xFF, 
7376                                 0xDC, 
7377                                 0xDC, 
7378                                 0x04, 
7379                                 0x04
7380                             }, 
7381 
7382                             Package (0x16)
7383                             {
7384                                 Zero, 
7385                                 0x04, 
7386                                 0x04, 
7387                                 0x07, 
7388                                 0x09, 
7389                                 0x0C, 
7390                                 0x10, 
7391                                 0x15, 
7392                                 0x1C, 
7393                                 0x25, 
7394                                 0x32, 
7395                                 0x40, 
7396                                 0x50, 
7397                                 0x64, 
7398                                 0x82, 
7399                                 0xA5, 
7400                                 0xCD, 
7401                                 0xFF, 
7402                                 0xDC, 
7403                                 0xDC, 
7404                                 0x04, 
7405                                 0x04
7406                             }
7407                         })
7408                         Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
7409                         {
7410                             If (^HKEY.MHKK (0x8000))
7411                             {
7412                                 ^HKEY.MHKQ (0x1010)
7413                             }
7414 
7415                             If (NBCF)
7416                             {
7417                                 Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
7418                             }
7419                             Else
7420                             {
7421                                 Local0 = BRLV /* \BRLV */
7422                                 If ((Local0 != 0x0F))
7423                                 {
7424                                     Local0++
7425                                     BRLV = Local0
7426                                 }
7427 
7428                                 Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
7429                                 BRNS ()
7430                                 ^HKEY.MHKQ (0x6050)
7431                             }
7432                         }
7433 
7434                         Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
7435                         {
7436                             If (^HKEY.MHKK (0x00010000))
7437                             {
7438                                 ^HKEY.MHKQ (0x1011)
7439                             }
7440 
7441                             If (NBCF)
7442                             {
7443                                 Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
7444                             }
7445                             Else
7446                             {
7447                                 Local0 = BRLV /* \BRLV */
7448                                 If (Local0)
7449                                 {
7450                                     Local0--
7451                                     BRLV = Local0
7452                                 }
7453 
7454                                 Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
7455                                 BRNS ()
7456                                 ^HKEY.MHKQ (0x6050)
7457                             }
7458 
7459                             Return (Zero)
7460                         }
7461 
7462                         Method (BRNS, 0, NotSerialized)
7463                         {
7464                             Local0 = (BRLV + 0x02)
7465                             Local3 = BNTL /* \BNTL */
7466                             If (^^^GFX0.DRDY)
7467                             {
7468                                 If ((Zero == Local0))
7469                                 {
7470                                     Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x14))
7471                                     Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x12))
7472                                 }
7473                                 Else
7474                                 {
7475                                     Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x15))
7476                                     Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x13))
7477                                 }
7478 
7479                                 Local2 = (Local1 | (Local2 << 0x09))
7480                                 ^^^GFX0.AINT (0x03, Local2)
7481                                 Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), Local0))
7482                                 ^^^GFX0.AINT (One, Local2)
7483                             }
7484                             Else
7485                             {
7486                                 UCMS (0x12)
7487                             }
7488                         }
7489                     }
7490                 }
7491 
7492                 Method (ECOK, 0, NotSerialized)
7493                 {
7494                     If ((^EC0.OKEC == One))
7495                     {
7496                         Return (One)
7497                     }
7498                     Else
7499                     {
7500                         Return (Zero)
7501                     }
7502                 }
7503 
7504                 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
7505                 Field (PKBS, ByteAcc, Lock, Preserve)
7506                 {
7507                     PKBD,   8, 
7508                     Offset (0x02), 
7509                     Offset (0x03), 
7510                     Offset (0x04), 
7511                     PKBC,   8
7512                 }
7513 
7514                 Device (PS2K)
7515                 {
7516                     Name (_HID, "MSFT0001")  // _HID: Hardware ID
7517                     Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
7518                     Method (_STA, 0, NotSerialized)  // _STA: Status
7519                     {
7520                         Return (0x0F)
7521                     }
7522 
7523                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
7524                     {
7525                         IO (Decode16,
7526                             0x0060,             // Range Minimum
7527                             0x0060,             // Range Maximum
7528                             0x01,               // Alignment
7529                             0x01,               // Length
7530                             )
7531                         IO (Decode16,
7532                             0x0064,             // Range Minimum
7533                             0x0064,             // Range Maximum
7534                             0x01,               // Alignment
7535                             0x01,               // Length
7536                             )
7537                         IRQ (Edge, ActiveHigh, Exclusive, )
7538                             {1}
7539                     })
7540                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
7541                     {
7542                         StartDependentFn (0x00, 0x00)
7543                         {
7544                             FixedIO (
7545                                 0x0060,             // Address
7546                                 0x01,               // Length
7547                                 )
7548                             FixedIO (
7549                                 0x0064,             // Address
7550                                 0x01,               // Length
7551                                 )
7552                             IRQNoFlags ()
7553                                 {1}
7554                         }
7555                         EndDependentFn ()
7556                     })
7557                 }
7558 
7559                 Device (MOU)
7560                 {
7561                     Name (_HID, EisaId ("LEN2000"))  // _HID: Hardware ID
7562                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
7563                     Method (_STA, 0, NotSerialized)  // _STA: Status
7564                     {
7565                         Return (0x0F)
7566                     }
7567 
7568                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
7569                     {
7570                         IRQ (Edge, ActiveHigh, Exclusive, )
7571                             {12}
7572                     })
7573                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
7574                     {
7575                         StartDependentFn (0x00, 0x00)
7576                         {
7577                             IRQNoFlags ()
7578                                 {12}
7579                         }
7580                         EndDependentFn ()
7581                     })
7582                     Method (MHID, 0, NotSerialized)
7583                     {
7584                         If ((OPID == One))
7585                         {
7586                             If ((RDGI (0x40) == Zero))
7587                             {
7588                                 _HID = 0x172A2E4F
7589                             }
7590                             Else
7591                             {
7592                                 _HID = 0x0F2A2E4F
7593                             }
7594                         }
7595                         Else
7596                         {
7597                             If ((RDGI (0x40) == Zero))
7598                             {
7599                                 _HID = 0x0520AE30
7600                             }
7601                             Else
7602                             {
7603                                 _HID = 0x0020AE30
7604                             }
7605                         }
7606                     }
7607                 }
7608             }
7609         }
7610 
7611         Device (LID0)
7612         {
7613             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
7614             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
7615             {
7616                 If (((ILNF == Zero) && (PLUX == Zero)))
7617                 {
7618                     If (H8DR)
7619                     {
7620                         Return (^^PCI0.LPCB.EC0.HPLD) /* \_SB_.PCI0.LPCB.EC0_.HPLD */
7621                     }
7622                     Else
7623                     {
7624                         If ((RBEC (0x46) & 0x04))
7625                         {
7626                             Return (One)
7627                         }
7628                         Else
7629                         {
7630                             Return (Zero)
7631                         }
7632                     }
7633                 }
7634                 Else
7635                 {
7636                     Return (One)
7637                 }
7638             }
7639 
7640             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
7641             {
7642                 0x0F, 
7643                 0x04
7644             })
7645             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
7646             {
7647                 If (H8DR)
7648                 {
7649                     If (Arg0)
7650                     {
7651                         ^^PCI0.LPCB.EC0.HWLO = One
7652                     }
7653                     Else
7654                     {
7655                         ^^PCI0.LPCB.EC0.HWLO = Zero
7656                     }
7657                 }
7658                 Else
7659                 {
7660                     If (Arg0)
7661                     {
7662                         MBEC (0x32, 0xFF, 0x04)
7663                     }
7664                     Else
7665                     {
7666                         MBEC (0x32, 0xFB, Zero)
7667                     }
7668                 }
7669             }
7670         }
7671 
7672         Device (SLPB)
7673         {
7674             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
7675             Method (_STA, 0, NotSerialized)  // _STA: Status
7676             {
7677                 If ((OPID == One))
7678                 {
7679                     Return (0x0F)
7680                 }
7681 
7682                 Return (Zero)
7683             }
7684         }
7685 
7686         Method (_INI, 0, NotSerialized)  // _INI: Initialize
7687         {
7688             If (CondRefOf (\_OSI, Local0))
7689             {
7690                 If (_OSI ("Windows 2001"))
7691                 {
7692                     WNTF = One
7693                     WXPF = One
7694                     WSPV = Zero
7695                 }
7696 
7697                 If (_OSI ("Windows 2001 SP1"))
7698                 {
7699                     WSPV = One
7700                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, Zero)
7701                 }
7702 
7703                 If (_OSI ("Windows 2001 SP2"))
7704                 {
7705                     WSPV = 0x02
7706                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, Zero)
7707                 }
7708 
7709                 If (_OSI ("Windows 2006"))
7710                 {
7711                     WVIS = One
7712                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, One)
7713                 }
7714 
7715                 If (_OSI ("Windows 2009"))
7716                 {
7717                     WIN7 = One
7718                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, 0x03)
7719                 }
7720 
7721                 If (_OSI ("Windows 2012"))
7722                 {
7723                     WIN8 = One
7724                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, 0x04)
7725                 }
7726 
7727                 If (_OSI ("Linux"))
7728                 {
7729                     LNUX = One
7730                     ^PCI0.LPCB.EC0.AMBX (One, 0xA3F4, 0x02)
7731                 }
7732 
7733                 If (_OSI ("FreeBSD"))
7734                 {
7735                     LNUX = One
7736                 }
7737             }
7738             Else
7739             {
7740                 If ((SCMP (_OS, "Microsoft Windows NT") == Zero))
7741                 {
7742                     WNTF = One
7743                 }
7744             }
7745 
7746             UCMS (0x1D)
7747         }
7748     }
7749 
7750     Name (SPS, Zero)
7751     Name (OSIF, Zero)
7752     Name (WNTF, Zero)
7753     Name (WXPF, Zero)
7754     Name (WVIS, Zero)
7755     Name (WIN7, Zero)
7756     Name (WIN8, Zero)
7757     Name (WSPV, Zero)
7758     Name (LNUX, Zero)
7759     Name (H8DR, Zero)
7760     Name (MEMX, Zero)
7761     Name (ACST, Zero)
7762     Name (FNID, Zero)
7763     Name (RRBF, Zero)
7764     Name (NBCF, Zero)
7765     OperationRegion (SMI0, SystemIO, 0xB2, One)
7766     Field (SMI0, ByteAcc, NoLock, Preserve)
7767     {
7768         APMC,   8
7769     }
7770 
7771     Field (MNVS, AnyAcc, NoLock, Preserve)
7772     {
7773         Offset (0xFC0), 
7774         CMD,    8, 
7775         ERR,    32, 
7776         PAR0,   32, 
7777         PAR1,   32, 
7778         PAR2,   32, 
7779         PAR3,   32
7780     }
7781 
7782     Mutex (MSMI, 0x07)
7783     Method (SMI, 5, NotSerialized)
7784     {
7785         Acquire (MSMI, 0xFFFF)
7786         Local1 = 0x05
7787         CMD = Arg0
7788         ERR = One
7789         PAR0 = Arg1
7790         PAR1 = Arg2
7791         PAR2 = Arg3
7792         PAR3 = Arg4
7793         APMC = 0xF5
7794         While ((ERR == One))
7795         {
7796             APMC = 0xF5
7797             Local1--
7798             If ((Local1 == Zero))
7799             {
7800                 ERR = Zero
7801             }
7802             Else
7803             {
7804                 Sleep (0x64)
7805             }
7806         }
7807 
7808         Local0 = PAR0 /* \PAR0 */
7809         Release (MSMI)
7810         Return (Local0)
7811     }
7812 
7813     Method (RPCI, 1, NotSerialized)
7814     {
7815         Return (SMI (Zero, Zero, Arg0, Zero, Zero))
7816     }
7817 
7818     Method (WPCI, 2, NotSerialized)
7819     {
7820         SMI (Zero, One, Arg0, Arg1, Zero)
7821     }
7822 
7823     Method (MPCI, 3, NotSerialized)
7824     {
7825         SMI (Zero, 0x02, Arg0, Arg1, Arg2)
7826     }
7827 
7828     Method (RBEC, 1, NotSerialized)
7829     {
7830         Return (SMI (Zero, 0x03, Arg0, Zero, Zero))
7831     }
7832 
7833     Method (WBEC, 2, NotSerialized)
7834     {
7835         SMI (Zero, 0x04, Arg0, Arg1, Zero)
7836     }
7837 
7838     Method (MBEC, 3, NotSerialized)
7839     {
7840         SMI (Zero, 0x05, Arg0, Arg1, Arg2)
7841     }
7842 
7843     Method (RISA, 1, NotSerialized)
7844     {
7845         Return (SMI (Zero, 0x06, Arg0, Zero, Zero))
7846     }
7847 
7848     Method (WISA, 2, NotSerialized)
7849     {
7850         SMI (Zero, 0x07, Arg0, Arg1, Zero)
7851     }
7852 
7853     Method (MISA, 3, NotSerialized)
7854     {
7855         SMI (Zero, 0x08, Arg0, Arg1, Arg2)
7856     }
7857 
7858     Method (VEXP, 0, NotSerialized)
7859     {
7860         SMI (One, Zero, Zero, Zero, Zero)
7861     }
7862 
7863     Method (VUPS, 1, NotSerialized)
7864     {
7865         SMI (One, One, Arg0, Zero, Zero)
7866     }
7867 
7868     Method (VSDS, 2, NotSerialized)
7869     {
7870         SMI (One, 0x02, Arg0, Arg1, Zero)
7871     }
7872 
7873     Method (VDDC, 0, NotSerialized)
7874     {
7875         SMI (One, 0x03, Zero, Zero, Zero)
7876     }
7877 
7878     Method (VVPD, 1, NotSerialized)
7879     {
7880         SMI (One, 0x04, Arg0, Zero, Zero)
7881     }
7882 
7883     Method (VNRS, 1, NotSerialized)
7884     {
7885         SMI (One, 0x05, Arg0, Zero, Zero)
7886     }
7887 
7888     Method (GLPW, 0, NotSerialized)
7889     {
7890         Return (SMI (One, 0x06, Zero, Zero, Zero))
7891     }
7892 
7893     Method (VSLD, 1, NotSerialized)
7894     {
7895         SMI (One, 0x07, Arg0, Zero, Zero)
7896     }
7897 
7898     Method (VEVT, 1, NotSerialized)
7899     {
7900         Return (SMI (One, 0x08, Arg0, Zero, Zero))
7901     }
7902 
7903     Method (VTHR, 0, NotSerialized)
7904     {
7905         Return (SMI (One, 0x09, Zero, Zero, Zero))
7906     }
7907 
7908     Method (VBRC, 1, NotSerialized)
7909     {
7910         SMI (One, 0x0A, Arg0, Zero, Zero)
7911     }
7912 
7913     Method (VBRG, 0, NotSerialized)
7914     {
7915         Return (SMI (One, 0x0E, Zero, Zero, Zero))
7916     }
7917 
7918     Method (VCMS, 2, NotSerialized)
7919     {
7920         Return (SMI (One, 0x0B, Arg0, Arg1, Zero))
7921     }
7922 
7923     Method (VBTD, 0, NotSerialized)
7924     {
7925         Return (SMI (One, 0x0F, Zero, Zero, Zero))
7926     }
7927 
7928     Method (VDYN, 2, NotSerialized)
7929     {
7930         Return (SMI (One, 0x11, Arg0, Arg1, Zero))
7931     }
7932 
7933     Method (UCMS, 1, NotSerialized)
7934     {
7935         Return (SMI (0x02, Arg0, Zero, Zero, Zero))
7936     }
7937 
7938     Method (BHDP, 2, NotSerialized)
7939     {
7940         Return (SMI (0x03, Zero, Arg0, Arg1, Zero))
7941     }
7942 
7943     Method (STEP, 1, NotSerialized)
7944     {
7945         SMI (0x04, Arg0, Zero, Zero, Zero)
7946     }
7947 
7948     Method (TRAP, 0, NotSerialized)
7949     {
7950         SMI (0x05, Zero, Zero, Zero, Zero)
7951     }
7952 
7953     Method (CBRI, 0, NotSerialized)
7954     {
7955         SMI (0x05, One, Zero, Zero, Zero)
7956     }
7957 
7958     Method (BCHK, 0, NotSerialized)
7959     {
7960         Return (SMI (0x05, 0x04, Zero, Zero, Zero))
7961     }
7962 
7963     Method (BYRS, 0, NotSerialized)
7964     {
7965         SMI (0x05, 0x05, Zero, Zero, Zero)
7966     }
7967 
7968     Method (LCHK, 1, NotSerialized)
7969     {
7970         Return (SMI (0x05, 0x06, Arg0, Zero, Zero))
7971     }
7972 
7973     Method (BLTH, 1, NotSerialized)
7974     {
7975         Return (SMI (0x06, Arg0, Zero, Zero, Zero))
7976     }
7977 
7978     Method (PRSM, 2, NotSerialized)
7979     {
7980         Return (SMI (0x07, Zero, Arg0, Arg1, Zero))
7981     }
7982 
7983     Method (IFRS, 2, NotSerialized)
7984     {
7985         Return (SMI (0x07, One, Arg0, Arg1, Zero))
7986     }
7987 
7988     Method (TDPC, 1, NotSerialized)
7989     {
7990         Return (SMI (0x07, 0x02, Arg0, Zero, Zero))
7991     }
7992 
7993     Method (ISOC, 1, NotSerialized)
7994     {
7995         Return (SMI (0x07, 0x03, Arg0, Zero, Zero))
7996     }
7997 
7998     Method (WGSV, 1, NotSerialized)
7999     {
8000         Return (SMI (0x09, Arg0, Zero, Zero, Zero))
8001     }
8002 
8003     Method (TSDL, 0, NotSerialized)
8004     {
8005         Return (SMI (0x0A, 0x03, Zero, Zero, Zero))
8006     }
8007 
8008     Method (TPHY, 1, NotSerialized)
8009     {
8010         SMI (0x0C, Arg0, Zero, Zero, Zero)
8011     }
8012 
8013     Method (CSUM, 1, NotSerialized)
8014     {
8015         Return (SMI (0x0E, Arg0, Zero, Zero, Zero))
8016     }
8017 
8018     Method (NVSS, 1, NotSerialized)
8019     {
8020         Return (SMI (0x0F, Arg0, Zero, Zero, Zero))
8021     }
8022 
8023     Method (WMIS, 2, NotSerialized)
8024     {
8025         Return (SMI (0x10, Arg0, Arg1, Zero, Zero))
8026     }
8027 
8028     Method (AWON, 1, NotSerialized)
8029     {
8030         Return (SMI (0x12, Arg0, Zero, Zero, Zero))
8031     }
8032 
8033     Method (PMON, 2, NotSerialized)
8034     {
8035         Local0 = SizeOf (Arg0)
8036         Name (TSTR, Buffer (Local0) {})
8037         TSTR = Arg0
8038         DBGS = TSTR /* \PMON.TSTR */
8039         SMI (0x11, Arg1, Zero, Zero, Zero)
8040     }
8041 
8042     Method (UAWS, 1, NotSerialized)
8043     {
8044         Return (SMI (0x13, Arg0, Zero, Zero, Zero))
8045     }
8046 
8047     Method (BFWC, 1, NotSerialized)
8048     {
8049         Return (SMI (0x14, Zero, Arg0, Zero, Zero))
8050     }
8051 
8052     Method (BFWP, 0, NotSerialized)
8053     {
8054         Return (SMI (0x14, One, Zero, Zero, Zero))
8055     }
8056 
8057     Method (BFWL, 0, NotSerialized)
8058     {
8059         SMI (0x14, 0x02, Zero, Zero, Zero)
8060     }
8061 
8062     Method (BFWG, 1, NotSerialized)
8063     {
8064         SMI (0x14, 0x03, Arg0, Zero, Zero)
8065     }
8066 
8067     Method (BDMC, 1, NotSerialized)
8068     {
8069         SMI (0x14, 0x04, Arg0, Zero, Zero)
8070     }
8071 
8072     Method (PSIF, 2, NotSerialized)
8073     {
8074         If (ECIF)
8075         {
8076             Return (Zero)
8077         }
8078 
8079         Return (SMI (0x14, 0x05, Arg0, Arg1, Zero))
8080     }
8081 
8082     Method (FNSC, 2, NotSerialized)
8083     {
8084         Return (SMI (0x14, 0x06, Arg0, Arg1, Zero))
8085     }
8086 
8087     Method (AUDC, 2, NotSerialized)
8088     {
8089         Return (SMI (0x14, 0x07, Arg0, Arg1, Zero))
8090     }
8091 
8092     Method (SYBC, 2, NotSerialized)
8093     {
8094         Return (SMI (0x14, 0x08, Arg0, Arg1, Zero))
8095     }
8096 
8097     Method (HKFE, 2, NotSerialized)
8098     {
8099         Return (SMI (0x14, 0x0A, Arg0, Arg1, Zero))
8100     }
8101 
8102     Method (KBLS, 2, NotSerialized)
8103     {
8104         Return (SMI (0x14, 0x09, Arg0, Arg1, Zero))
8105     }
8106 
8107     Method (CBBM, 2, NotSerialized)
8108     {
8109         Return (SMI (0x14, 0x0B, Arg0, Arg1, Zero))
8110     }
8111 
8112     Method (SOST, 2, NotSerialized)
8113     {
8114         Return (SMI (0x14, 0x0C, Arg0, Arg1, Zero))
8115     }
8116 
8117     Method (UBIS, 1, NotSerialized)
8118     {
8119         Return (SMI (0x15, Zero, Arg0, Zero, Zero))
8120     }
8121 
8122     Method (WLSR, 1, NotSerialized)
8123     {
8124         Return (SMI (0x14, 0x0A, Arg0, Zero, Zero))
8125     }
8126 
8127     Name (ECUP, One)
8128     Mutex (MUTX, 0x00)
8129     Mutex (OSUM, 0x00)
8130     Mutex (WFDM, 0x00)
8131     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
8132     Field (PRT0, DWordAcc, Lock, Preserve)
8133     {
8134         P80H,   32
8135     }
8136 
8137     Method (P8XH, 2, Serialized)
8138     {
8139         If ((Arg0 == Zero))
8140         {
8141             P80D = ((P80D & 0xFFFFFF00) | Arg1)
8142         }
8143 
8144         If ((Arg0 == One))
8145         {
8146             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
8147         }
8148 
8149         If ((Arg0 == 0x02))
8150         {
8151             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
8152         }
8153 
8154         If ((Arg0 == 0x03))
8155         {
8156             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
8157         }
8158 
8159         P80H = P80D /* \P80D */
8160     }
8161 
8162     Method (ADBG, 1, Serialized)
8163     {
8164         If (CondRefOf (MDBG))
8165         {
8166             Return (MDBG) /* External reference */
8167             Arg0
8168         }
8169 
8170         Return (Zero)
8171     }
8172 
8173     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
8174     Field (SPRT, ByteAcc, Lock, Preserve)
8175     {
8176         SSMP,   8
8177     }
8178 
8179     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
8180     {
8181         GPIC = Arg0
8182         PICM = Arg0
8183     }
8184 
8185     Name (TBTS, Package (0x08)
8186     {
8187         0x15488086, 
8188         0x15138086, 
8189         0x151A8086, 
8190         0x151B8086, 
8191         0x15478086, 
8192         0x15488086, 
8193         0x15678086, 
8194         0x15698086
8195     })
8196     Method (HRPR, 0, NotSerialized)
8197     {
8198         OperationRegion (HRPE, SystemMemory, \_GPE.MMTB (0x04), Field (HRPE, DWordAcc, Lock, Preserve)
8199             {
8200                 VDPC,   32
8201             })
8202         Return (Zero)
8203     }
8204 
8205     Method (MMRP, 0, NotSerialized)
8206     {
8207         Local0 = PEBS /* \PEBS */
8208         Local0 += 0x000E0000
8209         Local1 = (ToInteger (TBSE) - One)
8210         Local1 *= 0x1000
8211         Local0 += Local1
8212         Return (Local0)
8213     }
8214 
8215     Method (GETB, 3, Serialized)
8216     {
8217         Local0 = (Arg0 * 0x08)
8218         Local1 = (Arg1 * 0x08)
8219         CreateField (Arg2, Local0, Local1, TBF3)
8220         Return (TBF3) /* \GETB.TBF3 */
8221     }
8222 
8223     Method (PNOT, 0, Serialized)
8224     {
8225         If (CondRefOf (\_SB.PCCD.PENB))
8226         {
8227             Local0 = 0x82
8228         }
8229         Else
8230         {
8231             Local0 = 0x80
8232         }
8233 
8234         If ((TCNT > One))
8235         {
8236             If ((PDC0 & 0x08))
8237             {
8238                 Notify (\_PR.CPU0, Local0)
8239                 If ((PDC0 & 0x10))
8240                 {
8241                     Notify (\_PR.CPU0, 0x81) // C-State Change
8242                 }
8243             }
8244 
8245             If ((PDC1 & 0x08))
8246             {
8247                 Notify (\_PR.CPU1, Local0)
8248                 If ((PDC1 & 0x10))
8249                 {
8250                     Notify (\_PR.CPU1, 0x81) // C-State Change
8251                 }
8252             }
8253 
8254             If ((PDC2 & 0x08))
8255             {
8256                 Notify (\_PR.CPU2, Local0)
8257                 If ((PDC2 & 0x10))
8258                 {
8259                     Notify (\_PR.CPU2, 0x81) // C-State Change
8260                 }
8261             }
8262 
8263             If ((PDC3 & 0x08))
8264             {
8265                 Notify (\_PR.CPU3, Local0)
8266                 If ((PDC3 & 0x10))
8267                 {
8268                     Notify (\_PR.CPU3, 0x81) // C-State Change
8269                 }
8270             }
8271 
8272             If ((PDC4 & 0x08))
8273             {
8274                 Notify (\_PR.CPU4, Local0)
8275                 If ((PDC4 & 0x10))
8276                 {
8277                     Notify (\_PR.CPU4, 0x81) // C-State Change
8278                 }
8279             }
8280 
8281             If ((PDC5 & 0x08))
8282             {
8283                 Notify (\_PR.CPU5, Local0)
8284                 If ((PDC5 & 0x10))
8285                 {
8286                     Notify (\_PR.CPU5, 0x81) // C-State Change
8287                 }
8288             }
8289 
8290             If ((PDC6 & 0x08))
8291             {
8292                 Notify (\_PR.CPU6, Local0)
8293                 If ((PDC6 & 0x10))
8294                 {
8295                     Notify (\_PR.CPU6, 0x81) // C-State Change
8296                 }
8297             }
8298 
8299             If ((PDC7 & 0x08))
8300             {
8301                 Notify (\_PR.CPU7, Local0)
8302                 If ((PDC7 & 0x10))
8303                 {
8304                     Notify (\_PR.CPU7, 0x81) // C-State Change
8305                 }
8306             }
8307         }
8308         Else
8309         {
8310             Notify (\_PR.CPU0, Local0)
8311             Notify (\_PR.CPU0, 0x81) // C-State Change
8312         }
8313 
8314         If ((ECON == One))
8315         {
8316             If ((OSYS >= 0x07D6))
8317             {
8318                 Notify (\_SB.PCI0.LPCB.EC0.BAT0, 0x81) // Information Change
8319             }
8320             Else
8321             {
8322                 Notify (\_SB.PCI0.LPCB.EC0.BAT0, 0x80) // Status Change
8323             }
8324         }
8325 
8326         If ((DPTF == One))
8327         {
8328             Notify (\_SB.IETM, 0x86) // Device-Specific
8329         }
8330     }
8331 
8332     OperationRegion (MBAR, SystemMemory, ((\_SB.PCI0.MHBR << 0x0F) + 0x5000), 0x1000)
8333     Field (MBAR, ByteAcc, NoLock, Preserve)
8334     {
8335         Offset (0x938), 
8336         PWRU,   4, 
8337         Offset (0x9A0), 
8338         PPL1,   15, 
8339         PL1E,   1, 
8340         CLP1,   1
8341     }
8342 
8343     Name (CLMP, Zero)
8344     Name (PLEN, Zero)
8345     Name (PLSV, 0x8000)
8346     Name (CSEM, Zero)
8347     Method (SPL1, 0, Serialized)
8348     {
8349         Name (PPUU, Zero)
8350         If ((CSEM == One))
8351         {
8352             Return (Zero)
8353         }
8354 
8355         CSEM = One
8356         PLSV = PPL1 /* \PPL1 */
8357         PLEN = PL1E /* \PL1E */
8358         CLMP = CLP1 /* \CLP1 */
8359         If ((PWRU == Zero))
8360         {
8361             PPUU = One
8362         }
8363         Else
8364         {
8365             PPUU = (PWRU-- << 0x02)
8366         }
8367 
8368         Local0 = (PLVL * PPUU) /* \SPL1.PPUU */
8369         Local1 = (Local0 / 0x03E8)
8370         PPL1 = Local1
8371         PL1E = One
8372         CLP1 = One
8373     }
8374 
8375     Method (RPL1, 0, Serialized)
8376     {
8377         PPL1 = PLSV /* \PLSV */
8378         PL1E = PLEN /* \PLEN */
8379         CLP1 = CLMP /* \CLMP */
8380         CSEM = Zero
8381     }
8382 
8383     Name (DDPS, Zero)
8384     Name (UAMS, Zero)
8385     Method (GUAM, 1, Serialized)
8386     {
8387         If ((Arg0 != DDPS))
8388         {
8389             DDPS = Arg0
8390             UAMS = (Arg0 && ~PWRS)
8391             If (Arg0)
8392             {
8393                 P8XH (Zero, 0xC5)
8394                 P8XH (One, Zero)
8395                 ADBG ("Enter CS")
8396                 If (PSCP)
8397                 {
8398                     If ((CondRefOf (\_PR.CPU0._PSS) && CondRefOf (\_PR.CPU0._PPC)))
8399                     {
8400                         \_PR.CPU0._PPC = (SizeOf (\_PR.CPU0._PSS) - One)
8401                         PNOT ()
8402                     }
8403                 }
8404 
8405                 If (PLCS)
8406                 {
8407                     SPL1 ()
8408                 }
8409             }
8410             Else
8411             {
8412                 P8XH (Zero, 0xC5)
8413                 P8XH (One, 0xAB)
8414                 ADBG ("Exit CS")
8415                 If (PSCP)
8416                 {
8417                     If (CondRefOf (\_PR.CPU0._PPC))
8418                     {
8419                         \_PR.CPU0._PPC = Zero
8420                         PNOT ()
8421                     }
8422                 }
8423 
8424                 If (PLCS)
8425                 {
8426                     RPL1 ()
8427                 }
8428             }
8429 
8430             P_CS ()
8431         }
8432     }
8433 
8434     Method (P_CS, 0, Serialized)
8435     {
8436         If (CondRefOf (\_SB.PCI0.PAUD.PUAM))
8437         {
8438             \_SB.PCI0.PAUD.PUAM ()
8439         }
8440 
8441         If ((OSYS == 0x07DC))
8442         {
8443             If (CondRefOf (\_SB.PCI0.XHC.DUAM))
8444             {
8445                 \_SB.PCI0.XHC.DUAM ()
8446             }
8447         }
8448     }
8449 
8450     Scope (_SB.PCI0)
8451     {
8452         Method (PTMA, 0, NotSerialized)
8453         {
8454             Return (PFMA) /* \PFMA */
8455         }
8456 
8457         Method (PTMS, 0, NotSerialized)
8458         {
8459             Return (PFMS) /* \PFMS */
8460         }
8461 
8462         Method (PTIA, 0, NotSerialized)
8463         {
8464             Return (PFIA) /* \PFIA */
8465         }
8466 
8467         Method (_INI, 0, NotSerialized)  // _INI: Initialize
8468         {
8469             ^GFX0.CLID = 0x03
8470             ^LPCB.MOU.MHID ()
8471             ^RP02.PMEX = Zero
8472             ^RP02.PMSX = One
8473             OSYS = 0x07D0
8474             If (CondRefOf (\_OSI, Local0))
8475             {
8476                 If (_OSI ("Linux"))
8477                 {
8478                     OSYS = 0x03E8
8479                 }
8480 
8481                 If (_OSI ("Windows 2001"))
8482                 {
8483                     OSYS = 0x07D1
8484                 }
8485 
8486                 If (_OSI ("Windows 2001 SP1"))
8487                 {
8488                     OSYS = 0x07D1
8489                 }
8490 
8491                 If (_OSI ("Windows 2001 SP2"))
8492                 {
8493                     OSYS = 0x07D2
8494                 }
8495 
8496                 If (_OSI ("Windows 2001.1"))
8497                 {
8498                     OSYS = 0x07D3
8499                 }
8500 
8501                 If (_OSI ("Windows 2006"))
8502                 {
8503                     OSYS = 0x07D6
8504                 }
8505 
8506                 If (_OSI ("Windows 2009"))
8507                 {
8508                     OSYS = 0x07D9
8509                 }
8510 
8511                 If (_OSI ("Windows 2012"))
8512                 {
8513                     OSYS = 0x07DC
8514                 }
8515 
8516                 If (_OSI ("Windows 2013"))
8517                 {
8518                     OSYS = 0x07DD
8519                 }
8520             }
8521 
8522             Acquire (WFDM, 0xFFFF)
8523             WKFN = One
8524             Release (WFDM)
8525         }
8526 
8527         Method (NHPG, 0, Serialized)
8528         {
8529         }
8530 
8531         Method (NPME, 0, Serialized)
8532         {
8533         }
8534     }
8535 
8536     Scope (\)
8537     {
8538         Name (PICM, Zero)
8539         Name (PRWP, Package (0x02)
8540         {
8541             Zero, 
8542             Zero
8543         })
8544         Method (GPRW, 2, NotSerialized)
8545         {
8546             Index (PRWP, Zero) = Arg0
8547             Local0 = (SS1 << One)
8548             Local0 |= (SS2 << 0x02)
8549             Local0 |= (SS3 << 0x03)
8550             Local0 |= (SS4 << 0x04)
8551             If (((One << Arg1) & Local0))
8552             {
8553                 Index (PRWP, One) = Arg1
8554             }
8555             Else
8556             {
8557                 Local0 >>= One
8558                 FindSetLeftBit (Local0, Index (PRWP, One))
8559             }
8560 
8561             Return (PRWP) /* \PRWP */
8562         }
8563     }
8564 
8565     Scope (_SB)
8566     {
8567         Name (OSCI, Zero)
8568         Name (OSCO, Zero)
8569         Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
8570         {
8571             CreateDWordField (Arg3, Zero, STS0)
8572             CreateDWordField (Arg3, 0x04, CAP0)
8573             If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
8574             {
8575                 If ((Arg1 == One))
8576                 {
8577                     If ((CAP0 & 0x04))
8578                     {
8579                         OSCO = 0x04
8580                         If (((SGMD & 0x0F) != 0x02))
8581                         {
8582                             If ((RTD3 == Zero))
8583                             {
8584                                 CAP0 &= 0x3B
8585                                 STS0 |= 0x10
8586                             }
8587                         }
8588                     }
8589 
8590                     If ((CAP0 & 0x20))
8591                     {
8592                         If (CondRefOf (\_SB.PCCD.PENB))
8593                         {
8594                             If ((^PCCD.PENB == Zero))
8595                             {
8596                                 CAP0 &= 0x1F
8597                                 STS0 |= 0x10
8598                             }
8599                         }
8600                         Else
8601                         {
8602                             CAP0 &= 0x1F
8603                             STS0 |= 0x10
8604                         }
8605                     }
8606 
8607                     If (_OSI ("Windows 2013"))
8608                     {
8609                         CAP0 |= 0x04
8610                         OSCI = STS0 /* \_SB_._OSC.STS0 */
8611                         OSCO = CAP0 /* \_SB_._OSC.CAP0 */
8612                     }
8613                 }
8614                 Else
8615                 {
8616                     STS0 &= 0xFFFFFF00
8617                     STS0 |= 0x0A
8618                 }
8619             }
8620             Else
8621             {
8622                 STS0 &= 0xFFFFFF00
8623                 STS0 |= 0x06
8624             }
8625 
8626             Return (Arg3)
8627         }
8628 
8629         Device (PEPD)
8630         {
8631             Name (_HID, "INT33A1" /* Intel Power Engine */)  // _HID: Hardware ID
8632             Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
8633             Name (_UID, One)  // _UID: Unique ID
8634             Name (PEPP, Zero)
8635             Name (DEVS, Package (0x03)
8636             {
8637                 0x02, 
8638                 Package (0x01)
8639                 {
8640                     "\\_SB.PCI0.GFX0"
8641                 }, 
8642 
8643                 Package (0x01)
8644                 {
8645                     "\\_SB.PCI0.SAT0.PRT1"
8646                 }
8647             })
8648             Name (DEVX, Package (0x08)
8649             {
8650                 Package (0x02)
8651                 {
8652                     "\\_SB.PCI0.GFX0", 
8653                     0xFFFFFFFF
8654                 }, 
8655 
8656                 Package (0x02)
8657                 {
8658                     "\\_SB.PCI0.SAT0.PRT1", 
8659                     0xFFFFFFFF
8660                 }, 
8661 
8662                 Package (0x02)
8663                 {
8664                     "\\_SB.PCI0.UA01", 
8665                     0xFFFFFFFF
8666                 }, 
8667 
8668                 Package (0x02)
8669                 {
8670                     "\\_SB.PCI0.SDHC", 
8671                     0xFFFFFFFF
8672                 }, 
8673 
8674                 Package (0x02)
8675                 {
8676                     "\\_SB.PCI0.I2C0", 
8677                     0xFFFFFFFF
8678                 }, 
8679 
8680                 Package (0x02)
8681                 {
8682                     "\\_SB.PCI0.I2C1", 
8683                     0xFFFFFFFF
8684                 }, 
8685 
8686                 Package (0x02)
8687                 {
8688                     "\\_SB.PCI0.XHC", 
8689                     0xFFFFFFFF
8690                 }, 
8691 
8692                 Package (0x02)
8693                 {
8694                     "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0282&SUBSYS_00000000&REV_1000\\4&a02b74b&0&0001", 
8695                     0xFFFFFFFF
8696                 }
8697             })
8698             Name (DEVY, Package (0x12)
8699             {
8700                 Package (0x03)
8701                 {
8702                     "\\_PR.CPU0", 
8703                     One, 
8704                     Package (0x02)
8705                     {
8706                         Zero, 
8707                         Package (0x02)
8708                         {
8709                             0xFF, 
8710                             Zero
8711                         }
8712                     }
8713                 }, 
8714 
8715                 Package (0x03)
8716                 {
8717                     "\\_PR.CPU1", 
8718                     One, 
8719                     Package (0x02)
8720                     {
8721                         Zero, 
8722                         Package (0x02)
8723                         {
8724                             0xFF, 
8725                             Zero
8726                         }
8727                     }
8728                 }, 
8729 
8730                 Package (0x03)
8731                 {
8732                     "\\_PR.CPU2", 
8733                     One, 
8734                     Package (0x02)
8735                     {
8736                         Zero, 
8737                         Package (0x02)
8738                         {
8739                             0xFF, 
8740                             Zero
8741                         }
8742                     }
8743                 }, 
8744 
8745                 Package (0x03)
8746                 {
8747                     "\\_PR.CPU3", 
8748                     One, 
8749                     Package (0x02)
8750                     {
8751                         Zero, 
8752                         Package (0x02)
8753                         {
8754                             0xFF, 
8755                             Zero
8756                         }
8757                     }
8758                 }, 
8759 
8760                 Package (0x03)
8761                 {
8762                     "\\_SB.PCI0.GFX0", 
8763                     One, 
8764                     Package (0x02)
8765                     {
8766                         Zero, 
8767                         Package (0x02)
8768                         {
8769                             0xFF, 
8770                             0x03
8771                         }
8772                     }
8773                 }, 
8774 
8775                 Package (0x03)
8776                 {
8777                     "\\_SB.PCI0.SAT0", 
8778                     One, 
8779                     Package (0x02)
8780                     {
8781                         Zero, 
8782                         Package (0x02)
8783                         {
8784                             0xFF, 
8785                             0x03
8786                         }
8787                     }
8788                 }, 
8789 
8790                 Package (0x03)
8791                 {
8792                     "\\_SB.PCI0.SAT0.PRT0", 
8793                     One, 
8794                     Package (0x02)
8795                     {
8796                         Zero, 
8797                         Package (0x03)
8798                         {
8799                             0xFF, 
8800                             Zero, 
8801                             0x81
8802                         }
8803                     }
8804                 }, 
8805 
8806                 Package (0x03)
8807                 {
8808                     "\\_SB.PCI0.SAT0.PRT1", 
8809                     One, 
8810                     Package (0x02)
8811                     {
8812                         Zero, 
8813                         Package (0x03)
8814                         {
8815                             0xFF, 
8816                             Zero, 
8817                             0x81
8818                         }
8819                     }
8820                 }, 
8821 
8822                 Package (0x03)
8823                 {
8824                     "\\_SB.PCI0.SAT0.PRT2", 
8825                     One, 
8826                     Package (0x02)
8827                     {
8828                         Zero, 
8829                         Package (0x03)
8830                         {
8831                             0xFF, 
8832                             Zero, 
8833                             0x81
8834                         }
8835                     }
8836                 }, 
8837 
8838                 Package (0x03)
8839                 {
8840                     "\\_SB.PCI0.SAT0.PRT3", 
8841                     One, 
8842                     Package (0x02)
8843                     {
8844                         Zero, 
8845                         Package (0x03)
8846                         {
8847                             0xFF, 
8848                             Zero, 
8849                             0x81
8850                         }
8851                     }
8852                 }, 
8853 
8854                 Package (0x03)
8855                 {
8856                     "\\_SB.PCI0.UA00", 
8857                     One, 
8858                     Package (0x02)
8859                     {
8860                         Zero, 
8861                         Package (0x02)
8862                         {
8863                             0xFF, 
8864                             0x03
8865                         }
8866                     }
8867                 }, 
8868 
8869                 Package (0x03)
8870                 {
8871                     "\\_SB.PCI0.UA01", 
8872                     One, 
8873                     Package (0x02)
8874                     {
8875                         Zero, 
8876                         Package (0x02)
8877                         {
8878                             0xFF, 
8879                             0x03
8880                         }
8881                     }
8882                 }, 
8883 
8884                 Package (0x03)
8885                 {
8886                     "\\_SB.PCI0.SDHC", 
8887                     One, 
8888                     Package (0x02)
8889                     {
8890                         Zero, 
8891                         Package (0x02)
8892                         {
8893                             0xFF, 
8894                             0x03
8895                         }
8896                     }
8897                 }, 
8898 
8899                 Package (0x03)
8900                 {
8901                     "\\_SB.PCI0.I2C0", 
8902                     One, 
8903                     Package (0x02)
8904                     {
8905                         Zero, 
8906                         Package (0x02)
8907                         {
8908                             0xFF, 
8909                             0x03
8910                         }
8911                     }
8912                 }, 
8913 
8914                 Package (0x03)
8915                 {
8916                     "\\_SB.PCI0.I2C1", 
8917                     One, 
8918                     Package (0x02)
8919                     {
8920                         Zero, 
8921                         Package (0x02)
8922                         {
8923                             0xFF, 
8924                             0x03
8925                         }
8926                     }
8927                 }, 
8928 
8929                 Package (0x03)
8930                 {
8931                     "\\_SB.PCI0.XHC", 
8932                     One, 
8933                     Package (0x02)
8934                     {
8935                         Zero, 
8936                         Package (0x02)
8937                         {
8938                             0xFF, 
8939                             0x03
8940                         }
8941                     }
8942                 }, 
8943 
8944                 Package (0x03)
8945                 {
8946                     "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0282&SUBSYS_00000000&REV_1000", 
8947                     Zero, 
8948                     Package (0x02)
8949                     {
8950                         Zero, 
8951                         Package (0x02)
8952                         {
8953                             0xFF, 
8954                             0x03
8955                         }
8956                     }
8957                 }, 
8958 
8959                 Package (0x03)
8960                 {
8961                     "\\_SB.PCI0.ADSP", 
8962                     Zero, 
8963                     Package (0x02)
8964                     {
8965                         Zero, 
8966                         Package (0x02)
8967                         {
8968                             0xFF, 
8969                             0x03
8970                         }
8971                     }
8972                 }
8973             })
8974             Name (BCCD, Package (0x05)
8975             {
8976                 Package (0x02)
8977                 {
8978                     "\\_SB.PCI0.SAT0", 
8979                     Package (0x01)
8980                     {
8981                         Package (0x03)
8982                         {
8983                             Package (0x05)
8984                             {
8985                                 One, 
8986                                 0x08, 
8987                                 Zero, 
8988                                 One, 
8989                                 0xB2
8990                             }, 
8991 
8992                             Package (0x03)
8993                             {
8994                                 Zero, 
8995                                 0xCD, 
8996                                 One
8997                             }, 
8998 
8999                             0x3E80
9000                         }
9001                     }
9002                 }, 
9003 
9004                 Package (0x02)
9005                 {
9006                     "\\_SB.PCI0.SAT0.PRT0", 
9007                     Package (0x01)
9008                     {
9009                         Package (0x03)
9010                         {
9011                             Package (0x05)
9012                             {
9013                                 One, 
9014                                 0x08, 
9015                                 Zero, 
9016                                 One, 
9017                                 0xB2
9018                             }, 
9019 
9020                             Package (0x03)
9021                             {
9022                                 Zero, 
9023                                 0xCD, 
9024                                 One
9025                             }, 
9026 
9027                             0x3E80
9028                         }
9029                     }
9030                 }, 
9031 
9032                 Package (0x02)
9033                 {
9034                     "\\_SB.PCI0.SAT0.PRT1", 
9035                     Package (0x01)
9036                     {
9037                         Package (0x03)
9038                         {
9039                             Package (0x05)
9040                             {
9041                                 One, 
9042                                 0x08, 
9043                                 Zero, 
9044                                 One, 
9045                                 0xB2
9046                             }, 
9047 
9048                             Package (0x03)
9049                             {
9050                                 Zero, 
9051                                 0xCD, 
9052                                 One
9053                             }, 
9054 
9055                             0x3E80
9056                         }
9057                     }
9058                 }, 
9059 
9060                 Package (0x02)
9061                 {
9062                     "\\_SB.PCI0.SAT0.PRT2", 
9063                     Package (0x01)
9064                     {
9065                         Package (0x03)
9066                         {
9067                             Package (0x05)
9068                             {
9069                                 One, 
9070                                 0x08, 
9071                                 Zero, 
9072                                 One, 
9073                                 0xB2
9074                             }, 
9075 
9076                             Package (0x03)
9077                             {
9078                                 Zero, 
9079                                 0xCD, 
9080                                 One
9081                             }, 
9082 
9083                             0x3E80
9084                         }
9085                     }
9086                 }, 
9087 
9088                 Package (0x02)
9089                 {
9090                     "\\_SB.PCI0.SAT0.PRT3", 
9091                     Package (0x01)
9092                     {
9093                         Package (0x03)
9094                         {
9095                             Package (0x05)
9096                             {
9097                                 One, 
9098                                 0x08, 
9099                                 Zero, 
9100                                 One, 
9101                                 0xB2
9102                             }, 
9103 
9104                             Package (0x03)
9105                             {
9106                                 Zero, 
9107                                 0xCD, 
9108                                 One
9109                             }, 
9110 
9111                             0x3E80
9112                         }
9113                     }
9114                 }
9115             })
9116             Method (_STA, 0, NotSerialized)  // _STA: Status
9117             {
9118                 If ((OSYS >= 0x07DC))
9119                 {
9120                     If (((CDID & 0xF000) == 0x9000))
9121                     {
9122                         If ((S0ID == One))
9123                         {
9124                             Return (0x0F)
9125                         }
9126                     }
9127                 }
9128 
9129                 Return (Zero)
9130             }
9131 
9132             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
9133             {
9134                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
9135                 If ((Arg0 == ToUUID ("b8febfe0-baf8-454b-aecd-49fb91137b21")))
9136                 {
9137                     If ((Arg2 == Zero))
9138                     {
9139                         Return (Buffer (One)
9140                         {
9141                              0x07                                             /* . */
9142                         })
9143                     }
9144 
9145                     If ((Arg2 == One))
9146                     {
9147                         PEPP = One
9148                         Return (0x0F)
9149                     }
9150 
9151                     If ((Arg2 == 0x02))
9152                     {
9153                         If ((Arg1 == Zero))
9154                         {
9155                             While (One)
9156                             {
9157                                 _T_0 = PEPY /* \PEPY */
9158                                 If ((_T_0 == One))
9159                                 {
9160                                     Return (Package (0x02)
9161                                     {
9162                                         One, 
9163                                         Package (0x01)
9164                                         {
9165                                             "\\_SB.PCI0.GFX0"
9166                                         }
9167                                     })
9168                                 }
9169                                 Else
9170                                 {
9171                                     If ((_T_0 == 0x02))
9172                                     {
9173                                         Return (Package (0x02)
9174                                         {
9175                                             One, 
9176                                             Package (0x01)
9177                                             {
9178                                                 "\\_SB.PCI0.SAT0.PRT1"
9179                                             }
9180                                         })
9181                                     }
9182                                     Else
9183                                     {
9184                                         If ((_T_0 == 0x03))
9185                                         {
9186                                             Return (DEVS) /* \_SB_.PEPD.DEVS */
9187                                         }
9188                                         Else
9189                                         {
9190                                             Return (Package (0x01)
9191                                             {
9192                                                 Zero
9193                                             })
9194                                         }
9195                                     }
9196                                 }
9197 
9198                                 Break
9199                             }
9200                         }
9201 
9202                         If ((Arg1 == One))
9203                         {
9204                             If (!(PEPY & One))
9205                             {
9206                                 Index (DerefOf (Index (DEVX, Zero)), One) = Zero
9207                             }
9208 
9209                             If (!(PEPY & 0x02))
9210                             {
9211                                 Index (DerefOf (Index (DEVX, One)), One) = Zero
9212                             }
9213 
9214                             If (!(PEPY & 0x04))
9215                             {
9216                                 Index (DerefOf (Index (DEVX, 0x02)), One) = Zero
9217                             }
9218 
9219                             If (!(PEPY & 0x08))
9220                             {
9221                                 Index (DerefOf (Index (DEVX, 0x03)), One) = Zero
9222                             }
9223 
9224                             If (!(PEPY & 0x10))
9225                             {
9226                                 Index (DerefOf (Index (DEVX, 0x04)), One) = Zero
9227                             }
9228 
9229                             If (!(PEPY & 0x20))
9230                             {
9231                                 Index (DerefOf (Index (DEVX, 0x05)), One) = Zero
9232                             }
9233 
9234                             If (!(PEPY & 0x40))
9235                             {
9236                                 Index (DerefOf (Index (DEVX, 0x06)), One) = Zero
9237                             }
9238 
9239                             If (!(PEPY & 0x80))
9240                             {
9241                                 Index (DerefOf (Index (DEVX, 0x07)), One) = Zero
9242                             }
9243 
9244                             Return (DEVX) /* \_SB_.PEPD.DEVX */
9245                         }
9246                     }
9247                 }
9248 
9249                 If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66")))
9250                 {
9251                     If ((Arg2 == Zero))
9252                     {
9253                         Return (Buffer (One)
9254                         {
9255                              0x07                                             /* . */
9256                         })
9257                     }
9258 
9259                     If ((Arg2 == One))
9260                     {
9261                         If (((PEPC & 0x03) != One))
9262                         {
9263                             Index (DerefOf (Index (DEVY, 0x06)), One) = Zero
9264                             Index (DerefOf (Index (DEVY, 0x07)), One) = Zero
9265                             Index (DerefOf (Index (DEVY, 0x08)), One) = Zero
9266                             Index (DerefOf (Index (DEVY, 0x09)), One) = Zero
9267                         }
9268 
9269                         If (((PEPC & 0x03) != 0x02))
9270                         {
9271                             Index (DerefOf (Index (DEVY, 0x05)), One) = Zero
9272                             If (!(SPST & One))
9273                             {
9274                                 Index (DerefOf (Index (DEVY, 0x06)), One) = Zero
9275                             }
9276 
9277                             If (!(SPST & 0x02))
9278                             {
9279                                 Index (DerefOf (Index (DEVY, 0x07)), One) = Zero
9280                             }
9281 
9282                             If (!(SPST & 0x04))
9283                             {
9284                                 Index (DerefOf (Index (DEVY, 0x08)), One) = Zero
9285                             }
9286 
9287                             If (!(SPST & 0x08))
9288                             {
9289                                 Index (DerefOf (Index (DEVY, 0x09)), One) = Zero
9290                             }
9291                         }
9292 
9293                         If (((PEPC & 0x04) == Zero))
9294                         {
9295                             Index (DerefOf (Index (DEVY, 0x0A)), One) = Zero
9296                         }
9297 
9298                         If (((PEPC & 0x08) == Zero))
9299                         {
9300                             Index (DerefOf (Index (DEVY, 0x0B)), One) = Zero
9301                         }
9302 
9303                         If (((PEPC & 0x10) == Zero))
9304                         {
9305                             Index (DerefOf (Index (DEVY, 0x0C)), One) = Zero
9306                         }
9307 
9308                         If (((PEPC & 0x20) == Zero))
9309                         {
9310                             Index (DerefOf (Index (DEVY, 0x0D)), One) = Zero
9311                         }
9312 
9313                         If (((PEPC & 0x40) == Zero))
9314                         {
9315                             Index (DerefOf (Index (DEVY, 0x0E)), One) = Zero
9316                         }
9317 
9318                         If (((PEPC & 0x80) == Zero))
9319                         {
9320                             Index (DerefOf (Index (DEVY, 0x0F)), One) = Zero
9321                         }
9322 
9323                         If (((PEPC & 0x0100) == Zero))
9324                         {
9325                             Index (DerefOf (Index (DEVY, 0x10)), One) = Zero
9326                         }
9327 
9328                         If (((PEPC & 0x0200) == Zero))
9329                         {
9330                             Index (DerefOf (Index (DEVY, 0x11)), One) = Zero
9331                         }
9332 
9333                         Return (DEVY) /* \_SB_.PEPD.DEVY */
9334                     }
9335 
9336                     If ((Arg2 == 0x02))
9337                     {
9338                         Return (BCCD) /* \_SB_.PEPD.BCCD */
9339                     }
9340                 }
9341 
9342                 Return (One)
9343             }
9344         }
9345     }
9346 
9347     Scope (_SB)
9348     {
9349         Device (BTKL)
9350         {
9351             Name (_HID, "INT3420" /* Intel Bluetooth RF Kill */)  // _HID: Hardware ID
9352             Method (_STA, 0, NotSerialized)  // _STA: Status
9353             {
9354                 If (_OSI ("Windows 2012"))
9355                 {
9356                     If ((BID == BW2C))
9357                     {
9358                         Return (0x0F)
9359                     }
9360                 }
9361 
9362                 Return (Zero)
9363             }
9364 
9365             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
9366             {
9367                 GL0A &= 0x7F
9368             }
9369 
9370             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
9371             {
9372                 GL0A |= 0x80
9373             }
9374 
9375             Method (PSTS, 0, NotSerialized)
9376             {
9377                 Return (RDGP (0x57))
9378             }
9379         }
9380     }
9381 
9382     OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
9383     Field (TMMB, ByteAcc, Lock, Preserve)
9384     {
9385         ACCS,   8, 
9386         Offset (0x18), 
9387         TSTA,   8, 
9388         TBCA,   8, 
9389         Offset (0xF00), 
9390         TVID,   16, 
9391         TDID,   16
9392     }
9393 
9394     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
9395     {
9396         If ((Arg0 == 0x03))
9397         {
9398             P80H = 0x53
9399         }
9400 
9401         If ((Arg0 == 0x04))
9402         {
9403             P80H = 0x54
9404         }
9405 
9406         If ((Arg0 == 0x05))
9407         {
9408             P80H = 0x55
9409         }
9410 
9411         Local0 = One
9412         If ((Arg0 == SPS))
9413         {
9414             Local0 = Zero
9415         }
9416 
9417         If (((Arg0 == Zero) || (Arg0 >= 0x06)))
9418         {
9419             Local0 = Zero
9420         }
9421 
9422         If (Local0)
9423         {
9424             SPS = Arg0
9425             \_SB.PCI0.LPCB.EC0.HKEY.MHKE (Zero)
9426             If (\_SB.PCI0.LPCB.EC0.KBLT)
9427             {
9428                 UCMS (0x0D)
9429             }
9430 
9431             If ((Arg0 == One))
9432             {
9433                 FNID = \_SB.PCI0.LPCB.EC0.HFNI
9434                 \_SB.PCI0.LPCB.EC0.HFNI = Zero
9435                 \_SB.PCI0.LPCB.EC0.HFSP = Zero
9436             }
9437 
9438             If ((Arg0 == 0x03))
9439             {
9440                 If ((ICNF & One))
9441                 {
9442                     If (((ICNF & 0x10) && (\_SB.IAOE.ITMR == Zero)))
9443                     {
9444                         If ((CondRefOf (\_SB.PCI0.LPCB.EC0.ESDL) && CondRefOf (\_SB.IAOE.ECTM)))
9445                         {
9446                             If ((\_SB.IAOE.ECTM > Zero))
9447                             {
9448                                 Local0 = (\_SB.IAOE.ECTM / 0x3C)
9449                                 \_SB.PCI0.LPCB.EC0.ESDL = (Local0 & 0xFF)
9450                                 \_SB.PCI0.LPCB.EC0.ESDH = ((Local0 & 0xFF00) >> 0x08)
9451                             }
9452                         }
9453                     }
9454                 }
9455 
9456                 VVPD (0x03)
9457                 TRAP ()
9458                 ACST = \_SB.PCI0.LPCB.EC0.AC._PSR ()
9459                 \_SB.PCI0.LPCB.EC0.AAEW = Zero
9460             }
9461 
9462             If ((Arg0 == 0x04))
9463             {
9464                 TRAP ()
9465                 If (((ACCS != 0xFF) && (TPME != Zero)))
9466                 {
9467                     \_SB.TPM.CMOR ()
9468                 }
9469 
9470                 AWON (0x04)
9471                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0xC0)
9472             }
9473 
9474             If ((Arg0 == 0x05))
9475             {
9476                 TRAP ()
9477                 If ((BRID == Zero))
9478                 {
9479                     \_SB.WTGP (0x2D, Zero)
9480                     \_SB.WTGP (0x2F, Zero)
9481                 }
9482                 Else
9483                 {
9484                     If ((BRID == One))
9485                     {
9486                         \_SB.WTGP (0x4D, Zero)
9487                         \_SB.WTGP (0x50, Zero)
9488                     }
9489                     Else
9490                     {
9491                         If ((BRID == 0x02))
9492                         {
9493                             \_SB.WTGP (0x4D, Zero)
9494                             \_SB.WTGP (0x50, Zero)
9495                         }
9496                         Else
9497                         {
9498                             If ((BRID == 0x03))
9499                             {
9500                                 \_SB.WTGP (0x4D, Zero)
9501                                 \_SB.WTGP (0x50, Zero)
9502                             }
9503                             Else
9504                             {
9505                                 \_SB.WTGP (0x4D, Zero)
9506                                 \_SB.WTGP (0x50, Zero)
9507                             }
9508                         }
9509                     }
9510                 }
9511 
9512                 If (((ACCS != 0xFF) && (TPME != Zero)))
9513                 {
9514                     \_SB.TPM.CMOR ()
9515                 }
9516 
9517                 AWON (0x05)
9518             }
9519 
9520             If ((Arg0 >= 0x04))
9521             {
9522                 \_SB.PCI0.LPCB.EC0.HWLB = Zero
9523             }
9524             Else
9525             {
9526                 \_SB.PCI0.LPCB.EC0.HWLB = One
9527             }
9528 
9529             If ((Arg0 >= 0x03))
9530             {
9531                 \_SB.PCI0.LPCB.EC0.HCMU = One
9532             }
9533 
9534             If ((Arg0 != 0x05)) {}
9535             \_SB.PCI0.LPCB.EC0.HKEY.WGPS (Arg0)
9536             P80H = 0xF6
9537         }
9538     }
9539 
9540     Name (WAKI, Package (0x02)
9541     {
9542         Zero, 
9543         Zero
9544     })
9545     Mutex (XAKW, 0x00)
9546     Name (OSTP, Zero)
9547     Method (_WAK, 1, Serialized)  // _WAK: Wake
9548     {
9549         If ((Arg0 == 0x03))
9550         {
9551             P80H = 0xE3
9552         }
9553 
9554         If ((Arg0 == 0x04))
9555         {
9556             P80H = 0xE4
9557         }
9558 
9559         If ((Arg0 == 0x05))
9560         {
9561             P80H = 0xE5
9562         }
9563 
9564         If (((Arg0 == Zero) || (Arg0 >= 0x05)))
9565         {
9566             Return (WAKI) /* \WAKI */
9567         }
9568 
9569         If ((((\_SB.PCI0.B0D3.ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
9570             \_SB.PCI0.B0D3.ABAR & 0xFFFFC000) != Zero)))
9571         {
9572             \_SB.PCI0.B0D3.BARA = \_SB.PCI0.B0D3.ABAR
9573         }
9574 
9575         If ((ICNF & 0x10))
9576         {
9577             If ((\_SB.PCI0.GFX0.TCHE & 0x0100))
9578             {
9579                 If ((\_SB.IAOE.ITMR == One))
9580                 {
9581                     If (((\_SB.IAOE.IBT1 & One) && ((\_SB.IAOE.WKRS & 0x02) || (
9582                         \_SB.IAOE.WKRS & 0x10))))
9583                     {
9584                         \_SB.PCI0.GFX0.STAT = ((\_SB.PCI0.GFX0.STAT & 0xFFFFFFFFFFFFFFFC) | One)
9585                     }
9586                     Else
9587                     {
9588                         \_SB.PCI0.GFX0.STAT = (\_SB.PCI0.GFX0.STAT & 0xFFFFFFFFFFFFFFFC)
9589                     }
9590                 }
9591                 Else
9592                 {
9593                     If (CondRefOf (\_SB.PCI0.LPCB.EC0.AAEN))
9594                     {
9595                         If (((\_SB.PCI0.LPCB.EC0.AAEN & One) && ((\_SB.IAOE.WKRS & 0x02) || (
9596                             \_SB.IAOE.WKRS & 0x10))))
9597                         {
9598                             \_SB.PCI0.GFX0.STAT = ((\_SB.PCI0.GFX0.STAT & 0xFFFFFFFFFFFFFFFC) | One)
9599                         }
9600                         Else
9601                         {
9602                             \_SB.PCI0.GFX0.STAT = (\_SB.PCI0.GFX0.STAT & 0xFFFFFFFFFFFFFFFC)
9603                         }
9604                     }
9605                 }
9606             }
9607 
9608             If (CondRefOf (\_SB.IAOE.PTSL))
9609             {
9610                 \_SB.IAOE.PTSL = Zero
9611             }
9612 
9613             If ((\_SB.IAOE.ITMR == Zero))
9614             {
9615                 \_SB.PCI0.LPCB.EC0.ESDL = Zero
9616                 \_SB.PCI0.LPCB.EC0.ESDH = Zero
9617             }
9618 
9619             If (CondRefOf (\_SB.IAOE.ECTM))
9620             {
9621                 \_SB.IAOE.ECTM = Zero
9622             }
9623 
9624             If (CondRefOf (\_SB.IAOE.RCTM))
9625             {
9626                 \_SB.IAOE.RCTM = Zero
9627             }
9628         }
9629 
9630         Acquire (XAKW, 0xFFFF)
9631         SPS = Zero
9632         \_SB.PCI0.LPCB.EC0.HCMU = Zero
9633         \_SB.PCI0.LPCB.EC0.EVNT (One)
9634         \_SB.PCI0.LPCB.EC0.HKEY.MHKE (One)
9635         \_SB.PCI0.LPCB.EC0.FNST ()
9636         UCMS (0x0D)
9637         \_SB.PCI0.RP02.PMEX = Zero
9638         \_SB.PCI0.RP02.PMSX = One
9639         \_SB.PCI0.RP03.PMEX = Zero
9640         \_SB.PCI0.RP03.PMSX = One
9641         LIDB = Zero
9642         If ((Arg0 == One))
9643         {
9644             FNID = \_SB.PCI0.LPCB.EC0.HFNI
9645         }
9646 
9647         If ((Arg0 == 0x03))
9648         {
9649             \_SB.PCI0.LPCB.EC0.LED (Zero, 0x80)
9650             NVSS (Zero)
9651             PWRS = \_SB.PCI0.LPCB.EC0.AC._PSR ()
9652             \_SB.PCI0.LPCB.EC0.HKEY.WGIN ()
9653             If (OSC4)
9654             {
9655                 PNTF (0x81)
9656             }
9657 
9658             If ((ACST != \_SB.PCI0.LPCB.EC0.AC._PSR ())) {}
9659             IOEN = Zero
9660             IOST = Zero
9661             If ((ISWK == One))
9662             {
9663                 If (\_SB.PCI0.LPCB.EC0.HKEY.DHKC)
9664                 {
9665                     \_SB.PCI0.LPCB.EC0.HKEY.MHKQ (0x6070)
9666                 }
9667             }
9668 
9669             If (VIGD)
9670             {
9671                 If (WVIS)
9672                 {
9673                     VBTD ()
9674                 }
9675             }
9676 
9677             VCMS (One, \_SB.LID0._LID ())
9678             AWON (Zero)
9679             If (CMPR)
9680             {
9681                 CMPR = Zero
9682             }
9683 
9684             Local0 = \_SB.PCI0.LPCB.EC0.HWAK
9685             If ((Local0 & 0x04))
9686             {
9687                 Notify (\_SB.PWRB, 0x02) // Device Wake
9688             }
9689 
9690             If ((\_SB.RDGI (0x23) == Zero))
9691             {
9692                 \_SB.WTGP (0x37, One)
9693             }
9694         }
9695 
9696         If ((Arg0 == 0x04))
9697         {
9698             NVSS (Zero)
9699             If (_OSI ("Windows 2001 SP1"))
9700             {
9701                 OSTP = Zero
9702             }
9703 
9704             If (_OSI ("Windows 2001 SP2"))
9705             {
9706                 OSTP = Zero
9707             }
9708 
9709             If (_OSI ("Windows 2006"))
9710             {
9711                 OSTP = One
9712             }
9713 
9714             If (_OSI ("Windows 2009"))
9715             {
9716                 OSTP = 0x03
9717             }
9718 
9719             If (_OSI ("Windows 2012"))
9720             {
9721                 OSTP = 0x04
9722             }
9723 
9724             If (_OSI ("Linux"))
9725             {
9726                 OSTP = 0x02
9727             }
9728 
9729             SOST (One, OSTP)
9730             \_SB.PCI0.LPCB.EC0.HKEY.WGIN ()
9731             \_SB.PCI0.LPCB.EC0.HSPA = Zero
9732             PWRS = \_SB.PCI0.LPCB.EC0.AC._PSR ()
9733             If ((\_SB.PCI0.LPCB.EC0.DCWW == One)) {}
9734             Else
9735             {
9736             }
9737 
9738             If (OSC4)
9739             {
9740                 PNTF (0x81)
9741             }
9742 
9743             If (!NBCF)
9744             {
9745                 If (VIGD)
9746                 {
9747                     \_SB.PCI0.LPCB.EC0.BRNS ()
9748                 }
9749                 Else
9750                 {
9751                     VBRC (BRLV)
9752                 }
9753             }
9754 
9755             IOEN = Zero
9756             IOST = Zero
9757         }
9758 
9759         \_SB.PCI0.LPCB.EC0.BATW (Arg0)
9760         \_SB.PCI0.LPCB.EC0.HKEY.WGWK (Arg0)
9761         VSLD (\_SB.LID0._LID ())
9762         If (VIGD)
9763         {
9764             \_SB.PCI0.GFX0.CLID = \_SB.LID0._LID ()
9765         }
9766 
9767         If ((Arg0 < 0x04))
9768         {
9769             If ((RRBF & 0x02))
9770             {
9771                 Local0 = (Arg0 << 0x08)
9772                 Local0 = (0x2013 | Local0)
9773                 \_SB.PCI0.LPCB.EC0.HKEY.MHKQ (Local0)
9774             }
9775         }
9776 
9777         If ((Arg0 == 0x04))
9778         {
9779             Local0 = Zero
9780             Local1 = CSUM (Zero)
9781             If ((Local1 != CHKC))
9782             {
9783                 Local0 = One
9784                 CHKC = Local1
9785             }
9786 
9787             Local1 = CSUM (One)
9788             If ((Local1 != CHKE))
9789             {
9790                 Local0 = One
9791                 CHKE = Local1
9792             }
9793 
9794             If (Local0)
9795             {
9796                 Notify (_SB, Zero) // Bus Check
9797             }
9798         }
9799 
9800         Local0 = \_SB.PCI0.LPCB.EC0.HWAK
9801         If ((Local0 & One))
9802         {
9803             Local0 &= 0xFE
9804             \_SB.PCI0.LPCB.EC0.HWAK = Local0
9805         }
9806 
9807         If ((Local0 & 0x02))
9808         {
9809             Local0 &= 0xFD
9810             \_SB.PCI0.LPCB.EC0.HWAK = Local0
9811         }
9812 
9813         If ((Local0 & 0x04))
9814         {
9815             Local0 &= 0xFB
9816             \_SB.PCI0.LPCB.EC0.HWAK = Local0
9817         }
9818 
9819         If ((Local0 & 0x10))
9820         {
9821             Local0 &= 0xEF
9822             \_SB.PCI0.LPCB.EC0.HWAK = Local0
9823         }
9824 
9825         If ((Local0 & 0x40))
9826         {
9827             Local0 &= 0xBF
9828             \_SB.PCI0.LPCB.EC0.HWAK = Local0
9829         }
9830 
9831         Release (XAKW)
9832         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
9833         {
9834             \_SB.PCI0.XHC.XWAK ()
9835         }
9836 
9837         RRBF = Zero
9838         P80H = 0xD0
9839         Return (WAKI) /* \WAKI */
9840     }
9841 
9842     Scope (_PR)
9843     {
9844         Processor (CPU0, 0x01, 0x00001810, 0x06)
9845         {
9846             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9847             {
9848                 ADBG ("CPU0 DEP Call")
9849                 If ((S0ID == One))
9850                 {
9851                     ADBG ("CPU0 DEP")
9852                     Return (Package (0x01)
9853                     {
9854                         \_SB.PEPD
9855                     })
9856                 }
9857                 Else
9858                 {
9859                     ADBG ("CPU0 DEP NULL")
9860                     Return (Package (0x00) {})
9861                 }
9862             }
9863         }
9864 
9865         Processor (CPU1, 0x02, 0x00001810, 0x06)
9866         {
9867             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9868             {
9869                 ADBG ("CPU1 DEP Call")
9870                 If ((S0ID == One))
9871                 {
9872                     ADBG ("CPU1 DEP")
9873                     Return (Package (0x01)
9874                     {
9875                         \_SB.PEPD
9876                     })
9877                 }
9878                 Else
9879                 {
9880                     ADBG ("CPU1 DEP NULL")
9881                     Return (Package (0x00) {})
9882                 }
9883             }
9884         }
9885 
9886         Processor (CPU2, 0x03, 0x00001810, 0x06)
9887         {
9888             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9889             {
9890                 ADBG ("CPU2 DEP Call")
9891                 If ((S0ID == One))
9892                 {
9893                     ADBG ("CPU2 DEP")
9894                     Return (Package (0x01)
9895                     {
9896                         \_SB.PEPD
9897                     })
9898                 }
9899                 Else
9900                 {
9901                     ADBG ("CPU2 DEP NULL")
9902                     Return (Package (0x00) {})
9903                 }
9904             }
9905         }
9906 
9907         Processor (CPU3, 0x04, 0x00001810, 0x06)
9908         {
9909             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9910             {
9911                 ADBG ("CPU3 DEP Call")
9912                 If ((S0ID == One))
9913                 {
9914                     ADBG ("CPU3 DEP")
9915                     Return (Package (0x01)
9916                     {
9917                         \_SB.PEPD
9918                     })
9919                 }
9920                 Else
9921                 {
9922                     ADBG ("CPU3 DEP NULL")
9923                     Return (Package (0x00) {})
9924                 }
9925             }
9926         }
9927 
9928         Processor (CPU4, 0x05, 0x00001810, 0x06)
9929         {
9930             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9931             {
9932                 ADBG ("CPU4 DEP Call")
9933                 If ((S0ID == One))
9934                 {
9935                     ADBG ("CPU4 DEP")
9936                     Return (Package (0x01)
9937                     {
9938                         \_SB.PEPD
9939                     })
9940                 }
9941                 Else
9942                 {
9943                     ADBG ("CPU4 DEP NULL")
9944                     Return (Package (0x00) {})
9945                 }
9946             }
9947         }
9948 
9949         Processor (CPU5, 0x06, 0x00001810, 0x06)
9950         {
9951             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9952             {
9953                 ADBG ("CPU5 DEP Call")
9954                 If ((S0ID == One))
9955                 {
9956                     ADBG ("CPU5 DEP")
9957                     Return (Package (0x01)
9958                     {
9959                         \_SB.PEPD
9960                     })
9961                 }
9962                 Else
9963                 {
9964                     ADBG ("CPU5 DEP NULL")
9965                     Return (Package (0x00) {})
9966                 }
9967             }
9968         }
9969 
9970         Processor (CPU6, 0x07, 0x00001810, 0x06)
9971         {
9972             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9973             {
9974                 ADBG ("CPU6 DEP Call")
9975                 If ((S0ID == One))
9976                 {
9977                     ADBG ("CPU6 DEP")
9978                     Return (Package (0x01)
9979                     {
9980                         \_SB.PEPD
9981                     })
9982                 }
9983                 Else
9984                 {
9985                     ADBG ("CPU6 DEP NULL")
9986                     Return (Package (0x00) {})
9987                 }
9988             }
9989         }
9990 
9991         Processor (CPU7, 0x08, 0x00001810, 0x06)
9992         {
9993             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
9994             {
9995                 ADBG ("CPU7 DEP Call")
9996                 If ((S0ID == One))
9997                 {
9998                     ADBG ("CPU7 DEP")
9999                     Return (Package (0x01)
10000                     {
10001                         \_SB.PEPD
10002                     })
10003                 }
10004                 Else
10005                 {
10006                     ADBG ("CPU7 DEP NULL")
10007                     Return (Package (0x00) {})
10008                 }
10009             }
10010         }
10011     }
10012 
10013     Scope (\)
10014     {
10015         Method (PNTF, 1, NotSerialized)
10016         {
10017             If ((PPMF & 0x0400))
10018             {
10019                 If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
10020                     Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
10021                 {
10022                     Notify (\_PR.CPU0, Arg0)
10023                 }
10024 
10025                 If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
10026                     Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
10027                 {
10028                     Notify (\_PR.CPU1, Arg0)
10029                 }
10030 
10031                 If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
10032                     Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
10033                 {
10034                     Notify (\_PR.CPU2, Arg0)
10035                 }
10036 
10037                 If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
10038                     Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
10039                 {
10040                     Notify (\_PR.CPU3, Arg0)
10041                 }
10042 
10043                 If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
10044                     Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
10045                 {
10046                     Notify (\_PR.CPU4, Arg0)
10047                 }
10048 
10049                 If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
10050                     Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
10051                 {
10052                     Notify (\_PR.CPU5, Arg0)
10053                 }
10054 
10055                 If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
10056                     Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
10057                 {
10058                     Notify (\_PR.CPU6, Arg0)
10059                 }
10060 
10061                 If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
10062                     Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
10063                 {
10064                     Notify (\_PR.CPU7, Arg0)
10065                 }
10066             }
10067             Else
10068             {
10069                 If (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 == 0x82))))
10070                 {
10071                     Notify (\_PR.CPU0, Arg0)
10072                 }
10073             }
10074         }
10075     }
10076 
10077     Scope (_TZ)
10078     {
10079         Name (ETMD, One)
10080         Name (THLD, 0x78)
10081         Name (YBT4, 0x37)
10082         Name (YBT3, 0x40)
10083         Name (YBT2, 0x49)
10084         Name (YBT1, 0x50)
10085         Name (YBT0, 0x5B)
10086         ThermalZone (TZ01)
10087         {
10088             Name (PTMP, 0x0BB8)
10089             Method (_SCP, 1, Serialized)  // _SCP: Set Cooling Policy
10090             {
10091                 CTYP = Arg0
10092             }
10093 
10094             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
10095             {
10096                 If (CondRefOf (\_PR.ACRT))
10097                 {
10098                     If ((\_PR.ACRT != Zero))
10099                     {
10100                         Return ((0x0AAC + (\_PR.ACRT * 0x0A)))
10101                     }
10102                 }
10103 
10104                 Return ((0x0AAC + (CRTT * 0x0A)))
10105             }
10106 
10107             Method (_TMP, 0, Serialized)  // _TMP: Temperature
10108             {
10109                 Local0 = \_SB.PCI0.LPCB.EC0.CPU1
10110                 Return (Local0)
10111             }
10112         }
10113     }
10114 
10115     Scope (_SB.PCI0)
10116     {
10117         Device (PDRC)
10118         {
10119             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
10120             Name (_UID, One)  // _UID: Unique ID
10121             Name (BUF0, ResourceTemplate ()
10122             {
10123                 Memory32Fixed (ReadWrite,
10124                     0x00000000,         // Address Base
10125                     0x00004000,         // Address Length
10126                     _Y10)
10127                 Memory32Fixed (ReadWrite,
10128                     0x00000000,         // Address Base
10129                     0x00008000,         // Address Length
10130                     _Y13)
10131                 Memory32Fixed (ReadWrite,
10132                     0x00000000,         // Address Base
10133                     0x00001000,         // Address Length
10134                     _Y14)
10135                 Memory32Fixed (ReadWrite,
10136                     0x00000000,         // Address Base
10137                     0x00001000,         // Address Length
10138                     _Y15)
10139                 Memory32Fixed (ReadWrite,
10140                     0x00000000,         // Address Base
10141                     0x00000000,         // Address Length
10142                     _Y16)
10143                 Memory32Fixed (ReadWrite,
10144                     0xFED20000,         // Address Base
10145                     0x00020000,         // Address Length
10146                     )
10147                 Memory32Fixed (ReadOnly,
10148                     0xFED90000,         // Address Base
10149                     0x00004000,         // Address Length
10150                     )
10151                 Memory32Fixed (ReadWrite,
10152                     0xFED45000,         // Address Base
10153                     0x0004B000,         // Address Length
10154                     )
10155                 Memory32Fixed (ReadOnly,
10156                     0xFF000000,         // Address Base
10157                     0x01000000,         // Address Length
10158                     )
10159                 Memory32Fixed (ReadOnly,
10160                     0xFEE00000,         // Address Base
10161                     0x00100000,         // Address Length
10162                     )
10163                 Memory32Fixed (ReadWrite,
10164                     0x00000000,         // Address Base
10165                     0x00001000,         // Address Length
10166                     _Y11)
10167                 Memory32Fixed (ReadWrite,
10168                     0x00000000,         // Address Base
10169                     0x00010000,         // Address Length
10170                     _Y12)
10171             })
10172             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
10173             {
10174                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y10._BAS, RBR0)  // _BAS: Base Address
10175                 RBR0 = (^^LPCB.RCBA << 0x0E)
10176                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, TBR0)  // _BAS: Base Address
10177                 TBR0 = TBAB /* \TBAB */
10178                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._LEN, TBLN)  // _LEN: Length
10179                 If ((TBAB == Zero))
10180                 {
10181                     TBLN = Zero
10182                 }
10183 
10184                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, SNR0)  // _BAS: Base Address
10185                 SNR0 = SRMB /* \SRMB */
10186                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0)  // _BAS: Base Address
10187                 MBR0 = (MHBR << 0x0F)
10188                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0)  // _BAS: Base Address
10189                 DBR0 = (DIBR << 0x0C)
10190                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0)  // _BAS: Base Address
10191                 EBR0 = (EPBR << 0x0C)
10192                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0)  // _BAS: Base Address
10193                 XBR0 = (PXBR << 0x1A)
10194                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0)  // _LEN: Length
10195                 XSZ0 = (0x10000000 >> PXSZ) /* \_SB_.PCI0.PXSZ */
10196                 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
10197             }
10198         }
10199     }
10200 
10201     Method (BRTN, 1, Serialized)
10202     {
10203         If (((DIDX & 0x0F00) == 0x0400))
10204         {
10205             Notify (\_SB.PCI0.GFX0.DD1F, Arg0)
10206         }
10207     }
10208 
10209     Scope (_GPE)
10210     {
10211         Method (_L69, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10212         {
10213             If ((RP1D == Zero))
10214             {
10215                 \_SB.PCI0.RP01.HPME ()
10216                 Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
10217             }
10218 
10219             If ((RP2D == Zero))
10220             {
10221                 \_SB.PCI0.RP02.HPME ()
10222                 Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
10223             }
10224 
10225             If ((RP3D == Zero))
10226             {
10227                 \_SB.PCI0.RP03.HPME ()
10228                 Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
10229             }
10230 
10231             If ((RP4D == Zero))
10232             {
10233                 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
10234             }
10235 
10236             If ((RP5D == Zero))
10237             {
10238                 Notify (\_SB.PCI0.RP05, 0x02) // Device Wake
10239             }
10240 
10241             If ((D1F0 == One))
10242             {
10243                 \_SB.PCI0.PEG0.HPME ()
10244                 Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake
10245                 Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake
10246             }
10247 
10248             If ((D1F1 == One))
10249             {
10250                 \_SB.PCI0.PEG1.HPME ()
10251                 Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake
10252             }
10253 
10254             If ((D1F2 == One))
10255             {
10256                 \_SB.PCI0.PEG2.HPME ()
10257                 Notify (\_SB.PCI0.PEG2, 0x02) // Device Wake
10258             }
10259         }
10260 
10261         Method (_L0F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10262         {
10263             Local0 = \_SB.PCI0.LPCB.EC0.HWAK
10264         }
10265 
10266         Method (_L6D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10267         {
10268             If ((\_SB.PCI0.EHC1.PMEE && \_SB.PCI0.EHC1.PMES))
10269             {
10270                 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
10271             }
10272 
10273             If ((\_SB.PCI0.EHC2.PMEE && \_SB.PCI0.EHC2.PMES))
10274             {
10275                 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
10276             }
10277 
10278             If ((\_SB.PCI0.XHC.PMEE && \_SB.PCI0.XHC.PMES))
10279             {
10280                 Notify (\_SB.PCI0.XHC, 0x02) // Device Wake
10281             }
10282 
10283             If ((\_SB.PCI0.HDEF.PMEE && \_SB.PCI0.HDEF.PMES))
10284             {
10285                 Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake
10286             }
10287         }
10288 
10289         Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10290         {
10291             L01C += One
10292             P8XH (Zero, One)
10293             P8XH (One, L01C)
10294         }
10295 
10296         Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10297         {
10298             GPEC = Zero
10299             If (CondRefOf (\_SB.PCCD.PENB))
10300             {
10301                 If ((\_SB.PCCD.PENB == One))
10302                 {
10303                     Notify (\_SB.PCCD, 0x80) // Status Change
10304                 }
10305             }
10306         }
10307 
10308         Method (_L66, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10309         {
10310             If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
10311             {
10312                 \_SB.PCI0.GFX0.GSCI ()
10313             }
10314         }
10315 
10316         Method (_L67, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10317         {
10318             \_SB.PCI0.SBUS.HSTS = 0x20
10319         }
10320 
10321         Name (GPFG, Zero)
10322         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
10323         {
10324             If ((GPFG && !\_SB.RDGI (0x0B)))
10325             {
10326                 GPFG = Zero
10327                 Notify (\_SB.PCI0.SBUS.NFC, 0xC0) // Hardware-Specific
10328             }
10329         }
10330     }
10331 
10332     Name (RPA0, 0x001C0000)
10333     Name (RPA1, 0x001C0001)
10334     Name (RPA2, 0x001C0002)
10335     Name (RPA3, 0x001C0003)
10336     Name (RPA4, 0x001C0004)
10337     Name (RPA5, 0x001C0005)
10338     Name (RPA6, 0x001C0006)
10339     Name (RPA7, 0x001C0007)
10340     Name (PCHS, 0x00000002)
10341     Name (SRMB, 0xDFA10000)
10342     Name (PML1, 0x00000846)
10343     Name (PML2, 0x00000846)
10344     Name (PML3, 0x00000846)
10345     Name (PML4, 0x00000846)
10346     Name (PML5, 0x00000846)
10347     Name (PML6, 0x00000846)
10348     Name (PML7, 0xFFFFFFFF)
10349     Name (PML8, 0xFFFFFFFF)
10350     Name (PNL1, 0x00000846)
10351     Name (PNL2, 0x00000846)
10352     Name (PNL3, 0x00000846)
10353     Name (PNL4, 0x00000846)
10354     Name (PNL5, 0x00000846)
10355     Name (PNL6, 0x00000846)
10356     Name (PNL7, 0xFFFFFFFF)
10357     Name (PNL8, 0xFFFFFFFF)
10358     Scope (\)
10359     {
10360         OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
10361         Field (IO_D, ByteAcc, NoLock, Preserve)
10362         {
10363             TRPD,   8
10364         }
10365 
10366         OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
10367         Field (IO_H, ByteAcc, NoLock, Preserve)
10368         {
10369             TRPH,   8
10370         }
10371 
10372         OperationRegion (PMIO, SystemIO, PMBS, 0x80)
10373         Field (PMIO, ByteAcc, NoLock, Preserve)
10374         {
10375             Offset (0x28), 
10376             Offset (0x2A), 
10377                 ,   3, 
10378             GPE3,   1, 
10379                 ,   7, 
10380             GPEB,   1, 
10381             Offset (0x3C), 
10382                 ,   1, 
10383             UPRW,   1, 
10384             Offset (0x42), 
10385                 ,   1, 
10386             GPEC,   1
10387         }
10388 
10389         Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
10390         {
10391             Offset (0x20), 
10392             Offset (0x22), 
10393                 ,   3, 
10394             GPS3,   1, 
10395                 ,   7, 
10396             GPSB,   1, 
10397             Offset (0x64), 
10398                 ,   9, 
10399             SCIS,   1, 
10400             Offset (0x66)
10401         }
10402 
10403         OperationRegion (PMLP, SystemIO, (PMBS + 0x80), 0x20)
10404         Field (PMLP, ByteAcc, NoLock, Preserve)
10405         {
10406             Offset (0x10), 
10407             Offset (0x11), 
10408             GE08,   1, 
10409                 ,   8, 
10410             GE17,   1, 
10411                 ,   27, 
10412             GE45,   1, 
10413                 ,   5, 
10414             GE51,   1, 
10415             Offset (0x20)
10416         }
10417 
10418         Field (PMLP, ByteAcc, NoLock, WriteAsZeros)
10419         {
10420             Offset (0x01), 
10421             GS08,   1, 
10422                 ,   8, 
10423             GS17,   1, 
10424                 ,   27, 
10425             GS45,   1, 
10426                 ,   5, 
10427             GS51,   1, 
10428             Offset (0x10)
10429         }
10430 
10431         OperationRegion (GPR, SystemIO, GPBS, 0x0400)
10432         Field (GPR, ByteAcc, NoLock, Preserve)
10433         {
10434             GU00,   8, 
10435             GU01,   8, 
10436             GU02,   8, 
10437             GU03,   8, 
10438             GIO0,   8, 
10439             GIO1,   8, 
10440             GIO2,   8, 
10441             GIO3,   8, 
10442             Offset (0x0C), 
10443             GL00,   8, 
10444             GL01,   8, 
10445             GL02,   8, 
10446             GP24,   1, 
10447                 ,   2, 
10448             GP27,   1, 
10449             GP28,   1, 
10450             Offset (0x10), 
10451             Offset (0x18), 
10452             GB00,   8, 
10453             GB01,   8, 
10454             GB02,   8, 
10455             GB03,   8, 
10456             Offset (0x2C), 
10457             GIV0,   8, 
10458             GIV1,   8, 
10459             GIV2,   8, 
10460             GIV3,   8, 
10461             GU04,   8, 
10462             GU05,   8, 
10463             GU06,   8, 
10464             GU07,   8, 
10465             GIO4,   8, 
10466             GIO5,   8, 
10467             GIO6,   8, 
10468             GIO7,   8, 
10469             GL04,   8, 
10470             GL05,   8, 
10471             GL06,   8, 
10472             GL07,   8, 
10473             Offset (0x40), 
10474             GU08,   8, 
10475             GU09,   8, 
10476             GU0A,   8, 
10477             GU0B,   8, 
10478             GIO8,   8, 
10479             GIO9,   8, 
10480             GIOA,   8, 
10481             GIOB,   8, 
10482             GL08,   8, 
10483             GL09,   8, 
10484             GL0A,   8, 
10485             GL0B,   8
10486         }
10487 
10488         OperationRegion (GPRL, SystemIO, GPBS, 0x40)
10489         Field (GPRL, ByteAcc, NoLock, Preserve)
10490         {
10491             Offset (0x01), 
10492             GO08,   1, 
10493             GO09,   1, 
10494                 ,   3, 
10495             GO13,   1, 
10496             GO14,   1, 
10497                 ,   2, 
10498             GO17,   1, 
10499                 ,   27, 
10500             GO45,   1, 
10501                 ,   5, 
10502             GO51,   1, 
10503             Offset (0x10), 
10504             Offset (0x30), 
10505             GR00,   32, 
10506             GR01,   32, 
10507             GR02,   32
10508         }
10509 
10510         OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
10511         Field (RCRB, DWordAcc, Lock, Preserve)
10512         {
10513             Offset (0x1000), 
10514             Offset (0x3000), 
10515             Offset (0x331C), 
10516             Offset (0x331F), 
10517             PMFS,   1, 
10518             Offset (0x3320), 
10519             CKEN,   32, 
10520             Offset (0x3404), 
10521             HPAS,   2, 
10522                 ,   5, 
10523             HPAE,   1, 
10524             Offset (0x3418), 
10525                 ,   1, 
10526             ADSD,   1, 
10527             SATD,   1, 
10528             SMBD,   1, 
10529             HDAD,   1, 
10530             Offset (0x341A), 
10531             RP1D,   1, 
10532             RP2D,   1, 
10533             RP3D,   1, 
10534             RP4D,   1, 
10535             RP5D,   1, 
10536             RP6D,   1, 
10537             RP7D,   1, 
10538             RP8D,   1, 
10539             Offset (0x359C), 
10540             UP0D,   1, 
10541             UP1D,   1, 
10542             UP2D,   1, 
10543             UP3D,   1, 
10544             UP4D,   1, 
10545             UP5D,   1, 
10546             UP6D,   1, 
10547             UP7D,   1, 
10548             UP8D,   1, 
10549             UP9D,   1, 
10550             UPAD,   1, 
10551             UPBD,   1, 
10552             UPCD,   1, 
10553             UPDD,   1, 
10554                 ,   1, 
10555             Offset (0x359E)
10556         }
10557 
10558         OperationRegion (IO_P, SystemIO, 0x1000, 0x04)
10559         Field (IO_P, ByteAcc, NoLock, Preserve)
10560         {
10561             TRPF,   8
10562         }
10563     }
10564 
10565     Scope (_SB)
10566     {
10567         Method (RDGI, 1, NotSerialized)
10568         {
10569             If ((Arg0 <= 0x5E))
10570             {
10571                 Local0 = ((GPBS + 0x0100) + (Arg0 * 0x08))
10572                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10573                 Field (LGPI, AnyAcc, NoLock, Preserve)
10574                 {
10575                         ,   30, 
10576                     TEMP,   1
10577                 }
10578 
10579                 Return (TEMP) /* \_SB_.RDGI.TEMP */
10580             }
10581         }
10582 
10583         Method (RDGP, 1, Serialized)
10584         {
10585             If ((Arg0 <= 0x5E))
10586             {
10587                 Local0 = ((GPBS + 0x0100) + (Arg0 * 0x08))
10588                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10589                 Field (LGPI, AnyAcc, NoLock, Preserve)
10590                 {
10591                         ,   31, 
10592                     TEMP,   1
10593                 }
10594 
10595                 Return (TEMP) /* \_SB_.RDGP.TEMP */
10596             }
10597         }
10598 
10599         Method (WTGP, 2, NotSerialized)
10600         {
10601             If ((Arg0 <= 0x5E))
10602             {
10603                 Local0 = ((GPBS + 0x0100) + (Arg0 * 0x08))
10604                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10605                 Field (LGPI, AnyAcc, NoLock, Preserve)
10606                 {
10607                         ,   31, 
10608                     TEMP,   1
10609                 }
10610 
10611                 TEMP = Arg1
10612             }
10613         }
10614 
10615         Method (WTIN, 2, Serialized)
10616         {
10617             If ((Arg0 <= 0x5E))
10618             {
10619                 Local0 = ((GPBS + 0x0100) + (Arg0 * 0x08))
10620                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10621                 Field (LGPI, ByteAcc, NoLock, Preserve)
10622                 {
10623                         ,   3, 
10624                     TEMP,   1
10625                 }
10626 
10627                 TEMP = Arg1
10628             }
10629         }
10630 
10631         Method (WPGP, 2, Serialized)
10632         {
10633             If ((Arg0 <= 0x5E))
10634             {
10635                 Local0 = ((GPBS + 0x0104) + (Arg0 * 0x08))
10636                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10637                 Field (LGPI, AnyAcc, NoLock, Preserve)
10638                 {
10639                     TEMP,   2
10640                 }
10641 
10642                 TEMP = Arg1
10643             }
10644         }
10645 
10646         Method (GP2N, 2, Serialized)
10647         {
10648             If ((Arg0 <= 0x5E))
10649             {
10650                 Local0 = ((GPBS + 0x0100) + (Arg0 * 0x08))
10651                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
10652                 Field (LGPI, AnyAcc, NoLock, Preserve)
10653                 {
10654                     TEMP,   1
10655                 }
10656 
10657                 TEMP = Arg1
10658             }
10659         }
10660 
10661         Method (GP2A, 2, Serialized)
10662         {
10663             If ((Arg0 <= 0x5E))
10664             {
10665                 Local0 = ((GPBS + 0x0104) + (Arg0 * 0x08))
10666                 OperationRegion (LGP2, SystemIO, Local0, 0x04)
10667                 Field (LGP2, AnyAcc, NoLock, Preserve)
10668                 {
10669                     GPWP,   2, 
10670                     GPIS,   1
10671                 }
10672 
10673                 If ((Arg1 == One))
10674                 {
10675                     GPIS = Zero
10676                     GPWP = Zero
10677                 }
10678                 Else
10679                 {
10680                     GPWP = 0x02
10681                     GPIS = One
10682                 }
10683 
10684                 Local0 = (GPBS + 0x10)
10685                 OperationRegion (LGPI, SystemIO, Local0, 0x02)
10686                 Field (LGPI, AnyAcc, NoLock, Preserve)
10687                 {
10688                     TEMP,   16
10689                 }
10690 
10691                 If ((Arg0 >= 0x2D))
10692                 {
10693                     Local1 = (Arg0 - 0x28)
10694                 }
10695                 Else
10696                 {
10697                     If ((Arg0 <= 0x0A))
10698                     {
10699                         Local1 = (Arg0 - 0x08)
10700                     }
10701                     Else
10702                     {
10703                         Local1 = (Arg0 - 0x0A)
10704                     }
10705                 }
10706 
10707                 Local2 = (One << Local1)
10708                 If (Arg1)
10709                 {
10710                     TEMP |= Local2
10711                 }
10712                 Else
10713                 {
10714                     TEMP &= ~Local2
10715                 }
10716             }
10717         }
10718 
10719         Method (GP2B, 2, Serialized)
10720         {
10721             If ((Arg0 <= 0x5E))
10722             {
10723                 Local0 = (GPBS + 0x10)
10724                 OperationRegion (LGPI, SystemIO, Local0, 0x02)
10725                 Field (LGPI, AnyAcc, NoLock, Preserve)
10726                 {
10727                     TEMP,   16
10728                 }
10729 
10730                 If ((Arg0 >= 0x2D))
10731                 {
10732                     Local1 = (Arg0 - 0x28)
10733                 }
10734                 Else
10735                 {
10736                     If ((Arg0 <= 0x0A))
10737                     {
10738                         Local1 = (Arg0 - 0x08)
10739                     }
10740                     Else
10741                     {
10742                         Local1 = (Arg0 - 0x0A)
10743                     }
10744                 }
10745 
10746                 Local2 = (One << Local1)
10747                 If (Arg1)
10748                 {
10749                     TEMP |= Local2
10750                 }
10751                 Else
10752                 {
10753                     TEMP &= ~Local2
10754                 }
10755             }
10756         }
10757     }
10758 
10759     Scope (_SB.PCI0)
10760     {
10761         Name (LTRE, Zero)
10762         Name (OBFF, Zero)
10763         Name (LMSL, Zero)
10764         Name (LNSL, Zero)
10765         Device (EHC1)
10766         {
10767             Name (_ADR, 0x001D0000)  // _ADR: Address
10768             OperationRegion (PWKE, PCI_Config, 0x54, 0x12)
10769             Field (PWKE, DWordAcc, NoLock, Preserve)
10770             {
10771                 Offset (0x01), 
10772                 PMEE,   1, 
10773                     ,   6, 
10774                 PMES,   1, 
10775                 Offset (0x0E), 
10776                     ,   1, 
10777                 PWUC,   8
10778             }
10779 
10780             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
10781             {
10782                 If (Arg0)
10783                 {
10784                     PWUC = Ones
10785                 }
10786                 Else
10787                 {
10788                     PWUC = Zero
10789                 }
10790             }
10791 
10792             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
10793             {
10794                 Return (0x02)
10795             }
10796 
10797             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
10798             {
10799                 Return (0x02)
10800             }
10801 
10802             Device (HUBN)
10803             {
10804                 Name (_ADR, Zero)  // _ADR: Address
10805                 Device (PR01)
10806                 {
10807                     Name (_ADR, One)  // _ADR: Address
10808                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10809                     {
10810                         Name (UPCA, Package (0x04)
10811                         {
10812                             0xFF, 
10813                             Zero, 
10814                             Zero, 
10815                             Zero
10816                         })
10817                         Return (UPCA) /* \_SB_.PCI0.EHC1.HUBN.PR01._UPC.UPCA */
10818                     }
10819 
10820                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10821                     {
10822                         Name (PLDP, Package (0x01)
10823                         {
10824                             Buffer (0x10)
10825                             {
10826                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10827                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
10828                             }
10829                         })
10830                         Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01._PLD.PLDP */
10831                     }
10832 
10833                     Device (PR11)
10834                     {
10835                         Name (_ADR, One)  // _ADR: Address
10836                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10837                         {
10838                             Name (UPCP, Package (0x04)
10839                             {
10840                                 0xFF, 
10841                                 0xFF, 
10842                                 Zero, 
10843                                 Zero
10844                             })
10845                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._UPC.UPCP */
10846                         }
10847 
10848                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10849                         {
10850                             Name (PLDP, Package (0x01)
10851                             {
10852                                 Buffer (0x10)
10853                                 {
10854                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10855                                     /* 0008 */  0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
10856                                 }
10857                             })
10858                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._PLD.PLDP */
10859                         }
10860                     }
10861 
10862                     Device (PR12)
10863                     {
10864                         Name (_ADR, 0x02)  // _ADR: Address
10865                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10866                         {
10867                             Name (UPCP, Package (0x04)
10868                             {
10869                                 0xFF, 
10870                                 0xFF, 
10871                                 Zero, 
10872                                 Zero
10873                             })
10874                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._UPC.UPCP */
10875                         }
10876 
10877                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10878                         {
10879                             Name (PLDP, Package (0x01)
10880                             {
10881                                 Buffer (0x10)
10882                                 {
10883                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10884                                     /* 0008 */  0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
10885                                 }
10886                             })
10887                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._PLD.PLDP */
10888                         }
10889                     }
10890 
10891                     Device (PR13)
10892                     {
10893                         Name (_ADR, 0x03)  // _ADR: Address
10894                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10895                         {
10896                             Name (UPCP, Package (0x04)
10897                             {
10898                                 0xFF, 
10899                                 0xFF, 
10900                                 Zero, 
10901                                 Zero
10902                             })
10903                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._UPC.UPCP */
10904                         }
10905 
10906                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10907                         {
10908                             Name (PLDP, Package (0x01)
10909                             {
10910                                 Buffer (0x10)
10911                                 {
10912                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10913                                     /* 0008 */  0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
10914                                 }
10915                             })
10916                             CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
10917                             If (((CDID & 0xF000) == 0x9000))
10918                             {
10919                                 VIS &= Zero
10920                             }
10921 
10922                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._PLD.PLDP */
10923                         }
10924                     }
10925 
10926                     Device (PR14)
10927                     {
10928                         Name (_ADR, 0x04)  // _ADR: Address
10929                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10930                         {
10931                             Name (UPCP, Package (0x04)
10932                             {
10933                                 0xFF, 
10934                                 0xFF, 
10935                                 Zero, 
10936                                 Zero
10937                             })
10938                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._UPC.UPCP */
10939                         }
10940 
10941                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10942                         {
10943                             Name (PLDP, Package (0x01)
10944                             {
10945                                 Buffer (0x10)
10946                                 {
10947                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
10948                                     /* 0008 */  0xE0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
10949                                 }
10950                             })
10951                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._PLD.PLDP */
10952                         }
10953 
10954                         Alias (SBV1, SDGV)
10955                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10956                         {
10957                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
10958                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
10959                             {
10960                                 While (One)
10961                                 {
10962                                     _T_0 = ToInteger (Arg2)
10963                                     If ((_T_0 == Zero))
10964                                     {
10965                                         If ((Arg1 == One))
10966                                         {
10967                                             Return (Buffer (One)
10968                                             {
10969                                                  0x07                                             /* . */
10970                                             })
10971                                         }
10972                                         Else
10973                                         {
10974                                             Return (Buffer (One)
10975                                             {
10976                                                  0x00                                             /* . */
10977                                             })
10978                                         }
10979                                     }
10980                                     Else
10981                                     {
10982                                         If ((_T_0 == One))
10983                                         {
10984                                             If ((SDGV == 0xFF))
10985                                             {
10986                                                 Return (Zero)
10987                                             }
10988                                             Else
10989                                             {
10990                                                 Return (One)
10991                                             }
10992                                         }
10993                                         Else
10994                                         {
10995                                             If ((_T_0 == 0x02))
10996                                             {
10997                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */
10998                                             }
10999                                         }
11000                                     }
11001 
11002                                     Break
11003                                 }
11004                             }
11005 
11006                             Return (Zero)
11007                         }
11008                     }
11009 
11010                     Device (PR15)
11011                     {
11012                         Name (_ADR, 0x05)  // _ADR: Address
11013                         Method (_STA, 0, NotSerialized)  // _STA: Status
11014                         {
11015                             If ((RDGI (0x23) == Zero))
11016                             {
11017                                 Return (0x0F)
11018                             }
11019 
11020                             Return (Zero)
11021                         }
11022 
11023                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11024                         {
11025                             Name (UPCP, Package (0x04)
11026                             {
11027                                 0xFF, 
11028                                 0xFF, 
11029                                 Zero, 
11030                                 Zero
11031                             })
11032                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._UPC.UPCP */
11033                         }
11034 
11035                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11036                         {
11037                             Name (PLDP, Package (0x01)
11038                             {
11039                                 Buffer (0x10)
11040                                 {
11041                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11042                                     /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
11043                                 }
11044                             })
11045                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._PLD.PLDP */
11046                         }
11047 
11048                         Alias (SBV2, SDGV)
11049                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11050                         {
11051                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11052                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
11053                             {
11054                                 While (One)
11055                                 {
11056                                     _T_0 = ToInteger (Arg2)
11057                                     If ((_T_0 == Zero))
11058                                     {
11059                                         If ((Arg1 == One))
11060                                         {
11061                                             Return (Buffer (One)
11062                                             {
11063                                                  0x07                                             /* . */
11064                                             })
11065                                         }
11066                                         Else
11067                                         {
11068                                             Return (Buffer (One)
11069                                             {
11070                                                  0x00                                             /* . */
11071                                             })
11072                                         }
11073                                     }
11074                                     Else
11075                                     {
11076                                         If ((_T_0 == One))
11077                                         {
11078                                             If ((SDGV == 0xFF))
11079                                             {
11080                                                 Return (Zero)
11081                                             }
11082                                             Else
11083                                             {
11084                                                 Return (One)
11085                                             }
11086                                         }
11087                                         Else
11088                                         {
11089                                             If ((_T_0 == 0x02))
11090                                             {
11091                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */
11092                                             }
11093                                         }
11094                                     }
11095 
11096                                     Break
11097                                 }
11098                             }
11099 
11100                             Return (Zero)
11101                         }
11102                     }
11103 
11104                     Device (PR16)
11105                     {
11106                         Name (_ADR, 0x06)  // _ADR: Address
11107                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11108                         {
11109                             Name (UPCP, Package (0x04)
11110                             {
11111                                 0xFF, 
11112                                 0xFF, 
11113                                 Zero, 
11114                                 Zero
11115                             })
11116                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._UPC.UPCP */
11117                         }
11118 
11119                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11120                         {
11121                             Name (PLDP, Package (0x01)
11122                             {
11123                                 Buffer (0x10)
11124                                 {
11125                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11126                                     /* 0008 */  0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11127                                 }
11128                             })
11129                             Name (PLDC, Buffer (0x14)
11130                             {
11131                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11132                                 /* 0008 */  0x24, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $A...... */
11133                                 /* 0010 */  0x0A, 0x00, 0xBE, 0x00                           /* .... */
11134                             })
11135                             If (WIN8)
11136                             {
11137                                 Return (PLDC) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDC */
11138                             }
11139 
11140                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDP */
11141                         }
11142 
11143                         Device (CAM0)
11144                         {
11145                             Name (_ADR, 0x06)  // _ADR: Address
11146                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11147                             {
11148                                 Name (PLDP, Package (0x01)
11149                                 {
11150                                     Buffer (0x10)
11151                                     {
11152                                         /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11153                                         /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
11154                                     }
11155                                 })
11156                                 Name (PLDC, Buffer (0x14)
11157                                 {
11158                                     /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11159                                     /* 0008 */  0x24, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $A...... */
11160                                     /* 0010 */  0x0A, 0x00, 0xBE, 0x00                           /* .... */
11161                                 })
11162                                 If (WIN8)
11163                                 {
11164                                     Return (PLDC) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.CAM0._PLD.PLDC */
11165                                 }
11166 
11167                                 Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.CAM0._PLD.PLDP */
11168                             }
11169                         }
11170 
11171                         Alias (SBV1, SDGV)
11172                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11173                         {
11174                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11175                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
11176                             {
11177                                 While (One)
11178                                 {
11179                                     _T_0 = ToInteger (Arg2)
11180                                     If ((_T_0 == Zero))
11181                                     {
11182                                         If ((Arg1 == One))
11183                                         {
11184                                             Return (Buffer (One)
11185                                             {
11186                                                  0x07                                             /* . */
11187                                             })
11188                                         }
11189                                         Else
11190                                         {
11191                                             Return (Buffer (One)
11192                                             {
11193                                                  0x00                                             /* . */
11194                                             })
11195                                         }
11196                                     }
11197                                     Else
11198                                     {
11199                                         If ((_T_0 == One))
11200                                         {
11201                                             If ((SDGV == 0xFF))
11202                                             {
11203                                                 Return (Zero)
11204                                             }
11205                                             Else
11206                                             {
11207                                                 Return (One)
11208                                             }
11209                                         }
11210                                         Else
11211                                         {
11212                                             If ((_T_0 == 0x02))
11213                                             {
11214                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */
11215                                             }
11216                                         }
11217                                     }
11218 
11219                                     Break
11220                                 }
11221                             }
11222 
11223                             Return (Zero)
11224                         }
11225                     }
11226 
11227                     Device (PR17)
11228                     {
11229                         Name (_ADR, 0x07)  // _ADR: Address
11230                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11231                         {
11232                             Name (UPCP, Package (0x04)
11233                             {
11234                                 0xFF, 
11235                                 0xFF, 
11236                                 Zero, 
11237                                 Zero
11238                             })
11239                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._UPC.UPCP */
11240                         }
11241 
11242                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11243                         {
11244                             Name (PLDP, Package (0x01)
11245                             {
11246                                 Buffer (0x10)
11247                                 {
11248                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11249                                     /* 0008 */  0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11250                                 }
11251                             })
11252                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._PLD.PLDP */
11253                         }
11254 
11255                         Alias (SBV2, SDGV)
11256                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11257                         {
11258                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11259                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
11260                             {
11261                                 While (One)
11262                                 {
11263                                     _T_0 = ToInteger (Arg2)
11264                                     If ((_T_0 == Zero))
11265                                     {
11266                                         If ((Arg1 == One))
11267                                         {
11268                                             Return (Buffer (One)
11269                                             {
11270                                                  0x07                                             /* . */
11271                                             })
11272                                         }
11273                                         Else
11274                                         {
11275                                             Return (Buffer (One)
11276                                             {
11277                                                  0x00                                             /* . */
11278                                             })
11279                                         }
11280                                     }
11281                                     Else
11282                                     {
11283                                         If ((_T_0 == One))
11284                                         {
11285                                             If ((SDGV == 0xFF))
11286                                             {
11287                                                 Return (Zero)
11288                                             }
11289                                             Else
11290                                             {
11291                                                 Return (One)
11292                                             }
11293                                         }
11294                                         Else
11295                                         {
11296                                             If ((_T_0 == 0x02))
11297                                             {
11298                                                 Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */
11299                                             }
11300                                         }
11301                                     }
11302 
11303                                     Break
11304                                 }
11305                             }
11306 
11307                             Return (Zero)
11308                         }
11309                     }
11310 
11311                     Device (PR18)
11312                     {
11313                         Name (_ADR, 0x08)  // _ADR: Address
11314                         Name (_STA, Zero)  // _STA: Status
11315                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11316                         {
11317                             Name (UPCP, Package (0x04)
11318                             {
11319                                 0xFF, 
11320                                 0xFF, 
11321                                 Zero, 
11322                                 Zero
11323                             })
11324                             Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._UPC.UPCP */
11325                         }
11326 
11327                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11328                         {
11329                             Name (PLDP, Package (0x01)
11330                             {
11331                                 Buffer (0x10)
11332                                 {
11333                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11334                                     /* 0008 */  0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11335                                 }
11336                             })
11337                             Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._PLD.PLDP */
11338                         }
11339                     }
11340                 }
11341             }
11342 
11343             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
11344             {
11345                 Return (GPRW (0x6D, 0x03))
11346             }
11347         }
11348 
11349         Device (EHC2)
11350         {
11351             Name (_ADR, 0x001A0000)  // _ADR: Address
11352             OperationRegion (PWKE, PCI_Config, 0x54, 0x12)
11353             Field (PWKE, DWordAcc, NoLock, Preserve)
11354             {
11355                 Offset (0x01), 
11356                 PMEE,   1, 
11357                     ,   6, 
11358                 PMES,   1, 
11359                 Offset (0x0E), 
11360                     ,   1, 
11361                 PWUC,   6
11362             }
11363 
11364             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
11365             {
11366                 If (Arg0)
11367                 {
11368                     PWUC = Ones
11369                 }
11370                 Else
11371                 {
11372                     PWUC = Zero
11373                 }
11374             }
11375 
11376             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
11377             {
11378                 Return (0x02)
11379             }
11380 
11381             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
11382             {
11383                 Return (0x02)
11384             }
11385 
11386             Device (HUBN)
11387             {
11388                 Name (_ADR, Zero)  // _ADR: Address
11389                 Device (PR01)
11390                 {
11391                     Name (_ADR, One)  // _ADR: Address
11392                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11393                     {
11394                         Name (UPCA, Package (0x04)
11395                         {
11396                             0xFF, 
11397                             Zero, 
11398                             Zero, 
11399                             Zero
11400                         })
11401                         Return (UPCA) /* \_SB_.PCI0.EHC2.HUBN.PR01._UPC.UPCA */
11402                     }
11403 
11404                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11405                     {
11406                         Name (PLDP, Package (0x01)
11407                         {
11408                             Buffer (0x10)
11409                             {
11410                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11411                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
11412                             }
11413                         })
11414                         Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01._PLD.PLDP */
11415                     }
11416 
11417                     Device (PR11)
11418                     {
11419                         Name (_ADR, One)  // _ADR: Address
11420                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11421                         {
11422                             Name (UPCP, Package (0x04)
11423                             {
11424                                 0xFF, 
11425                                 0xFF, 
11426                                 Zero, 
11427                                 Zero
11428                             })
11429                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._UPC.UPCP */
11430                         }
11431 
11432                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11433                         {
11434                             Name (PLDP, Package (0x01)
11435                             {
11436                                 Buffer (0x10)
11437                                 {
11438                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11439                                     /* 0008 */  0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11440                                 }
11441                             })
11442                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._PLD.PLDP */
11443                         }
11444                     }
11445 
11446                     Device (PR12)
11447                     {
11448                         Name (_ADR, 0x02)  // _ADR: Address
11449                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11450                         {
11451                             Name (UPCP, Package (0x04)
11452                             {
11453                                 0xFF, 
11454                                 0xFF, 
11455                                 Zero, 
11456                                 Zero
11457                             })
11458                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._UPC.UPCP */
11459                         }
11460 
11461                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11462                         {
11463                             Name (PLDP, Package (0x01)
11464                             {
11465                                 Buffer (0x10)
11466                                 {
11467                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11468                                     /* 0008 */  0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11469                                 }
11470                             })
11471                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._PLD.PLDP */
11472                         }
11473 
11474                         Alias (SBV1, SDGV)
11475                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11476                         {
11477                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11478                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
11479                             {
11480                                 While (One)
11481                                 {
11482                                     _T_0 = ToInteger (Arg2)
11483                                     If ((_T_0 == Zero))
11484                                     {
11485                                         If ((Arg1 == One))
11486                                         {
11487                                             Return (Buffer (One)
11488                                             {
11489                                                  0x07                                             /* . */
11490                                             })
11491                                         }
11492                                         Else
11493                                         {
11494                                             Return (Buffer (One)
11495                                             {
11496                                                  0x00                                             /* . */
11497                                             })
11498                                         }
11499                                     }
11500                                     Else
11501                                     {
11502                                         If ((_T_0 == One))
11503                                         {
11504                                             If ((SDGV == 0xFF))
11505                                             {
11506                                                 Return (Zero)
11507                                             }
11508                                             Else
11509                                             {
11510                                                 Return (One)
11511                                             }
11512                                         }
11513                                         Else
11514                                         {
11515                                             If ((_T_0 == 0x02))
11516                                             {
11517                                                 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12.SDGV */
11518                                             }
11519                                         }
11520                                     }
11521 
11522                                     Break
11523                                 }
11524                             }
11525 
11526                             Return (Zero)
11527                         }
11528                     }
11529 
11530                     Device (PR13)
11531                     {
11532                         Name (_ADR, 0x03)  // _ADR: Address
11533                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11534                         {
11535                             Name (UPCP, Package (0x04)
11536                             {
11537                                 0xFF, 
11538                                 0xFF, 
11539                                 Zero, 
11540                                 Zero
11541                             })
11542                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._UPC.UPCP */
11543                         }
11544 
11545                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11546                         {
11547                             Name (PLDP, Package (0x01)
11548                             {
11549                                 Buffer (0x10)
11550                                 {
11551                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11552                                     /* 0008 */  0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11553                                 }
11554                             })
11555                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._PLD.PLDP */
11556                         }
11557 
11558                         Alias (SBV2, SDGV)
11559                         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11560                         {
11561                             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11562                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
11563                             {
11564                                 While (One)
11565                                 {
11566                                     _T_0 = ToInteger (Arg2)
11567                                     If ((_T_0 == Zero))
11568                                     {
11569                                         If ((Arg1 == One))
11570                                         {
11571                                             Return (Buffer (One)
11572                                             {
11573                                                  0x07                                             /* . */
11574                                             })
11575                                         }
11576                                         Else
11577                                         {
11578                                             Return (Buffer (One)
11579                                             {
11580                                                  0x00                                             /* . */
11581                                             })
11582                                         }
11583                                     }
11584                                     Else
11585                                     {
11586                                         If ((_T_0 == One))
11587                                         {
11588                                             If ((SDGV == 0xFF))
11589                                             {
11590                                                 Return (Zero)
11591                                             }
11592                                             Else
11593                                             {
11594                                                 Return (One)
11595                                             }
11596                                         }
11597                                         Else
11598                                         {
11599                                             If ((_T_0 == 0x02))
11600                                             {
11601                                                 Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */
11602                                             }
11603                                         }
11604                                     }
11605 
11606                                     Break
11607                                 }
11608                             }
11609 
11610                             Return (Zero)
11611                         }
11612                     }
11613 
11614                     Device (PR14)
11615                     {
11616                         Name (_ADR, 0x04)  // _ADR: Address
11617                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11618                         {
11619                             Name (UPCP, Package (0x04)
11620                             {
11621                                 0xFF, 
11622                                 0xFF, 
11623                                 Zero, 
11624                                 Zero
11625                             })
11626                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._UPC.UPCP */
11627                         }
11628 
11629                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11630                         {
11631                             Name (PLDP, Package (0x01)
11632                             {
11633                                 Buffer (0x10)
11634                                 {
11635                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11636                                     /* 0008 */  0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11637                                 }
11638                             })
11639                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._PLD.PLDP */
11640                         }
11641                     }
11642 
11643                     Device (PR15)
11644                     {
11645                         Name (_ADR, 0x05)  // _ADR: Address
11646                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11647                         {
11648                             Name (UPCP, Package (0x04)
11649                             {
11650                                 0xFF, 
11651                                 0xFF, 
11652                                 Zero, 
11653                                 Zero
11654                             })
11655                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._UPC.UPCP */
11656                         }
11657 
11658                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11659                         {
11660                             Name (PLDP, Package (0x01)
11661                             {
11662                                 Buffer (0x10)
11663                                 {
11664                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11665                                     /* 0008 */  0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11666                                 }
11667                             })
11668                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._PLD.PLDP */
11669                         }
11670                     }
11671 
11672                     Device (PR16)
11673                     {
11674                         Name (_ADR, 0x06)  // _ADR: Address
11675                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
11676                         {
11677                             Name (UPCP, Package (0x04)
11678                             {
11679                                 0xFF, 
11680                                 0xFF, 
11681                                 Zero, 
11682                                 Zero
11683                             })
11684                             Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._UPC.UPCP */
11685                         }
11686 
11687                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
11688                         {
11689                             Name (PLDP, Package (0x01)
11690                             {
11691                                 Buffer (0x10)
11692                                 {
11693                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
11694                                     /* 0008 */  0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
11695                                 }
11696                             })
11697                             Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._PLD.PLDP */
11698                         }
11699                     }
11700                 }
11701             }
11702 
11703             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
11704             {
11705                 Return (GPRW (0x6D, 0x03))
11706             }
11707         }
11708 
11709         Device (XHC)
11710         {
11711             Name (_ADR, 0x00140000)  // _ADR: Address
11712             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
11713             {
11714                 If ((S0ID == One))
11715                 {
11716                     Return (Package (0x01)
11717                     {
11718                         PEPD
11719                     })
11720                 }
11721                 Else
11722                 {
11723                     Return (Package (0x00) {})
11724                 }
11725             }
11726 
11727             OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
11728             Field (XPRT, AnyAcc, NoLock, Preserve)
11729             {
11730                 DVID,   16, 
11731                 Offset (0x74), 
11732                 D0D3,   2, 
11733                 Offset (0x75), 
11734                 PMEE,   1, 
11735                     ,   6, 
11736                 PMES,   1, 
11737                 Offset (0xB0), 
11738                     ,   13, 
11739                 MB13,   1, 
11740                 MB14,   1, 
11741                 Offset (0xB4), 
11742                 Offset (0xD0), 
11743                 PR2,    32, 
11744                 PR2M,   32, 
11745                 PR3,    32, 
11746                 PR3M,   32
11747             }
11748 
11749             OperationRegion (XHCP, SystemMemory, (PEBS + 0x000A0000), 0x0100)
11750             Field (XHCP, AnyAcc, Lock, Preserve)
11751             {
11752                 Offset (0x04), 
11753                 PDBM,   16, 
11754                 Offset (0x10), 
11755                 MEMB,   64
11756             }
11757 
11758             Method (PR2S, 1, Serialized)
11759             {
11760                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
11761                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
11762                 If (((CDID & 0xF000) == 0x8000))
11763                 {
11764                     While (One)
11765                     {
11766                         _T_0 = Arg0
11767                         If ((_T_0 == One))
11768                         {
11769                             Return (One)
11770                         }
11771                         Else
11772                         {
11773                             If ((_T_0 == 0x02))
11774                             {
11775                                 Return (0x02)
11776                             }
11777                             Else
11778                             {
11779                                 If ((_T_0 == 0x03))
11780                                 {
11781                                     Return (0x04)
11782                                 }
11783                                 Else
11784                                 {
11785                                     If ((_T_0 == 0x04))
11786                                     {
11787                                         Return (0x08)
11788                                     }
11789                                     Else
11790                                     {
11791                                         If ((_T_0 == 0x05))
11792                                         {
11793                                             Return (0x0100)
11794                                         }
11795                                         Else
11796                                         {
11797                                             If ((_T_0 == 0x06))
11798                                             {
11799                                                 Return (0x0200)
11800                                             }
11801                                             Else
11802                                             {
11803                                                 If ((_T_0 == 0x07))
11804                                                 {
11805                                                     Return (0x0400)
11806                                                 }
11807                                                 Else
11808                                                 {
11809                                                     If ((_T_0 == 0x08))
11810                                                     {
11811                                                         Return (0x0800)
11812                                                     }
11813                                                     Else
11814                                                     {
11815                                                         If ((_T_0 == 0x09))
11816                                                         {
11817                                                             Return (0x10)
11818                                                         }
11819                                                         Else
11820                                                         {
11821                                                             If ((_T_0 == 0x0A))
11822                                                             {
11823                                                                 Return (0x20)
11824                                                             }
11825                                                             Else
11826                                                             {
11827                                                                 If ((_T_0 == 0x0B))
11828                                                                 {
11829                                                                     Return (0x1000)
11830                                                                 }
11831                                                                 Else
11832                                                                 {
11833                                                                     If ((_T_0 == 0x0C))
11834                                                                     {
11835                                                                         Return (0x2000)
11836                                                                     }
11837                                                                     Else
11838                                                                     {
11839                                                                         If ((_T_0 == 0x0D))
11840                                                                         {
11841                                                                             Return (0x40)
11842                                                                         }
11843                                                                         Else
11844                                                                         {
11845                                                                             If ((_T_0 == 0x0E))
11846                                                                             {
11847                                                                                 Return (0x80)
11848                                                                             }
11849                                                                             Else
11850                                                                             {
11851                                                                                 If ((_T_0 == 0x0F))
11852                                                                                 {
11853                                                                                     Return (0x4000)
11854                                                                                 }
11855                                                                             }
11856                                                                         }
11857                                                                     }
11858                                                                 }
11859                                                             }
11860                                                         }
11861                                                     }
11862                                                 }
11863                                             }
11864                                         }
11865                                     }
11866                                 }
11867                             }
11868                         }
11869 
11870                         Break
11871                     }
11872                 }
11873                 Else
11874                 {
11875                     While (One)
11876                     {
11877                         _T_1 = Arg0
11878                         If ((_T_1 == One))
11879                         {
11880                             Return (One)
11881                         }
11882                         Else
11883                         {
11884                             If ((_T_1 == 0x02))
11885                             {
11886                                 Return (0x02)
11887                             }
11888                             Else
11889                             {
11890                                 If ((_T_1 == 0x03))
11891                                 {
11892                                     Return (0x04)
11893                                 }
11894                                 Else
11895                                 {
11896                                     If ((_T_1 == 0x04))
11897                                     {
11898                                         Return (0x08)
11899                                     }
11900                                     Else
11901                                     {
11902                                         If ((_T_1 == 0x05))
11903                                         {
11904                                             Return (0x10)
11905                                         }
11906                                         Else
11907                                         {
11908                                             If ((_T_1 == 0x06))
11909                                             {
11910                                                 Return (0x20)
11911                                             }
11912                                             Else
11913                                             {
11914                                                 If ((_T_1 == 0x07))
11915                                                 {
11916                                                     Return (0x40)
11917                                                 }
11918                                                 Else
11919                                                 {
11920                                                     If ((_T_1 == 0x08))
11921                                                     {
11922                                                         Return (0x80)
11923                                                     }
11924                                                     Else
11925                                                     {
11926                                                         If ((_T_1 == 0x09))
11927                                                         {
11928                                                             Return (0x0100)
11929                                                         }
11930                                                     }
11931                                                 }
11932                                             }
11933                                         }
11934                                     }
11935                                 }
11936                             }
11937                         }
11938 
11939                         Break
11940                     }
11941                 }
11942             }
11943 
11944             Name (XRST, Zero)
11945             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
11946             {
11947                 If ((DVID == 0xFFFF))
11948                 {
11949                     Return (Zero)
11950                 }
11951 
11952                 Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
11953                 Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
11954                 PDBM &= 0xFFFFFFFFFFFFFFF9
11955                 MEMB = SRMB /* \SRMB */
11956                 PDBM |= 0x02
11957                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
11958                 Field (MCA1, DWordAcc, Lock, Preserve)
11959                 {
11960                     Offset (0x510), 
11961                     R510,   32, 
11962                     Offset (0x520), 
11963                     R520,   32, 
11964                     Offset (0x530), 
11965                     R530,   32, 
11966                     Offset (0x540), 
11967                     R540,   32, 
11968                     Offset (0x80E0), 
11969                         ,   15, 
11970                     AX15,   1, 
11971                     Offset (0x8154), 
11972                         ,   31, 
11973                     CLK2,   1, 
11974                     Offset (0x816C), 
11975                         ,   2, 
11976                     CLK0,   1, 
11977                         ,   11, 
11978                     CLK1,   1
11979                 }
11980 
11981                 Local3 = D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
11982                 If ((Local3 == 0x03))
11983                 {
11984                     D0D3 = Zero
11985                 }
11986 
11987                 If ((PCHS == 0x02))
11988                 {
11989                     MB13 = Zero
11990                     MB14 = Zero
11991                     CLK0 = Zero
11992                     CLK1 = Zero
11993                 }
11994 
11995                 CLK2 = One
11996                 If ((PCHS == 0x02))
11997                 {
11998                     While (((((R510 & 0x03FB) == 0x02E0) || ((R520 & 
11999                         0x03FB) == 0x02E0)) || (((R530 & 0x03FB) == 0x02E0) || ((R540 & 
12000                         0x03FB) == 0x02E0))))
12001                     {
12002                         Stall (0x32)
12003                     }
12004 
12005                     Local0 = R510 /* \_SB_.PCI0.XHC_._PS0.R510 */
12006                     If (((Local0 & 0x000203FB) == 0x02A0))
12007                     {
12008                         R510 = (Local0 | 0x80000000)
12009                         While (((R510 & 0x00180000) == Zero))
12010                         {
12011                             Stall (0x32)
12012                         }
12013 
12014                         Local0 = (R510 & 0xFFFFFFFFFFFFFFFD)
12015                         R510 = (Local0 | 0x00FE0000)
12016                     }
12017 
12018                     Local0 = R520 /* \_SB_.PCI0.XHC_._PS0.R520 */
12019                     If (((Local0 & 0x000203FB) == 0x02A0))
12020                     {
12021                         R520 = (Local0 | 0x80000000)
12022                         While (((R520 & 0x00180000) == Zero))
12023                         {
12024                             Stall (0x32)
12025                         }
12026 
12027                         Local0 = (R520 & 0xFFFFFFFFFFFFFFFD)
12028                         R520 = (Local0 | 0x00FE0000)
12029                     }
12030 
12031                     Local0 = R530 /* \_SB_.PCI0.XHC_._PS0.R530 */
12032                     If (((Local0 & 0x000203FB) == 0x02A0))
12033                     {
12034                         R530 = (Local0 | 0x80000000)
12035                         While (((R530 & 0x00180000) == Zero))
12036                         {
12037                             Stall (0x32)
12038                         }
12039 
12040                         Local0 = (R530 & 0xFFFFFFFFFFFFFFFD)
12041                         R530 = (Local0 | 0x00FE0000)
12042                     }
12043 
12044                     Local0 = R540 /* \_SB_.PCI0.XHC_._PS0.R540 */
12045                     If (((Local0 & 0x000203FB) == 0x02A0))
12046                     {
12047                         R540 = (Local0 | 0x80000000)
12048                         While (((R540 & 0x00180000) == Zero))
12049                         {
12050                             Stall (0x32)
12051                         }
12052 
12053                         Local0 = (R540 & 0xFFFFFFFFFFFFFFFD)
12054                         R540 = (Local0 | 0x00FE0000)
12055                     }
12056 
12057                     AX15 = One
12058                 }
12059 
12060                 If (CondRefOf (\_SB.PCI0.XHC.PS0X))
12061                 {
12062                     PS0X ()
12063                 }
12064 
12065                 If ((Local3 == 0x03))
12066                 {
12067                     D0D3 = 0x03
12068                 }
12069 
12070                 PDBM &= 0xFFFFFFFFFFFFFFFD
12071                 MEMB = Local2
12072                 PDBM = Local1
12073             }
12074 
12075             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
12076             {
12077                 If ((DVID == 0xFFFF))
12078                 {
12079                     Return (Zero)
12080                 }
12081 
12082                 PMES = One
12083                 PMEE = One
12084                 Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
12085                 Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
12086                 PDBM &= 0xFFFFFFFFFFFFFFF9
12087                 MEMB = SRMB /* \SRMB */
12088                 PDBM |= 0x02
12089                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
12090                 Field (MCA1, DWordAcc, Lock, Preserve)
12091                 {
12092                     Offset (0x80E0), 
12093                         ,   15, 
12094                     AX15,   1, 
12095                     Offset (0x8154), 
12096                         ,   31, 
12097                     CLK2,   1, 
12098                     Offset (0x816C), 
12099                         ,   2, 
12100                     CLK0,   1, 
12101                         ,   11, 
12102                     CLK1,   1, 
12103                     Offset (0x8170)
12104                 }
12105 
12106                 Local3 = D0D3 /* \_SB_.PCI0.XHC_.D0D3 */
12107                 If ((Local3 == 0x03))
12108                 {
12109                     D0D3 = Zero
12110                 }
12111 
12112                 If ((PCHS == 0x02))
12113                 {
12114                     MB13 = One
12115                     MB14 = One
12116                     CLK0 = One
12117                     CLK1 = One
12118                 }
12119 
12120                 CLK2 = Zero
12121                 If ((PCHS == 0x02))
12122                 {
12123                     AX15 = Zero
12124                 }
12125 
12126                 If (CondRefOf (\_SB.PCI0.XHC.PS3X))
12127                 {
12128                     PS3X ()
12129                 }
12130 
12131                 If ((Local3 == 0x03))
12132                 {
12133                     D0D3 = 0x03
12134                 }
12135 
12136                 PDBM &= 0xFFFFFFFFFFFFFFFD
12137                 MEMB = Local2
12138                 PDBM = Local1
12139             }
12140 
12141             Method (CUID, 1, Serialized)
12142             {
12143                 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
12144                 {
12145                     Return (One)
12146                 }
12147 
12148                 Return (Zero)
12149             }
12150 
12151             Method (POSC, 3, Serialized)
12152             {
12153                 CreateDWordField (Arg2, Zero, CDW1)
12154                 CreateDWordField (Arg2, 0x08, CDW3)
12155                 If ((XHCI == Zero))
12156                 {
12157                     CDW1 |= 0x02
12158                 }
12159 
12160                 If (!(CDW1 & One))
12161                 {
12162                     If ((CDW3 & One))
12163                     {
12164                         ESEL ()
12165                     }
12166                     Else
12167                     {
12168                         If (((CDID & 0xF000) == 0x8000))
12169                         {
12170                             If ((Arg0 > One))
12171                             {
12172                                 XSEL ()
12173                             }
12174                             Else
12175                             {
12176                                 CDW1 |= 0x0A
12177                             }
12178                         }
12179                         Else
12180                         {
12181                             If ((Arg0 > 0x02))
12182                             {
12183                                 XSEL ()
12184                             }
12185                             Else
12186                             {
12187                                 CDW1 |= 0x0A
12188                             }
12189                         }
12190                     }
12191                 }
12192 
12193                 Return (Arg2)
12194             }
12195 
12196             Method (XSEL, 0, Serialized)
12197             {
12198                 If (((XHCI == 0x02) || (XHCI == 0x03)))
12199                 {
12200                     XUSB = One
12201                     XRST = One
12202                     Local0 = Zero
12203                     Local0 = (PR3 & 0xFFFFFFC0)
12204                     PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHC_.PR3M */
12205                     Local0 = Zero
12206                     Local0 = (PR2 & 0xFFFF8000)
12207                     PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHC_.PR2M */
12208                 }
12209             }
12210 
12211             Method (ESEL, 0, Serialized)
12212             {
12213                 If (((XHCI == 0x02) || (XHCI == 0x03)))
12214                 {
12215                     PR3 &= 0xFFFFFFC0
12216                     PR2 &= 0xFFFF8000
12217                     XUSB = Zero
12218                     XRST = Zero
12219                 }
12220             }
12221 
12222             Method (XWAK, 0, Serialized)
12223             {
12224                 If (((XUSB == One) || (XRST == One)))
12225                 {
12226                     XSEL ()
12227                 }
12228             }
12229 
12230             Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
12231             {
12232                 Return (0x02)
12233             }
12234 
12235             Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
12236             {
12237                 Return (0x02)
12238             }
12239 
12240             Device (RHUB)
12241             {
12242                 Name (_ADR, Zero)  // _ADR: Address
12243                 Device (HS01)
12244                 {
12245                     Name (_ADR, One)  // _ADR: Address
12246                     Name (_STA, 0x0F)  // _STA: Status
12247                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12248                     {
12249                         Name (UPCP, Package (0x04)
12250                         {
12251                             0xFF, 
12252                             0x03, 
12253                             Zero, 
12254                             Zero
12255                         })
12256                         If (!(PR2S (One) & PR2))
12257                         {
12258                             Index (UPCP, Zero) = Zero
12259                         }
12260 
12261                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS01._UPC.UPCP */
12262                     }
12263 
12264                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12265                     {
12266                         Name (PLDP, Package (0x01)
12267                         {
12268                             Buffer (0x10)
12269                             {
12270                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12271                                 /* 0008 */  0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00   /* i....... */
12272                             }
12273                         })
12274                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12275                         If (!(PR2S (One) & PR2))
12276                         {
12277                             VIS &= Zero
12278                         }
12279 
12280                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS01._PLD.PLDP */
12281                     }
12282                 }
12283 
12284                 Device (HS02)
12285                 {
12286                     Name (_ADR, 0x02)  // _ADR: Address
12287                     Name (_STA, 0x0F)  // _STA: Status
12288                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12289                     {
12290                         Name (UPCP, Package (0x04)
12291                         {
12292                             0xFF, 
12293                             0x03, 
12294                             Zero, 
12295                             Zero
12296                         })
12297                         If (!(PR2S (0x02) & PR2))
12298                         {
12299                             Index (UPCP, Zero) = Zero
12300                         }
12301 
12302                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS02._UPC.UPCP */
12303                     }
12304 
12305                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12306                     {
12307                         Name (PLDP, Package (0x01)
12308                         {
12309                             Buffer (0x10)
12310                             {
12311                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12312                                 /* 0008 */  0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
12313                             }
12314                         })
12315                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12316                         If (!(PR2S (0x02) & PR2))
12317                         {
12318                             VIS &= Zero
12319                         }
12320 
12321                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS02._PLD.PLDP */
12322                     }
12323                 }
12324 
12325                 Device (HS03)
12326                 {
12327                     Name (_ADR, 0x03)  // _ADR: Address
12328                     Name (_STA, 0x0F)  // _STA: Status
12329                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12330                     {
12331                         Name (UPCP, Package (0x04)
12332                         {
12333                             0xFF, 
12334                             0x03, 
12335                             Zero, 
12336                             Zero
12337                         })
12338                         If (!(PR2S (0x03) & PR2))
12339                         {
12340                             Index (UPCP, Zero) = Zero
12341                         }
12342 
12343                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS03._UPC.UPCP */
12344                     }
12345 
12346                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12347                     {
12348                         Name (PLDP, Package (0x01)
12349                         {
12350                             Buffer (0x10)
12351                             {
12352                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12353                                 /* 0008 */  0x71, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00   /* q....... */
12354                             }
12355                         })
12356                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12357                         If (!(PR2S (0x03) & PR2))
12358                         {
12359                             VIS &= Zero
12360                         }
12361 
12362                         If (((CDID & 0xF000) == 0x9000))
12363                         {
12364                             VIS &= Zero
12365                         }
12366 
12367                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS03._PLD.PLDP */
12368                     }
12369                 }
12370 
12371                 Device (HS04)
12372                 {
12373                     Name (_ADR, 0x04)  // _ADR: Address
12374                     Name (_STA, 0x0F)  // _STA: Status
12375                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12376                     {
12377                         Name (UPCP, Package (0x04)
12378                         {
12379                             0xFF, 
12380                             0xFF, 
12381                             Zero, 
12382                             Zero
12383                         })
12384                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS04._UPC.UPCP */
12385                     }
12386 
12387                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12388                     {
12389                         Name (PLDP, Package (0x01)
12390                         {
12391                             Buffer (0x10)
12392                             {
12393                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12394                                 /* 0008 */  0x70, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* p....... */
12395                             }
12396                         })
12397                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12398                         If (!(PR2S (0x04) & PR2))
12399                         {
12400                             VIS &= Zero
12401                         }
12402 
12403                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS04._PLD.PLDP */
12404                     }
12405                 }
12406 
12407                 Device (HS05)
12408                 {
12409                     Name (_ADR, 0x05)  // _ADR: Address
12410                     Method (_STA, 0, NotSerialized)  // _STA: Status
12411                     {
12412                         If ((RDGI (0x23) == Zero))
12413                         {
12414                             Return (0x0F)
12415                         }
12416 
12417                         Return (Zero)
12418                     }
12419 
12420                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12421                     {
12422                         Name (UPCP, Package (0x04)
12423                         {
12424                             0xFF, 
12425                             Zero, 
12426                             Zero, 
12427                             Zero
12428                         })
12429                         If (!(PR2S (0x05) & PR2))
12430                         {
12431                             Index (UPCP, Zero) = Zero
12432                         }
12433 
12434                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS05._UPC.UPCP */
12435                     }
12436 
12437                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12438                     {
12439                         Name (PLDP, Package (0x01)
12440                         {
12441                             Buffer (0x10)
12442                             {
12443                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12444                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12445                             }
12446                         })
12447                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS05._PLD.PLDP */
12448                     }
12449                 }
12450 
12451                 Device (HS06)
12452                 {
12453                     Name (_ADR, 0x06)  // _ADR: Address
12454                     Name (_STA, 0x0F)  // _STA: Status
12455                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12456                     {
12457                         Name (UPCP, Package (0x04)
12458                         {
12459                             0xFF, 
12460                             0xFF, 
12461                             Zero, 
12462                             Zero
12463                         })
12464                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS06._UPC.UPCP */
12465                     }
12466 
12467                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12468                     {
12469                         Name (PLDP, Package (0x01)
12470                         {
12471                             Buffer (0x10)
12472                             {
12473                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12474                                 /* 0008 */  0x68, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00   /* h....... */
12475                             }
12476                         })
12477                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12478                         If (!(PR2S (0x06) & PR2))
12479                         {
12480                             VIS &= Zero
12481                         }
12482 
12483                         Name (PLDC, Buffer (0x14)
12484                         {
12485                             /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12486                             /* 0008 */  0x24, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $A...... */
12487                             /* 0010 */  0x0A, 0x00, 0xBE, 0x00                           /* .... */
12488                         })
12489                         If (WIN8)
12490                         {
12491                             Return (PLDC) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.PLDC */
12492                         }
12493 
12494                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS06._PLD.PLDP */
12495                     }
12496 
12497                     Device (CAM0)
12498                     {
12499                         Name (_ADR, 0x06)  // _ADR: Address
12500                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12501                         {
12502                             Name (PLDP, Package (0x01)
12503                             {
12504                                 Buffer (0x10)
12505                                 {
12506                                     /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12507                                     /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12508                                 }
12509                             })
12510                             Name (PLDC, Buffer (0x14)
12511                             {
12512                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12513                                 /* 0008 */  0x24, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $A...... */
12514                                 /* 0010 */  0x0A, 0x00, 0xBE, 0x00                           /* .... */
12515                             })
12516                             If (WIN8)
12517                             {
12518                                 Return (PLDC) /* \_SB_.PCI0.XHC_.RHUB.HS06.CAM0._PLD.PLDC */
12519                             }
12520 
12521                             Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS06.CAM0._PLD.PLDP */
12522                         }
12523                     }
12524                 }
12525 
12526                 Device (HS07)
12527                 {
12528                     Name (_ADR, 0x07)  // _ADR: Address
12529                     Name (_STA, 0x0F)  // _STA: Status
12530                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12531                     {
12532                         Name (UPCP, Package (0x04)
12533                         {
12534                             0xFF, 
12535                             0xFF, 
12536                             Zero, 
12537                             Zero
12538                         })
12539                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS07._UPC.UPCP */
12540                     }
12541 
12542                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12543                     {
12544                         Name (PLDP, Package (0x01)
12545                         {
12546                             Buffer (0x10)
12547                             {
12548                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12549                                 /* 0008 */  0x70, 0x0C, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00   /* p....... */
12550                             }
12551                         })
12552                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12553                         If (!(PR2S (0x07) & PR2))
12554                         {
12555                             VIS &= Zero
12556                         }
12557 
12558                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS07._PLD.PLDP */
12559                     }
12560                 }
12561 
12562                 Device (HS08)
12563                 {
12564                     Name (_ADR, 0x08)  // _ADR: Address
12565                     Name (_STA, Zero)  // _STA: Status
12566                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12567                     {
12568                         Name (UPCP, Package (0x04)
12569                         {
12570                             0xFF, 
12571                             Zero, 
12572                             Zero, 
12573                             Zero
12574                         })
12575                         If (!(PR2S (0x08) & PR2))
12576                         {
12577                             Index (UPCP, Zero) = Zero
12578                         }
12579 
12580                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS08._UPC.UPCP */
12581                     }
12582 
12583                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12584                     {
12585                         Name (PLDP, Package (0x01)
12586                         {
12587                             Buffer (0x10)
12588                             {
12589                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12590                                 /* 0008 */  0x71, 0x0C, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00   /* q....... */
12591                             }
12592                         })
12593                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12594                         If (!(PR2S (0x08) & PR2))
12595                         {
12596                             VIS &= Zero
12597                         }
12598 
12599                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS08._PLD.PLDP */
12600                     }
12601                 }
12602 
12603                 Device (HS09)
12604                 {
12605                     Name (_ADR, 0x09)  // _ADR: Address
12606                     Name (_STA, 0x0F)  // _STA: Status
12607                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12608                     {
12609                         Name (UPCP, Package (0x04)
12610                         {
12611                             0xFF, 
12612                             0x03, 
12613                             Zero, 
12614                             Zero
12615                         })
12616                         If (!(PR2S (0x09) & PR2))
12617                         {
12618                             Index (UPCP, Zero) = Zero
12619                         }
12620 
12621                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS09._UPC.UPCP */
12622                     }
12623 
12624                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12625                     {
12626                         Name (PLDP, Package (0x01)
12627                         {
12628                             Buffer (0x10)
12629                             {
12630                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12631                                 /* 0008 */  0x71, 0x0C, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00   /* q....... */
12632                             }
12633                         })
12634                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12635                         If (!(PR2S (0x09) & PR2))
12636                         {
12637                             VIS &= Zero
12638                         }
12639 
12640                         If (((CDID & 0xF000) == 0x9000))
12641                         {
12642                             VIS &= Zero
12643                         }
12644 
12645                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS09._PLD.PLDP */
12646                     }
12647                 }
12648 
12649                 Device (HS10)
12650                 {
12651                     Method (_ADR, 0, Serialized)  // _ADR: Address
12652                     {
12653                         If (((CDID & 0xF000) == 0x8000))
12654                         {
12655                             Return (0x0A)
12656                         }
12657                         Else
12658                         {
12659                             Return (0xFA)
12660                         }
12661                     }
12662 
12663                     Method (_STA, 0, Serialized)  // _STA: Status
12664                     {
12665                         If (((CDID & 0xF000) == 0x8000))
12666                         {
12667                             Return (0x0F)
12668                         }
12669                         Else
12670                         {
12671                             Return (Zero)
12672                         }
12673                     }
12674 
12675                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12676                     {
12677                         Name (UPCP, Package (0x04)
12678                         {
12679                             0xFF, 
12680                             0x03, 
12681                             Zero, 
12682                             Zero
12683                         })
12684                         If (!(PR2S (0x0A) & PR2))
12685                         {
12686                             Index (UPCP, Zero) = Zero
12687                         }
12688 
12689                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS10._UPC.UPCP */
12690                     }
12691 
12692                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12693                     {
12694                         Name (PLDP, Package (0x01)
12695                         {
12696                             Buffer (0x10)
12697                             {
12698                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
12699                                 /* 0008 */  0x71, 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00   /* q....... */
12700                             }
12701                         })
12702                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12703                         If (!(PR2S (0x0A) & PR2))
12704                         {
12705                             VIS &= Zero
12706                         }
12707 
12708                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS10._PLD.PLDP */
12709                     }
12710                 }
12711 
12712                 Device (HS11)
12713                 {
12714                     Method (_ADR, 0, Serialized)  // _ADR: Address
12715                     {
12716                         If (((CDID & 0xF000) == 0x8000))
12717                         {
12718                             Return (0x0B)
12719                         }
12720                         Else
12721                         {
12722                             Return (0xFB)
12723                         }
12724                     }
12725 
12726                     Method (_STA, 0, Serialized)  // _STA: Status
12727                     {
12728                         If (((CDID & 0xF000) == 0x8000))
12729                         {
12730                             Return (0x0F)
12731                         }
12732                         Else
12733                         {
12734                             Return (Zero)
12735                         }
12736                     }
12737 
12738                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12739                     {
12740                         Name (UPCP, Package (0x04)
12741                         {
12742                             0xFF, 
12743                             0xFF, 
12744                             Zero, 
12745                             Zero
12746                         })
12747                         If (!(PR2S (0x0B) & PR2))
12748                         {
12749                             Index (UPCP, Zero) = Zero
12750                         }
12751 
12752                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS11._UPC.UPCP */
12753                     }
12754 
12755                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12756                     {
12757                         Name (PLDP, Package (0x01)
12758                         {
12759                             Buffer (0x10)
12760                             {
12761                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12762                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12763                             }
12764                         })
12765                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12766                         If (!(PR2S (0x0B) & PR2))
12767                         {
12768                             VIS &= Zero
12769                         }
12770 
12771                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS11._PLD.PLDP */
12772                     }
12773                 }
12774 
12775                 Device (HS12)
12776                 {
12777                     Method (_ADR, 0, Serialized)  // _ADR: Address
12778                     {
12779                         If (((CDID & 0xF000) == 0x8000))
12780                         {
12781                             Return (0x0C)
12782                         }
12783                         Else
12784                         {
12785                             Return (0xFC)
12786                         }
12787                     }
12788 
12789                     Method (_STA, 0, Serialized)  // _STA: Status
12790                     {
12791                         If (((CDID & 0xF000) == 0x8000))
12792                         {
12793                             Return (0x0F)
12794                         }
12795                         Else
12796                         {
12797                             Return (Zero)
12798                         }
12799                     }
12800 
12801                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12802                     {
12803                         Name (UPCP, Package (0x04)
12804                         {
12805                             0xFF, 
12806                             0xFF, 
12807                             Zero, 
12808                             Zero
12809                         })
12810                         If (!(PR2S (0x0C) & PR2))
12811                         {
12812                             Index (UPCP, Zero) = Zero
12813                         }
12814 
12815                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS12._UPC.UPCP */
12816                     }
12817 
12818                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12819                     {
12820                         Name (PLDP, Package (0x01)
12821                         {
12822                             Buffer (0x10)
12823                             {
12824                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12825                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12826                             }
12827                         })
12828                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12829                         If (!(PR2S (0x0C) & PR2))
12830                         {
12831                             VIS &= Zero
12832                         }
12833 
12834                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS12._PLD.PLDP */
12835                     }
12836                 }
12837 
12838                 Device (HS13)
12839                 {
12840                     Method (_ADR, 0, Serialized)  // _ADR: Address
12841                     {
12842                         If (((CDID & 0xF000) == 0x8000))
12843                         {
12844                             Return (0x0D)
12845                         }
12846                         Else
12847                         {
12848                             Return (0xFD)
12849                         }
12850                     }
12851 
12852                     Method (_STA, 0, Serialized)  // _STA: Status
12853                     {
12854                         If (((CDID & 0xF000) == 0x8000))
12855                         {
12856                             Return (0x0F)
12857                         }
12858                         Else
12859                         {
12860                             Return (Zero)
12861                         }
12862                     }
12863 
12864                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12865                     {
12866                         Name (UPCP, Package (0x04)
12867                         {
12868                             0xFF, 
12869                             0xFF, 
12870                             Zero, 
12871                             Zero
12872                         })
12873                         If (!(PR2S (0x0D) & PR2))
12874                         {
12875                             Index (UPCP, Zero) = Zero
12876                         }
12877 
12878                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS13._UPC.UPCP */
12879                     }
12880 
12881                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12882                     {
12883                         Name (PLDP, Package (0x01)
12884                         {
12885                             Buffer (0x10)
12886                             {
12887                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12888                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12889                             }
12890                         })
12891                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12892                         If (!(PR2S (0x0D) & PR2))
12893                         {
12894                             VIS &= Zero
12895                         }
12896 
12897                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS13._PLD.PLDP */
12898                     }
12899                 }
12900 
12901                 Device (HS14)
12902                 {
12903                     Name (_ADR, 0x0E)  // _ADR: Address
12904                     Method (_STA, 0, Serialized)  // _STA: Status
12905                     {
12906                         If (((CDID & 0xF000) == 0x8000))
12907                         {
12908                             Return (0x0F)
12909                         }
12910                         Else
12911                         {
12912                             Return (Zero)
12913                         }
12914                     }
12915 
12916                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12917                     {
12918                         Name (UPCP, Package (0x04)
12919                         {
12920                             0xFF, 
12921                             0xFF, 
12922                             Zero, 
12923                             Zero
12924                         })
12925                         If (!(PR2S (0x0E) & PR2))
12926                         {
12927                             Index (UPCP, Zero) = Zero
12928                         }
12929 
12930                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS14._UPC.UPCP */
12931                     }
12932 
12933                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12934                     {
12935                         Name (PLDP, Package (0x01)
12936                         {
12937                             Buffer (0x10)
12938                             {
12939                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12940                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12941                             }
12942                         })
12943                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12944                         If (!(PR2S (0x0E) & PR2))
12945                         {
12946                             VIS &= Zero
12947                         }
12948 
12949                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS14._PLD.PLDP */
12950                     }
12951                 }
12952 
12953                 Device (HS15)
12954                 {
12955                     Name (_ADR, 0x0F)  // _ADR: Address
12956                     Method (_STA, 0, Serialized)  // _STA: Status
12957                     {
12958                         If (((CDID & 0xF000) == 0x8000))
12959                         {
12960                             Return (0x0F)
12961                         }
12962                         Else
12963                         {
12964                             Return (Zero)
12965                         }
12966                     }
12967 
12968                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
12969                     {
12970                         Name (UPCP, Package (0x04)
12971                         {
12972                             Zero, 
12973                             Zero, 
12974                             Zero, 
12975                             Zero
12976                         })
12977                         If (!(PR2S (0x0F) & PR2))
12978                         {
12979                             Index (UPCP, Zero) = Zero
12980                         }
12981 
12982                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HS15._UPC.UPCP */
12983                     }
12984 
12985                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
12986                     {
12987                         Name (PLDP, Package (0x01)
12988                         {
12989                             Buffer (0x10)
12990                             {
12991                                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
12992                                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
12993                             }
12994                         })
12995                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
12996                         If (!(PR2S (0x0F) & PR2))
12997                         {
12998                             VIS &= Zero
12999                         }
13000 
13001                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HS15._PLD.PLDP */
13002                     }
13003                 }
13004 
13005                 Device (SSP1)
13006                 {
13007                     Method (_ADR, 0, Serialized)  // _ADR: Address
13008                     {
13009                         If (((CDID & 0xF000) == 0x8000))
13010                         {
13011                             Return (0x10)
13012                         }
13013                         Else
13014                         {
13015                             Return (0x0A)
13016                         }
13017                     }
13018 
13019                     Name (_STA, 0x0F)  // _STA: Status
13020                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13021                     {
13022                         Name (UPCP, Package (0x04)
13023                         {
13024                             0xFF, 
13025                             0x03, 
13026                             Zero, 
13027                             Zero
13028                         })
13029                         If (!(PR3 & One))
13030                         {
13031                             Index (UPCP, Zero) = Zero
13032                         }
13033 
13034                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */
13035                     }
13036 
13037                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13038                     {
13039                         Name (PLDP, Package (0x01)
13040                         {
13041                             Buffer (0x10)
13042                             {
13043                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13044                                 /* 0008 */  0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00   /* i....... */
13045                             }
13046                         })
13047                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13048                         If (!(PR3 & One))
13049                         {
13050                             VIS &= Zero
13051                         }
13052 
13053                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */
13054                     }
13055                 }
13056 
13057                 Device (SSP2)
13058                 {
13059                     Method (_ADR, 0, Serialized)  // _ADR: Address
13060                     {
13061                         If (((CDID & 0xF000) == 0x8000))
13062                         {
13063                             Return (0x11)
13064                         }
13065                         Else
13066                         {
13067                             Return (0x0B)
13068                         }
13069                     }
13070 
13071                     Name (_STA, 0x0F)  // _STA: Status
13072                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13073                     {
13074                         Name (UPCP, Package (0x04)
13075                         {
13076                             0xFF, 
13077                             0x03, 
13078                             Zero, 
13079                             Zero
13080                         })
13081                         If (!(PR3 & 0x02))
13082                         {
13083                             Index (UPCP, Zero) = Zero
13084                         }
13085 
13086                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */
13087                     }
13088 
13089                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13090                     {
13091                         Name (PLDP, Package (0x01)
13092                         {
13093                             Buffer (0x10)
13094                             {
13095                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13096                                 /* 0008 */  0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00   /* i....... */
13097                             }
13098                         })
13099                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13100                         If (!(PR3 & 0x02))
13101                         {
13102                             VIS &= Zero
13103                         }
13104 
13105                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */
13106                     }
13107                 }
13108 
13109                 Device (SSP3)
13110                 {
13111                     Method (_ADR, 0, Serialized)  // _ADR: Address
13112                     {
13113                         If (((CDID & 0xF000) == 0x8000))
13114                         {
13115                             Return (0x12)
13116                         }
13117                         Else
13118                         {
13119                             Return (0x0C)
13120                         }
13121                     }
13122 
13123                     Name (_STA, 0x0F)  // _STA: Status
13124                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13125                     {
13126                         Name (UPCP, Package (0x04)
13127                         {
13128                             0xFF, 
13129                             0x03, 
13130                             Zero, 
13131                             Zero
13132                         })
13133                         If (!(PR3 & 0x04))
13134                         {
13135                             Index (UPCP, Zero) = Zero
13136                         }
13137 
13138                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */
13139                     }
13140 
13141                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13142                     {
13143                         Name (PLDP, Package (0x01)
13144                         {
13145                             Buffer (0x10)
13146                             {
13147                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13148                                 /* 0008 */  0x71, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00   /* q....... */
13149                             }
13150                         })
13151                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13152                         If (!(PR3 & 0x04))
13153                         {
13154                             VIS &= Zero
13155                         }
13156 
13157                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */
13158                     }
13159                 }
13160 
13161                 Device (SSP4)
13162                 {
13163                     Method (_ADR, 0, Serialized)  // _ADR: Address
13164                     {
13165                         If (((CDID & 0xF000) == 0x8000))
13166                         {
13167                             Return (0x13)
13168                         }
13169                         Else
13170                         {
13171                             Return (0x0D)
13172                         }
13173                     }
13174 
13175                     Name (_STA, 0x0F)  // _STA: Status
13176                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13177                     {
13178                         Name (UPCP, Package (0x04)
13179                         {
13180                             0xFF, 
13181                             0x03, 
13182                             Zero, 
13183                             Zero
13184                         })
13185                         If (!(PR3 & 0x08))
13186                         {
13187                             Index (UPCP, Zero) = Zero
13188                         }
13189 
13190                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */
13191                     }
13192 
13193                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13194                     {
13195                         Name (PLDP, Package (0x01)
13196                         {
13197                             Buffer (0x10)
13198                             {
13199                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13200                                 /* 0008 */  0x71, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* q....... */
13201                             }
13202                         })
13203                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13204                         If (!(PR3 & 0x08))
13205                         {
13206                             VIS &= Zero
13207                         }
13208 
13209                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */
13210                     }
13211                 }
13212 
13213                 Device (SSP5)
13214                 {
13215                     Name (_ADR, 0x14)  // _ADR: Address
13216                     Method (_STA, 0, Serialized)  // _STA: Status
13217                     {
13218                         If (((CDID & 0xF000) == 0x8000))
13219                         {
13220                             Return (0x0F)
13221                         }
13222                         Else
13223                         {
13224                             Return (Zero)
13225                         }
13226                     }
13227 
13228                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13229                     {
13230                         Name (UPCP, Package (0x04)
13231                         {
13232                             0xFF, 
13233                             0x03, 
13234                             Zero, 
13235                             Zero
13236                         })
13237                         If (!(PR3 & 0x10))
13238                         {
13239                             Index (UPCP, Zero) = Zero
13240                         }
13241 
13242                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._UPC.UPCP */
13243                     }
13244 
13245                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13246                     {
13247                         Name (PLDP, Package (0x01)
13248                         {
13249                             Buffer (0x10)
13250                             {
13251                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13252                                 /* 0008 */  0x71, 0x0C, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00   /* q....... */
13253                             }
13254                         })
13255                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13256                         If (!(PR3 & 0x10))
13257                         {
13258                             VIS &= Zero
13259                         }
13260 
13261                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP5._PLD.PLDP */
13262                     }
13263                 }
13264 
13265                 Device (SSP6)
13266                 {
13267                     Name (_ADR, 0x15)  // _ADR: Address
13268                     Method (_STA, 0, Serialized)  // _STA: Status
13269                     {
13270                         If (((CDID & 0xF000) == 0x8000))
13271                         {
13272                             Return (0x0F)
13273                         }
13274                         Else
13275                         {
13276                             Return (Zero)
13277                         }
13278                     }
13279 
13280                     Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
13281                     {
13282                         Name (UPCP, Package (0x04)
13283                         {
13284                             0xFF, 
13285                             0x03, 
13286                             Zero, 
13287                             Zero
13288                         })
13289                         If (!(PR3 & 0x20))
13290                         {
13291                             Index (UPCP, Zero) = Zero
13292                         }
13293 
13294                         Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._UPC.UPCP */
13295                     }
13296 
13297                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
13298                     {
13299                         Name (PLDP, Package (0x01)
13300                         {
13301                             Buffer (0x10)
13302                             {
13303                                 /* 0000 */  0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ..r..... */
13304                                 /* 0008 */  0x71, 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00   /* q....... */
13305                             }
13306                         })
13307                         CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
13308                         If (!(PR3 & 0x20))
13309                         {
13310                             VIS &= Zero
13311                         }
13312 
13313                         Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP6._PLD.PLDP */
13314                     }
13315                 }
13316             }
13317 
13318             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
13319             {
13320                 Return (GPRW (0x6D, 0x03))
13321             }
13322         }
13323 
13324         Device (HDEF)
13325         {
13326             Name (_ADR, 0x001B0000)  // _ADR: Address
13327             OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
13328             Field (HDAR, WordAcc, NoLock, Preserve)
13329             {
13330                 DCKA,   1, 
13331                 Offset (0x01), 
13332                 DCKM,   1, 
13333                     ,   6, 
13334                 DCKS,   1, 
13335                 Offset (0x08), 
13336                 Offset (0x09), 
13337                 PMEE,   1, 
13338                     ,   6, 
13339                 PMES,   1
13340             }
13341 
13342             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
13343             {
13344                 Return (GPRW (0x6D, 0x04))
13345             }
13346         }
13347 
13348         Device (RP01)
13349         {
13350             Method (_ADR, 0, NotSerialized)  // _ADR: Address
13351             {
13352                 Return (RPA0) /* \RPA0 */
13353             }
13354 
13355             Name (PDSF, Zero)
13356             Method (_INI, 0, NotSerialized)  // _INI: Initialize
13357             {
13358                 LTRE = LTR1 /* \LTR1 */
13359                 LMSL = PML1 /* \PML1 */
13360                 LNSL = PNL1 /* \PNL1 */
13361                 OBFF = OBF1 /* \OBF1 */
13362             }
13363 
13364             OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
13365             Field (PXCS, AnyAcc, NoLock, Preserve)
13366             {
13367                 VDID,   32, 
13368                 Offset (0x50), 
13369                 L0SE,   1, 
13370                     ,   3, 
13371                 LDIS,   1, 
13372                 Offset (0x51), 
13373                 Offset (0x52), 
13374                     ,   13, 
13375                 LASX,   1, 
13376                 Offset (0x5A), 
13377                 ABPX,   1, 
13378                     ,   2, 
13379                 PDCX,   1, 
13380                     ,   2, 
13381                 PDSX,   1, 
13382                 Offset (0x5B), 
13383                 Offset (0x60), 
13384                 Offset (0x62), 
13385                 PSPX,   1, 
13386                 Offset (0xA4), 
13387                 D3HT,   2, 
13388                 Offset (0xD8), 
13389                     ,   30, 
13390                 HPEX,   1, 
13391                 PMEX,   1, 
13392                 Offset (0xE2), 
13393                     ,   2, 
13394                 L23E,   1, 
13395                 L23R,   1, 
13396                 Offset (0x324), 
13397                     ,   3, 
13398                 LEDM,   1
13399             }
13400 
13401             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
13402             {
13403                 Offset (0xDC), 
13404                     ,   30, 
13405                 HPSX,   1, 
13406                 PMSX,   1
13407             }
13408 
13409             Method (_STA, 0, NotSerialized)  // _STA: Status
13410             {
13411                 If ((VDID == 0xFFFFFFFF))
13412                 {
13413                     Return (Zero)
13414                 }
13415                 Else
13416                 {
13417                     Return (0x0F)
13418                 }
13419             }
13420 
13421             Name (LTRV, Package (0x04)
13422             {
13423                 Zero, 
13424                 Zero, 
13425                 Zero, 
13426                 Zero
13427             })
13428             Name (OPTS, Zero)
13429             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
13430             {
13431                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
13432                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
13433                 While (One)
13434                 {
13435                     _T_0 = ToInteger (Arg0)
13436                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
13437                     {
13438                         While (One)
13439                         {
13440                             _T_1 = ToInteger (Arg2)
13441                             If ((_T_1 == Zero))
13442                             {
13443                                 If ((Arg1 == 0x02))
13444                                 {
13445                                     OPTS = One
13446                                     If (LTRE)
13447                                     {
13448                                         OPTS |= 0x40
13449                                     }
13450 
13451                                     If (OBFF)
13452                                     {
13453                                         OPTS |= 0x10
13454                                     }
13455 
13456                                     Return (OPTS) /* \_SB_.PCI0.RP01.OPTS */
13457                                 }
13458                                 Else
13459                                 {
13460                                     Return (Zero)
13461                                 }
13462                             }
13463                             Else
13464                             {
13465                                 If ((_T_1 == 0x04))
13466                                 {
13467                                     If ((Arg1 == 0x02))
13468                                     {
13469                                         If (OBFF)
13470                                         {
13471                                             Return (Buffer (0x10)
13472                                             {
13473                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13474                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
13475                                             })
13476                                         }
13477                                         Else
13478                                         {
13479                                             Return (Buffer (0x10)
13480                                             {
13481                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13482                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
13483                                             })
13484                                         }
13485                                     }
13486                                 }
13487                                 Else
13488                                 {
13489                                     If ((_T_1 == 0x06))
13490                                     {
13491                                         If ((Arg1 == 0x02))
13492                                         {
13493                                             If (LTRE)
13494                                             {
13495                                                 If (((LMSL == 0xFFFFFFFF) || (LNSL == 0xFFFFFFFF)))
13496                                                 {
13497                                                     If ((PCHS == One))
13498                                                     {
13499                                                         LMSL = 0x0846
13500                                                         LNSL = 0x0846
13501                                                     }
13502                                                     Else
13503                                                     {
13504                                                         If ((PCHS == 0x02))
13505                                                         {
13506                                                             LMSL = 0x1003
13507                                                             LNSL = 0x1003
13508                                                         }
13509                                                     }
13510                                                 }
13511 
13512                                                 Index (LTRV, Zero) = ((LMSL >> 0x0A) & 0x07)
13513                                                 Index (LTRV, One) = (LMSL & 0x03FF)
13514                                                 Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
13515                                                 Index (LTRV, 0x03) = (LNSL & 0x03FF)
13516                                                 Return (LTRV) /* \_SB_.PCI0.RP01.LTRV */
13517                                             }
13518                                             Else
13519                                             {
13520                                                 Return (Zero)
13521                                             }
13522                                         }
13523                                     }
13524                                 }
13525                             }
13526 
13527                             Break
13528                         }
13529                     }
13530 
13531                     Break
13532                 }
13533 
13534                 Return (Buffer (One)
13535                 {
13536                      0x00                                             /* . */
13537                 })
13538             }
13539 
13540             Device (PXSX)
13541             {
13542                 Name (_ADR, Zero)  // _ADR: Address
13543                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
13544                 {
13545                     Return (GPRW (0x69, 0x04))
13546                 }
13547             }
13548 
13549             Method (HPME, 0, Serialized)
13550             {
13551                 If (PMSX)
13552                 {
13553                     Local0 = 0xC8
13554                     While (Local0)
13555                     {
13556                         PMSX = One
13557                         If (PMSX)
13558                         {
13559                             Local0--
13560                         }
13561                         Else
13562                         {
13563                             Local0 = Zero
13564                         }
13565                     }
13566 
13567                     Notify (PXSX, 0x02) // Device Wake
13568                 }
13569             }
13570 
13571             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
13572             {
13573                 Return (GPRW (0x69, 0x04))
13574             }
13575 
13576             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
13577             {
13578                 If (PICM)
13579                 {
13580                     Return (AR04 ())
13581                 }
13582 
13583                 Return (PR04 ())
13584             }
13585         }
13586 
13587         Device (RP02)
13588         {
13589             Method (_ADR, 0, NotSerialized)  // _ADR: Address
13590             {
13591                 Return (RPA1) /* \RPA1 */
13592             }
13593 
13594             Name (PDSF, Zero)
13595             Method (_INI, 0, NotSerialized)  // _INI: Initialize
13596             {
13597                 LTRE = LTR2 /* \LTR2 */
13598                 LMSL = PML2 /* \PML2 */
13599                 LNSL = PNL2 /* \PNL2 */
13600                 OBFF = OBF2 /* \OBF2 */
13601             }
13602 
13603             OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
13604             Field (PXCS, AnyAcc, NoLock, Preserve)
13605             {
13606                 VDID,   32, 
13607                 Offset (0x50), 
13608                 L0SE,   1, 
13609                     ,   3, 
13610                 LDIS,   1, 
13611                 Offset (0x51), 
13612                 Offset (0x52), 
13613                     ,   13, 
13614                 LASX,   1, 
13615                 Offset (0x5A), 
13616                 ABPX,   1, 
13617                     ,   2, 
13618                 PDCX,   1, 
13619                     ,   2, 
13620                 PDSX,   1, 
13621                 Offset (0x5B), 
13622                 Offset (0x60), 
13623                 Offset (0x62), 
13624                 PSPX,   1, 
13625                 PP,     1, 
13626                 Offset (0xA4), 
13627                 D3HT,   2, 
13628                 Offset (0xD8), 
13629                     ,   30, 
13630                 HPEX,   1, 
13631                 PMEX,   1, 
13632                 Offset (0xE2), 
13633                     ,   2, 
13634                 L23E,   1, 
13635                 L23R,   1, 
13636                 Offset (0x324), 
13637                     ,   3, 
13638                 LEDM,   1
13639             }
13640 
13641             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
13642             {
13643                 Offset (0xDC), 
13644                     ,   30, 
13645                 HPSX,   1, 
13646                 PMSX,   1
13647             }
13648 
13649             Method (_STA, 0, NotSerialized)  // _STA: Status
13650             {
13651                 If ((VDID == 0xFFFFFFFF))
13652                 {
13653                     Return (Zero)
13654                 }
13655                 Else
13656                 {
13657                     Return (0x0F)
13658                 }
13659             }
13660 
13661             Name (LTRV, Package (0x04)
13662             {
13663                 Zero, 
13664                 Zero, 
13665                 Zero, 
13666                 Zero
13667             })
13668             Name (OPTS, Zero)
13669             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
13670             {
13671                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
13672                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
13673                 While (One)
13674                 {
13675                     _T_0 = ToInteger (Arg0)
13676                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
13677                     {
13678                         While (One)
13679                         {
13680                             _T_1 = ToInteger (Arg2)
13681                             If ((_T_1 == Zero))
13682                             {
13683                                 If ((Arg1 == 0x02))
13684                                 {
13685                                     OPTS = One
13686                                     If (LTRE)
13687                                     {
13688                                         OPTS |= 0x40
13689                                     }
13690 
13691                                     If (OBFF)
13692                                     {
13693                                         OPTS |= 0x10
13694                                     }
13695 
13696                                     Return (OPTS) /* \_SB_.PCI0.RP02.OPTS */
13697                                 }
13698                                 Else
13699                                 {
13700                                     Return (Zero)
13701                                 }
13702                             }
13703                             Else
13704                             {
13705                                 If ((_T_1 == 0x04))
13706                                 {
13707                                     If ((Arg1 == 0x02))
13708                                     {
13709                                         If (OBFF)
13710                                         {
13711                                             Return (Buffer (0x10)
13712                                             {
13713                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13714                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
13715                                             })
13716                                         }
13717                                         Else
13718                                         {
13719                                             Return (Buffer (0x10)
13720                                             {
13721                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13722                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
13723                                             })
13724                                         }
13725                                     }
13726                                 }
13727                                 Else
13728                                 {
13729                                     If ((_T_1 == 0x06))
13730                                     {
13731                                         If ((Arg1 == 0x02))
13732                                         {
13733                                             If (LTRE)
13734                                             {
13735                                                 If (((LMSL == 0xFFFFFFFF) || (LNSL == 0xFFFFFFFF)))
13736                                                 {
13737                                                     If ((PCHS == One))
13738                                                     {
13739                                                         LMSL = 0x0846
13740                                                         LNSL = 0x0846
13741                                                     }
13742                                                     Else
13743                                                     {
13744                                                         If ((PCHS == 0x02))
13745                                                         {
13746                                                             LMSL = 0x1003
13747                                                             LNSL = 0x1003
13748                                                         }
13749                                                     }
13750                                                 }
13751 
13752                                                 Index (LTRV, Zero) = ((LMSL >> 0x0A) & 0x07)
13753                                                 Index (LTRV, One) = (LMSL & 0x03FF)
13754                                                 Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
13755                                                 Index (LTRV, 0x03) = (LNSL & 0x03FF)
13756                                                 Return (LTRV) /* \_SB_.PCI0.RP02.LTRV */
13757                                             }
13758                                             Else
13759                                             {
13760                                                 Return (Zero)
13761                                             }
13762                                         }
13763                                     }
13764                                 }
13765                             }
13766 
13767                             Break
13768                         }
13769                     }
13770 
13771                     Break
13772                 }
13773 
13774                 Return (Buffer (One)
13775                 {
13776                      0x00                                             /* . */
13777                 })
13778             }
13779 
13780             Device (PXSX)
13781             {
13782                 Name (_ADR, Zero)  // _ADR: Address
13783                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
13784                 {
13785                     0x0F, 
13786                     0x05
13787                 })
13788                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
13789                 {
13790                     If (Arg0)
13791                     {
13792                         ^^^LPCB.EC0.HWWL = One
13793                     }
13794                     Else
13795                     {
13796                         ^^^LPCB.EC0.HWWL = Zero
13797                     }
13798                 }
13799             }
13800 
13801             Method (HPME, 0, Serialized)
13802             {
13803                 If (PMSX)
13804                 {
13805                     Local0 = 0xC8
13806                     While (Local0)
13807                     {
13808                         PMSX = One
13809                         If (PMSX)
13810                         {
13811                             Local0--
13812                         }
13813                         Else
13814                         {
13815                             Local0 = Zero
13816                         }
13817                     }
13818 
13819                     Notify (PXSX, 0x02) // Device Wake
13820                 }
13821             }
13822 
13823             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
13824             {
13825                 Return (GPRW (0x69, 0x04))
13826             }
13827 
13828             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
13829             {
13830                 If (PICM)
13831                 {
13832                     Return (AR05 ())
13833                 }
13834 
13835                 Return (PR05 ())
13836             }
13837         }
13838 
13839         Device (RP03)
13840         {
13841             Method (_ADR, 0, NotSerialized)  // _ADR: Address
13842             {
13843                 Return (RPA2) /* \RPA2 */
13844             }
13845 
13846             Name (PDSF, Zero)
13847             Method (_INI, 0, NotSerialized)  // _INI: Initialize
13848             {
13849                 LTRE = LTR3 /* \LTR3 */
13850                 LMSL = PML3 /* \PML3 */
13851                 LNSL = PNL3 /* \PNL3 */
13852                 OBFF = OBF3 /* \OBF3 */
13853             }
13854 
13855             OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
13856             Field (PXCS, AnyAcc, NoLock, Preserve)
13857             {
13858                 VDID,   32, 
13859                 Offset (0x50), 
13860                 L0SE,   1, 
13861                     ,   3, 
13862                 LDIS,   1, 
13863                 Offset (0x51), 
13864                 Offset (0x52), 
13865                     ,   13, 
13866                 LASX,   1, 
13867                 Offset (0x5A), 
13868                 ABPX,   1, 
13869                     ,   2, 
13870                 PDCX,   1, 
13871                     ,   2, 
13872                 PDSX,   1, 
13873                 Offset (0x5B), 
13874                 Offset (0x60), 
13875                 Offset (0x62), 
13876                 PSPX,   1, 
13877                 PP,     1, 
13878                 Offset (0xA4), 
13879                 D3HT,   2, 
13880                 Offset (0xD8), 
13881                     ,   30, 
13882                 HPEX,   1, 
13883                 PMEX,   1, 
13884                 Offset (0xDF), 
13885                     ,   6, 
13886                 HPCS,   1, 
13887                 PMCS,   1, 
13888                 Offset (0xE2), 
13889                     ,   2, 
13890                 L23E,   1, 
13891                 L23R,   1, 
13892                 Offset (0x324), 
13893                     ,   3, 
13894                 LEDM,   1
13895             }
13896 
13897             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
13898             {
13899                 Offset (0xDC), 
13900                     ,   30, 
13901                 HPSX,   1, 
13902                 PMSX,   1
13903             }
13904 
13905             Method (_STA, 0, NotSerialized)  // _STA: Status
13906             {
13907                 If ((VDID == 0xFFFFFFFF))
13908                 {
13909                     Return (Zero)
13910                 }
13911                 Else
13912                 {
13913                     Return (0x0F)
13914                 }
13915             }
13916 
13917             Name (LTRV, Package (0x04)
13918             {
13919                 Zero, 
13920                 Zero, 
13921                 Zero, 
13922                 Zero
13923             })
13924             Name (OPTS, Zero)
13925             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
13926             {
13927                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
13928                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
13929                 While (One)
13930                 {
13931                     _T_0 = ToInteger (Arg0)
13932                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
13933                     {
13934                         While (One)
13935                         {
13936                             _T_1 = ToInteger (Arg2)
13937                             If ((_T_1 == Zero))
13938                             {
13939                                 If ((Arg1 == 0x02))
13940                                 {
13941                                     OPTS = One
13942                                     If (LTRE)
13943                                     {
13944                                         OPTS |= 0x40
13945                                     }
13946 
13947                                     If (OBFF)
13948                                     {
13949                                         OPTS |= 0x10
13950                                     }
13951 
13952                                     Return (OPTS) /* \_SB_.PCI0.RP03.OPTS */
13953                                 }
13954                                 Else
13955                                 {
13956                                     Return (Zero)
13957                                 }
13958                             }
13959                             Else
13960                             {
13961                                 If ((_T_1 == 0x04))
13962                                 {
13963                                     If ((Arg1 == 0x02))
13964                                     {
13965                                         If (OBFF)
13966                                         {
13967                                             Return (Buffer (0x10)
13968                                             {
13969                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13970                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
13971                                             })
13972                                         }
13973                                         Else
13974                                         {
13975                                             Return (Buffer (0x10)
13976                                             {
13977                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
13978                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
13979                                             })
13980                                         }
13981                                     }
13982                                 }
13983                                 Else
13984                                 {
13985                                     If ((_T_1 == 0x06))
13986                                     {
13987                                         If ((Arg1 == 0x02))
13988                                         {
13989                                             If (LTRE)
13990                                             {
13991                                                 If (((LMSL == 0xFFFFFFFF) || (LNSL == 0xFFFFFFFF)))
13992                                                 {
13993                                                     If ((PCHS == One))
13994                                                     {
13995                                                         LMSL = 0x0846
13996                                                         LNSL = 0x0846
13997                                                     }
13998                                                     Else
13999                                                     {
14000                                                         If ((PCHS == 0x02))
14001                                                         {
14002                                                             LMSL = 0x1003
14003                                                             LNSL = 0x1003
14004                                                         }
14005                                                     }
14006                                                 }
14007 
14008                                                 Index (LTRV, Zero) = ((LMSL >> 0x0A) & 0x07)
14009                                                 Index (LTRV, One) = (LMSL & 0x03FF)
14010                                                 Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
14011                                                 Index (LTRV, 0x03) = (LNSL & 0x03FF)
14012                                                 Return (LTRV) /* \_SB_.PCI0.RP03.LTRV */
14013                                             }
14014                                             Else
14015                                             {
14016                                                 Return (Zero)
14017                                             }
14018                                         }
14019                                     }
14020                                 }
14021                             }
14022 
14023                             Break
14024                         }
14025                     }
14026 
14027                     Break
14028                 }
14029 
14030                 Return (Buffer (One)
14031                 {
14032                      0x00                                             /* . */
14033                 })
14034             }
14035 
14036             Device (PXSX)
14037             {
14038                 Name (_ADR, Zero)  // _ADR: Address
14039                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
14040                 {
14041                     0x0F, 
14042                     0x05
14043                 })
14044                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
14045                 {
14046                     If (Arg0)
14047                     {
14048                         ^^^LPCB.EC0.HWAO = One
14049                     }
14050                     Else
14051                     {
14052                         ^^^LPCB.EC0.HWAO = Zero
14053                     }
14054                 }
14055             }
14056 
14057             Method (HPME, 0, Serialized)
14058             {
14059                 If (PMSX)
14060                 {
14061                     Local0 = 0xC8
14062                     While (Local0)
14063                     {
14064                         PMSX = One
14065                         If (PMSX)
14066                         {
14067                             Local0--
14068                         }
14069                         Else
14070                         {
14071                             Local0 = Zero
14072                         }
14073                     }
14074 
14075                     Notify (PXSX, 0x02) // Device Wake
14076                 }
14077             }
14078 
14079             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
14080             {
14081                 Return (GPRW (0x69, 0x04))
14082             }
14083 
14084             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
14085             {
14086                 If (PICM)
14087                 {
14088                     Return (AR06 ())
14089                 }
14090 
14091                 Return (PR06 ())
14092             }
14093         }
14094 
14095         Device (RP04)
14096         {
14097             Method (_ADR, 0, NotSerialized)  // _ADR: Address
14098             {
14099                 Return (RPA3) /* \RPA3 */
14100             }
14101 
14102             Name (PDSF, Zero)
14103             Method (_INI, 0, NotSerialized)  // _INI: Initialize
14104             {
14105                 LTRE = LTR4 /* \LTR4 */
14106                 LMSL = PML4 /* \PML4 */
14107                 LNSL = PNL4 /* \PNL4 */
14108                 OBFF = OBF4 /* \OBF4 */
14109             }
14110 
14111             OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
14112             Field (PXCS, AnyAcc, NoLock, Preserve)
14113             {
14114                 VDID,   32, 
14115                 Offset (0x50), 
14116                 L0SE,   1, 
14117                     ,   3, 
14118                 LDIS,   1, 
14119                 Offset (0x51), 
14120                 Offset (0x52), 
14121                     ,   13, 
14122                 LASX,   1, 
14123                 Offset (0x5A), 
14124                 ABPX,   1, 
14125                     ,   2, 
14126                 PDCX,   1, 
14127                     ,   2, 
14128                 PDSX,   1, 
14129                 Offset (0x5B), 
14130                 Offset (0x60), 
14131                 Offset (0x62), 
14132                 PSPX,   1, 
14133                 Offset (0xA4), 
14134                 D3HT,   2, 
14135                 Offset (0xD8), 
14136                     ,   30, 
14137                 HPEX,   1, 
14138                 PMEX,   1, 
14139                 Offset (0xE2), 
14140                     ,   2, 
14141                 L23E,   1, 
14142                 L23R,   1, 
14143                 Offset (0x324), 
14144                     ,   3, 
14145                 LEDM,   1
14146             }
14147 
14148             Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
14149             {
14150                 Offset (0xDC), 
14151                     ,   30, 
14152                 HPSX,   1, 
14153                 PMSX,   1
14154             }
14155 
14156             Method (_STA, 0, NotSerialized)  // _STA: Status
14157             {
14158                 If ((VDID == 0xFFFFFFFF))
14159                 {
14160                     Return (Zero)
14161                 }
14162                 Else
14163                 {
14164                     Return (0x0F)
14165                 }
14166             }
14167 
14168             Name (LTRV, Package (0x04)
14169             {
14170                 Zero, 
14171                 Zero, 
14172                 Zero, 
14173                 Zero
14174             })
14175             Name (OPTS, Zero)
14176             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
14177             {
14178                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
14179                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
14180                 While (One)
14181                 {
14182                     _T_0 = ToInteger (Arg0)
14183                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
14184                     {
14185                         While (One)
14186                         {
14187                             _T_1 = ToInteger (Arg2)
14188                             If ((_T_1 == Zero))
14189                             {
14190                                 If ((Arg1 == 0x02))
14191                                 {
14192                                     OPTS = One
14193                                     If (LTRE)
14194                                     {
14195                                         OPTS |= 0x40
14196                                     }
14197 
14198                                     If (OBFF)
14199                                     {
14200                                         OPTS |= 0x10
14201                                     }
14202 
14203                                     Return (OPTS) /* \_SB_.PCI0.RP04.OPTS */
14204                                 }
14205                                 Else
14206                                 {
14207                                     Return (Zero)
14208                                 }
14209                             }
14210                             Else
14211                             {
14212                                 If ((_T_1 == 0x04))
14213                                 {
14214                                     If ((Arg1 == 0x02))
14215                                     {
14216                                         If (OBFF)
14217                                         {
14218                                             Return (Buffer (0x10)
14219                                             {
14220                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
14221                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
14222                                             })
14223                                         }
14224                                         Else
14225                                         {
14226                                             Return (Buffer (0x10)
14227                                             {
14228                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
14229                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
14230                                             })
14231                                         }
14232                                     }
14233                                 }
14234                                 Else
14235                                 {
14236                                     If ((_T_1 == 0x06))
14237                                     {
14238                                         If ((Arg1 == 0x02))
14239                                         {
14240                                             If (LTRE)
14241                                             {
14242                                                 If (((LMSL == 0xFFFFFFFF) || (LNSL == 0xFFFFFFFF)))
14243                                                 {
14244                                                     If ((PCHS == One))
14245                                                     {
14246                                                         LMSL = 0x0846
14247                                                         LNSL = 0x0846
14248                                                     }
14249                                                     Else
14250                                                     {
14251                                                         If ((PCHS == 0x02))
14252                                                         {
14253                                                             LMSL = 0x1003
14254                                                             LNSL = 0x1003
14255                                                         }
14256                                                     }
14257                                                 }
14258 
14259                                                 Index (LTRV, Zero) = ((LMSL >> 0x0A) & 0x07)
14260                                                 Index (LTRV, One) = (LMSL & 0x03FF)
14261                                                 Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
14262                                                 Index (LTRV, 0x03) = (LNSL & 0x03FF)
14263                                                 Return (LTRV) /* \_SB_.PCI0.RP04.LTRV */
14264                                             }
14265                                             Else
14266                                             {
14267                                                 Return (Zero)
14268                                             }
14269                                         }
14270                                     }
14271                                 }
14272                             }
14273 
14274                             Break
14275                         }
14276                     }
14277 
14278                     Break
14279                 }
14280 
14281                 Return (Buffer (One)
14282                 {
14283                      0x00                                             /* . */
14284                 })
14285             }
14286 
14287             Device (PXSX)
14288             {
14289                 Name (_ADR, Zero)  // _ADR: Address
14290                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
14291                 {
14292                     Return (GPRW (0x69, 0x04))
14293                 }
14294             }
14295 
14296             Method (HPME, 0, Serialized)
14297             {
14298                 If (PMSX)
14299                 {
14300                     Local0 = 0xC8
14301                     While (Local0)
14302                     {
14303                         PMSX = One
14304                         If (PMSX)
14305                         {
14306                             Local0--
14307                         }
14308                         Else
14309                         {
14310                             Local0 = Zero
14311                         }
14312                     }
14313 
14314                     Notify (PXSX, 0x02) // Device Wake
14315                 }
14316             }
14317 
14318             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
14319             {
14320                 If (PICM)
14321                 {
14322                     Return (AR07 ())
14323                 }
14324 
14325                 Return (PR07 ())
14326             }
14327         }
14328 
14329         Device (RP05)
14330         {
14331             Method (_ADR, 0, NotSerialized)  // _ADR: Address
14332             {
14333                 Return (RPA4) /* \RPA4 */
14334             }
14335 
14336             Name (PDSF, Zero)
14337             Method (_INI, 0, NotSerialized)  // _INI: Initialize
14338             {
14339                 LTRE = LTR5 /* \LTR5 */
14340                 LMSL = PML5 /* \PML5 */
14341                 LNSL = PNL5 /* \PNL5 */
14342                 OBFF = OBF5 /* \OBF5 */
14343             }
14344 
14345             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
14346             {
14347                 If (PICM)
14348                 {
14349                     Return (AR08 ())
14350                 }
14351 
14352                 Return (PR08 ())
14353             }
14354         }
14355 
14356         Device (SAT0)
14357         {
14358             Name (_ADR, 0x001F0002)  // _ADR: Address
14359             Name (FDEV, Zero)
14360             Name (FDRP, Zero)
14361             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
14362             {
14363                 ADBG ("SAT0 DEP Call")
14364                 If ((OSYS >= 0x07DD))
14365                 {
14366                     If (((S0ID == One) && ((PEPC & 0x03) != Zero)))
14367                     {
14368                         ADBG ("SAT0 DEP")
14369                         Return (Package (0x01)
14370                         {
14371                             PEPD
14372                         })
14373                     }
14374                 }
14375 
14376                 ADBG ("SAT0 DEP NULL")
14377                 Return (Package (0x00) {})
14378             }
14379 
14380             Device (PRT0)
14381             {
14382                 Name (_ADR, 0xFFFF)  // _ADR: Address
14383                 Name (HDTF, Buffer (0x0E)
14384                 {
14385                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14386                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
14387                 })
14388                 Name (HETF, Buffer (0x15)
14389                 {
14390                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14391                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
14392                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14393                 })
14394                 Name (ERTF, Buffer (0x15)
14395                 {
14396                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14397                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
14398                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14399                 })
14400                 Name (HPTF, Buffer (0x15)
14401                 {
14402                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14403                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
14404                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14405                 })
14406                 Name (HQTF, Buffer (0x1C)
14407                 {
14408                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14409                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
14410                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
14411                     /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
14412                 })
14413                 Name (HXTF, Buffer (0x1C)
14414                 {
14415                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14416                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
14417                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
14418                     /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
14419                 })
14420                 Name (DDTF, Buffer (0x0E)
14421                 {
14422                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
14423                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
14424                 })
14425                 CreateByteField (DDTF, One, DTAT)
14426                 CreateByteField (DDTF, 0x08, DTFT)
14427                 Name (DGTF, Buffer (0x15)
14428                 {
14429                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
14430                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
14431                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14432                 })
14433                 CreateByteField (DGTF, One, GTAT)
14434                 CreateByteField (DGTF, 0x08, GTFT)
14435                 Method (_SDD, 1, Serialized)  // _SDD: Set Device Data
14436                 {
14437                     CreateByteField (Arg0, 0x9D, BFDS)
14438                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.FDEV */
14439                     CreateByteField (Arg0, 0x9A, BFRP)
14440                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.FDRP */
14441                 }
14442 
14443                 Method (_GTF, 0, Serialized)  // _GTF: Get Task File
14444                 {
14445                     If ((((DVS0 == One) && ((FDEV & One) == One)) && 
14446                         ((FDRP & 0x80) == 0x80)))
14447                     {
14448                         Return (HETF) /* \_SB_.PCI0.SAT0.PRT0.HETF */
14449                     }
14450                     Else
14451                     {
14452                         Return (HDTF) /* \_SB_.PCI0.SAT0.PRT0.HDTF */
14453                     }
14454                 }
14455             }
14456 
14457             Device (PRT1)
14458             {
14459                 Name (_ADR, 0x0001FFFF)  // _ADR: Address
14460                 Name (HDTF, Buffer (0x0E)
14461                 {
14462                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14463                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
14464                 })
14465                 Name (HETF, Buffer (0x15)
14466                 {
14467                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14468                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
14469                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14470                 })
14471                 Name (ERTF, Buffer (0x15)
14472                 {
14473                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14474                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
14475                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14476                 })
14477                 Name (HPTF, Buffer (0x15)
14478                 {
14479                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14480                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
14481                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14482                 })
14483                 Name (HQTF, Buffer (0x1C)
14484                 {
14485                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14486                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
14487                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
14488                     /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
14489                 })
14490                 Name (HXTF, Buffer (0x1C)
14491                 {
14492                     /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
14493                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
14494                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
14495                     /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
14496                 })
14497                 Name (DDTF, Buffer (0x0E)
14498                 {
14499                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
14500                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
14501                 })
14502                 CreateByteField (DDTF, One, DTAT)
14503                 CreateByteField (DDTF, 0x08, DTFT)
14504                 Name (DGTF, Buffer (0x15)
14505                 {
14506                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
14507                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
14508                     /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
14509                 })
14510                 CreateByteField (DGTF, One, GTAT)
14511                 CreateByteField (DGTF, 0x08, GTFT)
14512                 Name (FDEV, Zero)
14513                 Name (FDRP, Zero)
14514                 Method (_SDD, 1, Serialized)  // _SDD: Set Device Data
14515                 {
14516                     CreateByteField (Arg0, 0x9D, BFDS)
14517                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT1.FDEV */
14518                     CreateByteField (Arg0, 0x9A, BFRP)
14519                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT1.FDRP */
14520                 }
14521 
14522                 Method (_GTF, 0, Serialized)  // _GTF: Get Task File
14523                 {
14524                     If ((((DVS1 == One) && ((FDEV & One) == One)) && 
14525                         ((FDRP & 0x80) == 0x80)))
14526                     {
14527                         Return (HETF) /* \_SB_.PCI0.SAT0.PRT1.HETF */
14528                     }
14529                     Else
14530                     {
14531                         Return (HDTF) /* \_SB_.PCI0.SAT0.PRT1.HDTF */
14532                     }
14533                 }
14534             }
14535 
14536             Device (PRT2)
14537             {
14538                 Name (_ADR, 0x0002FFFF)  // _ADR: Address
14539                 Name (FDEV, Zero)
14540                 Name (FDRP, Zero)
14541                 Method (_SDD, 1, Serialized)  // _SDD: Set Device Data
14542                 {
14543                     CreateByteField (Arg0, 0x9D, BFDS)
14544                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT2.FDEV */
14545                     CreateByteField (Arg0, 0x9A, BFRP)
14546                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT2.FDRP */
14547                 }
14548 
14549                 Method (_GTF, 0, Serialized)  // _GTF: Get Task File
14550                 {
14551                     If ((((DVS2 == One) && ((FDEV & One) == One)) && 
14552                         ((FDRP & 0x80) == 0x80)))
14553                     {
14554                         Name (PIB1, Buffer (0x07)
14555                         {
14556                              0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
14557                         })
14558                         Return (PIB1) /* \_SB_.PCI0.SAT0.PRT2._GTF.PIB1 */
14559                     }
14560 
14561                     Name (PIB2, Buffer (0x07)
14562                     {
14563                          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         /* ....... */
14564                     })
14565                     Return (PIB2) /* \_SB_.PCI0.SAT0.PRT2._GTF.PIB2 */
14566                 }
14567             }
14568 
14569             Device (PRT3)
14570             {
14571                 Name (_ADR, 0x0003FFFF)  // _ADR: Address
14572                 Name (FDEV, Zero)
14573                 Name (FDRP, Zero)
14574                 Method (_SDD, 1, Serialized)  // _SDD: Set Device Data
14575                 {
14576                     CreateByteField (Arg0, 0x9D, BFDS)
14577                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT0.PRT3.FDEV */
14578                     CreateByteField (Arg0, 0x9A, BFRP)
14579                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT0.PRT3.FDRP */
14580                 }
14581 
14582                 Method (_GTF, 0, Serialized)  // _GTF: Get Task File
14583                 {
14584                     If ((((DVS3 == One) && ((FDEV & One) == One)) && 
14585                         ((FDRP & 0x80) == 0x80)))
14586                     {
14587                         Name (PIB1, Buffer (0x07)
14588                         {
14589                              0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF         /* ....... */
14590                         })
14591                         Return (PIB1) /* \_SB_.PCI0.SAT0.PRT3._GTF.PIB1 */
14592                     }
14593 
14594                     Name (PIB2, Buffer (0x07)
14595                     {
14596                          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00         /* ....... */
14597                     })
14598                     Return (PIB2) /* \_SB_.PCI0.SAT0.PRT3._GTF.PIB2 */
14599                 }
14600             }
14601         }
14602 
14603         Device (SAT1)
14604         {
14605             Name (_ADR, 0x001F0005)  // _ADR: Address
14606         }
14607 
14608         Device (SBUS)
14609         {
14610             Name (_ADR, 0x001F0003)  // _ADR: Address
14611             Name (_S3D, 0x03)  // _S3D: S3 Device State
14612             Name (RID, Zero)
14613             Device (NFC)
14614             {
14615                 Name (_HID, EisaId ("BCM2F09"))  // _HID: Hardware ID
14616                 Name (_CID, EisaId ("BCM2F09"))  // _CID: Compatible ID
14617                 Name (_UID, Zero)  // _UID: Unique ID
14618                 Method (_STA, 0, NotSerialized)  // _STA: Status
14619                 {
14620                     If (((RDGI (0x40) == Zero) && (NFCF == Zero)))
14621                     {
14622                         Return (0x0F)
14623                     }
14624                     Else
14625                     {
14626                         Return (Zero)
14627                     }
14628                 }
14629 
14630                 Method (GPEN, 0, NotSerialized)
14631                 {
14632                     \_GPE.GPFG = One
14633                 }
14634 
14635                 Method (SNFC, 1, NotSerialized)
14636                 {
14637                     If (Arg0)
14638                     {
14639                         WTGP (0x41, One)
14640                     }
14641                     Else
14642                     {
14643                         WTGP (0x41, Zero)
14644                     }
14645                 }
14646             }
14647 
14648             OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
14649             Field (SMBP, DWordAcc, NoLock, Preserve)
14650             {
14651                     ,   2, 
14652                 I2CE,   1
14653             }
14654 
14655             OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
14656             Field (SMPB, DWordAcc, NoLock, Preserve)
14657             {
14658                     ,   5, 
14659                 SBAR,   11
14660             }
14661 
14662             OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
14663             Field (SMBI, ByteAcc, NoLock, Preserve)
14664             {
14665                 HSTS,   8, 
14666                 Offset (0x02), 
14667                 HCON,   8, 
14668                 HCOM,   8, 
14669                 TXSA,   8, 
14670                 DAT0,   8, 
14671                 DAT1,   8, 
14672                 HBDR,   8, 
14673                 PECR,   8, 
14674                 RXSA,   8, 
14675                 SDAT,   16
14676             }
14677 
14678             Method (SSXB, 2, Serialized)
14679             {
14680                 If (STRT ())
14681                 {
14682                     Return (Zero)
14683                 }
14684 
14685                 I2CE = Zero
14686                 HSTS = 0xBF
14687                 TXSA = Arg0
14688                 HCOM = Arg1
14689                 HCON = 0x48
14690                 If (COMP ())
14691                 {
14692                     HSTS |= 0xFF
14693                     Return (One)
14694                 }
14695 
14696                 Return (Zero)
14697             }
14698 
14699             Method (SRXB, 1, Serialized)
14700             {
14701                 If (STRT ())
14702                 {
14703                     Return (0xFFFF)
14704                 }
14705 
14706                 I2CE = Zero
14707                 HSTS = 0xBF
14708                 TXSA = (Arg0 | One)
14709                 HCON = 0x44
14710                 If (COMP ())
14711                 {
14712                     HSTS |= 0xFF
14713                     Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
14714                 }
14715 
14716                 Return (0xFFFF)
14717             }
14718 
14719             Method (SWRB, 3, Serialized)
14720             {
14721                 If (STRT ())
14722                 {
14723                     Return (Zero)
14724                 }
14725 
14726                 I2CE = Zero
14727                 HSTS = 0xBF
14728                 TXSA = Arg0
14729                 HCOM = Arg1
14730                 DAT0 = Arg2
14731                 HCON = 0x48
14732                 If (COMP ())
14733                 {
14734                     HSTS |= 0xFF
14735                     Return (One)
14736                 }
14737 
14738                 Return (Zero)
14739             }
14740 
14741             Method (SRDB, 2, Serialized)
14742             {
14743                 If (STRT ())
14744                 {
14745                     Return (0xFFFF)
14746                 }
14747 
14748                 I2CE = Zero
14749                 HSTS = 0xBF
14750                 TXSA = (Arg0 | One)
14751                 HCOM = Arg1
14752                 HCON = 0x48
14753                 If (COMP ())
14754                 {
14755                     HSTS |= 0xFF
14756                     Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
14757                 }
14758 
14759                 Return (0xFFFF)
14760             }
14761 
14762             Method (SWRW, 3, Serialized)
14763             {
14764                 If (STRT ())
14765                 {
14766                     Return (Zero)
14767                 }
14768 
14769                 I2CE = Zero
14770                 HSTS = 0xBF
14771                 TXSA = Arg0
14772                 HCOM = Arg1
14773                 DAT1 = (Arg2 & 0xFF)
14774                 DAT0 = ((Arg2 >> 0x08) & 0xFF)
14775                 HCON = 0x4C
14776                 If (COMP ())
14777                 {
14778                     HSTS |= 0xFF
14779                     Return (One)
14780                 }
14781 
14782                 Return (Zero)
14783             }
14784 
14785             Method (SRDW, 2, Serialized)
14786             {
14787                 If (STRT ())
14788                 {
14789                     Return (0xFFFF)
14790                 }
14791 
14792                 I2CE = Zero
14793                 HSTS = 0xBF
14794                 TXSA = (Arg0 | One)
14795                 HCOM = Arg1
14796                 HCON = 0x4C
14797                 If (COMP ())
14798                 {
14799                     HSTS |= 0xFF
14800                     Return (((DAT0 << 0x08) | DAT1))
14801                 }
14802 
14803                 Return (0xFFFFFFFF)
14804             }
14805 
14806             Method (SBLW, 4, Serialized)
14807             {
14808                 If (STRT ())
14809                 {
14810                     Return (Zero)
14811                 }
14812 
14813                 I2CE = Arg3
14814                 HSTS = 0xBF
14815                 TXSA = Arg0
14816                 HCOM = Arg1
14817                 DAT0 = SizeOf (Arg2)
14818                 Local1 = Zero
14819                 HBDR = DerefOf (Index (Arg2, Zero))
14820                 HCON = 0x54
14821                 While ((SizeOf (Arg2) > Local1))
14822                 {
14823                     Local0 = 0x0FA0
14824                     While ((!(HSTS & 0x80) && Local0))
14825                     {
14826                         Local0--
14827                         Stall (0x32)
14828                     }
14829 
14830                     If (!Local0)
14831                     {
14832                         KILL ()
14833                         Return (Zero)
14834                     }
14835 
14836                     HSTS = 0x80
14837                     Local1++
14838                     If ((SizeOf (Arg2) > Local1))
14839                     {
14840                         HBDR = DerefOf (Index (Arg2, Local1))
14841                     }
14842                 }
14843 
14844                 If (COMP ())
14845                 {
14846                     HSTS |= 0xFF
14847                     Return (One)
14848                 }
14849 
14850                 Return (Zero)
14851             }
14852 
14853             Method (SBLR, 3, Serialized)
14854             {
14855                 Name (TBUF, Buffer (0x0100) {})
14856                 If (STRT ())
14857                 {
14858                     Return (Zero)
14859                 }
14860 
14861                 I2CE = Arg2
14862                 HSTS = 0xBF
14863                 TXSA = (Arg0 | One)
14864                 HCOM = Arg1
14865                 HCON = 0x54
14866                 Local0 = 0x0FA0
14867                 While ((!(HSTS & 0x80) && Local0))
14868                 {
14869                     Local0--
14870                     Stall (0x32)
14871                 }
14872 
14873                 If (!Local0)
14874                 {
14875                     KILL ()
14876                     Return (Zero)
14877                 }
14878 
14879                 Index (TBUF, Zero) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
14880                 HSTS = 0x80
14881                 Local1 = One
14882                 While ((Local1 < DerefOf (Index (TBUF, Zero))))
14883                 {
14884                     Local0 = 0x0FA0
14885                     While ((!(HSTS & 0x80) && Local0))
14886                     {
14887                         Local0--
14888                         Stall (0x32)
14889                     }
14890 
14891                     If (!Local0)
14892                     {
14893                         KILL ()
14894                         Return (Zero)
14895                     }
14896 
14897                     Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */
14898                     HSTS = 0x80
14899                     Local1++
14900                 }
14901 
14902                 If (COMP ())
14903                 {
14904                     HSTS |= 0xFF
14905                     Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
14906                 }
14907 
14908                 Return (Zero)
14909             }
14910 
14911             Method (STRT, 0, Serialized)
14912             {
14913                 Local0 = 0xC8
14914                 While (Local0)
14915                 {
14916                     If ((HSTS & 0x40))
14917                     {
14918                         Local0--
14919                         Sleep (One)
14920                         If ((Local0 == Zero))
14921                         {
14922                             Return (One)
14923                         }
14924                     }
14925                     Else
14926                     {
14927                         Local0 = Zero
14928                     }
14929                 }
14930 
14931                 Local0 = 0x0FA0
14932                 While (Local0)
14933                 {
14934                     If ((HSTS & One))
14935                     {
14936                         Local0--
14937                         Stall (0x32)
14938                         If ((Local0 == Zero))
14939                         {
14940                             KILL ()
14941                         }
14942                     }
14943                     Else
14944                     {
14945                         Return (Zero)
14946                     }
14947                 }
14948 
14949                 Return (One)
14950             }
14951 
14952             Method (COMP, 0, Serialized)
14953             {
14954                 Local0 = 0x0FA0
14955                 While (Local0)
14956                 {
14957                     If ((HSTS & 0x02))
14958                     {
14959                         Return (One)
14960                     }
14961                     Else
14962                     {
14963                         Local0--
14964                         Stall (0x32)
14965                         If ((Local0 == Zero))
14966                         {
14967                             KILL ()
14968                         }
14969                     }
14970                 }
14971 
14972                 Return (Zero)
14973             }
14974 
14975             Method (KILL, 0, Serialized)
14976             {
14977                 HCON |= 0x02
14978                 HSTS |= 0xFF
14979             }
14980         }
14981     }
14982 
14983     Method (SCMP, 2, NotSerialized)
14984     {
14985         Local0 = SizeOf (Arg0)
14986         If ((Local0 != SizeOf (Arg1)))
14987         {
14988             Return (One)
14989         }
14990 
14991         Local0++
14992         Name (STR1, Buffer (Local0) {})
14993         Name (STR2, Buffer (Local0) {})
14994         STR1 = Arg0
14995         STR2 = Arg1
14996         Local1 = Zero
14997         While ((Local1 < Local0))
14998         {
14999             Local2 = DerefOf (Index (STR1, Local1))
15000             Local3 = DerefOf (Index (STR2, Local1))
15001             If ((Local2 != Local3))
15002             {
15003                 Return (One)
15004             }
15005 
15006             Local1++
15007         }
15008 
15009         Return (Zero)
15010     }
15011 
15012     Scope (_SI)
15013     {
15014         Method (_SST, 1, NotSerialized)  // _SST: System Status
15015         {
15016             If ((Arg0 == Zero))
15017             {
15018                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0x80)
15019             }
15020 
15021             If ((Arg0 == One))
15022             {
15023                 If ((\_SB.PCI0.LPCB.EC0.HMUT == Zero))
15024                 {
15025                     If ((SPS || WNTF))
15026                     {
15027                         \_SB.PCI0.LPCB.EC0.BEEP (0x05)
15028                         Sleep (0x7D)
15029                     }
15030                 }
15031 
15032                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0x80)
15033             }
15034 
15035             If ((Arg0 == 0x02))
15036             {
15037                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0xC0)
15038             }
15039 
15040             If ((Arg0 == 0x03))
15041             {
15042                 If ((SPS > 0x03))
15043                 {
15044                     \_SB.PCI0.LPCB.EC0.BEEP (0x07)
15045                 }
15046                 Else
15047                 {
15048                     If ((\_SB.PCI0.LPCB.EC0.HMUT == Zero))
15049                     {
15050                         If ((SPS == 0x03))
15051                         {
15052                             \_SB.PCI0.LPCB.EC0.BEEP (0x03)
15053                         }
15054                         Else
15055                         {
15056                             \_SB.PCI0.LPCB.EC0.BEEP (0x04)
15057                         }
15058                     }
15059                 }
15060 
15061                 If ((SPS == 0x03)) {}
15062                 Else
15063                 {
15064                     \_SB.PCI0.LPCB.EC0.LED (Zero, 0x80)
15065                 }
15066 
15067                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0xC0)
15068             }
15069 
15070             If ((Arg0 == 0x04))
15071             {
15072                 If ((\_SB.PCI0.LPCB.EC0.HMUT == Zero))
15073                 {
15074                     P80H = 0xF7
15075                     \_SB.PCI0.LPCB.EC0.BEEP (0x03)
15076                 }
15077 
15078                 P80H = 0xF8
15079                 \_SB.PCI0.LPCB.EC0.LED (Zero, 0xC0)
15080             }
15081         }
15082     }
15083 
15084     Scope (_SB.PCI0.SAT0.PRT2)
15085     {
15086         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
15087         {
15088             Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
15089             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
15090             If ((Arg0 == ToUUID ("bdfaef30-aebb-11de-8a39-0800200c9a66")))
15091             {
15092                 While (One)
15093                 {
15094                     _T_0 = ToInteger (Arg2)
15095                     If ((_T_0 == Zero))
15096                     {
15097                         While (One)
15098                         {
15099                             _T_1 = ToInteger (Arg1)
15100                             If ((_T_1 == One))
15101                             {
15102                                 If ((PFLV == FDTP))
15103                                 {
15104                                     Return (Buffer (One)
15105                                     {
15106                                          0x00                                             /* . */
15107                                     })
15108                                 }
15109 
15110                                 Return (Buffer (One)
15111                                 {
15112                                      0x0F                                             /* . */
15113                                 })
15114                             }
15115                             Else
15116                             {
15117                                 Return (Buffer (One)
15118                                 {
15119                                      0x00                                             /* . */
15120                                 })
15121                             }
15122 
15123                             Break
15124                         }
15125                     }
15126                     Else
15127                     {
15128                         If ((_T_0 == One))
15129                         {
15130                             Return (One)
15131                         }
15132                         Else
15133                         {
15134                             If ((_T_0 == 0x02))
15135                             {
15136                                 GPE3 = Zero
15137                                 If (((GL00 & 0x08) == 0x08))
15138                                 {
15139                                     GIV0 |= 0x08
15140                                 }
15141                                 Else
15142                                 {
15143                                     GIV0 &= 0xF7
15144                                 }
15145 
15146                                 GL08 &= 0xEF
15147                                 Sleep (0xC8)
15148                                 GPS3 = One
15149                                 GPE3 = One
15150                                 Return (One)
15151                             }
15152                             Else
15153                             {
15154                                 If ((_T_0 == 0x03))
15155                                 {
15156                                     GPE3 = Zero
15157                                     GPS3 = One
15158                                     GL08 |= 0x10
15159                                     Return (One)
15160                                 }
15161                                 Else
15162                                 {
15163                                     Return (Zero)
15164                                 }
15165                             }
15166                         }
15167                     }
15168 
15169                     Break
15170                 }
15171             }
15172             Else
15173             {
15174                 Return (Zero)
15175             }
15176         }
15177     }
15178 
15179     Scope (_GPE)
15180     {
15181         Method (_L13, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15182         {
15183             If ((PFLV == FDTP))
15184             {
15185                 Return (Zero)
15186             }
15187 
15188             GPE3 = Zero
15189             GL08 |= 0x10
15190             Notify (\_SB.PCI0.SAT0, 0x82) // Device-Specific Change
15191             Return (Zero)
15192         }
15193     }
15194 
15195     Name (_S0, Package (0x04)  // _S0_: S0 System State
15196     {
15197         Zero, 
15198         Zero, 
15199         Zero, 
15200         Zero
15201     })
15202     If (SS1)
15203     {
15204         Name (_S1, Package (0x04)  // _S1_: S1 System State
15205         {
15206             One, 
15207             Zero, 
15208             Zero, 
15209             Zero
15210         })
15211     }
15212 
15213     If (SS3)
15214     {
15215         Name (_S3, Package (0x04)  // _S3_: S3 System State
15216         {
15217             0x05, 
15218             Zero, 
15219             Zero, 
15220             Zero
15221         })
15222     }
15223 
15224     If (SS4)
15225     {
15226         Name (_S4, Package (0x04)  // _S4_: S4 System State
15227         {
15228             0x06, 
15229             Zero, 
15230             Zero, 
15231             Zero
15232         })
15233     }
15234 
15235     Name (_S5, Package (0x04)  // _S5_: S5 System State
15236     {
15237         0x07, 
15238         Zero, 
15239         Zero, 
15240         Zero
15241     })
15242     Method (PTS, 1, NotSerialized)
15243     {
15244         If (Arg0) {}
15245     }
15246 
15247     Method (WAK, 1, NotSerialized)
15248     {
15249     }
15250 
15251     Scope (\_PR.CPU0)
15252     {
15253         Name (_PPC, Zero)  // _PPC: Performance Present Capabilities
15254         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
15255         {
15256             \_PR.CPU0._PPC = \_PR.CPPC
15257             If (((CFGD & One) && (PDC0 & One)))
15258             {
15259                 Return (Package (0x02)
15260                 {
15261                     ResourceTemplate ()
15262                     {
15263                         Register (FFixedHW, 
15264                             0x00,               // Bit Width
15265                             0x00,               // Bit Offset
15266                             0x0000000000000000, // Address
15267                             ,)
15268                     }, 
15269 
15270                     ResourceTemplate ()
15271                     {
15272                         Register (FFixedHW, 
15273                             0x00,               // Bit Width
15274                             0x00,               // Bit Offset
15275                             0x0000000000000000, // Address
15276                             ,)
15277                     }
15278                 })
15279             }
15280         }
15281 
15282         Name (_PSS, Package (0x0E)  // _PSS: Performance Supported States
15283         {
15284             Package (0x06)
15285             {
15286                 0x0000076D, 
15287                 0x00003A98, 
15288                 0x0000000A, 
15289                 0x0000000A, 
15290                 0x00001300, 
15291                 0x00001300
15292             }, 
15293 
15294             Package (0x06)
15295             {
15296                 0x0000076C, 
15297                 0x00003A98, 
15298                 0x0000000A, 
15299                 0x0000000A, 
15300                 0x00001300, 
15301                 0x00001300
15302             }, 
15303 
15304             Package (0x06)
15305             {
15306                 0x00000708, 
15307                 0x00003673, 
15308                 0x0000000A, 
15309                 0x0000000A, 
15310                 0x00001200, 
15311                 0x00001200
15312             }, 
15313 
15314             Package (0x06)
15315             {
15316                 0x000006A4, 
15317                 0x000032F7, 
15318                 0x0000000A, 
15319                 0x0000000A, 
15320                 0x00001100, 
15321                 0x00001100
15322             }, 
15323 
15324             Package (0x06)
15325             {
15326                 0x00000640, 
15327                 0x00002F8C, 
15328                 0x0000000A, 
15329                 0x0000000A, 
15330                 0x00001000, 
15331                 0x00001000
15332             }, 
15333 
15334             Package (0x06)
15335             {
15336                 0x000005DC, 
15337                 0x00002BA4, 
15338                 0x0000000A, 
15339                 0x0000000A, 
15340                 0x00000F00, 
15341                 0x00000F00
15342             }, 
15343 
15344             Package (0x06)
15345             {
15346                 0x00000578, 
15347                 0x0000285E, 
15348                 0x0000000A, 
15349                 0x0000000A, 
15350                 0x00000E00, 
15351                 0x00000E00
15352             }, 
15353 
15354             Package (0x06)
15355             {
15356                 0x00000514, 
15357                 0x0000252C, 
15358                 0x0000000A, 
15359                 0x0000000A, 
15360                 0x00000D00, 
15361                 0x00000D00
15362             }, 
15363 
15364             Package (0x06)
15365             {
15366                 0x000004B0, 
15367                 0x00002208, 
15368                 0x0000000A, 
15369                 0x0000000A, 
15370                 0x00000C00, 
15371                 0x00000C00
15372             }, 
15373 
15374             Package (0x06)
15375             {
15376                 0x0000044C, 
15377                 0x00001E6D, 
15378                 0x0000000A, 
15379                 0x0000000A, 
15380                 0x00000B00, 
15381                 0x00000B00
15382             }, 
15383 
15384             Package (0x06)
15385             {
15386                 0x000003E8, 
15387                 0x00001B6D, 
15388                 0x0000000A, 
15389                 0x0000000A, 
15390                 0x00000A00, 
15391                 0x00000A00
15392             }, 
15393 
15394             Package (0x06)
15395             {
15396                 0x00000384, 
15397                 0x0000187E, 
15398                 0x0000000A, 
15399                 0x0000000A, 
15400                 0x00000900, 
15401                 0x00000900
15402             }, 
15403 
15404             Package (0x06)
15405             {
15406                 0x00000320, 
15407                 0x000015A1, 
15408                 0x0000000A, 
15409                 0x0000000A, 
15410                 0x00000800, 
15411                 0x00000800
15412             }, 
15413 
15414             Package (0x06)
15415             {
15416                 0x0000030B, 
15417                 0x00001250, 
15418                 0x0000000A, 
15419                 0x0000000A, 
15420                 0x00000700, 
15421                 0x00000800
15422             }
15423         })
15424         Package (0x06)
15425         {
15426             0x80000000, 
15427             0x80000000, 
15428             0x80000000, 
15429             0x80000000, 
15430             0x80000000, 
15431             0x80000000
15432         }
15433 
15434         Package (0x06)
15435         {
15436             0x80000000, 
15437             0x80000000, 
15438             0x80000000, 
15439             0x80000000, 
15440             0x80000000, 
15441             0x80000000
15442         }
15443 
15444         Package (0x06)
15445         {
15446             0x80000000, 
15447             0x80000000, 
15448             0x80000000, 
15449             0x80000000, 
15450             0x80000000, 
15451             0x80000000
15452         }
15453 
15454         Package (0x06)
15455         {
15456             0x80000000, 
15457             0x80000000, 
15458             0x80000000, 
15459             0x80000000, 
15460             0x80000000, 
15461             0x80000000
15462         }
15463 
15464         Package (0x06)
15465         {
15466             0x80000000, 
15467             0x80000000, 
15468             0x80000000, 
15469             0x80000000, 
15470             0x80000000, 
15471             0x80000000
15472         }
15473 
15474         Package (0x06)
15475         {
15476             0x80000000, 
15477             0x80000000, 
15478             0x80000000, 
15479             0x80000000, 
15480             0x80000000, 
15481             0x80000000
15482         }
15483 
15484         Package (0x06)
15485         {
15486             0x80000000, 
15487             0x80000000, 
15488             0x80000000, 
15489             0x80000000, 
15490             0x80000000, 
15491             0x80000000
15492         }
15493 
15494         Package (0x06)
15495         {
15496             0x80000000, 
15497             0x80000000, 
15498             0x80000000, 
15499             0x80000000, 
15500             0x80000000, 
15501             0x80000000
15502         }
15503 
15504         Package (0x06)
15505         {
15506             0x80000000, 
15507             0x80000000, 
15508             0x80000000, 
15509             0x80000000, 
15510             0x80000000, 
15511             0x80000000
15512         }
15513 
15514         Package (0x06)
15515         {
15516             0x80000000, 
15517             0x80000000, 
15518             0x80000000, 
15519             0x80000000, 
15520             0x80000000, 
15521             0x80000000
15522         }
15523 
15524         Package (0x06)
15525         {
15526             0x80000000, 
15527             0x80000000, 
15528             0x80000000, 
15529             0x80000000, 
15530             0x80000000, 
15531             0x80000000
15532         }
15533 
15534         Package (0x06)
15535         {
15536             0x80000000, 
15537             0x80000000, 
15538             0x80000000, 
15539             0x80000000, 
15540             0x80000000, 
15541             0x80000000
15542         }
15543 
15544         Package (0x06)
15545         {
15546             0x80000000, 
15547             0x80000000, 
15548             0x80000000, 
15549             0x80000000, 
15550             0x80000000, 
15551             0x80000000
15552         }
15553 
15554         Package (0x06)
15555         {
15556             0x80000000, 
15557             0x80000000, 
15558             0x80000000, 
15559             0x80000000, 
15560             0x80000000, 
15561             0x80000000
15562         }
15563 
15564         Package (0x06)
15565         {
15566             0x80000000, 
15567             0x80000000, 
15568             0x80000000, 
15569             0x80000000, 
15570             0x80000000, 
15571             0x80000000
15572         }
15573 
15574         Package (0x06)
15575         {
15576             0x80000000, 
15577             0x80000000, 
15578             0x80000000, 
15579             0x80000000, 
15580             0x80000000, 
15581             0x80000000
15582         }
15583 
15584         Name (PSDF, Zero)
15585         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
15586         {
15587             If (!PSDF)
15588             {
15589                 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
15590                 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
15591                 PSDF = Ones
15592             }
15593 
15594             If ((PDC0 & 0x0800))
15595             {
15596                 Return (HPSD) /* \_PR_.CPU0.HPSD */
15597             }
15598 
15599             Return (SPSD) /* \_PR_.CPU0.SPSD */
15600         }
15601 
15602         Name (HPSD, Package (0x01)
15603         {
15604             Package (0x05)
15605             {
15606                 0x05, 
15607                 Zero, 
15608                 Zero, 
15609                 0xFE, 
15610                 0x80
15611             }
15612         })
15613         Name (SPSD, Package (0x01)
15614         {
15615             Package (0x05)
15616             {
15617                 0x05, 
15618                 Zero, 
15619                 Zero, 
15620                 0xFC, 
15621                 0x80
15622             }
15623         })
15624     }
15625 
15626     Scope (\)
15627     {
15628         Name (SSDT, Package (0x0C)
15629         {
15630             "CPU0IST ", 
15631             0xD7108A98, 
15632             0x000004F7, 
15633             "APIST   ", 
15634             0xDCE6E618, 
15635             0x000005AA, 
15636             "CPU0CST ", 
15637             0xDCE6EC18, 
15638             0x000003D3, 
15639             "APCST   ", 
15640             0xDCE6FC18, 
15641             0x00000119
15642         })
15643         Name (\PDC0, 0x80000000)
15644         Name (\PDC1, 0x80000000)
15645         Name (\PDC2, 0x80000000)
15646         Name (\PDC3, 0x80000000)
15647         Name (\PDC4, 0x80000000)
15648         Name (\PDC5, 0x80000000)
15649         Name (\PDC6, 0x80000000)
15650         Name (\PDC7, 0x80000000)
15651         Name (\SDTL, Zero)
15652     }
15653 
15654     Scope (\_PR)
15655     {
15656         OperationRegion (PPMT, SystemMemory, 0xDCF68F98, 0x003A)
15657         Field (PPMT, AnyAcc, Lock, Preserve)
15658         {
15659             PGRV,   8, 
15660             CFGD,   32, 
15661             Offset (0x06), 
15662             ACRT,   8, 
15663             APSV,   8, 
15664             AAC0,   8, 
15665             CPID,   32, 
15666             CPPC,   8, 
15667             CCTP,   8, 
15668             CLVL,   8, 
15669             CBMI,   8, 
15670             PL10,   16, 
15671             PL20,   16, 
15672             PLW0,   8, 
15673             CTC0,   8, 
15674             TAR0,   8, 
15675             PPC0,   8, 
15676             PL11,   16, 
15677             PL21,   16, 
15678             PLW1,   8, 
15679             CTC1,   8, 
15680             TAR1,   8, 
15681             PPC1,   8, 
15682             PL12,   16, 
15683             PL22,   16, 
15684             PLW2,   8, 
15685             CTC2,   8, 
15686             TAR2,   8, 
15687             PPC2,   8, 
15688             C3MW,   8, 
15689             C6MW,   8, 
15690             C7MW,   8, 
15691             CDMW,   8, 
15692             C3LT,   16, 
15693             C6LT,   16, 
15694             C7LT,   16, 
15695             CDLT,   16, 
15696             CDLV,   16, 
15697             CDPW,   16, 
15698             MPMF,   8
15699         }
15700     }
15701 
15702     Scope (\_PR.CPU0)
15703     {
15704         Name (HI0, Zero)
15705         Name (HC0, Zero)
15706         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
15707         {
15708             If (CondRefOf (\_PR.CPU0._PPC))
15709             {
15710                 \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
15711             }
15712 
15713             Local0 = CPDC (Arg0)
15714             GCAP (Local0)
15715             Return (Local0)
15716         }
15717 
15718         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
15719         {
15720             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
15721             GCAP (Local0)
15722             Return (Local0)
15723         }
15724 
15725         Method (CPDC, 1, NotSerialized)
15726         {
15727             CreateDWordField (Arg0, Zero, REVS)
15728             CreateDWordField (Arg0, 0x04, SIZE)
15729             Local0 = SizeOf (Arg0)
15730             Local1 = (Local0 - 0x08)
15731             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
15732             Name (STS0, Buffer (0x04)
15733             {
15734                  0x00, 0x00, 0x00, 0x00                           /* .... */
15735             })
15736             Concatenate (STS0, TEMP, Local2)
15737             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
15738         }
15739 
15740         Method (COSC, 4, NotSerialized)
15741         {
15742             CreateDWordField (Arg3, Zero, STS0)
15743             CreateDWordField (Arg3, 0x04, CAP0)
15744             CreateDWordField (Arg0, Zero, IID0)
15745             CreateDWordField (Arg0, 0x04, IID1)
15746             CreateDWordField (Arg0, 0x08, IID2)
15747             CreateDWordField (Arg0, 0x0C, IID3)
15748             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
15749             CreateDWordField (UID0, Zero, EID0)
15750             CreateDWordField (UID0, 0x04, EID1)
15751             CreateDWordField (UID0, 0x08, EID2)
15752             CreateDWordField (UID0, 0x0C, EID3)
15753             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
15754                 IID2 == EID2) && (IID3 == EID3))))
15755             {
15756                 STS0 = 0x06
15757                 Return (Arg3)
15758             }
15759 
15760             If ((Arg1 != One))
15761             {
15762                 STS0 = 0x0A
15763                 Return (Arg3)
15764             }
15765 
15766             Return (Arg3)
15767         }
15768 
15769         Method (GCAP, 1, NotSerialized)
15770         {
15771             CreateDWordField (Arg0, Zero, STS0)
15772             CreateDWordField (Arg0, 0x04, CAP0)
15773             If (((STS0 == 0x06) || (STS0 == 0x0A)))
15774             {
15775                 Return (Zero)
15776             }
15777 
15778             If ((STS0 & One))
15779             {
15780                 CAP0 &= 0x0BFF
15781                 Return (Zero)
15782             }
15783 
15784             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
15785             If ((CFGD & 0x7A))
15786             {
15787                 If ((((CFGD & 0x0200) && (PDC0 & 0x18)) && !
15788                     (SDTL & 0x02)))
15789                 {
15790                     SDTL |= 0x02
15791                     OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
15792                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
15793                 }
15794             }
15795 
15796             Return (Zero)
15797         }
15798     }
15799 
15800     Scope (\_PR.CPU1)
15801     {
15802         Name (HI1, Zero)
15803         Name (HC1, Zero)
15804         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
15805         {
15806             Local0 = \_PR.CPU0.CPDC (Arg0)
15807             GCAP (Local0)
15808             Return (Local0)
15809         }
15810 
15811         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
15812         {
15813             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
15814             GCAP (Local0)
15815             Return (Local0)
15816         }
15817 
15818         Method (GCAP, 1, NotSerialized)
15819         {
15820             CreateDWordField (Arg0, Zero, STS1)
15821             CreateDWordField (Arg0, 0x04, CAP1)
15822             If (((STS1 == 0x06) || (STS1 == 0x0A)))
15823             {
15824                 Return (Zero)
15825             }
15826 
15827             If ((STS1 & One))
15828             {
15829                 CAP1 &= 0x0BFF
15830                 Return (Zero)
15831             }
15832 
15833             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
15834             If (((PDC1 & 0x09) == 0x09))
15835             {
15836                 APPT ()
15837             }
15838 
15839             If ((PDC1 & 0x18))
15840             {
15841                 APCT ()
15842             }
15843 
15844             PDC0 = PDC1 /* \PDC1 */
15845             Return (Zero)
15846         }
15847 
15848         Method (APCT, 0, NotSerialized)
15849         {
15850             If (((CFGD & 0x7A) && !(SDTL & 0x20)))
15851             {
15852                 SDTL |= 0x20
15853                 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
15854                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
15855             }
15856         }
15857 
15858         Method (APPT, 0, NotSerialized)
15859         {
15860             If (((CFGD & One) && !(SDTL & 0x10)))
15861             {
15862                 SDTL |= 0x10
15863                 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
15864                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
15865             }
15866         }
15867     }
15868 
15869     Scope (\_PR.CPU2)
15870     {
15871         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
15872         {
15873             Local0 = \_PR.CPU0.CPDC (Arg0)
15874             GCAP (Local0)
15875             Return (Local0)
15876         }
15877 
15878         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
15879         {
15880             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
15881             GCAP (Local0)
15882             Return (Local0)
15883         }
15884 
15885         Method (GCAP, 1, NotSerialized)
15886         {
15887             CreateDWordField (Arg0, Zero, STS2)
15888             CreateDWordField (Arg0, 0x04, CAP2)
15889             If (((STS2 == 0x06) || (STS2 == 0x0A)))
15890             {
15891                 Return (Zero)
15892             }
15893 
15894             If ((STS2 & One))
15895             {
15896                 CAP2 &= 0x0BFF
15897                 Return (Zero)
15898             }
15899 
15900             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
15901             If (((PDC2 & 0x09) == 0x09))
15902             {
15903                 \_PR.CPU1.APPT ()
15904             }
15905 
15906             If ((PDC2 & 0x18))
15907             {
15908                 \_PR.CPU1.APCT ()
15909             }
15910 
15911             PDC0 = PDC2 /* \PDC2 */
15912             Return (Zero)
15913         }
15914     }
15915 
15916     Scope (\_PR.CPU3)
15917     {
15918         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
15919         {
15920             Local0 = \_PR.CPU0.CPDC (Arg0)
15921             GCAP (Local0)
15922             Return (Local0)
15923         }
15924 
15925         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
15926         {
15927             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
15928             GCAP (Local0)
15929             Return (Local0)
15930         }
15931 
15932         Method (GCAP, 1, NotSerialized)
15933         {
15934             CreateDWordField (Arg0, Zero, STS3)
15935             CreateDWordField (Arg0, 0x04, CAP3)
15936             If (((STS3 == 0x06) || (STS3 == 0x0A)))
15937             {
15938                 Return (Zero)
15939             }
15940 
15941             If ((STS3 & One))
15942             {
15943                 CAP3 &= 0x0BFF
15944                 Return (Zero)
15945             }
15946 
15947             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
15948             If (((PDC3 & 0x09) == 0x09))
15949             {
15950                 \_PR.CPU1.APPT ()
15951             }
15952 
15953             If ((PDC3 & 0x18))
15954             {
15955                 \_PR.CPU1.APCT ()
15956             }
15957 
15958             PDC0 = PDC3 /* \PDC3 */
15959             Return (Zero)
15960         }
15961     }
15962 
15963     Scope (\_PR.CPU4)
15964     {
15965         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
15966         {
15967             Local0 = \_PR.CPU0.CPDC (Arg0)
15968             GCAP (Local0)
15969             Return (Local0)
15970         }
15971 
15972         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
15973         {
15974             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
15975             GCAP (Local0)
15976             Return (Local0)
15977         }
15978 
15979         Method (GCAP, 1, NotSerialized)
15980         {
15981             CreateDWordField (Arg0, Zero, STS4)
15982             CreateDWordField (Arg0, 0x04, CAP4)
15983             If (((STS4 == 0x06) || (STS4 == 0x0A)))
15984             {
15985                 Return (Zero)
15986             }
15987 
15988             If ((STS4 & One))
15989             {
15990                 CAP4 &= 0x0BFF
15991                 Return (Zero)
15992             }
15993 
15994             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
15995             If (((PDC4 & 0x09) == 0x09))
15996             {
15997                 \_PR.CPU1.APPT ()
15998             }
15999 
16000             If ((PDC4 & 0x18))
16001             {
16002                 \_PR.CPU1.APCT ()
16003             }
16004 
16005             PDC0 = PDC4 /* \PDC4 */
16006             Return (Zero)
16007         }
16008     }
16009 
16010     Scope (\_PR.CPU5)
16011     {
16012         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16013         {
16014             Local0 = \_PR.CPU0.CPDC (Arg0)
16015             GCAP (Local0)
16016             Return (Local0)
16017         }
16018 
16019         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16020         {
16021             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16022             GCAP (Local0)
16023             Return (Local0)
16024         }
16025 
16026         Method (GCAP, 1, NotSerialized)
16027         {
16028             CreateDWordField (Arg0, Zero, STS5)
16029             CreateDWordField (Arg0, 0x04, CAP5)
16030             If (((STS5 == 0x06) || (STS5 == 0x0A)))
16031             {
16032                 Return (Zero)
16033             }
16034 
16035             If ((STS5 & One))
16036             {
16037                 CAP5 &= 0x0BFF
16038                 Return (Zero)
16039             }
16040 
16041             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
16042             If (((PDC5 & 0x09) == 0x09))
16043             {
16044                 \_PR.CPU1.APPT ()
16045             }
16046 
16047             If ((PDC5 & 0x18))
16048             {
16049                 \_PR.CPU1.APCT ()
16050             }
16051 
16052             PDC0 = PDC5 /* \PDC5 */
16053             Return (Zero)
16054         }
16055     }
16056 
16057     Scope (\_PR.CPU6)
16058     {
16059         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16060         {
16061             Local0 = \_PR.CPU0.CPDC (Arg0)
16062             GCAP (Local0)
16063             Return (Local0)
16064         }
16065 
16066         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16067         {
16068             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16069             GCAP (Local0)
16070             Return (Local0)
16071         }
16072 
16073         Method (GCAP, 1, NotSerialized)
16074         {
16075             CreateDWordField (Arg0, Zero, STS6)
16076             CreateDWordField (Arg0, 0x04, CAP6)
16077             If (((STS6 == 0x06) || (STS6 == 0x0A)))
16078             {
16079                 Return (Zero)
16080             }
16081 
16082             If ((STS6 & One))
16083             {
16084                 CAP6 &= 0x0BFF
16085                 Return (Zero)
16086             }
16087 
16088             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
16089             If (((PDC6 & 0x09) == 0x09))
16090             {
16091                 \_PR.CPU1.APPT ()
16092             }
16093 
16094             If ((PDC6 & 0x18))
16095             {
16096                 \_PR.CPU1.APCT ()
16097             }
16098 
16099             PDC0 = PDC6 /* \PDC6 */
16100             Return (Zero)
16101         }
16102     }
16103 
16104     Scope (\_PR.CPU7)
16105     {
16106         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
16107         {
16108             Local0 = \_PR.CPU0.CPDC (Arg0)
16109             GCAP (Local0)
16110             Return (Local0)
16111         }
16112 
16113         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
16114         {
16115             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
16116             GCAP (Local0)
16117             Return (Local0)
16118         }
16119 
16120         Method (GCAP, 1, NotSerialized)
16121         {
16122             CreateDWordField (Arg0, Zero, STS7)
16123             CreateDWordField (Arg0, 0x04, CAP7)
16124             If (((STS7 == 0x06) || (STS7 == 0x0A)))
16125             {
16126                 Return (Zero)
16127             }
16128 
16129             If ((STS7 & One))
16130             {
16131                 CAP7 &= 0x0BFF
16132                 Return (Zero)
16133             }
16134 
16135             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
16136             If (((PDC7 & 0x09) == 0x09))
16137             {
16138                 \_PR.CPU1.APPT ()
16139             }
16140 
16141             If ((PDC7 & 0x18))
16142             {
16143                 \_PR.CPU1.APCT ()
16144             }
16145 
16146             PDC0 = PDC7 /* \PDC7 */
16147             Return (Zero)
16148         }
16149     }
16150 
16151     OperationRegion (SANV, SystemMemory, 0xDCF67D98, 0x0141)
16152     Field (SANV, AnyAcc, Lock, Preserve)
16153     {
16154         SARV,   32, 
16155         ASLB,   32, 
16156         IMON,   8, 
16157         IGDS,   8, 
16158         CADL,   8, 
16159         PADL,   8, 
16160         CSTE,   16, 
16161         NSTE,   16, 
16162         DID9,   32, 
16163         DIDA,   32, 
16164         DIDB,   32, 
16165         IBTT,   8, 
16166         IPAT,   8, 
16167         IPSC,   8, 
16168         IBLC,   8, 
16169         IBIA,   8, 
16170         ISSC,   8, 
16171         IPCF,   8, 
16172         IDMS,   8, 
16173         IF1E,   8, 
16174         HVCO,   8, 
16175         NXD1,   32, 
16176         NXD2,   32, 
16177         NXD3,   32, 
16178         NXD4,   32, 
16179         NXD5,   32, 
16180         NXD6,   32, 
16181         NXD7,   32, 
16182         NXD8,   32, 
16183         GSMI,   8, 
16184         PAVP,   8, 
16185         LIDS,   8, 
16186         KSV0,   32, 
16187         KSV1,   8, 
16188         BBAR,   32, 
16189         BLCS,   8, 
16190         BRTL,   8, 
16191         ALSE,   8, 
16192         ALAF,   8, 
16193         LLOW,   8, 
16194         LHIH,   8, 
16195         ALFP,   8, 
16196         AUDA,   32, 
16197         AUDB,   32, 
16198         Offset (0x65), 
16199         DIDC,   32, 
16200         DIDD,   32, 
16201         DIDE,   32, 
16202         DIDF,   32, 
16203         CADR,   32, 
16204         CCNT,   8, 
16205         Offset (0xC8), 
16206         SGMD,   8, 
16207         SGFL,   8, 
16208         PWOK,   8, 
16209         HLRS,   8, 
16210         PWEN,   8, 
16211         PRST,   8, 
16212         CPSP,   32, 
16213         EECP,   8, 
16214         EVCP,   16, 
16215         XBAS,   32, 
16216         GBAS,   16, 
16217         SGGP,   8, 
16218         NVGA,   32, 
16219         NVHA,   32, 
16220         AMDA,   32, 
16221         NDID,   8, 
16222         DID1,   32, 
16223         DID2,   32, 
16224         DID3,   32, 
16225         DID4,   32, 
16226         DID5,   32, 
16227         DID6,   32, 
16228         DID7,   32, 
16229         DID8,   32, 
16230         OBS1,   32, 
16231         OBS2,   32, 
16232         OBS3,   32, 
16233         OBS4,   32, 
16234         OBS5,   32, 
16235         OBS6,   32, 
16236         OBS7,   32, 
16237         OBS8,   32, 
16238         LTRA,   8, 
16239         OBFA,   8, 
16240         LTRB,   8, 
16241         OBFB,   8, 
16242         LTRC,   8, 
16243         OBFC,   8, 
16244         SMSL,   16, 
16245         SNSL,   16, 
16246         P0UB,   8, 
16247         P1UB,   8, 
16248         P2UB,   8, 
16249         EDPV,   8, 
16250         NXDX,   32, 
16251         DIDX,   32, 
16252         PCSL,   8, 
16253         SC7A,   8
16254     }
16255 
16256     Scope (\_SB.PCI0)
16257     {
16258         Name (LTRS, Zero)
16259         Name (OBFS, Zero)
16260         Device (PEG0)
16261         {
16262             Name (_ADR, 0x00010000)  // _ADR: Address
16263             OperationRegion (PEGR, PCI_Config, 0xC0, 0x30)
16264             Field (PEGR, DWordAcc, NoLock, Preserve)
16265             {
16266                 Offset (0x02), 
16267                 PSTS,   1, 
16268                 Offset (0x2C), 
16269                 GENG,   1, 
16270                     ,   1, 
16271                 PMEG,   1
16272             }
16273 
16274             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
16275             {
16276                 Return (GPRW (0x09, 0x04))
16277             }
16278 
16279             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
16280             {
16281                 If (Arg0)
16282                 {
16283                     GENG = One
16284                     PMEG = One
16285                 }
16286                 Else
16287                 {
16288                     GENG = Zero
16289                     PMEG = Zero
16290                 }
16291             }
16292 
16293             Method (HPME, 0, Serialized)
16294             {
16295                 PSTS = One
16296             }
16297 
16298             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
16299             {
16300                 If (PICM)
16301                 {
16302                     Return (AR02 ())
16303                 }
16304 
16305                 Return (PR02 ())
16306             }
16307 
16308             Method (_INI, 0, NotSerialized)  // _INI: Initialize
16309             {
16310                 LTRS = LTRA /* \LTRA */
16311                 OBFS = OBFA /* \OBFA */
16312             }
16313 
16314             Name (LTRV, Package (0x04)
16315             {
16316                 Zero, 
16317                 Zero, 
16318                 Zero, 
16319                 Zero
16320             })
16321             Name (OPTS, Zero)
16322             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
16323             {
16324                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
16325                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
16326                 While (One)
16327                 {
16328                     _T_0 = ToInteger (Arg0)
16329                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
16330                     {
16331                         While (One)
16332                         {
16333                             _T_1 = ToInteger (Arg2)
16334                             If ((_T_1 == Zero))
16335                             {
16336                                 If ((Arg1 == 0x02))
16337                                 {
16338                                     OPTS = One
16339                                     If (LTRS)
16340                                     {
16341                                         OPTS |= 0x40
16342                                     }
16343 
16344                                     If (OBFS)
16345                                     {
16346                                         OPTS |= 0x10
16347                                     }
16348 
16349                                     Return (OPTS) /* \_SB_.PCI0.PEG0.OPTS */
16350                                 }
16351                                 Else
16352                                 {
16353                                     Return (Zero)
16354                                 }
16355                             }
16356                             Else
16357                             {
16358                                 If ((_T_1 == 0x04))
16359                                 {
16360                                     If ((Arg1 == 0x02))
16361                                     {
16362                                         If (OBFS)
16363                                         {
16364                                             Return (Buffer (0x10)
16365                                             {
16366                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16367                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
16368                                             })
16369                                         }
16370                                         Else
16371                                         {
16372                                             Return (Buffer (0x10)
16373                                             {
16374                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16375                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
16376                                             })
16377                                         }
16378                                     }
16379                                 }
16380                                 Else
16381                                 {
16382                                     If ((_T_1 == 0x06))
16383                                     {
16384                                         If ((Arg1 == 0x02))
16385                                         {
16386                                             If (LTRS)
16387                                             {
16388                                                 Index (LTRV, Zero) = ((SMSL >> 0x0A) & 0x07)
16389                                                 Index (LTRV, One) = (SMSL & 0x03FF)
16390                                                 Index (LTRV, 0x02) = ((SNSL >> 0x0A) & 0x07)
16391                                                 Index (LTRV, 0x03) = (SNSL & 0x03FF)
16392                                                 Return (LTRV) /* \_SB_.PCI0.PEG0.LTRV */
16393                                             }
16394                                             Else
16395                                             {
16396                                                 Return (Zero)
16397                                             }
16398                                         }
16399                                     }
16400                                 }
16401                             }
16402 
16403                             Break
16404                         }
16405                     }
16406 
16407                     Break
16408                 }
16409 
16410                 Return (Buffer (One)
16411                 {
16412                      0x00                                             /* . */
16413                 })
16414             }
16415 
16416             Device (PEGP)
16417             {
16418                 Name (_ADR, Zero)  // _ADR: Address
16419                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
16420                 {
16421                     Return (GPRW (0x09, 0x04))
16422                 }
16423             }
16424         }
16425 
16426         Device (PEG1)
16427         {
16428             Name (_ADR, 0x00010001)  // _ADR: Address
16429             OperationRegion (PEGR, PCI_Config, 0xC0, 0x30)
16430             Field (PEGR, DWordAcc, NoLock, Preserve)
16431             {
16432                 Offset (0x02), 
16433                 PSTS,   1, 
16434                 Offset (0x2C), 
16435                 GENG,   1, 
16436                     ,   1, 
16437                 PMEG,   1
16438             }
16439 
16440             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
16441             {
16442                 Return (GPRW (0x09, 0x04))
16443             }
16444 
16445             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
16446             {
16447                 If (Arg0)
16448                 {
16449                     GENG = One
16450                     PMEG = One
16451                 }
16452                 Else
16453                 {
16454                     GENG = Zero
16455                     PMEG = Zero
16456                 }
16457             }
16458 
16459             Method (HPME, 0, Serialized)
16460             {
16461                 PSTS = One
16462             }
16463 
16464             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
16465             {
16466                 If (PICM)
16467                 {
16468                     Return (AR0A ())
16469                 }
16470 
16471                 Return (PR0A ())
16472             }
16473 
16474             Method (_INI, 0, NotSerialized)  // _INI: Initialize
16475             {
16476                 LTRS = LTRB /* \LTRB */
16477                 OBFS = OBFB /* \OBFB */
16478             }
16479 
16480             Name (LTRV, Package (0x04)
16481             {
16482                 Zero, 
16483                 Zero, 
16484                 Zero, 
16485                 Zero
16486             })
16487             Name (OPTS, Zero)
16488             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
16489             {
16490                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
16491                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
16492                 While (One)
16493                 {
16494                     _T_0 = ToInteger (Arg0)
16495                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
16496                     {
16497                         While (One)
16498                         {
16499                             _T_1 = ToInteger (Arg2)
16500                             If ((_T_1 == Zero))
16501                             {
16502                                 If ((Arg1 == 0x02))
16503                                 {
16504                                     OPTS = One
16505                                     If (LTRS)
16506                                     {
16507                                         OPTS |= 0x40
16508                                     }
16509 
16510                                     If (OBFS)
16511                                     {
16512                                         OPTS |= 0x10
16513                                     }
16514 
16515                                     Return (OPTS) /* \_SB_.PCI0.PEG1.OPTS */
16516                                 }
16517                                 Else
16518                                 {
16519                                     Return (Zero)
16520                                 }
16521                             }
16522                             Else
16523                             {
16524                                 If ((_T_1 == 0x04))
16525                                 {
16526                                     If ((Arg1 == 0x02))
16527                                     {
16528                                         If (OBFS)
16529                                         {
16530                                             Return (Buffer (0x10)
16531                                             {
16532                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16533                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
16534                                             })
16535                                         }
16536                                         Else
16537                                         {
16538                                             Return (Buffer (0x10)
16539                                             {
16540                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16541                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
16542                                             })
16543                                         }
16544                                     }
16545                                 }
16546                                 Else
16547                                 {
16548                                     If ((_T_1 == 0x06))
16549                                     {
16550                                         If ((Arg1 == 0x02))
16551                                         {
16552                                             If (LTRS)
16553                                             {
16554                                                 Index (LTRV, Zero) = ((SMSL >> 0x0A) & 0x07)
16555                                                 Index (LTRV, One) = (SMSL & 0x03FF)
16556                                                 Index (LTRV, 0x02) = ((SNSL >> 0x0A) & 0x07)
16557                                                 Index (LTRV, 0x03) = (SNSL & 0x03FF)
16558                                                 Return (LTRV) /* \_SB_.PCI0.PEG1.LTRV */
16559                                             }
16560                                             Else
16561                                             {
16562                                                 Return (Zero)
16563                                             }
16564                                         }
16565                                     }
16566                                 }
16567                             }
16568 
16569                             Break
16570                         }
16571                     }
16572 
16573                     Break
16574                 }
16575 
16576                 Return (Buffer (One)
16577                 {
16578                      0x00                                             /* . */
16579                 })
16580             }
16581         }
16582 
16583         Device (PEG2)
16584         {
16585             Name (_ADR, 0x00010002)  // _ADR: Address
16586             OperationRegion (PEGR, PCI_Config, 0xC0, 0x30)
16587             Field (PEGR, DWordAcc, NoLock, Preserve)
16588             {
16589                 Offset (0x02), 
16590                 PSTS,   1, 
16591                 Offset (0x2C), 
16592                 GENG,   1, 
16593                     ,   1, 
16594                 PMEG,   1
16595             }
16596 
16597             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
16598             {
16599                 Return (GPRW (0x09, 0x04))
16600             }
16601 
16602             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
16603             {
16604                 If (Arg0)
16605                 {
16606                     GENG = One
16607                     PMEG = One
16608                 }
16609                 Else
16610                 {
16611                     GENG = Zero
16612                     PMEG = Zero
16613                 }
16614             }
16615 
16616             Method (HPME, 0, Serialized)
16617             {
16618                 PSTS = One
16619             }
16620 
16621             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
16622             {
16623                 If (PICM)
16624                 {
16625                     Return (AR0B ())
16626                 }
16627 
16628                 Return (PR0B ())
16629             }
16630 
16631             Method (_INI, 0, NotSerialized)  // _INI: Initialize
16632             {
16633                 LTRS = LTRC /* \LTRC */
16634                 OBFS = OBFC /* \OBFC */
16635             }
16636 
16637             Name (LTRV, Package (0x04)
16638             {
16639                 Zero, 
16640                 Zero, 
16641                 Zero, 
16642                 Zero
16643             })
16644             Name (OPTS, Zero)
16645             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
16646             {
16647                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
16648                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
16649                 While (One)
16650                 {
16651                     _T_0 = ToInteger (Arg0)
16652                     If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
16653                     {
16654                         While (One)
16655                         {
16656                             _T_1 = ToInteger (Arg2)
16657                             If ((_T_1 == Zero))
16658                             {
16659                                 If ((Arg1 == 0x02))
16660                                 {
16661                                     OPTS = One
16662                                     If (LTRS)
16663                                     {
16664                                         OPTS |= 0x40
16665                                     }
16666 
16667                                     If (OBFS)
16668                                     {
16669                                         OPTS |= 0x10
16670                                     }
16671 
16672                                     Return (OPTS) /* \_SB_.PCI0.PEG2.OPTS */
16673                                 }
16674                                 Else
16675                                 {
16676                                     Return (Zero)
16677                                 }
16678                             }
16679                             Else
16680                             {
16681                                 If ((_T_1 == 0x04))
16682                                 {
16683                                     If ((Arg1 == 0x02))
16684                                     {
16685                                         If (OBFS)
16686                                         {
16687                                             Return (Buffer (0x10)
16688                                             {
16689                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16690                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
16691                                             })
16692                                         }
16693                                         Else
16694                                         {
16695                                             Return (Buffer (0x10)
16696                                             {
16697                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
16698                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
16699                                             })
16700                                         }
16701                                     }
16702                                 }
16703                                 Else
16704                                 {
16705                                     If ((_T_1 == 0x06))
16706                                     {
16707                                         If ((Arg1 == 0x02))
16708                                         {
16709                                             If (LTRS)
16710                                             {
16711                                                 Index (LTRV, Zero) = ((SMSL >> 0x0A) & 0x07)
16712                                                 Index (LTRV, One) = (SMSL & 0x03FF)
16713                                                 Index (LTRV, 0x02) = ((SNSL >> 0x0A) & 0x07)
16714                                                 Index (LTRV, 0x03) = (SNSL & 0x03FF)
16715                                                 Return (LTRV) /* \_SB_.PCI0.PEG2.LTRV */
16716                                             }
16717                                             Else
16718                                             {
16719                                                 Return (Zero)
16720                                             }
16721                                         }
16722                                     }
16723                                 }
16724                             }
16725 
16726                             Break
16727                         }
16728                     }
16729 
16730                     Break
16731                 }
16732 
16733                 Return (Buffer (One)
16734                 {
16735                      0x00                                             /* . */
16736                 })
16737             }
16738         }
16739 
16740         Device (B0D3)
16741         {
16742             Name (_ADR, 0x00030000)  // _ADR: Address
16743             Name (BARA, 0x80000000)
16744             Name (TBAR, Zero)
16745             Name (TCMD, Zero)
16746             Name (MODB, Zero)
16747             Method (_STA, 0, NotSerialized)  // _STA: Status
16748             {
16749                 If ((AUVD != 0xFFFF))
16750                 {
16751                     Return (0x0F)
16752                 }
16753 
16754                 Return (Zero)
16755             }
16756 
16757             Method (_INI, 0, NotSerialized)  // _INI: Initialize
16758             {
16759                 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
16760                     ABAR & 0xFFFFC000) != Zero)))
16761                 {
16762                     BARA = ABAR /* \_SB_.PCI0.B0D3.ABAR */
16763                 }
16764             }
16765 
16766             OperationRegion (RPCS, SystemMemory, \XBAS, 0x00018040)
16767             Field (RPCS, AnyAcc, NoLock, Preserve)
16768             {
16769                 Offset (0x18004), 
16770                 ACMD,   8, 
16771                 Offset (0x18010), 
16772                 ABAR,   32
16773             }
16774 
16775             OperationRegion (RPCZ, PCI_Config, Zero, 0x40)
16776             Field (RPCZ, DWordAcc, Lock, Preserve)
16777             {
16778                 AUVD,   16
16779             }
16780 
16781             Method (ASTR, 0, Serialized)
16782             {
16783                 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
16784                     ABAR & 0xFFFFC000) != Zero)))
16785                 {
16786                     BBAR = (ABAR & 0xFFFFFFF0)
16787                     BBAR += 0x1000
16788                     OperationRegion (RPCY, SystemMemory, BBAR, 0x25)
16789                     Field (RPCY, DWordAcc, NoLock, Preserve)
16790                     {
16791                         Offset (0x0C), 
16792                         EM4W,   32, 
16793                         EMWA,   32, 
16794                         Offset (0x1C), 
16795                         ADWA,   32
16796                     }
16797 
16798                     EMWA = AUDA /* \AUDA */
16799                     ADWA = AUDB /* \AUDB */
16800                 }
16801             }
16802 
16803             Method (VSTR, 1, Serialized)
16804             {
16805                 Name (CONT, 0x03E8)
16806                 Name (ADDR, 0x80000000)
16807                 ADDR = Arg0
16808                 OperationRegion (CCDC, SystemMemory, ADDR, 0x04)
16809                 Field (CCDC, ByteAcc, NoLock, Preserve)
16810                 {
16811                     CDEC,   32
16812                 }
16813 
16814                 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
16815                     ABAR & 0xFFFFC000) != Zero)))
16816                 {
16817                     If ((CDEC != Zero))
16818                     {
16819                         BBAR = (ABAR & 0xFFFFFFF0)
16820                         OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
16821                         Field (IPCV, DWordAcc, NoLock, Preserve)
16822                         {
16823                             Offset (0x60), 
16824                             AVIC,   32, 
16825                             Offset (0x68), 
16826                             AIRS,   16
16827                         }
16828 
16829                         CONT = 0x03E8
16830                         While ((((AIRS & One) == One) && (CONT != Zero)))
16831                         {
16832                             Stall (One)
16833                             CONT--
16834                         }
16835 
16836                         AIRS |= 0x02
16837                         AVIC = CDEC /* \_SB_.PCI0.B0D3.VSTR.CDEC */
16838                         AIRS |= One
16839                         CONT = 0x03E8
16840                         While ((((AIRS & One) == One) && (CONT != Zero)))
16841                         {
16842                             Stall (One)
16843                             CONT--
16844                         }
16845                     }
16846                 }
16847             }
16848 
16849             Method (CXDC, 0, Serialized)
16850             {
16851                 Name (IDDX, 0x80000000)
16852                 If (((CADR != Zero) && (CCNT != Zero)))
16853                 {
16854                     IDDX = CADR /* \CADR */
16855                     While ((IDDX < (CADR + (CCNT * 0x04))))
16856                     {
16857                         VSTR (IDDX)
16858                         IDDX += 0x04
16859                     }
16860                 }
16861             }
16862 
16863             Method (ARST, 0, Serialized)
16864             {
16865                 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
16866                     ABAR & 0xFFFFC000) != Zero)))
16867                 {
16868                     BBAR = (ABAR & 0xFFFFFFF0)
16869                     OperationRegion (IPCV, SystemMemory, BBAR, 0xBF)
16870                     Field (IPCV, AnyAcc, NoLock, Preserve)
16871                     {
16872                         Offset (0x08), 
16873                         CRST,   32, 
16874                         Offset (0x4C), 
16875                         CORB,   32, 
16876                         Offset (0x5C), 
16877                         RIRB,   32, 
16878                         Offset (0x80), 
16879                         OSD1,   32, 
16880                         Offset (0xA0), 
16881                         OSD2,   32
16882                     }
16883 
16884                     CORB &= 0xFFFFFFFD
16885                     RIRB &= 0xFFFFFFFD
16886                     OSD1 &= 0xFFFFFFFD
16887                     OSD2 &= 0xFFFFFFFD
16888                     CRST &= 0xFFFFFFFE
16889                 }
16890             }
16891 
16892             Method (AINI, 0, Serialized)
16893             {
16894                 Name (CONT, 0x03E8)
16895                 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
16896                     ABAR & 0xFFFFC000) != Zero)))
16897                 {
16898                     BBAR = (ABAR & 0xFFFFFFF0)
16899                     OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
16900                     Field (IPCV, DWordAcc, NoLock, Preserve)
16901                     {
16902                         GCAP,   16, 
16903                         Offset (0x08), 
16904                         GCTL,   32, 
16905                         Offset (0x0E), 
16906                         SSTS,   8, 
16907                         Offset (0x60), 
16908                         AVIC,   32, 
16909                         Offset (0x68), 
16910                         AIRS,   16
16911                     }
16912 
16913                     GCTL |= One
16914                     CONT = 0x03E8
16915                     While ((((GCTL & One) == Zero) && (CONT != Zero)))
16916                     {
16917                         Stall (One)
16918                         CONT--
16919                     }
16920 
16921                     GCAP &= 0xFFFF
16922                     SSTS |= 0x0F
16923                     GCTL &= 0xFFFFFFFE
16924                     CONT = 0x03E8
16925                     While ((((GCTL & One) == One) && (CONT != Zero)))
16926                     {
16927                         Stall (One)
16928                         CONT--
16929                     }
16930 
16931                     GCTL |= One
16932                     CONT = 0x03E8
16933                     While ((((GCTL & One) == Zero) && (CONT != Zero)))
16934                     {
16935                         Stall (One)
16936                         CONT--
16937                     }
16938                 }
16939             }
16940 
16941             Method (ABWA, 1, Serialized)
16942             {
16943                 If (Arg0)
16944                 {
16945                     If ((((BARA & 0x80000000) != 0x80000000) && ((ABAR & 
16946                         0xFFFFC000) == Zero)))
16947                     {
16948                         TBAR = ABAR /* \_SB_.PCI0.B0D3.ABAR */
16949                         TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
16950                         ABAR = BARA /* \_SB_.PCI0.B0D3.BARA */
16951                         ACMD = 0x06
16952                         MODB = One
16953                     }
16954                 }
16955                 Else
16956                 {
16957                     If (MODB)
16958                     {
16959                         If ((ABAR == BARA))
16960                         {
16961                             ABAR = TBAR /* \_SB_.PCI0.B0D3.TBAR */
16962                             ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
16963                         }
16964                     }
16965                 }
16966             }
16967         }
16968 
16969         Device (GFX0)
16970         {
16971             Name (_ADR, 0x00020000)  // _ADR: Address
16972             Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
16973             {
16974                 ADBG ("GFX0 DEP Call")
16975                 If ((S0ID == One))
16976                 {
16977                     ADBG ("GFX0 DEP")
16978                     Return (Package (0x01)
16979                     {
16980                         \_SB.PEPD
16981                     })
16982                 }
16983                 Else
16984                 {
16985                     ADBG ("GFX0 DEP NULL")
16986                     Return (Package (0x00) {})
16987                 }
16988             }
16989 
16990             Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
16991             {
16992                 DSEN = (Arg0 & 0x07)
16993                 If (((Arg0 & 0x03) == Zero))
16994                 {
16995                     If (CondRefOf (HDOS))
16996                     {
16997                         HDOS ()
16998                     }
16999                 }
17000             }
17001 
17002             Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
17003             {
17004                 If (CondRefOf (IDAB))
17005                 {
17006                     IDAB ()
17007                 }
17008                 Else
17009                 {
17010                     NDID = Zero
17011                     If ((DIDL != Zero))
17012                     {
17013                         DID1 = SDDL (DIDL)
17014                     }
17015 
17016                     If ((DDL2 != Zero))
17017                     {
17018                         DID2 = SDDL (DDL2)
17019                     }
17020 
17021                     If ((DDL3 != Zero))
17022                     {
17023                         DID3 = SDDL (DDL3)
17024                     }
17025 
17026                     If ((DDL4 != Zero))
17027                     {
17028                         DID4 = SDDL (DDL4)
17029                     }
17030 
17031                     If ((DDL5 != Zero))
17032                     {
17033                         DID5 = SDDL (DDL5)
17034                     }
17035 
17036                     If ((DDL6 != Zero))
17037                     {
17038                         DID6 = SDDL (DDL6)
17039                     }
17040 
17041                     If ((DDL7 != Zero))
17042                     {
17043                         DID7 = SDDL (DDL7)
17044                     }
17045 
17046                     If ((DDL8 != Zero))
17047                     {
17048                         DID8 = SDDL (DDL8)
17049                     }
17050 
17051                     If ((DDL9 != Zero))
17052                     {
17053                         DID9 = SDDL (DDL9)
17054                     }
17055 
17056                     If ((DD10 != Zero))
17057                     {
17058                         DIDA = SDDL (DD10)
17059                     }
17060 
17061                     If ((DD11 != Zero))
17062                     {
17063                         DIDB = SDDL (DD11)
17064                     }
17065 
17066                     If ((DD12 != Zero))
17067                     {
17068                         DIDC = SDDL (DD12)
17069                     }
17070 
17071                     If ((DD13 != Zero))
17072                     {
17073                         DIDD = SDDL (DD13)
17074                     }
17075 
17076                     If ((DD14 != Zero))
17077                     {
17078                         DIDE = SDDL (DD14)
17079                     }
17080 
17081                     If ((DD15 != Zero))
17082                     {
17083                         DIDF = SDDL (DD15)
17084                     }
17085                 }
17086 
17087                 If ((NDID == One))
17088                 {
17089                     Name (TMP1, Package (0x01)
17090                     {
17091                         Ones
17092                     })
17093                     Index (TMP1, Zero) = (0x00010000 | DID1)
17094                     Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
17095                 }
17096 
17097                 If ((NDID == 0x02))
17098                 {
17099                     Name (TMP2, Package (0x02)
17100                     {
17101                         Ones, 
17102                         Ones
17103                     })
17104                     Index (TMP2, Zero) = (0x00010000 | DID1)
17105                     Index (TMP2, One) = (0x00010000 | DID2)
17106                     Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
17107                 }
17108 
17109                 If ((NDID == 0x03))
17110                 {
17111                     Name (TMP3, Package (0x03)
17112                     {
17113                         Ones, 
17114                         Ones, 
17115                         Ones
17116                     })
17117                     Index (TMP3, Zero) = (0x00010000 | DID1)
17118                     Index (TMP3, One) = (0x00010000 | DID2)
17119                     Index (TMP3, 0x02) = (0x00010000 | DID3)
17120                     Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
17121                 }
17122 
17123                 If ((NDID == 0x04))
17124                 {
17125                     Name (TMP4, Package (0x04)
17126                     {
17127                         Ones, 
17128                         Ones, 
17129                         Ones, 
17130                         Ones
17131                     })
17132                     Index (TMP4, Zero) = (0x00010000 | DID1)
17133                     Index (TMP4, One) = (0x00010000 | DID2)
17134                     Index (TMP4, 0x02) = (0x00010000 | DID3)
17135                     Index (TMP4, 0x03) = (0x00010000 | DID4)
17136                     Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
17137                 }
17138 
17139                 If ((NDID == 0x05))
17140                 {
17141                     Name (TMP5, Package (0x05)
17142                     {
17143                         Ones, 
17144                         Ones, 
17145                         Ones, 
17146                         Ones, 
17147                         Ones
17148                     })
17149                     Index (TMP5, Zero) = (0x00010000 | DID1)
17150                     Index (TMP5, One) = (0x00010000 | DID2)
17151                     Index (TMP5, 0x02) = (0x00010000 | DID3)
17152                     Index (TMP5, 0x03) = (0x00010000 | DID4)
17153                     Index (TMP5, 0x04) = (0x00010000 | DID5)
17154                     Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
17155                 }
17156 
17157                 If ((NDID == 0x06))
17158                 {
17159                     Name (TMP6, Package (0x06)
17160                     {
17161                         Ones, 
17162                         Ones, 
17163                         Ones, 
17164                         Ones, 
17165                         Ones, 
17166                         Ones
17167                     })
17168                     Index (TMP6, Zero) = (0x00010000 | DID1)
17169                     Index (TMP6, One) = (0x00010000 | DID2)
17170                     Index (TMP6, 0x02) = (0x00010000 | DID3)
17171                     Index (TMP6, 0x03) = (0x00010000 | DID4)
17172                     Index (TMP6, 0x04) = (0x00010000 | DID5)
17173                     Index (TMP6, 0x05) = (0x00010000 | DID6)
17174                     Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
17175                 }
17176 
17177                 If ((NDID == 0x07))
17178                 {
17179                     Name (TMP7, Package (0x07)
17180                     {
17181                         Ones, 
17182                         Ones, 
17183                         Ones, 
17184                         Ones, 
17185                         Ones, 
17186                         Ones, 
17187                         Ones
17188                     })
17189                     Index (TMP7, Zero) = (0x00010000 | DID1)
17190                     Index (TMP7, One) = (0x00010000 | DID2)
17191                     Index (TMP7, 0x02) = (0x00010000 | DID3)
17192                     Index (TMP7, 0x03) = (0x00010000 | DID4)
17193                     Index (TMP7, 0x04) = (0x00010000 | DID5)
17194                     Index (TMP7, 0x05) = (0x00010000 | DID6)
17195                     Index (TMP7, 0x06) = (0x00010000 | DID7)
17196                     Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
17197                 }
17198 
17199                 If ((NDID == 0x08))
17200                 {
17201                     Name (TMP8, Package (0x08)
17202                     {
17203                         Ones, 
17204                         Ones, 
17205                         Ones, 
17206                         Ones, 
17207                         Ones, 
17208                         Ones, 
17209                         Ones, 
17210                         Ones
17211                     })
17212                     Index (TMP8, Zero) = (0x00010000 | DID1)
17213                     Index (TMP8, One) = (0x00010000 | DID2)
17214                     Index (TMP8, 0x02) = (0x00010000 | DID3)
17215                     Index (TMP8, 0x03) = (0x00010000 | DID4)
17216                     Index (TMP8, 0x04) = (0x00010000 | DID5)
17217                     Index (TMP8, 0x05) = (0x00010000 | DID6)
17218                     Index (TMP8, 0x06) = (0x00010000 | DID7)
17219                     Index (TMP8, 0x07) = (0x00010000 | DID8)
17220                     Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
17221                 }
17222 
17223                 If ((NDID == 0x09))
17224                 {
17225                     Name (TMP9, Package (0x09)
17226                     {
17227                         Ones, 
17228                         Ones, 
17229                         Ones, 
17230                         Ones, 
17231                         Ones, 
17232                         Ones, 
17233                         Ones, 
17234                         Ones, 
17235                         Ones
17236                     })
17237                     Index (TMP9, Zero) = (0x00010000 | DID1)
17238                     Index (TMP9, One) = (0x00010000 | DID2)
17239                     Index (TMP9, 0x02) = (0x00010000 | DID3)
17240                     Index (TMP9, 0x03) = (0x00010000 | DID4)
17241                     Index (TMP9, 0x04) = (0x00010000 | DID5)
17242                     Index (TMP9, 0x05) = (0x00010000 | DID6)
17243                     Index (TMP9, 0x06) = (0x00010000 | DID7)
17244                     Index (TMP9, 0x07) = (0x00010000 | DID8)
17245                     Index (TMP9, 0x08) = (0x00010000 | DID9)
17246                     Return (TMP9) /* \_SB_.PCI0.GFX0._DOD.TMP9 */
17247                 }
17248 
17249                 If ((NDID == 0x0A))
17250                 {
17251                     Name (TMPA, Package (0x0A)
17252                     {
17253                         Ones, 
17254                         Ones, 
17255                         Ones, 
17256                         Ones, 
17257                         Ones, 
17258                         Ones, 
17259                         Ones, 
17260                         Ones, 
17261                         Ones, 
17262                         Ones
17263                     })
17264                     Index (TMPA, Zero) = (0x00010000 | DID1)
17265                     Index (TMPA, One) = (0x00010000 | DID2)
17266                     Index (TMPA, 0x02) = (0x00010000 | DID3)
17267                     Index (TMPA, 0x03) = (0x00010000 | DID4)
17268                     Index (TMPA, 0x04) = (0x00010000 | DID5)
17269                     Index (TMPA, 0x05) = (0x00010000 | DID6)
17270                     Index (TMPA, 0x06) = (0x00010000 | DID7)
17271                     Index (TMPA, 0x07) = (0x00010000 | DID8)
17272                     Index (TMPA, 0x08) = (0x00010000 | DID9)
17273                     Index (TMPA, 0x09) = (0x00010000 | DIDA)
17274                     Return (TMPA) /* \_SB_.PCI0.GFX0._DOD.TMPA */
17275                 }
17276 
17277                 If ((NDID == 0x0B))
17278                 {
17279                     Name (TMPB, Package (0x0B)
17280                     {
17281                         Ones, 
17282                         Ones, 
17283                         Ones, 
17284                         Ones, 
17285                         Ones, 
17286                         Ones, 
17287                         Ones, 
17288                         Ones, 
17289                         Ones, 
17290                         Ones, 
17291                         Ones
17292                     })
17293                     Index (TMPB, Zero) = (0x00010000 | DID1)
17294                     Index (TMPB, One) = (0x00010000 | DID2)
17295                     Index (TMPB, 0x02) = (0x00010000 | DID3)
17296                     Index (TMPB, 0x03) = (0x00010000 | DID4)
17297                     Index (TMPB, 0x04) = (0x00010000 | DID5)
17298                     Index (TMPB, 0x05) = (0x00010000 | DID6)
17299                     Index (TMPB, 0x06) = (0x00010000 | DID7)
17300                     Index (TMPB, 0x07) = (0x00010000 | DID8)
17301                     Index (TMPB, 0x08) = (0x00010000 | DID9)
17302                     Index (TMPB, 0x09) = (0x00010000 | DIDA)
17303                     Index (TMPB, 0x0A) = (0x00010000 | DIDB)
17304                     Return (TMPB) /* \_SB_.PCI0.GFX0._DOD.TMPB */
17305                 }
17306 
17307                 If ((NDID == 0x0C))
17308                 {
17309                     Name (TMPC, Package (0x0C)
17310                     {
17311                         Ones, 
17312                         Ones, 
17313                         Ones, 
17314                         Ones, 
17315                         Ones, 
17316                         Ones, 
17317                         Ones, 
17318                         Ones, 
17319                         Ones, 
17320                         Ones, 
17321                         Ones, 
17322                         Ones
17323                     })
17324                     Index (TMPC, Zero) = (0x00010000 | DID1)
17325                     Index (TMPC, One) = (0x00010000 | DID2)
17326                     Index (TMPC, 0x02) = (0x00010000 | DID3)
17327                     Index (TMPC, 0x03) = (0x00010000 | DID4)
17328                     Index (TMPC, 0x04) = (0x00010000 | DID5)
17329                     Index (TMPC, 0x05) = (0x00010000 | DID6)
17330                     Index (TMPC, 0x06) = (0x00010000 | DID7)
17331                     Index (TMPC, 0x07) = (0x00010000 | DID8)
17332                     Index (TMPC, 0x08) = (0x00010000 | DID9)
17333                     Index (TMPC, 0x09) = (0x00010000 | DIDA)
17334                     Index (TMPC, 0x0A) = (0x00010000 | DIDB)
17335                     Index (TMPC, 0x0B) = (0x00010000 | DIDC)
17336                     Return (TMPC) /* \_SB_.PCI0.GFX0._DOD.TMPC */
17337                 }
17338 
17339                 If ((NDID == 0x0D))
17340                 {
17341                     Name (TMPD, Package (0x0D)
17342                     {
17343                         Ones, 
17344                         Ones, 
17345                         Ones, 
17346                         Ones, 
17347                         Ones, 
17348                         Ones, 
17349                         Ones, 
17350                         Ones, 
17351                         Ones, 
17352                         Ones, 
17353                         Ones, 
17354                         Ones, 
17355                         Ones
17356                     })
17357                     Index (TMPD, Zero) = (0x00010000 | DID1)
17358                     Index (TMPD, One) = (0x00010000 | DID2)
17359                     Index (TMPD, 0x02) = (0x00010000 | DID3)
17360                     Index (TMPD, 0x03) = (0x00010000 | DID4)
17361                     Index (TMPD, 0x04) = (0x00010000 | DID5)
17362                     Index (TMPD, 0x05) = (0x00010000 | DID6)
17363                     Index (TMPD, 0x06) = (0x00010000 | DID7)
17364                     Index (TMPD, 0x07) = (0x00010000 | DID8)
17365                     Index (TMPD, 0x08) = (0x00010000 | DID9)
17366                     Index (TMPD, 0x09) = (0x00010000 | DIDA)
17367                     Index (TMPD, 0x0A) = (0x00010000 | DIDB)
17368                     Index (TMPD, 0x0B) = (0x00010000 | DIDC)
17369                     Index (TMPD, 0x0C) = (0x00010000 | DIDD)
17370                     Return (TMPD) /* \_SB_.PCI0.GFX0._DOD.TMPD */
17371                 }
17372 
17373                 If ((NDID == 0x0E))
17374                 {
17375                     Name (TMPE, Package (0x0E)
17376                     {
17377                         Ones, 
17378                         Ones, 
17379                         Ones, 
17380                         Ones, 
17381                         Ones, 
17382                         Ones, 
17383                         Ones, 
17384                         Ones, 
17385                         Ones, 
17386                         Ones, 
17387                         Ones, 
17388                         Ones, 
17389                         Ones, 
17390                         Ones
17391                     })
17392                     Index (TMPE, Zero) = (0x00010000 | DID1)
17393                     Index (TMPE, One) = (0x00010000 | DID2)
17394                     Index (TMPE, 0x02) = (0x00010000 | DID3)
17395                     Index (TMPE, 0x03) = (0x00010000 | DID4)
17396                     Index (TMPE, 0x04) = (0x00010000 | DID5)
17397                     Index (TMPE, 0x05) = (0x00010000 | DID6)
17398                     Index (TMPE, 0x06) = (0x00010000 | DID7)
17399                     Index (TMPE, 0x07) = (0x00010000 | DID8)
17400                     Index (TMPE, 0x08) = (0x00010000 | DID9)
17401                     Index (TMPE, 0x09) = (0x00010000 | DIDA)
17402                     Index (TMPE, 0x0A) = (0x00010000 | DIDB)
17403                     Index (TMPE, 0x0B) = (0x00010000 | DIDC)
17404                     Index (TMPE, 0x0C) = (0x00010000 | DIDD)
17405                     Index (TMPE, 0x0D) = (0x00010000 | DIDE)
17406                     Return (TMPE) /* \_SB_.PCI0.GFX0._DOD.TMPE */
17407                 }
17408 
17409                 If ((NDID == 0x0F))
17410                 {
17411                     Name (TMPF, Package (0x0F)
17412                     {
17413                         Ones, 
17414                         Ones, 
17415                         Ones, 
17416                         Ones, 
17417                         Ones, 
17418                         Ones, 
17419                         Ones, 
17420                         Ones, 
17421                         Ones, 
17422                         Ones, 
17423                         Ones, 
17424                         Ones, 
17425                         Ones, 
17426                         Ones, 
17427                         Ones
17428                     })
17429                     Index (TMPF, Zero) = (0x00010000 | DID1)
17430                     Index (TMPF, One) = (0x00010000 | DID2)
17431                     Index (TMPF, 0x02) = (0x00010000 | DID3)
17432                     Index (TMPF, 0x03) = (0x00010000 | DID4)
17433                     Index (TMPF, 0x04) = (0x00010000 | DID5)
17434                     Index (TMPF, 0x05) = (0x00010000 | DID6)
17435                     Index (TMPF, 0x06) = (0x00010000 | DID7)
17436                     Index (TMPF, 0x07) = (0x00010000 | DID8)
17437                     Index (TMPF, 0x08) = (0x00010000 | DID9)
17438                     Index (TMPF, 0x09) = (0x00010000 | DIDA)
17439                     Index (TMPF, 0x0A) = (0x00010000 | DIDB)
17440                     Index (TMPF, 0x0B) = (0x00010000 | DIDC)
17441                     Index (TMPF, 0x0C) = (0x00010000 | DIDD)
17442                     Index (TMPF, 0x0D) = (0x00010000 | DIDE)
17443                     Index (TMPF, 0x0E) = (0x00010000 | DIDF)
17444                     Return (TMPF) /* \_SB_.PCI0.GFX0._DOD.TMPF */
17445                 }
17446 
17447                 Return (Package (0x01)
17448                 {
17449                     0x0400
17450                 })
17451             }
17452 
17453             Device (DD01)
17454             {
17455                 Method (_ADR, 0, Serialized)  // _ADR: Address
17456                 {
17457                     If (((0x0F00 & DID1) == 0x0400))
17458                     {
17459                         EDPV = One
17460                         NXDX = NXD1 /* \NXD1 */
17461                         DIDX = DID1 /* \DID1 */
17462                         Return (One)
17463                     }
17464 
17465                     If ((DID1 == Zero))
17466                     {
17467                         Return (One)
17468                     }
17469                     Else
17470                     {
17471                         Return ((0xFFFF & DID1))
17472                     }
17473                 }
17474 
17475                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17476                 {
17477                     Return (CDDS (DID1))
17478                 }
17479 
17480                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17481                 {
17482                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17483                     {
17484                         Return (NXD1) /* \NXD1 */
17485                     }
17486 
17487                     Return (NDDS (DID1))
17488                 }
17489 
17490                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17491                 {
17492                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17493                     {
17494                         CSTE = NSTE /* \NSTE */
17495                     }
17496                 }
17497             }
17498 
17499             Device (DD02)
17500             {
17501                 Method (_ADR, 0, Serialized)  // _ADR: Address
17502                 {
17503                     If (((0x0F00 & DID2) == 0x0400))
17504                     {
17505                         EDPV = 0x02
17506                         NXDX = NXD2 /* \NXD2 */
17507                         DIDX = DID2 /* \DID2 */
17508                         Return (0x02)
17509                     }
17510 
17511                     If ((DID2 == Zero))
17512                     {
17513                         Return (0x02)
17514                     }
17515                     Else
17516                     {
17517                         Return ((0xFFFF & DID2))
17518                     }
17519                 }
17520 
17521                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17522                 {
17523                     If ((LIDS == Zero))
17524                     {
17525                         Return (Zero)
17526                     }
17527 
17528                     Return (CDDS (DID2))
17529                 }
17530 
17531                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17532                 {
17533                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17534                     {
17535                         Return (NXD2) /* \NXD2 */
17536                     }
17537 
17538                     Return (NDDS (DID2))
17539                 }
17540 
17541                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17542                 {
17543                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17544                     {
17545                         CSTE = NSTE /* \NSTE */
17546                     }
17547                 }
17548             }
17549 
17550             Device (DD03)
17551             {
17552                 Method (_ADR, 0, Serialized)  // _ADR: Address
17553                 {
17554                     If (((0x0F00 & DID3) == 0x0400))
17555                     {
17556                         EDPV = 0x03
17557                         NXDX = NXD3 /* \NXD3 */
17558                         DIDX = DID3 /* \DID3 */
17559                         Return (0x03)
17560                     }
17561 
17562                     If ((DID3 == Zero))
17563                     {
17564                         Return (0x03)
17565                     }
17566                     Else
17567                     {
17568                         Return ((0xFFFF & DID3))
17569                     }
17570                 }
17571 
17572                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17573                 {
17574                     If ((DID3 == Zero))
17575                     {
17576                         Return (0x0B)
17577                     }
17578                     Else
17579                     {
17580                         Return (CDDS (DID3))
17581                     }
17582                 }
17583 
17584                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17585                 {
17586                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17587                     {
17588                         Return (NXD3) /* \NXD3 */
17589                     }
17590 
17591                     Return (NDDS (DID3))
17592                 }
17593 
17594                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17595                 {
17596                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17597                     {
17598                         CSTE = NSTE /* \NSTE */
17599                     }
17600                 }
17601             }
17602 
17603             Device (DD04)
17604             {
17605                 Method (_ADR, 0, Serialized)  // _ADR: Address
17606                 {
17607                     If (((0x0F00 & DID4) == 0x0400))
17608                     {
17609                         EDPV = 0x04
17610                         NXDX = NXD4 /* \NXD4 */
17611                         DIDX = DID4 /* \DID4 */
17612                         Return (0x04)
17613                     }
17614 
17615                     If ((DID4 == Zero))
17616                     {
17617                         Return (0x04)
17618                     }
17619                     Else
17620                     {
17621                         Return ((0xFFFF & DID4))
17622                     }
17623                 }
17624 
17625                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17626                 {
17627                     If ((DID4 == Zero))
17628                     {
17629                         Return (0x0B)
17630                     }
17631                     Else
17632                     {
17633                         Return (CDDS (DID4))
17634                     }
17635                 }
17636 
17637                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17638                 {
17639                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17640                     {
17641                         Return (NXD4) /* \NXD4 */
17642                     }
17643 
17644                     Return (NDDS (DID4))
17645                 }
17646 
17647                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17648                 {
17649                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17650                     {
17651                         CSTE = NSTE /* \NSTE */
17652                     }
17653                 }
17654             }
17655 
17656             Device (DD05)
17657             {
17658                 Method (_ADR, 0, Serialized)  // _ADR: Address
17659                 {
17660                     If (((0x0F00 & DID5) == 0x0400))
17661                     {
17662                         EDPV = 0x05
17663                         NXDX = NXD5 /* \NXD5 */
17664                         DIDX = DID5 /* \DID5 */
17665                         Return (0x05)
17666                     }
17667 
17668                     If ((DID5 == Zero))
17669                     {
17670                         Return (0x05)
17671                     }
17672                     Else
17673                     {
17674                         Return ((0xFFFF & DID5))
17675                     }
17676                 }
17677 
17678                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17679                 {
17680                     If ((DID5 == Zero))
17681                     {
17682                         Return (0x0B)
17683                     }
17684                     Else
17685                     {
17686                         Return (CDDS (DID5))
17687                     }
17688                 }
17689 
17690                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17691                 {
17692                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17693                     {
17694                         Return (NXD5) /* \NXD5 */
17695                     }
17696 
17697                     Return (NDDS (DID5))
17698                 }
17699 
17700                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17701                 {
17702                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17703                     {
17704                         CSTE = NSTE /* \NSTE */
17705                     }
17706                 }
17707             }
17708 
17709             Device (DD06)
17710             {
17711                 Method (_ADR, 0, Serialized)  // _ADR: Address
17712                 {
17713                     If (((0x0F00 & DID6) == 0x0400))
17714                     {
17715                         EDPV = 0x06
17716                         NXDX = NXD6 /* \NXD6 */
17717                         DIDX = DID6 /* \DID6 */
17718                         Return (0x06)
17719                     }
17720 
17721                     If ((DID6 == Zero))
17722                     {
17723                         Return (0x06)
17724                     }
17725                     Else
17726                     {
17727                         Return ((0xFFFF & DID6))
17728                     }
17729                 }
17730 
17731                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17732                 {
17733                     If ((DID6 == Zero))
17734                     {
17735                         Return (0x0B)
17736                     }
17737                     Else
17738                     {
17739                         Return (CDDS (DID6))
17740                     }
17741                 }
17742 
17743                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17744                 {
17745                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17746                     {
17747                         Return (NXD6) /* \NXD6 */
17748                     }
17749 
17750                     Return (NDDS (DID6))
17751                 }
17752 
17753                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17754                 {
17755                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17756                     {
17757                         CSTE = NSTE /* \NSTE */
17758                     }
17759                 }
17760             }
17761 
17762             Device (DD07)
17763             {
17764                 Method (_ADR, 0, Serialized)  // _ADR: Address
17765                 {
17766                     If (((0x0F00 & DID7) == 0x0400))
17767                     {
17768                         EDPV = 0x07
17769                         NXDX = NXD7 /* \NXD7 */
17770                         DIDX = DID7 /* \DID7 */
17771                         Return (0x07)
17772                     }
17773 
17774                     If ((DID7 == Zero))
17775                     {
17776                         Return (0x07)
17777                     }
17778                     Else
17779                     {
17780                         Return ((0xFFFF & DID7))
17781                     }
17782                 }
17783 
17784                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17785                 {
17786                     If ((DID7 == Zero))
17787                     {
17788                         Return (0x0B)
17789                     }
17790                     Else
17791                     {
17792                         Return (CDDS (DID7))
17793                     }
17794                 }
17795 
17796                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17797                 {
17798                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17799                     {
17800                         Return (NXD7) /* \NXD7 */
17801                     }
17802 
17803                     Return (NDDS (DID7))
17804                 }
17805 
17806                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17807                 {
17808                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17809                     {
17810                         CSTE = NSTE /* \NSTE */
17811                     }
17812                 }
17813             }
17814 
17815             Device (DD08)
17816             {
17817                 Method (_ADR, 0, Serialized)  // _ADR: Address
17818                 {
17819                     If (((0x0F00 & DID8) == 0x0400))
17820                     {
17821                         EDPV = 0x08
17822                         NXDX = NXD8 /* \NXD8 */
17823                         DIDX = DID8 /* \DID8 */
17824                         Return (0x08)
17825                     }
17826 
17827                     If ((DID8 == Zero))
17828                     {
17829                         Return (0x08)
17830                     }
17831                     Else
17832                     {
17833                         Return ((0xFFFF & DID8))
17834                     }
17835                 }
17836 
17837                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17838                 {
17839                     If ((DID8 == Zero))
17840                     {
17841                         Return (0x0B)
17842                     }
17843                     Else
17844                     {
17845                         Return (CDDS (DID8))
17846                     }
17847                 }
17848 
17849                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17850                 {
17851                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17852                     {
17853                         Return (NXD8) /* \NXD8 */
17854                     }
17855 
17856                     Return (NDDS (DID8))
17857                 }
17858 
17859                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17860                 {
17861                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17862                     {
17863                         CSTE = NSTE /* \NSTE */
17864                     }
17865                 }
17866             }
17867 
17868             Device (DD09)
17869             {
17870                 Method (_ADR, 0, Serialized)  // _ADR: Address
17871                 {
17872                     If (((0x0F00 & DID9) == 0x0400))
17873                     {
17874                         EDPV = 0x09
17875                         NXDX = NXD8 /* \NXD8 */
17876                         DIDX = DID9 /* \DID9 */
17877                         Return (0x09)
17878                     }
17879 
17880                     If ((DID9 == Zero))
17881                     {
17882                         Return (0x09)
17883                     }
17884                     Else
17885                     {
17886                         Return ((0xFFFF & DID9))
17887                     }
17888                 }
17889 
17890                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17891                 {
17892                     If ((DID9 == Zero))
17893                     {
17894                         Return (0x0B)
17895                     }
17896                     Else
17897                     {
17898                         Return (CDDS (DID9))
17899                     }
17900                 }
17901 
17902                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17903                 {
17904                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17905                     {
17906                         Return (NXD8) /* \NXD8 */
17907                     }
17908 
17909                     Return (NDDS (DID9))
17910                 }
17911 
17912                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17913                 {
17914                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17915                     {
17916                         CSTE = NSTE /* \NSTE */
17917                     }
17918                 }
17919             }
17920 
17921             Device (DD0A)
17922             {
17923                 Method (_ADR, 0, Serialized)  // _ADR: Address
17924                 {
17925                     If (((0x0F00 & DIDA) == 0x0400))
17926                     {
17927                         EDPV = 0x0A
17928                         NXDX = NXD8 /* \NXD8 */
17929                         DIDX = DIDA /* \DIDA */
17930                         Return (0x0A)
17931                     }
17932 
17933                     If ((DIDA == Zero))
17934                     {
17935                         Return (0x0A)
17936                     }
17937                     Else
17938                     {
17939                         Return ((0xFFFF & DIDA))
17940                     }
17941                 }
17942 
17943                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17944                 {
17945                     If ((DIDA == Zero))
17946                     {
17947                         Return (0x0B)
17948                     }
17949                     Else
17950                     {
17951                         Return (CDDS (DIDA))
17952                     }
17953                 }
17954 
17955                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
17956                 {
17957                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
17958                     {
17959                         Return (NXD8) /* \NXD8 */
17960                     }
17961 
17962                     Return (NDDS (DIDA))
17963                 }
17964 
17965                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
17966                 {
17967                     If (((Arg0 & 0xC0000000) == 0xC0000000))
17968                     {
17969                         CSTE = NSTE /* \NSTE */
17970                     }
17971                 }
17972             }
17973 
17974             Device (DD0B)
17975             {
17976                 Method (_ADR, 0, Serialized)  // _ADR: Address
17977                 {
17978                     If (((0x0F00 & DIDB) == 0x0400))
17979                     {
17980                         EDPV = 0x0B
17981                         NXDX = NXD8 /* \NXD8 */
17982                         DIDX = DIDB /* \DIDB */
17983                         Return (0x0B)
17984                     }
17985 
17986                     If ((DIDB == Zero))
17987                     {
17988                         Return (0x0B)
17989                     }
17990                     Else
17991                     {
17992                         Return ((0xFFFF & DIDB))
17993                     }
17994                 }
17995 
17996                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
17997                 {
17998                     If ((DIDB == Zero))
17999                     {
18000                         Return (0x0B)
18001                     }
18002                     Else
18003                     {
18004                         Return (CDDS (DIDB))
18005                     }
18006                 }
18007 
18008                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18009                 {
18010                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18011                     {
18012                         Return (NXD8) /* \NXD8 */
18013                     }
18014 
18015                     Return (NDDS (DIDB))
18016                 }
18017 
18018                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18019                 {
18020                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18021                     {
18022                         CSTE = NSTE /* \NSTE */
18023                     }
18024                 }
18025             }
18026 
18027             Device (DD0C)
18028             {
18029                 Method (_ADR, 0, Serialized)  // _ADR: Address
18030                 {
18031                     If (((0x0F00 & DIDC) == 0x0400))
18032                     {
18033                         EDPV = 0x0C
18034                         NXDX = NXD8 /* \NXD8 */
18035                         DIDX = DIDC /* \DIDC */
18036                         Return (0x0C)
18037                     }
18038 
18039                     If ((DIDC == Zero))
18040                     {
18041                         Return (0x0C)
18042                     }
18043                     Else
18044                     {
18045                         Return ((0xFFFF & DIDC))
18046                     }
18047                 }
18048 
18049                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
18050                 {
18051                     If ((DIDC == Zero))
18052                     {
18053                         Return (0x0C)
18054                     }
18055                     Else
18056                     {
18057                         Return (CDDS (DIDC))
18058                     }
18059                 }
18060 
18061                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18062                 {
18063                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18064                     {
18065                         Return (NXD8) /* \NXD8 */
18066                     }
18067 
18068                     Return (NDDS (DIDC))
18069                 }
18070 
18071                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18072                 {
18073                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18074                     {
18075                         CSTE = NSTE /* \NSTE */
18076                     }
18077                 }
18078             }
18079 
18080             Device (DD0D)
18081             {
18082                 Method (_ADR, 0, Serialized)  // _ADR: Address
18083                 {
18084                     If (((0x0F00 & DIDD) == 0x0400))
18085                     {
18086                         EDPV = 0x0D
18087                         NXDX = NXD8 /* \NXD8 */
18088                         DIDX = DIDD /* \DIDD */
18089                         Return (0x0D)
18090                     }
18091 
18092                     If ((DIDD == Zero))
18093                     {
18094                         Return (0x0D)
18095                     }
18096                     Else
18097                     {
18098                         Return ((0xFFFF & DIDD))
18099                     }
18100                 }
18101 
18102                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
18103                 {
18104                     If ((DIDD == Zero))
18105                     {
18106                         Return (0x0D)
18107                     }
18108                     Else
18109                     {
18110                         Return (CDDS (DIDD))
18111                     }
18112                 }
18113 
18114                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18115                 {
18116                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18117                     {
18118                         Return (NXD8) /* \NXD8 */
18119                     }
18120 
18121                     Return (NDDS (DIDD))
18122                 }
18123 
18124                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18125                 {
18126                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18127                     {
18128                         CSTE = NSTE /* \NSTE */
18129                     }
18130                 }
18131             }
18132 
18133             Device (DD0E)
18134             {
18135                 Method (_ADR, 0, Serialized)  // _ADR: Address
18136                 {
18137                     If (((0x0F00 & DIDE) == 0x0400))
18138                     {
18139                         EDPV = 0x0E
18140                         NXDX = NXD8 /* \NXD8 */
18141                         DIDX = DIDE /* \DIDE */
18142                         Return (0x0E)
18143                     }
18144 
18145                     If ((DIDE == Zero))
18146                     {
18147                         Return (0x0E)
18148                     }
18149                     Else
18150                     {
18151                         Return ((0xFFFF & DIDE))
18152                     }
18153                 }
18154 
18155                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
18156                 {
18157                     If ((DIDE == Zero))
18158                     {
18159                         Return (0x0E)
18160                     }
18161                     Else
18162                     {
18163                         Return (CDDS (DIDE))
18164                     }
18165                 }
18166 
18167                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18168                 {
18169                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18170                     {
18171                         Return (NXD8) /* \NXD8 */
18172                     }
18173 
18174                     Return (NDDS (DIDE))
18175                 }
18176 
18177                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18178                 {
18179                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18180                     {
18181                         CSTE = NSTE /* \NSTE */
18182                     }
18183                 }
18184             }
18185 
18186             Device (DD0F)
18187             {
18188                 Method (_ADR, 0, Serialized)  // _ADR: Address
18189                 {
18190                     If (((0x0F00 & DIDF) == 0x0400))
18191                     {
18192                         EDPV = 0x0F
18193                         NXDX = NXD8 /* \NXD8 */
18194                         DIDX = DIDF /* \DIDF */
18195                         Return (0x0F)
18196                     }
18197 
18198                     If ((DIDF == Zero))
18199                     {
18200                         Return (0x0F)
18201                     }
18202                     Else
18203                     {
18204                         Return ((0xFFFF & DIDF))
18205                     }
18206                 }
18207 
18208                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
18209                 {
18210                     If ((DIDC == Zero))
18211                     {
18212                         Return (0x0F)
18213                     }
18214                     Else
18215                     {
18216                         Return (CDDS (DIDF))
18217                     }
18218                 }
18219 
18220                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18221                 {
18222                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18223                     {
18224                         Return (NXD8) /* \NXD8 */
18225                     }
18226 
18227                     Return (NDDS (DIDF))
18228                 }
18229 
18230                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18231                 {
18232                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18233                     {
18234                         CSTE = NSTE /* \NSTE */
18235                     }
18236                 }
18237             }
18238 
18239             Device (DD1F)
18240             {
18241                 Method (_ADR, 0, Serialized)  // _ADR: Address
18242                 {
18243                     If ((EDPV == Zero))
18244                     {
18245                         Return (0x1F)
18246                     }
18247                     Else
18248                     {
18249                         Return ((0xFFFF & DIDX))
18250                     }
18251                 }
18252 
18253                 Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
18254                 {
18255                     If ((EDPV == Zero))
18256                     {
18257                         Return (Zero)
18258                     }
18259                     Else
18260                     {
18261                         Return (CDDS (DIDX))
18262                     }
18263                 }
18264 
18265                 Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
18266                 {
18267                     If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD)))
18268                     {
18269                         Return (NXDX) /* \NXDX */
18270                     }
18271 
18272                     Return (NDDS (DIDX))
18273                 }
18274 
18275                 Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
18276                 {
18277                     If (((Arg0 & 0xC0000000) == 0xC0000000))
18278                     {
18279                         CSTE = NSTE /* \NSTE */
18280                     }
18281                 }
18282 
18283                 Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
18284                 {
18285                     If ((OSYS >= 0x07D6))
18286                     {
18287                         \NBCF = One
18288                     }
18289 
18290                     If ((OSYS >= 0x07DC))
18291                     {
18292                         Return (Package (0x67)
18293                         {
18294                             0x50, 
18295                             0x32, 
18296                             Zero, 
18297                             One, 
18298                             0x02, 
18299                             0x03, 
18300                             0x04, 
18301                             0x05, 
18302                             0x06, 
18303                             0x07, 
18304                             0x08, 
18305                             0x09, 
18306                             0x0A, 
18307                             0x0B, 
18308                             0x0C, 
18309                             0x0D, 
18310                             0x0E, 
18311                             0x0F, 
18312                             0x10, 
18313                             0x11, 
18314                             0x12, 
18315                             0x13, 
18316                             0x14, 
18317                             0x15, 
18318                             0x16, 
18319                             0x17, 
18320                             0x18, 
18321                             0x19, 
18322                             0x1A, 
18323                             0x1B, 
18324                             0x1C, 
18325                             0x1D, 
18326                             0x1E, 
18327                             0x1F, 
18328                             0x20, 
18329                             0x21, 
18330                             0x22, 
18331                             0x23, 
18332                             0x24, 
18333                             0x25, 
18334                             0x26, 
18335                             0x27, 
18336                             0x28, 
18337                             0x29, 
18338                             0x2A, 
18339                             0x2B, 
18340                             0x2C, 
18341                             0x2D, 
18342                             0x2E, 
18343                             0x2F, 
18344                             0x30, 
18345                             0x31, 
18346                             0x32, 
18347                             0x33, 
18348                             0x34, 
18349                             0x35, 
18350                             0x36, 
18351                             0x37, 
18352                             0x38, 
18353                             0x39, 
18354                             0x3A, 
18355                             0x3B, 
18356                             0x3C, 
18357                             0x3D, 
18358                             0x3E, 
18359                             0x3F, 
18360                             0x40, 
18361                             0x41, 
18362                             0x42, 
18363                             0x43, 
18364                             0x44, 
18365                             0x45, 
18366                             0x46, 
18367                             0x47, 
18368                             0x48, 
18369                             0x49, 
18370                             0x4A, 
18371                             0x4B, 
18372                             0x4C, 
18373                             0x4D, 
18374                             0x4E, 
18375                             0x4F, 
18376                             0x50, 
18377                             0x51, 
18378                             0x52, 
18379                             0x53, 
18380                             0x54, 
18381                             0x55, 
18382                             0x56, 
18383                             0x57, 
18384                             0x58, 
18385                             0x59, 
18386                             0x5A, 
18387                             0x5B, 
18388                             0x5C, 
18389                             0x5D, 
18390                             0x5E, 
18391                             0x5F, 
18392                             0x60, 
18393                             0x61, 
18394                             0x62, 
18395                             0x63, 
18396                             0x64
18397                         })
18398                     }
18399 
18400                     Return (\_SB.PCI0.LPCB.EC0.BRTW)
18401                 }
18402 
18403                 Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
18404                 {
18405                     Local0 = Match (\_SB.PCI0.LPCB.EC0.BRTW, MEQ, Arg0, MTR, Zero, 0x02)
18406                     If ((Local0 != Ones))
18407                     {
18408                         Local1 = (Local0 - 0x02)
18409                         \BRLV = Local1
18410                         \_SB.PCI0.LPCB.EC0.BRNS ()
18411                         \UCMS (0x16)
18412                     }
18413                 }
18414 
18415                 Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
18416                 {
18417                     Local0 = \BRLV
18418                     Local1 = (Local0 + 0x02)
18419                     If ((Local1 <= 0x11))
18420                     {
18421                         Return (DerefOf (Index (\_SB.PCI0.LPCB.EC0.BRTW, Local1)))
18422                     }
18423                     Else
18424                     {
18425                         Return (Zero)
18426                     }
18427                 }
18428             }
18429 
18430             Method (SDDL, 1, NotSerialized)
18431             {
18432                 NDID++
18433                 Local0 = (Arg0 & 0x0F0F)
18434                 Local1 = (0x80000000 | Local0)
18435                 If ((DIDL == Local0))
18436                 {
18437                     Return (Local1)
18438                 }
18439 
18440                 If ((DDL2 == Local0))
18441                 {
18442                     Return (Local1)
18443                 }
18444 
18445                 If ((DDL3 == Local0))
18446                 {
18447                     Return (Local1)
18448                 }
18449 
18450                 If ((DDL4 == Local0))
18451                 {
18452                     Return (Local1)
18453                 }
18454 
18455                 If ((DDL5 == Local0))
18456                 {
18457                     Return (Local1)
18458                 }
18459 
18460                 If ((DDL6 == Local0))
18461                 {
18462                     Return (Local1)
18463                 }
18464 
18465                 If ((DDL7 == Local0))
18466                 {
18467                     Return (Local1)
18468                 }
18469 
18470                 If ((DDL8 == Local0))
18471                 {
18472                     Return (Local1)
18473                 }
18474 
18475                 If ((DDL9 == Local0))
18476                 {
18477                     Return (Local1)
18478                 }
18479 
18480                 If ((DD10 == Local0))
18481                 {
18482                     Return (Local1)
18483                 }
18484 
18485                 If ((DD11 == Local0))
18486                 {
18487                     Return (Local1)
18488                 }
18489 
18490                 If ((DD12 == Local0))
18491                 {
18492                     Return (Local1)
18493                 }
18494 
18495                 If ((DD13 == Local0))
18496                 {
18497                     Return (Local1)
18498                 }
18499 
18500                 If ((DD14 == Local0))
18501                 {
18502                     Return (Local1)
18503                 }
18504 
18505                 If ((DD15 == Local0))
18506                 {
18507                     Return (Local1)
18508                 }
18509 
18510                 Return (Zero)
18511             }
18512 
18513             Method (CDDS, 1, NotSerialized)
18514             {
18515                 Local0 = (Arg0 & 0x0F0F)
18516                 If ((Zero == Local0))
18517                 {
18518                     Return (0x1D)
18519                 }
18520 
18521                 If ((CADL == Local0))
18522                 {
18523                     Return (0x1F)
18524                 }
18525 
18526                 If ((CAL2 == Local0))
18527                 {
18528                     Return (0x1F)
18529                 }
18530 
18531                 If ((CAL3 == Local0))
18532                 {
18533                     Return (0x1F)
18534                 }
18535 
18536                 If ((CAL4 == Local0))
18537                 {
18538                     Return (0x1F)
18539                 }
18540 
18541                 If ((CAL5 == Local0))
18542                 {
18543                     Return (0x1F)
18544                 }
18545 
18546                 If ((CAL6 == Local0))
18547                 {
18548                     Return (0x1F)
18549                 }
18550 
18551                 If ((CAL7 == Local0))
18552                 {
18553                     Return (0x1F)
18554                 }
18555 
18556                 If ((CAL8 == Local0))
18557                 {
18558                     Return (0x1F)
18559                 }
18560 
18561                 Return (0x1D)
18562             }
18563 
18564             Method (NDDS, 1, NotSerialized)
18565             {
18566                 Local0 = (Arg0 & 0x0F0F)
18567                 If ((Zero == Local0))
18568                 {
18569                     Return (Zero)
18570                 }
18571 
18572                 If ((NADL == Local0))
18573                 {
18574                     Return (One)
18575                 }
18576 
18577                 If ((NDL2 == Local0))
18578                 {
18579                     Return (One)
18580                 }
18581 
18582                 If ((NDL3 == Local0))
18583                 {
18584                     Return (One)
18585                 }
18586 
18587                 If ((NDL4 == Local0))
18588                 {
18589                     Return (One)
18590                 }
18591 
18592                 If ((NDL5 == Local0))
18593                 {
18594                     Return (One)
18595                 }
18596 
18597                 If ((NDL6 == Local0))
18598                 {
18599                     Return (One)
18600                 }
18601 
18602                 If ((NDL7 == Local0))
18603                 {
18604                     Return (One)
18605                 }
18606 
18607                 If ((NDL8 == Local0))
18608                 {
18609                     Return (One)
18610                 }
18611 
18612                 Return (Zero)
18613             }
18614 
18615             Scope (\_SB.PCI0)
18616             {
18617                 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
18618                 Field (MCHP, AnyAcc, NoLock, Preserve)
18619                 {
18620                     Offset (0x14), 
18621                     AUDE,   8, 
18622                     Offset (0x60), 
18623                     TASM,   10, 
18624                     Offset (0x62)
18625                 }
18626             }
18627 
18628             OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
18629             Field (IGDP, AnyAcc, NoLock, Preserve)
18630             {
18631                 Offset (0x12), 
18632                     ,   1, 
18633                 GIVD,   1, 
18634                     ,   2, 
18635                 GUMA,   3, 
18636                 Offset (0x14), 
18637                     ,   4, 
18638                 GMFN,   1, 
18639                 Offset (0x18), 
18640                 Offset (0xA4), 
18641                 ASLE,   8, 
18642                 Offset (0xA8), 
18643                 GSSE,   1, 
18644                 GSSB,   14, 
18645                 GSES,   1, 
18646                 Offset (0xB0), 
18647                     ,   12, 
18648                 CDVL,   1, 
18649                 Offset (0xB2), 
18650                 Offset (0xB5), 
18651                 LBPC,   8, 
18652                 Offset (0xBC), 
18653                 ASLS,   32
18654             }
18655 
18656             OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
18657             Field (IGDM, AnyAcc, NoLock, Preserve)
18658             {
18659                 SIGN,   128, 
18660                 SIZE,   32, 
18661                 OVER,   32, 
18662                 SVER,   256, 
18663                 VVER,   128, 
18664                 GVER,   128, 
18665                 MBOX,   32, 
18666                 DMOD,   32, 
18667                 PCON,   32, 
18668                 DVER,   64, 
18669                 Offset (0x100), 
18670                 DRDY,   32, 
18671                 CSTS,   32, 
18672                 CEVT,   32, 
18673                 Offset (0x120), 
18674                 DIDL,   32, 
18675                 DDL2,   32, 
18676                 DDL3,   32, 
18677                 DDL4,   32, 
18678                 DDL5,   32, 
18679                 DDL6,   32, 
18680                 DDL7,   32, 
18681                 DDL8,   32, 
18682                 CPDL,   32, 
18683                 CPL2,   32, 
18684                 CPL3,   32, 
18685                 CPL4,   32, 
18686                 CPL5,   32, 
18687                 CPL6,   32, 
18688                 CPL7,   32, 
18689                 CPL8,   32, 
18690                 CADL,   32, 
18691                 CAL2,   32, 
18692                 CAL3,   32, 
18693                 CAL4,   32, 
18694                 CAL5,   32, 
18695                 CAL6,   32, 
18696                 CAL7,   32, 
18697                 CAL8,   32, 
18698                 NADL,   32, 
18699                 NDL2,   32, 
18700                 NDL3,   32, 
18701                 NDL4,   32, 
18702                 NDL5,   32, 
18703                 NDL6,   32, 
18704                 NDL7,   32, 
18705                 NDL8,   32, 
18706                 ASLP,   32, 
18707                 TIDX,   32, 
18708                 CHPD,   32, 
18709                 CLID,   32, 
18710                 CDCK,   32, 
18711                 SXSW,   32, 
18712                 EVTS,   32, 
18713                 CNOT,   32, 
18714                 NRDY,   32, 
18715                 DDL9,   32, 
18716                 DD10,   32, 
18717                 DD11,   32, 
18718                 DD12,   32, 
18719                 DD13,   32, 
18720                 DD14,   32, 
18721                 DD15,   32, 
18722                 CPL9,   32, 
18723                 CP10,   32, 
18724                 CP11,   32, 
18725                 CP12,   32, 
18726                 CP13,   32, 
18727                 CP14,   32, 
18728                 CP15,   32, 
18729                 Offset (0x200), 
18730                 SCIE,   1, 
18731                 GEFC,   4, 
18732                 GXFC,   3, 
18733                 GESF,   8, 
18734                 Offset (0x204), 
18735                 PARM,   32, 
18736                 DSLP,   32, 
18737                 Offset (0x300), 
18738                 ARDY,   32, 
18739                 ASLC,   32, 
18740                 TCHE,   32, 
18741                 ALSI,   32, 
18742                 BCLP,   32, 
18743                 PFIT,   32, 
18744                 CBLV,   32, 
18745                 BCLM,   320, 
18746                 CPFM,   32, 
18747                 EPFM,   32, 
18748                 PLUT,   592, 
18749                 PFMB,   32, 
18750                 CCDV,   32, 
18751                 PCFT,   32, 
18752                 SROT,   32, 
18753                 IUER,   32, 
18754                 FDSP,   64, 
18755                 FDSS,   32, 
18756                 STAT,   32, 
18757                 Offset (0x400), 
18758                 GVD1,   49152, 
18759                 PHED,   32, 
18760                 BDDC,   2048
18761             }
18762 
18763             Name (DBTB, Package (0x15)
18764             {
18765                 Zero, 
18766                 0x07, 
18767                 0x38, 
18768                 0x01C0, 
18769                 0x0E00, 
18770                 0x3F, 
18771                 0x01C7, 
18772                 0x0E07, 
18773                 0x01F8, 
18774                 0x0E38, 
18775                 0x0FC0, 
18776                 Zero, 
18777                 Zero, 
18778                 Zero, 
18779                 Zero, 
18780                 Zero, 
18781                 0x7000, 
18782                 0x7007, 
18783                 0x7038, 
18784                 0x71C0, 
18785                 0x7E00
18786             })
18787             Name (CDCT, Package (0x05)
18788             {
18789                 Package (0x02)
18790                 {
18791                     0xE4, 
18792                     0x0140
18793                 }, 
18794 
18795                 Package (0x02)
18796                 {
18797                     0xDE, 
18798                     0x014D
18799                 }, 
18800 
18801                 Package (0x02)
18802                 {
18803                     0xDE, 
18804                     0x014D
18805                 }, 
18806 
18807                 Package (0x02)
18808                 {
18809                     Zero, 
18810                     Zero
18811                 }, 
18812 
18813                 Package (0x02)
18814                 {
18815                     0xDE, 
18816                     0x014D
18817                 }
18818             })
18819             Name (SUCC, One)
18820             Name (NVLD, 0x02)
18821             Name (CRIT, 0x04)
18822             Name (NCRT, 0x06)
18823             Method (GSCI, 0, Serialized)
18824             {
18825                 Method (GBDA, 0, Serialized)
18826                 {
18827                     If ((GESF == Zero))
18828                     {
18829                         PARM = 0x0241
18830                         GESF = Zero
18831                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18832                     }
18833 
18834                     If ((GESF == One))
18835                     {
18836                         PARM = 0x00200382
18837                         GESF = Zero
18838                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18839                     }
18840 
18841                     If ((GESF == 0x04))
18842                     {
18843                         PARM &= 0xEFFF0000
18844                         PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
18845                         PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
18846                         GESF = Zero
18847                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18848                     }
18849 
18850                     If ((GESF == 0x05))
18851                     {
18852                         PARM = IPSC /* \IPSC */
18853                         PARM |= (IPAT << 0x08)
18854                         PARM += 0x0100
18855                         PARM |= (LIDS << 0x10)
18856                         PARM += 0x00010000
18857                         GESF = Zero
18858                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18859                     }
18860 
18861                     If ((GESF == 0x07))
18862                     {
18863                         PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
18864                         PARM ^= One
18865                         PARM |= (GMFN << One)
18866                         PARM |= 0x1800
18867                         PARM |= (IDMS << 0x11)
18868                         PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 
18869                             0x15) /* \_SB_.PCI0.GFX0.PARM */
18870                         GESF = One
18871                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18872                     }
18873 
18874                     If ((GESF == 0x0A))
18875                     {
18876                         PARM = Zero
18877                         If (ISSC)
18878                         {
18879                             PARM |= 0x03
18880                         }
18881 
18882                         GESF = Zero
18883                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18884                     }
18885 
18886                     If ((GESF == 0x0B))
18887                     {
18888                         PARM = KSV0 /* \KSV0 */
18889                         GESF = KSV1 /* \KSV1 */
18890                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18891                     }
18892 
18893                     GESF = Zero
18894                     Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
18895                 }
18896 
18897                 Method (SBCB, 0, Serialized)
18898                 {
18899                     If ((GESF == Zero))
18900                     {
18901                         PARM = 0x00220382
18902                         GESF = Zero
18903                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18904                     }
18905 
18906                     If ((GESF == One))
18907                     {
18908                         GESF = Zero
18909                         PARM = Zero
18910                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18911                     }
18912 
18913                     If ((GESF == 0x03))
18914                     {
18915                         GESF = Zero
18916                         PARM = Zero
18917                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18918                     }
18919 
18920                     If ((GESF == 0x04))
18921                     {
18922                         GESF = Zero
18923                         PARM = Zero
18924                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18925                     }
18926 
18927                     If ((GESF == 0x05))
18928                     {
18929                         GESF = Zero
18930                         PARM = Zero
18931                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18932                     }
18933 
18934                     If ((GESF == 0x07))
18935                     {
18936                         If ((S0ID == One))
18937                         {
18938                             If (((PARM & 0xFF) == One))
18939                             {
18940                                 \GUAM (One)
18941                             }
18942                         }
18943 
18944                         If ((PARM == Zero))
18945                         {
18946                             Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
18947                             If ((0x80000000 & Local0))
18948                             {
18949                                 CLID &= 0x0F
18950                                 GLID (CLID)
18951                             }
18952                         }
18953 
18954                         GESF = Zero
18955                         PARM = Zero
18956                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18957                     }
18958 
18959                     If ((GESF == 0x08))
18960                     {
18961                         If ((S0ID == One))
18962                         {
18963                             Local0 = ((PARM >> 0x08) & 0xFF)
18964                             If ((Local0 == Zero))
18965                             {
18966                                 \GUAM (Zero)
18967                             }
18968                         }
18969 
18970                         GESF = Zero
18971                         PARM = Zero
18972                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18973                     }
18974 
18975                     If ((GESF == 0x09))
18976                     {
18977                         IBTT = (PARM & 0xFF)
18978                         GESF = Zero
18979                         PARM = Zero
18980                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18981                     }
18982 
18983                     If ((GESF == 0x0A))
18984                     {
18985                         IPSC = (PARM & 0xFF)
18986                         If (((PARM >> 0x08) & 0xFF))
18987                         {
18988                             IPAT = ((PARM >> 0x08) & 0xFF)
18989                             IPAT--
18990                         }
18991 
18992                         IBIA = ((PARM >> 0x14) & 0x07)
18993                         GESF = Zero
18994                         PARM = Zero
18995                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
18996                     }
18997 
18998                     If ((GESF == 0x0B))
18999                     {
19000                         IF1E = ((PARM >> One) & One)
19001                         If ((PARM & 0x0001E000))
19002                         {
19003                             IDMS = ((PARM >> 0x0D) & 0x0F)
19004                         }
19005                         Else
19006                         {
19007                             IDMS = ((PARM >> 0x11) & 0x0F)
19008                         }
19009 
19010                         GESF = Zero
19011                         PARM = Zero
19012                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19013                     }
19014 
19015                     If ((GESF == 0x10))
19016                     {
19017                         GESF = Zero
19018                         PARM = Zero
19019                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19020                     }
19021 
19022                     If ((GESF == 0x11))
19023                     {
19024                         PARM = (LIDS << 0x08)
19025                         PARM += 0x0100
19026                         GESF = Zero
19027                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19028                     }
19029 
19030                     If ((GESF == 0x12))
19031                     {
19032                         If ((PARM & One))
19033                         {
19034                             If (((PARM >> One) == One))
19035                             {
19036                                 ISSC = One
19037                             }
19038                             Else
19039                             {
19040                                 GESF = Zero
19041                                 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
19042                             }
19043                         }
19044                         Else
19045                         {
19046                             ISSC = Zero
19047                         }
19048 
19049                         GESF = Zero
19050                         PARM = Zero
19051                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19052                     }
19053 
19054                     If ((GESF == 0x13))
19055                     {
19056                         GESF = Zero
19057                         PARM = Zero
19058                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19059                     }
19060 
19061                     If ((GESF == 0x14))
19062                     {
19063                         PAVP = (PARM & 0x0F)
19064                         GESF = Zero
19065                         PARM = Zero
19066                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19067                     }
19068 
19069                     If ((GESF == 0x15))
19070                     {
19071                         If ((PARM == One))
19072                         {
19073                             \_SB.PCI0.AUDE |= 0x20
19074                             \_SB.PCI0.B0D3.ARST ()
19075                             If ((\_SB.PCI0.B0D3.AUVD != 0xFFFF))
19076                             {
19077                                 BBAR = (\_SB.PCI0.B0D3.ABAR & 0xFFFFFFF0)
19078                                 \_SB.PCI0.B0D3.ABWA (One)
19079                                 \_SB.PCI0.B0D3.ASTR ()
19080                                 \_SB.PCI0.B0D3.AINI ()
19081                                 \_SB.PCI0.B0D3.CXDC ()
19082                                 \_SB.PCI0.B0D3.ABWA (Zero)
19083                             }
19084 
19085                             Notify (\_SB.PCI0, Zero) // Bus Check
19086                         }
19087 
19088                         If ((PARM == Zero))
19089                         {
19090                             \_SB.PCI0.AUDE &= 0xDF
19091                             Notify (\_SB.PCI0, Zero) // Bus Check
19092                         }
19093 
19094                         GESF = Zero
19095                         PARM = Zero
19096                         Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19097                     }
19098 
19099                     GESF = Zero
19100                     Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
19101                 }
19102 
19103                 If ((GEFC == 0x04))
19104                 {
19105                     GXFC = GBDA ()
19106                 }
19107 
19108                 If ((GEFC == 0x06))
19109                 {
19110                     GXFC = SBCB ()
19111                 }
19112 
19113                 GEFC = Zero
19114                 SCIS = One
19115                 GSSE = Zero
19116                 SCIE = Zero
19117                 Return (Zero)
19118             }
19119 
19120             Method (PDRD, 0, NotSerialized)
19121             {
19122                 Return (!DRDY)
19123             }
19124 
19125             Method (PSTS, 0, NotSerialized)
19126             {
19127                 If ((CSTS > 0x02))
19128                 {
19129                     Sleep (ASLP)
19130                 }
19131 
19132                 Return ((CSTS == 0x03))
19133             }
19134 
19135             Method (GNOT, 2, NotSerialized)
19136             {
19137                 If (PDRD ())
19138                 {
19139                     Return (One)
19140                 }
19141 
19142                 CEVT = Arg0
19143                 CSTS = 0x03
19144                 If (((CHPD == Zero) && (Arg1 == Zero)))
19145                 {
19146                     If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
19147                     {
19148                         Notify (\_SB.PCI0, Arg1)
19149                     }
19150                     Else
19151                     {
19152                         Notify (\_SB.PCI0.GFX0, Arg1)
19153                     }
19154                 }
19155 
19156                 If (CondRefOf (HNOT))
19157                 {
19158                     HNOT (Arg0)
19159                 }
19160                 Else
19161                 {
19162                     Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
19163                 }
19164 
19165                 Return (Zero)
19166             }
19167 
19168             Method (GHDS, 1, NotSerialized)
19169             {
19170                 TIDX = Arg0
19171                 Return (GNOT (One, Zero))
19172             }
19173 
19174             Method (GLID, 1, NotSerialized)
19175             {
19176                 If ((Arg0 == One))
19177                 {
19178                     CLID = 0x03
19179                 }
19180                 Else
19181                 {
19182                     CLID = Arg0
19183                 }
19184 
19185                 If (GNOT (0x02, Zero))
19186                 {
19187                     CLID |= 0x80000000
19188                     Return (One)
19189                 }
19190 
19191                 Return (Zero)
19192             }
19193 
19194             Method (GDCK, 1, NotSerialized)
19195             {
19196                 CDCK = Arg0
19197                 Return (GNOT (0x04, Zero))
19198             }
19199 
19200             Method (PARD, 0, NotSerialized)
19201             {
19202                 If (!ARDY)
19203                 {
19204                     Sleep (ASLP)
19205                 }
19206 
19207                 Return (!ARDY)
19208             }
19209 
19210             Method (IUEH, 1, Serialized)
19211             {
19212                 IUER &= 0xC0
19213                 IUER ^= (One << Arg0)
19214                 If ((Arg0 <= 0x04))
19215                 {
19216                     Return (AINT (0x05, Zero))
19217                 }
19218                 Else
19219                 {
19220                     Return (AINT (Arg0, Zero))
19221                 }
19222             }
19223 
19224             Method (AINT, 2, NotSerialized)
19225             {
19226                 If (!(TCHE & (One << Arg0)))
19227                 {
19228                     Return (One)
19229                 }
19230 
19231                 If (PARD ())
19232                 {
19233                     Return (One)
19234                 }
19235 
19236                 If (((Arg0 >= 0x05) && (Arg0 <= 0x07)))
19237                 {
19238                     ASLC = (One << Arg0)
19239                     ASLE = One
19240                     Local2 = Zero
19241                     While (((Local2 < 0xFA) && (ASLC != Zero)))
19242                     {
19243                         Sleep (0x04)
19244                         Local2++
19245                     }
19246 
19247                     Return (Zero)
19248                 }
19249 
19250                 If ((Arg0 == 0x02))
19251                 {
19252                     If (CPFM)
19253                     {
19254                         Local0 = (CPFM & 0x0F)
19255                         Local1 = (EPFM & 0x0F)
19256                         If ((Local0 == One))
19257                         {
19258                             If ((Local1 & 0x06))
19259                             {
19260                                 PFIT = 0x06
19261                             }
19262                             Else
19263                             {
19264                                 If ((Local1 & 0x08))
19265                                 {
19266                                     PFIT = 0x08
19267                                 }
19268                                 Else
19269                                 {
19270                                     PFIT = One
19271                                 }
19272                             }
19273                         }
19274 
19275                         If ((Local0 == 0x06))
19276                         {
19277                             If ((Local1 & 0x08))
19278                             {
19279                                 PFIT = 0x08
19280                             }
19281                             Else
19282                             {
19283                                 If ((Local1 & One))
19284                                 {
19285                                     PFIT = One
19286                                 }
19287                                 Else
19288                                 {
19289                                     PFIT = 0x06
19290                                 }
19291                             }
19292                         }
19293 
19294                         If ((Local0 == 0x08))
19295                         {
19296                             If ((Local1 & One))
19297                             {
19298                                 PFIT = One
19299                             }
19300                             Else
19301                             {
19302                                 If ((Local1 & 0x06))
19303                                 {
19304                                     PFIT = 0x06
19305                                 }
19306                                 Else
19307                                 {
19308                                     PFIT = 0x08
19309                                 }
19310                             }
19311                         }
19312                     }
19313                     Else
19314                     {
19315                         PFIT ^= 0x07
19316                     }
19317 
19318                     PFIT |= 0x80000000
19319                     ASLC = 0x04
19320                 }
19321                 Else
19322                 {
19323                     If ((Arg0 == One))
19324                     {
19325                         BCLP = Arg1
19326                         BCLP |= 0x80000000
19327                         ASLC = 0x0A
19328                     }
19329                     Else
19330                     {
19331                         If ((Arg0 == Zero))
19332                         {
19333                             ALSI = Arg1
19334                             ASLC = One
19335                         }
19336                         Else
19337                         {
19338                             Return (One)
19339                         }
19340                     }
19341                 }
19342 
19343                 ASLE = One
19344                 Return (Zero)
19345             }
19346 
19347             Method (SCIP, 0, NotSerialized)
19348             {
19349                 If ((OVER != Zero))
19350                 {
19351                     Return (!GSMI)
19352                 }
19353 
19354                 Return (Zero)
19355             }
19356 
19357             Device (\_SB.MEM2)
19358             {
19359                 Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
19360                 Name (_UID, 0x02)  // _UID: Unique ID
19361                 Name (CRS2, ResourceTemplate ()
19362                 {
19363                     Memory32Fixed (ReadWrite,
19364                         0x20000000,         // Address Base
19365                         0x00200000,         // Address Length
19366                         )
19367                     Memory32Fixed (ReadWrite,
19368                         0x40004000,         // Address Base
19369                         0x00001000,         // Address Length
19370                         )
19371                 })
19372                 Method (_STA, 0, NotSerialized)  // _STA: Status
19373                 {
19374                     If (IGDS)
19375                     {
19376                         If ((PNHM == 0x000306C1))
19377                         {
19378                             Return (0x0F)
19379                         }
19380                     }
19381 
19382                     Return (Zero)
19383                 }
19384 
19385                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
19386                 {
19387                     Return (CRS2) /* \_SB_.MEM2.CRS2 */
19388                 }
19389             }
19390         }
19391     }
19392 
19393     Scope (\_SB)
19394     {
19395         Name (TCGP, Buffer (0x08)
19396         {
19397              0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0   /* ........ */
19398         })
19399         CreateByteField (TCGP, Zero, PPRQ)
19400         CreateByteField (TCGP, One, PPL1)
19401         CreateByteField (TCGP, 0x02, PPRP)
19402         CreateByteField (TCGP, 0x03, TPRS)
19403         CreateByteField (TCGP, 0x04, PPOR)
19404         CreateByteField (TCGP, 0x05, TPMV)
19405         CreateByteField (TCGP, 0x06, MOR)
19406         CreateByteField (TCGP, 0x07, TVEN)
19407         OperationRegion (TCGC, SystemIO, 0x72, 0x02)
19408         Field (TCGC, ByteAcc, Lock, Preserve)
19409         {
19410             TIDX,   8, 
19411             TPDA,   8
19412         }
19413 
19414         IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
19415         {
19416             Offset (0x40), 
19417             TPP1,   8, 
19418             PPLO,   8, 
19419             TPP3,   8
19420         }
19421 
19422         OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
19423         Field (SMIP, WordAcc, NoLock, Preserve)
19424         {
19425             SMIT,   8, 
19426             SMID,   8
19427         }
19428 
19429         OperationRegion (TPMF, SystemMemory, 0xDCF68F18, 0x0004)
19430         Field (TPMF, AnyAcc, Lock, Preserve)
19431         {
19432             PPIP,   8, 
19433             PPIC,   8, 
19434             TPM2,   8
19435         }
19436 
19437         Device (TPM)
19438         {
19439             Name (TMPV, Zero)
19440             Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
19441             {
19442                 If ((TPM2 == One))
19443                 {
19444                     Return ("MSFT0101")
19445                 }
19446 
19447                 If ((TVID == 0x15D1))
19448                 {
19449                     Return (0x0201D824)
19450                 }
19451 
19452                 If (((TVID == 0x1050) || (TVID == 0x100B)))
19453                 {
19454                     Return (0x0010A35C)
19455                 }
19456 
19457                 If ((TVID == 0x19FA))
19458                 {
19459                     Return (0x0435CF4D)
19460                 }
19461 
19462                 If ((TDID == 0x1002))
19463                 {
19464                     Return (0x02016D08)
19465                 }
19466 
19467                 If ((TDID == 0x1001))
19468                 {
19469                     Return (0x01016D08)
19470                 }
19471 
19472                 If ((TVID == 0x1114))
19473                 {
19474                     Return (0x00128D06)
19475                 }
19476 
19477                 Return (0x310CD041)
19478             }
19479 
19480             Name (_CID, EisaId ("PNP0C31"))  // _CID: Compatible ID
19481             Name (_UID, One)  // _UID: Unique ID
19482             OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
19483             Field (TMMB, ByteAcc, Lock, Preserve)
19484             {
19485                 ACCS,   8, 
19486                 Offset (0x18), 
19487                 TSTA,   8, 
19488                 TBCA,   8, 
19489                 Offset (0xF00), 
19490                 TVID,   16, 
19491                 TDID,   16
19492             }
19493 
19494             Method (_STA, 0, NotSerialized)  // _STA: Status
19495             {
19496                 If ((ACCS == 0xFF))
19497                 {
19498                     Return (Zero)
19499                 }
19500                 Else
19501                 {
19502                     Return (0x0F)
19503                 }
19504             }
19505 
19506             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
19507             {
19508                 Memory32Fixed (ReadOnly,
19509                     0xFED40000,         // Address Base
19510                     0x00005000,         // Address Length
19511                     )
19512             })
19513             Method (UCMP, 2, NotSerialized)
19514             {
19515                 If ((0x10 != SizeOf (Arg0)))
19516                 {
19517                     Return (Zero)
19518                 }
19519 
19520                 If ((0x10 != SizeOf (Arg1)))
19521                 {
19522                     Return (Zero)
19523                 }
19524 
19525                 Local0 = Zero
19526                 While ((Local0 < 0x10))
19527                 {
19528                     If ((DerefOf (Index (Arg0, Local0)) != DerefOf (Index (Arg1, Local0
19529                         ))))
19530                     {
19531                         Return (Zero)
19532                     }
19533 
19534                     Local0++
19535                 }
19536 
19537                 Return (One)
19538             }
19539 
19540             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
19541             {
19542                 Name (TTMP, Buffer (One)
19543                 {
19544                      0x00                                             /* . */
19545                 })
19546                 CreateByteField (TTMP, Zero, TMPV)
19547                 If ((UCMP (Arg0, ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */) == One))
19548                 {
19549                     If ((Arg2 == Zero))
19550                     {
19551                         Return (Buffer (0x02)
19552                         {
19553                              0xFF, 0x01                                       /* .. */
19554                         })
19555                     }
19556 
19557                     If ((Arg2 == One))
19558                     {
19559                         Return (Buffer (0x04)
19560                         {
19561                             "1.2"
19562                         })
19563                     }
19564 
19565                     If ((Arg2 == 0x02))
19566                     {
19567                         TMPV = TPP3 /* \_SB_.TPP3 */
19568                         If ((TMPV & TPRS))
19569                         {
19570                             If ((DerefOf (Index (Arg3, Zero)) <= 0x0B))
19571                             {
19572                                 TPP1 = DerefOf (Index (Arg3, Zero))
19573                                 Return (Zero)
19574                             }
19575 
19576                             If (((DerefOf (Index (Arg3, Zero)) >= 0x0E) && (
19577                                 DerefOf (Index (Arg3, Zero)) <= 0x12)))
19578                             {
19579                                 TPP1 = DerefOf (Index (Arg3, Zero))
19580                                 Return (Zero)
19581                             }
19582 
19583                             If (((DerefOf (Index (Arg3, Zero)) == 0x15) || (DerefOf (Index (
19584                                 Arg3, Zero)) == 0x16)))
19585                             {
19586                                 TPP1 = DerefOf (Index (Arg3, Zero))
19587                                 Return (Zero)
19588                             }
19589 
19590                             Return (One)
19591                         }
19592 
19593                         Return (0x02)
19594                     }
19595 
19596                     If ((Arg2 == 0x03))
19597                     {
19598                         Name (TMP1, Package (0x02)
19599                         {
19600                             Zero, 
19601                             Ones
19602                         })
19603                         TMPV = TPP1 /* \_SB_.TPP1 */
19604                         Index (TMP1, One) = TMPV &= PPRQ /* \_SB_.PPRQ */
19605                         Return (TMP1) /* \_SB_.TPM_._DSM.TMP1 */
19606                     }
19607 
19608                     If ((Arg2 == 0x04))
19609                     {
19610                         Return (0x02)
19611                     }
19612 
19613                     If ((Arg2 == 0x05))
19614                     {
19615                         Name (TMP2, Package (0x03)
19616                         {
19617                             Zero, 
19618                             Ones, 
19619                             Ones
19620                         })
19621                         Index (TMP2, One) = PPLO /* \_SB_.PPLO */
19622                         Index (TMP2, 0x02) = Zero
19623                         Return (TMP2) /* \_SB_.TPM_._DSM.TMP2 */
19624                     }
19625 
19626                     If ((Arg2 == 0x06))
19627                     {
19628                         Return (0x03)
19629                     }
19630 
19631                     If ((Arg2 == 0x07))
19632                     {
19633                         TMPV = TPP3 /* \_SB_.TPP3 */
19634                         If ((TMPV & TPRS))
19635                         {
19636                             If ((DerefOf (Index (Arg3, Zero)) <= 0x0B))
19637                             {
19638                                 TPP1 = DerefOf (Index (Arg3, Zero))
19639                                 Return (Zero)
19640                             }
19641 
19642                             If (((DerefOf (Index (Arg3, Zero)) >= 0x0E) && (
19643                                 DerefOf (Index (Arg3, Zero)) <= 0x12)))
19644                             {
19645                                 TPP1 = DerefOf (Index (Arg3, Zero))
19646                                 Return (Zero)
19647                             }
19648 
19649                             If (((DerefOf (Index (Arg3, Zero)) == 0x15) || (DerefOf (Index (
19650                                 Arg3, Zero)) == 0x16)))
19651                             {
19652                                 TPP1 = DerefOf (Index (Arg3, Zero))
19653                                 Return (Zero)
19654                             }
19655 
19656                             Return (One)
19657                         }
19658 
19659                         Return (0x02)
19660                     }
19661 
19662                     If ((Arg2 == 0x08))
19663                     {
19664                         If ((DerefOf (Index (Arg3, Zero)) == 0x05))
19665                         {
19666                             If ((PPIC > Zero))
19667                             {
19668                                 Return (0x04)
19669                             }
19670 
19671                             Return (0x03)
19672                         }
19673 
19674                         If (((DerefOf (Index (Arg3, Zero)) >= One) && (
19675                             DerefOf (Index (Arg3, Zero)) <= 0x04)))
19676                         {
19677                             If ((PPIP > Zero))
19678                             {
19679                                 Return (0x04)
19680                             }
19681 
19682                             Return (0x03)
19683                         }
19684 
19685                         If (((DerefOf (Index (Arg3, Zero)) >= 0x06) && (
19686                             DerefOf (Index (Arg3, Zero)) <= 0x0B)))
19687                         {
19688                             If ((PPIP > Zero))
19689                             {
19690                                 Return (0x04)
19691                             }
19692 
19693                             Return (0x03)
19694                         }
19695 
19696                         If (((DerefOf (Index (Arg3, Zero)) == 0x0E) || ((
19697                             DerefOf (Index (Arg3, Zero)) >= 0x15) && (DerefOf (Index (Arg3, Zero)) <= 
19698                             0x16))))
19699                         {
19700                             If (((PPIP > Zero) && (PPIC > Zero)))
19701                             {
19702                                 Return (0x04)
19703                             }
19704 
19705                             Return (0x03)
19706                         }
19707 
19708                         If (((DerefOf (Index (Arg3, Zero)) == 0x10) || (DerefOf (Index (
19709                             Arg3, Zero)) == 0x12)))
19710                         {
19711                             Return (0x03)
19712                         }
19713 
19714                         If (((DerefOf (Index (Arg3, Zero)) == Zero) || ((DerefOf (
19715                             Index (Arg3, Zero)) == 0x0F) || (DerefOf (Index (Arg3, Zero)) == 0x11))))
19716                         {
19717                             Return (0x04)
19718                         }
19719 
19720                         Return (Zero)
19721                     }
19722 
19723                     Return (One)
19724                 }
19725 
19726                 If ((UCMP (Arg0, ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")) == One))
19727                 {
19728                     If ((Arg2 == Zero))
19729                     {
19730                         Return (Buffer (One)
19731                         {
19732                              0x03                                             /* . */
19733                         })
19734                     }
19735 
19736                     If ((Arg2 == One))
19737                     {
19738                         TMPV = DerefOf (Index (Arg3, Zero))
19739                         TMPV &= One
19740                         If ((TMPV == Zero))
19741                         {
19742                             \_SB.MOR = Zero
19743                             Return (Zero)
19744                         }
19745 
19746                         If ((TMPV == One))
19747                         {
19748                             \_SB.MOR = One
19749                             Return (Zero)
19750                         }
19751                     }
19752 
19753                     Return (One)
19754                 }
19755 
19756                 Return (Buffer (One)
19757                 {
19758                      0x00                                             /* . */
19759                 })
19760             }
19761 
19762             Method (CMOR, 0, NotSerialized)
19763             {
19764                 \_SB.MOR = Zero
19765                 SMID = 0x80
19766                 SMIT = 0xC1
19767             }
19768         }
19769     }
19770 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2016-01-31T17:03:14+0000, 631.6 KB) [[attachment:acpidump.txt]]
  • [get | view] (2016-01-31T17:05:49+0000, 0.4 KB) [[attachment:battery.txt]]
  • [get | view] (2016-01-31T17:01:27+0000, 6.9 KB) [[attachment:devinfo.txt]]
  • [get | view] (2016-01-31T17:11:48+0000, 12.0 KB) [[attachment:dmesg.txt]]
  • [get | view] (2016-05-23T21:53:45+0000, 265.2 KB) [[attachment:panic-DRM-46-AC-battery.jpg]]
  • [get | view] (2016-05-23T08:34:15+0000, 763.8 KB) [[attachment:panic-DRM-46.jpg]]
  • [get | view] (2016-01-31T16:56:57+0000, 3.7 KB) [[attachment:pciconf.txt]]
 All files | Selected Files: delete move to page copy to page

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