Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000dcefe170, length=36, cksum=192
   4  */
   5 /*
   6   XSDT: Length=228, Revision=1, Checksum=14,
   7 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
   8 	Creator ID=PTEC, Creator Revision=0x2
   9 	Entries={ 0x00000000dcef8000, 0x00000000dcefd000, 0x00000000dcefb000, 0x00000000dcefa000, 0x00000000dcef7000, 0x00000000dcef6000, 0x00000000dcef5000, 0x00000000dcef4000, 0x00000000dcef3000, 0x00000000dcee1000, 0x00000000dcee0000, 0x00000000dcedf000, 0x00000000dcede000, 0x00000000dcedc000, 0x00000000dcedb000, 0x00000000dceda000, 0x00000000dced9000, 0x00000000dced8000, 0x00000000dce42000, 0x00000000dcefc000, 0x00000000dced7000, 0x00000000dced6000, 0x00000000dced5000, 0x00000000dced4000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=146,
  13 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  14 	Creator ID=PTEC, Creator Revision=0x2
  15  	FACS=0xdce4a000, DSDT=0xdcee2000
  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=0xf3
  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 	CST_CNT=0xf4
  27 	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
  28 	FLUSH_SIZE=0, FLUSH_STRIDE=0
  29 	DUTY_OFFSET=1, DUTY_WIDTH=3
  30 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  31 	IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
  32 	Flags={WBINVD,C1_SUPPORTED,C2_MP_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE}
  33 	RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
  34  */
  35 /*
  36   FACS:	Length=64, HwSig=0x0000220b, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=2
  40  */
  41 /*
  42   DSDT: Length=69118, Revision=1, Checksum=157,
  43 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  44 	Creator ID=INTL, Creator Revision=0x20120711
  45  */
  46 /*
  47   SLIC: Length=374, Revision=1, Checksum=104,
  48 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  49 	Creator ID=PTEC, Creator Revision=0x1
  50  */
  51 /*
  52   DBGP: Length=52, Revision=1, Checksum=45,
  53 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  54 	Creator ID=PTEC, Creator Revision=0x2
  55  */
  56 /*
  57   ECDT: Length=82, Revision=1, Checksum=204,
  58 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  59 	Creator ID=PTEC, Creator Revision=0x2
  60 	EC_CONTROL=0x66:0[8] (IO)
  61 	EC_DATA=0x62:0[8] (IO)
  62 	UID=0, GPE_BIT=0x25
  63 	EC_ID=\_SB.PCI0.LPC.EC
  64  */
  65 /*
  66   HPET: Length=56, Revision=1, Checksum=41,
  67 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  68 	Creator ID=PTEC, Creator Revision=0x2
  69 	HPET Number=0
  70 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
  71 	Comparators=3
  72 	Counter Size=1
  73 	Legacy IRQ routing capable={TRUE}
  74 	PCI Vendor ID=0x8086
  75 	Minimal Tick=128
  76 	Flags=0x00
  77  */
  78 /*
  79   APIC: Length=152, Revision=1, Checksum=97,
  80 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
  81 	Creator ID=PTEC, Creator Revision=0x2
  82 	Local APIC ADDR=0xfee00000
  83 	Flags={PC-AT}
  84 
  85 	Type=Local APIC
  86 	ACPI CPU=1
  87 	Flags={ENABLED}
  88 	APIC ID=0
  89 
  90 	Type=Local APIC
  91 	ACPI CPU=2
  92 	Flags={ENABLED}
  93 	APIC ID=1
  94 
  95 	Type=Local APIC
  96 	ACPI CPU=3
  97 	Flags={ENABLED}
  98 	APIC ID=2
  99 
 100 	Type=Local APIC
 101 	ACPI CPU=4
 102 	Flags={ENABLED}
 103 	APIC ID=3
 104 
 105 	Type=Local APIC
 106 	ACPI CPU=5
 107 	Flags={DISABLED}
 108 	APIC ID=0
 109 
 110 	Type=Local APIC
 111 	ACPI CPU=6
 112 	Flags={DISABLED}
 113 	APIC ID=0
 114 
 115 	Type=Local APIC
 116 	ACPI CPU=7
 117 	Flags={DISABLED}
 118 	APIC ID=0
 119 
 120 	Type=Local APIC
 121 	ACPI CPU=8
 122 	Flags={DISABLED}
 123 	APIC ID=0
 124 
 125 	Type=IO APIC
 126 	APIC ID=2
 127 	INT BASE=0
 128 	ADDR=0x00000000fec00000
 129 
 130 	Type=INT Override
 131 	BUS=0
 132 	IRQ=0
 133 	INTR=2
 134 	Flags={Polarity=conforming, Trigger=conforming}
 135 
 136 	Type=INT Override
 137 	BUS=0
 138 	IRQ=9
 139 	INTR=9
 140 	Flags={Polarity=active-hi, Trigger=level}
 141 
 142 	Type=Local APIC NMI
 143 	ACPI CPU=0
 144 	LINT Pin=1
 145 	Flags={Polarity=active-hi, Trigger=edge}
 146 
 147 	Type=Local APIC NMI
 148 	ACPI CPU=1
 149 	LINT Pin=1
 150 	Flags={Polarity=active-hi, Trigger=edge}
 151  */
 152 /*
 153   MCFG: Length=60, Revision=1, Checksum=250,
 154 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 155 	Creator ID=PTEC, Creator Revision=0x2
 156 
 157 	Base Address=0x00000000f8000000
 158 	Segment Group=0x0000
 159 	Start Bus=0
 160 	End Bus=63
 161  */
 162 /*
 163   SSDT: Length=51, Revision=1, Checksum=87,
 164 	OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
 165 	Creator ID=INTL, Creator Revision=0x20120711
 166  */
 167 /*
 168   SSDT: Length=1158, Revision=1, Checksum=185,
 169 	OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
 170 	Creator ID=INTL, Creator Revision=0x20120711
 171  */
 172 /*
 173   SSDT: Length=2507, Revision=1, Checksum=48,
 174 	OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
 175 	Creator ID=INTL, Creator Revision=0x20120711
 176  */
 177 /*
 178   SSDT: Length=338, Revision=1, Checksum=160,
 179 	OEMID=LENOVO, OEM Table ID=Rmv_Batt, OEM Revision=0x1000,
 180 	Creator ID=INTL, Creator Revision=0x20120711
 181  */
 182 /*
 183   SSDT: Length=2037, Revision=1, Checksum=139,
 184 	OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 185 	Creator ID=INTL, Creator Revision=0x20120711
 186  */
 187 /*
 188   SSDT: Length=2776, Revision=1, Checksum=199,
 189 	OEMID=LENOVO, OEM Table ID=CpuPm, OEM Revision=0x3000,
 190 	Creator ID=INTL, Creator Revision=0x20120711
 191  */
 192 /*
 193   SSDT: Length=4700, Revision=1, Checksum=254,
 194 	OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
 195 	Creator ID=INTL, Creator Revision=0x20120711
 196  */
 197 /*
 198   SSDT: Length=889, Revision=1, Checksum=62,
 199 	OEMID=LENOVO, OEM Table ID=CppcTabl, OEM Revision=0x1000,
 200 	Creator ID=INTL, Creator Revision=0x20120711
 201  */
 202 /*
 203   PCCT: Length=110, Revision=5, Checksum=153,
 204 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 205 	Creator ID=PTEC, Creator Revision=0x2
 206  */
 207 /*
 208   SSDT: Length=2756, Revision=1, Checksum=76,
 209 	OEMID=LENOVO, OEM Table ID=Cpc_Tabl, OEM Revision=0x1000,
 210 	Creator ID=INTL, Creator Revision=0x20120711
 211  */
 212 /*
 213   UEFI: Length=66, Revision=1, Checksum=44,
 214 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 215 	Creator ID=PTEC, Creator Revision=0x2
 216  */
 217 /*
 218   MSDM: Length=85, Revision=3, Checksum=78,
 219 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 220 	Creator ID=PTEC, Creator Revision=0x2
 221  */
 222 /*
 223   ASF!: Length=165, Revision=32, Checksum=111,
 224 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 225 	Creator ID=PTEC, Creator Revision=0x2
 226  */
 227 /*
 228   BATB: Length=70, Revision=1, Checksum=29,
 229 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 230 	Creator ID=PTEC, Creator Revision=0x2
 231  */
 232 /*
 233   FPDT: Length=100, Revision=1, Checksum=112,
 234 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 235 	Creator ID=PTEC, Creator Revision=0x2
 236  */
 237 /*
 238   UEFI: Length=758, Revision=1, Checksum=35,
 239 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 240 	Creator ID=PTEC, Creator Revision=0x2
 241  */
 242 /*
 243   DMAR: Length=176, Revision=1, Checksum=218,
 244 	OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
 245 	Creator ID=PTEC, Creator Revision=0x2
 246 	Host Address Width=39
 247 	Flags={INTR_REMAP}
 248 
 249 	Type=DRHD
 250 	Length=24
 251 	Flags=
 252 	Segment=0
 253 	Address=0x00000000fed90000
 254 	Device Scope:
 255 		Type=PCI Endpoint Device
 256 		Length=8
 257 		EnumerationId=0
 258 		StartBusNumber=0
 259 		Path={2:0}
 260 
 261 	Type=DRHD
 262 	Length=32
 263 	Flags={INCLUDE_ALL}
 264 	Segment=0
 265 	Address=0x00000000fed91000
 266 	Device Scope:
 267 		Type=IOAPIC
 268 		Length=8
 269 		EnumerationId=2
 270 		StartBusNumber=240
 271 		Path={31:0}
 272 
 273 		Type=HPET
 274 		Length=8
 275 		EnumerationId=0
 276 		StartBusNumber=240
 277 		Path={15:0}
 278 
 279 	Type=RMRR
 280 	Length=40
 281 	Segment=0
 282 	BaseAddress=0x00000000daec1000
 283 	LimitAddress=0x00000000daed7fff
 284 	Device Scope:
 285 		Type=PCI Endpoint Device
 286 		Length=8
 287 		EnumerationId=0
 288 		StartBusNumber=0
 289 		Path={29:0}
 290 
 291 		Type=PCI Endpoint Device
 292 		Length=8
 293 		EnumerationId=0
 294 		StartBusNumber=0
 295 		Path={20:0}
 296 
 297 	Type=RMRR
 298 	Length=32
 299 	Segment=0
 300 	BaseAddress=0x00000000dd800000
 301 	LimitAddress=0x00000000df9fffff
 302 	Device Scope:
 303 		Type=PCI Endpoint Device
 304 		Length=8
 305 		EnumerationId=0
 306 		StartBusNumber=0
 307 		Path={2:0}
 308  */
 309 /*
 310  * Intel ACPI Component Architecture
 311  * AML/ASL+ Disassembler version 20181003 (64-bit version)
 312  * Copyright (c) 2000 - 2018 Intel Corporation
 313  * 
 314  * Disassembling to symbolic ASL+ operators
 315  *
 316  * Disassembly of /tmp/acpidump.YIdbjT/acpdump.din, Fri Aug 30 17:26:56 2019
 317  *
 318  * Original Table Header:
 319  *     Signature        "DSDT"
 320  *     Length           0x00014FF6 (86006)
 321  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 322  *     Checksum         0x13
 323  *     OEM ID           "LENOVO"
 324  *     OEM Table ID     "TP-GJ   "
 325  *     OEM Revision     0x00002290 (8848)
 326  *     Compiler ID      "INTL"
 327  *     Compiler Version 0x20120711 (538052369)
 328  */
 329 DefinitionBlock ("", "DSDT", 1, "LENOVO", "TP-GJ   ", 0x00002290)
 330 {
 331     /*
 332      * iASL Warning: There was 1 external control method found during
 333      * disassembly, but only 0 were resolved (1 unresolved). Additional
 334      * ACPI tables may be required to properly disassemble the code. This
 335      * resulting disassembler output file may not compile because the
 336      * disassembler did not know how many arguments to assign to the
 337      * unresolved methods. Note: SSDTs can be dynamically loaded at
 338      * runtime and may or may not be available via the host OS.
 339      *
 340      * To specify the tables needed to resolve external control method
 341      * references, the -e option can be used to specify the filenames.
 342      * Example iASL invocations:
 343      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 344      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 345      *     iasl -e ssdt*.aml -d dsdt.aml
 346      *
 347      * In addition, the -fe option can be used to specify a file containing
 348      * control method external declarations with the associated method
 349      * argument counts. Each line of the file must be of the form:
 350      *     External (<method pathname>, MethodObj, <argument count>)
 351      * Invocation:
 352      *     iasl -fe refs.txt -d dsdt.aml
 353      *
 354      * The following methods were unresolved and many not compile properly
 355      * because the disassembler had to guess at the number of arguments
 356      * required for each:
 357      */
 358     External (_PR_.CPU0._TSS, IntObj)
 359     External (_SB_.IAOE.GAOS, UnknownObj)
 360     External (_SB_.IAOE.GSWR, UnknownObj)
 361     External (_SB_.PCI0.SAT1.PRIM.GTME, UnknownObj)
 362     External (_SB_.PCI0.SAT1.SCND.GTME, UnknownObj)
 363     External (_SB_.PCI0.SAT1.SCND.MSTR, UnknownObj)
 364     External (GUAM, MethodObj)    // Warning: Unknown method, guessing 1 arguments
 365 
 366     Scope (\_PR)
 367     {
 368         Processor (CPU0, 0x01, 0x00001810, 0x06){}
 369         Processor (CPU1, 0x02, 0x00001810, 0x06){}
 370         Processor (CPU2, 0x03, 0x00001810, 0x06){}
 371         Processor (CPU3, 0x04, 0x00001810, 0x06){}
 372         Processor (CPU4, 0x05, 0x00001810, 0x06){}
 373         Processor (CPU5, 0x06, 0x00001810, 0x06){}
 374         Processor (CPU6, 0x07, 0x00001810, 0x06){}
 375         Processor (CPU7, 0x08, 0x00001810, 0x06){}
 376     }
 377 
 378     Scope (\)
 379     {
 380         Method (PNTF, 1, NotSerialized)
 381         {
 382             If (((Arg0 == 0x80) && !\OSPX))
 383             {
 384                 If ((\PPMF & 0x01))
 385                 {
 386                     If (\CPPX)
 387                     {
 388                         Notify (\_SB.PCCD, 0x82) // Device-Specific Change
 389                     }
 390                 }
 391             }
 392             ElseIf ((\PPMF & 0x0200))
 393             {
 394                 If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
 395                     Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
 396                 {
 397                     Notify (\_PR.CPU0, Arg0)
 398                 }
 399 
 400                 If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
 401                     Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
 402                 {
 403                     Notify (\_PR.CPU1, Arg0)
 404                 }
 405 
 406                 If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
 407                     Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
 408                 {
 409                     Notify (\_PR.CPU2, Arg0)
 410                 }
 411 
 412                 If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
 413                     Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
 414                 {
 415                     Notify (\_PR.CPU3, Arg0)
 416                 }
 417 
 418                 If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
 419                     Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
 420                 {
 421                     Notify (\_PR.CPU4, Arg0)
 422                 }
 423 
 424                 If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
 425                     Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
 426                 {
 427                     Notify (\_PR.CPU5, Arg0)
 428                 }
 429 
 430                 If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
 431                     Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
 432                 {
 433                     Notify (\_PR.CPU6, Arg0)
 434                 }
 435 
 436                 If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
 437                     Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
 438                 {
 439                     Notify (\_PR.CPU7, Arg0)
 440                 }
 441             }
 442             ElseIf (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 == 
 443                 0x82))))
 444             {
 445                 Notify (\_PR.CPU0, Arg0)
 446             }
 447         }
 448     }
 449 
 450     OperationRegion (MNVS, SystemMemory, 0xDCE7D018, 0x1000)
 451     Field (MNVS, DWordAcc, NoLock, Preserve)
 452     {
 453         Offset (0xD00), 
 454         GAPA,   32, 
 455         GAPL,   32, 
 456         DCKI,   32, 
 457         DCKS,   32, 
 458         VCDL,   1, 
 459         VCDC,   1, 
 460         VCDT,   1, 
 461         VCDD,   1, 
 462             ,   1, 
 463         VCSS,   1, 
 464         VCDB,   1, 
 465         VCIN,   1, 
 466         VVPO,   8, 
 467         BRTN,   8, 
 468         BRLV,   8, 
 469         CDFL,   8, 
 470         CDAH,   8, 
 471         PMOD,   2, 
 472         PDIR,   1, 
 473         PDMA,   1, 
 474         Offset (0xD17), 
 475         LFDC,   1, 
 476         Offset (0xD18), 
 477         C2NA,   1, 
 478         C3NA,   1, 
 479         C4NA,   1, 
 480         C6NA,   1, 
 481         C7NA,   1, 
 482         Offset (0xD19), 
 483         Offset (0xD1A), 
 484             ,   2, 
 485             ,   1, 
 486         NHPS,   1, 
 487         NPME,   1, 
 488         Offset (0xD1B), 
 489         UOPT,   8, 
 490         BTID,   32, 
 491         DPP0,   1, 
 492         DPP1,   1, 
 493         DPP2,   1, 
 494         DPP3,   1, 
 495         DPP4,   1, 
 496         DPP5,   1, 
 497         Offset (0xD21), 
 498         Offset (0xD22), 
 499         TCRT,   16, 
 500         TPSV,   16, 
 501         TTC1,   16, 
 502         TTC2,   16, 
 503         TTSP,   16, 
 504         SRAH,   8, 
 505         SRHE,   8, 
 506         SRE1,   8, 
 507         SRE2,   8, 
 508         SRE3,   8, 
 509         SRE4,   8, 
 510         SRE5,   8, 
 511         SRE6,   8, 
 512         SRU1,   8, 
 513         SRU2,   8, 
 514         SRU3,   8, 
 515         SRU7,   8, 
 516         SRU4,   8, 
 517         SRU5,   8, 
 518         SRU8,   8, 
 519         SRPB,   8, 
 520         SRLP,   8, 
 521         SRSA,   8, 
 522         SRSM,   8, 
 523         CWAC,   1, 
 524         CWAS,   1, 
 525         CWUE,   1, 
 526         CWUS,   1, 
 527         Offset (0xD40), 
 528         CWAP,   16, 
 529         CWAT,   16, 
 530         DBGC,   1, 
 531         Offset (0xD45), 
 532         FS1L,   16, 
 533         FS1M,   16, 
 534         FS1H,   16, 
 535         FS2L,   16, 
 536         FS2M,   16, 
 537         FS2H,   16, 
 538         FS3L,   16, 
 539         FS3M,   16, 
 540         FS3H,   16, 
 541         TATC,   1, 
 542             ,   6, 
 543         TATL,   1, 
 544         TATW,   8, 
 545         TNFT,   4, 
 546         TNTT,   4, 
 547         TDFA,   4, 
 548         TDTA,   4, 
 549         TDFD,   4, 
 550         TDTD,   4, 
 551         TCFA,   4, 
 552         TCTA,   4, 
 553         TCFD,   4, 
 554         TCTD,   4, 
 555         TSFT,   4, 
 556         TSTT,   4, 
 557         TIT0,   8, 
 558         TCR0,   16, 
 559         TPS0,   16, 
 560         TIT1,   8, 
 561         TCR1,   16, 
 562         TPS1,   16, 
 563         TIT2,   8, 
 564         TCR2,   16, 
 565         TPS2,   16, 
 566         TIF0,   8, 
 567         TIF1,   8, 
 568         TIF2,   8, 
 569         Offset (0xD78), 
 570         BTHI,   1, 
 571         Offset (0xD79), 
 572         HDIR,   1, 
 573         HDEH,   1, 
 574         HDSP,   1, 
 575         HDPP,   1, 
 576         HDUB,   1, 
 577         HDMC,   1, 
 578         NFCF,   1, 
 579         Offset (0xD7A), 
 580         TPME,   8, 
 581         BIDE,   4, 
 582         IDET,   4, 
 583             ,   1, 
 584         DTSE,   1, 
 585         Offset (0xD7D), 
 586         DTS0,   8, 
 587         DTS1,   8, 
 588         DT00,   1, 
 589         DT01,   1, 
 590         DT02,   1, 
 591         DT03,   1, 
 592         Offset (0xD80), 
 593         LIDB,   1, 
 594         C4WR,   1, 
 595         C4AC,   1, 
 596         ODDX,   1, 
 597         CMPR,   1, 
 598         ILNF,   1, 
 599         PLUX,   1, 
 600         Offset (0xD81), 
 601         Offset (0xD8C), 
 602             ,   4, 
 603             ,   1, 
 604         IDMM,   1, 
 605         Offset (0xD8D), 
 606             ,   3, 
 607             ,   1, 
 608             ,   1, 
 609         LIDS,   1, 
 610         Offset (0xD8E), 
 611         Offset (0xD8F), 
 612             ,   4, 
 613         Offset (0xD90), 
 614         TCG0,   1, 
 615         TCG1,   1, 
 616         Offset (0xD91), 
 617         SWGP,   8, 
 618         IPMS,   8, 
 619         IPMB,   120, 
 620         IPMR,   24, 
 621         IPMO,   24, 
 622         IPMA,   8, 
 623         VIGD,   1, 
 624         VDSC,   1, 
 625         VMSH,   1, 
 626             ,   1, 
 627         VDSP,   1, 
 628         Offset (0xDAA), 
 629         Offset (0xDAD), 
 630         ASFT,   8, 
 631         PL1L,   8, 
 632         PL1M,   8, 
 633         CHKC,   32, 
 634         CHKE,   32, 
 635         ATRB,   32, 
 636         Offset (0xDBD), 
 637         PPCR,   8, 
 638         TPCR,   5, 
 639         Offset (0xDBF), 
 640         Offset (0xDCE), 
 641         CTDP,   8, 
 642         PPCA,   8, 
 643         TPCA,   5, 
 644         Offset (0xDD1), 
 645         BFWB,   296, 
 646         OSPX,   1, 
 647         OSC4,   1, 
 648         CPPX,   1, 
 649         Offset (0xDF7), 
 650         SPEN,   1, 
 651         SCRM,   1, 
 652         GFPL,   1, 
 653         ETAU,   1, 
 654         IHBC,   1, 
 655         APMD,   1, 
 656         APMF,   1, 
 657         Offset (0xDF8), 
 658         FTPS,   8, 
 659         HIST,   8, 
 660         LPST,   8, 
 661         LWST,   8, 
 662         Offset (0xDFF), 
 663         MTAU,   8, 
 664         Offset (0xE20), 
 665         HPET,   32, 
 666         PKLI,   16, 
 667         VLCX,   16, 
 668         VNIT,   8, 
 669         VBD0,   8, 
 670         VBDT,   128, 
 671         VBPL,   16, 
 672         VBPH,   16, 
 673         VBML,   8, 
 674         VBMH,   8, 
 675         VEDI,   1024, 
 676         PDCI,   16, 
 677         ISCG,   32, 
 678         ISSP,   1, 
 679         ISWK,   2, 
 680         Offset (0xEC7), 
 681         SHA1,   160, 
 682         FFDT,   1, 
 683         Offset (0xEDC), 
 684         LWCP,   1, 
 685         LWEN,   1, 
 686         IOCP,   1, 
 687         IOEN,   1, 
 688         IOST,   1, 
 689         Offset (0xEDD), 
 690         USBR,   1, 
 691         Offset (0xEDE), 
 692         Offset (0xEDF), 
 693         Offset (0xEE1), 
 694         BT2T,   1, 
 695         Offset (0xEE2), 
 696         TPPP,   8, 
 697         TPPC,   8, 
 698         WKRS,   8, 
 699         FNWK,   8, 
 700         USBC,   8, 
 701         XHCC,   8, 
 702         PJCD,   8
 703     }
 704 
 705     Field (MNVS, ByteAcc, NoLock, Preserve)
 706     {
 707         Offset (0xB00), 
 708         WITM,   8, 
 709         WSEL,   8, 
 710         WLS0,   8, 
 711         WLS1,   8, 
 712         WLS2,   8, 
 713         WLS3,   8, 
 714         WLS4,   8, 
 715         WLS5,   8, 
 716         WLS6,   8, 
 717         WLS7,   8, 
 718         WLS8,   8, 
 719         WLS9,   8, 
 720         WLSA,   8, 
 721         WLSB,   8, 
 722         WLSC,   8, 
 723         WLSD,   8, 
 724         WENC,   8, 
 725         WKBD,   8, 
 726         WPTY,   8, 
 727         WPAS,   1032, 
 728         WPNW,   1032, 
 729         WSPM,   8, 
 730         WSPS,   8, 
 731         WSMN,   8, 
 732         WSMX,   8, 
 733         WSEN,   8, 
 734         WSKB,   8, 
 735         WASB,   8, 
 736         WASI,   16, 
 737         WASD,   8, 
 738         WASS,   32
 739     }
 740 
 741     Field (MNVS, ByteAcc, NoLock, Preserve)
 742     {
 743         Offset (0xA00), 
 744         DBGS,   1024
 745     }
 746 
 747     OperationRegion (GNVS, SystemMemory, 0xDCE4BC18, 0x02B0)
 748     Field (GNVS, AnyAcc, Lock, Preserve)
 749     {
 750         OSYS,   16, 
 751         SMIF,   8, 
 752         PRM0,   8, 
 753         PRM1,   8, 
 754         Offset (0x0F), 
 755         PWRS,   8, 
 756         Offset (0x1E), 
 757         Offset (0x25), 
 758         REVN,   8, 
 759         IFFS,   8, 
 760         Offset (0x28), 
 761         APIC,   8, 
 762         TCNT,   8, 
 763         PCP0,   8, 
 764         PCP1,   8, 
 765         PPCM,   8, 
 766         PPMF,   32, 
 767         C67L,   8, 
 768         Offset (0x47), 
 769         TPMP,   8, 
 770         MORD,   8, 
 771         TCGP,   8, 
 772         PPRP,   32, 
 773         PPRQ,   8, 
 774         LPPR,   8, 
 775         GTF0,   56, 
 776         GTF2,   56, 
 777         IDEM,   8, 
 778         GTF1,   56, 
 779         BID,    16, 
 780         PLID,   8, 
 781         ECTG,   8, 
 782         ISCT,   8, 
 783         SLDR,   32, 
 784         WAKR,   8, 
 785         OSCC,   8, 
 786         NEXP,   8, 
 787         SBV1,   8, 
 788         SBV2,   8, 
 789         Offset (0x7A), 
 790         DSEN,   8, 
 791         ECON,   8, 
 792         Offset (0x7D), 
 793         CTYP,   8, 
 794         L01C,   8, 
 795         VFN0,   8, 
 796         VFN1,   8, 
 797         VFN2,   8, 
 798         VFN3,   8, 
 799         VFN4,   8, 
 800         VFN5,   8, 
 801         VFN6,   8, 
 802         VFN7,   8, 
 803         VFN8,   8, 
 804         VFN9,   8, 
 805         Offset (0x8F), 
 806         ATMC,   8, 
 807         PTMC,   8, 
 808         ATRA,   8, 
 809         PTRA,   8, 
 810         PNHM,   32, 
 811         TBAB,   32, 
 812         TBAH,   32, 
 813         RTIP,   8, 
 814         TSOD,   8, 
 815         ATPC,   8, 
 816         PTPC,   8, 
 817         PFLV,   8, 
 818         BREV,   8, 
 819         PDTS,   8, 
 820         PKGA,   8, 
 821         PAMT,   8, 
 822         AC0F,   8, 
 823         AC1F,   8, 
 824         DTS3,   8, 
 825         DTS4,   8, 
 826         Offset (0xB0), 
 827         LTR1,   8, 
 828         LTR2,   8, 
 829         LTR3,   8, 
 830         LTR4,   8, 
 831         LTR5,   8, 
 832         LTR6,   8, 
 833         LTR7,   8, 
 834         LTR8,   8, 
 835         OBF1,   8, 
 836         OBF2,   8, 
 837         OBF3,   8, 
 838         OBF4,   8, 
 839         OBF5,   8, 
 840         OBF6,   8, 
 841         OBF7,   8, 
 842         OBF8,   8, 
 843         XHCI,   8, 
 844         XTUB,   32, 
 845         XTUS,   32, 
 846         XMPB,   32, 
 847         DDRF,   8, 
 848         RTD3,   8, 
 849         PEP0,   8, 
 850         PEP3,   8, 
 851         DPTF,   8, 
 852         SADE,   8, 
 853         SACR,   8, 
 854         SAHT,   8, 
 855         PCHD,   8, 
 856         PCHC,   8, 
 857         PCHH,   8, 
 858         Offset (0xDB), 
 859         ECEU,   8, 
 860         TGFG,   16, 
 861         MEMD,   8, 
 862         MEMC,   8, 
 863         MEMH,   8, 
 864         FND1,   8, 
 865         FND2,   8, 
 866         AMBD,   8, 
 867         AMAT,   8, 
 868         AMPT,   8, 
 869         AMCT,   8, 
 870         AMHT,   8, 
 871         SKDE,   8, 
 872         SKAT,   8, 
 873         SKPT,   8, 
 874         SKCT,   8, 
 875         SKHT,   8, 
 876         EFDE,   8, 
 877         EFAT,   8, 
 878         EFPT,   8, 
 879         EFCT,   8, 
 880         EFHT,   8, 
 881         VRDE,   8, 
 882         VRAT,   8, 
 883         VRPT,   8, 
 884         VRCT,   8, 
 885         VRHT,   8, 
 886         DPAP,   8, 
 887         DPPP,   8, 
 888         DPCP,   8, 
 889         DCMP,   8, 
 890         TRTV,   8, 
 891         LPOE,   8, 
 892         LPOP,   8, 
 893         LPOS,   8, 
 894         LPOW,   8, 
 895         LPER,   8, 
 896         PPSZ,   32, 
 897         DISE,   8, 
 898         PFMA,   64, 
 899         PFMS,   8, 
 900         PFIA,   16, 
 901         ICNF,   8, 
 902         DSP0,   32, 
 903         DSP1,   32, 
 904         NFCE,   8, 
 905         CODS,   8, 
 906         SNHE,   8, 
 907         S0ID,   8, 
 908         CTDB,   8, 
 909         Offset (0x121), 
 910         TBTE,   8, 
 911         Offset (0x207), 
 912         PWRE,   8, 
 913         PWRP,   8, 
 914         XHPR,   8, 
 915         SDS0,   8, 
 916         SDS1,   16, 
 917         SDS2,   8, 
 918         SDS3,   8, 
 919         SDS4,   8, 
 920         SDS5,   8, 
 921         Offset (0x212), 
 922         RIC0,   8, 
 923         PEPY,   8, 
 924         DVS0,   8, 
 925         DVS1,   8, 
 926         DVS2,   8, 
 927         DVS3,   8, 
 928         GBSX,   8, 
 929         IUBE,   8, 
 930         IUCE,   8, 
 931         IUDE,   8, 
 932         ECNO,   8, 
 933         AUDD,   16, 
 934         DSPD,   16, 
 935         IC0D,   16, 
 936         IC1D,   16, 
 937         IC1S,   16, 
 938         VRRD,   16, 
 939         PSCP,   8, 
 940         RWAG,   8, 
 941         I20D,   16, 
 942         I21D,   16, 
 943         Offset (0x231), 
 944         RCG0,   8, 
 945         ECDB,   8, 
 946         P2ME,   8, 
 947         SSH0,   16, 
 948         SSL0,   16, 
 949         SSD0,   16, 
 950         FMH0,   16, 
 951         FML0,   16, 
 952         FMD0,   16, 
 953         FPH0,   16, 
 954         FPL0,   16, 
 955         FPD0,   16, 
 956         SSH1,   16, 
 957         SSL1,   16, 
 958         SSD1,   16, 
 959         FMH1,   16, 
 960         FML1,   16, 
 961         FMD1,   16, 
 962         FPH1,   16, 
 963         FPL1,   16, 
 964         FPD1,   16, 
 965         M0C0,   16, 
 966         M1C0,   16, 
 967         M2C0,   16, 
 968         M0C1,   16, 
 969         M1C1,   16, 
 970         M2C1,   16, 
 971         M0C2,   16, 
 972         M1C2,   16, 
 973         M0C3,   16, 
 974         M1C3,   16, 
 975         M0C4,   16, 
 976         M1C4,   16, 
 977         M0C5,   16, 
 978         M1C5,   16, 
 979         TBSF,   8, 
 980         GIRQ,   32, 
 981         DMTP,   8, 
 982         DMTD,   8, 
 983         DMSH,   8, 
 984         LANP,   8, 
 985         Offset (0x27E), 
 986         SHSB,   8, 
 987         PLCS,   8, 
 988         PLVL,   16, 
 989         GN1E,   8, 
 990         G1AT,   8, 
 991         G1PT,   8, 
 992         G1CT,   8, 
 993         G1HT,   8, 
 994         GN2E,   8, 
 995         G2AT,   8, 
 996         G2PT,   8, 
 997         G2CT,   8, 
 998         G2HT,   8, 
 999         WWSD,   8, 
1000         CVSD,   8, 
1001         SSDD,   8, 
1002         INLD,   8, 
1003         IFAT,   8, 
1004         IFPT,   8, 
1005         IFCT,   8, 
1006         IFHT,   8, 
1007         DOSD,   8, 
1008         USBH,   8, 
1009         BCV4,   8, 
1010         WTV0,   8, 
1011         WTV1,   8, 
1012         APFU,   8, 
1013         SOHP,   8, 
1014         NOHP,   8, 
1015         TBSE,   8, 
1016         WKFN,   8, 
1017         PEPC,   16, 
1018         VRSD,   16, 
1019         PB1E,   8, 
1020         WAND,   8, 
1021         WWAT,   8, 
1022         WWPT,   8, 
1023         WWCT,   8, 
1024         WWHT,   8, 
1025         Offset (0x2AD), 
1026         MPLT,   16, 
1027         GR13,   8
1028     }
1029 
1030     Name (XWMB, 0xDFA00000)
1031     Scope (\_SB)
1032     {
1033         Method (_INI, 0, NotSerialized)  // _INI: Initialize
1034         {
1035             If (CondRefOf (\_OSI, Local0))
1036             {
1037                 If (\_OSI ("Windows 2001"))
1038                 {
1039                     \WNTF = 0x01
1040                     \WXPF = 0x01
1041                     \WSPV = 0x00
1042                     OSYS = 0x07D1
1043                 }
1044 
1045                 If (\_OSI ("Windows 2001 SP1"))
1046                 {
1047                     \WSPV = 0x01
1048                     OSYS = 0x07D1
1049                 }
1050 
1051                 If (\_OSI ("Windows 2001 SP2"))
1052                 {
1053                     \WSPV = 0x02
1054                     OSYS = 0x07D2
1055                 }
1056 
1057                 If (\_OSI ("Windows 2006"))
1058                 {
1059                     \WVIS = 0x01
1060                     OSYS = 0x07D6
1061                 }
1062 
1063                 If (\_OSI ("Windows 2009"))
1064                 {
1065                     \WIN7 = 0x01
1066                     OSYS = 0x07D9
1067                 }
1068 
1069                 If (\_OSI ("Windows 2012"))
1070                 {
1071                     \WIN8 = 0x01
1072                     OSYS = 0x07DC
1073                 }
1074 
1075                 If (\_OSI ("Windows 2013"))
1076                 {
1077                     \WIN8 = 0x01
1078                     OSYS = 0x07DD
1079                 }
1080 
1081                 If (\_OSI ("Linux"))
1082                 {
1083                     \LNUX = 0x01
1084                     OSYS = 0x03E8
1085                 }
1086 
1087                 If (\_OSI ("FreeBSD"))
1088                 {
1089                     \LNUX = 0x01
1090                     OSYS = 0x03E8
1091                 }
1092             }
1093             ElseIf ((\SCMP (\_OS, "Microsoft Windows NT") == Zero))
1094             {
1095                 \WNTF = 0x01
1096             }
1097 
1098             If ((\_REV >= 0x02))
1099             {
1100                 \H8DR = 0x01
1101             }
1102 
1103             \OSIF = 0x01
1104             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
1105             \_SB.PCI0.LPC.MOU.MHID ()
1106             If (\LNUX)
1107             {
1108                 \_SB.PCI0.LPC.EC.SAUM (0x02)
1109                 \UCMS (0x1C)
1110             }
1111 
1112             \_SB.PCI0.RID = \SRAH
1113             If (VIGD)
1114             {
1115                 \_SB.PCI0.VID.RID = \SRHE
1116             }
1117             Else
1118             {
1119                 \_SB.PCI0.PEG.RID = \SRHE
1120             }
1121 
1122             \_SB.PCI0.EXP1.RID = \SRE1
1123             \_SB.PCI0.EXP2.RID = \SRE2
1124             \_SB.PCI0.EXP3.RID = \SRE3
1125             \_SB.PCI0.EHC1.RID = \SRU7
1126             \_SB.PCI0.LPC.RID = \SRLP
1127             \_SB.PCI0.SAT1.RID = \SRSA
1128             \_SB.PCI0.SMBU.RID = \SRSM
1129             \UCMS (0x1D)
1130         }
1131 
1132         Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1133         {
1134             CreateDWordField (Arg3, 0x00, STS0)
1135             CreateDWordField (Arg3, 0x04, CAP0)
1136             If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
1137             {
1138                 If ((Arg1 == One))
1139                 {
1140                     If ((CAP0 & 0x04))
1141                     {
1142                         If (!VMSH)
1143                         {
1144                             If ((RTD3 == 0x00))
1145                             {
1146                                 CAP0 &= 0x3B
1147                                 STS0 |= 0x10
1148                             }
1149                         }
1150                     }
1151 
1152                     If ((CAP0 & 0x20))
1153                     {
1154                         If (CondRefOf (\_SB.PCCD.PENB))
1155                         {
1156                             If ((\_SB.PCCD.PENB == 0x00))
1157                             {
1158                                 CAP0 &= 0x1F
1159                                 STS0 |= 0x10
1160                             }
1161 
1162                             If ((\_SB.PCCD.PENB == 0x01))
1163                             {
1164                                 \CPPX = 0x01
1165                             }
1166                         }
1167                         Else
1168                         {
1169                             CAP0 &= 0x1F
1170                             STS0 |= 0x10
1171                         }
1172                     }
1173                 }
1174                 Else
1175                 {
1176                     STS0 &= 0xFFFFFF00
1177                     STS0 |= 0x0A
1178                 }
1179             }
1180             Else
1181             {
1182                 STS0 &= 0xFFFFFF00
1183                 STS0 |= 0x06
1184             }
1185 
1186             Return (Arg3)
1187         }
1188 
1189         Device (LNKA)
1190         {
1191             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1192             Name (_UID, 0x01)  // _UID: Unique ID
1193             Method (_STA, 0, NotSerialized)  // _STA: Status
1194             {
1195                 If (!VPIR (\_SB.PCI0.LPC.PIRA))
1196                 {
1197                     Return (0x09)
1198                 }
1199                 Else
1200                 {
1201                     Return (0x0B)
1202                 }
1203             }
1204 
1205             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1206             {
1207                 IRQ (Level, ActiveLow, Shared, )
1208                     {3,4,5,6,7,9,10,11}
1209             })
1210             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1211             {
1212                 \_SB.PCI0.LPC.PIRA |= 0x80
1213             }
1214 
1215             Name (BUFA, ResourceTemplate ()
1216             {
1217                 IRQ (Level, ActiveLow, Shared, _Y00)
1218                     {}
1219             })
1220             CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1)  // _INT: Interrupts
1221             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1222             {
1223                 Local0 = (\_SB.PCI0.LPC.PIRA & 0x8F)
1224                 If (VPIR (Local0))
1225                 {
1226                     IRA1 = (0x01 << Local0)
1227                 }
1228                 Else
1229                 {
1230                     IRA1 = 0x00
1231                 }
1232 
1233                 Return (BUFA) /* \_SB_.LNKA.BUFA */
1234             }
1235 
1236             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1237             {
1238                 CreateWordField (Arg0, 0x01, IRA2)
1239                 FindSetRightBit (IRA2, Local0)
1240                 Local1 = (\_SB.PCI0.LPC.PIRA & 0x70)
1241                 Local1 |= Local0--
1242                 \_SB.PCI0.LPC.PIRA = Local1
1243             }
1244         }
1245 
1246         Device (LNKB)
1247         {
1248             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1249             Name (_UID, 0x02)  // _UID: Unique ID
1250             Method (_STA, 0, NotSerialized)  // _STA: Status
1251             {
1252                 If (!VPIR (\_SB.PCI0.LPC.PIRB))
1253                 {
1254                     Return (0x09)
1255                 }
1256                 Else
1257                 {
1258                     Return (0x0B)
1259                 }
1260             }
1261 
1262             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1263             {
1264                 IRQ (Level, ActiveLow, Shared, )
1265                     {3,4,5,6,7,9,10,11}
1266             })
1267             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1268             {
1269                 \_SB.PCI0.LPC.PIRB |= 0x80
1270             }
1271 
1272             Name (BUFB, ResourceTemplate ()
1273             {
1274                 IRQ (Level, ActiveLow, Shared, _Y01)
1275                     {}
1276             })
1277             CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1)  // _INT: Interrupts
1278             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1279             {
1280                 Local0 = (\_SB.PCI0.LPC.PIRB & 0x8F)
1281                 If (VPIR (Local0))
1282                 {
1283                     IRB1 = (0x01 << Local0)
1284                 }
1285                 Else
1286                 {
1287                     IRB1 = 0x00
1288                 }
1289 
1290                 Return (BUFB) /* \_SB_.LNKB.BUFB */
1291             }
1292 
1293             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1294             {
1295                 CreateWordField (Arg0, 0x01, IRB2)
1296                 FindSetRightBit (IRB2, Local0)
1297                 Local1 = (\_SB.PCI0.LPC.PIRB & 0x70)
1298                 Local1 |= Local0--
1299                 \_SB.PCI0.LPC.PIRB = Local1
1300             }
1301         }
1302 
1303         Device (LNKC)
1304         {
1305             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1306             Name (_UID, 0x03)  // _UID: Unique ID
1307             Method (_STA, 0, NotSerialized)  // _STA: Status
1308             {
1309                 If (!VPIR (\_SB.PCI0.LPC.PIRC))
1310                 {
1311                     Return (0x09)
1312                 }
1313                 Else
1314                 {
1315                     Return (0x0B)
1316                 }
1317             }
1318 
1319             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1320             {
1321                 IRQ (Level, ActiveLow, Shared, )
1322                     {3,4,5,6,7,9,10,11}
1323             })
1324             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1325             {
1326                 \_SB.PCI0.LPC.PIRC |= 0x80
1327             }
1328 
1329             Name (BUFC, ResourceTemplate ()
1330             {
1331                 IRQ (Level, ActiveLow, Shared, _Y02)
1332                     {}
1333             })
1334             CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1)  // _INT: Interrupts
1335             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1336             {
1337                 Local0 = (\_SB.PCI0.LPC.PIRC & 0x8F)
1338                 If (VPIR (Local0))
1339                 {
1340                     IRC1 = (0x01 << Local0)
1341                 }
1342                 Else
1343                 {
1344                     IRC1 = 0x00
1345                 }
1346 
1347                 Return (BUFC) /* \_SB_.LNKC.BUFC */
1348             }
1349 
1350             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1351             {
1352                 CreateWordField (Arg0, 0x01, IRC2)
1353                 FindSetRightBit (IRC2, Local0)
1354                 Local1 = (\_SB.PCI0.LPC.PIRC & 0x70)
1355                 Local1 |= Local0--
1356                 \_SB.PCI0.LPC.PIRC = Local1
1357             }
1358         }
1359 
1360         Device (LNKD)
1361         {
1362             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1363             Name (_UID, 0x04)  // _UID: Unique ID
1364             Method (_STA, 0, NotSerialized)  // _STA: Status
1365             {
1366                 If (!VPIR (\_SB.PCI0.LPC.PIRD))
1367                 {
1368                     Return (0x09)
1369                 }
1370                 Else
1371                 {
1372                     Return (0x0B)
1373                 }
1374             }
1375 
1376             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1377             {
1378                 IRQ (Level, ActiveLow, Shared, )
1379                     {3,4,5,6,7,9,10,11}
1380             })
1381             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1382             {
1383                 \_SB.PCI0.LPC.PIRD |= 0x80
1384             }
1385 
1386             Name (BUFD, ResourceTemplate ()
1387             {
1388                 IRQ (Level, ActiveLow, Shared, _Y03)
1389                     {}
1390             })
1391             CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1)  // _INT: Interrupts
1392             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1393             {
1394                 Local0 = (\_SB.PCI0.LPC.PIRD & 0x8F)
1395                 If (VPIR (Local0))
1396                 {
1397                     IRD1 = (0x01 << Local0)
1398                 }
1399                 Else
1400                 {
1401                     IRD1 = 0x00
1402                 }
1403 
1404                 Return (BUFD) /* \_SB_.LNKD.BUFD */
1405             }
1406 
1407             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1408             {
1409                 CreateWordField (Arg0, 0x01, IRD2)
1410                 FindSetRightBit (IRD2, Local0)
1411                 Local1 = (\_SB.PCI0.LPC.PIRD & 0x70)
1412                 Local1 |= Local0--
1413                 \_SB.PCI0.LPC.PIRD = Local1
1414             }
1415         }
1416 
1417         Device (LNKE)
1418         {
1419             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1420             Name (_UID, 0x05)  // _UID: Unique ID
1421             Method (_STA, 0, NotSerialized)  // _STA: Status
1422             {
1423                 If (!VPIR (\_SB.PCI0.LPC.PIRE))
1424                 {
1425                     Return (0x09)
1426                 }
1427                 Else
1428                 {
1429                     Return (0x0B)
1430                 }
1431             }
1432 
1433             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1434             {
1435                 IRQ (Level, ActiveLow, Shared, )
1436                     {3,4,5,6,7,9,10,11}
1437             })
1438             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1439             {
1440                 \_SB.PCI0.LPC.PIRE |= 0x80
1441             }
1442 
1443             Name (BUFE, ResourceTemplate ()
1444             {
1445                 IRQ (Level, ActiveLow, Shared, _Y04)
1446                     {}
1447             })
1448             CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1)  // _INT: Interrupts
1449             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1450             {
1451                 Local0 = (\_SB.PCI0.LPC.PIRE & 0x8F)
1452                 If (VPIR (Local0))
1453                 {
1454                     IRE1 = (0x01 << Local0)
1455                 }
1456                 Else
1457                 {
1458                     IRE1 = 0x00
1459                 }
1460 
1461                 Return (BUFE) /* \_SB_.LNKE.BUFE */
1462             }
1463 
1464             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1465             {
1466                 CreateWordField (Arg0, 0x01, IRE2)
1467                 FindSetRightBit (IRE2, Local0)
1468                 Local1 = (\_SB.PCI0.LPC.PIRE & 0x70)
1469                 Local1 |= Local0--
1470                 \_SB.PCI0.LPC.PIRE = Local1
1471             }
1472         }
1473 
1474         Device (LNKF)
1475         {
1476             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1477             Name (_UID, 0x06)  // _UID: Unique ID
1478             Method (_STA, 0, NotSerialized)  // _STA: Status
1479             {
1480                 If (!VPIR (\_SB.PCI0.LPC.PIRF))
1481                 {
1482                     Return (0x09)
1483                 }
1484                 Else
1485                 {
1486                     Return (0x0B)
1487                 }
1488             }
1489 
1490             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1491             {
1492                 IRQ (Level, ActiveLow, Shared, )
1493                     {3,4,5,6,7,9,10,11}
1494             })
1495             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1496             {
1497                 \_SB.PCI0.LPC.PIRF |= 0x80
1498             }
1499 
1500             Name (BUFF, ResourceTemplate ()
1501             {
1502                 IRQ (Level, ActiveLow, Shared, _Y05)
1503                     {}
1504             })
1505             CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1)  // _INT: Interrupts
1506             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1507             {
1508                 Local0 = (\_SB.PCI0.LPC.PIRF & 0x8F)
1509                 If (VPIR (Local0))
1510                 {
1511                     IRF1 = (0x01 << Local0)
1512                 }
1513                 Else
1514                 {
1515                     IRF1 = 0x00
1516                 }
1517 
1518                 Return (BUFF) /* \_SB_.LNKF.BUFF */
1519             }
1520 
1521             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1522             {
1523                 CreateWordField (Arg0, 0x01, IRF2)
1524                 FindSetRightBit (IRF2, Local0)
1525                 Local1 = (\_SB.PCI0.LPC.PIRF & 0x70)
1526                 Local1 |= Local0--
1527                 \_SB.PCI0.LPC.PIRF = Local1
1528             }
1529         }
1530 
1531         Device (LNKG)
1532         {
1533             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1534             Name (_UID, 0x07)  // _UID: Unique ID
1535             Method (_STA, 0, NotSerialized)  // _STA: Status
1536             {
1537                 If (!VPIR (\_SB.PCI0.LPC.PIRG))
1538                 {
1539                     Return (0x09)
1540                 }
1541                 Else
1542                 {
1543                     Return (0x0B)
1544                 }
1545             }
1546 
1547             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1548             {
1549                 IRQ (Level, ActiveLow, Shared, )
1550                     {3,4,5,6,7,9,10,11}
1551             })
1552             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1553             {
1554                 \_SB.PCI0.LPC.PIRG |= 0x80
1555             }
1556 
1557             Name (BUFG, ResourceTemplate ()
1558             {
1559                 IRQ (Level, ActiveLow, Shared, _Y06)
1560                     {}
1561             })
1562             CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1)  // _INT: Interrupts
1563             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1564             {
1565                 Local0 = (\_SB.PCI0.LPC.PIRG & 0x8F)
1566                 If (VPIR (Local0))
1567                 {
1568                     IRG1 = (0x01 << Local0)
1569                 }
1570                 Else
1571                 {
1572                     IRG1 = 0x00
1573                 }
1574 
1575                 Return (BUFG) /* \_SB_.LNKG.BUFG */
1576             }
1577 
1578             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1579             {
1580                 CreateWordField (Arg0, 0x01, IRG2)
1581                 FindSetRightBit (IRG2, Local0)
1582                 Local1 = (\_SB.PCI0.LPC.PIRG & 0x70)
1583                 Local1 |= Local0--
1584                 \_SB.PCI0.LPC.PIRG = Local1
1585             }
1586         }
1587 
1588         Device (LNKH)
1589         {
1590             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1591             Name (_UID, 0x08)  // _UID: Unique ID
1592             Method (_STA, 0, NotSerialized)  // _STA: Status
1593             {
1594                 If (!VPIR (\_SB.PCI0.LPC.PIRH))
1595                 {
1596                     Return (0x09)
1597                 }
1598                 Else
1599                 {
1600                     Return (0x0B)
1601                 }
1602             }
1603 
1604             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1605             {
1606                 IRQ (Level, ActiveLow, Shared, )
1607                     {3,4,5,6,7,9,10,11}
1608             })
1609             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1610             {
1611                 \_SB.PCI0.LPC.PIRH |= 0x80
1612             }
1613 
1614             Name (BUFH, ResourceTemplate ()
1615             {
1616                 IRQ (Level, ActiveLow, Shared, _Y07)
1617                     {}
1618             })
1619             CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1)  // _INT: Interrupts
1620             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1621             {
1622                 Local0 = (\_SB.PCI0.LPC.PIRH & 0x8F)
1623                 If (VPIR (Local0))
1624                 {
1625                     IRH1 = (0x01 << Local0)
1626                 }
1627                 Else
1628                 {
1629                     IRH1 = 0x00
1630                 }
1631 
1632                 Return (BUFH) /* \_SB_.LNKH.BUFH */
1633             }
1634 
1635             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1636             {
1637                 CreateWordField (Arg0, 0x01, IRH2)
1638                 FindSetRightBit (IRH2, Local0)
1639                 Local1 = (\_SB.PCI0.LPC.PIRH & 0x70)
1640                 Local1 |= Local0--
1641                 \_SB.PCI0.LPC.PIRH = Local1
1642             }
1643         }
1644 
1645         Method (VPIR, 1, NotSerialized)
1646         {
1647             Local0 = 0x01
1648             If ((Arg0 & 0x80))
1649             {
1650                 Local0 = 0x00
1651             }
1652             Else
1653             {
1654                 Local1 = (Arg0 & 0x0F)
1655                 If ((Local1 < 0x03))
1656                 {
1657                     Local0 = 0x00
1658                 }
1659                 ElseIf (((Local1 == 0x08) || (Local1 == 0x0D)))
1660                 {
1661                     Local0 = 0x00
1662                 }
1663             }
1664 
1665             Return (Local0)
1666         }
1667 
1668         Device (MEM)
1669         {
1670             Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
1671             Name (MEMS, ResourceTemplate ()
1672             {
1673                 Memory32Fixed (ReadWrite,
1674                     0x00000000,         // Address Base
1675                     0x000A0000,         // Address Length
1676                     )
1677                 Memory32Fixed (ReadOnly,
1678                     0x000C0000,         // Address Base
1679                     0x00000000,         // Address Length
1680                     _Y08)
1681                 Memory32Fixed (ReadOnly,
1682                     0x000C4000,         // Address Base
1683                     0x00000000,         // Address Length
1684                     _Y09)
1685                 Memory32Fixed (ReadOnly,
1686                     0x000C8000,         // Address Base
1687                     0x00000000,         // Address Length
1688                     _Y0A)
1689                 Memory32Fixed (ReadOnly,
1690                     0x000CC000,         // Address Base
1691                     0x00000000,         // Address Length
1692                     _Y0B)
1693                 Memory32Fixed (ReadOnly,
1694                     0x000D0000,         // Address Base
1695                     0x00000000,         // Address Length
1696                     _Y0C)
1697                 Memory32Fixed (ReadOnly,
1698                     0x000D4000,         // Address Base
1699                     0x00000000,         // Address Length
1700                     _Y0D)
1701                 Memory32Fixed (ReadOnly,
1702                     0x000D8000,         // Address Base
1703                     0x00000000,         // Address Length
1704                     _Y0E)
1705                 Memory32Fixed (ReadOnly,
1706                     0x000DC000,         // Address Base
1707                     0x00000000,         // Address Length
1708                     _Y0F)
1709                 Memory32Fixed (ReadOnly,
1710                     0x000E0000,         // Address Base
1711                     0x00000000,         // Address Length
1712                     _Y10)
1713                 Memory32Fixed (ReadOnly,
1714                     0x000E4000,         // Address Base
1715                     0x00000000,         // Address Length
1716                     _Y11)
1717                 Memory32Fixed (ReadOnly,
1718                     0x000E8000,         // Address Base
1719                     0x00000000,         // Address Length
1720                     _Y12)
1721                 Memory32Fixed (ReadOnly,
1722                     0x000EC000,         // Address Base
1723                     0x00000000,         // Address Length
1724                     _Y13)
1725                 Memory32Fixed (ReadOnly,
1726                     0x000F0000,         // Address Base
1727                     0x00010000,         // Address Length
1728                     )
1729                 Memory32Fixed (ReadWrite,
1730                     0x00100000,         // Address Base
1731                     0x01EE0000,         // Address Length
1732                     _Y14)
1733                 Memory32Fixed (ReadOnly,
1734                     0xFEC00000,         // Address Base
1735                     0x00140000,         // Address Length
1736                     _Y15)
1737                 Memory32Fixed (ReadOnly,
1738                     0xFED4C000,         // Address Base
1739                     0x012B4000,         // Address Length
1740                     _Y16)
1741             })
1742             CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L)  // _LEN: Length
1743             CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L)  // _LEN: Length
1744             CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L)  // _LEN: Length
1745             CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL)  // _LEN: Length
1746             CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L)  // _LEN: Length
1747             CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L)  // _LEN: Length
1748             CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L)  // _LEN: Length
1749             CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL)  // _LEN: Length
1750             CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L)  // _LEN: Length
1751             CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L)  // _LEN: Length
1752             CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L)  // _LEN: Length
1753             CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL)  // _LEN: Length
1754             CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W)  // _RW_: Read-Write Status
1755             CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W)  // _RW_: Read-Write Status
1756             CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W)  // _RW_: Read-Write Status
1757             CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW)  // _RW_: Read-Write Status
1758             CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W)  // _RW_: Read-Write Status
1759             CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W)  // _RW_: Read-Write Status
1760             CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W)  // _RW_: Read-Write Status
1761             CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW)  // _RW_: Read-Write Status
1762             CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W)  // _RW_: Read-Write Status
1763             CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W)  // _RW_: Read-Write Status
1764             CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W)  // _RW_: Read-Write Status
1765             CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW)  // _RW_: Read-Write Status
1766             CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1)  // _BAS: Base Address
1767             CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1)  // _LEN: Length
1768             CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2)  // _LEN: Length
1769             CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3)  // _LEN: Length
1770             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1771             {
1772                 Local0 = (\_SB.PCI0.PAM1 & 0x03)
1773                 If (Local0)
1774                 {
1775                     MC0L = 0x4000
1776                     If ((Local0 & 0x02))
1777                     {
1778                         MC0W = 0x01
1779                     }
1780                 }
1781 
1782                 Local0 = (\_SB.PCI0.PAM1 & 0x30)
1783                 If (Local0)
1784                 {
1785                     MC4L = 0x4000
1786                     If ((Local0 & 0x20))
1787                     {
1788                         MC4W = 0x01
1789                     }
1790                 }
1791 
1792                 Local0 = (\_SB.PCI0.PAM2 & 0x03)
1793                 If (Local0)
1794                 {
1795                     MC8L = 0x4000
1796                     If ((Local0 & 0x02))
1797                     {
1798                         MC8W = 0x01
1799                     }
1800                 }
1801 
1802                 Local0 = (\_SB.PCI0.PAM2 & 0x30)
1803                 If (Local0)
1804                 {
1805                     MCCL = 0x4000
1806                     If ((Local0 & 0x20))
1807                     {
1808                         MCCW = 0x01
1809                     }
1810                 }
1811 
1812                 Local0 = (\_SB.PCI0.PAM3 & 0x03)
1813                 If (Local0)
1814                 {
1815                     MD0L = 0x4000
1816                     If ((Local0 & 0x02))
1817                     {
1818                         MD0W = 0x01
1819                     }
1820                 }
1821 
1822                 Local0 = (\_SB.PCI0.PAM3 & 0x30)
1823                 If (Local0)
1824                 {
1825                     MD4L = 0x4000
1826                     If ((Local0 & 0x20))
1827                     {
1828                         MD4W = 0x01
1829                     }
1830                 }
1831 
1832                 Local0 = (\_SB.PCI0.PAM4 & 0x03)
1833                 If (Local0)
1834                 {
1835                     MD8L = 0x4000
1836                     If ((Local0 & 0x02))
1837                     {
1838                         MD8W = 0x01
1839                     }
1840                 }
1841 
1842                 Local0 = (\_SB.PCI0.PAM4 & 0x30)
1843                 If (Local0)
1844                 {
1845                     MDCL = 0x4000
1846                     If ((Local0 & 0x20))
1847                     {
1848                         MDCW = 0x01
1849                     }
1850                 }
1851 
1852                 Local0 = (\_SB.PCI0.PAM5 & 0x03)
1853                 If (Local0)
1854                 {
1855                     ME0L = 0x4000
1856                     If ((Local0 & 0x02))
1857                     {
1858                         ME0W = 0x01
1859                     }
1860                 }
1861 
1862                 Local0 = (\_SB.PCI0.PAM5 & 0x30)
1863                 If (Local0)
1864                 {
1865                     ME4L = 0x4000
1866                     If ((Local0 & 0x20))
1867                     {
1868                         ME4W = 0x01
1869                     }
1870                 }
1871 
1872                 Local0 = (\_SB.PCI0.PAM6 & 0x03)
1873                 If (Local0)
1874                 {
1875                     ME8L = 0x4000
1876                     If ((Local0 & 0x02))
1877                     {
1878                         ME8W = 0x01
1879                     }
1880                 }
1881 
1882                 Local0 = (\_SB.PCI0.PAM6 & 0x30)
1883                 If (Local0)
1884                 {
1885                     MECL = 0x4000
1886                     If ((Local0 & 0x20))
1887                     {
1888                         MECW = 0x01
1889                     }
1890                 }
1891 
1892                 MEL1 = (\MEMX - MEB1) /* \_SB_.MEM_.MEB1 */
1893                 If ((\_SB.PCI0.LPC.TPM._STA () != 0x0F))
1894                 {
1895                     MEL2 = 0x01400000
1896                     MEL3 = 0x00
1897                 }
1898 
1899                 Return (MEMS) /* \_SB_.MEM_.MEMS */
1900             }
1901         }
1902 
1903         Device (LID)
1904         {
1905             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
1906             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
1907             {
1908                 If (((\ILNF == 0x00) && (\PLUX == 0x00)))
1909                 {
1910                     If (\H8DR)
1911                     {
1912                         Return (\_SB.PCI0.LPC.EC.HPLD)
1913                     }
1914                     ElseIf ((\RBEC (0x46) & 0x04))
1915                     {
1916                         Return (0x01)
1917                     }
1918                     Else
1919                     {
1920                         Return (0x00)
1921                     }
1922                 }
1923                 Else
1924                 {
1925                     Return (0x01)
1926                 }
1927             }
1928 
1929             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1930             {
1931                 If (\LWCP)
1932                 {
1933                     Return (Package (0x02)
1934                     {
1935                         0x0D, 
1936                         0x04
1937                     })
1938                 }
1939                 Else
1940                 {
1941                     Return (Package (0x02)
1942                     {
1943                         0x0D, 
1944                         0x03
1945                     })
1946                 }
1947             }
1948 
1949             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
1950             {
1951                 If (\H8DR)
1952                 {
1953                     If (Arg0)
1954                     {
1955                         \_SB.PCI0.LPC.EC.HWLO = 0x01
1956                     }
1957                     Else
1958                     {
1959                         \_SB.PCI0.LPC.EC.HWLO = 0x00
1960                     }
1961                 }
1962                 ElseIf (Arg0)
1963                 {
1964                     \MBEC (0x32, 0xFF, 0x04)
1965                 }
1966                 Else
1967                 {
1968                     \MBEC (0x32, 0xFB, 0x00)
1969                 }
1970 
1971                 If (\LWCP)
1972                 {
1973                     If (Arg0)
1974                     {
1975                         \LWEN = 0x01
1976                     }
1977                     Else
1978                     {
1979                         \LWEN = 0x00
1980                     }
1981                 }
1982             }
1983         }
1984 
1985         Device (SLPB)
1986         {
1987             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
1988             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1989             {
1990                 Return (Package (0x02)
1991                 {
1992                     0x0D, 
1993                     0x03
1994                 })
1995             }
1996 
1997             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
1998             {
1999                 If (\H8DR)
2000                 {
2001                     If (Arg0)
2002                     {
2003                         \_SB.PCI0.LPC.EC.HWFN = 0x01
2004                     }
2005                     Else
2006                     {
2007                         \_SB.PCI0.LPC.EC.HWFN = 0x00
2008                     }
2009                 }
2010                 ElseIf (Arg0)
2011                 {
2012                     \MBEC (0x32, 0xFF, 0x10)
2013                 }
2014                 Else
2015                 {
2016                     \MBEC (0x32, 0xEF, 0x00)
2017                 }
2018             }
2019         }
2020 
2021         Scope (\)
2022         {
2023             Name (UPC0, Package (0x04)
2024             {
2025                 0xFF, 
2026                 0x00, 
2027                 0x00, 
2028                 0x00
2029             })
2030             Name (PLD0, Buffer (0x10)
2031             {
2032                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2033                 /* 0008 */  0x99, 0x11, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00   // ........
2034             })
2035             Name (UPC1, Package (0x04)
2036             {
2037                 0xFF, 
2038                 0x00, 
2039                 0x00, 
2040                 0x00
2041             })
2042             Name (PLD1, Buffer (0x10)
2043             {
2044                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2045                 /* 0008 */  0x91, 0x12, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00   // ........
2046             })
2047             Name (UPC2, Package (0x04)
2048             {
2049                 0xFF, 
2050                 0xFF, 
2051                 0x00, 
2052                 0x00
2053             })
2054             Name (PLD2, Buffer (0x10)
2055             {
2056                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2057                 /* 0008 */  0x31, 0x1C, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00   // 1.......
2058             })
2059             Name (PLDZ, Buffer (0x10)
2060             {
2061                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2062                 /* 0008 */  0x30, 0x1C, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00   // 0.......
2063             })
2064             Name (UPC3, Package (0x04)
2065             {
2066                 0x00, 
2067                 0x02, 
2068                 0x00, 
2069                 0x00
2070             })
2071             Name (PLD3, Buffer (0x10)
2072             {
2073                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2074                 /* 0008 */  0x48, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   // H.......
2075             })
2076             Name (UPCI, Package (0x04)
2077             {
2078                 0x00, 
2079                 0xFF, 
2080                 0x00, 
2081                 0x00
2082             })
2083             Name (PLDI, Buffer (0x10)
2084             {
2085                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2086                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // 0.......
2087             })
2088             Name (PLDC, Buffer (0x14)
2089             {
2090                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
2091                 /* 0008 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
2092                 /* 0010 */  0xDD, 0x00, 0x95, 0x00                           // ....
2093             })
2094         }
2095 
2096         Name (XWMB, 0xFFFFFFFF)
2097         Device (PCI0)
2098         {
2099             Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
2100             Name (_ADR, 0x00)  // _ADR: Address
2101             Name (RID, 0x00)
2102             Name (_S3D, 0x02)  // _S3D: S3 Device State
2103             Name (LRRT, Package (0x17)
2104             {
2105                 Package (0x04)
2106                 {
2107                     0x0001FFFF, 
2108                     0x00, 
2109                     \_SB.LNKA, 
2110                     0x00
2111                 }, 
2112 
2113                 Package (0x04)
2114                 {
2115                     0x0002FFFF, 
2116                     0x00, 
2117                     \_SB.LNKA, 
2118                     0x00
2119                 }, 
2120 
2121                 Package (0x04)
2122                 {
2123                     0x0003FFFF, 
2124                     0x00, 
2125                     \_SB.LNKA, 
2126                     0x00
2127                 }, 
2128 
2129                 Package (0x04)
2130                 {
2131                     0x0014FFFF, 
2132                     0x00, 
2133                     \_SB.LNKA, 
2134                     0x00
2135                 }, 
2136 
2137                 Package (0x04)
2138                 {
2139                     0x0016FFFF, 
2140                     0x00, 
2141                     \_SB.LNKA, 
2142                     0x00
2143                 }, 
2144 
2145                 Package (0x04)
2146                 {
2147                     0x0016FFFF, 
2148                     0x01, 
2149                     \_SB.LNKD, 
2150                     0x00
2151                 }, 
2152 
2153                 Package (0x04)
2154                 {
2155                     0x0016FFFF, 
2156                     0x02, 
2157                     \_SB.LNKC, 
2158                     0x00
2159                 }, 
2160 
2161                 Package (0x04)
2162                 {
2163                     0x0016FFFF, 
2164                     0x03, 
2165                     \_SB.LNKB, 
2166                     0x00
2167                 }, 
2168 
2169                 Package (0x04)
2170                 {
2171                     0x0019FFFF, 
2172                     0x00, 
2173                     \_SB.LNKE, 
2174                     0x00
2175                 }, 
2176 
2177                 Package (0x04)
2178                 {
2179                     0x001AFFFF, 
2180                     0x00, 
2181                     \_SB.LNKA, 
2182                     0x00
2183                 }, 
2184 
2185                 Package (0x04)
2186                 {
2187                     0x001BFFFF, 
2188                     0x00, 
2189                     \_SB.LNKG, 
2190                     0x00
2191                 }, 
2192 
2193                 Package (0x04)
2194                 {
2195                     0x001CFFFF, 
2196                     0x00, 
2197                     \_SB.LNKA, 
2198                     0x00
2199                 }, 
2200 
2201                 Package (0x04)
2202                 {
2203                     0x001CFFFF, 
2204                     0x01, 
2205                     \_SB.LNKB, 
2206                     0x00
2207                 }, 
2208 
2209                 Package (0x04)
2210                 {
2211                     0x001CFFFF, 
2212                     0x02, 
2213                     \_SB.LNKC, 
2214                     0x00
2215                 }, 
2216 
2217                 Package (0x04)
2218                 {
2219                     0x001CFFFF, 
2220                     0x03, 
2221                     \_SB.LNKD, 
2222                     0x00
2223                 }, 
2224 
2225                 Package (0x04)
2226                 {
2227                     0x001DFFFF, 
2228                     0x00, 
2229                     \_SB.LNKH, 
2230                     0x00
2231                 }, 
2232 
2233                 Package (0x04)
2234                 {
2235                     0x001DFFFF, 
2236                     0x01, 
2237                     \_SB.LNKD, 
2238                     0x00
2239                 }, 
2240 
2241                 Package (0x04)
2242                 {
2243                     0x001DFFFF, 
2244                     0x02, 
2245                     \_SB.LNKA, 
2246                     0x00
2247                 }, 
2248 
2249                 Package (0x04)
2250                 {
2251                     0x001DFFFF, 
2252                     0x03, 
2253                     \_SB.LNKC, 
2254                     0x00
2255                 }, 
2256 
2257                 Package (0x04)
2258                 {
2259                     0x001FFFFF, 
2260                     0x00, 
2261                     \_SB.LNKF, 
2262                     0x00
2263                 }, 
2264 
2265                 Package (0x04)
2266                 {
2267                     0x001FFFFF, 
2268                     0x01, 
2269                     \_SB.LNKD, 
2270                     0x00
2271                 }, 
2272 
2273                 Package (0x04)
2274                 {
2275                     0x001FFFFF, 
2276                     0x02, 
2277                     \_SB.LNKC, 
2278                     0x00
2279                 }, 
2280 
2281                 Package (0x04)
2282                 {
2283                     0x001FFFFF, 
2284                     0x03, 
2285                     \_SB.LNKA, 
2286                     0x00
2287                 }
2288             })
2289             Name (ARRT, Package (0x17)
2290             {
2291                 Package (0x04)
2292                 {
2293                     0x0001FFFF, 
2294                     0x00, 
2295                     0x00, 
2296                     0x10
2297                 }, 
2298 
2299                 Package (0x04)
2300                 {
2301                     0x0002FFFF, 
2302                     0x00, 
2303                     0x00, 
2304                     0x10
2305                 }, 
2306 
2307                 Package (0x04)
2308                 {
2309                     0x0003FFFF, 
2310                     0x00, 
2311                     0x00, 
2312                     0x10
2313                 }, 
2314 
2315                 Package (0x04)
2316                 {
2317                     0x0014FFFF, 
2318                     0x00, 
2319                     0x00, 
2320                     0x10
2321                 }, 
2322 
2323                 Package (0x04)
2324                 {
2325                     0x0016FFFF, 
2326                     0x00, 
2327                     0x00, 
2328                     0x10
2329                 }, 
2330 
2331                 Package (0x04)
2332                 {
2333                     0x0016FFFF, 
2334                     0x01, 
2335                     0x00, 
2336                     0x13
2337                 }, 
2338 
2339                 Package (0x04)
2340                 {
2341                     0x0016FFFF, 
2342                     0x02, 
2343                     0x00, 
2344                     0x12
2345                 }, 
2346 
2347                 Package (0x04)
2348                 {
2349                     0x0016FFFF, 
2350                     0x03, 
2351                     0x00, 
2352                     0x11
2353                 }, 
2354 
2355                 Package (0x04)
2356                 {
2357                     0x0019FFFF, 
2358                     0x00, 
2359                     0x00, 
2360                     0x14
2361                 }, 
2362 
2363                 Package (0x04)
2364                 {
2365                     0x001AFFFF, 
2366                     0x00, 
2367                     0x00, 
2368                     0x10
2369                 }, 
2370 
2371                 Package (0x04)
2372                 {
2373                     0x001BFFFF, 
2374                     0x00, 
2375                     0x00, 
2376                     0x16
2377                 }, 
2378 
2379                 Package (0x04)
2380                 {
2381                     0x001CFFFF, 
2382                     0x00, 
2383                     0x00, 
2384                     0x10
2385                 }, 
2386 
2387                 Package (0x04)
2388                 {
2389                     0x001CFFFF, 
2390                     0x01, 
2391                     0x00, 
2392                     0x11
2393                 }, 
2394 
2395                 Package (0x04)
2396                 {
2397                     0x001CFFFF, 
2398                     0x02, 
2399                     0x00, 
2400                     0x12
2401                 }, 
2402 
2403                 Package (0x04)
2404                 {
2405                     0x001CFFFF, 
2406                     0x03, 
2407                     0x00, 
2408                     0x13
2409                 }, 
2410 
2411                 Package (0x04)
2412                 {
2413                     0x001DFFFF, 
2414                     0x00, 
2415                     0x00, 
2416                     0x17
2417                 }, 
2418 
2419                 Package (0x04)
2420                 {
2421                     0x001DFFFF, 
2422                     0x01, 
2423                     0x00, 
2424                     0x13
2425                 }, 
2426 
2427                 Package (0x04)
2428                 {
2429                     0x001DFFFF, 
2430                     0x02, 
2431                     0x00, 
2432                     0x10
2433                 }, 
2434 
2435                 Package (0x04)
2436                 {
2437                     0x001DFFFF, 
2438                     0x03, 
2439                     0x00, 
2440                     0x12
2441                 }, 
2442 
2443                 Package (0x04)
2444                 {
2445                     0x001FFFFF, 
2446                     0x00, 
2447                     0x00, 
2448                     0x15
2449                 }, 
2450 
2451                 Package (0x04)
2452                 {
2453                     0x001FFFFF, 
2454                     0x01, 
2455                     0x00, 
2456                     0x13
2457                 }, 
2458 
2459                 Package (0x04)
2460                 {
2461                     0x001FFFFF, 
2462                     0x02, 
2463                     0x00, 
2464                     0x12
2465                 }, 
2466 
2467                 Package (0x04)
2468                 {
2469                     0x001FFFFF, 
2470                     0x03, 
2471                     0x00, 
2472                     0x10
2473                 }
2474             })
2475             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2476             {
2477                 If (\GPIC)
2478                 {
2479                     Return (ARRT) /* \_SB_.PCI0.ARRT */
2480                 }
2481                 Else
2482                 {
2483                     Return (LRRT) /* \_SB_.PCI0.LRRT */
2484                 }
2485             }
2486 
2487             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
2488             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
2489             OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2490             Field (MHCS, DWordAcc, NoLock, Preserve)
2491             {
2492                 Offset (0x40), 
2493                 PAM0,   8, 
2494                 PAM1,   8, 
2495                 PAM2,   8, 
2496                 PAM3,   8, 
2497                 PAM4,   8, 
2498                 PAM5,   8, 
2499                 PAM6,   8, 
2500                 Offset (0x7C), 
2501                     ,   20, 
2502                 TLUD,   12
2503             }
2504 
2505             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2506             {
2507                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2508                     0x0000,             // Granularity
2509                     0x0000,             // Range Minimum
2510                     0x00FF,             // Range Maximum
2511                     0x0000,             // Translation Offset
2512                     0x0100,             // Length
2513                     ,, _Y25)
2514                 IO (Decode16,
2515                     0x0CF8,             // Range Minimum
2516                     0x0CF8,             // Range Maximum
2517                     0x01,               // Alignment
2518                     0x08,               // Length
2519                     )
2520                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2521                     0x0000,             // Granularity
2522                     0x0000,             // Range Minimum
2523                     0x0CF7,             // Range Maximum
2524                     0x0000,             // Translation Offset
2525                     0x0CF8,             // Length
2526                     ,, , TypeStatic, DenseTranslation)
2527                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2528                     0x0000,             // Granularity
2529                     0x0D00,             // Range Minimum
2530                     0xFFFF,             // Range Maximum
2531                     0x0000,             // Translation Offset
2532                     0xF300,             // Length
2533                     ,, , TypeStatic, DenseTranslation)
2534                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2535                     0x00000000,         // Granularity
2536                     0x000A0000,         // Range Minimum
2537                     0x000BFFFF,         // Range Maximum
2538                     0x00000000,         // Translation Offset
2539                     0x00020000,         // Length
2540                     ,, , AddressRangeMemory, TypeStatic)
2541                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2542                     0x00000000,         // Granularity
2543                     0x000C0000,         // Range Minimum
2544                     0x000C3FFF,         // Range Maximum
2545                     0x00000000,         // Translation Offset
2546                     0x00004000,         // Length
2547                     ,, _Y17, AddressRangeMemory, TypeStatic)
2548                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2549                     0x00000000,         // Granularity
2550                     0x000C4000,         // Range Minimum
2551                     0x000C7FFF,         // Range Maximum
2552                     0x00000000,         // Translation Offset
2553                     0x00004000,         // Length
2554                     ,, _Y18, AddressRangeMemory, TypeStatic)
2555                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2556                     0x00000000,         // Granularity
2557                     0x000C8000,         // Range Minimum
2558                     0x000CBFFF,         // Range Maximum
2559                     0x00000000,         // Translation Offset
2560                     0x00004000,         // Length
2561                     ,, _Y19, AddressRangeMemory, TypeStatic)
2562                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2563                     0x00000000,         // Granularity
2564                     0x000CC000,         // Range Minimum
2565                     0x000CFFFF,         // Range Maximum
2566                     0x00000000,         // Translation Offset
2567                     0x00004000,         // Length
2568                     ,, _Y1A, AddressRangeMemory, TypeStatic)
2569                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2570                     0x00000000,         // Granularity
2571                     0x000D0000,         // Range Minimum
2572                     0x000D3FFF,         // Range Maximum
2573                     0x00000000,         // Translation Offset
2574                     0x00004000,         // Length
2575                     ,, _Y1B, AddressRangeMemory, TypeStatic)
2576                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2577                     0x00000000,         // Granularity
2578                     0x000D4000,         // Range Minimum
2579                     0x000D7FFF,         // Range Maximum
2580                     0x00000000,         // Translation Offset
2581                     0x00004000,         // Length
2582                     ,, _Y1C, AddressRangeMemory, TypeStatic)
2583                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2584                     0x00000000,         // Granularity
2585                     0x000D8000,         // Range Minimum
2586                     0x000DBFFF,         // Range Maximum
2587                     0x00000000,         // Translation Offset
2588                     0x00004000,         // Length
2589                     ,, _Y1D, AddressRangeMemory, TypeStatic)
2590                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2591                     0x00000000,         // Granularity
2592                     0x000DC000,         // Range Minimum
2593                     0x000DFFFF,         // Range Maximum
2594                     0x00000000,         // Translation Offset
2595                     0x00004000,         // Length
2596                     ,, _Y1E, AddressRangeMemory, TypeStatic)
2597                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2598                     0x00000000,         // Granularity
2599                     0x000E0000,         // Range Minimum
2600                     0x000E3FFF,         // Range Maximum
2601                     0x00000000,         // Translation Offset
2602                     0x00004000,         // Length
2603                     ,, _Y1F, AddressRangeMemory, TypeStatic)
2604                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2605                     0x00000000,         // Granularity
2606                     0x000E4000,         // Range Minimum
2607                     0x000E7FFF,         // Range Maximum
2608                     0x00000000,         // Translation Offset
2609                     0x00004000,         // Length
2610                     ,, _Y20, AddressRangeMemory, TypeStatic)
2611                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2612                     0x00000000,         // Granularity
2613                     0x000E8000,         // Range Minimum
2614                     0x000EBFFF,         // Range Maximum
2615                     0x00000000,         // Translation Offset
2616                     0x00004000,         // Length
2617                     ,, _Y21, AddressRangeMemory, TypeStatic)
2618                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2619                     0x00000000,         // Granularity
2620                     0x000EC000,         // Range Minimum
2621                     0x000EFFFF,         // Range Maximum
2622                     0x00000000,         // Translation Offset
2623                     0x00004000,         // Length
2624                     ,, _Y22, AddressRangeMemory, TypeStatic)
2625                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2626                     0x00000000,         // Granularity
2627                     0x00100000,         // Range Minimum
2628                     0xFEBFFFFF,         // Range Maximum
2629                     0x00000000,         // Translation Offset
2630                     0xFEB00000,         // Length
2631                     ,, _Y23, AddressRangeMemory, TypeStatic)
2632                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2633                     0x00000000,         // Granularity
2634                     0xFED40000,         // Range Minimum
2635                     0xFED4BFFF,         // Range Maximum
2636                     0x00000000,         // Translation Offset
2637                     0x0000C000,         // Length
2638                     ,, _Y24, AddressRangeMemory, TypeStatic)
2639             })
2640             CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN)  // _LEN: Length
2641             CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN)  // _LEN: Length
2642             CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN)  // _LEN: Length
2643             CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN)  // _LEN: Length
2644             CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN)  // _LEN: Length
2645             CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN)  // _LEN: Length
2646             CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN)  // _LEN: Length
2647             CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN)  // _LEN: Length
2648             CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN)  // _LEN: Length
2649             CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN)  // _LEN: Length
2650             CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN)  // _LEN: Length
2651             CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN)  // _LEN: Length
2652             CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN)  // _MIN: Minimum Base Address
2653             CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX)  // _MAX: Maximum Base Address
2654             CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN)  // _LEN: Length
2655             CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN)  // _MIN: Minimum Base Address
2656             CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX)  // _MAX: Maximum Base Address
2657             CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN)  // _LEN: Length
2658             CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX)  // _MAX: Maximum Base Address
2659             CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN)  // _LEN: Length
2660             Method (_INI, 0, Serialized)  // _INI: Initialize
2661             {
2662                 B0MX = 0x3F
2663                 B0LN = (0x3F + 0x01)
2664                 If (!\OSIF)
2665                 {
2666                     \_SB._INI ()
2667                 }
2668 
2669                 Local0 = (TLUD << 0x14)
2670                 \MEMX = Local0
2671                 XXMN = Local0
2672                 XXLN = ((XXMX - XXMN) + 0x01)
2673                 If ((\TPMP == 0x00))
2674                 {
2675                     F4LN = 0x00
2676                 }
2677 
2678                 If ((PAM1 & 0x03))
2679                 {
2680                     C0LN = 0x00
2681                 }
2682 
2683                 If ((PAM1 & 0x30))
2684                 {
2685                     C4LN = 0x00
2686                 }
2687 
2688                 If ((PAM2 & 0x03))
2689                 {
2690                     C8LN = 0x00
2691                 }
2692 
2693                 If ((PAM2 & 0x30))
2694                 {
2695                     CCLN = 0x00
2696                 }
2697 
2698                 If ((PAM3 & 0x03))
2699                 {
2700                     D0LN = 0x00
2701                 }
2702 
2703                 If ((PAM3 & 0x30))
2704                 {
2705                     D4LN = 0x00
2706                 }
2707 
2708                 If ((PAM4 & 0x03))
2709                 {
2710                     D8LN = 0x00
2711                 }
2712 
2713                 If ((PAM4 & 0x30))
2714                 {
2715                     DCLN = 0x00
2716                 }
2717 
2718                 If ((PAM5 & 0x03))
2719                 {
2720                     E0LN = 0x00
2721                 }
2722 
2723                 If ((PAM5 & 0x30))
2724                 {
2725                     E4LN = 0x00
2726                 }
2727 
2728                 If ((PAM6 & 0x03))
2729                 {
2730                     E8LN = 0x00
2731                 }
2732 
2733                 If ((PAM6 & 0x30))
2734                 {
2735                     ECLN = 0x00
2736                 }
2737             }
2738 
2739             Name (SUPP, 0x00)
2740             Name (CTRL, 0x00)
2741             Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
2742             {
2743                 CreateDWordField (Arg3, 0x00, CDW1)
2744                 CreateDWordField (Arg3, 0x04, CDW2)
2745                 CreateDWordField (Arg3, 0x08, CDW3)
2746                 If (\_SB.PCI0.XHCI.CUID (Arg0))
2747                 {
2748                     Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2749                 }
2750 
2751                 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2752                 {
2753                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2754                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2755                     CTRL &= 0x0D
2756                     If (!(CDW1 & 0x01))
2757                     {
2758                         If ((CTRL & 0x01))
2759                         {
2760                             If (!\VIGD)
2761                             {
2762                                 \_SB.PCI0.PEG.HPGP = 0x00
2763                                 \_SB.PCI0.PEG.GMGP = 0x00
2764                             }
2765 
2766                             \NHPS = 0x01
2767                         }
2768 
2769                         If ((CTRL & 0x04))
2770                         {
2771                             If (!\VIGD)
2772                             {
2773                                 \_SB.PCI0.PEG.PMGP = 0x00
2774                                 \_SB.PCI0.PEG.GMGP = 0x00
2775                             }
2776 
2777                             If (\_SB.PCI0.EXP1.PMCE)
2778                             {
2779                                 \_SB.PCI0.EXP1.PMCE = 0x00
2780                                 \_SB.PCI0.EXP1.PMCS = 0x01
2781                             }
2782 
2783                             If (\_SB.PCI0.EXP2.PMCE)
2784                             {
2785                                 \_SB.PCI0.EXP2.PMCE = 0x00
2786                                 \_SB.PCI0.EXP2.PMCS = 0x01
2787                             }
2788 
2789                             If (\_SB.PCI0.EXP3.PMCE)
2790                             {
2791                                 \_SB.PCI0.EXP3.PMCE = 0x00
2792                                 \_SB.PCI0.EXP3.PMCS = 0x01
2793                             }
2794 
2795                             \_SB.PCI0.LPC.EXPE = 0x00
2796                             \NPME = 0x01
2797                         }
2798                     }
2799 
2800                     If ((Arg1 != 0x01))
2801                     {
2802                         CDW1 |= 0x0A
2803                     }
2804 
2805                     If ((CDW3 != CTRL))
2806                     {
2807                         CDW1 |= 0x10
2808                     }
2809 
2810                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
2811                 }
2812                 Else
2813                 {
2814                     CDW1 |= 0x06
2815                 }
2816 
2817                 Return (Arg3)
2818             }
2819 
2820             Mutex (MDGS, 0x07)
2821             Name (VDEE, 0x01)
2822             Name (VDDA, Buffer (0x02){})
2823             CreateBitField (VDDA, 0x00, VUPC)
2824             CreateBitField (VDDA, 0x01, VQDL)
2825             CreateBitField (VDDA, 0x02, VQDC)
2826             CreateBitField (VDDA, 0x03, VQD0)
2827             CreateBitField (VDDA, 0x04, VQD1)
2828             CreateBitField (VDDA, 0x05, VQD2)
2829             CreateBitField (VDDA, 0x06, VSDL)
2830             CreateBitField (VDDA, 0x07, VSDC)
2831             CreateBitField (VDDA, 0x08, VSD0)
2832             CreateBitField (VDDA, 0x09, VSD1)
2833             CreateBitField (VDDA, 0x0A, VSD2)
2834             CreateBitField (VDDA, 0x0B, VSD3)
2835             CreateBitField (VDDA, 0x0C, VSD4)
2836             CreateBitField (VDDA, 0x0D, VSD5)
2837             CreateBitField (VDDA, 0x0E, MSWT)
2838             Device (VID)
2839             {
2840                 Name (_ADR, 0x00020000)  // _ADR: Address
2841                 Name (RID, 0x00)
2842                 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
2843                 Field (VPCG, DWordAcc, NoLock, Preserve)
2844                 {
2845                     Offset (0x2C), 
2846                     VSID,   32, 
2847                     Offset (0xD4), 
2848                     VPWR,   8
2849                 }
2850 
2851                 Name (MIDL, 0x0400)
2852                 Name (MIDC, 0x0100)
2853                 Name (MID0, 0x0300)
2854                 Name (MID1, 0x0301)
2855                 Name (MID2, 0x0302)
2856                 Name (MID3, 0x0303)
2857                 Name (MID4, 0x0304)
2858                 Name (MID5, 0x0305)
2859                 Name (_S3D, 0x03)  // _S3D: S3 Device State
2860                 Method (VRSI, 0, NotSerialized)
2861                 {
2862                     If ((PJCD == 0x00))
2863                     {
2864                         If ((OSYS >= 0x07DD))
2865                         {
2866                             VSID = 0x222017AA
2867                             VMSH = 0x01
2868                         }
2869                         Else
2870                         {
2871                             VSID = 0x221317AA
2872                             VMSH = 0x00
2873                         }
2874                     }
2875                     ElseIf ((OSYS >= 0x07DD))
2876                     {
2877                         VSID = 0x221F17AA
2878                         VMSH = 0x01
2879                     }
2880                     Else
2881                     {
2882                         VSID = 0x220D17AA
2883                         VMSH = 0x00
2884                     }
2885                 }
2886 
2887                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
2888                 {
2889                     VRSI ()
2890                     CLID = \_SB.LID._LID ()
2891                 }
2892 
2893                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
2894                 {
2895                     Noop
2896                 }
2897 
2898                 Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
2899                 {
2900                     Noop
2901                 }
2902 
2903                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
2904                 {
2905                     Noop
2906                 }
2907 
2908                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
2909                 {
2910                     Noop
2911                 }
2912 
2913                 Method (VSWT, 0, NotSerialized)
2914                 {
2915                     GHDS (0x00)
2916                 }
2917 
2918                 Method (VLOC, 1, NotSerialized)
2919                 {
2920                     If ((Arg0 == \_SB.LID._LID ()))
2921                     {
2922                         \VSLD (Arg0)
2923                         If ((VPWR == 0x00))
2924                         {
2925                             CLID = Arg0
2926                             GNOT (0x02, 0x00)
2927                         }
2928                     }
2929                 }
2930 
2931                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
2932                 {
2933                     Arg0 &= 0x03
2934                     If ((Arg0 == 0x02))
2935                     {
2936                         Local0 = 0x14
2937                         While (Local0)
2938                         {
2939                             Local0--
2940                             Acquire (MDGS, 0xFFFF)
2941                             If ((0x00 == MSWT))
2942                             {
2943                                 MSWT = 0x01
2944                                 Local0 = 0x00
2945                                 VDEE = Arg0
2946                             }
2947 
2948                             Release (MDGS)
2949                             Sleep (0xC8)
2950                         }
2951                     }
2952                     Else
2953                     {
2954                         Acquire (MDGS, 0xFFFF)
2955                         If ((VDEE == 0x02))
2956                         {
2957                             MSWT = 0x00
2958                         }
2959 
2960                         If ((Arg0 > 0x02))
2961                         {
2962                             VDEE = 0x01
2963                         }
2964                         Else
2965                         {
2966                             VDEE = Arg0
2967                         }
2968 
2969                         Release (MDGS)
2970                     }
2971                 }
2972 
2973                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
2974                 {
2975                     NDID = 0x00
2976                     If ((DIDL != 0x00))
2977                     {
2978                         NDID++
2979                     }
2980 
2981                     If ((DDL2 != 0x00))
2982                     {
2983                         NDID++
2984                     }
2985 
2986                     If ((DDL3 != 0x00))
2987                     {
2988                         NDID++
2989                     }
2990 
2991                     If ((DDL4 != 0x00))
2992                     {
2993                         NDID++
2994                     }
2995 
2996                     If ((DDL5 != 0x00))
2997                     {
2998                         NDID++
2999                     }
3000 
3001                     If ((DDL6 != 0x00))
3002                     {
3003                         NDID++
3004                     }
3005 
3006                     If ((DDL7 != 0x00))
3007                     {
3008                         NDID++
3009                     }
3010 
3011                     If ((DDL8 != 0x00))
3012                     {
3013                         NDID++
3014                     }
3015 
3016                     If ((NDID == 0x01))
3017                     {
3018                         Name (TMP1, Package (0x01)
3019                         {
3020                             0xFFFFFFFF
3021                         })
3022                         TMP1 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3023                         Return (TMP1) /* \_SB_.PCI0.VID_._DOD.TMP1 */
3024                     }
3025 
3026                     If ((NDID == 0x02))
3027                     {
3028                         Name (TMP2, Package (0x02)
3029                         {
3030                             0xFFFFFFFF, 
3031                             0xFFFFFFFF
3032                         })
3033                         TMP2 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3034                         TMP2 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3035                         Return (TMP2) /* \_SB_.PCI0.VID_._DOD.TMP2 */
3036                     }
3037 
3038                     If ((NDID == 0x03))
3039                     {
3040                         Name (TMP3, Package (0x03)
3041                         {
3042                             0xFFFFFFFF, 
3043                             0xFFFFFFFF, 
3044                             0xFFFFFFFF
3045                         })
3046                         TMP3 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3047                         TMP3 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3048                         TMP3 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3049                         Return (TMP3) /* \_SB_.PCI0.VID_._DOD.TMP3 */
3050                     }
3051 
3052                     If ((NDID == 0x04))
3053                     {
3054                         Name (TMP4, Package (0x04)
3055                         {
3056                             0xFFFFFFFF, 
3057                             0xFFFFFFFF, 
3058                             0xFFFFFFFF, 
3059                             0xFFFFFFFF
3060                         })
3061                         TMP4 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3062                         TMP4 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3063                         TMP4 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3064                         TMP4 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3065                         Return (TMP4) /* \_SB_.PCI0.VID_._DOD.TMP4 */
3066                     }
3067 
3068                     If ((NDID == 0x05))
3069                     {
3070                         Name (TMP5, Package (0x05)
3071                         {
3072                             0xFFFFFFFF, 
3073                             0xFFFFFFFF, 
3074                             0xFFFFFFFF, 
3075                             0xFFFFFFFF, 
3076                             0xFFFFFFFF
3077                         })
3078                         TMP5 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3079                         TMP5 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3080                         TMP5 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3081                         TMP5 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3082                         TMP5 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3083                         Return (TMP5) /* \_SB_.PCI0.VID_._DOD.TMP5 */
3084                     }
3085 
3086                     If ((NDID == 0x06))
3087                     {
3088                         Name (TMP6, Package (0x06)
3089                         {
3090                             0xFFFFFFFF, 
3091                             0xFFFFFFFF, 
3092                             0xFFFFFFFF, 
3093                             0xFFFFFFFF, 
3094                             0xFFFFFFFF, 
3095                             0xFFFFFFFF
3096                         })
3097                         TMP6 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3098                         TMP6 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3099                         TMP6 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3100                         TMP6 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3101                         TMP6 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3102                         TMP6 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3103                         Return (TMP6) /* \_SB_.PCI0.VID_._DOD.TMP6 */
3104                     }
3105 
3106                     If ((NDID == 0x07))
3107                     {
3108                         Name (TMP7, Package (0x07)
3109                         {
3110                             0xFFFFFFFF, 
3111                             0xFFFFFFFF, 
3112                             0xFFFFFFFF, 
3113                             0xFFFFFFFF, 
3114                             0xFFFFFFFF, 
3115                             0xFFFFFFFF, 
3116                             0xFFFFFFFF
3117                         })
3118                         TMP7 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3119                         TMP7 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3120                         TMP7 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3121                         TMP7 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3122                         TMP7 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3123                         TMP7 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3124                         TMP7 [0x06] = (0x80010000 | (0x0F0F & DDL7))
3125                         Return (TMP7) /* \_SB_.PCI0.VID_._DOD.TMP7 */
3126                     }
3127 
3128                     If ((NDID > 0x07))
3129                     {
3130                         Name (TMP8, Package (0x08)
3131                         {
3132                             0xFFFFFFFF, 
3133                             0xFFFFFFFF, 
3134                             0xFFFFFFFF, 
3135                             0xFFFFFFFF, 
3136                             0xFFFFFFFF, 
3137                             0xFFFFFFFF, 
3138                             0xFFFFFFFF, 
3139                             0xFFFFFFFF
3140                         })
3141                         TMP8 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3142                         TMP8 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3143                         TMP8 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3144                         TMP8 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3145                         TMP8 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3146                         TMP8 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3147                         TMP8 [0x06] = (0x80010000 | (0x0F0F & DDL7))
3148                         TMP8 [0x07] = (0x80010000 | (0x0F0F & DDL8))
3149                         Return (TMP8) /* \_SB_.PCI0.VID_._DOD.TMP8 */
3150                     }
3151 
3152                     Return (Package (0x01)
3153                     {
3154                         0x0400
3155                     })
3156                 }
3157 
3158                 Method (VDSW, 1, NotSerialized)
3159                 {
3160                     If ((VPWR == 0x00))
3161                     {
3162                         GDCK (Arg0)
3163                     }
3164                 }
3165 
3166                 Method (VCAD, 1, NotSerialized)
3167                 {
3168                     Local0 = 0x00
3169                     If (((DIDL & 0x0F0F) == Arg0))
3170                     {
3171                         Local0 = 0x0D
3172                     }
3173                     ElseIf (((DDL2 & 0x0F0F) == Arg0))
3174                     {
3175                         Local0 = 0x0D
3176                     }
3177                     ElseIf (((DDL3 & 0x0F0F) == Arg0))
3178                     {
3179                         Local0 = 0x0D
3180                     }
3181                     ElseIf (((DDL4 & 0x0F0F) == Arg0))
3182                     {
3183                         Local0 = 0x0D
3184                     }
3185                     ElseIf (((DDL5 & 0x0F0F) == Arg0))
3186                     {
3187                         Local0 = 0x0D
3188                     }
3189                     ElseIf (((DDL6 & 0x0F0F) == Arg0))
3190                     {
3191                         Local0 = 0x0D
3192                     }
3193                     ElseIf (((DDL7 & 0x0F0F) == Arg0))
3194                     {
3195                         Local0 = 0x0D
3196                     }
3197                     ElseIf (((DDL8 & 0x0F0F) == Arg0))
3198                     {
3199                         Local0 = 0x0D
3200                     }
3201 
3202                     If (((CPDL & 0x0F0F) == Arg0))
3203                     {
3204                         Local0 |= 0x10
3205                     }
3206                     ElseIf (((CPL2 & 0x0F0F) == Arg0))
3207                     {
3208                         Local0 |= 0x10
3209                     }
3210                     ElseIf (((CPL3 & 0x0F0F) == Arg0))
3211                     {
3212                         Local0 |= 0x10
3213                     }
3214                     ElseIf (((CPL4 & 0x0F0F) == Arg0))
3215                     {
3216                         Local0 |= 0x10
3217                     }
3218                     ElseIf (((CPL5 & 0x0F0F) == Arg0))
3219                     {
3220                         Local0 |= 0x10
3221                     }
3222                     ElseIf (((CPL6 & 0x0F0F) == Arg0))
3223                     {
3224                         Local0 |= 0x10
3225                     }
3226                     ElseIf (((CPL7 & 0x0F0F) == Arg0))
3227                     {
3228                         Local0 |= 0x10
3229                     }
3230                     ElseIf (((CPL8 & 0x0F0F) == Arg0))
3231                     {
3232                         Local0 |= 0x10
3233                     }
3234 
3235                     If (((CADL & 0x0F0F) == Arg0))
3236                     {
3237                         Local0 |= 0x02
3238                     }
3239                     ElseIf (((CAL2 & 0x0F0F) == Arg0))
3240                     {
3241                         Local0 |= 0x02
3242                     }
3243                     ElseIf (((CAL3 & 0x0F0F) == Arg0))
3244                     {
3245                         Local0 |= 0x02
3246                     }
3247                     ElseIf (((CAL4 & 0x0F0F) == Arg0))
3248                     {
3249                         Local0 |= 0x02
3250                     }
3251                     ElseIf (((CAL5 & 0x0F0F) == Arg0))
3252                     {
3253                         Local0 |= 0x02
3254                     }
3255                     ElseIf (((CAL6 & 0x0F0F) == Arg0))
3256                     {
3257                         Local0 |= 0x02
3258                     }
3259                     ElseIf (((CAL7 & 0x0F0F) == Arg0))
3260                     {
3261                         Local0 |= 0x02
3262                     }
3263                     ElseIf (((CAL8 & 0x0F0F) == Arg0))
3264                     {
3265                         Local0 |= 0x02
3266                     }
3267 
3268                     Return (Local0)
3269                 }
3270 
3271                 Method (NDDS, 1, NotSerialized)
3272                 {
3273                     If (((NADL & 0x0F0F) == Arg0))
3274                     {
3275                         Return (0x01)
3276                     }
3277                     ElseIf (((NDL2 & 0x0F0F) == Arg0))
3278                     {
3279                         Return (0x01)
3280                     }
3281                     ElseIf (((NDL3 & 0x0F0F) == Arg0))
3282                     {
3283                         Return (0x01)
3284                     }
3285                     ElseIf (((NDL4 & 0x0F0F) == Arg0))
3286                     {
3287                         Return (0x01)
3288                     }
3289                     ElseIf (((NDL5 & 0x0F0F) == Arg0))
3290                     {
3291                         Return (0x01)
3292                     }
3293                     ElseIf (((NDL6 & 0x0F0F) == Arg0))
3294                     {
3295                         Return (0x01)
3296                     }
3297                     ElseIf (((NDL7 & 0x0F0F) == Arg0))
3298                     {
3299                         Return (0x01)
3300                     }
3301                     ElseIf (((NDL8 & 0x0F0F) == Arg0))
3302                     {
3303                         Return (0x01)
3304                     }
3305 
3306                     Return (0x00)
3307                 }
3308 
3309                 Device (LCD0)
3310                 {
3311                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3312                     {
3313                         Return (0x0400)
3314                     }
3315 
3316                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3317                     {
3318                         Return (VCAD (MIDL))
3319                     }
3320 
3321                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3322                     {
3323                         Return (NDDS (MIDL))
3324                     }
3325 
3326                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3327                     {
3328                         VSDL = (Arg0 & 0x01)
3329                     }
3330 
3331                     Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
3332                     {
3333                         If ((Arg0 == 0x01))
3334                         {
3335                             Return (\VEDI)
3336                         }
3337                         ElseIf ((Arg0 == 0x02))
3338                         {
3339                             Return (\VEDI)
3340                         }
3341 
3342                         Return (0x00)
3343                     }
3344                 }
3345 
3346                 Device (CRT0)
3347                 {
3348                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3349                     {
3350                         Return (0x0100)
3351                     }
3352 
3353                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3354                     {
3355                         Return (VCAD (MIDC))
3356                     }
3357 
3358                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3359                     {
3360                         Return (NDDS (MIDC))
3361                     }
3362 
3363                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3364                     {
3365                         VSDC = (Arg0 & 0x01)
3366                     }
3367                 }
3368 
3369                 Device (DVI0)
3370                 {
3371                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3372                     {
3373                         Return (0x0300)
3374                     }
3375 
3376                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3377                     {
3378                         Return (VCAD (MID0))
3379                     }
3380 
3381                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3382                     {
3383                         Return (NDDS (MID0))
3384                     }
3385 
3386                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3387                     {
3388                         VSD0 = (Arg0 & 0x01)
3389                     }
3390                 }
3391 
3392                 Device (DVI1)
3393                 {
3394                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3395                     {
3396                         Return (0x0301)
3397                     }
3398 
3399                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3400                     {
3401                         Return (VCAD (MID1))
3402                     }
3403 
3404                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3405                     {
3406                         Return (NDDS (MID1))
3407                     }
3408 
3409                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3410                     {
3411                         VSD1 = (Arg0 & 0x01)
3412                     }
3413                 }
3414 
3415                 Device (DVI2)
3416                 {
3417                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3418                     {
3419                         Return (0x0302)
3420                     }
3421 
3422                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3423                     {
3424                         Return (VCAD (MID2))
3425                     }
3426 
3427                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3428                     {
3429                         Return (NDDS (MID2))
3430                     }
3431 
3432                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3433                     {
3434                         VSD2 = (Arg0 & 0x01)
3435                     }
3436                 }
3437 
3438                 Device (DVI3)
3439                 {
3440                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3441                     {
3442                         Return (0x0303)
3443                     }
3444 
3445                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3446                     {
3447                         Return (VCAD (MID3))
3448                     }
3449 
3450                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3451                     {
3452                         Return (NDDS (MID3))
3453                     }
3454 
3455                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3456                     {
3457                         VSD3 = (Arg0 & 0x01)
3458                     }
3459                 }
3460 
3461                 Device (DVI4)
3462                 {
3463                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3464                     {
3465                         Return (0x0304)
3466                     }
3467 
3468                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3469                     {
3470                         Return (VCAD (MID4))
3471                     }
3472 
3473                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3474                     {
3475                         Return (NDDS (MID4))
3476                     }
3477 
3478                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3479                     {
3480                         VSD4 = (Arg0 & 0x01)
3481                     }
3482                 }
3483 
3484                 Device (DVI5)
3485                 {
3486                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3487                     {
3488                         Return (0x0305)
3489                     }
3490 
3491                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3492                     {
3493                         Return (VCAD (MID5))
3494                     }
3495 
3496                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3497                     {
3498                         Return (NDDS (MID5))
3499                     }
3500 
3501                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3502                     {
3503                         VSD5 = (Arg0 & 0x01)
3504                     }
3505                 }
3506             }
3507 
3508             Device (LPC)
3509             {
3510                 Name (_ADR, 0x001F0000)  // _ADR: Address
3511                 Name (_S3D, 0x03)  // _S3D: S3 Device State
3512                 Name (RID, 0x00)
3513                 Device (SIO)
3514                 {
3515                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3516                     Name (_UID, 0x00)  // _UID: Unique ID
3517                     Name (SCRS, ResourceTemplate ()
3518                     {
3519                         IO (Decode16,
3520                             0x0010,             // Range Minimum
3521                             0x0010,             // Range Maximum
3522                             0x01,               // Alignment
3523                             0x10,               // Length
3524                             )
3525                         IO (Decode16,
3526                             0x0090,             // Range Minimum
3527                             0x0090,             // Range Maximum
3528                             0x01,               // Alignment
3529                             0x10,               // Length
3530                             )
3531                         IO (Decode16,
3532                             0x0024,             // Range Minimum
3533                             0x0024,             // Range Maximum
3534                             0x01,               // Alignment
3535                             0x02,               // Length
3536                             )
3537                         IO (Decode16,
3538                             0x0028,             // Range Minimum
3539                             0x0028,             // Range Maximum
3540                             0x01,               // Alignment
3541                             0x02,               // Length
3542                             )
3543                         IO (Decode16,
3544                             0x002C,             // Range Minimum
3545                             0x002C,             // Range Maximum
3546                             0x01,               // Alignment
3547                             0x02,               // Length
3548                             )
3549                         IO (Decode16,
3550                             0x0030,             // Range Minimum
3551                             0x0030,             // Range Maximum
3552                             0x01,               // Alignment
3553                             0x02,               // Length
3554                             )
3555                         IO (Decode16,
3556                             0x0034,             // Range Minimum
3557                             0x0034,             // Range Maximum
3558                             0x01,               // Alignment
3559                             0x02,               // Length
3560                             )
3561                         IO (Decode16,
3562                             0x0038,             // Range Minimum
3563                             0x0038,             // Range Maximum
3564                             0x01,               // Alignment
3565                             0x02,               // Length
3566                             )
3567                         IO (Decode16,
3568                             0x003C,             // Range Minimum
3569                             0x003C,             // Range Maximum
3570                             0x01,               // Alignment
3571                             0x02,               // Length
3572                             )
3573                         IO (Decode16,
3574                             0x00A4,             // Range Minimum
3575                             0x00A4,             // Range Maximum
3576                             0x01,               // Alignment
3577                             0x02,               // Length
3578                             )
3579                         IO (Decode16,
3580                             0x00A8,             // Range Minimum
3581                             0x00A8,             // Range Maximum
3582                             0x01,               // Alignment
3583                             0x02,               // Length
3584                             )
3585                         IO (Decode16,
3586                             0x00AC,             // Range Minimum
3587                             0x00AC,             // Range Maximum
3588                             0x01,               // Alignment
3589                             0x02,               // Length
3590                             )
3591                         IO (Decode16,
3592                             0x00B0,             // Range Minimum
3593                             0x00B0,             // Range Maximum
3594                             0x01,               // Alignment
3595                             0x06,               // Length
3596                             )
3597                         IO (Decode16,
3598                             0x00B8,             // Range Minimum
3599                             0x00B8,             // Range Maximum
3600                             0x01,               // Alignment
3601                             0x02,               // Length
3602                             )
3603                         IO (Decode16,
3604                             0x00BC,             // Range Minimum
3605                             0x00BC,             // Range Maximum
3606                             0x01,               // Alignment
3607                             0x02,               // Length
3608                             )
3609                         IO (Decode16,
3610                             0x0050,             // Range Minimum
3611                             0x0050,             // Range Maximum
3612                             0x01,               // Alignment
3613                             0x04,               // Length
3614                             )
3615                         IO (Decode16,
3616                             0x0072,             // Range Minimum
3617                             0x0072,             // Range Maximum
3618                             0x01,               // Alignment
3619                             0x06,               // Length
3620                             )
3621                         IO (Decode16,
3622                             0x1800,             // Range Minimum
3623                             0x1800,             // Range Maximum
3624                             0x01,               // Alignment
3625                             0xA0,               // Length
3626                             )
3627                         IO (Decode16,
3628                             0x0800,             // Range Minimum
3629                             0x0800,             // Range Maximum
3630                             0x01,               // Alignment
3631                             0x80,               // Length
3632                             )
3633                         IO (Decode16,
3634                             0x0880,             // Range Minimum
3635                             0x0880,             // Range Maximum
3636                             0x01,               // Alignment
3637                             0x80,               // Length
3638                             )
3639                         IO (Decode16,
3640                             0x0900,             // Range Minimum
3641                             0x0900,             // Range Maximum
3642                             0x01,               // Alignment
3643                             0x80,               // Length
3644                             )
3645                         IO (Decode16,
3646                             0x0980,             // Range Minimum
3647                             0x0980,             // Range Maximum
3648                             0x01,               // Alignment
3649                             0x80,               // Length
3650                             )
3651                         IO (Decode16,
3652                             0x0A00,             // Range Minimum
3653                             0x0A00,             // Range Maximum
3654                             0x01,               // Alignment
3655                             0x80,               // Length
3656                             )
3657                         IO (Decode16,
3658                             0x0A80,             // Range Minimum
3659                             0x0A80,             // Range Maximum
3660                             0x01,               // Alignment
3661                             0x80,               // Length
3662                             )
3663                         IO (Decode16,
3664                             0x0B00,             // Range Minimum
3665                             0x0B00,             // Range Maximum
3666                             0x01,               // Alignment
3667                             0x80,               // Length
3668                             )
3669                         IO (Decode16,
3670                             0x0B80,             // Range Minimum
3671                             0x0B80,             // Range Maximum
3672                             0x01,               // Alignment
3673                             0x80,               // Length
3674                             )
3675                         IO (Decode16,
3676                             0x15E0,             // Range Minimum
3677                             0x15E0,             // Range Maximum
3678                             0x01,               // Alignment
3679                             0x10,               // Length
3680                             )
3681                         IO (Decode16,
3682                             0x1600,             // Range Minimum
3683                             0x1600,             // Range Maximum
3684                             0x01,               // Alignment
3685                             0x80,               // Length
3686                             )
3687                         IO (Decode16,
3688                             0x1640,             // Range Minimum
3689                             0x1640,             // Range Maximum
3690                             0x01,               // Alignment
3691                             0x20,               // Length
3692                             )
3693                         Memory32Fixed (ReadWrite,
3694                             0xF8000000,         // Address Base
3695                             0x04000000,         // Address Length
3696                             )
3697                         Memory32Fixed (ReadWrite,
3698                             0x00000000,         // Address Base
3699                             0x00001000,         // Address Length
3700                             _Y26)
3701                         Memory32Fixed (ReadWrite,
3702                             0xFED1C000,         // Address Base
3703                             0x00004000,         // Address Length
3704                             )
3705                         Memory32Fixed (ReadWrite,
3706                             0xFED10000,         // Address Base
3707                             0x00004000,         // Address Length
3708                             )
3709                         Memory32Fixed (ReadWrite,
3710                             0xFED18000,         // Address Base
3711                             0x00001000,         // Address Length
3712                             )
3713                         Memory32Fixed (ReadWrite,
3714                             0xFED19000,         // Address Base
3715                             0x00001000,         // Address Length
3716                             )
3717                         Memory32Fixed (ReadWrite,
3718                             0xFED45000,         // Address Base
3719                             0x00007000,         // Address Length
3720                             )
3721                     })
3722                     CreateDWordField (SCRS, \_SB.PCI0.LPC.SIO._Y26._BAS, TRMB)  // _BAS: Base Address
3723                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3724                     {
3725                         TRMB = \TBAB
3726                         If ((\_SB.PCI0.LPC.TPM._STA () == 0x0F))
3727                         {
3728                             Return (SCRS) /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3729                         }
3730                         Else
3731                         {
3732                             Local0 = (SizeOf (SCRS) - 0x02)
3733                             Name (BUF0, Buffer (Local0){})
3734                             Local0 += SizeOf (\_SB.PCI0.LPC.TPM.BUF1)
3735                             Name (BUF1, Buffer (Local0){})
3736                             BUF0 = SCRS /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3737                             Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3738                             Return (BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3739                         }
3740                     }
3741                 }
3742 
3743                 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
3744                 Field (LPCS, AnyAcc, NoLock, Preserve)
3745                 {
3746                     Offset (0x60), 
3747                     PIRA,   8, 
3748                     PIRB,   8, 
3749                     PIRC,   8, 
3750                     PIRD,   8, 
3751                     SERQ,   8, 
3752                     Offset (0x68), 
3753                     PIRE,   8, 
3754                     PIRF,   8, 
3755                     PIRG,   8, 
3756                     PIRH,   8, 
3757                     Offset (0x80), 
3758                     XU1A,   3, 
3759                         ,   1, 
3760                     XU2A,   3, 
3761                     Offset (0x81), 
3762                     XPA,    2, 
3763                         ,   2, 
3764                     XFA,    1, 
3765                     Offset (0x82), 
3766                     XU1E,   1, 
3767                     XU2E,   1, 
3768                     XPE,    1, 
3769                     XFE,    1, 
3770                     Offset (0x84), 
3771                     XG1E,   1, 
3772                         ,   1, 
3773                     XG1A,   14, 
3774                     Offset (0x88), 
3775                     XG2E,   1, 
3776                         ,   1, 
3777                     XG2A,   14, 
3778                     Offset (0xA0), 
3779                         ,   2, 
3780                     CLKR,   1, 
3781                         ,   7, 
3782                     EXPE,   1, 
3783                     Offset (0xA2), 
3784                     Offset (0xAC), 
3785                     Offset (0xAD), 
3786                     Offset (0xAE), 
3787                     XUSB,   1, 
3788                     Offset (0xB8), 
3789                     GR00,   2, 
3790                         ,   10, 
3791                     GR06,   2
3792                 }
3793 
3794                 OperationRegion (LPIO, SystemIO, 0x0800, 0x0400)
3795                 Field (LPIO, DWordAcc, NoLock, Preserve)
3796                 {
3797                     Offset (0x100), 
3798                         ,   30, 
3799                     DOI0,   1, 
3800                     Offset (0x108), 
3801                         ,   30, 
3802                     DOI1,   1, 
3803                     Offset (0x110), 
3804                         ,   30, 
3805                     DOI2,   1, 
3806                     Offset (0x118), 
3807                         ,   30, 
3808                     DOI3,   1, 
3809                     Offset (0x158), 
3810                         ,   30, 
3811                     NFCI,   1, 
3812                     Offset (0x180), 
3813                         ,   3, 
3814                     XHPD,   1, 
3815                     Offset (0x188), 
3816                         ,   30, 
3817                     GPGD,   1, 
3818                     Offset (0x1B0), 
3819                         ,   31, 
3820                     GLIS,   1, 
3821                     Offset (0x2B0), 
3822                         ,   30, 
3823                     FBTR,   1, 
3824                     Offset (0x2B8), 
3825                         ,   31, 
3826                     FBCL,   1, 
3827                     Offset (0x300), 
3828                         ,   30, 
3829                     NFCD,   1, 
3830                     Offset (0x308), 
3831                         ,   31, 
3832                     NFCP,   1
3833                 }
3834 
3835                 OperationRegion (PMIO, SystemIO, 0x1800, 0x0100)
3836                 Field (PMIO, AnyAcc, NoLock, Preserve)
3837                 {
3838                     Offset (0x2A), 
3839                         ,   6, 
3840                     XHPE,   1, 
3841                     Offset (0x42), 
3842                         ,   1, 
3843                     SWGE,   1, 
3844                     Offset (0x64), 
3845                         ,   9, 
3846                     SCIS,   1, 
3847                     Offset (0x66)
3848                 }
3849 
3850                 Device (PIC)
3851                 {
3852                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
3853                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3854                     {
3855                         IO (Decode16,
3856                             0x0020,             // Range Minimum
3857                             0x0020,             // Range Maximum
3858                             0x01,               // Alignment
3859                             0x02,               // Length
3860                             )
3861                         IO (Decode16,
3862                             0x00A0,             // Range Minimum
3863                             0x00A0,             // Range Maximum
3864                             0x01,               // Alignment
3865                             0x02,               // Length
3866                             )
3867                         IO (Decode16,
3868                             0x04D0,             // Range Minimum
3869                             0x04D0,             // Range Maximum
3870                             0x01,               // Alignment
3871                             0x02,               // Length
3872                             )
3873                         IRQNoFlags ()
3874                             {2}
3875                     })
3876                 }
3877 
3878                 Device (TIMR)
3879                 {
3880                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
3881                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3882                     {
3883                         IO (Decode16,
3884                             0x0040,             // Range Minimum
3885                             0x0040,             // Range Maximum
3886                             0x01,               // Alignment
3887                             0x04,               // Length
3888                             )
3889                         IRQNoFlags ()
3890                             {0}
3891                     })
3892                 }
3893 
3894                 Device (HPET)
3895                 {
3896                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
3897                     Method (_STA, 0, NotSerialized)  // _STA: Status
3898                     {
3899                         If ((\WNTF && !\WXPF))
3900                         {
3901                             Return (0x00)
3902                         }
3903                         Else
3904                         {
3905                             Return (0x0F)
3906                         }
3907 
3908                         Return (0x00)
3909                     }
3910 
3911                     Name (BUF0, ResourceTemplate ()
3912                     {
3913                         Memory32Fixed (ReadOnly,
3914                             0xFED00000,         // Address Base
3915                             0x00000400,         // Address Length
3916                             _Y27)
3917                     })
3918                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3919                     {
3920                         CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, HPT0)  // _BAS: Base Address
3921                         HPT0 = \HPET
3922                         Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
3923                     }
3924                 }
3925 
3926                 Device (DMAC)
3927                 {
3928                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
3929                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3930                     {
3931                         IO (Decode16,
3932                             0x0000,             // Range Minimum
3933                             0x0000,             // Range Maximum
3934                             0x01,               // Alignment
3935                             0x10,               // Length
3936                             )
3937                         IO (Decode16,
3938                             0x0080,             // Range Minimum
3939                             0x0080,             // Range Maximum
3940                             0x01,               // Alignment
3941                             0x10,               // Length
3942                             )
3943                         IO (Decode16,
3944                             0x00C0,             // Range Minimum
3945                             0x00C0,             // Range Maximum
3946                             0x01,               // Alignment
3947                             0x20,               // Length
3948                             )
3949                         DMA (Compatibility, BusMaster, Transfer8_16, )
3950                             {4}
3951                     })
3952                 }
3953 
3954                 Device (SPKR)
3955                 {
3956                     Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */)  // _HID: Hardware ID
3957                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3958                     {
3959                         IO (Decode16,
3960                             0x0061,             // Range Minimum
3961                             0x0061,             // Range Maximum
3962                             0x01,               // Alignment
3963                             0x01,               // Length
3964                             )
3965                     })
3966                 }
3967 
3968                 Device (FPU)
3969                 {
3970                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
3971                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3972                     {
3973                         IO (Decode16,
3974                             0x00F0,             // Range Minimum
3975                             0x00F0,             // Range Maximum
3976                             0x01,               // Alignment
3977                             0x01,               // Length
3978                             )
3979                         IRQNoFlags ()
3980                             {13}
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                             0x02,               // Length
3994                             )
3995                         IRQNoFlags ()
3996                             {8}
3997                     })
3998                 }
3999 
4000                 Device (KBD)
4001                 {
4002                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
4003                     {
4004                         If (\WIN8)
4005                         {
4006                             Return (0x7100AE30)
4007                         }
4008 
4009                         Return (0x0303D041)
4010                     }
4011 
4012                     Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
4013                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4014                     {
4015                         IO (Decode16,
4016                             0x0060,             // Range Minimum
4017                             0x0060,             // Range Maximum
4018                             0x01,               // Alignment
4019                             0x01,               // Length
4020                             )
4021                         IO (Decode16,
4022                             0x0064,             // Range Minimum
4023                             0x0064,             // Range Maximum
4024                             0x01,               // Alignment
4025                             0x01,               // Length
4026                             )
4027                         IRQNoFlags ()
4028                             {1}
4029                     })
4030                 }
4031 
4032                 Device (MOU)
4033                 {
4034                     Name (_HID, EisaId ("IBM3780"))  // _HID: Hardware ID
4035                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
4036                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4037                     {
4038                         IRQNoFlags ()
4039                             {12}
4040                     })
4041                     Method (MHID, 0, NotSerialized)
4042                     {
4043                         If (\_SB.PCI0.LPC.PADD)
4044                         {
4045                             _HID = 0x80374D24
4046                         }
4047                         ElseIf (\_SB.PCI0.LPC.NFCD)
4048                         {
4049                             _HID = 0x3600AE30
4050                         }
4051                         Else
4052                         {
4053                             _HID = 0x3900AE30
4054                         }
4055                     }
4056                 }
4057 
4058                 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4059                 Field (IMGA, ByteAcc, NoLock, Preserve)
4060                 {
4061                     Offset (0x01), 
4062                     Offset (0x02), 
4063                     Offset (0x03), 
4064                     WAKR,   16, 
4065                     Offset (0x0C), 
4066                     GAIX,   8, 
4067                     Offset (0x0E), 
4068                     GADT,   8, 
4069                     Offset (0x10)
4070                 }
4071 
4072                 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4073                 {
4074                     Offset (0x50), 
4075                         ,   3, 
4076                     IVPW,   1, 
4077                     DVPW,   1, 
4078                     BLPL,   1, 
4079                     Offset (0x51), 
4080                     TP4R,   1, 
4081                     PADR,   1, 
4082                     BPAD,   1, 
4083                         ,   1, 
4084                         ,   1, 
4085                     PADD,   1, 
4086                     Offset (0x60), 
4087                     EPWG,   1, 
4088                         ,   1, 
4089                     CSON,   1, 
4090                     DSCI,   1, 
4091                     DSCS,   1, 
4092                     DLAN,   1, 
4093                     Offset (0xC2), 
4094                     GAID,   8
4095                 }
4096 
4097                 Scope (\_SB)
4098                 {
4099                     Name (TCGP, Buffer (0x08)
4100                     {
4101                          0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0   // ........
4102                     })
4103                     CreateByteField (TCGP, 0x00, PPRQ)
4104                     CreateByteField (TCGP, 0x01, PPL1)
4105                     CreateByteField (TCGP, 0x02, PPRP)
4106                     CreateByteField (TCGP, 0x03, TPRS)
4107                     CreateByteField (TCGP, 0x04, PPOR)
4108                     CreateByteField (TCGP, 0x05, TPMV)
4109                     CreateByteField (TCGP, 0x06, MOR)
4110                     CreateByteField (TCGP, 0x07, TVEN)
4111                     OperationRegion (TCGC, SystemIO, 0x72, 0x02)
4112                     Field (TCGC, ByteAcc, Lock, Preserve)
4113                     {
4114                         TIDX,   8, 
4115                         TPDA,   8
4116                     }
4117 
4118                     IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
4119                     {
4120                         Offset (0x40), 
4121                         TPP1,   8, 
4122                         PPLO,   8, 
4123                         TPP3,   8
4124                     }
4125 
4126                     OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
4127                     Field (SMIP, ByteAcc, NoLock, Preserve)
4128                     {
4129                         SMIT,   8, 
4130                         SMID,   8
4131                     }
4132                 }
4133 
4134                 Device (TPM)
4135                 {
4136                     Name (TMPV, 0x00)
4137                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
4138                     {
4139                         If ((TVID == 0x15D1))
4140                         {
4141                             Return (0x0201D824)
4142                         }
4143 
4144                         If (((TVID == 0x1050) || (TVID == 0x100B)))
4145                         {
4146                             Return (0x0010A35C)
4147                         }
4148 
4149                         If ((TVID == 0x19FA))
4150                         {
4151                             Return (0x0435CF4D)
4152                         }
4153 
4154                         If ((TDID == 0x1002))
4155                         {
4156                             Return (0x02016D08)
4157                         }
4158 
4159                         If ((TDID == 0x1001))
4160                         {
4161                             Return (0x01016D08)
4162                         }
4163 
4164                         If ((TVID == 0x1114))
4165                         {
4166                             Return (0x00128D06)
4167                         }
4168 
4169                         If ((TVID == 0x104A))
4170                         {
4171                             Return (0x0012AF4D)
4172                         }
4173 
4174                         Return (0x310CD041)
4175                     }
4176 
4177                     Name (_CID, EisaId ("PNP0C31"))  // _CID: Compatible ID
4178                     Name (_UID, 0x01)  // _UID: Unique ID
4179                     OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
4180                     Field (TMMB, ByteAcc, Lock, Preserve)
4181                     {
4182                         ACCS,   8, 
4183                         Offset (0x18), 
4184                         TSTA,   8, 
4185                         TBCA,   8, 
4186                         Offset (0xF00), 
4187                         TVID,   16, 
4188                         TDID,   16
4189                     }
4190 
4191                     Method (_STA, 0, NotSerialized)  // _STA: Status
4192                     {
4193                         If ((ACCS == 0xFF))
4194                         {
4195                             Return (0x00)
4196                         }
4197                         ElseIf ((TPME == 0x00))
4198                         {
4199                             Return (0x00)
4200                         }
4201 
4202                         Return (0x0F)
4203                     }
4204 
4205                     Name (BUF1, ResourceTemplate ()
4206                     {
4207                         Memory32Fixed (ReadOnly,
4208                             0xFED40000,         // Address Base
4209                             0x00005000,         // Address Length
4210                             )
4211                     })
4212                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4213                     {
4214                         Return (BUF1) /* \_SB_.PCI0.LPC_.TPM_.BUF1 */
4215                     }
4216 
4217                     Method (UCMP, 2, NotSerialized)
4218                     {
4219                         If ((0x10 != SizeOf (Arg0)))
4220                         {
4221                             Return (0x00)
4222                         }
4223 
4224                         If ((0x10 != SizeOf (Arg1)))
4225                         {
4226                             Return (0x00)
4227                         }
4228 
4229                         Local0 = 0x00
4230                         While ((Local0 < 0x10))
4231                         {
4232                             If ((DerefOf (Arg0 [Local0]) != DerefOf (Arg1 [Local0]
4233                                 )))
4234                             {
4235                                 Return (0x00)
4236                             }
4237 
4238                             Local0++
4239                         }
4240 
4241                         Return (0x01)
4242                     }
4243 
4244                     Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4245                     {
4246                         Name (TTMP, Buffer (0x01)
4247                         {
4248                              0x00                                             // .
4249                         })
4250                         CreateByteField (TTMP, 0x00, TMPV)
4251                         If ((UCMP (Arg0, ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */) == 0x01))
4252                         {
4253                             If ((Arg2 == 0x00))
4254                             {
4255                                 Return (Buffer (0x02)
4256                                 {
4257                                      0xFF, 0x01                                       // ..
4258                                 })
4259                             }
4260 
4261                             If ((Arg2 == 0x01))
4262                             {
4263                                 Return (Buffer (0x04)
4264                                 {
4265                                     "1.2"
4266                                 })
4267                             }
4268 
4269                             If ((Arg2 == 0x02))
4270                             {
4271                                 TMPV = TPP3 /* \_SB_.TPP3 */
4272                                 If ((TMPV & TPRS))
4273                                 {
4274                                     If ((DerefOf (Arg3 [0x00]) <= 0x0B))
4275                                     {
4276                                         TPP1 = DerefOf (Arg3 [0x00])
4277                                         Return (0x00)
4278                                     }
4279 
4280                                     If (((DerefOf (Arg3 [0x00]) >= 0x0E) && (
4281                                         DerefOf (Arg3 [0x00]) <= 0x12)))
4282                                     {
4283                                         TPP1 = DerefOf (Arg3 [0x00])
4284                                         Return (0x00)
4285                                     }
4286 
4287                                     If (((DerefOf (Arg3 [0x00]) == 0x15) || (DerefOf (
4288                                         Arg3 [0x00]) == 0x16)))
4289                                     {
4290                                         TPP1 = DerefOf (Arg3 [0x00])
4291                                         Return (0x00)
4292                                     }
4293 
4294                                     Return (0x01)
4295                                 }
4296 
4297                                 Return (0x02)
4298                             }
4299 
4300                             If ((Arg2 == 0x03))
4301                             {
4302                                 Name (TMP1, Package (0x02)
4303                                 {
4304                                     0x00, 
4305                                     0xFFFFFFFF
4306                                 })
4307                                 TMPV = TPP1 /* \_SB_.TPP1 */
4308                                 TMP1 [0x01] = TMPV &= PPRQ /* \_SB_.PPRQ */
4309                                 Return (TMP1) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP1 */
4310                             }
4311 
4312                             If ((Arg2 == 0x04))
4313                             {
4314                                 Return (0x02)
4315                             }
4316 
4317                             If ((Arg2 == 0x05))
4318                             {
4319                                 Name (TMP2, Package (0x03)
4320                                 {
4321                                     0x00, 
4322                                     0xFFFFFFFF, 
4323                                     0xFFFFFFFF
4324                                 })
4325                                 TMP2 [0x01] = PPLO /* \_SB_.PPLO */
4326                                 TMP2 [0x02] = 0x00
4327                                 Return (TMP2) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP2 */
4328                             }
4329 
4330                             If ((Arg2 == 0x06))
4331                             {
4332                                 Return (0x03)
4333                             }
4334 
4335                             If ((Arg2 == 0x07))
4336                             {
4337                                 TMPV = TPP3 /* \_SB_.TPP3 */
4338                                 If ((TMPV & TPRS))
4339                                 {
4340                                     If ((DerefOf (Arg3 [0x00]) <= 0x0B))
4341                                     {
4342                                         TPP1 = DerefOf (Arg3 [0x00])
4343                                         Return (0x00)
4344                                     }
4345 
4346                                     If (((DerefOf (Arg3 [0x00]) >= 0x0E) && (
4347                                         DerefOf (Arg3 [0x00]) <= 0x12)))
4348                                     {
4349                                         TPP1 = DerefOf (Arg3 [0x00])
4350                                         Return (0x00)
4351                                     }
4352 
4353                                     If (((DerefOf (Arg3 [0x00]) == 0x15) || (DerefOf (
4354                                         Arg3 [0x00]) == 0x16)))
4355                                     {
4356                                         TPP1 = DerefOf (Arg3 [0x00])
4357                                         Return (0x00)
4358                                     }
4359 
4360                                     Return (0x01)
4361                                 }
4362 
4363                                 Return (0x02)
4364                             }
4365 
4366                             If ((Arg2 == 0x08))
4367                             {
4368                                 Name (PPIP, 0x00)
4369                                 Name (PPIC, 0x00)
4370                                 If ((\TPPP == 0x00))
4371                                 {
4372                                     PPIP = 0x01
4373                                 }
4374 
4375                                 If ((\TPPC == 0x00))
4376                                 {
4377                                     PPIC = 0x01
4378                                 }
4379 
4380                                 If ((DerefOf (Arg3 [0x00]) == 0x05))
4381                                 {
4382                                     If ((PPIC > 0x00))
4383                                     {
4384                                         Return (0x04)
4385                                     }
4386 
4387                                     Return (0x03)
4388                                 }
4389 
4390                                 If (((DerefOf (Arg3 [0x00]) >= 0x01) && (
4391                                     DerefOf (Arg3 [0x00]) <= 0x04)))
4392                                 {
4393                                     If ((PPIP > 0x00))
4394                                     {
4395                                         Return (0x04)
4396                                     }
4397 
4398                                     Return (0x03)
4399                                 }
4400 
4401                                 If (((DerefOf (Arg3 [0x00]) >= 0x06) && (
4402                                     DerefOf (Arg3 [0x00]) <= 0x0B)))
4403                                 {
4404                                     If ((PPIP > 0x00))
4405                                     {
4406                                         Return (0x04)
4407                                     }
4408 
4409                                     Return (0x03)
4410                                 }
4411 
4412                                 If (((DerefOf (Arg3 [0x00]) == 0x0E) || ((
4413                                     DerefOf (Arg3 [0x00]) >= 0x15) && (DerefOf (Arg3 [0x00]) <= 
4414                                     0x16))))
4415                                 {
4416                                     If (((PPIP > 0x00) && (PPIC > 0x00)))
4417                                     {
4418                                         Return (0x04)
4419                                     }
4420 
4421                                     Return (0x03)
4422                                 }
4423 
4424                                 If (((DerefOf (Arg3 [0x00]) == 0x10) || (DerefOf (
4425                                     Arg3 [0x00]) == 0x12)))
4426                                 {
4427                                     Return (0x03)
4428                                 }
4429 
4430                                 If (((DerefOf (Arg3 [0x00]) == 0x00) || ((DerefOf (
4431                                     Arg3 [0x00]) == 0x0F) || (DerefOf (Arg3 [0x00]) == 0x11))))
4432                                 {
4433                                     Return (0x04)
4434                                 }
4435 
4436                                 Return (0x00)
4437                             }
4438 
4439                             Return (0x01)
4440                         }
4441 
4442                         If ((UCMP (Arg0, ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")) == 0x01))
4443                         {
4444                             If ((Arg2 == 0x00))
4445                             {
4446                                 Return (Buffer (0x01)
4447                                 {
4448                                      0x03                                             // .
4449                                 })
4450                             }
4451 
4452                             If ((Arg2 == 0x01))
4453                             {
4454                                 TMPV = DerefOf (Arg3 [0x00])
4455                                 TMPV &= 0x01
4456                                 If ((TMPV == 0x00))
4457                                 {
4458                                     \_SB.MOR = 0x00
4459                                     Return (0x00)
4460                                 }
4461 
4462                                 If ((TMPV == 0x01))
4463                                 {
4464                                     \_SB.MOR = 0x01
4465                                     Return (0x00)
4466                                 }
4467                             }
4468 
4469                             Return (0x01)
4470                         }
4471 
4472                         Return (Buffer (0x01)
4473                         {
4474                              0x00                                             // .
4475                         })
4476                     }
4477 
4478                     Method (CMOR, 0, NotSerialized)
4479                     {
4480                         \_SB.MOR = 0x00
4481                         SMID = 0x80
4482                         SMIT = 0xC1
4483                     }
4484                 }
4485 
4486                 Device (EC)
4487                 {
4488                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
4489                     Name (_UID, 0x00)  // _UID: Unique ID
4490                     Name (_GPE, 0x25)  // _GPE: General Purpose Events
4491                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
4492                     {
4493                         If ((Arg0 == 0x03))
4494                         {
4495                             \H8DR = Arg1
4496                         }
4497                     }
4498 
4499                     OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4500                     Field (ECOR, ByteAcc, NoLock, Preserve)
4501                     {
4502                         HDBM,   1, 
4503                             ,   1, 
4504                             ,   1, 
4505                         HFNE,   1, 
4506                             ,   1, 
4507                             ,   1, 
4508                         HLDM,   1, 
4509                         Offset (0x01), 
4510                         BBLS,   1, 
4511                         BTCM,   1, 
4512                             ,   1, 
4513                             ,   1, 
4514                             ,   1, 
4515                         HBPR,   1, 
4516                         BTPC,   1, 
4517                         Offset (0x02), 
4518                         HDUE,   1, 
4519                             ,   4, 
4520                         SNLK,   1, 
4521                         Offset (0x03), 
4522                             ,   5, 
4523                         HAUM,   2, 
4524                         Offset (0x05), 
4525                         HSPA,   1, 
4526                         Offset (0x06), 
4527                         HSUN,   8, 
4528                         HSRP,   8, 
4529                         Offset (0x0C), 
4530                         HLCL,   8, 
4531                             ,   4, 
4532                         CALM,   1, 
4533                         Offset (0x0E), 
4534                         HFNS,   2, 
4535                         Offset (0x0F), 
4536                             ,   6, 
4537                         NULS,   1, 
4538                         Offset (0x10), 
4539                         HAM0,   8, 
4540                         HAM1,   8, 
4541                         HAM2,   8, 
4542                         HAM3,   8, 
4543                         HAM4,   8, 
4544                         HAM5,   8, 
4545                         HAM6,   8, 
4546                         HAM7,   8, 
4547                         HAM8,   8, 
4548                         HAM9,   8, 
4549                         HAMA,   8, 
4550                         HAMB,   8, 
4551                         HAMC,   8, 
4552                         HAMD,   8, 
4553                         HAME,   8, 
4554                         HAMF,   8, 
4555                         Offset (0x23), 
4556                         HANT,   8, 
4557                         Offset (0x26), 
4558                             ,   2, 
4559                         HANA,   2, 
4560                         Offset (0x27), 
4561                         Offset (0x28), 
4562                             ,   1, 
4563                         SKEM,   1, 
4564                         Offset (0x29), 
4565                         Offset (0x2A), 
4566                         HATR,   8, 
4567                         HT0H,   8, 
4568                         HT0L,   8, 
4569                         HT1H,   8, 
4570                         HT1L,   8, 
4571                         HFSP,   8, 
4572                             ,   6, 
4573                         HMUT,   1, 
4574                         Offset (0x31), 
4575                             ,   2, 
4576                         HUWB,   1, 
4577                         Offset (0x32), 
4578                         HWPM,   1, 
4579                         HWLB,   1, 
4580                         HWLO,   1, 
4581                         HWDK,   1, 
4582                         HWFN,   1, 
4583                         HWBT,   1, 
4584                         HWRI,   1, 
4585                         HWBU,   1, 
4586                         HWLU,   1, 
4587                         Offset (0x34), 
4588                             ,   3, 
4589                         PIBS,   1, 
4590                             ,   3, 
4591                         HPLO,   1, 
4592                         Offset (0x36), 
4593                         HWAC,   16, 
4594                         HB0S,   7, 
4595                         HB0A,   1, 
4596                         HB1S,   7, 
4597                         HB1A,   1, 
4598                         HCMU,   1, 
4599                             ,   2, 
4600                         OVRQ,   1, 
4601                         DCBD,   1, 
4602                         DCWL,   1, 
4603                         DCWW,   1, 
4604                         HB1I,   1, 
4605                             ,   1, 
4606                         KBLT,   1, 
4607                         BTPW,   1, 
4608                         FNKC,   1, 
4609                         HUBS,   1, 
4610                         BDPW,   1, 
4611                         BDDT,   1, 
4612                         HUBB,   1, 
4613                         Offset (0x46), 
4614                             ,   1, 
4615                         BTWK,   1, 
4616                         HPLD,   1, 
4617                             ,   1, 
4618                         HPAC,   1, 
4619                         BTST,   1, 
4620                         Offset (0x47), 
4621                         HPBU,   1, 
4622                             ,   1, 
4623                         HBID,   1, 
4624                             ,   3, 
4625                         HBCS,   1, 
4626                         HPNF,   1, 
4627                             ,   1, 
4628                         GSTS,   1, 
4629                             ,   2, 
4630                         HLBU,   1, 
4631                         DOCD,   1, 
4632                         HCBL,   1, 
4633                         Offset (0x49), 
4634                         SLUL,   1, 
4635                         Offset (0x4C), 
4636                         HTMH,   8, 
4637                         HTML,   8, 
4638                         HWAK,   16, 
4639                         HMPR,   8, 
4640                             ,   7, 
4641                         HMDN,   1, 
4642                         Offset (0x78), 
4643                         TMP0,   8, 
4644                         Offset (0x80), 
4645                         Offset (0x81), 
4646                         HIID,   8, 
4647                         Offset (0x83), 
4648                         HFNI,   8, 
4649                         HSPD,   16, 
4650                         Offset (0x88), 
4651                         TSL0,   7, 
4652                         TSR0,   1, 
4653                         TSL1,   7, 
4654                         TSR1,   1, 
4655                         TSL2,   7, 
4656                         TSR2,   1, 
4657                         TSL3,   7, 
4658                         TSR3,   1, 
4659                         Offset (0x8D), 
4660                         HDAA,   3, 
4661                         HDAB,   3, 
4662                         HDAC,   2, 
4663                         Offset (0xA5), 
4664                         GP50,   8, 
4665                         Offset (0xB0), 
4666                         HDEN,   32, 
4667                         HDEP,   32, 
4668                         HDEM,   8, 
4669                         HDES,   8, 
4670                         Offset (0xBB), 
4671                         PLSL,   8, 
4672                         PLMS,   8, 
4673                         PLLS,   8, 
4674                         PLTU,   8, 
4675                         Offset (0xC8), 
4676                         ATMX,   8, 
4677                         HWAT,   8, 
4678                         Offset (0xCC), 
4679                         PWMH,   8, 
4680                         PWML,   8, 
4681                         Offset (0xED), 
4682                             ,   4, 
4683                         HDDD,   1
4684                     }
4685 
4686                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
4687                     {
4688                         If (\H8DR)
4689                         {
4690                             HSPA = 0x00
4691                         }
4692                         Else
4693                         {
4694                             \MBEC (0x05, 0xFE, 0x00)
4695                         }
4696 
4697                         \_SB.PCI0.LPC.EC.HKEY.WGIN ()
4698                     }
4699 
4700                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4701                     {
4702                         IO (Decode16,
4703                             0x0062,             // Range Minimum
4704                             0x0062,             // Range Maximum
4705                             0x01,               // Alignment
4706                             0x01,               // Length
4707                             )
4708                         IO (Decode16,
4709                             0x0066,             // Range Minimum
4710                             0x0066,             // Range Maximum
4711                             0x01,               // Alignment
4712                             0x01,               // Length
4713                             )
4714                     })
4715                     Method (LED, 2, NotSerialized)
4716                     {
4717                         Local0 = (Arg0 | Arg1)
4718                         If (\H8DR)
4719                         {
4720                             HLCL = Local0
4721                         }
4722                         Else
4723                         {
4724                             \WBEC (0x0C, Local0)
4725                         }
4726                     }
4727 
4728                     Name (BAON, 0x00)
4729                     Name (WBON, 0x00)
4730                     Method (BEEP, 1, NotSerialized)
4731                     {
4732                         If ((Arg0 == 0x05))
4733                         {
4734                             WBON = 0x00
4735                         }
4736 
4737                         Local2 = WBON /* \_SB_.PCI0.LPC_.EC__.WBON */
4738                         If (BAON)
4739                         {
4740                             If ((Arg0 == 0x00))
4741                             {
4742                                 BAON = 0x00
4743                                 If (WBON)
4744                                 {
4745                                     Local0 = 0x03
4746                                     Local1 = 0x08
4747                                 }
4748                                 Else
4749                                 {
4750                                     Local0 = 0x00
4751                                     Local1 = 0x00
4752                                 }
4753                             }
4754                             Else
4755                             {
4756                                 Local0 = 0xFF
4757                                 Local1 = 0xFF
4758                                 If ((Arg0 == 0x11))
4759                                 {
4760                                     WBON = 0x00
4761                                 }
4762 
4763                                 If ((Arg0 == 0x10))
4764                                 {
4765                                     WBON = 0x01
4766                                 }
4767                             }
4768                         }
4769                         Else
4770                         {
4771                             Local0 = Arg0
4772                             Local1 = 0xFF
4773                             If ((Arg0 == 0x0F))
4774                             {
4775                                 Local0 = Arg0
4776                                 Local1 = 0x08
4777                                 BAON = 0x01
4778                             }
4779 
4780                             If ((Arg0 == 0x11))
4781                             {
4782                                 Local0 = 0x00
4783                                 Local1 = 0x00
4784                                 WBON = 0x00
4785                             }
4786 
4787                             If ((Arg0 == 0x10))
4788                             {
4789                                 Local0 = 0x03
4790                                 Local1 = 0x08
4791                                 WBON = 0x01
4792                             }
4793                         }
4794 
4795                         If ((Arg0 == 0x03))
4796                         {
4797                             WBON = 0x00
4798                             If (Local2)
4799                             {
4800                                 Local0 = 0x07
4801                                 If (((\SPS == 0x03) || (\SPS == 0x04)))
4802                                 {
4803                                     Local2 = 0x00
4804                                     Local0 = 0xFF
4805                                     Local1 = 0xFF
4806                                 }
4807                             }
4808                         }
4809 
4810                         If ((Arg0 == 0x07))
4811                         {
4812                             If (Local2)
4813                             {
4814                                 Local2 = 0x00
4815                                 Local0 = 0xFF
4816                                 Local1 = 0xFF
4817                             }
4818                         }
4819 
4820                         If (\H8DR)
4821                         {
4822                             If ((Local2 && !WBON))
4823                             {
4824                                 HSRP = 0x00
4825                                 HSUN = 0x00
4826                                 Sleep (0x64)
4827                             }
4828 
4829                             If ((Local1 != 0xFF))
4830                             {
4831                                 HSRP = Local1
4832                             }
4833 
4834                             If ((Local0 != 0xFF))
4835                             {
4836                                 HSUN = Local0
4837                             }
4838                         }
4839                         Else
4840                         {
4841                             If ((Local2 && !WBON))
4842                             {
4843                                 \WBEC (0x07, 0x00)
4844                                 \WBEC (0x06, 0x00)
4845                                 Sleep (0x64)
4846                             }
4847 
4848                             If ((Local1 != 0xFF))
4849                             {
4850                                 \WBEC (0x07, Local1)
4851                             }
4852 
4853                             If ((Local0 != 0xFF))
4854                             {
4855                                 \WBEC (0x06, Local0)
4856                             }
4857                         }
4858 
4859                         If ((Arg0 == 0x03)){}
4860                         If ((Arg0 == 0x07))
4861                         {
4862                             Sleep (0x01F4)
4863                         }
4864                     }
4865 
4866                     Method (EVNT, 1, NotSerialized)
4867                     {
4868                         If (\H8DR)
4869                         {
4870                             If (Arg0)
4871                             {
4872                                 HAM5 |= 0x04
4873                             }
4874                             Else
4875                             {
4876                                 HAM5 &= 0xFB
4877                             }
4878                         }
4879                         ElseIf (Arg0)
4880                         {
4881                             \MBEC (0x15, 0xFF, 0x04)
4882                         }
4883                         Else
4884                         {
4885                             \MBEC (0x15, 0xFB, 0x00)
4886                         }
4887                     }
4888 
4889                     Name (USPS, 0x00)
4890                     PowerResource (PUBS, 0x03, 0x0000)
4891                     {
4892                         Method (_STA, 0, NotSerialized)  // _STA: Status
4893                         {
4894                             If (\H8DR)
4895                             {
4896                                 Local0 = HUBS /* \_SB_.PCI0.LPC_.EC__.HUBS */
4897                             }
4898                             Else
4899                             {
4900                                 Local0 = (\RBEC (0x3B) & 0x10)
4901                             }
4902 
4903                             If (Local0)
4904                             {
4905                                 Return (0x01)
4906                             }
4907                             Else
4908                             {
4909                                 Return (0x00)
4910                             }
4911                         }
4912 
4913                         Method (_ON, 0, NotSerialized)  // _ON_: Power On
4914                         {
4915                             Local0 = 0x64
4916                             While ((USPS && Local0))
4917                             {
4918                                 Sleep (0x01)
4919                                 Local0--
4920                             }
4921 
4922                             If (\H8DR)
4923                             {
4924                                 HUBS = 0x01
4925                             }
4926                             Else
4927                             {
4928                                 \MBEC (0x3B, 0xFF, 0x10)
4929                             }
4930                         }
4931 
4932                         Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
4933                         {
4934                             USPS = 0x01
4935                             If (\H8DR)
4936                             {
4937                                 HUBS = 0x00
4938                             }
4939                             Else
4940                             {
4941                                 \MBEC (0x3B, 0xEF, 0x00)
4942                             }
4943 
4944                             Sleep (0x14)
4945                             USPS = 0x00
4946                         }
4947                     }
4948 
4949                     Method (CHKS, 0, NotSerialized)
4950                     {
4951                         Local0 = 0x03E8
4952                         While (HMPR)
4953                         {
4954                             Sleep (0x01)
4955                             Local0--
4956                             If (!Local0)
4957                             {
4958                                 Return (0x8080)
4959                             }
4960                         }
4961 
4962                         If (HMDN)
4963                         {
4964                             Return (Zero)
4965                         }
4966 
4967                         Return (0x8081)
4968                     }
4969 
4970                     Method (LPMD, 0, NotSerialized)
4971                     {
4972                         Local0 = 0x00
4973                         Local1 = 0x00
4974                         Local2 = 0x00
4975                         If (\H8DR)
4976                         {
4977                             If (HPAC)
4978                             {
4979                                 If (HPLO)
4980                                 {
4981                                     Local0 = \LPST
4982                                 }
4983                                 ElseIf ((HWAT < 0x5A))
4984                                 {
4985                                     If (HB0A)
4986                                     {
4987                                         If (((HB0S & 0x10) || ((HB0S & 0x07) < 0x02)))
4988                                         {
4989                                             Local1 = 0x01
4990                                         }
4991                                     }
4992                                     Else
4993                                     {
4994                                         Local1 = 0x01
4995                                     }
4996 
4997                                     If (HB1A)
4998                                     {
4999                                         If (((HB1S & 0x10) || ((HB1S & 0x07) < 0x02)))
5000                                         {
5001                                             Local2 = 0x01
5002                                         }
5003                                     }
5004                                     Else
5005                                     {
5006                                         Local2 = 0x01
5007                                     }
5008 
5009                                     If ((Local1 && Local2))
5010                                     {
5011                                         Local0 = \LPST
5012                                     }
5013                                 }
5014                             }
5015                         }
5016                         ElseIf ((\RBEC (0x46) & 0x10))
5017                         {
5018                             If ((\RBEC (0x34) & 0x80))
5019                             {
5020                                 Local0 = \LPST
5021                             }
5022                             ElseIf ((\RBEC (0xC9) < 0x5A))
5023                             {
5024                                 Local3 = \RBEC (0x38)
5025                                 If ((Local3 & 0x80))
5026                                 {
5027                                     If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5028                                     {
5029                                         Local1 = 0x01
5030                                     }
5031                                 }
5032                                 Else
5033                                 {
5034                                     Local2 = 0x01
5035                                 }
5036 
5037                                 Local3 = \RBEC (0x39)
5038                                 If ((Local3 & 0x80))
5039                                 {
5040                                     If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5041                                     {
5042                                         Local1 = 0x01
5043                                     }
5044                                 }
5045                                 Else
5046                                 {
5047                                     Local2 = 0x01
5048                                 }
5049 
5050                                 If ((Local1 && Local2))
5051                                 {
5052                                     Local0 = \LPST
5053                                 }
5054                             }
5055                         }
5056 
5057                         Return (Local0)
5058                     }
5059 
5060                     Method (CLPM, 0, NotSerialized)
5061                     {
5062                         If ((\PPMF & 0x01))
5063                         {
5064                             If ((\OSPX || \CPPX))
5065                             {
5066                                 \PNTF (0x80)
5067                             }
5068                             Else
5069                             {
5070                                 Local0 = LPMD ()
5071                                 If (Local0)
5072                                 {
5073                                     \STEP (0x04)
5074                                 }
5075                                 Else
5076                                 {
5077                                     \STEP (0x05)
5078                                 }
5079                             }
5080                         }
5081                     }
5082 
5083                     Mutex (MCPU, 0x07)
5084                     Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
5085                     {
5086                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5087                         {
5088                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5089                         }
5090                     }
5091 
5092                     Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
5093                     {
5094                         Noop
5095                     }
5096 
5097                     Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
5098                     {
5099                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5100                         {
5101                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5102                         }
5103                     }
5104 
5105                     Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query
5106                     {
5107                         If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5108                         {
5109                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5110                         }
5111                         Else
5112                         {
5113                             Notify (\_SB.SLPB, 0x80) // Status Change
5114                         }
5115                     }
5116 
5117                     Method (_Q64, 0, NotSerialized)  // _Qxx: EC Query
5118                     {
5119                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5120                         {
5121                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5122                         }
5123                     }
5124 
5125                     Method (_Q65, 0, NotSerialized)  // _Qxx: EC Query
5126                     {
5127                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5128                         {
5129                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5130                         }
5131                     }
5132 
5133                     Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query
5134                     {
5135                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5136                         {
5137                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5138                         }
5139                         Else
5140                         {
5141                             If ((\VHYB (0x03, 0x00) == 0x03))
5142                             {
5143                                 Notify (\_SB.PCI0.VID, 0x80) // Status Change
5144                                 Return (Zero)
5145                             }
5146 
5147                             If (VIGD)
5148                             {
5149                                 \_SB.PCI0.VID.VSWT ()
5150                             }
5151                             Else
5152                             {
5153                                 \_SB.PCI0.PEG.VID.VSWT ()
5154                             }
5155                         }
5156                     }
5157 
5158                     Method (_Q17, 0, NotSerialized)  // _Qxx: EC Query
5159                     {
5160                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5161                         {
5162                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5163                         }
5164                         ElseIf (!\WNTF)
5165                         {
5166                             VEXP ()
5167                         }
5168                     }
5169 
5170                     Method (_Q18, 0, NotSerialized)  // _Qxx: EC Query
5171                     {
5172                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5173                         {
5174                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5175                         }
5176 
5177                         Noop
5178                     }
5179 
5180                     Method (_Q1A, 0, NotSerialized)  // _Qxx: EC Query
5181                     {
5182                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5183                         {
5184                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5185                         }
5186                     }
5187 
5188                     Method (_Q1B, 0, NotSerialized)  // _Qxx: EC Query
5189                     {
5190                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5191                     }
5192 
5193                     Method (_Q62, 0, NotSerialized)  // _Qxx: EC Query
5194                     {
5195                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5196                         {
5197                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5198                         }
5199                     }
5200 
5201                     Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
5202                     {
5203                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5204                         {
5205                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5206                         }
5207                     }
5208 
5209                     Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query
5210                     {
5211                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5212                         {
5213                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5214                         }
5215                     }
5216 
5217                     Method (_Q1F, 0, NotSerialized)  // _Qxx: EC Query
5218                     {
5219                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5220                         {
5221                             If ((PKLI & 0x0C00))
5222                             {
5223                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5224                             }
5225                         }
5226 
5227                         \UCMS (0x0E)
5228                     }
5229 
5230                     Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
5231                     {
5232                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5233                         {
5234                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5235                         }
5236                     }
5237 
5238                     Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
5239                     {
5240                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5241                         {
5242                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5243                         }
5244                     }
5245 
5246                     Method (_Q66, 0, NotSerialized)  // _Qxx: EC Query
5247                     {
5248                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10000000))
5249                         {
5250                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101D)
5251                         }
5252                     }
5253 
5254                     Method (_Q67, 0, NotSerialized)  // _Qxx: EC Query
5255                     {
5256                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20000000))
5257                         {
5258                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101E)
5259                         }
5260                     }
5261 
5262                     Method (_Q68, 0, NotSerialized)  // _Qxx: EC Query
5263                     {
5264                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40000000))
5265                         {
5266                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101F)
5267                         }
5268                     }
5269 
5270                     Method (_Q69, 0, NotSerialized)  // _Qxx: EC Query
5271                     {
5272                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80000000))
5273                         {
5274                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1020)
5275                         }
5276                     }
5277 
5278                     Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query
5279                     {
5280                         If (VIGD)
5281                         {
5282                             If (\WVIS)
5283                             {
5284                                 \VBTD ()
5285                             }
5286 
5287                             \_SB.PCI0.LPC.EC.BRNS ()
5288                         }
5289                         Else
5290                         {
5291                             \UCMS (0x12)
5292                         }
5293 
5294                         Sleep (0x01F4)
5295                         Notify (AC, 0x80) // Status Change
5296                         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5297                         If (\WXPF)
5298                         {
5299                             Acquire (MCPU, 0xFFFF)
5300                         }
5301 
5302                         PWRS = 0x01
5303                         If ((\PPMF & 0x01))
5304                         {
5305                             If ((\OSPX || \CPPX))
5306                             {
5307                                 \PNTF (0x80)
5308                             }
5309                         }
5310 
5311                         If (\WXPF)
5312                         {
5313                             Sleep (0x64)
5314                         }
5315 
5316                         If (\OSC4)
5317                         {
5318                             \PNTF (0x81)
5319                         }
5320 
5321                         If (\WXPF)
5322                         {
5323                             Release (MCPU)
5324                         }
5325 
5326                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5327                         ATMC ()
5328                     }
5329 
5330                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
5331                     {
5332                         If (VIGD)
5333                         {
5334                             If (\WVIS)
5335                             {
5336                                 \VBTD ()
5337                             }
5338 
5339                             \_SB.PCI0.LPC.EC.BRNS ()
5340                         }
5341                         Else
5342                         {
5343                             \UCMS (0x12)
5344                         }
5345 
5346                         If (\_SB.PCI0.PEG.VID.ISOP ())
5347                         {
5348                             Notify (\_SB.PCI0.PEG.VID, 0xDF) // Hardware-Specific
5349                         }
5350 
5351                         Sleep (0x01F4)
5352                         Notify (AC, 0x80) // Status Change
5353                         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5354                         If (\WXPF)
5355                         {
5356                             Acquire (MCPU, 0xFFFF)
5357                         }
5358 
5359                         PWRS = 0x00
5360                         If ((\PPMF & 0x01))
5361                         {
5362                             If ((\OSPX || \CPPX))
5363                             {
5364                                 \PNTF (0x80)
5365                             }
5366                         }
5367 
5368                         If (\WXPF)
5369                         {
5370                             Sleep (0x64)
5371                         }
5372 
5373                         If (\OSC4)
5374                         {
5375                             \PNTF (0x81)
5376                         }
5377 
5378                         If (\WXPF)
5379                         {
5380                             Release (MCPU)
5381                         }
5382 
5383                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5384                         ATMC ()
5385                     }
5386 
5387                     Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
5388                     {
5389                         \VCMS (0x01, \_SB.LID._LID ())
5390                         If ((\ILNF == 0x00))
5391                         {
5392                             If (\IOST)
5393                             {
5394                                 If (!\ISOC (0x00))
5395                                 {
5396                                     \IOST = 0x00
5397                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5398                                 }
5399                             }
5400                             Else
5401                             {
5402                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5403                                 If ((\PLUX == 0x00))
5404                                 {
5405                                     If (VIGD)
5406                                     {
5407                                         \_SB.PCI0.VID.GLIS (0x01)
5408                                         \_SB.PCI0.VID.VLOC (0x01)
5409                                     }
5410                                     Else
5411                                     {
5412                                         \_SB.PCI0.PEG.VID.VLOC (0x01)
5413                                     }
5414 
5415                                     Notify (\_SB.LID, 0x80) // Status Change
5416                                 }
5417                             }
5418                         }
5419                     }
5420 
5421                     Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
5422                     {
5423                         \UCMS (0x0D)
5424                         \VCMS (0x01, \_SB.LID._LID ())
5425                         If ((\ILNF == 0x00))
5426                         {
5427                             If ((\IOEN && !\IOST))
5428                             {
5429                                 If (!\ISOC (0x01))
5430                                 {
5431                                     \IOST = 0x01
5432                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5433                                 }
5434                             }
5435                             Else
5436                             {
5437                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5438                                 If ((\PLUX == 0x00))
5439                                 {
5440                                     If (VIGD)
5441                                     {
5442                                         \_SB.PCI0.VID.GLIS (0x00)
5443                                     }
5444                                     Else
5445                                     {
5446                                         \_SB.PCI0.PEG.VID.VLOC (0x00)
5447                                     }
5448 
5449                                     Notify (\_SB.LID, 0x80) // Status Change
5450                                 }
5451                             }
5452                         }
5453                     }
5454 
5455                     Method (_Q3D, 0, NotSerialized)  // _Qxx: EC Query
5456                     {
5457                     }
5458 
5459                     Method (_Q48, 0, NotSerialized)  // _Qxx: EC Query
5460                     {
5461                         If ((\PPMF & 0x01))
5462                         {
5463                             If ((\OSPX || \CPPX))
5464                             {
5465                                 \PNTF (0x80)
5466                             }
5467                             Else
5468                             {
5469                                 \STEP (0x04)
5470                             }
5471 
5472                             \_SB.PCI0.LPC.EC.CALM = 0x01
5473                         }
5474                     }
5475 
5476                     Method (_Q49, 0, NotSerialized)  // _Qxx: EC Query
5477                     {
5478                         If ((\PPMF & 0x01))
5479                         {
5480                             If ((\OSPX || \CPPX))
5481                             {
5482                                 \PNTF (0x80)
5483                             }
5484                             Else
5485                             {
5486                                 \STEP (0x05)
5487                             }
5488                         }
5489                     }
5490 
5491                     Method (_Q7F, 0, NotSerialized)  // _Qxx: EC Query
5492                     {
5493                         Fatal (0x01, 0x80010000, 0x1FCD)
5494                     }
5495 
5496                     Method (_Q4E, 0, NotSerialized)  // _Qxx: EC Query
5497                     {
5498                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5499                     }
5500 
5501                     Method (_Q4F, 0, NotSerialized)  // _Qxx: EC Query
5502                     {
5503                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5504                     }
5505 
5506                     Method (_Q46, 0, NotSerialized)  // _Qxx: EC Query
5507                     {
5508                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5509                     }
5510 
5511                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
5512                     {
5513                         CLPM ()
5514                         If (HB0A)
5515                         {
5516                             Notify (BAT0, 0x80) // Status Change
5517                         }
5518 
5519                         If (HB1A)
5520                         {
5521                             Notify (BAT1, 0x80) // Status Change
5522                         }
5523                     }
5524 
5525                     Method (_Q4A, 0, NotSerialized)  // _Qxx: EC Query
5526                     {
5527                         CLPM ()
5528                         Notify (BAT0, 0x81) // Information Change
5529                     }
5530 
5531                     Method (_Q4B, 0, NotSerialized)  // _Qxx: EC Query
5532                     {
5533                         CLPM ()
5534                         Notify (BAT0, 0x80) // Status Change
5535                     }
5536 
5537                     Method (_Q4D, 0, NotSerialized)  // _Qxx: EC Query
5538                     {
5539                         CLPM ()
5540                         If (\BT2T)
5541                         {
5542                             If ((^BAT1.SBLI == 0x01))
5543                             {
5544                                 Sleep (0x0A)
5545                                 If ((HB1A && (SLUL == 0x00)))
5546                                 {
5547                                     ^BAT1.XB1S = 0x01
5548                                     Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5549                                 }
5550                             }
5551                             ElseIf ((SLUL == 0x01))
5552                             {
5553                                 ^BAT1.XB1S = 0x00
5554                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
5555                             }
5556                         }
5557 
5558                         If ((^BAT1.B1ST & ^BAT1.XB1S))
5559                         {
5560                             Notify (BAT1, 0x80) // Status Change
5561                         }
5562                     }
5563 
5564                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
5565                     {
5566                         CLPM ()
5567                         Notify (BAT0, 0x80) // Status Change
5568                     }
5569 
5570                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
5571                     {
5572                         If ((^BAT1.B1ST & ^BAT1.XB1S))
5573                         {
5574                             CLPM ()
5575                             Notify (BAT1, 0x80) // Status Change
5576                         }
5577                     }
5578 
5579                     Method (BATW, 1, NotSerialized)
5580                     {
5581                         If (\BT2T)
5582                         {
5583                             Local0 = \_SB.PCI0.LPC.EC.BAT1.XB1S
5584                             If ((HB1A && !SLUL))
5585                             {
5586                                 Local1 = 0x01
5587                             }
5588                             Else
5589                             {
5590                                 Local1 = 0x00
5591                             }
5592 
5593                             If ((Local0 ^ Local1))
5594                             {
5595                                 \_SB.PCI0.LPC.EC.BAT1.XB1S = Local1
5596                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5597                             }
5598                         }
5599                     }
5600 
5601                     Field (ECOR, ByteAcc, NoLock, Preserve)
5602                     {
5603                         Offset (0xA0), 
5604                         SBRC,   16, 
5605                         SBFC,   16, 
5606                         SBAE,   16, 
5607                         SBRS,   16, 
5608                         SBAC,   16, 
5609                         SBVO,   16, 
5610                         SBAF,   16, 
5611                         SBBS,   16
5612                     }
5613 
5614                     Field (ECOR, ByteAcc, NoLock, Preserve)
5615                     {
5616                         Offset (0xA0), 
5617                         SBBM,   16, 
5618                         SBMD,   16, 
5619                         SBCC,   16
5620                     }
5621 
5622                     Field (ECOR, ByteAcc, NoLock, Preserve)
5623                     {
5624                         Offset (0xA0), 
5625                         SBDC,   16, 
5626                         SBDV,   16, 
5627                         SBOM,   16, 
5628                         SBSI,   16, 
5629                         SBDT,   16, 
5630                         SBSN,   16
5631                     }
5632 
5633                     Field (ECOR, ByteAcc, NoLock, Preserve)
5634                     {
5635                         Offset (0xA0), 
5636                         SBCH,   32
5637                     }
5638 
5639                     Field (ECOR, ByteAcc, NoLock, Preserve)
5640                     {
5641                         Offset (0xA0), 
5642                         SBMN,   128
5643                     }
5644 
5645                     Field (ECOR, ByteAcc, NoLock, Preserve)
5646                     {
5647                         Offset (0xA0), 
5648                         SBDN,   128
5649                     }
5650 
5651                     Mutex (BATM, 0x07)
5652                     Method (GBIF, 3, NotSerialized)
5653                     {
5654                         Acquire (BATM, 0xFFFF)
5655                         If (Arg2)
5656                         {
5657                             HIID = (Arg0 | 0x01)
5658                             Local7 = SBBM /* \_SB_.PCI0.LPC_.EC__.SBBM */
5659                             Local7 >>= 0x0F
5660                             Arg1 [0x00] = (Local7 ^ 0x01)
5661                             HIID = Arg0
5662                             If (Local7)
5663                             {
5664                                 Local1 = (SBFC * 0x0A)
5665                             }
5666                             Else
5667                             {
5668                                 Local1 = SBFC /* \_SB_.PCI0.LPC_.EC__.SBFC */
5669                             }
5670 
5671                             Arg1 [0x02] = Local1
5672                             HIID = (Arg0 | 0x02)
5673                             If (Local7)
5674                             {
5675                                 Local0 = (SBDC * 0x0A)
5676                             }
5677                             Else
5678                             {
5679                                 Local0 = SBDC /* \_SB_.PCI0.LPC_.EC__.SBDC */
5680                             }
5681 
5682                             Arg1 [0x01] = Local0
5683                             Divide (Local1, 0x14, Local2, Arg1 [0x05])
5684                             If (Local7)
5685                             {
5686                                 Arg1 [0x06] = 0xC8
5687                             }
5688                             ElseIf (SBDV)
5689                             {
5690                                 Divide (0x00030D40, SBDV, Local2, Arg1 [0x06])
5691                             }
5692                             Else
5693                             {
5694                                 Arg1 [0x06] = 0x00
5695                             }
5696 
5697                             Arg1 [0x04] = SBDV /* \_SB_.PCI0.LPC_.EC__.SBDV */
5698                             Local0 = SBSN /* \_SB_.PCI0.LPC_.EC__.SBSN */
5699                             Name (SERN, Buffer (0x06)
5700                             {
5701                                 "     "
5702                             })
5703                             Local2 = 0x04
5704                             While (Local0)
5705                             {
5706                                 Divide (Local0, 0x0A, Local1, Local0)
5707                                 SERN [Local2] = (Local1 + 0x30)
5708                                 Local2--
5709                             }
5710 
5711                             Arg1 [0x0A] = SERN /* \_SB_.PCI0.LPC_.EC__.GBIF.SERN */
5712                             HIID = (Arg0 | 0x06)
5713                             Arg1 [0x09] = SBDN /* \_SB_.PCI0.LPC_.EC__.SBDN */
5714                             HIID = (Arg0 | 0x04)
5715                             Name (BTYP, Buffer (0x05)
5716                             {
5717                                  0x00, 0x00, 0x00, 0x00, 0x00                     // .....
5718                             })
5719                             BTYP = SBCH /* \_SB_.PCI0.LPC_.EC__.SBCH */
5720                             Arg1 [0x0B] = BTYP /* \_SB_.PCI0.LPC_.EC__.GBIF.BTYP */
5721                             HIID = (Arg0 | 0x05)
5722                             Arg1 [0x0C] = SBMN /* \_SB_.PCI0.LPC_.EC__.SBMN */
5723                         }
5724                         Else
5725                         {
5726                             Arg1 [0x01] = 0xFFFFFFFF
5727                             Arg1 [0x05] = 0x00
5728                             Arg1 [0x06] = 0x00
5729                             Arg1 [0x02] = 0xFFFFFFFF
5730                         }
5731 
5732                         Release (BATM)
5733                         Return (Arg1)
5734                     }
5735 
5736                     Method (GBST, 4, NotSerialized)
5737                     {
5738                         Acquire (BATM, 0xFFFF)
5739                         If ((Arg1 & 0x20))
5740                         {
5741                             Local0 = 0x02
5742                         }
5743                         ElseIf ((Arg1 & 0x40))
5744                         {
5745                             Local0 = 0x01
5746                         }
5747                         Else
5748                         {
5749                             Local0 = 0x00
5750                         }
5751 
5752                         If ((Arg1 & 0x07)){}
5753                         Else
5754                         {
5755                             Local0 |= 0x04
5756                         }
5757 
5758                         If (((Arg1 & 0x07) == 0x07))
5759                         {
5760                             Local0 = 0x04
5761                             Local1 = 0x00
5762                             Local2 = 0x00
5763                             Local3 = 0x00
5764                         }
5765                         Else
5766                         {
5767                             HIID = Arg0
5768                             Local3 = SBVO /* \_SB_.PCI0.LPC_.EC__.SBVO */
5769                             If (Arg2)
5770                             {
5771                                 Local2 = (SBRC * 0x0A)
5772                             }
5773                             Else
5774                             {
5775                                 Local2 = SBRC /* \_SB_.PCI0.LPC_.EC__.SBRC */
5776                             }
5777 
5778                             Local1 = SBAC /* \_SB_.PCI0.LPC_.EC__.SBAC */
5779                             If ((Local1 >= 0x8000))
5780                             {
5781                                 If ((Local0 & 0x01))
5782                                 {
5783                                     Local1 = (0x00010000 - Local1)
5784                                 }
5785                                 Else
5786                                 {
5787                                     Local1 = 0x00
5788                                 }
5789                             }
5790                             ElseIf (!(Local0 & 0x02))
5791                             {
5792                                 Local1 = 0x00
5793                             }
5794 
5795                             If (Arg2)
5796                             {
5797                                 Local1 *= Local3
5798                                 Divide (Local1, 0x03E8, Local7, Local1)
5799                             }
5800                         }
5801 
5802                         Arg3 [0x00] = Local0
5803                         Arg3 [0x01] = Local1
5804                         Arg3 [0x02] = Local2
5805                         Arg3 [0x03] = Local3
5806                         Release (BATM)
5807                         Return (Arg3)
5808                     }
5809 
5810                     Device (BAT0)
5811                     {
5812                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
5813                         Name (_UID, 0x00)  // _UID: Unique ID
5814                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
5815                         {
5816                             \_SB
5817                         })
5818                         Name (B0ST, 0x00)
5819                         Name (BT0I, Package (0x0D)
5820                         {
5821                             0x00, 
5822                             0xFFFFFFFF, 
5823                             0xFFFFFFFF, 
5824                             0x01, 
5825                             0x2A30, 
5826                             0x00, 
5827                             0x00, 
5828                             0x01, 
5829                             0x01, 
5830                             "", 
5831                             "", 
5832                             "", 
5833                             ""
5834                         })
5835                         Name (BT0P, Package (0x04){})
5836                         Method (_STA, 0, NotSerialized)  // _STA: Status
5837                         {
5838                             If (\H8DR)
5839                             {
5840                                 B0ST = HB0A /* \_SB_.PCI0.LPC_.EC__.HB0A */
5841                             }
5842                             ElseIf ((\RBEC (0x38) & 0x80))
5843                             {
5844                                 B0ST = 0x01
5845                             }
5846                             Else
5847                             {
5848                                 B0ST = 0x00
5849                             }
5850 
5851                             If (B0ST)
5852                             {
5853                                 Return (0x1F)
5854                             }
5855                             Else
5856                             {
5857                                 Return (0x0F)
5858                             }
5859                         }
5860 
5861                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
5862                         {
5863                             Local7 = 0x00
5864                             Local6 = 0x0A
5865                             While ((!Local7 && Local6))
5866                             {
5867                                 If (HB0A)
5868                                 {
5869                                     If (((HB0S & 0x07) == 0x07))
5870                                     {
5871                                         Sleep (0x03E8)
5872                                         Local6--
5873                                     }
5874                                     Else
5875                                     {
5876                                         Local7 = 0x01
5877                                     }
5878                                 }
5879                                 Else
5880                                 {
5881                                     Local6 = 0x00
5882                                 }
5883                             }
5884 
5885                             Return (GBIF (0x00, BT0I, Local7))
5886                         }
5887 
5888                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
5889                         {
5890                             Local0 = (DerefOf (BT0I [0x00]) ^ 0x01)
5891                             Return (GBST (0x00, HB0S, Local0, BT0P))
5892                         }
5893 
5894                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
5895                         {
5896                             HAM4 &= 0xEF
5897                             If (Arg0)
5898                             {
5899                                 Local1 = Arg0
5900                                 If (!DerefOf (BT0I [0x00]))
5901                                 {
5902                                     Divide (Local1, 0x0A, Local0, Local1)
5903                                 }
5904 
5905                                 HT0L = (Local1 & 0xFF)
5906                                 HT0H = ((Local1 >> 0x08) & 0xFF)
5907                                 HAM4 |= 0x10
5908                             }
5909                         }
5910                     }
5911 
5912                     Device (BAT1)
5913                     {
5914                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
5915                         Name (_UID, 0x01)  // _UID: Unique ID
5916                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
5917                         {
5918                             \_SB
5919                         })
5920                         Name (B1ST, 0x00)
5921                         Name (SBLI, 0x01)
5922                         Name (XB1S, 0x00)
5923                         Name (BT1I, Package (0x0D)
5924                         {
5925                             0x00, 
5926                             0xFFFFFFFF, 
5927                             0xFFFFFFFF, 
5928                             0x01, 
5929                             0x2A30, 
5930                             0x00, 
5931                             0x00, 
5932                             0x01, 
5933                             0x01, 
5934                             "", 
5935                             "", 
5936                             "", 
5937                             ""
5938                         })
5939                         Name (BT1P, Package (0x04){})
5940                         Method (_STA, 0, NotSerialized)  // _STA: Status
5941                         {
5942                             If (\H8DR)
5943                             {
5944                                 If (HB1A)
5945                                 {
5946                                     B1ST = 0x01
5947                                     If (\BT2T)
5948                                     {
5949                                         If (SLUL)
5950                                         {
5951                                             SBLI = 0x01
5952                                             XB1S = 0x00
5953                                         }
5954                                         Else
5955                                         {
5956                                             SBLI = 0x00
5957                                             XB1S = 0x01
5958                                         }
5959                                     }
5960                                     Else
5961                                     {
5962                                         XB1S = 0x01
5963                                     }
5964                                 }
5965                                 Else
5966                                 {
5967                                     B1ST = 0x00
5968                                     If (\BT2T)
5969                                     {
5970                                         SBLI = 0x01
5971                                         XB1S = 0x00
5972                                     }
5973                                     Else
5974                                     {
5975                                         XB1S = 0x00
5976                                     }
5977                                 }
5978                             }
5979                             ElseIf ((\RBEC (0x39) & 0x80))
5980                             {
5981                                 B1ST = 0x01
5982                                 If (\BT2T)
5983                                 {
5984                                     If ((\RBEC (0x49) & 0x01))
5985                                     {
5986                                         SBLI = 0x01
5987                                         XB1S = 0x00
5988                                     }
5989                                     Else
5990                                     {
5991                                         SBLI = 0x00
5992                                         XB1S = 0x01
5993                                     }
5994                                 }
5995                                 Else
5996                                 {
5997                                     XB1S = 0x01
5998                                 }
5999                             }
6000                             Else
6001                             {
6002                                 B1ST = 0x00
6003                                 If (\BT2T)
6004                                 {
6005                                     SBLI = 0x01
6006                                     XB1S = 0x00
6007                                 }
6008                                 Else
6009                                 {
6010                                     XB1S = 0x00
6011                                 }
6012                             }
6013 
6014                             If (B1ST)
6015                             {
6016                                 If (XB1S)
6017                                 {
6018                                     Return (0x1F)
6019                                 }
6020                                 ElseIf (\WNTF)
6021                                 {
6022                                     Return (0x00)
6023                                 }
6024                                 Else
6025                                 {
6026                                     Return (0x1F)
6027                                 }
6028                             }
6029                             ElseIf (\WNTF)
6030                             {
6031                                 Return (0x00)
6032                             }
6033                             Else
6034                             {
6035                                 Return (0x0F)
6036                             }
6037                         }
6038 
6039                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
6040                         {
6041                             Local7 = 0x00
6042                             Local6 = 0x0A
6043                             While ((!Local7 && Local6))
6044                             {
6045                                 If (HB1A)
6046                                 {
6047                                     If (((HB1S & 0x07) == 0x07))
6048                                     {
6049                                         Sleep (0x03E8)
6050                                         Local6--
6051                                     }
6052                                     Else
6053                                     {
6054                                         Local7 = 0x01
6055                                     }
6056                                 }
6057                                 Else
6058                                 {
6059                                     Local6 = 0x00
6060                                 }
6061                             }
6062 
6063                             Return (GBIF (0x10, BT1I, Local7))
6064                         }
6065 
6066                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
6067                         {
6068                             Local0 = (DerefOf (BT1I [0x00]) ^ 0x01)
6069                             Return (GBST (0x10, HB1S, Local0, BT1P))
6070                         }
6071 
6072                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
6073                         {
6074                             HAM4 &= 0xDF
6075                             If (Arg0)
6076                             {
6077                                 Local1 = Arg0
6078                                 If (!DerefOf (BT1I [0x00]))
6079                                 {
6080                                     Divide (Local1, 0x0A, Local0, Local1)
6081                                 }
6082 
6083                                 HT1L = (Local1 & 0xFF)
6084                                 HT1H = ((Local1 >> 0x08) & 0xFF)
6085                                 HAM4 |= 0x20
6086                             }
6087                         }
6088                     }
6089 
6090                     Device (AC)
6091                     {
6092                         Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
6093                         Name (_UID, 0x00)  // _UID: Unique ID
6094                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6095                         {
6096                             \_SB
6097                         })
6098                         Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
6099                         {
6100                             If (\H8DR)
6101                             {
6102                                 Return (HPAC) /* \_SB_.PCI0.LPC_.EC__.HPAC */
6103                             }
6104                             ElseIf ((\RBEC (0x46) & 0x10))
6105                             {
6106                                 Return (0x01)
6107                             }
6108                             Else
6109                             {
6110                                 Return (0x00)
6111                             }
6112                         }
6113 
6114                         Method (_STA, 0, NotSerialized)  // _STA: Status
6115                         {
6116                             Return (0x0F)
6117                         }
6118                     }
6119 
6120                     Device (HKEY)
6121                     {
6122                         Name (_HID, EisaId ("LEN0068"))  // _HID: Hardware ID
6123                         Method (_STA, 0, NotSerialized)  // _STA: Status
6124                         {
6125                             Return (0x0F)
6126                         }
6127 
6128                         Method (MHKV, 0, NotSerialized)
6129                         {
6130                             Return (0x0100)
6131                         }
6132 
6133                         Name (DHKC, 0x00)
6134                         Name (DHKB, 0x01)
6135                         Mutex (XDHK, 0x07)
6136                         Name (DHKH, 0x00)
6137                         Name (DHKW, 0x00)
6138                         Name (DHKS, 0x00)
6139                         Name (DHKD, 0x00)
6140                         Name (DHKN, 0x0808)
6141                         Name (DHKT, 0x00)
6142                         Name (DHWW, 0x00)
6143                         Method (MHKA, 0, NotSerialized)
6144                         {
6145                             Return (0xFFFFFFFB)
6146                         }
6147 
6148                         Method (MHKN, 0, NotSerialized)
6149                         {
6150                             Return (DHKN) /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6151                         }
6152 
6153                         Method (MHKK, 1, NotSerialized)
6154                         {
6155                             If (DHKC)
6156                             {
6157                                 Return ((DHKN & Arg0))
6158                             }
6159                             Else
6160                             {
6161                                 Return (Zero)
6162                             }
6163                         }
6164 
6165                         Method (MHKM, 2, NotSerialized)
6166                         {
6167                             Acquire (XDHK, 0xFFFF)
6168                             If ((Arg0 > 0x20))
6169                             {
6170                                 Noop
6171                             }
6172                             Else
6173                             {
6174                                 Local0 = (One << Arg0--)
6175                                 If ((Local0 & 0xFFFFFFFB))
6176                                 {
6177                                     If (Arg1)
6178                                     {
6179                                         DHKN |= Local0 /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6180                                     }
6181                                     Else
6182                                     {
6183                                         DHKN &= (Local0 ^ 0xFFFFFFFF)
6184                                     }
6185                                 }
6186                                 Else
6187                                 {
6188                                     Noop
6189                                 }
6190                             }
6191 
6192                             Release (XDHK)
6193                         }
6194 
6195                         Method (MHKS, 0, NotSerialized)
6196                         {
6197                             Notify (\_SB.SLPB, 0x80) // Status Change
6198                         }
6199 
6200                         Method (MHKC, 1, NotSerialized)
6201                         {
6202                             DHKC = Arg0
6203                         }
6204 
6205                         Method (MHKP, 0, NotSerialized)
6206                         {
6207                             Acquire (XDHK, 0xFFFF)
6208                             If (DHWW)
6209                             {
6210                                 Local1 = DHWW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHWW */
6211                                 DHWW = Zero
6212                             }
6213                             ElseIf (DHKW)
6214                             {
6215                                 Local1 = DHKW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKW */
6216                                 DHKW = Zero
6217                             }
6218                             ElseIf (DHKD)
6219                             {
6220                                 Local1 = DHKD /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKD */
6221                                 DHKD = Zero
6222                             }
6223                             ElseIf (DHKS)
6224                             {
6225                                 Local1 = DHKS /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKS */
6226                                 DHKS = Zero
6227                             }
6228                             ElseIf (DHKT)
6229                             {
6230                                 Local1 = DHKT /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKT */
6231                                 DHKT = Zero
6232                             }
6233                             Else
6234                             {
6235                                 Local1 = DHKH /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKH */
6236                                 DHKH = Zero
6237                             }
6238 
6239                             Release (XDHK)
6240                             Return (Local1)
6241                         }
6242 
6243                         Method (MHKE, 1, NotSerialized)
6244                         {
6245                             DHKB = Arg0
6246                             Acquire (XDHK, 0xFFFF)
6247                             DHKH = Zero
6248                             DHKW = Zero
6249                             DHKS = Zero
6250                             DHKD = Zero
6251                             DHKT = Zero
6252                             DHWW = Zero
6253                             Release (XDHK)
6254                         }
6255 
6256                         Method (MHKQ, 1, NotSerialized)
6257                         {
6258                             If (DHKB)
6259                             {
6260                                 If (DHKC)
6261                                 {
6262                                     Acquire (XDHK, 0xFFFF)
6263                                     If ((Arg0 < 0x1000)){}
6264                                     ElseIf ((Arg0 < 0x2000))
6265                                     {
6266                                         DHKH = Arg0
6267                                     }
6268                                     ElseIf ((Arg0 < 0x3000))
6269                                     {
6270                                         DHKW = Arg0
6271                                     }
6272                                     ElseIf ((Arg0 < 0x4000))
6273                                     {
6274                                         DHKS = Arg0
6275                                     }
6276                                     ElseIf ((Arg0 < 0x5000))
6277                                     {
6278                                         DHKD = Arg0
6279                                     }
6280                                     ElseIf ((Arg0 < 0x6000))
6281                                     {
6282                                         DHKH = Arg0
6283                                     }
6284                                     ElseIf ((Arg0 < 0x7000))
6285                                     {
6286                                         DHKT = Arg0
6287                                     }
6288                                     ElseIf ((Arg0 < 0x8000))
6289                                     {
6290                                         DHWW = Arg0
6291                                     }
6292                                     Else
6293                                     {
6294                                     }
6295 
6296                                     Release (XDHK)
6297                                     Notify (HKEY, 0x80) // Status Change
6298                                 }
6299                                 ElseIf ((Arg0 == 0x1004))
6300                                 {
6301                                     Notify (\_SB.SLPB, 0x80) // Status Change
6302                                 }
6303                             }
6304                         }
6305 
6306                         Method (MHKB, 1, NotSerialized)
6307                         {
6308                             If ((Arg0 == 0x00))
6309                             {
6310                                 \_SB.PCI0.LPC.EC.BEEP (0x11)
6311                                 \LIDB = 0x00
6312                             }
6313                             ElseIf ((Arg0 == 0x01))
6314                             {
6315                                 \_SB.PCI0.LPC.EC.BEEP (0x10)
6316                                 \LIDB = 0x01
6317                             }
6318                             Else
6319                             {
6320                             }
6321                         }
6322 
6323                         Method (MHKD, 0, NotSerialized)
6324                         {
6325                             If ((\PLUX == 0x00))
6326                             {
6327                                 If (VIGD)
6328                                 {
6329                                     \_SB.PCI0.VID.VLOC (0x00)
6330                                 }
6331                                 Else
6332                                 {
6333                                     \_SB.PCI0.PEG.VID.VLOC (0x00)
6334                                 }
6335                             }
6336                         }
6337 
6338                         Method (MHQC, 1, NotSerialized)
6339                         {
6340                             If (\WNTF)
6341                             {
6342                                 If ((Arg0 == 0x00))
6343                                 {
6344                                     Return (\CWAC)
6345                                 }
6346                                 ElseIf ((Arg0 == 0x01))
6347                                 {
6348                                     Return (\CWAP)
6349                                 }
6350                                 ElseIf ((Arg0 == 0x02))
6351                                 {
6352                                     Return (\CWAT)
6353                                 }
6354                                 Else
6355                                 {
6356                                     Noop
6357                                 }
6358                             }
6359                             Else
6360                             {
6361                                 Noop
6362                             }
6363 
6364                             Return (0x00)
6365                         }
6366 
6367                         Method (MHGC, 0, NotSerialized)
6368                         {
6369                             If (\WNTF)
6370                             {
6371                                 Acquire (XDHK, 0xFFFF)
6372                                 If (CKC4 (0x00))
6373                                 {
6374                                     Local0 = 0x03
6375                                 }
6376                                 Else
6377                                 {
6378                                     Local0 = 0x04
6379                                 }
6380 
6381                                 Release (XDHK)
6382                                 Return (Local0)
6383                             }
6384                             Else
6385                             {
6386                                 Noop
6387                             }
6388 
6389                             Return (0x00)
6390                         }
6391 
6392                         Method (MHSC, 1, NotSerialized)
6393                         {
6394                             If ((\CWAC && \WNTF))
6395                             {
6396                                 Acquire (XDHK, 0xFFFF)
6397                                 If (\OSC4)
6398                                 {
6399                                     If ((Arg0 == 0x03))
6400                                     {
6401                                         If (!\CWAS)
6402                                         {
6403                                             \PNTF (0x81)
6404                                             \CWAS = 0x01
6405                                         }
6406                                     }
6407                                     ElseIf ((Arg0 == 0x04))
6408                                     {
6409                                         If (\CWAS)
6410                                         {
6411                                             \PNTF (0x81)
6412                                             \CWAS = 0x00
6413                                         }
6414                                     }
6415                                     Else
6416                                     {
6417                                         Noop
6418                                     }
6419                                 }
6420 
6421                                 Release (XDHK)
6422                             }
6423                             Else
6424                             {
6425                                 Noop
6426                             }
6427                         }
6428 
6429                         Method (CKC4, 1, NotSerialized)
6430                         {
6431                             Local0 = 0x00
6432                             If (\C4WR)
6433                             {
6434                                 If (!\C4AC)
6435                                 {
6436                                     Local0 |= 0x01
6437                                 }
6438                             }
6439 
6440                             If (\C4NA)
6441                             {
6442                                 Local0 |= 0x02
6443                             }
6444 
6445                             If ((\CWAC && \CWAS))
6446                             {
6447                                 Local0 |= 0x04
6448                             }
6449 
6450                             Local0 &= ~Arg0
6451                             Return (Local0)
6452                         }
6453 
6454                         Method (MHQE, 0, NotSerialized)
6455                         {
6456                             Return (\C4WR)
6457                         }
6458 
6459                         Method (MHGE, 0, NotSerialized)
6460                         {
6461                             If ((\C4WR && \C4AC))
6462                             {
6463                                 Return (0x04)
6464                             }
6465 
6466                             Return (0x03)
6467                         }
6468 
6469                         Method (MHSE, 1, NotSerialized)
6470                         {
6471                             If (\C4WR)
6472                             {
6473                                 Local0 = \C4AC
6474                                 If ((Arg0 == 0x03))
6475                                 {
6476                                     \C4AC = 0x00
6477                                     If ((Local0 ^ \C4AC))
6478                                     {
6479                                         If (\OSC4)
6480                                         {
6481                                             \PNTF (0x81)
6482                                         }
6483                                     }
6484                                 }
6485                                 ElseIf ((Arg0 == 0x04))
6486                                 {
6487                                     \C4AC = 0x01
6488                                     If ((Local0 ^ \C4AC))
6489                                     {
6490                                         If (\OSC4)
6491                                         {
6492                                             \PNTF (0x81)
6493                                         }
6494                                     }
6495                                 }
6496                             }
6497                         }
6498 
6499                         Method (UAWO, 1, NotSerialized)
6500                         {
6501                             Return (\UAWS (Arg0))
6502                         }
6503 
6504                         Method (MLCG, 1, NotSerialized)
6505                         {
6506                             Local0 = \KBLS (0x00, 0x00)
6507                             Return (Local0)
6508                         }
6509 
6510                         Method (MLCS, 1, NotSerialized)
6511                         {
6512                             Local0 = \KBLS (0x01, Arg0)
6513                             If (!(Local0 & 0x80000000))
6514                             {
6515                                 If ((Arg0 & 0x00010000))
6516                                 {
6517                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
6518                                 }
6519                                 ElseIf (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
6520                                 {
6521                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
6522                                 }
6523                             }
6524 
6525                             Return (Local0)
6526                         }
6527 
6528                         Method (DSSG, 1, NotSerialized)
6529                         {
6530                             Local0 = (0x0400 | \PDCI)
6531                             Return (Local0)
6532                         }
6533 
6534                         Method (DSSS, 1, NotSerialized)
6535                         {
6536                             \PDCI |= Arg0
6537                         }
6538 
6539                         Method (SBSG, 1, NotSerialized)
6540                         {
6541                             Return (\SYBC (0x00, 0x00))
6542                         }
6543 
6544                         Method (SBSS, 1, NotSerialized)
6545                         {
6546                             Return (\SYBC (0x01, Arg0))
6547                         }
6548 
6549                         Method (PBLG, 1, NotSerialized)
6550                         {
6551                             Local0 = \BRLV
6552                             Local1 = (Local0 | 0x0F00)
6553                             Return (Local1)
6554                         }
6555 
6556                         Method (PBLS, 1, NotSerialized)
6557                         {
6558                             \BRLV = Arg0
6559                             If (\VIGD)
6560                             {
6561                                 \_SB.PCI0.LPC.EC.BRNS ()
6562                             }
6563                             Else
6564                             {
6565                                 \VBRC (\BRLV)
6566                             }
6567 
6568                             If (!\NBCF)
6569                             {
6570                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
6571                             }
6572 
6573                             Return (0x00)
6574                         }
6575 
6576                         Method (PMSG, 1, NotSerialized)
6577                         {
6578                             Local0 = \PRSM (0x00, 0x00)
6579                             Return (Local0)
6580                         }
6581 
6582                         Method (PMSS, 1, NotSerialized)
6583                         {
6584                             \PRSM (0x01, Arg0)
6585                             Return (0x00)
6586                         }
6587 
6588                         Method (ISSG, 1, NotSerialized)
6589                         {
6590                             Local0 = \ISSP
6591                             Local0 |= 0x80
6592                             Local0 |= (\ISCG & 0x30)
6593                             Return (Local0)
6594                         }
6595 
6596                         Method (ISSS, 1, NotSerialized)
6597                         {
6598                             \ISCG = Arg0
6599                             Return (0x00)
6600                         }
6601 
6602                         Method (FFSG, 1, NotSerialized)
6603                         {
6604                             Return (\IFRS (0x00, 0x00))
6605                         }
6606 
6607                         Method (FFSS, 1, NotSerialized)
6608                         {
6609                             \IFRS (0x01, Arg0)
6610                             Return (0x00)
6611                         }
6612 
6613                         Method (GMKS, 0, NotSerialized)
6614                         {
6615                             Local0 = (0x01 & \_SB.PCI0.LPC.EC.FNKC)
6616                             Local0 |= 0x0200
6617                             Return (Local0)
6618                         }
6619 
6620                         Method (SMKS, 1, NotSerialized)
6621                         {
6622                             If ((Arg0 & 0x01))
6623                             {
6624                                 \_SB.PCI0.LPC.EC.FNKC = 0x01
6625                             }
6626                             Else
6627                             {
6628                                 \_SB.PCI0.LPC.EC.FNKC = 0x00
6629                             }
6630 
6631                             Return (0x00)
6632                         }
6633 
6634                         Method (INSG, 1, NotSerialized)
6635                         {
6636                             Local0 = \IOEN
6637                             Local0 |= (\IOST << 0x07)
6638                             Local0 |= (\IOCP << 0x08)
6639                             Return (Local0)
6640                         }
6641 
6642                         Method (INSS, 1, NotSerialized)
6643                         {
6644                             If ((\IOCP && (Arg0 & 0x01)))
6645                             {
6646                                 \IOEN = 0x01
6647                             }
6648                             Else
6649                             {
6650                                 \IOEN = 0x00
6651                                 If (\IOST)
6652                                 {
6653                                     If (!\ISOC (0x00))
6654                                     {
6655                                         \IOST = 0x00
6656                                     }
6657                                 }
6658                             }
6659 
6660                             Return (0x00)
6661                         }
6662                     }
6663 
6664                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6665                     {
6666                         Name (INDV, 0x00)
6667                         Method (MHQI, 0, NotSerialized)
6668                         {
6669                             If ((\IPMS & 0x01))
6670                             {
6671                                 INDV |= 0x01
6672                             }
6673 
6674                             If ((\IPMS & 0x02))
6675                             {
6676                                 INDV |= 0x02
6677                             }
6678 
6679                             If ((\IPMS & 0x04))
6680                             {
6681                                 INDV |= 0x0100
6682                             }
6683 
6684                             If ((\IPMS & 0x08))
6685                             {
6686                                 INDV |= 0x0200
6687                             }
6688 
6689                             If ((\IPMS & 0x10))
6690                             {
6691                                 INDV |= 0x04
6692                             }
6693 
6694                             Return (INDV) /* \_SB_.PCI0.LPC_.EC__.HKEY.INDV */
6695                         }
6696 
6697                         Method (MHGI, 1, NotSerialized)
6698                         {
6699                             Name (RETB, Buffer (0x10){})
6700                             CreateByteField (RETB, 0x00, MHGS)
6701                             Local0 = (0x01 << Arg0)
6702                             If ((INDV & Local0))
6703                             {
6704                                 If ((Arg0 == 0x00))
6705                                 {
6706                                     CreateField (RETB, 0x08, 0x78, BRBU)
6707                                     BRBU = \IPMB
6708                                     MHGS = 0x10
6709                                 }
6710                                 ElseIf ((Arg0 == 0x01))
6711                                 {
6712                                     CreateField (RETB, 0x08, 0x18, RRBU)
6713                                     RRBU = \IPMR
6714                                     MHGS = 0x04
6715                                 }
6716                                 ElseIf ((Arg0 == 0x08))
6717                                 {
6718                                     CreateField (RETB, 0x10, 0x18, ODBU)
6719                                     CreateByteField (RETB, 0x01, MHGZ)
6720                                     ODBU = \IPMO
6721                                     If (((^^BSTS == 0x00) && (^^BDEV == 0x03)))
6722                                     {
6723                                         MHGZ |= 0x01 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6724                                         MHGZ |= 0x02 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6725                                     }
6726 
6727                                     MHGS = 0x05
6728                                 }
6729                                 ElseIf ((Arg0 == 0x09))
6730                                 {
6731                                     CreateField (RETB, 0x10, 0x08, AUBU)
6732                                     AUBU = \IPMA
6733                                     RETB [0x01] = 0x01
6734                                     MHGS = 0x03
6735                                 }
6736                                 ElseIf ((Arg0 == 0x02))
6737                                 {
6738                                     Local1 = \VDYN (0x00, 0x00)
6739                                     RETB [0x02] = (Local1 & 0x0F)
6740                                     Local1 >>= 0x04
6741                                     RETB [0x01] = (Local1 & 0x0F)
6742                                     MHGS = 0x03
6743                                 }
6744                             }
6745 
6746                             Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.RETB */
6747                         }
6748 
6749                         Method (MHSI, 2, NotSerialized)
6750                         {
6751                             Local0 = (0x01 << Arg0)
6752                             If ((INDV & Local0))
6753                             {
6754                                 If ((Arg0 == 0x08))
6755                                 {
6756                                     If (Arg1)
6757                                     {
6758                                         If (\H8DR)
6759                                         {
6760                                             Local1 = ^^HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
6761                                         }
6762                                         Else
6763                                         {
6764                                             Local1 = (\RBEC (0x47) & 0x01)
6765                                         }
6766 
6767                                         If (!Local1)
6768                                         {
6769                                             ^^BDEV = ^^BGID (0x00)
6770                                             ^^NBIN (Local1)
6771                                         }
6772                                     }
6773                                 }
6774                                 ElseIf ((Arg0 == 0x02))
6775                                 {
6776                                     \VDYN (0x01, Arg1)
6777                                 }
6778                             }
6779                         }
6780                     }
6781 
6782                     Scope (\_SB.PCI0.LPC.EC)
6783                     {
6784                         Method (_Q6A, 0, NotSerialized)  // _Qxx: EC Query
6785                         {
6786                             If (HDMC)
6787                             {
6788                                 Noop
6789                             }
6790                             ElseIf (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
6791                             {
6792                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
6793                             }
6794                         }
6795                     }
6796 
6797                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6798                     {
6799                         Method (MMTG, 0, NotSerialized)
6800                         {
6801                             Local0 = 0x0101
6802                             If (HDMC)
6803                             {
6804                                 Local0 |= 0x00010000
6805                             }
6806 
6807                             Return (Local0)
6808                         }
6809 
6810                         Method (MMTS, 1, NotSerialized)
6811                         {
6812                             If (HDMC)
6813                             {
6814                                 Noop
6815                             }
6816                             ElseIf ((Arg0 == 0x02))
6817                             {
6818                                 \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
6819                             }
6820                             ElseIf ((Arg0 == 0x03))
6821                             {
6822                                 \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
6823                             }
6824                             Else
6825                             {
6826                                 \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
6827                             }
6828                         }
6829                     }
6830 
6831                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6832                     {
6833                         Method (PWMC, 0, NotSerialized)
6834                         {
6835                             Return (0x01)
6836                         }
6837 
6838                         Method (PWMG, 0, NotSerialized)
6839                         {
6840                             Local0 = \_SB.PCI0.LPC.EC.PWMH
6841                             Local0 <<= 0x08
6842                             Local0 |= \_SB.PCI0.LPC.EC.PWML
6843                             Return (Local0)
6844                         }
6845                     }
6846 
6847                     Scope (\_SB.PCI0.LPC.EC)
6848                     {
6849                         Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query
6850                         {
6851                             If (DOCD)
6852                             {
6853                                 Sleep (0x64)
6854                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
6855                             }
6856                             Else
6857                             {
6858                                 Sleep (0x64)
6859                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6860                             }
6861                         }
6862 
6863                         Method (DKID, 0, NotSerialized)
6864                         {
6865                             Local0 = \_SB.PCI0.LPC.DOI0
6866                             Local1 = \_SB.PCI0.LPC.DOI1
6867                             Local2 = \_SB.PCI0.LPC.DOI2
6868                             Local3 = \_SB.PCI0.LPC.DOI3
6869                             Local0 |= (Local1 << 0x01)
6870                             Local0 |= (Local2 << 0x02)
6871                             Local0 |= (Local3 << 0x03)
6872                             Return (Local0)
6873                         }
6874                     }
6875 
6876                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6877                     {
6878                         Method (GDKS, 0, NotSerialized)
6879                         {
6880                             Local0 = 0x00
6881                             If ((\_SB.PCI0.LPC.EC.DOCD == 0x01))
6882                             {
6883                                 Local0 |= 0x01
6884                                 Local1 = \_SB.PCI0.LPC.EC.DKID ()
6885                                 Local1 <<= 0x08
6886                                 Local0 |= Local1
6887                             }
6888 
6889                             Local0 |= 0x00010000
6890                             Return (Local0)
6891                         }
6892                     }
6893 
6894                     Scope (\_SB.PCI0.LPC.EC)
6895                     {
6896                         Method (_Q3F, 0, NotSerialized)  // _Qxx: EC Query
6897                         {
6898                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
6899                         }
6900 
6901                         Method (_Q74, 0, NotSerialized)  // _Qxx: EC Query
6902                         {
6903                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6060)
6904                         }
6905                     }
6906 
6907                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6908                     {
6909                         Method (NUMG, 0, NotSerialized)
6910                         {
6911                             Local0 = 0x00
6912                             Return (Local0)
6913                         }
6914                     }
6915                 }
6916             }
6917 
6918             Device (PEG)
6919             {
6920                 Name (_ADR, 0x001C0004)  // _ADR: Address
6921                 Name (_S3D, 0x03)  // _S3D: S3 Device State
6922                 Name (RID, 0x00)
6923                 Name (LART, Package (0x02)
6924                 {
6925                     Package (0x04)
6926                     {
6927                         0xFFFF, 
6928                         0x00, 
6929                         \_SB.LNKA, 
6930                         0x00
6931                     }, 
6932 
6933                     Package (0x04)
6934                     {
6935                         0xFFFF, 
6936                         0x01, 
6937                         \_SB.LNKB, 
6938                         0x00
6939                     }
6940                 })
6941                 Name (AART, Package (0x02)
6942                 {
6943                     Package (0x04)
6944                     {
6945                         0xFFFF, 
6946                         0x00, 
6947                         0x00, 
6948                         0x10
6949                     }, 
6950 
6951                     Package (0x04)
6952                     {
6953                         0xFFFF, 
6954                         0x01, 
6955                         0x00, 
6956                         0x11
6957                     }
6958                 })
6959                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
6960                 {
6961                     If (\GPIC)
6962                     {
6963                         Return (AART) /* \_SB_.PCI0.PEG_.AART */
6964                     }
6965                     Else
6966                     {
6967                         Return (LART) /* \_SB_.PCI0.PEG_.LART */
6968                     }
6969                 }
6970 
6971                 Mutex (MDGS, 0x07)
6972                 Name (VDEE, 0x01)
6973                 Name (VDDA, Buffer (0x04){})
6974                 CreateBitField (VDDA, 0x00, VUPC)
6975                 CreateBitField (VDDA, 0x01, VQDL)
6976                 CreateBitField (VDDA, 0x02, VQDC)
6977                 CreateBitField (VDDA, 0x03, VQD0)
6978                 CreateBitField (VDDA, 0x04, VQD1)
6979                 CreateBitField (VDDA, 0x05, VQD2)
6980                 CreateBitField (VDDA, 0x06, VQD3)
6981                 CreateBitField (VDDA, 0x07, VQD4)
6982                 CreateBitField (VDDA, 0x08, VQD5)
6983                 CreateBitField (VDDA, 0x09, VSDL)
6984                 CreateBitField (VDDA, 0x0A, VSDC)
6985                 CreateBitField (VDDA, 0x0B, VSD0)
6986                 CreateBitField (VDDA, 0x0C, VSD1)
6987                 CreateBitField (VDDA, 0x0D, VSD2)
6988                 CreateBitField (VDDA, 0x0E, VSD3)
6989                 CreateBitField (VDDA, 0x0F, VSD4)
6990                 CreateBitField (VDDA, 0x10, VSD5)
6991                 CreateBitField (VDDA, 0x11, MSWT)
6992                 CreateBitField (VDDA, 0x12, VWST)
6993                 Name (WKEN, 0x00)
6994                 Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
6995                 {
6996                     If (Arg1)
6997                     {
6998                         WKEN = 0x00
6999                     }
7000                     ElseIf ((Arg0 && Arg2))
7001                     {
7002                         WKEN = 0x01
7003                     }
7004                     Else
7005                     {
7006                         WKEN = 0x00
7007                     }
7008                 }
7009 
7010                 PowerResource (NVP3, 0x00, 0x0000)
7011                 {
7012                     Name (_STA, One)  // _STA: Status
7013                     Method (_ON, 0, Serialized)  // _ON_: Power On
7014                     {
7015                         \_SB.PCI0.PEG.VID.GPON (0x00)
7016                         _STA = One
7017                     }
7018 
7019                     Method (_OFF, 0, Serialized)  // _OFF: Power Off
7020                     {
7021                         \_SB.PCI0.PEG.VID.GPOF (0x00)
7022                         _STA = Zero
7023                     }
7024                 }
7025 
7026                 PowerResource (NVP2, 0x00, 0x0000)
7027                 {
7028                     Name (_STA, One)  // _STA: Status
7029                     Method (_ON, 0, Serialized)  // _ON_: Power On
7030                     {
7031                         _STA = One
7032                     }
7033 
7034                     Method (_OFF, 0, Serialized)  // _OFF: Power Off
7035                     {
7036                         _STA = One
7037                     }
7038                 }
7039 
7040                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
7041                 {
7042                     NVP3
7043                 })
7044                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
7045                 {
7046                     NVP2
7047                 })
7048                 Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
7049                 {
7050                     NVP3
7051                 })
7052                 Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
7053                 {
7054                     Return (0x04)
7055                 }
7056 
7057                 Device (VID)
7058                 {
7059                     Name (_ADR, 0x00)  // _ADR: Address
7060                     OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7061                     Field (VPCG, DWordAcc, NoLock, Preserve)
7062                     {
7063                         VDID,   32, 
7064                         Offset (0x2C), 
7065                         VSID,   32, 
7066                         Offset (0x40), 
7067                         VIDS,   32, 
7068                         Offset (0x70), 
7069                         VPWR,   8
7070                     }
7071 
7072                     OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7073                     Field (GPPB, ByteAcc, NoLock, Preserve)
7074                     {
7075                         PBCI,   8, 
7076                         PBNP,   8, 
7077                         PBLS,   8, 
7078                         PBCC,   8, 
7079                         PBCR,   32, 
7080                         PBDI,   32, 
7081                         PBDO,   32, 
7082                         PBMR,   32
7083                     }
7084 
7085                     Method (VRSI, 0, NotSerialized)
7086                     {
7087                         If ((VDID == 0x114010DE))
7088                         {
7089                             If ((OSYS >= 0x07DD))
7090                             {
7091                                 VIDS = 0x222017AA
7092                             }
7093                             Else
7094                             {
7095                                 VIDS = 0x221317AA
7096                             }
7097                         }
7098                         ElseIf ((VDID == 0x129010DE))
7099                         {
7100                             If ((OSYS >= 0x07DD))
7101                             {
7102                                 VIDS = 0x221F17AA
7103                             }
7104                             Else
7105                             {
7106                                 VIDS = 0x220D17AA
7107                             }
7108                         }
7109                     }
7110 
7111                     Name (_S3D, 0x03)  // _S3D: S3 Device State
7112                     Name (DGOS, 0x00)
7113                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
7114                     {
7115                         \VUPS (0x02)
7116                         VQDL = \VCDL
7117                         VQDC = \VCDC
7118                         VQD0 = \VCDT
7119                         VQD1 = \VCDD
7120                         VRSI ()
7121                         If (ISOP ())
7122                         {
7123                             \VHYB (0x04, 0x01)
7124                         }
7125                     }
7126 
7127                     Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
7128                     {
7129                         If (!VMSH)
7130                         {
7131                             GPON (0x00)
7132                         }
7133                     }
7134 
7135                     Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
7136                     {
7137                         Noop
7138                     }
7139 
7140                     Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
7141                     {
7142                         Noop
7143                     }
7144 
7145                     Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
7146                     {
7147                         If (!VMSH)
7148                         {
7149                             GPOF (0x00)
7150                         }
7151                     }
7152 
7153                     Method (GPON, 1, NotSerialized)
7154                     {
7155                         If (ISOP ())
7156                         {
7157                             If (DGOS)
7158                             {
7159                                 \VHYB (0x02, 0x00)
7160                                 Sleep (0x64)
7161                                 If ((ToInteger (Arg0) == 0x00)){}
7162                                 \VHYB (0x00, 0x01)
7163                                 Sleep (0x0A)
7164                                 Sleep (0x64)
7165                                 \VHYB (0x02, 0x01)
7166                                 Sleep (0x01)
7167                                 \VHYB (0x08, 0x01)
7168                                 Local0 = 0x0A
7169                                 Local1 = 0x32
7170                                 While (Local1)
7171                                 {
7172                                     Sleep (Local0)
7173                                     If (\LCHK (0x01))
7174                                     {
7175                                         Break
7176                                     }
7177 
7178                                     Local1--
7179                                 }
7180 
7181                                 \VHYB (0x08, 0x03)
7182                                 If (VMSH)
7183                                 {
7184                                     \VHYB (0x0D, 0x00)
7185                                 }
7186 
7187                                 Local1 = 0xC8
7188                                 While (Local1)
7189                                 {
7190                                     Sleep (0x01)
7191                                     If (\VHYB (0x0C, 0x00))
7192                                     {
7193                                         Break
7194                                     }
7195 
7196                                     Local1--
7197                                 }
7198 
7199                                 \VHYB (0x04, 0x00)
7200                                 \SWTT (0x01)
7201                                 DGOS = Zero
7202                             }
7203                             ElseIf ((PJCD == 0x00))
7204                             {
7205                                 If (((VSID != 0x221317AA) && (VSID != 0x222017AA)))
7206                                 {
7207                                     \VHYB (0x04, 0x00)
7208                                 }
7209                             }
7210                             ElseIf (((VSID != 0x220D17AA) && (VSID != 0x221F17AA)))
7211                             {
7212                                 \VHYB (0x04, 0x00)
7213                             }
7214 
7215                             \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7216                         }
7217                     }
7218 
7219                     Method (GPOF, 1, NotSerialized)
7220                     {
7221                         If (ISOP ())
7222                         {
7223                             If ((VMSH || (\_SB.PCI0.PEG.VID.OMPR == 0x03)))
7224                             {
7225                                 \SWTT (0x00)
7226                                 \VHYB (0x08, 0x00)
7227                                 Local0 = 0x0A
7228                                 Local1 = 0x32
7229                                 While (Local1)
7230                                 {
7231                                     Sleep (Local0)
7232                                     If (\LCHK (0x00))
7233                                     {
7234                                         Break
7235                                     }
7236 
7237                                     Local1--
7238                                 }
7239 
7240                                 \VHYB (0x08, 0x02)
7241                                 \VHYB (0x02, 0x00)
7242                                 Sleep (0x64)
7243                                 \VHYB (0x00, 0x00)
7244                                 If ((ToInteger (Arg0) == 0x00)){}
7245                                 DGOS = One
7246                                 \_SB.PCI0.PEG.VID.OMPR = 0x02
7247                             }
7248                         }
7249                     }
7250 
7251                     Method (_STA, 0, NotSerialized)  // _STA: Status
7252                     {
7253                         Return (0x0F)
7254                     }
7255 
7256                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
7257                     {
7258                         If (\CMPB (Arg0, ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0")))
7259                         {
7260                             Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7261                         }
7262 
7263                         If (\CMPB (Arg0, ToUUID ("a3132d01-8cda-49ba-a52e-bc9d46df6b81")))
7264                         {
7265                             Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7266                         }
7267 
7268                         If (\WIN8)
7269                         {
7270                             If (\CMPB (Arg0, ToUUID ("d4a50b75-65c7-46f7-bfb7-41514cea0244")))
7271                             {
7272                                 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7273                             }
7274                         }
7275 
7276                         Return (Buffer (0x04)
7277                         {
7278                              0x01, 0x00, 0x00, 0x80                           // ....
7279                         })
7280                     }
7281 
7282                     OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7283                     Field (ATRP, AnyAcc, Lock, Preserve)
7284                     {
7285                         IDX0,   262144, 
7286                         IDX1,   262144
7287                     }
7288 
7289                     Method (_ROM, 2, Serialized)  // _ROM: Read-Only Memory
7290                     {
7291                         If ((Arg0 >= 0x8000))
7292                         {
7293                             Return (GETB ((Arg0 - 0x8000), Arg1, IDX1))
7294                         }
7295 
7296                         If (((Arg0 + Arg1) > 0x8000))
7297                         {
7298                             Local0 = (0x8000 - Arg0)
7299                             Local1 = (Arg1 - Local0)
7300                             Local3 = GETB (Arg0, Local0, IDX0)
7301                             Local4 = GETB (0x00, Local1, IDX1)
7302                             Concatenate (Local3, Local4, Local5)
7303                             Return (Local5)
7304                         }
7305 
7306                         Return (GETB (Arg0, Arg1, IDX0))
7307                     }
7308 
7309                     Method (GETB, 3, Serialized)
7310                     {
7311                         Local0 = (Arg0 * 0x08)
7312                         Local1 = (Arg1 * 0x08)
7313                         CreateField (Arg2, Local0, Local1, TBF3)
7314                         Return (TBF3) /* \_SB_.PCI0.PEG_.VID_.GETB.TBF3 */
7315                     }
7316 
7317                     Method (VSWT, 0, NotSerialized)
7318                     {
7319                         If (\WVIS)
7320                         {
7321                             Local0 = \VEVT (0x07)
7322                         }
7323                         Else
7324                         {
7325                             Local0 = \VEVT (0x05)
7326                         }
7327 
7328                         Local1 = (0xFF & Local0)
7329                         If (Local1)
7330                         {
7331                             ASWT (Local1, 0x01)
7332                         }
7333                     }
7334 
7335                     Method (VLOC, 1, NotSerialized)
7336                     {
7337                         If ((Arg0 == \_SB.LID._LID ()))
7338                         {
7339                             \VSLD (Arg0)
7340                             If (((VPWR & 0x03) == 0x00))
7341                             {
7342                                 If (Arg0)
7343                                 {
7344                                     Local0 = \VEVT (0x01)
7345                                 }
7346                                 Else
7347                                 {
7348                                     Local0 = \VEVT (0x02)
7349                                 }
7350 
7351                                 Local1 = (0x0F & Local0)
7352                                 If (Local1)
7353                                 {
7354                                     ASWT (Local1, 0x00)
7355                                 }
7356                             }
7357                         }
7358                     }
7359 
7360                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
7361                     {
7362                         If ((Arg0 == 0x02))
7363                         {
7364                             Local0 = 0x14
7365                             While (Local0)
7366                             {
7367                                 Local0--
7368                                 Acquire (MDGS, 0xFFFF)
7369                                 If ((0x00 == MSWT))
7370                                 {
7371                                     MSWT = 0x01
7372                                     Local0 = 0x00
7373                                     VDEE = Arg0
7374                                 }
7375 
7376                                 Release (MDGS)
7377                                 Sleep (0xC8)
7378                             }
7379                         }
7380                         Else
7381                         {
7382                             Acquire (MDGS, 0xFFFF)
7383                             If ((VDEE == 0x02))
7384                             {
7385                                 MSWT = 0x00
7386                             }
7387 
7388                             If ((Arg0 > 0x02))
7389                             {
7390                                 VDEE = 0x01
7391                             }
7392                             Else
7393                             {
7394                                 VDEE = Arg0
7395                             }
7396 
7397                             Release (MDGS)
7398                         }
7399                     }
7400 
7401                     Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
7402                     {
7403                         Return (Package (0x08)
7404                         {
7405                             0x0100, 
7406                             0x0114, 
7407                             0x0111, 
7408                             0x0115, 
7409                             0x0112, 
7410                             0x0116, 
7411                             0x0113, 
7412                             0x0110
7413                         })
7414                     }
7415 
7416                     Method (ASWT, 2, NotSerialized)
7417                     {
7418                         If ((0x01 == VDEE))
7419                         {
7420                             Local1 = (0x01 & Arg1)
7421                             \VSDS (Arg0, Local1)
7422                         }
7423                         Else
7424                         {
7425                             Local0 = 0x14
7426                             While (Local0)
7427                             {
7428                                 Local0--
7429                                 Acquire (MDGS, 0xFFFF)
7430                                 If ((0x00 == MSWT))
7431                                 {
7432                                     Local0 = 0x00
7433                                     If ((0x01 & Arg1))
7434                                     {
7435                                         VUPC = 0x01
7436                                     }
7437                                     Else
7438                                     {
7439                                         VUPC = 0x00
7440                                     }
7441 
7442                                     If ((0x01 & Arg0))
7443                                     {
7444                                         VQDL = 0x01
7445                                     }
7446                                     Else
7447                                     {
7448                                         VQDL = 0x00
7449                                     }
7450 
7451                                     If ((0x02 & Arg0))
7452                                     {
7453                                         VQDC = 0x01
7454                                     }
7455                                     Else
7456                                     {
7457                                         VQDC = 0x00
7458                                     }
7459 
7460                                     If ((0x04 & Arg0))
7461                                     {
7462                                         VQD0 = 0x01
7463                                     }
7464                                     Else
7465                                     {
7466                                         VQD0 = 0x00
7467                                     }
7468 
7469                                     If ((0x08 & Arg0))
7470                                     {
7471                                         VQD1 = 0x01
7472                                     }
7473                                     Else
7474                                     {
7475                                         VQD1 = 0x00
7476                                     }
7477 
7478                                     If ((0x10 & Arg0))
7479                                     {
7480                                         VQD2 = 0x01
7481                                     }
7482                                     Else
7483                                     {
7484                                         VQD2 = 0x00
7485                                     }
7486 
7487                                     If ((0x20 & Arg0))
7488                                     {
7489                                         VQD3 = 0x01
7490                                     }
7491                                     Else
7492                                     {
7493                                         VQD3 = 0x00
7494                                     }
7495 
7496                                     If ((0x40 & Arg0))
7497                                     {
7498                                         VQD4 = 0x01
7499                                     }
7500                                     Else
7501                                     {
7502                                         VQD4 = 0x00
7503                                     }
7504 
7505                                     If ((0x80 & Arg0))
7506                                     {
7507                                         VQD5 = 0x01
7508                                     }
7509                                     Else
7510                                     {
7511                                         VQD5 = 0x00
7512                                     }
7513                                 }
7514 
7515                                 Release (MDGS)
7516                                 Sleep (0xC8)
7517                             }
7518 
7519                             If ((0x02 & Arg1))
7520                             {
7521                                 Notify (VID, 0x81) // Information Change
7522                             }
7523                             Else
7524                             {
7525                                 Notify (VID, 0x80) // Status Change
7526                             }
7527                         }
7528                     }
7529 
7530                     Method (VDSW, 1, NotSerialized)
7531                     {
7532                         If ((VPWR == 0x00))
7533                         {
7534                             If (Arg0)
7535                             {
7536                                 Local0 = \VEVT (0x03)
7537                             }
7538                             Else
7539                             {
7540                                 Local0 = \VEVT (0x04)
7541                             }
7542 
7543                             Local1 = (0x0F & Local0)
7544                             If (Local1)
7545                             {
7546                                 ASWT (Local1, 0x00)
7547                             }
7548                         }
7549                     }
7550 
7551                     Device (LCD0)
7552                     {
7553                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7554                         {
7555                             Return (0x0110)
7556                         }
7557 
7558                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7559                         {
7560                             \VUPS (0x00)
7561                             If (\VCDL)
7562                             {
7563                                 Return (0x1F)
7564                             }
7565                             Else
7566                             {
7567                                 Return (0x1D)
7568                             }
7569                         }
7570 
7571                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7572                         {
7573                             Return (VQDL) /* \_SB_.PCI0.PEG_.VQDL */
7574                         }
7575 
7576                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7577                         {
7578                             VSDL = (Arg0 & 0x01)
7579                             If ((Arg0 & 0x80000000))
7580                             {
7581                                 If ((Arg0 & 0x40000000))
7582                                 {
7583                                     DSWT (0x02)
7584                                 }
7585                                 Else
7586                                 {
7587                                     DSWT (0x01)
7588                                 }
7589                             }
7590                         }
7591 
7592                         Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
7593                         {
7594                             If (ISOP ())
7595                             {
7596                                 Return (0x00)
7597                             }
7598 
7599                             If ((Arg0 == 0x01))
7600                             {
7601                                 Return (\VEDI)
7602                             }
7603                             ElseIf ((Arg0 == 0x02))
7604                             {
7605                                 Return (\VEDI)
7606                             }
7607 
7608                             Return (0x00)
7609                         }
7610                     }
7611 
7612                     Device (CRT0)
7613                     {
7614                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7615                         {
7616                             Return (0x0100)
7617                         }
7618 
7619                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7620                         {
7621                             \VUPS (0x01)
7622                             If (\VCSS)
7623                             {
7624                                 If (\VCDC)
7625                                 {
7626                                     Return (0x1F)
7627                                 }
7628                                 Else
7629                                 {
7630                                     Return (0x1D)
7631                                 }
7632                             }
7633                             ElseIf (\VCDC)
7634                             {
7635                                 Return (0x0F)
7636                             }
7637                             Else
7638                             {
7639                                 Return (0x0D)
7640                             }
7641                         }
7642 
7643                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7644                         {
7645                             Return (VQDC) /* \_SB_.PCI0.PEG_.VQDC */
7646                         }
7647 
7648                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7649                         {
7650                             VSDC = (Arg0 & 0x01)
7651                             If ((Arg0 & 0x80000000))
7652                             {
7653                                 If ((Arg0 & 0x40000000))
7654                                 {
7655                                     DSWT (0x02)
7656                                 }
7657                                 Else
7658                                 {
7659                                     DSWT (0x01)
7660                                 }
7661                             }
7662                         }
7663                     }
7664 
7665                     Device (DVI0)
7666                     {
7667                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7668                         {
7669                             Return (0x0111)
7670                         }
7671 
7672                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7673                         {
7674                             \VUPS (0x00)
7675                             If (\VCDD)
7676                             {
7677                                 Return (0x1F)
7678                             }
7679                             Else
7680                             {
7681                                 Return (0x1D)
7682                             }
7683                         }
7684 
7685                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7686                         {
7687                             Return (VQD1) /* \_SB_.PCI0.PEG_.VQD1 */
7688                         }
7689 
7690                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7691                         {
7692                             VSD1 = (Arg0 & 0x01)
7693                             If ((Arg0 & 0x80000000))
7694                             {
7695                                 If ((Arg0 & 0x40000000))
7696                                 {
7697                                     DSWT (0x02)
7698                                 }
7699                                 Else
7700                                 {
7701                                     DSWT (0x01)
7702                                 }
7703                             }
7704                         }
7705                     }
7706 
7707                     Device (DP0)
7708                     {
7709                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7710                         {
7711                             Return (0x0114)
7712                         }
7713 
7714                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7715                         {
7716                             \VUPS (0x00)
7717                             If (\VCDT)
7718                             {
7719                                 Return (0x1F)
7720                             }
7721                             Else
7722                             {
7723                                 Return (0x1D)
7724                             }
7725                         }
7726 
7727                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7728                         {
7729                             Return (VQD0) /* \_SB_.PCI0.PEG_.VQD0 */
7730                         }
7731 
7732                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7733                         {
7734                             VSD0 = (Arg0 & 0x01)
7735                             If ((Arg0 & 0x80000000))
7736                             {
7737                                 If ((Arg0 & 0x40000000))
7738                                 {
7739                                     DSWT (0x02)
7740                                 }
7741                                 Else
7742                                 {
7743                                     DSWT (0x01)
7744                                 }
7745                             }
7746                         }
7747                     }
7748 
7749                     Device (DVI1)
7750                     {
7751                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7752                         {
7753                             Return (0x0112)
7754                         }
7755 
7756                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7757                         {
7758                             \VUPS (0x00)
7759                             If (\VCDD)
7760                             {
7761                                 Return (0x1F)
7762                             }
7763                             Else
7764                             {
7765                                 Return (0x1D)
7766                             }
7767                         }
7768 
7769                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7770                         {
7771                             Return (VQD3) /* \_SB_.PCI0.PEG_.VQD3 */
7772                         }
7773 
7774                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7775                         {
7776                             VSD3 = (Arg0 & 0x01)
7777                             If ((Arg0 & 0x80000000))
7778                             {
7779                                 If ((Arg0 & 0x40000000))
7780                                 {
7781                                     DSWT (0x02)
7782                                 }
7783                                 Else
7784                                 {
7785                                     DSWT (0x01)
7786                                 }
7787                             }
7788                         }
7789                     }
7790 
7791                     Device (DP1)
7792                     {
7793                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7794                         {
7795                             Return (0x0115)
7796                         }
7797 
7798                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7799                         {
7800                             \VUPS (0x00)
7801                             If (\VCDT)
7802                             {
7803                                 Return (0x1F)
7804                             }
7805                             Else
7806                             {
7807                                 Return (0x1D)
7808                             }
7809                         }
7810 
7811                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7812                         {
7813                             Return (VQD2) /* \_SB_.PCI0.PEG_.VQD2 */
7814                         }
7815 
7816                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7817                         {
7818                             VSD2 = (Arg0 & 0x01)
7819                             If ((Arg0 & 0x80000000))
7820                             {
7821                                 If ((Arg0 & 0x40000000))
7822                                 {
7823                                     DSWT (0x02)
7824                                 }
7825                                 Else
7826                                 {
7827                                     DSWT (0x01)
7828                                 }
7829                             }
7830                         }
7831                     }
7832 
7833                     Device (DVI2)
7834                     {
7835                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7836                         {
7837                             Return (0x0113)
7838                         }
7839 
7840                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7841                         {
7842                             \VUPS (0x00)
7843                             If (\VCDD)
7844                             {
7845                                 Return (0x1F)
7846                             }
7847                             Else
7848                             {
7849                                 Return (0x1D)
7850                             }
7851                         }
7852 
7853                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7854                         {
7855                             Return (VQD5) /* \_SB_.PCI0.PEG_.VQD5 */
7856                         }
7857 
7858                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7859                         {
7860                             VSD5 = (Arg0 & 0x01)
7861                             If ((Arg0 & 0x80000000))
7862                             {
7863                                 If ((Arg0 & 0x40000000))
7864                                 {
7865                                     DSWT (0x02)
7866                                 }
7867                                 Else
7868                                 {
7869                                     DSWT (0x01)
7870                                 }
7871                             }
7872                         }
7873                     }
7874 
7875                     Device (DP2)
7876                     {
7877                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7878                         {
7879                             Return (0x0116)
7880                         }
7881 
7882                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7883                         {
7884                             \VUPS (0x00)
7885                             If (\VCDT)
7886                             {
7887                                 Return (0x1F)
7888                             }
7889                             Else
7890                             {
7891                                 Return (0x1D)
7892                             }
7893                         }
7894 
7895                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7896                         {
7897                             Return (VQD4) /* \_SB_.PCI0.PEG_.VQD4 */
7898                         }
7899 
7900                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7901                         {
7902                             VSD4 = (Arg0 & 0x01)
7903                             If ((Arg0 & 0x80000000))
7904                             {
7905                                 If ((Arg0 & 0x40000000))
7906                                 {
7907                                     DSWT (0x02)
7908                                 }
7909                                 Else
7910                                 {
7911                                     DSWT (0x01)
7912                                 }
7913                             }
7914                         }
7915                     }
7916 
7917                     Method (DSWT, 1, NotSerialized)
7918                     {
7919                         If (VSDL)
7920                         {
7921                             Local0 = 0x01
7922                         }
7923                         Else
7924                         {
7925                             Local0 = 0x00
7926                         }
7927 
7928                         If (VSDC)
7929                         {
7930                             Local0 |= 0x02
7931                         }
7932 
7933                         If (VSD0)
7934                         {
7935                             Local0 |= 0x08
7936                         }
7937 
7938                         If (Local0)
7939                         {
7940                             If (VUPC)
7941                             {
7942                                 \VSDS (Local0, Arg0)
7943                             }
7944                         }
7945                         Else
7946                         {
7947                             Noop
7948                         }
7949                     }
7950                 }
7951 
7952                 Scope (\_SB.PCI0.PEG.VID)
7953                 {
7954                     Method (NBCI, 4, Serialized)
7955                     {
7956                         Debug = "------- NBCI DSM --------"
7957                         Switch (ToInteger (Arg2))
7958                         {
7959                             Case (0x00)
7960                             {
7961                                 Local0 = Buffer (0x04)
7962                                     {
7963                                          0x00, 0x00, 0x00, 0x00                           // ....
7964                                     }
7965                                 Divide (0x00, 0x08, Local2, Local1)
7966                                 Local2 = (0x01 << Local2)
7967                                 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
7968                                 Divide (0x14, 0x08, Local2, Local1)
7969                                 Local2 = (0x01 << Local2)
7970                                 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
7971                                 Return (Local0)
7972                             }
7973                             Case (0x14)
7974                             {
7975                                 Local0 = Package (0x07)
7976                                     {
7977                                         0x0110, 
7978                                         0x0200, 
7979                                         0x00, 
7980                                         0x00, 
7981                                         0x05, 
7982                                         0x01, 
7983                                         Package (0x04)
7984                                         {
7985                                             0xDC, 
7986                                             0x00, 
7987                                             0x03E8, 
7988                                             Package (0x03)
7989                                             {
7990                                                 0x65, 
7991                                                 Package (0x65)
7992                                                 {
7993                                                     0x00, 
7994                                                     0x0A, 
7995                                                     0x14, 
7996                                                     0x1E, 
7997                                                     0x28, 
7998                                                     0x32, 
7999                                                     0x3C, 
8000                                                     0x46, 
8001                                                     0x50, 
8002                                                     0x5A, 
8003                                                     0x64, 
8004                                                     0x6E, 
8005                                                     0x78, 
8006                                                     0x82, 
8007                                                     0x8C, 
8008                                                     0x96, 
8009                                                     0xA0, 
8010                                                     0xAA, 
8011                                                     0xB4, 
8012                                                     0xBE, 
8013                                                     0xC8, 
8014                                                     0xD2, 
8015                                                     0xDC, 
8016                                                     0xE6, 
8017                                                     0xF0, 
8018                                                     0xFA, 
8019                                                     0x0104, 
8020                                                     0x010E, 
8021                                                     0x0118, 
8022                                                     0x0122, 
8023                                                     0x012C, 
8024                                                     0x0136, 
8025                                                     0x0140, 
8026                                                     0x014A, 
8027                                                     0x0154, 
8028                                                     0x015E, 
8029                                                     0x0168, 
8030                                                     0x0172, 
8031                                                     0x017C, 
8032                                                     0x0186, 
8033                                                     0x0190, 
8034                                                     0x019A, 
8035                                                     0x01A4, 
8036                                                     0x01AE, 
8037                                                     0x01B8, 
8038                                                     0x01C2, 
8039                                                     0x01CC, 
8040                                                     0x01D6, 
8041                                                     0x01E0, 
8042                                                     0x01EA, 
8043                                                     0x01F4, 
8044                                                     0x01FE, 
8045                                                     0x0208, 
8046                                                     0x0212, 
8047                                                     0x021C, 
8048                                                     0x0226, 
8049                                                     0x0230, 
8050                                                     0x023A, 
8051                                                     0x0244, 
8052                                                     0x024E, 
8053                                                     0x0258, 
8054                                                     0x0262, 
8055                                                     0x026C, 
8056                                                     0x0276, 
8057                                                     0x0280, 
8058                                                     0x028A, 
8059                                                     0x0294, 
8060                                                     0x029E, 
8061                                                     0x02A8, 
8062                                                     0x02B2, 
8063                                                     0x02BC, 
8064                                                     0x02C6, 
8065                                                     0x02D0, 
8066                                                     0x02DA, 
8067                                                     0x02E4, 
8068                                                     0x02EE, 
8069                                                     0x02F8, 
8070                                                     0x0302, 
8071                                                     0x030C, 
8072                                                     0x0316, 
8073                                                     0x0320, 
8074                                                     0x032A, 
8075                                                     0x0334, 
8076                                                     0x033E, 
8077                                                     0x0348, 
8078                                                     0x0352, 
8079                                                     0x035C, 
8080                                                     0x0366, 
8081                                                     0x0370, 
8082                                                     0x037A, 
8083                                                     0x0384, 
8084                                                     0x038E, 
8085                                                     0x0398, 
8086                                                     0x03A2, 
8087                                                     0x03AC, 
8088                                                     0x03B6, 
8089                                                     0x03C0, 
8090                                                     0x03CA, 
8091                                                     0x03D4, 
8092                                                     0x03DE, 
8093                                                     0x03E8
8094                                                 }, 
8095 
8096                                                 Package (0x65)
8097                                                 {
8098                                                     0x00, 
8099                                                     0x0A, 
8100                                                     0x14, 
8101                                                     0x1E, 
8102                                                     0x28, 
8103                                                     0x32, 
8104                                                     0x3C, 
8105                                                     0x46, 
8106                                                     0x50, 
8107                                                     0x5A, 
8108                                                     0x64, 
8109                                                     0x6E, 
8110                                                     0x78, 
8111                                                     0x82, 
8112                                                     0x8C, 
8113                                                     0x96, 
8114                                                     0xA0, 
8115                                                     0xAA, 
8116                                                     0xB4, 
8117                                                     0xBE, 
8118                                                     0xC8, 
8119                                                     0xD2, 
8120                                                     0xDC, 
8121                                                     0xE6, 
8122                                                     0xF0, 
8123                                                     0xFA, 
8124                                                     0x0104, 
8125                                                     0x010E, 
8126                                                     0x0118, 
8127                                                     0x0122, 
8128                                                     0x012C, 
8129                                                     0x0136, 
8130                                                     0x0140, 
8131                                                     0x014A, 
8132                                                     0x0154, 
8133                                                     0x015E, 
8134                                                     0x0168, 
8135                                                     0x0172, 
8136                                                     0x017C, 
8137                                                     0x0186, 
8138                                                     0x0190, 
8139                                                     0x019A, 
8140                                                     0x01A4, 
8141                                                     0x01AE, 
8142                                                     0x01B8, 
8143                                                     0x01C2, 
8144                                                     0x01CC, 
8145                                                     0x01D6, 
8146                                                     0x01E0, 
8147                                                     0x01EA, 
8148                                                     0x01F4, 
8149                                                     0x01FE, 
8150                                                     0x0208, 
8151                                                     0x0212, 
8152                                                     0x021C, 
8153                                                     0x0226, 
8154                                                     0x0230, 
8155                                                     0x023A, 
8156                                                     0x0244, 
8157                                                     0x024E, 
8158                                                     0x0258, 
8159                                                     0x0262, 
8160                                                     0x026C, 
8161                                                     0x0276, 
8162                                                     0x0280, 
8163                                                     0x028A, 
8164                                                     0x0294, 
8165                                                     0x029E, 
8166                                                     0x02A8, 
8167                                                     0x02B2, 
8168                                                     0x02BC, 
8169                                                     0x02C6, 
8170                                                     0x02D0, 
8171                                                     0x02DA, 
8172                                                     0x02E4, 
8173                                                     0x02EE, 
8174                                                     0x02F8, 
8175                                                     0x0302, 
8176                                                     0x030C, 
8177                                                     0x0316, 
8178                                                     0x0320, 
8179                                                     0x032A, 
8180                                                     0x0334, 
8181                                                     0x033E, 
8182                                                     0x0348, 
8183                                                     0x0352, 
8184                                                     0x035C, 
8185                                                     0x0366, 
8186                                                     0x0370, 
8187                                                     0x037A, 
8188                                                     0x0384, 
8189                                                     0x038E, 
8190                                                     0x0398, 
8191                                                     0x03A2, 
8192                                                     0x03AC, 
8193                                                     0x03B6, 
8194                                                     0x03C0, 
8195                                                     0x03CA, 
8196                                                     0x03D4, 
8197                                                     0x03DE, 
8198                                                     0x03E8
8199                                                 }
8200                                             }
8201                                         }
8202                                     }
8203                                 Local1 = 0x00
8204                                 While ((Local1 <= 0x64))
8205                                 {
8206                                     Local2 = DerefOf (DerefOf (\_SB.PCI0.LPC.EC.BRTD [\BRTN]) [Local1])
8207                                     Local2 *= 0x03E8
8208                                     Divide (Local2, 0xFF, Local2, Local3)
8209                                     DerefOf (DerefOf (DerefOf (Local0 [0x06]) [0x03]
8210                                         ) [0x01]) [Local1] = Local3
8211                                     Local1++
8212                                 }
8213 
8214                                 Return (Local0)
8215                             }
8216 
8217                         }
8218 
8219                         Return (0x80000002)
8220                     }
8221 
8222                     Method (NVSB, 1, NotSerialized)
8223                     {
8224                         Name (CNT, 0x00)
8225                         If ((PBCC == 0x01))
8226                         {
8227                             If ((PBMR == 0x00))
8228                             {
8229                                 PBMR = 0x02
8230                                 If ((PBMR == 0x02))
8231                                 {
8232                                     While (((PBCC && 0xFF) && (CNT < 0x0A)))
8233                                     {
8234                                         CNT++
8235                                         Sleep (0x01)
8236                                     }
8237 
8238                                     If (((PBCR & 0x02) == 0x00))
8239                                     {
8240                                         Local0 = (Arg0 * 0x03E8)
8241                                         Divide (Local0, 0xFF, Local1, Local2)
8242                                         Local2 <<= 0x08
8243                                         PBDI = Local2
8244                                         PBCR = 0x86100000
8245                                     }
8246 
8247                                     PBMR = 0x00
8248                                     Return (0x01)
8249                                 }
8250                             }
8251                         }
8252 
8253                         Return (0x00)
8254                     }
8255                 }
8256 
8257                 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8258                 Field (PEGC, DWordAcc, NoLock, Preserve)
8259                 {
8260                     Offset (0xEC), 
8261                     GMGP,   1, 
8262                     HPGP,   1, 
8263                     PMGP,   1
8264                 }
8265             }
8266 
8267             Device (B0D3)
8268             {
8269                 Name (_ADR, 0x00030000)  // _ADR: Address
8270             }
8271 
8272             Device (IGBE)
8273             {
8274                 Name (_ADR, 0x00190000)  // _ADR: Address
8275                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8276                 Name (RID, 0x00)
8277                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8278                 {
8279                     0x6D, 
8280                     0x04
8281                 })
8282             }
8283 
8284             Name (LTRE, 0x00)
8285             Name (OBFF, 0x00)
8286             Device (EXP1)
8287             {
8288                 Name (_ADR, 0x001C0000)  // _ADR: Address
8289                 Name (RID, 0x00)
8290                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8291                 Field (PECS, DWordAcc, NoLock, Preserve)
8292                 {
8293                     Offset (0x62), 
8294                     PS,     1, 
8295                     PP,     1, 
8296                     Offset (0xDB), 
8297                         ,   7, 
8298                     PMCE,   1, 
8299                     Offset (0xDF), 
8300                         ,   7, 
8301                     PMCS,   1
8302                 }
8303 
8304                 Name (LPRT, Package (0x04)
8305                 {
8306                     Package (0x04)
8307                     {
8308                         0xFFFF, 
8309                         0x00, 
8310                         \_SB.LNKA, 
8311                         0x00
8312                     }, 
8313 
8314                     Package (0x04)
8315                     {
8316                         0xFFFF, 
8317                         0x01, 
8318                         \_SB.LNKB, 
8319                         0x00
8320                     }, 
8321 
8322                     Package (0x04)
8323                     {
8324                         0xFFFF, 
8325                         0x02, 
8326                         \_SB.LNKC, 
8327                         0x00
8328                     }, 
8329 
8330                     Package (0x04)
8331                     {
8332                         0xFFFF, 
8333                         0x03, 
8334                         \_SB.LNKD, 
8335                         0x00
8336                     }
8337                 })
8338                 Name (APRT, Package (0x04)
8339                 {
8340                     Package (0x04)
8341                     {
8342                         0xFFFF, 
8343                         0x00, 
8344                         0x00, 
8345                         0x10
8346                     }, 
8347 
8348                     Package (0x04)
8349                     {
8350                         0xFFFF, 
8351                         0x01, 
8352                         0x00, 
8353                         0x11
8354                     }, 
8355 
8356                     Package (0x04)
8357                     {
8358                         0xFFFF, 
8359                         0x02, 
8360                         0x00, 
8361                         0x12
8362                     }, 
8363 
8364                     Package (0x04)
8365                     {
8366                         0xFFFF, 
8367                         0x03, 
8368                         0x00, 
8369                         0x13
8370                     }
8371                 })
8372                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8373                 {
8374                     If (\GPIC)
8375                     {
8376                         Return (APRT) /* \_SB_.PCI0.EXP1.APRT */
8377                     }
8378                     Else
8379                     {
8380                         Return (LPRT) /* \_SB_.PCI0.EXP1.LPRT */
8381                     }
8382                 }
8383 
8384                 Name (OPTS, 0x00)
8385                 Name (LTRV, Package (0x04)
8386                 {
8387                     0x00, 
8388                     0x00, 
8389                     0x00, 
8390                     0x00
8391                 })
8392                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8393                 {
8394                     Switch (ToInteger (Arg0))
8395                     {
8396                         Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){                            Switch (ToInteger (Arg2))
8397                             {
8398                                 Case (0x00)
8399                                 {
8400                                     If ((Arg1 == 0x02))
8401                                     {
8402                                         OPTS = 0x01
8403                                         If (LTRE)
8404                                         {
8405                                             OPTS |= 0x40
8406                                         }
8407 
8408                                         If (OBFF)
8409                                         {
8410                                             OPTS |= 0x10
8411                                         }
8412 
8413                                         Return (OPTS) /* \_SB_.PCI0.EXP1.OPTS */
8414                                     }
8415                                     Else
8416                                     {
8417                                         Return (0x00)
8418                                     }
8419                                 }
8420                                 Case (0x04)
8421                                 {
8422                                     If ((Arg1 == 0x02))
8423                                     {
8424                                         If (OBFF)
8425                                         {
8426                                             Return (Buffer (0x10)
8427                                             {
8428                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8429                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
8430                                             })
8431                                         }
8432                                         Else
8433                                         {
8434                                             Return (Buffer (0x10)
8435                                             {
8436                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8437                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
8438                                             })
8439                                         }
8440                                     }
8441                                 }
8442                                 Case (0x06)
8443                                 {
8444                                     If ((Arg1 == 0x02))
8445                                     {
8446                                         If (LTRE)
8447                                         {
8448                                             Name (MLTR, 0x00)
8449                                             MLTR = 0x1003
8450                                             LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8451                                             LTRV [0x01] = (MLTR & 0x03FF)
8452                                             LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8453                                             LTRV [0x03] = (MLTR & 0x03FF)
8454                                             Return (LTRV) /* \_SB_.PCI0.EXP1.LTRV */
8455                                         }
8456                                         Else
8457                                         {
8458                                             Return (0x00)
8459                                         }
8460                                     }
8461                                 }
8462 
8463                             }
8464                         }
8465 
8466                     }
8467 
8468                     Return (Buffer (0x01)
8469                     {
8470                          0x00                                             // .
8471                     })
8472                 }
8473             }
8474 
8475             Device (EXP2)
8476             {
8477                 Name (_ADR, 0x001C0001)  // _ADR: Address
8478                 Name (RID, 0x00)
8479                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8480                 Field (PECS, DWordAcc, NoLock, Preserve)
8481                 {
8482                     Offset (0x62), 
8483                     PS,     1, 
8484                     PP,     1, 
8485                     Offset (0xDB), 
8486                         ,   7, 
8487                     PMCE,   1, 
8488                     Offset (0xDF), 
8489                         ,   7, 
8490                     PMCS,   1
8491                 }
8492 
8493                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8494                 {
8495                     0x69, 
8496                     0x04
8497                 })
8498                 Name (LPRT, Package (0x04)
8499                 {
8500                     Package (0x04)
8501                     {
8502                         0xFFFF, 
8503                         0x00, 
8504                         \_SB.LNKB, 
8505                         0x00
8506                     }, 
8507 
8508                     Package (0x04)
8509                     {
8510                         0xFFFF, 
8511                         0x01, 
8512                         \_SB.LNKC, 
8513                         0x00
8514                     }, 
8515 
8516                     Package (0x04)
8517                     {
8518                         0xFFFF, 
8519                         0x02, 
8520                         \_SB.LNKD, 
8521                         0x00
8522                     }, 
8523 
8524                     Package (0x04)
8525                     {
8526                         0xFFFF, 
8527                         0x03, 
8528                         \_SB.LNKA, 
8529                         0x00
8530                     }
8531                 })
8532                 Name (APRT, Package (0x04)
8533                 {
8534                     Package (0x04)
8535                     {
8536                         0xFFFF, 
8537                         0x00, 
8538                         0x00, 
8539                         0x11
8540                     }, 
8541 
8542                     Package (0x04)
8543                     {
8544                         0xFFFF, 
8545                         0x01, 
8546                         0x00, 
8547                         0x12
8548                     }, 
8549 
8550                     Package (0x04)
8551                     {
8552                         0xFFFF, 
8553                         0x02, 
8554                         0x00, 
8555                         0x13
8556                     }, 
8557 
8558                     Package (0x04)
8559                     {
8560                         0xFFFF, 
8561                         0x03, 
8562                         0x00, 
8563                         0x10
8564                     }
8565                 })
8566                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8567                 {
8568                     If (\GPIC)
8569                     {
8570                         Return (APRT) /* \_SB_.PCI0.EXP2.APRT */
8571                     }
8572                     Else
8573                     {
8574                         Return (LPRT) /* \_SB_.PCI0.EXP2.LPRT */
8575                     }
8576                 }
8577 
8578                 Name (OPTS, 0x00)
8579                 Name (LTRV, Package (0x04)
8580                 {
8581                     0x00, 
8582                     0x00, 
8583                     0x00, 
8584                     0x00
8585                 })
8586                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8587                 {
8588                     Switch (ToInteger (Arg0))
8589                     {
8590                         Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){                            Switch (ToInteger (Arg2))
8591                             {
8592                                 Case (0x00)
8593                                 {
8594                                     If ((Arg1 == 0x02))
8595                                     {
8596                                         OPTS = 0x01
8597                                         If (LTRE)
8598                                         {
8599                                             OPTS |= 0x40
8600                                         }
8601 
8602                                         If (OBFF)
8603                                         {
8604                                             OPTS |= 0x10
8605                                         }
8606 
8607                                         Return (OPTS) /* \_SB_.PCI0.EXP2.OPTS */
8608                                     }
8609                                     Else
8610                                     {
8611                                         Return (0x00)
8612                                     }
8613                                 }
8614                                 Case (0x04)
8615                                 {
8616                                     If ((Arg1 == 0x02))
8617                                     {
8618                                         If (OBFF)
8619                                         {
8620                                             Return (Buffer (0x10)
8621                                             {
8622                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8623                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
8624                                             })
8625                                         }
8626                                         Else
8627                                         {
8628                                             Return (Buffer (0x10)
8629                                             {
8630                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8631                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
8632                                             })
8633                                         }
8634                                     }
8635                                 }
8636                                 Case (0x06)
8637                                 {
8638                                     If ((Arg1 == 0x02))
8639                                     {
8640                                         If (LTRE)
8641                                         {
8642                                             Name (MLTR, 0x00)
8643                                             MLTR = 0x1003
8644                                             LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8645                                             LTRV [0x01] = (MLTR & 0x03FF)
8646                                             LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8647                                             LTRV [0x03] = (MLTR & 0x03FF)
8648                                             Return (LTRV) /* \_SB_.PCI0.EXP2.LTRV */
8649                                         }
8650                                         Else
8651                                         {
8652                                             Return (0x00)
8653                                         }
8654                                     }
8655                                 }
8656 
8657                             }
8658                         }
8659 
8660                     }
8661 
8662                     Return (Buffer (0x01)
8663                     {
8664                          0x00                                             // .
8665                     })
8666                 }
8667             }
8668 
8669             Device (EXP3)
8670             {
8671                 Name (_ADR, 0x001C0002)  // _ADR: Address
8672                 Name (RID, 0x00)
8673                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8674                 Field (PECS, DWordAcc, NoLock, Preserve)
8675                 {
8676                     Offset (0x62), 
8677                     PS,     1, 
8678                     PP,     1, 
8679                     Offset (0xDB), 
8680                         ,   7, 
8681                     PMCE,   1, 
8682                     Offset (0xDF), 
8683                         ,   7, 
8684                     PMCS,   1
8685                 }
8686 
8687                 Name (LPRT, Package (0x04)
8688                 {
8689                     Package (0x04)
8690                     {
8691                         0xFFFF, 
8692                         0x00, 
8693                         \_SB.LNKC, 
8694                         0x00
8695                     }, 
8696 
8697                     Package (0x04)
8698                     {
8699                         0xFFFF, 
8700                         0x01, 
8701                         \_SB.LNKD, 
8702                         0x00
8703                     }, 
8704 
8705                     Package (0x04)
8706                     {
8707                         0xFFFF, 
8708                         0x02, 
8709                         \_SB.LNKA, 
8710                         0x00
8711                     }, 
8712 
8713                     Package (0x04)
8714                     {
8715                         0xFFFF, 
8716                         0x03, 
8717                         \_SB.LNKB, 
8718                         0x00
8719                     }
8720                 })
8721                 Name (APRT, Package (0x04)
8722                 {
8723                     Package (0x04)
8724                     {
8725                         0xFFFF, 
8726                         0x00, 
8727                         0x00, 
8728                         0x12
8729                     }, 
8730 
8731                     Package (0x04)
8732                     {
8733                         0xFFFF, 
8734                         0x01, 
8735                         0x00, 
8736                         0x13
8737                     }, 
8738 
8739                     Package (0x04)
8740                     {
8741                         0xFFFF, 
8742                         0x02, 
8743                         0x00, 
8744                         0x10
8745                     }, 
8746 
8747                     Package (0x04)
8748                     {
8749                         0xFFFF, 
8750                         0x03, 
8751                         0x00, 
8752                         0x11
8753                     }
8754                 })
8755                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8756                 {
8757                     If (\GPIC)
8758                     {
8759                         Return (APRT) /* \_SB_.PCI0.EXP3.APRT */
8760                     }
8761                     Else
8762                     {
8763                         Return (LPRT) /* \_SB_.PCI0.EXP3.LPRT */
8764                     }
8765                 }
8766 
8767                 Name (OPTS, 0x00)
8768                 Name (LTRV, Package (0x04)
8769                 {
8770                     0x00, 
8771                     0x00, 
8772                     0x00, 
8773                     0x00
8774                 })
8775                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8776                 {
8777                     Switch (ToInteger (Arg0))
8778                     {
8779                         Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){                            Switch (ToInteger (Arg2))
8780                             {
8781                                 Case (0x00)
8782                                 {
8783                                     If ((Arg1 == 0x02))
8784                                     {
8785                                         OPTS = 0x01
8786                                         If (LTRE)
8787                                         {
8788                                             OPTS |= 0x40
8789                                         }
8790 
8791                                         If (OBFF)
8792                                         {
8793                                             OPTS |= 0x10
8794                                         }
8795 
8796                                         Return (OPTS) /* \_SB_.PCI0.EXP3.OPTS */
8797                                     }
8798                                     Else
8799                                     {
8800                                         Return (0x00)
8801                                     }
8802                                 }
8803                                 Case (0x04)
8804                                 {
8805                                     If ((Arg1 == 0x02))
8806                                     {
8807                                         If (OBFF)
8808                                         {
8809                                             Return (Buffer (0x10)
8810                                             {
8811                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8812                                                 /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   // ........
8813                                             })
8814                                         }
8815                                         Else
8816                                         {
8817                                             Return (Buffer (0x10)
8818                                             {
8819                                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8820                                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
8821                                             })
8822                                         }
8823                                     }
8824                                 }
8825                                 Case (0x06)
8826                                 {
8827                                     If ((Arg1 == 0x02))
8828                                     {
8829                                         If (LTRE)
8830                                         {
8831                                             Name (MLTR, 0x00)
8832                                             MLTR = 0x1003
8833                                             LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8834                                             LTRV [0x01] = (MLTR & 0x03FF)
8835                                             LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8836                                             LTRV [0x03] = (MLTR & 0x03FF)
8837                                             Return (LTRV) /* \_SB_.PCI0.EXP3.LTRV */
8838                                         }
8839                                         Else
8840                                         {
8841                                             Return (0x00)
8842                                         }
8843                                     }
8844                                 }
8845 
8846                             }
8847                         }
8848 
8849                     }
8850 
8851                     Return (Buffer (0x01)
8852                     {
8853                          0x00                                             // .
8854                     })
8855                 }
8856             }
8857 
8858             Device (SAT1)
8859             {
8860                 Name (_ADR, 0x001F0002)  // _ADR: Address
8861                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8862                 Name (RID, 0x00)
8863             }
8864 
8865             Device (SAT2)
8866             {
8867                 Name (_ADR, 0x001F0005)  // _ADR: Address
8868                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8869                 Name (RID, 0x00)
8870             }
8871 
8872             Device (SMBU)
8873             {
8874                 Name (_ADR, 0x001F0003)  // _ADR: Address
8875                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8876                 Name (RID, 0x00)
8877                 Device (NFC)
8878                 {
8879                     Name (_HID, EisaId ("BCM2F09"))  // _HID: Hardware ID
8880                     Name (_CID, EisaId ("BCM2F09"))  // _CID: Compatible ID
8881                     Name (_UID, 0x00)  // _UID: Unique ID
8882                     Method (_STA, 0, NotSerialized)  // _STA: Status
8883                     {
8884                         If ((\_SB.PCI0.LPC.NFCD || \NFCF))
8885                         {
8886                             Return (0x00)
8887                         }
8888                         Else
8889                         {
8890                             Return (0x0F)
8891                         }
8892                     }
8893 
8894                     Method (GPEN, 0, NotSerialized)
8895                     {
8896                         \_GPE.GPFG = 0x01
8897                     }
8898 
8899                     Method (SNFC, 1, NotSerialized)
8900                     {
8901                         If (Arg0)
8902                         {
8903                             \_SB.PCI0.LPC.NFCP = 0x01
8904                         }
8905                         Else
8906                         {
8907                             \_SB.PCI0.LPC.NFCP = 0x00
8908                         }
8909                     }
8910                 }
8911             }
8912 
8913             Device (XHCI)
8914             {
8915                 Name (_ADR, 0x00140000)  // _ADR: Address
8916                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8917                 Name (RID, 0x00)
8918                 OperationRegion (XHCS, PCI_Config, 0x00, 0x0100)
8919                 Field (XHCS, DWordAcc, NoLock, Preserve)
8920                 {
8921                     Offset (0x10), 
8922                     MEMB,   32, 
8923                     Offset (0x40), 
8924                         ,   11, 
8925                     SWAI,   1, 
8926                     Offset (0x44), 
8927                         ,   12, 
8928                     SAIP,   2, 
8929                     Offset (0x48), 
8930                     Offset (0x74), 
8931                     Offset (0x75), 
8932                     PMEE,   1, 
8933                         ,   6, 
8934                     PMES,   1, 
8935                     Offset (0xD0), 
8936                     PR2,    32, 
8937                     PR2M,   32, 
8938                     PR3,    32, 
8939                     PR3M,   32
8940                 }
8941 
8942                 Name (XRST, Zero)
8943                 OperationRegion (XHCM, SystemMemory, (MEMB & 0xFFFF0000), 0x0600)
8944                 Field (XHCM, DWordAcc, NoLock, Preserve)
8945                 {
8946                     Offset (0x02), 
8947                     XHCV,   16, 
8948                     Offset (0x480), 
8949                     HP01,   1, 
8950                     Offset (0x490), 
8951                     HP02,   1, 
8952                     Offset (0x4A0), 
8953                     HP03,   1, 
8954                     Offset (0x4E0), 
8955                     HP07,   1, 
8956                     Offset (0x510), 
8957                     SP00,   1, 
8958                     Offset (0x520), 
8959                     SP01,   1, 
8960                     Offset (0x530), 
8961                     SP02,   1
8962                 }
8963 
8964                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
8965                 {
8966                     \_SB.PCI0.LPC.EC.PUBS
8967                 })
8968                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
8969                 {
8970                     \_SB.PCI0.LPC.EC.PUBS
8971                 })
8972                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
8973                 {
8974                     \_SB.PCI0.LPC.EC.PUBS
8975                 })
8976                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
8977                 {
8978                     0x6D, 
8979                     0x03, 
8980                     \_SB.PCI0.LPC.EC.PUBS
8981                 })
8982                 Method (CUID, 1, Serialized)
8983                 {
8984                     If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
8985                     {
8986                         Return (0x01)
8987                     }
8988 
8989                     Return (0x00)
8990                 }
8991 
8992                 Method (POSC, 3, Serialized)
8993                 {
8994                     CreateDWordField (Arg2, 0x00, CDW1)
8995                     CreateDWordField (Arg2, 0x08, CDW3)
8996                     If ((\XHCI == 0x00))
8997                     {
8998                         CDW1 |= 0x02
8999                         \_SB.PCI0.LPC.XUSB = 0x00
9000                         XRST = 0x00
9001                     }
9002 
9003                     If (!(CDW1 & 0x01))
9004                     {
9005                         If ((CDW3 & 0x01))
9006                         {
9007                             ESEL ()
9008                         }
9009                         ElseIf (0x00)
9010                         {
9011                             If ((Arg0 > 0x01))
9012                             {
9013                                 SXHC ()
9014                             }
9015                             Else
9016                             {
9017                                 CDW1 |= 0x0A
9018                             }
9019                         }
9020                         ElseIf ((Arg0 > 0x02))
9021                         {
9022                             SXHC ()
9023                         }
9024                         Else
9025                         {
9026                             CDW1 |= 0x0A
9027                         }
9028 
9029                         Return (Arg2)
9030                     }
9031 
9032                     If ((!(CDW1 & 0x01) && ((\XHCI == 0x02) || (
9033                         \XHCI == 0x03))))
9034                     {
9035                         SXHC ()
9036                     }
9037 
9038                     Return (Arg2)
9039                 }
9040 
9041                 Method (ESEL, 0, Serialized)
9042                 {
9043                     If (((\XHCI == 0x02) || (\XHCI == 0x03)))
9044                     {
9045                         PR3 &= 0xFFFFFFC0
9046                         PR2 &= 0xFFFF8000
9047                         \_SB.PCI0.LPC.XUSB = 0x00
9048                         XRST = 0x00
9049                     }
9050                 }
9051 
9052                 Method (SXHC, 0, NotSerialized)
9053                 {
9054                     \_SB.PCI0.LPC.XUSB = 0x01
9055                     XRST = 0x01
9056                     Local0 = 0x00
9057                     Local0 = (PR3 & 0xFFFFFFC0)
9058                     PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHCI.PR3M */
9059                     Local0 = 0x00
9060                     Local0 = (PR2 & 0xFFFF8000)
9061                     PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHCI.PR2M */
9062                     \_SB.PCI0.LPC.XUSB = 0x01
9063                     \USBR = 0x01
9064                 }
9065 
9066                 Method (XHPS, 0, NotSerialized)
9067                 {
9068                     If ((\_SB.PCI0.XHCI.XHCV != 0xFFFF))
9069                     {
9070                         \USBC = 0x01
9071                         \USBC |= (\_SB.PCI0.XHCI.HP01 << 0x01)
9072                         \USBC |= (\_SB.PCI0.XHCI.HP02 << 0x02)
9073                         \USBC |= (\_SB.PCI0.XHCI.HP03 << 0x03)
9074                         \USBC |= (\_SB.PCI0.XHCI.HP07 << 0x04)
9075                         \USBC |= (\_SB.PCI0.XHCI.SP00 << 0x05)
9076                         \USBC |= (\_SB.PCI0.XHCI.SP01 << 0x06)
9077                         \USBC |= (\_SB.PCI0.XHCI.SP02 << 0x07)
9078                     }
9079                 }
9080 
9081                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9082                 {
9083                     If (\WIN8)
9084                     {
9085                         SXHC ()
9086                     }
9087                 }
9088 
9089                 Name (PEBS, 0xF8000000)
9090                 OperationRegion (XHCB, SystemMemory, (PEBS + 0x000A0000), 0x0100)
9091                 Field (XHCB, DWordAcc, Lock, Preserve)
9092                 {
9093                     DVID,   16, 
9094                     Offset (0x04), 
9095                     PDBM,   16, 
9096                     Offset (0x10), 
9097                     MBA1,   32, 
9098                     Offset (0x74), 
9099                     D0D3,   32, 
9100                     Offset (0xB0), 
9101                         ,   13, 
9102                     MB13,   2, 
9103                     Offset (0xB4)
9104                 }
9105 
9106                 Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
9107                 {
9108                     Return (0x03)
9109                 }
9110 
9111                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
9112                 {
9113                     If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9114                     {
9115                         Return (Zero)
9116                     }
9117 
9118                     Local6 = 0x00
9119                     Local7 = \_SB.PCI0.XHCI.MBA1
9120                     Local7 &= 0xFFFFFFF0
9121                     If (((Local7 == 0x00) || (Local7 == 0xFFFFFFF0)))
9122                     {
9123                         \_SB.PCI0.XHCI.MBA1 = 0xFEAF0000
9124                         Local6 = 0x01
9125                     }
9126 
9127                     Local3 = 0x00
9128                     Local4 = \_SB.PCI0.XHCI.PDBM
9129                     If (((Local4 & 0xFF) == 0x00))
9130                     {
9131                         Local0 = \_SB.PCI0.XHCI.PDBM
9132                         Local0 |= 0x06
9133                         \_SB.PCI0.XHCI.PDBM = Local0
9134                         Local3 = 0x01
9135                     }
9136 
9137                     Local0 = \_SB.PCI0.XHCI.MBA1
9138                     Local0 &= 0xFFFFFFF0
9139                     Local0 = \XWMB
9140                     OperationRegion (MCA1, SystemMemory, Local0, 0x9000)
9141                     Field (MCA1, DWordAcc, Lock, Preserve)
9142                     {
9143                         Offset (0x510), 
9144                         P141,   14, 
9145                             ,   17, 
9146                         WPR1,   1, 
9147                         Offset (0x520), 
9148                         P142,   14, 
9149                             ,   17, 
9150                         WPR2,   1, 
9151                         Offset (0x530), 
9152                         P143,   14, 
9153                             ,   17, 
9154                         WPR3,   1, 
9155                         Offset (0x540), 
9156                         P144,   14, 
9157                             ,   17, 
9158                         WPR4,   1, 
9159                         Offset (0x80E0), 
9160                             ,   15, 
9161                         AX15,   1, 
9162                         Offset (0x8154), 
9163                             ,   31, 
9164                         CLK2,   1, 
9165                         Offset (0x816C), 
9166                             ,   2, 
9167                         CLK0,   1, 
9168                             ,   11, 
9169                         CLK1,   1, 
9170                         Offset (0x8170)
9171                     }
9172 
9173                     OperationRegion (MCA2, SystemMemory, Local0, 0x9000)
9174                     Field (MCA2, DWordAcc, Lock, Preserve)
9175                     {
9176                         Offset (0x510), 
9177                             ,   4, 
9178                         WIT1,   1, 
9179                             ,   12, 
9180                         A171,   7, 
9181                         Offset (0x520), 
9182                             ,   4, 
9183                         WIT2,   1, 
9184                             ,   12, 
9185                         A172,   7, 
9186                         Offset (0x530), 
9187                             ,   4, 
9188                         WIT3,   1, 
9189                             ,   12, 
9190                         A173,   7, 
9191                         Offset (0x540), 
9192                             ,   4, 
9193                         WIT4,   1, 
9194                             ,   12, 
9195                         A174,   7
9196                     }
9197 
9198                     \_SB.PCI0.XHCI.MB13 = 0x00
9199                     Local5 = \_SB.PCI0.XHCI.D0D3
9200                     Local5 &= 0x03
9201                     If ((Local5 == 0x03))
9202                     {
9203                         Local5 = \_SB.PCI0.XHCI.D0D3
9204                         Local5 &= 0xFFFFFFFC
9205                         \_SB.PCI0.XHCI.D0D3 = Local5
9206                         CLK0 = 0x00
9207                         CLK1 = 0x00
9208                         CLK2 = 0x01
9209                         While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 == 
9210                             0x02E0) || (P144 == 0x02E0)))){}
9211                         If ((P141 == 0x02A0))
9212                         {
9213                             WPR1 = 0x01
9214                             While (((A171 & 0x04) == 0x00)){}
9215                             A171 = 0x7F
9216                         }
9217 
9218                         If ((P142 == 0x02A0))
9219                         {
9220                             WPR2 = 0x01
9221                             While (((A172 & 0x04) == 0x00)){}
9222                             A172 = 0x7F
9223                         }
9224 
9225                         If ((P143 == 0x02A0))
9226                         {
9227                             WPR3 = 0x01
9228                             While (((A173 & 0x04) == 0x00)){}
9229                             A173 = 0x7F
9230                         }
9231 
9232                         If ((P144 == 0x02A0))
9233                         {
9234                             WPR4 = 0x01
9235                             While (((A174 & 0x04) == 0x00)){}
9236                             A174 = 0x7F
9237                         }
9238 
9239                         AX15 = 0x01
9240                         Local5 = \_SB.PCI0.XHCI.D0D3
9241                         Local5 |= 0x03
9242                         \_SB.PCI0.XHCI.D0D3 = Local5
9243                     }
9244                     Else
9245                     {
9246                         CLK0 = 0x00
9247                         CLK1 = 0x00
9248                         CLK2 = 0x01
9249                         While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 == 
9250                             0x02E0) || (P144 == 0x02E0)))){}
9251                         If ((P141 == 0x02A0))
9252                         {
9253                             WPR1 = 0x01
9254                             While (((A171 & 0x04) == 0x00)){}
9255                             A171 = 0x7F
9256                         }
9257 
9258                         If ((P142 == 0x02A0))
9259                         {
9260                             WPR2 = 0x01
9261                             While (((A172 & 0x04) == 0x00)){}
9262                             A172 = 0x7F
9263                         }
9264 
9265                         If ((P143 == 0x02A0))
9266                         {
9267                             WPR3 = 0x01
9268                             While (((A173 & 0x04) == 0x00)){}
9269                             A173 = 0x7F
9270                         }
9271 
9272                         If ((P144 == 0x02A0))
9273                         {
9274                             WPR4 = 0x01
9275                             While (((A174 & 0x04) == 0x00)){}
9276                             A174 = 0x7F
9277                         }
9278 
9279                         AX15 = 0x01
9280                     }
9281 
9282                     ^SWAI = 0x00
9283                     ^SAIP = 0x00
9284                     If ((Local3 == 0x01))
9285                     {
9286                         \_SB.PCI0.XHCI.PDBM = Local4
9287                     }
9288 
9289                     If ((Local6 == 0x01))
9290                     {
9291                         \_SB.PCI0.XHCI.MBA1 = Local7
9292                     }
9293                 }
9294 
9295                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
9296                 {
9297                     If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9298                     {
9299                         Return (Zero)
9300                     }
9301 
9302                     \_SB.PCI0.XHCI.PMES = 0x01
9303                     \_SB.PCI0.XHCI.PMEE = 0x01
9304                     Local1 = 0x00
9305                     Local2 = \_SB.PCI0.XHCI.MBA1
9306                     Local2 &= 0xFFFFFFF0
9307                     If (((Local2 == 0x00) || (Local2 == 0xFFFFFFF0)))
9308                     {
9309                         \_SB.PCI0.XHCI.MBA1 = 0xFEAF0000
9310                         Local1 = 0x01
9311                     }
9312 
9313                     Local3 = 0x00
9314                     Local4 = \_SB.PCI0.XHCI.PDBM
9315                     If (((Local4 & 0xFF) == 0x00))
9316                     {
9317                         Local0 = \_SB.PCI0.XHCI.PDBM
9318                         Local0 |= 0x06
9319                         \_SB.PCI0.XHCI.PDBM = Local0
9320                         Local3 = 0x01
9321                     }
9322 
9323                     Local0 = \_SB.PCI0.XHCI.MBA1
9324                     Local0 &= 0xFFFFFFF0
9325                     Local0 = \XWMB
9326                     OperationRegion (MCA1, SystemMemory, Local0, 0x9000)
9327                     Field (MCA1, DWordAcc, Lock, Preserve)
9328                     {
9329                         Offset (0x80E0), 
9330                             ,   15, 
9331                         AX15,   1, 
9332                         Offset (0x8154), 
9333                             ,   31, 
9334                         CLK2,   1, 
9335                         Offset (0x816C), 
9336                             ,   2, 
9337                         CLK0,   1, 
9338                             ,   11, 
9339                         CLK1,   1, 
9340                         Offset (0x8170)
9341                     }
9342 
9343                     OperationRegion (MCA2, SystemMemory, Local0, 0x9000)
9344                     Field (MCA2, DWordAcc, Lock, Preserve)
9345                     {
9346                         Offset (0x510), 
9347                             ,   4, 
9348                         WIT1,   1, 
9349                             ,   12, 
9350                         A171,   7, 
9351                         Offset (0x520), 
9352                             ,   4, 
9353                         WIT2,   1, 
9354                             ,   12, 
9355                         A172,   7, 
9356                         Offset (0x530), 
9357                             ,   4, 
9358                         WIT3,   1, 
9359                             ,   12, 
9360                         A173,   7, 
9361                         Offset (0x540), 
9362                             ,   4, 
9363                         WIT4,   1, 
9364                             ,   12, 
9365                         A174,   7
9366                     }
9367 
9368                     \_SB.PCI0.XHCI.MB13 = 0x03
9369                     Local0 = \_SB.PCI0.XHCI.D0D3
9370                     Local0 &= 0xFFFFFFFC
9371                     \_SB.PCI0.XHCI.D0D3 = Local0
9372                     CLK0 = 0x01
9373                     CLK1 = 0x01
9374                     CLK2 = 0x00
9375                     AX15 = 0x00
9376                     ^SWAI = 0x01
9377                     ^SAIP = 0x01
9378                     Local0 = \_SB.PCI0.XHCI.D0D3
9379                     Local0 |= 0x03
9380                     \_SB.PCI0.XHCI.D0D3 = Local0
9381                     If ((Local1 == 0x01))
9382                     {
9383                         \_SB.PCI0.XHCI.MBA1 = Local2
9384                     }
9385 
9386                     If ((Local3 == 0x01))
9387                     {
9388                         \_SB.PCI0.XHCI.PDBM = Local4
9389                     }
9390                 }
9391 
9392                 Device (URTH)
9393                 {
9394                     Name (_ADR, 0x00)  // _ADR: Address
9395                     Device (HSP0)
9396                     {
9397                         Name (_ADR, 0x01)  // _ADR: Address
9398                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9399                         {
9400                             Name (UPCP, Package (0x04)
9401                             {
9402                                 0x00, 
9403                                 0x00, 
9404                                 0x00, 
9405                                 0x00
9406                             })
9407                             CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9408                             If (!(PR2 & 0x01))
9409                             {
9410                                 UPCP [0x00] = 0x00
9411                             }
9412 
9413                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9414                         }
9415 
9416                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9417                         {
9418                             \_SB.PCI0.XHCI.XHPS ()
9419                             Name (PLDP, Buffer (0x10){})
9420                             PLDP = \PLD0
9421                             CreateBitField (PLDP, 0x40, VIS)
9422                             If (!(PR2 & 0x01))
9423                             {
9424                                 VIS &= 0x00
9425                             }
9426 
9427                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP0._PLD.PLDP */
9428                         }
9429                     }
9430 
9431                     Device (HSP1)
9432                     {
9433                         Name (_ADR, 0x02)  // _ADR: Address
9434                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9435                         {
9436                             Name (UPCP, Package (0x04)
9437                             {
9438                                 0x00, 
9439                                 0x00, 
9440                                 0x00, 
9441                                 0x00
9442                             })
9443                             CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9444                             If (!(PR2 & 0x02))
9445                             {
9446                                 UPCP [0x00] = 0x00
9447                             }
9448 
9449                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9450                         }
9451 
9452                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9453                         {
9454                             \_SB.PCI0.XHCI.XHPS ()
9455                             Name (PLDP, Buffer (0x10){})
9456                             PLDP = \PLD1
9457                             CreateBitField (PLDP, 0x40, VIS)
9458                             If (!(PR2 & 0x02))
9459                             {
9460                                 VIS &= 0x00
9461                             }
9462 
9463                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP1._PLD.PLDP */
9464                         }
9465                     }
9466 
9467                     Device (HSP2)
9468                     {
9469                         Name (_ADR, 0x03)  // _ADR: Address
9470                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9471                         {
9472                             Name (UPCP, Package (0x04)
9473                             {
9474                                 0x00, 
9475                                 0x00, 
9476                                 0x00, 
9477                                 0x00
9478                             })
9479                             CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9480                             If (!(PR2 & 0x04))
9481                             {
9482                                 UPCP [0x00] = 0x00
9483                             }
9484 
9485                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9486                         }
9487 
9488                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9489                         {
9490                             \_SB.PCI0.XHCI.XHPS ()
9491                             Name (PLDP, Buffer (0x10){})
9492                             If ((PJCD == 0x00))
9493                             {
9494                                 PLDP = \PLDZ
9495                             }
9496                             Else
9497                             {
9498                                 PLDP = \PLD2
9499                             }
9500 
9501                             CreateBitField (PLDP, 0x40, VIS)
9502                             If (!(PR2 & 0x04))
9503                             {
9504                                 VIS &= 0x00
9505                             }
9506 
9507                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP2._PLD.PLDP */
9508                         }
9509                     }
9510 
9511                     Device (HSP3)
9512                     {
9513                         Name (_ADR, 0x04)  // _ADR: Address
9514                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9515                         {
9516                             Name (UPCP, Package (0x04)
9517                             {
9518                                 0x00, 
9519                                 0x00, 
9520                                 0x00, 
9521                                 0x00
9522                             })
9523                             CopyObject (\UPC3, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9524                             If (!(PR2 & 0x08))
9525                             {
9526                                 UPCP [0x00] = 0x00
9527                             }
9528 
9529                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9530                         }
9531 
9532                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9533                         {
9534                             \_SB.PCI0.XHCI.XHPS ()
9535                             Name (PLDP, Buffer (0x10){})
9536                             PLDP = \PLD3
9537                             CreateBitField (PLDP, 0x40, VIS)
9538                             If (!(PR2 & 0x08))
9539                             {
9540                                 VIS &= 0x00
9541                             }
9542 
9543                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP3._PLD.PLDP */
9544                         }
9545                     }
9546 
9547                     Device (HSP4)
9548                     {
9549                         Name (_ADR, 0x05)  // _ADR: Address
9550                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9551                         {
9552                             Name (UPCP, Package (0x04)
9553                             {
9554                                 0x00, 
9555                                 0x00, 
9556                                 0x00, 
9557                                 0x00
9558                             })
9559                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9560                             If (!(PR2 & 0x10))
9561                             {
9562                                 UPCP [0x00] = 0x00
9563                             }
9564 
9565                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9566                         }
9567 
9568                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9569                         {
9570                             \_SB.PCI0.XHCI.XHPS ()
9571                             Name (PLDP, Buffer (0x10){})
9572                             PLDP = \PLDI
9573                             CreateBitField (PLDP, 0x40, VIS)
9574                             If (!(PR2 & 0x10))
9575                             {
9576                                 VIS &= 0x00
9577                             }
9578 
9579                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP4._PLD.PLDP */
9580                         }
9581                     }
9582 
9583                     Device (HSP5)
9584                     {
9585                         Name (_ADR, 0x06)  // _ADR: Address
9586                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9587                         {
9588                             Name (UPCP, Package (0x04)
9589                             {
9590                                 0x00, 
9591                                 0x00, 
9592                                 0x00, 
9593                                 0x00
9594                             })
9595                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9596                             If (!(PR2 & 0x20))
9597                             {
9598                                 UPCP [0x00] = 0x00
9599                             }
9600 
9601                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9602                         }
9603 
9604                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9605                         {
9606                             \_SB.PCI0.XHCI.XHPS ()
9607                             Name (PLDP, Buffer (0x10){})
9608                             PLDP = \PLDI
9609                             CreateBitField (PLDP, 0x40, VIS)
9610                             If (!(PR2 & 0x20))
9611                             {
9612                                 VIS &= 0x00
9613                             }
9614 
9615                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP5._PLD.PLDP */
9616                         }
9617                     }
9618 
9619                     Device (HSP6)
9620                     {
9621                         Name (_ADR, 0x07)  // _ADR: Address
9622                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9623                         {
9624                             Name (UPCP, Package (0x04)
9625                             {
9626                                 0x00, 
9627                                 0x00, 
9628                                 0x00, 
9629                                 0x00
9630                             })
9631                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9632                             If (!(PR2 & 0x40))
9633                             {
9634                                 UPCP [0x00] = 0x00
9635                             }
9636 
9637                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9638                         }
9639 
9640                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9641                         {
9642                             \_SB.PCI0.XHCI.XHPS ()
9643                             Name (PLDP, Buffer (0x10){})
9644                             PLDP = \PLDI
9645                             CreateBitField (PLDP, 0x40, VIS)
9646                             If (!(PR2 & 0x40))
9647                             {
9648                                 VIS &= 0x00
9649                             }
9650 
9651                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP6._PLD.PLDP */
9652                         }
9653                     }
9654 
9655                     Device (HSP7)
9656                     {
9657                         Name (_ADR, 0x08)  // _ADR: Address
9658                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9659                         {
9660                             Name (UPCP, Package (0x04)
9661                             {
9662                                 0x00, 
9663                                 0x00, 
9664                                 0x00, 
9665                                 0x00
9666                             })
9667                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9668                             If (!(PR2 & 0x80))
9669                             {
9670                                 UPCP [0x00] = 0x00
9671                             }
9672 
9673                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9674                         }
9675 
9676                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9677                         {
9678                             \_SB.PCI0.XHCI.XHPS ()
9679                             Name (PLDP, Buffer (0x10){})
9680                             PLDP = \PLDI
9681                             CreateBitField (PLDP, 0x40, VIS)
9682                             If (!(PR2 & 0x40))
9683                             {
9684                                 VIS &= 0x00
9685                             }
9686 
9687                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP7._PLD.PLDP */
9688                         }
9689 
9690                         Device (WCAM)
9691                         {
9692                             Name (_ADR, 0x08)  // _ADR: Address
9693                             Method (_STA, 0, NotSerialized)  // _STA: Status
9694                             {
9695                                 If (\WIN8)
9696                                 {
9697                                     Return (0x0F)
9698                                 }
9699                                 Else
9700                                 {
9701                                     Return (0x00)
9702                                 }
9703                             }
9704 
9705                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9706                             {
9707                                 Return (\UPCI)
9708                             }
9709 
9710                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9711                             {
9712                                 Return (\PLDC)
9713                             }
9714                         }
9715                     }
9716 
9717                     Device (SSP0)
9718                     {
9719                         Name (_ADR, 0x0A)  // _ADR: Address
9720                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9721                         {
9722                             Name (UPCP, Package (0x04)
9723                             {
9724                                 0x00, 
9725                                 0x00, 
9726                                 0x00, 
9727                                 0x00
9728                             })
9729                             CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
9730                             If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
9731                             {
9732                                 UPCP [0x00] = 0x00
9733                             }
9734 
9735                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
9736                         }
9737 
9738                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9739                         {
9740                             \_SB.PCI0.XHCI.XHPS ()
9741                             Name (PLDP, Buffer (0x10){})
9742                             PLDP = \PLD0
9743                             CreateBitField (PLDP, 0x40, VIS)
9744                             If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
9745                             {
9746                                 VIS &= 0x00
9747                             }
9748 
9749                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP0._PLD.PLDP */
9750                         }
9751                     }
9752 
9753                     Device (SSP1)
9754                     {
9755                         Name (_ADR, 0x0B)  // _ADR: Address
9756                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9757                         {
9758                             Name (UPCP, Package (0x04)
9759                             {
9760                                 0x00, 
9761                                 0x00, 
9762                                 0x00, 
9763                                 0x00
9764                             })
9765                             CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
9766                             If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
9767                             {
9768                                 UPCP [0x00] = 0x00
9769                             }
9770 
9771                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
9772                         }
9773 
9774                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9775                         {
9776                             \_SB.PCI0.XHCI.XHPS ()
9777                             Name (PLDP, Buffer (0x10){})
9778                             PLDP = \PLD1
9779                             CreateBitField (PLDP, 0x40, VIS)
9780                             If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
9781                             {
9782                                 VIS &= 0x00
9783                             }
9784 
9785                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP1._PLD.PLDP */
9786                         }
9787                     }
9788 
9789                     Device (SSP2)
9790                     {
9791                         Name (_ADR, 0x0C)  // _ADR: Address
9792                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9793                         {
9794                             Name (UPCP, Package (0x04)
9795                             {
9796                                 0x00, 
9797                                 0x00, 
9798                                 0x00, 
9799                                 0x00
9800                             })
9801                             CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
9802                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
9803                             {
9804                                 UPCP [0x00] = 0x00
9805                             }
9806 
9807                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
9808                         }
9809 
9810                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9811                         {
9812                             \_SB.PCI0.XHCI.XHPS ()
9813                             Name (PLDP, Buffer (0x10){})
9814                             If ((PJCD == 0x00))
9815                             {
9816                                 PLDP = \PLDZ
9817                             }
9818                             Else
9819                             {
9820                                 PLDP = \PLD2
9821                             }
9822 
9823                             CreateBitField (PLDP, 0x40, VIS)
9824                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
9825                             {
9826                                 VIS &= 0x00
9827                             }
9828 
9829                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP2._PLD.PLDP */
9830                         }
9831                     }
9832                 }
9833             }
9834 
9835             Device (EHC1)
9836             {
9837                 Name (_ADR, 0x001D0000)  // _ADR: Address
9838                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9839                 Name (RID, 0x00)
9840                 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9841                 Field (EHCS, DWordAcc, NoLock, Preserve)
9842                 {
9843                     Offset (0x62), 
9844                     PWKI,   1, 
9845                     PWUC,   8, 
9846                     Offset (0x64)
9847                 }
9848 
9849                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
9850                 {
9851                     \_SB.PCI0.LPC.EC.PUBS
9852                 })
9853                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
9854                 {
9855                     \_SB.PCI0.LPC.EC.PUBS
9856                 })
9857                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
9858                 {
9859                     \_SB.PCI0.LPC.EC.PUBS
9860                 })
9861                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9862                 {
9863                     PWKI = 0x01
9864                     PWUC = 0x23
9865                 }
9866 
9867                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
9868                 {
9869                     0x6D, 
9870                     0x03, 
9871                     \_SB.PCI0.LPC.EC.PUBS
9872                 })
9873                 Device (URTH)
9874                 {
9875                     Name (_ADR, 0x00)  // _ADR: Address
9876                     Device (URMH)
9877                     {
9878                         Name (_ADR, 0x01)  // _ADR: Address
9879                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9880                         {
9881                             Return (\UPCI)
9882                         }
9883 
9884                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9885                         {
9886                             Return (\PLDI)
9887                         }
9888 
9889                         Device (PRT0)
9890                         {
9891                             Name (_ADR, 0x01)  // _ADR: Address
9892                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9893                             {
9894                                 Name (UPCP, Package (0x04)
9895                                 {
9896                                     0x00, 
9897                                     0x00, 
9898                                     0x00, 
9899                                     0x00
9900                                 })
9901                                 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
9902                                 If ((\XHCI == 0x00)){}
9903                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x01))
9904                                 {
9905                                     UPCP [0x00] = 0x00
9906                                 }
9907 
9908                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
9909                             }
9910 
9911                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9912                             {
9913                                 Name (PLDP, Buffer (0x10){})
9914                                 PLDP = \PLD0
9915                                 CreateBitField (PLDP, 0x40, VIS)
9916                                 If ((\XHCI == 0x00)){}
9917                                 Else
9918                                 {
9919                                     If ((\_SB.PCI0.XHCI.PR2 & 0x01))
9920                                     {
9921                                         VIS &= 0x00
9922                                     }
9923 
9924                                     Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._PLD.PLDP */
9925                                 }
9926                             }
9927                         }
9928 
9929                         Device (PRT1)
9930                         {
9931                             Name (_ADR, 0x02)  // _ADR: Address
9932                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9933                             {
9934                                 Name (UPCP, Package (0x04)
9935                                 {
9936                                     0x00, 
9937                                     0x00, 
9938                                     0x00, 
9939                                     0x00
9940                                 })
9941                                 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
9942                                 If ((\XHCI == 0x00)){}
9943                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x02))
9944                                 {
9945                                     UPCP [0x00] = 0x00
9946                                 }
9947 
9948                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
9949                             }
9950 
9951                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9952                             {
9953                                 Name (PLDP, Buffer (0x10){})
9954                                 PLDP = \PLD1
9955                                 CreateBitField (PLDP, 0x40, VIS)
9956                                 If ((\XHCI == 0x00)){}
9957                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x02))
9958                                 {
9959                                     VIS &= 0x00
9960                                 }
9961 
9962                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._PLD.PLDP */
9963                             }
9964                         }
9965 
9966                         Device (PRT2)
9967                         {
9968                             Name (_ADR, 0x03)  // _ADR: Address
9969                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9970                             {
9971                                 Name (UPCP, Package (0x04)
9972                                 {
9973                                     0x00, 
9974                                     0x00, 
9975                                     0x00, 
9976                                     0x00
9977                                 })
9978                                 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
9979                                 If ((\XHCI == 0x00)){}
9980                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x04))
9981                                 {
9982                                     UPCP [0x00] = 0x00
9983                                 }
9984 
9985                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
9986                             }
9987 
9988                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9989                             {
9990                                 Name (PLDP, Buffer (0x10){})
9991                                 If ((PJCD == 0x00))
9992                                 {
9993                                     PLDP = \PLDZ
9994                                 }
9995                                 Else
9996                                 {
9997                                     PLDP = \PLD2
9998                                 }
9999 
10000                                 CreateBitField (PLDP, 0x40, VIS)
10001                                 If ((\XHCI == 0x00)){}
10002                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x04))
10003                                 {
10004                                     VIS &= 0x00
10005                                 }
10006 
10007                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._PLD.PLDP */
10008                             }
10009                         }
10010 
10011                         Device (PRT3)
10012                         {
10013                             Name (_ADR, 0x04)  // _ADR: Address
10014                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10015                             {
10016                                 Name (UPCP, Package (0x04)
10017                                 {
10018                                     0x00, 
10019                                     0x00, 
10020                                     0x00, 
10021                                     0x00
10022                                 })
10023                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10024                                 If ((\XHCI == 0x00)){}
10025                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x08))
10026                                 {
10027                                     UPCP [0x00] = 0x00
10028                                 }
10029 
10030                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10031                             }
10032 
10033                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10034                             {
10035                                 Name (PLDP, Buffer (0x10){})
10036                                 PLDP = \PLD3
10037                                 CreateBitField (PLDP, 0x40, VIS)
10038                                 If ((\XHCI == 0x00)){}
10039                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x08))
10040                                 {
10041                                     VIS &= 0x00
10042                                 }
10043 
10044                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._PLD.PLDP */
10045                             }
10046                         }
10047 
10048                         Device (PRT4)
10049                         {
10050                             Name (_ADR, 0x05)  // _ADR: Address
10051                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10052                             {
10053                                 Name (UPCP, Package (0x04)
10054                                 {
10055                                     0x00, 
10056                                     0x00, 
10057                                     0x00, 
10058                                     0x00
10059                                 })
10060                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10061                                 If ((\XHCI == 0x00)){}
10062                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x10))
10063                                 {
10064                                     UPCP [0x00] = 0x00
10065                                 }
10066 
10067                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10068                             }
10069 
10070                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10071                             {
10072                                 Name (PLDP, Buffer (0x10){})
10073                                 PLDP = \PLDI
10074                                 CreateBitField (PLDP, 0x40, VIS)
10075                                 If ((\XHCI == 0x00)){}
10076                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x10))
10077                                 {
10078                                     VIS &= 0x00
10079                                 }
10080 
10081                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._PLD.PLDP */
10082                             }
10083                         }
10084 
10085                         Device (PRT5)
10086                         {
10087                             Name (_ADR, 0x06)  // _ADR: Address
10088                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10089                             {
10090                                 Name (UPCP, Package (0x04)
10091                                 {
10092                                     0x00, 
10093                                     0x00, 
10094                                     0x00, 
10095                                     0x00
10096                                 })
10097                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10098                                 If ((\XHCI == 0x00)){}
10099                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x20))
10100                                 {
10101                                     UPCP [0x00] = 0x00
10102                                 }
10103 
10104                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10105                             }
10106 
10107                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10108                             {
10109                                 Name (PLDP, Buffer (0x10){})
10110                                 PLDP = \PLDI
10111                                 CreateBitField (PLDP, 0x40, VIS)
10112                                 If ((\XHCI == 0x00)){}
10113                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x20))
10114                                 {
10115                                     VIS &= 0x00
10116                                 }
10117 
10118                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._PLD.PLDP */
10119                             }
10120                         }
10121 
10122                         Device (PRT6)
10123                         {
10124                             Name (_ADR, 0x07)  // _ADR: Address
10125                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10126                             {
10127                                 Name (UPCP, Package (0x04)
10128                                 {
10129                                     0x00, 
10130                                     0x00, 
10131                                     0x00, 
10132                                     0x00
10133                                 })
10134                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10135                                 If ((\XHCI == 0x00)){}
10136                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x40))
10137                                 {
10138                                     UPCP [0x00] = 0x00
10139                                 }
10140 
10141                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10142                             }
10143 
10144                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10145                             {
10146                                 Name (PLDP, Buffer (0x10){})
10147                                 PLDP = \PLDI
10148                                 CreateBitField (PLDP, 0x40, VIS)
10149                                 If ((\XHCI == 0x00)){}
10150                                 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x40))
10151                                 {
10152                                     VIS &= 0x00
10153                                 }
10154 
10155                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._PLD.PLDP */
10156                             }
10157                         }
10158 
10159                         Device (PRT7)
10160                         {
10161                             Name (_ADR, 0x08)  // _ADR: Address
10162                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10163                             {
10164                                 Return (\UPCI)
10165                             }
10166 
10167                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10168                             {
10169                                 Return (\PLDI)
10170                             }
10171 
10172                             Device (WCAM)
10173                             {
10174                                 Name (_ADR, 0x08)  // _ADR: Address
10175                                 Method (_STA, 0, NotSerialized)  // _STA: Status
10176                                 {
10177                                     If (\WIN8)
10178                                     {
10179                                         Return (0x0F)
10180                                     }
10181                                     Else
10182                                     {
10183                                         Return (0x00)
10184                                     }
10185                                 }
10186 
10187                                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10188                                 {
10189                                     Return (\UPCI)
10190                                 }
10191 
10192                                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10193                                 {
10194                                     Return (\PLDC)
10195                                 }
10196                             }
10197                         }
10198                     }
10199                 }
10200             }
10201 
10202             Device (HDEF)
10203             {
10204                 Name (_ADR, 0x001B0000)  // _ADR: Address
10205                 Name (_S3D, 0x03)  // _S3D: S3 Device State
10206                 Name (RID, 0x00)
10207             }
10208         }
10209 
10210         Scope (\_SB.PCI0.LPC.EC)
10211         {
10212             Name (BDEV, 0xFF)
10213             Name (BSTS, 0x00)
10214             Name (BHKE, 0x00)
10215             Method (_Q2C, 0, NotSerialized)  // _Qxx: EC Query
10216             {
10217                 If ((BSTS == 0x00))
10218                 {
10219                     BDEV = BGID (0x00)
10220                     NBRE (BDEV)
10221                 }
10222             }
10223 
10224             Method (_Q2D, 0, NotSerialized)  // _Qxx: EC Query
10225             {
10226                 BDEV = BGID (0x00)
10227                 NBIN (BDEV)
10228             }
10229 
10230             Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query
10231             {
10232                 Local0 = BGID (0x00)
10233                 If ((Local0 == 0x0F))
10234                 {
10235                     BDIS ()
10236                     \BHDP (0x01, 0x00)
10237                     NBEJ (BDEV)
10238                     BDEV = Local0
10239                     If ((\BIDE == 0x03))
10240                     {
10241                         \_SB.PCI0.SAT1.PRIM.GTME = 0x00
10242                         \_SB.PCI0.SAT1.SCND.GTME = 0x00
10243                     }
10244                 }
10245                 ElseIf (HPBU){}
10246                 Else
10247                 {
10248                     BDEV = Local0
10249                     NBIN (Local0)
10250                 }
10251             }
10252 
10253             Method (NBRE, 1, NotSerialized)
10254             {
10255                 If ((Arg0 < 0x0C))
10256                 {
10257                     If ((\BIDE == 0x03))
10258                     {
10259                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03) // Eject Request
10260                     }
10261                     Else
10262                     {
10263                         Notify (\_SB.PCI0.SAT1.PRT1, 0x03) // Eject Request
10264                     }
10265                 }
10266             }
10267 
10268             Method (NBEJ, 1, NotSerialized)
10269             {
10270                 If ((BSTS == 0x00))
10271                 {
10272                     If ((Arg0 < 0x0C))
10273                     {
10274                         If ((\BIDE == 0x03))
10275                         {
10276                             Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10277                         }
10278                         Else
10279                         {
10280                             Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10281                         }
10282                     }
10283                 }
10284 
10285                 BEEP (0x00)
10286                 BSTS = 0x00
10287             }
10288 
10289             Method (NBIN, 1, NotSerialized)
10290             {
10291                 If ((Arg0 < 0x0C))
10292                 {
10293                     BEN (0x01)
10294                     If ((\BIDE == 0x03))
10295                     {
10296                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10297                     }
10298                     Else
10299                     {
10300                         Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10301                     }
10302                 }
10303 
10304                 BEEP (0x00)
10305                 BSTS = 0x00
10306             }
10307 
10308             Method (BEJ0, 1, NotSerialized)
10309             {
10310                 If (Arg0)
10311                 {
10312                     BDIS ()
10313                     \BHDP (0x01, 0x00)
10314                     BSTS = 0x01
10315                     If (BHKE)
10316                     {
10317                         BHKE = 0x00
10318                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
10319                     }
10320                 }
10321                 Else
10322                 {
10323                     BSTS = 0x00
10324                 }
10325             }
10326 
10327             Method (BEJ3, 1, NotSerialized)
10328             {
10329                 If (Arg0)
10330                 {
10331                     BDIS ()
10332                     BSTS = 0x01
10333                 }
10334                 Else
10335                 {
10336                     BSTS = 0x00
10337                 }
10338             }
10339 
10340             Method (BPTS, 1, NotSerialized)
10341             {
10342                 HDBM = 0x01
10343                 If ((BSTS != 0x00))
10344                 {
10345                     BDEV = 0x0F
10346                     BSTS = 0x00
10347                 }
10348 
10349                 BHKE = 0x00
10350                 BUWK (0x00)
10351             }
10352 
10353             Method (BWAK, 1, NotSerialized)
10354             {
10355                 BUWK (0x00)
10356                 Local0 = BGID (0x00)
10357                 If ((BSTS == 0x00))
10358                 {
10359                     If ((Local0 != BDEV))
10360                     {
10361                         NBEJ (BDEV)
10362                         BDEV = Local0
10363                         NBIN (Local0)
10364                     }
10365                     ElseIf ((\LFDC || (BDEV != 0x0D)))
10366                     {
10367                         If ((Local0 != 0x0F))
10368                         {
10369                             If (HPBU)
10370                             {
10371                                 If ((Arg0 <= 0x02)){}
10372                                 Else
10373                                 {
10374                                     NBRE (Local0)
10375                                 }
10376                             }
10377                         }
10378                     }
10379                 }
10380 
10381                 If ((BDEV < 0x0C))
10382                 {
10383                     \UBIS (0x00)
10384                 }
10385                 Else
10386                 {
10387                     \UBIS (0x01)
10388                 }
10389             }
10390 
10391             Method (BDIS, 0, NotSerialized)
10392             {
10393                 If (!\_SB.PCI0.LPC.CSON)
10394                 {
10395                     If (!\_SB.PCI0.LPC.GLIS)
10396                     {
10397                         \UBIS (0x01)
10398                     }
10399 
10400                     \_SB.PCI0.LPC.CSON = 0x01
10401                     \IDET = 0x0F
10402                 }
10403             }
10404 
10405             Method (BPON, 1, NotSerialized)
10406             {
10407                 If (\_SB.PCI0.LPC.CSON)
10408                 {
10409                     \_SB.PCI0.LPC.CSON = 0x00
10410                     If (\_SB.PCI0.LPC.GLIS)
10411                     {
10412                         \UBIS (0x00)
10413                     }
10414                 }
10415             }
10416 
10417             Method (BEN, 1, NotSerialized)
10418             {
10419                 If (\_SB.PCI0.LPC.CSON)
10420                 {
10421                     BPON (Arg0)
10422                     If (Arg0)
10423                     {
10424                         IRDY ()
10425                     }
10426                 }
10427             }
10428 
10429             Method (BSTA, 1, NotSerialized)
10430             {
10431                 If (\_SB.PCI0.LPC.CSON)
10432                 {
10433                     Return (0x00)
10434                 }
10435 
10436                 BINI ()
10437                 If ((Arg0 == 0x01))
10438                 {
10439                     Return ((BDEV < 0x0C))
10440                 }
10441 
10442                 Return (0x00)
10443             }
10444 
10445             Method (BUWK, 1, NotSerialized)
10446             {
10447                 If (\H8DR)
10448                 {
10449                     If (Arg0)
10450                     {
10451                         \_SB.PCI0.LPC.EC.HWBU = 0x01
10452                     }
10453                     Else
10454                     {
10455                         \_SB.PCI0.LPC.EC.HWBU = 0x00
10456                     }
10457                 }
10458                 ElseIf (Arg0)
10459                 {
10460                     \MBEC (0x32, 0xFF, 0x80)
10461                 }
10462                 Else
10463                 {
10464                     \MBEC (0x32, 0x7F, 0x00)
10465                 }
10466             }
10467 
10468             Method (BINI, 0, NotSerialized)
10469             {
10470                 If ((BDEV == 0xFF))
10471                 {
10472                     BDEV = BGID (0x00)
10473                 }
10474             }
10475 
10476             Method (BGID, 1, NotSerialized)
10477             {
10478                 If (Arg0)
10479                 {
10480                     Local0 = 0xFF
10481                 }
10482                 Else
10483                 {
10484                     If (\H8DR)
10485                     {
10486                         Local1 = HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
10487                         Local2 = HBID /* \_SB_.PCI0.LPC_.EC__.HBID */
10488                     }
10489                     Else
10490                     {
10491                         Local2 = RBEC (0x47)
10492                         Local1 = (Local2 & 0x01)
10493                         Local2 &= 0x04
10494                         Local2 >>= 0x02
10495                     }
10496 
10497                     If (Local2)
10498                     {
10499                         Local0 = 0x0F
10500                     }
10501                     ElseIf (HDUB)
10502                     {
10503                         Local0 = 0x0F
10504                     }
10505                     ElseIf (((\IDET == 0x03) || (\IDET == 0x06)))
10506                     {
10507                         Local0 = \IDET
10508                     }
10509                     Else
10510                     {
10511                         Local0 = 0x07
10512                     }
10513 
10514                     If ((Local0 == 0x0F)){}
10515                 }
10516 
10517                 If ((\HDUB && (Local0 < 0x0C)))
10518                 {
10519                     Local0 = 0x0F
10520                 }
10521 
10522                 Return (Local0)
10523             }
10524 
10525             Method (IRDY, 0, NotSerialized)
10526             {
10527                 Local0 = 0x01F4
10528                 Local1 = 0x3C
10529                 Local2 = Zero
10530                 While (Local1)
10531                 {
10532                     Sleep (Local0)
10533                     Local3 = \BCHK ()
10534                     If (!Local3)
10535                     {
10536                         Break
10537                     }
10538 
10539                     If ((Local3 == 0x02))
10540                     {
10541                         Local2 = One
10542                         Break
10543                     }
10544 
10545                     Local1--
10546                 }
10547 
10548                 Return (Local2)
10549             }
10550         }
10551 
10552         Scope (\_SB.PCI0.LPC.EC)
10553         {
10554             Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query
10555             {
10556                 \UCMS (0x18)
10557             }
10558 
10559             Method (SAUM, 1, NotSerialized)
10560             {
10561                 If ((Arg0 > 0x03))
10562                 {
10563                     Noop
10564                 }
10565                 ElseIf (\H8DR)
10566                 {
10567                     HAUM = Arg0
10568                 }
10569                 Else
10570                 {
10571                     \MBEC (0x03, 0x9F, (Arg0 << 0x05))
10572                 }
10573             }
10574         }
10575 
10576         Scope (\_SB.PCI0.LPC.EC.HKEY)
10577         {
10578             Method (GSMS, 1, NotSerialized)
10579             {
10580                 Return (\AUDC (0x00, 0x00))
10581             }
10582 
10583             Method (SSMS, 1, NotSerialized)
10584             {
10585                 Return (\AUDC (0x01, (Arg0 & 0x01)))
10586             }
10587 
10588             Method (SHDA, 1, NotSerialized)
10589             {
10590                 Return (\AUDC (0x02, (Arg0 & 0x01)))
10591             }
10592         }
10593 
10594         Scope (\_SB.PCI0.LPC.EC)
10595         {
10596             Name (BRTW, Package (0x12)
10597             {
10598                 0x64, 
10599                 0x64, 
10600                 0x05, 
10601                 0x0A, 
10602                 0x14, 
10603                 0x19, 
10604                 0x1E, 
10605                 0x23, 
10606                 0x28, 
10607                 0x2D, 
10608                 0x32, 
10609                 0x37, 
10610                 0x3C, 
10611                 0x41, 
10612                 0x46, 
10613                 0x50, 
10614                 0x5A, 
10615                 0x64
10616             })
10617             Name (BRTB, Package (0x04)
10618             {
10619                 Package (0x16)
10620                 {
10621                     0x14, 
10622                     0x04, 
10623                     0x04, 
10624                     0x07, 
10625                     0x09, 
10626                     0x0C, 
10627                     0x10, 
10628                     0x15, 
10629                     0x1C, 
10630                     0x25, 
10631                     0x32, 
10632                     0x40, 
10633                     0x50, 
10634                     0x64, 
10635                     0x82, 
10636                     0xA5, 
10637                     0xCD, 
10638                     0xFF, 
10639                     0xDC, 
10640                     0xDC, 
10641                     0x04, 
10642                     0x04
10643                 }, 
10644 
10645                 Package (0x16)
10646                 {
10647                     0x19, 
10648                     0x04, 
10649                     0x04, 
10650                     0x06, 
10651                     0x08, 
10652                     0x0B, 
10653                     0x0F, 
10654                     0x14, 
10655                     0x1B, 
10656                     0x24, 
10657                     0x31, 
10658                     0x3F, 
10659                     0x50, 
10660                     0x66, 
10661                     0x82, 
10662                     0xA5, 
10663                     0xCD, 
10664                     0xFF, 
10665                     0xDC, 
10666                     0xDC, 
10667                     0x04, 
10668                     0x04
10669                 }, 
10670 
10671                 Package (0x16)
10672                 {
10673                     0x1E, 
10674                     0x03, 
10675                     0x03, 
10676                     0x05, 
10677                     0x08, 
10678                     0x0A, 
10679                     0x0D, 
10680                     0x0F, 
10681                     0x12, 
10682                     0x19, 
10683                     0x22, 
10684                     0x2E, 
10685                     0x3E, 
10686                     0x54, 
10687                     0x6E, 
10688                     0x93, 
10689                     0xC1, 
10690                     0xFF, 
10691                     0xDC, 
10692                     0xDC, 
10693                     0x03, 
10694                     0x03
10695                 }, 
10696 
10697                 Package (0x16)
10698                 {
10699                     0x00, 
10700                     0x04, 
10701                     0x04, 
10702                     0x07, 
10703                     0x09, 
10704                     0x0C, 
10705                     0x10, 
10706                     0x15, 
10707                     0x1C, 
10708                     0x25, 
10709                     0x32, 
10710                     0x40, 
10711                     0x50, 
10712                     0x64, 
10713                     0x82, 
10714                     0xA5, 
10715                     0xCD, 
10716                     0xFF, 
10717                     0xDC, 
10718                     0xDC, 
10719                     0x04, 
10720                     0x04
10721                 }
10722             })
10723             Name (BRTD, Package (0x04)
10724             {
10725                 Package (0x65)
10726                 {
10727                     0x03, 
10728                     0x04, 
10729                     0x05, 
10730                     0x06, 
10731                     0x07, 
10732                     0x08, 
10733                     0x09, 
10734                     0x0A, 
10735                     0x0B, 
10736                     0x0C, 
10737                     0x0D, 
10738                     0x0E, 
10739                     0x0F, 
10740                     0x10, 
10741                     0x11, 
10742                     0x12, 
10743                     0x13, 
10744                     0x14, 
10745                     0x15, 
10746                     0x16, 
10747                     0x17, 
10748                     0x18, 
10749                     0x19, 
10750                     0x1A, 
10751                     0x1C, 
10752                     0x1D, 
10753                     0x1F, 
10754                     0x21, 
10755                     0x22, 
10756                     0x24, 
10757                     0x26, 
10758                     0x28, 
10759                     0x2A, 
10760                     0x2C, 
10761                     0x2E, 
10762                     0x30, 
10763                     0x33, 
10764                     0x35, 
10765                     0x37, 
10766                     0x3A, 
10767                     0x3C, 
10768                     0x3F, 
10769                     0x41, 
10770                     0x44, 
10771                     0x46, 
10772                     0x49, 
10773                     0x4C, 
10774                     0x4F, 
10775                     0x51, 
10776                     0x54, 
10777                     0x57, 
10778                     0x5A, 
10779                     0x5D, 
10780                     0x61, 
10781                     0x64, 
10782                     0x67, 
10783                     0x6A, 
10784                     0x6E, 
10785                     0x71, 
10786                     0x75, 
10787                     0x78, 
10788                     0x7C, 
10789                     0x80, 
10790                     0x83, 
10791                     0x87, 
10792                     0x8B, 
10793                     0x8F, 
10794                     0x93, 
10795                     0x97, 
10796                     0x9B, 
10797                     0x9F, 
10798                     0xA3, 
10799                     0xA8, 
10800                     0xAC, 
10801                     0xB0, 
10802                     0xB5, 
10803                     0xB9, 
10804                     0xBE, 
10805                     0xC3, 
10806                     0xC7, 
10807                     0xCC, 
10808                     0xCE, 
10809                     0xD1, 
10810                     0xD3, 
10811                     0xD6, 
10812                     0xD8, 
10813                     0xDB, 
10814                     0xDD, 
10815                     0xE0, 
10816                     0xE2, 
10817                     0xE5, 
10818                     0xE7, 
10819                     0xEA, 
10820                     0xEC, 
10821                     0xEF, 
10822                     0xF2, 
10823                     0xF4, 
10824                     0xF7, 
10825                     0xFA, 
10826                     0xFC, 
10827                     0xFF
10828                 }, 
10829 
10830                 Package (0x65)
10831                 {
10832                     0x03, 
10833                     0x04, 
10834                     0x05, 
10835                     0x06, 
10836                     0x07, 
10837                     0x08, 
10838                     0x09, 
10839                     0x0A, 
10840                     0x0B, 
10841                     0x0C, 
10842                     0x0D, 
10843                     0x0E, 
10844                     0x0F, 
10845                     0x10, 
10846                     0x11, 
10847                     0x12, 
10848                     0x13, 
10849                     0x14, 
10850                     0x15, 
10851                     0x16, 
10852                     0x17, 
10853                     0x18, 
10854                     0x19, 
10855                     0x1A, 
10856                     0x1B, 
10857                     0x1C, 
10858                     0x1D, 
10859                     0x1E, 
10860                     0x1F, 
10861                     0x20, 
10862                     0x21, 
10863                     0x22, 
10864                     0x23, 
10865                     0x25, 
10866                     0x26, 
10867                     0x28, 
10868                     0x2A, 
10869                     0x2C, 
10870                     0x2E, 
10871                     0x2F, 
10872                     0x31, 
10873                     0x33, 
10874                     0x35, 
10875                     0x37, 
10876                     0x3A, 
10877                     0x3C, 
10878                     0x3E, 
10879                     0x40, 
10880                     0x42, 
10881                     0x45, 
10882                     0x47, 
10883                     0x4A, 
10884                     0x4C, 
10885                     0x4E, 
10886                     0x51, 
10887                     0x54, 
10888                     0x56, 
10889                     0x59, 
10890                     0x5C, 
10891                     0x5E, 
10892                     0x61, 
10893                     0x64, 
10894                     0x67, 
10895                     0x6A, 
10896                     0x6D, 
10897                     0x70, 
10898                     0x73, 
10899                     0x76, 
10900                     0x79, 
10901                     0x7D, 
10902                     0x80, 
10903                     0x83, 
10904                     0x86, 
10905                     0x8A, 
10906                     0x8D, 
10907                     0x91, 
10908                     0x94, 
10909                     0x98, 
10910                     0x9C, 
10911                     0x9F, 
10912                     0xA3, 
10913                     0xA7, 
10914                     0xAB, 
10915                     0xAF, 
10916                     0xB4, 
10917                     0xB8, 
10918                     0xBC, 
10919                     0xC1, 
10920                     0xC5, 
10921                     0xCA, 
10922                     0xCE, 
10923                     0xD3, 
10924                     0xD8, 
10925                     0xDC, 
10926                     0xE1, 
10927                     0xE6, 
10928                     0xEB, 
10929                     0xF0, 
10930                     0xF5, 
10931                     0xFA, 
10932                     0xFF
10933                 }, 
10934 
10935                 Package (0x65)
10936                 {
10937                     0x03, 
10938                     0x04, 
10939                     0x05, 
10940                     0x06, 
10941                     0x07, 
10942                     0x08, 
10943                     0x09, 
10944                     0x0A, 
10945                     0x0B, 
10946                     0x0C, 
10947                     0x0D, 
10948                     0x0E, 
10949                     0x0F, 
10950                     0x10, 
10951                     0x11, 
10952                     0x12, 
10953                     0x13, 
10954                     0x14, 
10955                     0x15, 
10956                     0x16, 
10957                     0x17, 
10958                     0x18, 
10959                     0x19, 
10960                     0x1A, 
10961                     0x1C, 
10962                     0x1D, 
10963                     0x1F, 
10964                     0x21, 
10965                     0x22, 
10966                     0x24, 
10967                     0x26, 
10968                     0x28, 
10969                     0x2A, 
10970                     0x2C, 
10971                     0x2E, 
10972                     0x30, 
10973                     0x33, 
10974                     0x35, 
10975                     0x37, 
10976                     0x3A, 
10977                     0x3C, 
10978                     0x3F, 
10979                     0x41, 
10980                     0x44, 
10981                     0x46, 
10982                     0x49, 
10983                     0x4C, 
10984                     0x4F, 
10985                     0x51, 
10986                     0x54, 
10987                     0x57, 
10988                     0x5A, 
10989                     0x5D, 
10990                     0x61, 
10991                     0x64, 
10992                     0x67, 
10993                     0x6A, 
10994                     0x6E, 
10995                     0x71, 
10996                     0x75, 
10997                     0x78, 
10998                     0x7C, 
10999                     0x80, 
11000                     0x83, 
11001                     0x87, 
11002                     0x8B, 
11003                     0x8F, 
11004                     0x93, 
11005                     0x97, 
11006                     0x9B, 
11007                     0x9F, 
11008                     0xA3, 
11009                     0xA8, 
11010                     0xAC, 
11011                     0xB0, 
11012                     0xB5, 
11013                     0xB9, 
11014                     0xBE, 
11015                     0xC3, 
11016                     0xC7, 
11017                     0xCC, 
11018                     0xCE, 
11019                     0xD1, 
11020                     0xD3, 
11021                     0xD6, 
11022                     0xD8, 
11023                     0xDB, 
11024                     0xDD, 
11025                     0xE0, 
11026                     0xE2, 
11027                     0xE5, 
11028                     0xE7, 
11029                     0xEA, 
11030                     0xEC, 
11031                     0xEF, 
11032                     0xF2, 
11033                     0xF4, 
11034                     0xF7, 
11035                     0xFA, 
11036                     0xFC, 
11037                     0xFF
11038                 }, 
11039 
11040                 Package (0x65)
11041                 {
11042                     0x03, 
11043                     0x04, 
11044                     0x05, 
11045                     0x06, 
11046                     0x07, 
11047                     0x08, 
11048                     0x09, 
11049                     0x0A, 
11050                     0x0B, 
11051                     0x0C, 
11052                     0x0D, 
11053                     0x0E, 
11054                     0x0F, 
11055                     0x10, 
11056                     0x11, 
11057                     0x12, 
11058                     0x13, 
11059                     0x14, 
11060                     0x15, 
11061                     0x16, 
11062                     0x17, 
11063                     0x18, 
11064                     0x19, 
11065                     0x1A, 
11066                     0x1C, 
11067                     0x1D, 
11068                     0x1F, 
11069                     0x21, 
11070                     0x22, 
11071                     0x24, 
11072                     0x26, 
11073                     0x28, 
11074                     0x2A, 
11075                     0x2C, 
11076                     0x2E, 
11077                     0x30, 
11078                     0x33, 
11079                     0x35, 
11080                     0x37, 
11081                     0x3A, 
11082                     0x3C, 
11083                     0x3F, 
11084                     0x41, 
11085                     0x44, 
11086                     0x46, 
11087                     0x49, 
11088                     0x4C, 
11089                     0x4F, 
11090                     0x51, 
11091                     0x54, 
11092                     0x57, 
11093                     0x5A, 
11094                     0x5D, 
11095                     0x61, 
11096                     0x64, 
11097                     0x67, 
11098                     0x6A, 
11099                     0x6E, 
11100                     0x71, 
11101                     0x75, 
11102                     0x78, 
11103                     0x7C, 
11104                     0x80, 
11105                     0x83, 
11106                     0x87, 
11107                     0x8B, 
11108                     0x8F, 
11109                     0x93, 
11110                     0x97, 
11111                     0x9B, 
11112                     0x9F, 
11113                     0xA3, 
11114                     0xA8, 
11115                     0xAC, 
11116                     0xB0, 
11117                     0xB5, 
11118                     0xB9, 
11119                     0xBE, 
11120                     0xC3, 
11121                     0xC7, 
11122                     0xCC, 
11123                     0xCE, 
11124                     0xD1, 
11125                     0xD3, 
11126                     0xD6, 
11127                     0xD8, 
11128                     0xDB, 
11129                     0xDD, 
11130                     0xE0, 
11131                     0xE2, 
11132                     0xE5, 
11133                     0xE7, 
11134                     0xEA, 
11135                     0xEC, 
11136                     0xEF, 
11137                     0xF2, 
11138                     0xF4, 
11139                     0xF7, 
11140                     0xFA, 
11141                     0xFC, 
11142                     0xFF
11143                 }
11144             })
11145             Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
11146             {
11147                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
11148                 {
11149                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
11150                 }
11151 
11152                 If (\NBCF)
11153                 {
11154                     If (\VIGD)
11155                     {
11156                         Notify (\_SB.PCI0.VID.LCD0, 0x86) // Device-Specific
11157                     }
11158                     Else
11159                     {
11160                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86) // Device-Specific
11161                     }
11162                 }
11163                 Else
11164                 {
11165                     Local0 = \BRLV
11166                     If ((Local0 != 0x0F))
11167                     {
11168                         Local0++
11169                         \BRLV = Local0
11170                     }
11171 
11172                     If (\VIGD)
11173                     {
11174                         \UCMS (0x16)
11175                         \_SB.PCI0.LPC.EC.BRNS ()
11176                     }
11177                     Else
11178                     {
11179                         \VBRC (Local0)
11180                     }
11181 
11182                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11183                 }
11184             }
11185 
11186             Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
11187             {
11188                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
11189                 {
11190                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
11191                 }
11192 
11193                 If (\NBCF)
11194                 {
11195                     If (\VIGD)
11196                     {
11197                         Notify (\_SB.PCI0.VID.LCD0, 0x87) // Device-Specific
11198                     }
11199                     Else
11200                     {
11201                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87) // Device-Specific
11202                     }
11203                 }
11204                 Else
11205                 {
11206                     Local0 = \BRLV
11207                     If (Local0)
11208                     {
11209                         Local0--
11210                         \BRLV = Local0
11211                     }
11212 
11213                     If (\VIGD)
11214                     {
11215                         \UCMS (0x16)
11216                         \_SB.PCI0.LPC.EC.BRNS ()
11217                     }
11218                     Else
11219                     {
11220                         \VBRC (Local0)
11221                     }
11222 
11223                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11224                 }
11225 
11226                 Return (Zero)
11227             }
11228 
11229             Method (BRNS, 0, NotSerialized)
11230             {
11231                 Local0 = (\BRLV + 0x02)
11232                 Local3 = \BRTN
11233                 If (\_SB.PCI0.VID.DRDY)
11234                 {
11235                     If ((0x00 == Local0))
11236                     {
11237                         Local1 = DerefOf (DerefOf (BRTB [Local3]) [0x14])
11238                         Local2 = DerefOf (DerefOf (BRTB [Local3]) [0x12])
11239                     }
11240                     Else
11241                     {
11242                         Local1 = DerefOf (DerefOf (BRTB [Local3]) [0x15])
11243                         Local2 = DerefOf (DerefOf (BRTB [Local3]) [0x13])
11244                     }
11245 
11246                     Local2 = (Local1 | (Local2 << 0x09))
11247                     \_SB.PCI0.VID.AINT (0x03, Local2)
11248                     Local2 = DerefOf (DerefOf (BRTB [Local3]) [Local0])
11249                     \_SB.PCI0.VID.AINT (0x01, Local2)
11250                 }
11251                 Else
11252                 {
11253                     \UCMS (0x12)
11254                 }
11255             }
11256 
11257             Method (BRCF, 1, NotSerialized)
11258             {
11259                 If ((Arg0 < 0x00))
11260                 {
11261                     Return (0x00)
11262                 }
11263 
11264                 If ((Arg0 > 0x64))
11265                 {
11266                     Return (0x0F)
11267                 }
11268 
11269                 Local0 = (Arg0 + 0x03)
11270                 Local0 *= 0x0F
11271                 Divide (Local0, 0x64, Local0, Local1)
11272                 Return (Local1)
11273             }
11274 
11275             Method (BRCD, 1, NotSerialized)
11276             {
11277                 Local0 = DerefOf (DerefOf (BRTD [\BRTN]) [Arg0])
11278                 Return (Local0)
11279             }
11280 
11281             Method (BFRQ, 0, NotSerialized)
11282             {
11283                 Local0 = 0x80000100
11284                 Local1 = DerefOf (DerefOf (BRTB [\BRTN]) [0x13])
11285                 Local0 |= (Local1 << 0x09)
11286                 Local1 = DerefOf (DerefOf (BRTB [\BRTN]) [0x15])
11287                 Local0 |= Local1
11288                 Return (Local0)
11289             }
11290         }
11291 
11292         Scope (\_SB.PCI0.LPC.EC)
11293         {
11294             Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query
11295             {
11296                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
11297                 {
11298                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
11299                 }
11300 
11301                 \UCMS (0x03)
11302             }
11303         }
11304 
11305         Scope (\_SB.PCI0.LPC.EC)
11306         {
11307             Method (_Q63, 0, NotSerialized)  // _Qxx: EC Query
11308             {
11309                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
11310                 {
11311                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
11312                 }
11313 
11314                 \UCMS (0x0B)
11315             }
11316         }
11317 
11318         Scope (\_SB.PCI0.LPC.EC)
11319         {
11320             Method (_Q70, 0, NotSerialized)  // _Qxx: EC Query
11321             {
11322                 FNST ()
11323             }
11324 
11325             Method (_Q72, 0, NotSerialized)  // _Qxx: EC Query
11326             {
11327                 FNST ()
11328             }
11329 
11330             Method (_Q73, 0, NotSerialized)  // _Qxx: EC Query
11331             {
11332                 FNST ()
11333             }
11334 
11335             Method (FNST, 0, NotSerialized)
11336             {
11337                 If (\H8DR)
11338                 {
11339                     Local0 = HFNS /* \_SB_.PCI0.LPC_.EC__.HFNS */
11340                     Local1 = HFNE /* \_SB_.PCI0.LPC_.EC__.HFNE */
11341                 }
11342                 Else
11343                 {
11344                     Local0 = (\RBEC (0x0E) & 0x03)
11345                     Local1 = (\RBEC (0x00) & 0x08)
11346                 }
11347 
11348                 If (Local1)
11349                 {
11350                     If ((Local0 == 0x00))
11351                     {
11352                         \UCMS (0x11)
11353                     }
11354 
11355                     If ((Local0 == 0x01))
11356                     {
11357                         \UCMS (0x0F)
11358                     }
11359 
11360                     If ((Local0 == 0x02))
11361                     {
11362                         \UCMS (0x10)
11363                     }
11364 
11365                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
11366                 }
11367             }
11368         }
11369 
11370         Scope (\_SB.PCI0.LPC.EC.HKEY)
11371         {
11372             Method (GHSL, 1, NotSerialized)
11373             {
11374                 Return (\FNSC (0x00, 0x00))
11375             }
11376 
11377             Method (SHSL, 1, NotSerialized)
11378             {
11379                 Return (\FNSC (0x01, (Arg0 & 0x01)))
11380             }
11381         }
11382 
11383         Scope (\_SB.PCI0.LPC.EC.HKEY)
11384         {
11385             Name (WGFL, 0x00)
11386             Method (WSIF, 0, NotSerialized)
11387             {
11388                 Return (0x00)
11389             }
11390 
11391             Method (WLSW, 0, NotSerialized)
11392             {
11393                 Return (0x00010001)
11394             }
11395 
11396             Method (GWAN, 0, NotSerialized)
11397             {
11398                 Local0 = 0x00
11399                 If ((WGFL & 0x01))
11400                 {
11401                     Local0 |= 0x01
11402                 }
11403 
11404                 If ((WGFL & 0x08))
11405                 {
11406                     Return (Local0)
11407                 }
11408 
11409                 If (WPWS ())
11410                 {
11411                     Local0 |= 0x02
11412                 }
11413 
11414                 Local0 |= 0x04
11415                 Return (Local0)
11416             }
11417 
11418             Method (SWAN, 1, NotSerialized)
11419             {
11420                 If ((Arg0 & 0x02))
11421                 {
11422                     WPWC (0x01)
11423                 }
11424                 Else
11425                 {
11426                     WPWC (0x00)
11427                 }
11428             }
11429 
11430             Method (GBDC, 0, NotSerialized)
11431             {
11432                 Local0 = 0x00
11433                 If ((WGFL & 0x10))
11434                 {
11435                     Local0 |= 0x01
11436                 }
11437 
11438                 If ((WGFL & 0x80))
11439                 {
11440                     Return (Local0)
11441                 }
11442 
11443                 If (BPWS ())
11444                 {
11445                     Local0 |= 0x02
11446                 }
11447 
11448                 Local0 |= 0x04
11449                 Return (Local0)
11450             }
11451 
11452             Method (SBDC, 1, NotSerialized)
11453             {
11454                 If ((Arg0 & 0x02))
11455                 {
11456                     BPWC (0x01)
11457                 }
11458                 Else
11459                 {
11460                     BPWC (0x00)
11461                 }
11462             }
11463 
11464             Method (WPWS, 0, NotSerialized)
11465             {
11466                 If (\H8DR)
11467                 {
11468                     Local0 = \_SB.PCI0.LPC.EC.DCWW
11469                 }
11470                 Else
11471                 {
11472                     Local0 = ((\RBEC (0x3A) & 0x40) >> 0x06)
11473                 }
11474 
11475                 Return (Local0)
11476             }
11477 
11478             Method (WPWC, 1, NotSerialized)
11479             {
11480                 If ((Arg0 && ((WGFL & 0x01) && !(WGFL & 0x08
11481                     ))))
11482                 {
11483                     If (\H8DR)
11484                     {
11485                         \_SB.PCI0.LPC.EC.DCWW = One
11486                     }
11487                     Else
11488                     {
11489                         \MBEC (0x3A, 0xFF, 0x40)
11490                     }
11491 
11492                     WGFL |= 0x02
11493                 }
11494                 Else
11495                 {
11496                     If (\H8DR)
11497                     {
11498                         \_SB.PCI0.LPC.EC.DCWW = Zero
11499                     }
11500                     Else
11501                     {
11502                         \MBEC (0x3A, 0xBF, 0x00)
11503                     }
11504 
11505                     WGFL &= ~0x02
11506                 }
11507             }
11508 
11509             Method (BPWS, 0, NotSerialized)
11510             {
11511                 If (\H8DR)
11512                 {
11513                     Local0 = \_SB.PCI0.LPC.EC.DCBD
11514                 }
11515                 Else
11516                 {
11517                     Local0 = ((\RBEC (0x3A) & 0x10) >> 0x04)
11518                 }
11519 
11520                 Return (Local0)
11521             }
11522 
11523             Method (BPWC, 1, NotSerialized)
11524             {
11525                 If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
11526                     ))))
11527                 {
11528                     If (\H8DR)
11529                     {
11530                         \_SB.PCI0.LPC.EC.DCBD = One
11531                     }
11532                     Else
11533                     {
11534                         \MBEC (0x3A, 0xFF, 0x10)
11535                     }
11536 
11537                     WGFL |= 0x20
11538                 }
11539                 Else
11540                 {
11541                     If (\H8DR)
11542                     {
11543                         \_SB.PCI0.LPC.EC.DCBD = Zero
11544                     }
11545                     Else
11546                     {
11547                         \MBEC (0x3A, 0xEF, 0x00)
11548                     }
11549 
11550                     WGFL &= ~0x20
11551                 }
11552             }
11553 
11554             Method (WGIN, 0, NotSerialized)
11555             {
11556                 WGFL = 0x00
11557                 WGFL = \WGSV (0x01)
11558                 If (\WIN8)
11559                 {
11560                     If ((WGFL && 0x10))
11561                     {
11562                         BPWC (0x01)
11563                     }
11564                 }
11565 
11566                 If (WPWS ())
11567                 {
11568                     WGFL |= 0x02
11569                 }
11570 
11571                 If (BPWS ())
11572                 {
11573                     WGFL |= 0x20
11574                 }
11575             }
11576 
11577             Method (WGPS, 1, NotSerialized)
11578             {
11579                 If ((Arg0 >= 0x04))
11580                 {
11581                     \BLTH (0x05)
11582                 }
11583             }
11584 
11585             Method (WGWK, 1, NotSerialized)
11586             {
11587                 If ((WGFL & 0x20))
11588                 {
11589                     BPWC (0x01)
11590                 }
11591 
11592                 If ((WGFL & 0x02))
11593                 {
11594                     WPWC (0x01)
11595                 }
11596             }
11597         }
11598 
11599         Scope (\_SB.PCI0.LPC.EC)
11600         {
11601             Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query
11602             {
11603                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
11604             }
11605         }
11606 
11607         Device (WMI1)
11608         {
11609             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
11610             Name (_UID, 0x01)  // _UID: Unique ID
11611             Name (_WDG, Buffer (0xB4)
11612             {
11613                 /* 0000 */  0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46,  // .#.Qw..F
11614                 /* 0008 */  0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7,  // ....>.M.
11615                 /* 0010 */  0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98,  // A0P.d.G.
11616                 /* 0018 */  0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25,  // .33N...%
11617                 /* 0020 */  0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06,  // ....A1..
11618                 /* 0028 */  0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D,  // .TKj..3M
11619                 /* 0030 */  0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3,  // .U......
11620                 /* 0038 */  0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74,  // A2.....t
11621                 /* 0040 */  0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E,  // z.}L..i.
11622                 /* 0048 */  0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06,  // !...A3..
11623                 /* 0050 */  0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44,  // ...~(C|D
11624                 /* 0058 */  0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D,  // ...I.]S.
11625                 /* 0060 */  0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A,  // A4......
11626                 /* 0068 */  0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A,  // 2.\E..0.
11627                 /* 0070 */  0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01,  // ~..FA5..
11628                 /* 0078 */  0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B,  // ..Q&..iK
11629                 /* 0080 */  0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7,  // .N....;.
11630                 /* 0088 */  0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73,  // A6...eds
11631                 /* 0090 */  0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6,  // /..O..@.
11632                 /* 0098 */  0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06,  // ...;A7..
11633                 /* 00A0 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
11634                 /* 00A8 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
11635                 /* 00B0 */  0x42, 0x41, 0x01, 0x00                           // BA..
11636             })
11637             Name (RETN, Package (0x05)
11638             {
11639                 "Success", 
11640                 "Not Supported", 
11641                 "Invalid Parameter", 
11642                 "Access Denied", 
11643                 "System Busy"
11644             })
11645             Name (ITEM, Package (0x56)
11646             {
11647                 Package (0x02)
11648                 {
11649                     0x0E, 
11650                     "WakeOnLAN"
11651                 }, 
11652 
11653                 Package (0x02)
11654                 {
11655                     0x00, 
11656                     "EthernetLANOptionROM"
11657                 }, 
11658 
11659                 Package (0x02)
11660                 {
11661                     0x00, 
11662                     "USBBIOSSupport"
11663                 }, 
11664 
11665                 Package (0x02)
11666                 {
11667                     0x00, 
11668                     "AlwaysOnUSB"
11669                 }, 
11670 
11671                 Package (0x02)
11672                 {
11673                     0x01, 
11674                     "TrackPoint"
11675                 }, 
11676 
11677                 Package (0x02)
11678                 {
11679                     0x01, 
11680                     "TouchPad"
11681                 }, 
11682 
11683                 Package (0x02)
11684                 {
11685                     0x00, 
11686                     "FnKeyLock"
11687                 }, 
11688 
11689                 Package (0x02)
11690                 {
11691                     0x04, 
11692                     "ThinkPadNumLock"
11693                 }, 
11694 
11695                 Package (0x02)
11696                 {
11697                     0x0C, 
11698                     "PowerOnNumLock"
11699                 }, 
11700 
11701                 Package (0x02)
11702                 {
11703                     0x05, 
11704                     "BootDisplayDevice"
11705                 }, 
11706 
11707                 Package (0x02)
11708                 {
11709                     0x00, 
11710                     "SpeedStep"
11711                 }, 
11712 
11713                 Package (0x02)
11714                 {
11715                     0x09, 
11716                     "AdaptiveThermalManagementAC"
11717                 }, 
11718 
11719                 Package (0x02)
11720                 {
11721                     0x09, 
11722                     "AdaptiveThermalManagementBattery"
11723                 }, 
11724 
11725                 Package (0x02)
11726                 {
11727                     0x06, 
11728                     "CDROMSpeed"
11729                 }, 
11730 
11731                 Package (0x02)
11732                 {
11733                     0x01, 
11734                     "CPUPowerManagement"
11735                 }, 
11736 
11737                 Package (0x02)
11738                 {
11739                     0x00, 
11740                     "PowerControlBeep"
11741                 }, 
11742 
11743                 Package (0x02)
11744                 {
11745                     0x00, 
11746                     "LowBatteryAlarm"
11747                 }, 
11748 
11749                 Package (0x02)
11750                 {
11751                     0x00, 
11752                     "PasswordBeep"
11753                 }, 
11754 
11755                 Package (0x02)
11756                 {
11757                     0x00, 
11758                     "KeyboardBeep"
11759                 }, 
11760 
11761                 Package (0x02)
11762                 {
11763                     0x00, 
11764                     "ExtendedMemoryTest"
11765                 }, 
11766 
11767                 Package (0x02)
11768                 {
11769                     0x07, 
11770                     "SATAControllerMode"
11771                 }, 
11772 
11773                 Package (0x02)
11774                 {
11775                     0x00, 
11776                     "CoreMultiProcessing"
11777                 }, 
11778 
11779                 Package (0x02)
11780                 {
11781                     0x00, 
11782                     "VirtualizationTechnology"
11783                 }, 
11784 
11785                 Package (0x02)
11786                 {
11787                     0x00, 
11788                     "LockBIOSSetting"
11789                 }, 
11790 
11791                 Package (0x02)
11792                 {
11793                     0x0B, 
11794                     "MinimumPasswordLength"
11795                 }, 
11796 
11797                 Package (0x02)
11798                 {
11799                     0x00, 
11800                     "BIOSPasswordAtUnattendedBoot"
11801                 }, 
11802 
11803                 Package (0x02)
11804                 {
11805                     0x00, 
11806                     "FingerprintPredesktopAuthentication"
11807                 }, 
11808 
11809                 Package (0x02)
11810                 {
11811                     0x08, 
11812                     "FingerprintReaderPriority"
11813                 }, 
11814 
11815                 Package (0x02)
11816                 {
11817                     0x03, 
11818                     "FingerprintSecurityMode"
11819                 }, 
11820 
11821                 Package (0x02)
11822                 {
11823                     0x02, 
11824                     "SecurityChip"
11825                 }, 
11826 
11827                 Package (0x02)
11828                 {
11829                     0x00, 
11830                     "BIOSUpdateByEndUsers"
11831                 }, 
11832 
11833                 Package (0x02)
11834                 {
11835                     0x00, 
11836                     "DataExecutionPrevention"
11837                 }, 
11838 
11839                 Package (0x02)
11840                 {
11841                     0x00, 
11842                     "EthernetLANAccess"
11843                 }, 
11844 
11845                 Package (0x02)
11846                 {
11847                     0x00, 
11848                     "WirelessLANAccess"
11849                 }, 
11850 
11851                 Package (0x02)
11852                 {
11853                     0x00, 
11854                     "WirelessWANAccess"
11855                 }, 
11856 
11857                 Package (0x02)
11858                 {
11859                     0x00, 
11860                     "BluetoothAccess"
11861                 }, 
11862 
11863                 Package (0x02)
11864                 {
11865                     0x00, 
11866                     "WirelessUSBAccess"
11867                 }, 
11868 
11869                 Package (0x02)
11870                 {
11871                     0x00, 
11872                     "ModemAccess"
11873                 }, 
11874 
11875                 Package (0x02)
11876                 {
11877                     0x00, 
11878                     "USBPortAccess"
11879                 }, 
11880 
11881                 Package (0x02)
11882                 {
11883                     0x00, 
11884                     "IEEE1394Access"
11885                 }, 
11886 
11887                 Package (0x02)
11888                 {
11889                     0x00, 
11890                     "ExpressCardAccess"
11891                 }, 
11892 
11893                 Package (0x02)
11894                 {
11895                     0x00, 
11896                     "PCIExpressSlotAccess"
11897                 }, 
11898 
11899                 Package (0x02)
11900                 {
11901                     0x00, 
11902                     "UltrabayAccess"
11903                 }, 
11904 
11905                 Package (0x02)
11906                 {
11907                     0x00, 
11908                     "MemoryCardSlotAccess"
11909                 }, 
11910 
11911                 Package (0x02)
11912                 {
11913                     0x00, 
11914                     "SmartCardSlotAccess"
11915                 }, 
11916 
11917                 Package (0x02)
11918                 {
11919                     0x00, 
11920                     "IntegratedCameraAccess"
11921                 }, 
11922 
11923                 Package (0x02)
11924                 {
11925                     0x00, 
11926                     "MicrophoneAccess"
11927                 }, 
11928 
11929                 Package (0x02)
11930                 {
11931                     0x0A, 
11932                     "BootMode"
11933                 }, 
11934 
11935                 Package (0x02)
11936                 {
11937                     0x00, 
11938                     "StartupOptionKeys"
11939                 }, 
11940 
11941                 Package (0x02)
11942                 {
11943                     0x00, 
11944                     "BootDeviceListF12Option"
11945                 }, 
11946 
11947                 Package (0x02)
11948                 {
11949                     0x64, 
11950                     "BootOrder"
11951                 }, 
11952 
11953                 Package (0x02)
11954                 {
11955                     0x00, 
11956                     "WiMAXAccess"
11957                 }, 
11958 
11959                 Package (0x02)
11960                 {
11961                     0x0D, 
11962                     "GraphicsDevice"
11963                 }, 
11964 
11965                 Package (0x02)
11966                 {
11967                     0x00, 
11968                     "TXTFeature"
11969                 }, 
11970 
11971                 Package (0x02)
11972                 {
11973                     0x00, 
11974                     "VTdFeature"
11975                 }, 
11976 
11977                 Package (0x02)
11978                 {
11979                     0x0F, 
11980                     "AMTControl"
11981                 }, 
11982 
11983                 Package (0x02)
11984                 {
11985                     0x00, 
11986                     "FingerprintPasswordAuthentication"
11987                 }, 
11988 
11989                 Package (0x02)
11990                 {
11991                     0x00, 
11992                     "FingerprintReaderAccess"
11993                 }, 
11994 
11995                 Package (0x02)
11996                 {
11997                     0x00, 
11998                     "OsDetectionForSwitchableGraphics"
11999                 }, 
12000 
12001                 Package (0x02)
12002                 {
12003                     0x0F, 
12004                     "ComputraceModuleActivation"
12005                 }, 
12006 
12007                 Package (0x02)
12008                 {
12009                     0x01, 
12010                     "PCIExpressPowerManagement"
12011                 }, 
12012 
12013                 Package (0x02)
12014                 {
12015                     0x0F, 
12016                     "ATpModuleActivation"
12017                 }, 
12018 
12019                 Package (0x02)
12020                 {
12021                     0x00, 
12022                     "eSATAPortAccess"
12023                 }, 
12024 
12025                 Package (0x02)
12026                 {
12027                     0x00, 
12028                     "HardwarePasswordManager"
12029                 }, 
12030 
12031                 Package (0x02)
12032                 {
12033                     0x00, 
12034                     "HyperThreadingTechnology"
12035                 }, 
12036 
12037                 Package (0x02)
12038                 {
12039                     0x00, 
12040                     "FnCtrlKeySwap"
12041                 }, 
12042 
12043                 Package (0x02)
12044                 {
12045                     0x00, 
12046                     "BIOSPasswordAtReboot"
12047                 }, 
12048 
12049                 Package (0x02)
12050                 {
12051                     0x00, 
12052                     "OnByAcAttach"
12053                 }, 
12054 
12055                 Package (0x02)
12056                 {
12057                     0x64, 
12058                     "NetworkBoot"
12059                 }, 
12060 
12061                 Package (0x02)
12062                 {
12063                     0x00, 
12064                     "BootOrderLock"
12065                 }, 
12066 
12067                 Package (0x02)
12068                 {
12069                     0x10, 
12070                     "USB30Mode"
12071                 }, 
12072 
12073                 Package (0x02)
12074                 {
12075                     0x11, 
12076                     "ExpressCardSpeed"
12077                 }, 
12078 
12079                 Package (0x02)
12080                 {
12081                     0x00, 
12082                     "RapidStartTechnology"
12083                 }, 
12084 
12085                 Package (0x02)
12086                 {
12087                     0x12, 
12088                     "KeyboardIllumination"
12089                 }, 
12090 
12091                 Package (0x02)
12092                 {
12093                     0x00, 
12094                     "IPv4NetworkStack"
12095                 }, 
12096 
12097                 Package (0x02)
12098                 {
12099                     0x00, 
12100                     "IPv6NetworkStack"
12101                 }, 
12102 
12103                 Package (0x02)
12104                 {
12105                     0x13, 
12106                     "UefiPxeBootPriority"
12107                 }, 
12108 
12109                 Package (0x02)
12110                 {
12111                     0x00, 
12112                     "PhysicalPresenceForTpmProvision"
12113                 }, 
12114 
12115                 Package (0x02)
12116                 {
12117                     0x00, 
12118                     "PhysicalPresenceForTpmClear"
12119                 }, 
12120 
12121                 Package (0x02)
12122                 {
12123                     0x00, 
12124                     "SecureRollBackPrevention"
12125                 }, 
12126 
12127                 Package (0x02)
12128                 {
12129                     0x00, 
12130                     "SecureBoot"
12131                 }, 
12132 
12133                 Package (0x02)
12134                 {
12135                     0x00, 
12136                     "NfcAccess"
12137                 }, 
12138 
12139                 Package (0x02)
12140                 {
12141                     0x00, 
12142                     "BottomCoverTamperDetected"
12143                 }, 
12144 
12145                 Package (0x02)
12146                 {
12147                     0x14, 
12148                     "DiscreteGFXPerfMode"
12149                 }, 
12150 
12151                 Package (0x02)
12152                 {
12153                     0x15, 
12154                     "TotalGraphicsMemory"
12155                 }, 
12156 
12157                 Package (0x02)
12158                 {
12159                     0x16, 
12160                     "SmartConnectTechnology"
12161                 }
12162             })
12163             Name (VSEL, Package (0x17)
12164             {
12165                 Package (0x02)
12166                 {
12167                     "Disable", 
12168                     "Enable"
12169                 }, 
12170 
12171                 Package (0x02)
12172                 {
12173                     "Disable", 
12174                     "Automatic"
12175                 }, 
12176 
12177                 Package (0x03)
12178                 {
12179                     "Active", 
12180                     "Inactive", 
12181                     "Disable"
12182                 }, 
12183 
12184                 Package (0x02)
12185                 {
12186                     "Normal", 
12187                     "High"
12188                 }, 
12189 
12190                 Package (0x02)
12191                 {
12192                     "Independent", 
12193                     "Synchronized"
12194                 }, 
12195 
12196                 Package (0x04)
12197                 {
12198                     "LCD", 
12199                     "VGA", 
12200                     "Digital", 
12201                     "DockDisplay"
12202                 }, 
12203 
12204                 Package (0x03)
12205                 {
12206                     "High", 
12207                     "Normal", 
12208                     "Silent"
12209                 }, 
12210 
12211                 Package (0x02)
12212                 {
12213                     "Compatibility", 
12214                     "AHCI"
12215                 }, 
12216 
12217                 Package (0x02)
12218                 {
12219                     "External", 
12220                     "InternalOnly"
12221                 }, 
12222 
12223                 Package (0x02)
12224                 {
12225                     "MaximizePerformance", 
12226                     "Balanced"
12227                 }, 
12228 
12229                 Package (0x02)
12230                 {
12231                     "Quick", 
12232                     "Diagnostics"
12233                 }, 
12234 
12235                 Package (0x0A)
12236                 {
12237                     "Disable", 
12238                     "4", 
12239                     "5", 
12240                     "6", 
12241                     "7", 
12242                     "8", 
12243                     "9", 
12244                     "10", 
12245                     "11", 
12246                     "12"
12247                 }, 
12248 
12249                 Package (0x03)
12250                 {
12251                     "Auto", 
12252                     "On", 
12253                     "Off"
12254                 }, 
12255 
12256                 Package (0x03)
12257                 {
12258                     "IntegratedGfx", 
12259                     "", 
12260                     "SwitchableGfx"
12261                 }, 
12262 
12263                 Package (0x04)
12264                 {
12265                     "Disable", 
12266                     "ACOnly", 
12267                     "ACandBattery", 
12268                     "Enable"
12269                 }, 
12270 
12271                 Package (0x03)
12272                 {
12273                     "Disable", 
12274                     "Enable", 
12275                     "Disable"
12276                 }, 
12277 
12278                 Package (0x03)
12279                 {
12280                     "Disable", 
12281                     "Enable", 
12282                     "Automatic"
12283                 }, 
12284 
12285                 Package (0x02)
12286                 {
12287                     "Generation1", 
12288                     "Automatic"
12289                 }, 
12290 
12291                 Package (0x03)
12292                 {
12293                     "ThinkLightOnly", 
12294                     "BacklightOnly", 
12295                     "Both"
12296                 }, 
12297 
12298                 Package (0x02)
12299                 {
12300                     "IPv6First", 
12301                     "IPv4First"
12302                 }, 
12303 
12304                 Package (0x02)
12305                 {
12306                     "Balanced", 
12307                     "HighPerformance"
12308                 }, 
12309 
12310                 Package (0x02)
12311                 {
12312                     "256MB", 
12313                     "512MB"
12314                 }, 
12315 
12316                 Package (0x02)
12317                 {
12318                     "Enable", 
12319                     "Disable"
12320                 }
12321             })
12322             Name (VLST, Package (0x0F)
12323             {
12324                 "HDD0", 
12325                 "HDD1", 
12326                 "HDD2", 
12327                 "HDD3", 
12328                 "HDD4", 
12329                 "PCILAN", 
12330                 "ATAPICD0", 
12331                 "ATAPICD1", 
12332                 "ATAPICD2", 
12333                 "USBFDD", 
12334                 "USBCD", 
12335                 "USBHDD", 
12336                 "OtherHDD", 
12337                 "OtherCD", 
12338                 "NODEV"
12339             })
12340             Name (PENC, Package (0x02)
12341             {
12342                 "ascii", 
12343                 "scancode"
12344             })
12345             Name (PKBD, Package (0x03)
12346             {
12347                 "us", 
12348                 "fr", 
12349                 "gr"
12350             })
12351             Name (PTYP, Package (0x08)
12352             {
12353                 "pap", 
12354                 "pop", 
12355                 "uhdp1", 
12356                 "mhdp1", 
12357                 "uhdp2", 
12358                 "mhdp2", 
12359                 "uhdp3", 
12360                 "mhdp3"
12361             })
12362             Mutex (MWMI, 0x07)
12363             Name (PCFG, Buffer (0x18){})
12364             Name (IBUF, Buffer (0x0100){})
12365             Name (ILEN, 0x00)
12366             Name (PSTR, Buffer (0x81){})
12367             Method (WQA0, 1, NotSerialized)
12368             {
12369                 Acquire (MWMI, 0xFFFF)
12370                 If ((\WMIS (0x00, Arg0) != 0x00))
12371                 {
12372                     Release (MWMI)
12373                     Return ("")
12374                 }
12375 
12376                 Local0 = DerefOf (ITEM [\WITM])
12377                 Local1 = DerefOf (Local0 [0x00])
12378                 Local2 = DerefOf (Local0 [0x01])
12379                 If ((Local1 < 0x64))
12380                 {
12381                     Concatenate (Local2, ",", Local6)
12382                     Local3 = DerefOf (VSEL [Local1])
12383                     Concatenate (Local6, DerefOf (Local3 [\WSEL]), Local7)
12384                 }
12385                 Else
12386                 {
12387                     Local3 = SizeOf (VLST)
12388                     If ((\WLS0 <= Local3))
12389                     {
12390                         Concatenate (Local2, ",", Local7)
12391                         Concatenate (Local7, DerefOf (VLST [\WLS0]), Local2)
12392                     }
12393 
12394                     If ((\WLS1 <= Local3))
12395                     {
12396                         Concatenate (Local2, ":", Local7)
12397                         Concatenate (Local7, DerefOf (VLST [\WLS1]), Local2)
12398                     }
12399 
12400                     If ((\WLS2 <= Local3))
12401                     {
12402                         Concatenate (Local2, ":", Local7)
12403                         Concatenate (Local7, DerefOf (VLST [\WLS2]), Local2)
12404                     }
12405 
12406                     If ((\WLS3 <= Local3))
12407                     {
12408                         Concatenate (Local2, ":", Local7)
12409                         Concatenate (Local7, DerefOf (VLST [\WLS3]), Local2)
12410                     }
12411 
12412                     If ((\WLS4 <= Local3))
12413                     {
12414                         Concatenate (Local2, ":", Local7)
12415                         Concatenate (Local7, DerefOf (VLST [\WLS4]), Local2)
12416                     }
12417 
12418                     If ((\WLS5 <= Local3))
12419                     {
12420                         Concatenate (Local2, ":", Local7)
12421                         Concatenate (Local7, DerefOf (VLST [\WLS5]), Local2)
12422                     }
12423 
12424                     If ((\WLS6 <= Local3))
12425                     {
12426                         Concatenate (Local2, ":", Local7)
12427                         Concatenate (Local7, DerefOf (VLST [\WLS6]), Local2)
12428                     }
12429 
12430                     If ((\WLS7 <= Local3))
12431                     {
12432                         Concatenate (Local2, ":", Local7)
12433                         Concatenate (Local7, DerefOf (VLST [\WLS7]), Local2)
12434                     }
12435 
12436                     If ((\WLS8 <= Local3))
12437                     {
12438                         Concatenate (Local2, ":", Local7)
12439                         Concatenate (Local7, DerefOf (VLST [\WLS8]), Local2)
12440                     }
12441 
12442                     If ((\WLS9 <= Local3))
12443                     {
12444                         Concatenate (Local2, ":", Local7)
12445                         Concatenate (Local7, DerefOf (VLST [\WLS9]), Local2)
12446                     }
12447 
12448                     If ((\WLSA <= Local3))
12449                     {
12450                         Concatenate (Local2, ":", Local7)
12451                         Concatenate (Local7, DerefOf (VLST [\WLSA]), Local2)
12452                     }
12453 
12454                     If ((\WLSB <= Local3))
12455                     {
12456                         Concatenate (Local2, ":", Local7)
12457                         Concatenate (Local7, DerefOf (VLST [\WLSB]), Local2)
12458                     }
12459 
12460                     If ((\WLSC <= Local3))
12461                     {
12462                         Concatenate (Local2, ":", Local7)
12463                         Concatenate (Local7, DerefOf (VLST [\WLSC]), Local2)
12464                     }
12465 
12466                     If ((\WLSD <= Local3))
12467                     {
12468                         Concatenate (Local2, ":", Local7)
12469                         Concatenate (Local7, DerefOf (VLST [\WLSD]), Local2)
12470                     }
12471 
12472                     Local7 = Local2
12473                 }
12474 
12475                 Release (MWMI)
12476                 Return (Local7)
12477             }
12478 
12479             Method (WMA1, 3, NotSerialized)
12480             {
12481                 Acquire (MWMI, 0xFFFF)
12482                 If ((SizeOf (Arg2) == 0x00))
12483                 {
12484                     Local0 = 0x02
12485                 }
12486                 Else
12487                 {
12488                     Local0 = CARG (Arg2)
12489                     If ((Local0 == 0x00))
12490                     {
12491                         Local0 = WSET (ITEM, VSEL)
12492                         If ((Local0 == 0x00))
12493                         {
12494                             Local0 = \WMIS (0x01, 0x00)
12495                         }
12496                     }
12497                 }
12498 
12499                 Release (MWMI)
12500                 Return (DerefOf (RETN [Local0]))
12501             }
12502 
12503             Method (WMA2, 3, NotSerialized)
12504             {
12505                 Acquire (MWMI, 0xFFFF)
12506                 Local0 = CARG (Arg2)
12507                 If ((Local0 == 0x00))
12508                 {
12509                     If ((ILEN != 0x00))
12510                     {
12511                         Local0 = CPAS (IBUF, 0x00)
12512                     }
12513 
12514                     If ((Local0 == 0x00))
12515                     {
12516                         Local0 = \WMIS (0x02, 0x00)
12517                     }
12518                 }
12519 
12520                 Release (MWMI)
12521                 Return (DerefOf (RETN [Local0]))
12522             }
12523 
12524             Method (WMA3, 3, NotSerialized)
12525             {
12526                 Acquire (MWMI, 0xFFFF)
12527                 Local0 = CARG (Arg2)
12528                 If ((Local0 == 0x00))
12529                 {
12530                     If ((ILEN != 0x00))
12531                     {
12532                         Local0 = CPAS (IBUF, 0x00)
12533                     }
12534 
12535                     If ((Local0 == 0x00))
12536                     {
12537                         Local0 = \WMIS (0x03, 0x00)
12538                     }
12539                 }
12540 
12541                 Release (MWMI)
12542                 Return (DerefOf (RETN [Local0]))
12543             }
12544 
12545             Method (WMA4, 3, NotSerialized)
12546             {
12547                 Acquire (MWMI, 0xFFFF)
12548                 Local0 = CARG (Arg2)
12549                 If ((Local0 == 0x00))
12550                 {
12551                     If ((ILEN != 0x00))
12552                     {
12553                         Local0 = CPAS (IBUF, 0x00)
12554                     }
12555 
12556                     If ((Local0 == 0x00))
12557                     {
12558                         Local0 = \WMIS (0x04, 0x00)
12559                     }
12560                 }
12561 
12562                 Release (MWMI)
12563                 Return (DerefOf (RETN [Local0]))
12564             }
12565 
12566             Method (WQA5, 1, NotSerialized)
12567             {
12568                 Acquire (MWMI, 0xFFFF)
12569                 Local0 = \WMIS (0x05, 0x00)
12570                 PCFG [0x00] = \WSPM
12571                 PCFG [0x04] = \WSPS
12572                 PCFG [0x08] = \WSMN
12573                 PCFG [0x0C] = \WSMX
12574                 PCFG [0x10] = \WSEN
12575                 PCFG [0x14] = \WSKB
12576                 Release (MWMI)
12577                 Return (PCFG) /* \_SB_.WMI1.PCFG */
12578             }
12579 
12580             Method (WMA6, 3, NotSerialized)
12581             {
12582                 Acquire (MWMI, 0xFFFF)
12583                 If ((SizeOf (Arg2) == 0x00))
12584                 {
12585                     Local0 = 0x02
12586                 }
12587                 Else
12588                 {
12589                     Local0 = CARG (Arg2)
12590                     If ((Local0 == 0x00))
12591                     {
12592                         If ((ILEN != 0x00))
12593                         {
12594                             Local0 = SPAS (IBUF)
12595                         }
12596 
12597                         If ((Local0 == 0x00))
12598                         {
12599                             Local0 = \WMIS (0x06, 0x00)
12600                         }
12601                     }
12602                 }
12603 
12604                 Release (MWMI)
12605                 Return (DerefOf (RETN [Local0]))
12606             }
12607 
12608             Method (WMA7, 3, NotSerialized)
12609             {
12610                 If ((SizeOf (Arg2) == 0x00))
12611                 {
12612                     Return ("")
12613                 }
12614 
12615                 Local0 = CARG (Arg2)
12616                 If ((Local0 == 0x00))
12617                 {
12618                     Local1 = GITM (IBUF, ITEM)
12619                     If ((Local1 == Ones))
12620                     {
12621                         Return ("")
12622                     }
12623 
12624                     Local0 = DerefOf (ITEM [Local1])
12625                     Local1 = DerefOf (Local0 [0x00])
12626                     If ((Local1 < 0x64))
12627                     {
12628                         Local3 = DerefOf (VSEL [Local1])
12629                         Local2 = DerefOf (Local3 [0x00])
12630                         Local4 = SizeOf (Local3)
12631                         Local5 = 0x01
12632                         While ((Local5 < Local4))
12633                         {
12634                             Local6 = DerefOf (Local3 [Local5])
12635                             If ((SizeOf (Local6) != 0x00))
12636                             {
12637                                 Concatenate (Local2, ",", Local7)
12638                                 Concatenate (Local7, Local6, Local2)
12639                             }
12640 
12641                             Local5++
12642                         }
12643                     }
12644                     Else
12645                     {
12646                         Local2 = DerefOf (VLST [0x00])
12647                         Local4 = SizeOf (VLST)
12648                         Local5 = 0x01
12649                         While ((Local5 < Local4))
12650                         {
12651                             Local6 = DerefOf (VLST [Local5])
12652                             Concatenate (Local2, ",", Local7)
12653                             Concatenate (Local7, Local6, Local2)
12654                             Local5++
12655                         }
12656                     }
12657                 }
12658 
12659                 Return (Local2)
12660             }
12661 
12662             Method (CARG, 1, NotSerialized)
12663             {
12664                 Local0 = SizeOf (Arg0)
12665                 If ((Local0 == 0x00))
12666                 {
12667                     IBUF = 0x00
12668                     ILEN = 0x00
12669                     Return (0x00)
12670                 }
12671 
12672                 If ((ObjectType (Arg0) != 0x02))
12673                 {
12674                     Return (0x02)
12675                 }
12676 
12677                 If ((Local0 >= 0xFF))
12678                 {
12679                     Return (0x02)
12680                 }
12681 
12682                 IBUF = Arg0
12683                 Local0--
12684                 Local1 = DerefOf (IBUF [Local0])
12685                 If (((Local1 == 0x3B) || (Local1 == 0x2A)))
12686                 {
12687                     IBUF [Local0] = 0x00
12688                     ILEN = Local0
12689                 }
12690                 Else
12691                 {
12692                     ILEN = SizeOf (Arg0)
12693                 }
12694 
12695                 Return (0x00)
12696             }
12697 
12698             Method (SCMP, 3, NotSerialized)
12699             {
12700                 Local0 = SizeOf (Arg0)
12701                 If ((Local0 == 0x00))
12702                 {
12703                     Return (0x00)
12704                 }
12705 
12706                 Local0++
12707                 Name (STR1, Buffer (Local0){})
12708                 STR1 = Arg0
12709                 Local0--
12710                 Local1 = 0x00
12711                 Local2 = Arg2
12712                 While ((Local1 < Local0))
12713                 {
12714                     Local3 = DerefOf (STR1 [Local1])
12715                     Local4 = DerefOf (Arg1 [Local2])
12716                     If ((Local3 != Local4))
12717                     {
12718                         Return (0x00)
12719                     }
12720 
12721                     Local1++
12722                     Local2++
12723                 }
12724 
12725                 Local4 = DerefOf (Arg1 [Local2])
12726                 If ((Local4 == 0x00))
12727                 {
12728                     Return (0x01)
12729                 }
12730 
12731                 If (((Local4 == 0x2C) || (Local4 == 0x3A)))
12732                 {
12733                     Return (0x01)
12734                 }
12735 
12736                 Return (0x00)
12737             }
12738 
12739             Method (GITM, 2, NotSerialized)
12740             {
12741                 Local0 = 0x00
12742                 Local1 = SizeOf (Arg1)
12743                 While ((Local0 < Local1))
12744                 {
12745                     Local3 = DerefOf (DerefOf (Arg1 [Local0]) [0x01])
12746                     If (SCMP (Local3, Arg0, 0x00))
12747                     {
12748                         Return (Local0)
12749                     }
12750 
12751                     Local0++
12752                 }
12753 
12754                 Return (Ones)
12755             }
12756 
12757             Method (GSEL, 3, NotSerialized)
12758             {
12759                 Local0 = 0x00
12760                 Local1 = SizeOf (Arg0)
12761                 While ((Local0 < Local1))
12762                 {
12763                     Local2 = DerefOf (Arg0 [Local0])
12764                     If (SCMP (Local2, Arg1, Arg2))
12765                     {
12766                         Return (Local0)
12767                     }
12768 
12769                     Local0++
12770                 }
12771 
12772                 Return (Ones)
12773             }
12774 
12775             Method (SLEN, 2, NotSerialized)
12776             {
12777                 Local0 = DerefOf (Arg0 [Arg1])
12778                 Return (SizeOf (Local0))
12779             }
12780 
12781             Method (CLRP, 0, NotSerialized)
12782             {
12783                 \WPAS = 0x00
12784                 \WPNW = 0x00
12785             }
12786 
12787             Method (GPAS, 2, NotSerialized)
12788             {
12789                 Local0 = Arg1
12790                 Local1 = 0x00
12791                 While ((Local1 <= 0x80))
12792                 {
12793                     Local2 = DerefOf (Arg0 [Local0])
12794                     If (((Local2 == 0x2C) || (Local2 == 0x00)))
12795                     {
12796                         PSTR [Local1] = 0x00
12797                         Return (Local1)
12798                     }
12799 
12800                     PSTR [Local1] = Local2
12801                     Local0++
12802                     Local1++
12803                 }
12804 
12805                 PSTR [Local1] = 0x00
12806                 Return (Ones)
12807             }
12808 
12809             Method (CPAS, 2, NotSerialized)
12810             {
12811                 CLRP ()
12812                 Local0 = Arg1
12813                 Local1 = GPAS (Arg0, Local0)
12814                 If ((Local1 == Ones))
12815                 {
12816                     Return (0x02)
12817                 }
12818 
12819                 If ((Local1 == 0x00))
12820                 {
12821                     Return (0x02)
12822                 }
12823 
12824                 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
12825                 Local0 += Local1
12826                 Local0++
12827                 Local6 = GSEL (PENC, Arg0, Local0)
12828                 If ((Local6 == Ones))
12829                 {
12830                     Return (0x02)
12831                 }
12832 
12833                 \WENC = Local6
12834                 If ((Local6 == 0x00))
12835                 {
12836                     Local0 += SLEN (PENC, 0x00)
12837                     If ((DerefOf (Arg0 [Local0]) != 0x2C))
12838                     {
12839                         Return (0x02)
12840                     }
12841 
12842                     Local0++
12843                     Local6 = GSEL (PKBD, Arg0, Local0)
12844                     If ((Local6 == Ones))
12845                     {
12846                         Return (0x02)
12847                     }
12848 
12849                     \WKBD = Local6
12850                 }
12851 
12852                 Return (0x00)
12853             }
12854 
12855             Method (SPAS, 1, NotSerialized)
12856             {
12857                 CLRP ()
12858                 Local6 = GSEL (PTYP, Arg0, 0x00)
12859                 If ((Local6 == Ones))
12860                 {
12861                     Return (0x02)
12862                 }
12863 
12864                 \WPTY = Local6
12865                 Local0 = SLEN (PTYP, Local6)
12866                 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12867                 {
12868                     Return (0x02)
12869                 }
12870 
12871                 Local0++
12872                 Local1 = GPAS (Arg0, Local0)
12873                 If (((Local1 == Ones) || (Local1 == 0x00)))
12874                 {
12875                     Return (0x02)
12876                 }
12877 
12878                 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
12879                 Local0 += Local1
12880                 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12881                 {
12882                     Return (0x02)
12883                 }
12884 
12885                 Local0++
12886                 Local1 = GPAS (Arg0, Local0)
12887                 If ((Local1 == Ones))
12888                 {
12889                     Return (0x02)
12890                 }
12891 
12892                 If ((Local1 == 0x00))
12893                 {
12894                     PSTR = 0x00
12895                 }
12896 
12897                 \WPNW = PSTR /* \_SB_.WMI1.PSTR */
12898                 Local0 += Local1
12899                 Local0++
12900                 Local6 = GSEL (PENC, Arg0, Local0)
12901                 If ((Local6 == Ones))
12902                 {
12903                     Return (0x02)
12904                 }
12905 
12906                 \WENC = Local6
12907                 If ((Local6 == 0x00))
12908                 {
12909                     Local0 += SLEN (PENC, 0x00)
12910                     If ((DerefOf (Arg0 [Local0]) != 0x2C))
12911                     {
12912                         Return (0x02)
12913                     }
12914 
12915                     Local0++
12916                     Local6 = GSEL (PKBD, Arg0, Local0)
12917                     If ((Local6 == Ones))
12918                     {
12919                         Return (0x02)
12920                     }
12921 
12922                     \WKBD = Local6
12923                 }
12924 
12925                 Return (0x00)
12926             }
12927 
12928             Method (WSET, 2, NotSerialized)
12929             {
12930                 Local0 = ILEN /* \_SB_.WMI1.ILEN */
12931                 Local0++
12932                 Local1 = GITM (IBUF, Arg0)
12933                 If ((Local1 == Ones))
12934                 {
12935                     Return (0x02)
12936                 }
12937 
12938                 \WITM = Local1
12939                 Local3 = DerefOf (Arg0 [Local1])
12940                 Local4 = DerefOf (Local3 [0x01])
12941                 Local2 = SizeOf (Local4)
12942                 Local2++
12943                 Local4 = DerefOf (Local3 [0x00])
12944                 If ((Local4 < 0x64))
12945                 {
12946                     Local5 = DerefOf (Arg1 [Local4])
12947                     Local6 = GSEL (Local5, IBUF, Local2)
12948                     If ((Local6 == Ones))
12949                     {
12950                         Return (0x02)
12951                     }
12952 
12953                     \WSEL = Local6
12954                     Local2 += SLEN (Local5, Local6)
12955                     Local4 = DerefOf (IBUF [Local2])
12956                 }
12957                 Else
12958                 {
12959                     \WLS0 = 0x3F
12960                     \WLS1 = 0x3F
12961                     \WLS2 = 0x3F
12962                     \WLS3 = 0x3F
12963                     \WLS4 = 0x3F
12964                     \WLS5 = 0x3F
12965                     \WLS6 = 0x3F
12966                     \WLS7 = 0x3F
12967                     \WLS8 = 0x3F
12968                     \WLS9 = 0x3F
12969                     \WLSA = 0x3F
12970                     \WLSB = 0x3F
12971                     \WLSC = 0x3F
12972                     \WLSD = 0x3F
12973                     Local6 = GSEL (VLST, IBUF, Local2)
12974                     If ((Local6 == Ones))
12975                     {
12976                         Return (0x02)
12977                     }
12978 
12979                     \WLS0 = Local6
12980                     Local2 += SLEN (VLST, Local6)
12981                     Local4 = DerefOf (IBUF [Local2])
12982                     If (((Local2 < Local0) && (Local4 == 0x3A)))
12983                     {
12984                         Local2++
12985                         Local6 = GSEL (VLST, IBUF, Local2)
12986                         If ((Local6 == Ones))
12987                         {
12988                             Return (0x02)
12989                         }
12990 
12991                         \WLS1 = Local6
12992                         Local2 += SLEN (VLST, Local6)
12993                         Local4 = DerefOf (IBUF [Local2])
12994                     }
12995 
12996                     If (((Local2 < Local0) && (Local4 == 0x3A)))
12997                     {
12998                         Local2++
12999                         Local6 = GSEL (VLST, IBUF, Local2)
13000                         If ((Local6 == Ones))
13001                         {
13002                             Return (0x02)
13003                         }
13004 
13005                         \WLS2 = Local6
13006                         Local2 += SLEN (VLST, Local6)
13007                         Local4 = DerefOf (IBUF [Local2])
13008                     }
13009 
13010                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13011                     {
13012                         Local2++
13013                         Local6 = GSEL (VLST, IBUF, Local2)
13014                         If ((Local6 == Ones))
13015                         {
13016                             Return (0x02)
13017                         }
13018 
13019                         \WLS3 = Local6
13020                         Local2 += SLEN (VLST, Local6)
13021                         Local4 = DerefOf (IBUF [Local2])
13022                     }
13023 
13024                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13025                     {
13026                         Local2++
13027                         Local6 = GSEL (VLST, IBUF, Local2)
13028                         If ((Local6 == Ones))
13029                         {
13030                             Return (0x02)
13031                         }
13032 
13033                         \WLS4 = Local6
13034                         Local2 += SLEN (VLST, Local6)
13035                         Local4 = DerefOf (IBUF [Local2])
13036                     }
13037 
13038                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13039                     {
13040                         Local2++
13041                         Local6 = GSEL (VLST, IBUF, Local2)
13042                         If ((Local6 == Ones))
13043                         {
13044                             Return (0x02)
13045                         }
13046 
13047                         \WLS5 = Local6
13048                         Local2 += SLEN (VLST, Local6)
13049                         Local4 = DerefOf (IBUF [Local2])
13050                     }
13051 
13052                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13053                     {
13054                         Local2++
13055                         Local6 = GSEL (VLST, IBUF, Local2)
13056                         If ((Local6 == Ones))
13057                         {
13058                             Return (0x02)
13059                         }
13060 
13061                         \WLS6 = Local6
13062                         Local2 += SLEN (VLST, Local6)
13063                         Local4 = DerefOf (IBUF [Local2])
13064                     }
13065 
13066                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13067                     {
13068                         Local2++
13069                         Local6 = GSEL (VLST, IBUF, Local2)
13070                         If ((Local6 == Ones))
13071                         {
13072                             Return (0x02)
13073                         }
13074 
13075                         \WLS7 = Local6
13076                         Local2 += SLEN (VLST, Local6)
13077                         Local4 = DerefOf (IBUF [Local2])
13078                     }
13079 
13080                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13081                     {
13082                         Local2++
13083                         Local6 = GSEL (VLST, IBUF, Local2)
13084                         If ((Local6 == Ones))
13085                         {
13086                             Return (0x02)
13087                         }
13088 
13089                         \WLS8 = Local6
13090                         Local2 += SLEN (VLST, Local6)
13091                         Local4 = DerefOf (IBUF [Local2])
13092                     }
13093 
13094                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13095                     {
13096                         Local2++
13097                         Local6 = GSEL (VLST, IBUF, Local2)
13098                         If ((Local6 == Ones))
13099                         {
13100                             Return (0x02)
13101                         }
13102 
13103                         \WLS9 = Local6
13104                         Local2 += SLEN (VLST, Local6)
13105                         Local4 = DerefOf (IBUF [Local2])
13106                     }
13107 
13108                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13109                     {
13110                         Local2++
13111                         Local6 = GSEL (VLST, IBUF, Local2)
13112                         If ((Local6 == Ones))
13113                         {
13114                             Return (0x02)
13115                         }
13116 
13117                         \WLSA = Local6
13118                         Local2 += SLEN (VLST, Local6)
13119                         Local4 = DerefOf (IBUF [Local2])
13120                     }
13121 
13122                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13123                     {
13124                         Local2++
13125                         Local6 = GSEL (VLST, IBUF, Local2)
13126                         If ((Local6 == Ones))
13127                         {
13128                             Return (0x02)
13129                         }
13130 
13131                         \WLSB = Local6
13132                         Local2 += SLEN (VLST, Local6)
13133                         Local4 = DerefOf (IBUF [Local2])
13134                     }
13135 
13136                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13137                     {
13138                         Local2++
13139                         Local6 = GSEL (VLST, IBUF, Local2)
13140                         If ((Local6 == Ones))
13141                         {
13142                             Return (0x02)
13143                         }
13144 
13145                         \WLSC = Local6
13146                         Local2 += SLEN (VLST, Local6)
13147                         Local4 = DerefOf (IBUF [Local2])
13148                     }
13149 
13150                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13151                     {
13152                         Local2++
13153                         Local6 = GSEL (VLST, IBUF, Local2)
13154                         If ((Local6 == Ones))
13155                         {
13156                             Return (0x02)
13157                         }
13158 
13159                         \WLSD = Local6
13160                         Local2 += SLEN (VLST, Local6)
13161                         Local4 = DerefOf (IBUF [Local2])
13162                     }
13163                 }
13164 
13165                 If (((Local4 == 0x2C) && (Local2 < Local0)))
13166                 {
13167                     Local2++
13168                     Local0 = CPAS (IBUF, Local2)
13169                     If ((Local0 != 0x00))
13170                     {
13171                         Return (Local0)
13172                     }
13173                 }
13174 
13175                 Return (0x00)
13176             }
13177 
13178             Name (WQBA, Buffer (0x089D)
13179             {
13180                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
13181                 /* 0008 */  0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00,  // .....6..
13182                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
13183                 /* 0018 */  0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42,  // .......B
13184                 /* 0020 */  0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B,  // .....!..
13185                 /* 0028 */  0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41,  // .PL...EA
13186                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  // .....!..
13187                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  // ..p.@...
13188                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  // (r."....
13189                 /* 0048 */  0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84,  // 1...@H&.
13190                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  // D.S!p.._
13191                 /* 0058 */  0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7,  // ........
13192                 /* 0060 */  0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8,  // ...e....
13193                 /* 0068 */  0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30,  // ...Bh..0
13194                 /* 0070 */  0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D,  // ).'.,...
13195                 /* 0078 */  0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18,  // &.pd.L..
13196                 /* 0080 */  0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9,  // Pb...9..
13197                 /* 0088 */  0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94,  // ..t.(.F.
13198                 /* 0090 */  0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B,  // ..u....+
13199                 /* 0098 */  0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E,  // @...y^.>
13200                 /* 00A0 */  0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00,  // .....G..
13201                 /* 00A8 */  0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E,  // .b,S.aP.
13202                 /* 00B0 */  0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D,  // @$g.(`{.
13203                 /* 00B8 */  0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A,  // ..u.L..j
13204                 /* 00C0 */  0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91,  // ..(...4.
13205                 /* 00C8 */  0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86,  // ckz..d..
13206                 /* 00D0 */  0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68,  // ....uR.h
13207                 /* 00D8 */  0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1,  // ..2L....
13208                 /* 00E0 */  0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28,  // q.. .`.(
13209                 /* 00E8 */  0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C,  // ...... |
13210                 /* 00F0 */  0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04,  // ..(.#...
13211                 /* 00F8 */  0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C,  // ..1c...<
13212                 /* 0100 */  0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C,  // .c...Pc.
13213                 /* 0108 */  0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56,  // E....Q.V
13214                 /* 0110 */  0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A,  // ....,..z
13215                 /* 0118 */  0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02,  // .'.N..?.
13216                 /* 0120 */  0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94,  // ..B..X..
13217                 /* 0128 */  0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A,  // .a......
13218                 /* 0130 */  0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB,  // ...C..8.
13219                 /* 0138 */  0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40,  // /hFm.0'@
13220                 /* 0140 */  0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28,  // ..o.B9.(
13221                 /* 0148 */  0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE,  // .r.Q..b.
13222                 /* 0150 */  0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4,  // ....#...
13223                 /* 0158 */  0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50,  // 5l..!O!P
13224                 /* 0160 */  0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD,  // ...A....
13225                 /* 0168 */  0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4,  // O.gu.G..
13226                 /* 0170 */  0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E,  // `.O....N
13227                 /* 0178 */  0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E,  // .X..8...
13228                 /* 0180 */  0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47,  // .....E.G
13229                 /* 0188 */  0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA,  // ..|.....
13230                 /* 0190 */  0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F,  // s<. .p.O
13231                 /* 0198 */  0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8,  // ......).
13232                 /* 01A0 */  0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE,  // .....5..
13233                 /* 01A8 */  0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3,  // ...l..0.
13234                 /* 01B0 */  0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60,  // .....I>`
13235                 /* 01B8 */  0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9,  // ........
13236                 /* 01C0 */  0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74,  // .Y.....t
13237                 /* 01C8 */  0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2,  // ..i...0.
13238                 /* 01D0 */  0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97,  // .....=..
13239                 /* 01D8 */  0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B,  // .C>'...{
13240                 /* 01E0 */  0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39,  // .....e.9
13241                 /* 01E8 */  0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0,  // ...|M0..
13242                 /* 01F0 */  0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C,  // ..1...a.
13243                 /* 01F8 */  0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05,  // ...>/.8.
13244                 /* 0200 */  0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A,  // x....R|.
13245                 /* 0208 */  0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0,  // .G..&...
13246                 /* 0210 */  0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61,  // 4..<...a
13247                 /* 0218 */  0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B,  // .l..6.w.
13248                 /* 0220 */  0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05,  // ..{.....
13249                 /* 0228 */  0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17,  // .w.6X...
13250                 /* 0230 */  0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2,  // .qB...A.
13251                 /* 0238 */  0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B,  // C..x.8C+
13252                 /* 0240 */  0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30,  // ..r`..90
13253                 /* 0248 */  0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20,  // F..<6L. 
13254                 /* 0250 */  0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F,  // ...z.P..
13255                 /* 0258 */  0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C,  // j....T.\
13256                 /* 0260 */  0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01,  // ......{.
13257                 /* 0268 */  0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE,  // .8<...}.
13258                 /* 0270 */  0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6,  // .zo)n...
13259                 /* 0278 */  0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C,  // .y.x...<
13260                 /* 0280 */  0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A,  // ........
13261                 /* 0288 */  0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99,  // O!..5F|.
13262                 /* 0290 */  0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C,  // x.1..=.<
13263                 /* 0298 */  0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04,  // ...h"...
13264                 /* 02A0 */  0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E,  // |.....b^
13265                 /* 02A8 */  0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF,  // (.p..4..
13266                 /* 02B0 */  0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C,  // .5.....|
13267                 /* 02B8 */  0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01,  // G.vC.wB.
13268                 /* 02C0 */  0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4,  // .$~.....
13269                 /* 02C8 */  0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA,  //  ....)..
13270                 /* 02D0 */  0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E,  // ..4a.LO.
13271                 /* 02D8 */  0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87,  // x....D..
13272                 /* 02E0 */  0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C,  // E... BA.
13273                 /* 02E8 */  0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07,  // . ......
13274                 /* 02F0 */  0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C,  // ..}"..<.
13275                 /* 02F8 */  0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63,  // w.v..a.c
13276                 /* 0300 */  0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3,  // .1..c<..
13277                 /* 0308 */  0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E,  // [.......
13278                 /* 0310 */  0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01,  // ...'..&.
13279                 /* 0318 */  0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E,  // 2}G.P..^
13280                 /* 0320 */  0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3,  // .s......
13281                 /* 0328 */  0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15,  // .....O..
13282                 /* 0330 */  0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9,  // w....u..
13283                 /* 0338 */  0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6,  // .g.{.g..
13284                 /* 0340 */  0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A,  // .9z....:
13285                 /* 0348 */  0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7,  // ..|0.4..
13286                 /* 0350 */  0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7,  // .r8O....
13287                 /* 0358 */  0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31,  // ....-..1
13288                 /* 0360 */  0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF,  // .FE.B...
13289                 /* 0368 */  0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24,  // .x>..G.$
13290                 /* 0370 */  0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B,  // ..x&..}+
13291                 /* 0378 */  0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64,  // .5...m.d
13292                 /* 0380 */  0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF,  // ...anE..
13293                 /* 0388 */  0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99,  // .."8.4..
13294                 /* 0390 */  0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC,  // .U.X.*@.
13295                 /* 0398 */  0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF,  // .^{|..{.
13296                 /* 03A0 */  0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0,  // .{.zV8..
13297                 /* 03A8 */  0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40,  // .S1N...@
13298                 /* 03B0 */  0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF,  // a..{....
13299                 /* 03B8 */  0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B,  // ...*L..+
13300                 /* 03C0 */  0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2,  // ..N...$.
13301                 /* 03C8 */  0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E,  // .U.....^
13302                 /* 03D0 */  0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF,  // .^9.*...
13303                 /* 03D8 */  0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30,  // .U.y..*0
13304                 /* 03E0 */  0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B,  // ^.......
13305                 /* 03E8 */  0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD,  // .`(.....
13306                 /* 03F0 */  0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7,  // X!......
13307                 /* 03F8 */  0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70,  // bE...f.p
13308                 /* 0400 */  0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B,  // ........
13309                 /* 0408 */  0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34,  // 0G+x)oV4
13310                 /* 0410 */  0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37,  // .2.pA..7
13311                 /* 0418 */  0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8,  // +..u.7d.
13312                 /* 0420 */  0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C,  // `Q......
13313                 /* 0428 */  0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07,  // .C.K.c..
13314                 /* 0430 */  0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF,  // .@......
13315                 /* 0438 */  0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B,  // .>.....{
13316                 /* 0440 */  0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B,  // /?`.W...
13317                 /* 0448 */  0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72,  // .....#.r
13318                 /* 0450 */  0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A,  // ..|.z.2J
13319                 /* 0458 */  0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94,  // ..b...m.
13320                 /* 0460 */  0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF,  // ....{...
13321                 /* 0468 */  0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C,  // ...@...\
13322                 /* 0470 */  0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9,  // .....&..
13323                 /* 0478 */  0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93,  // ._......
13324                 /* 0480 */  0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2,  // .zEs_.P.
13325                 /* 0488 */  0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD,  //  ..H3...
13326                 /* 0490 */  0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58,  // .....~.X
13327                 /* 0498 */  0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0,  // .w..z.#.
13328                 /* 04A0 */  0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C,  // ...a.X..
13329                 /* 04A8 */  0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26,  // W,.f%..&
13330                 /* 04B0 */  0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F,  // ..+.0.._
13331                 /* 04B8 */  0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8,  // ...A.7j.
13332                 /* 04C0 */  0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE,  // .'.z<...
13333                 /* 04C8 */  0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0,  // .`NX0nX.
13334                 /* 04D0 */  0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96,  // ..0...;.
13335                 /* 04D8 */  0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A,  // .V.y.~.z
13336                 /* 04E0 */  0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E,  // ..b.....
13337                 /* 04E8 */  0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7,  // .....Qb.
13338                 /* 04F0 */  0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43,  // ...Y..,C
13339                 /* 04F8 */  0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD,  // .} .....
13340                 /* 0500 */  0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC,  // ..a.....
13341                 /* 0508 */  0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A,  // ...a.>g.
13342                 /* 0510 */  0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0,  // ........
13343                 /* 0518 */  0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1,  // ....oX..
13344                 /* 0520 */  0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64,  // v..eao/d
13345                 /* 0528 */  0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65,  // .4.J..{e
13346                 /* 0530 */  0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3,  // .z......
13347                 /* 0538 */  0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE,  // ....I.s.
13348                 /* 0540 */  0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D,  // .....G..
13349                 /* 0548 */  0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C,  // Tsg....,
13350                 /* 0550 */  0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1,  // .....(..
13351                 /* 0558 */  0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F,  // *.`.(ud.
13352                 /* 0560 */  0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65,  // WO.>f..e
13353                 /* 0568 */  0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F,  // ..oY.../
13354                 /* 0570 */  0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7,  // V.....}.
13355                 /* 0578 */  0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C,  // 2...Q...
13356                 /* 0580 */  0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0,  // .e......
13357                 /* 0588 */  0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16,  // ....D.[.
13358                 /* 0590 */  0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4,  // ..`.r2p.
13359                 /* 0598 */  0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89,  // y.?.....
13360                 /* 05A0 */  0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1,  // ..8./.L.
13361                 /* 05A8 */  0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4,  // ..>S..A.
13362                 /* 05B0 */  0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF,  // ...K0...
13363                 /* 05B8 */  0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13,  // ...=....
13364                 /* 05C0 */  0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77,  // xp..?8.w
13365                 /* 05C8 */  0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB,  // .#......
13366                 /* 05D0 */  0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70,  // A.8...jp
13367                 /* 05D8 */  0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC,  // ...8..c.
13368                 /* 05E0 */  0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0,  // ........
13369                 /* 05E8 */  0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34,  // C...x.94
13370                 /* 05F0 */  0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34,  // 0K..P.74
13371                 /* 05F8 */  0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B,  // ........
13372                 /* 0600 */  0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04,  // 1.r"./..
13373                 /* 0608 */  0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D,  // .._S|..M
13374                 /* 0610 */  0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E,  // .7>p]:=>
13375                 /* 0618 */  0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27,  // .s...pG'
13376                 /* 0620 */  0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A,  // ......9.
13377                 /* 0628 */  0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E,  // .h......
13378                 /* 0630 */  0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42,  // ..|..`.B
13379                 /* 0638 */  0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA,  // .k......
13380                 /* 0640 */  0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E,  // ....u.x.
13381                 /* 0648 */  0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C,  // .k.d. ..
13382                 /* 0650 */  0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00,  // .z.P....
13383                 /* 0658 */  0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80,  // Gc}f....
13384                 /* 0660 */  0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D,  // .....`..
13385                 /* 0668 */  0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0,  // ........
13386                 /* 0670 */  0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E,  // |.....$N
13387                 /* 0678 */  0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2,  // ....5_2.
13388                 /* 0680 */  0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36,  // .zZ3F..6
13389                 /* 0688 */  0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9,  // #.R.xX..
13390                 /* 0690 */  0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0,  // .x......
13391                 /* 0698 */  0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83,  // =.....Z.
13392                 /* 06A0 */  0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F,  // #.......
13393                 /* 06A8 */  0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29,  // ;.....n)
13394                 /* 06B0 */  0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44,  // .......D
13395                 /* 06B8 */  0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1,  // ._..6.q.
13396                 /* 06C0 */  0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF,  // FqX.....
13397                 /* 06C8 */  0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8,  // z..I.z..
13398                 /* 06D0 */  0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF,  // ........
13399                 /* 06D8 */  0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF,  // .....GJ.
13400                 /* 06E0 */  0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4,  // ...i.A..
13401                 /* 06E8 */  0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A,  // a..E.(..
13402                 /* 06F0 */  0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08,  // ....[...
13403                 /* 06F8 */  0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28,  // .-.,...(
13404                 /* 0700 */  0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6,  // ..<h.u..
13405                 /* 0708 */  0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F,  // ...OM.M.
13406                 /* 0710 */  0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0,  // N..>H.p.
13407                 /* 0718 */  0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B,  // .....^..
13408                 /* 0720 */  0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31,  // .k./0..1
13409                 /* 0728 */  0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4,  // ...!....
13410                 /* 0730 */  0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88,  // .B....F.
13411                 /* 0738 */  0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57,  // .<...F.W
13412                 /* 0740 */  0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77,  // .5.....w
13413                 /* 0748 */  0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8,  // ........
13414                 /* 0750 */  0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38,  // ......(8
13415                 /* 0758 */  0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D,  // ..{.`#.=
13416                 /* 0760 */  0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE,  // ...G.N&.
13417                 /* 0768 */  0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42,  // .y.....B
13418                 /* 0770 */  0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6,  // .&Q...*.
13419                 /* 0778 */  0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14,  // a.....N.
13420                 /* 0780 */  0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4,  // h.'.r...
13421                 /* 0788 */  0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79,  // ..._..Py
13422                 /* 0790 */  0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86,  // ..R...q.
13423                 /* 0798 */  0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F,  // ........
13424                 /* 07A0 */  0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D,  // ...)...m
13425                 /* 07A8 */  0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A,  // ..h..A..
13426                 /* 07B0 */  0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63,  // e...S.1c
13427                 /* 07B8 */  0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B,  // .PK;KP1.
13428                 /* 07C0 */  0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B,  // .h......
13429                 /* 07C8 */  0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0,  // ..!.:.t.
13430                 /* 07D0 */  0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71,  // ...,km.q
13431                 /* 07D8 */  0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63,  // |....H.c
13432                 /* 07E0 */  0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58,  // B@.." .X
13433                 /* 07E8 */  0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB,  // .....#p.
13434                 /* 07F0 */  0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B,  // ...R..D.
13435                 /* 07F8 */  0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46,  // ....h0.F
13436                 /* 0800 */  0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74,  // @.F! ..t
13437                 /* 0808 */  0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20,  // .....1. 
13438                 /* 0810 */  0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40,  // T..P..D@
13439                 /* 0818 */  0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80,  // V.V.Y7..
13440                 /* 0820 */  0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32,  // ../.2..2
13441                 /* 0828 */  0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1,  // ..b.....
13442                 /* 0830 */  0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C,  // &=.L ...
13443                 /* 0838 */  0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7,  // ....." .
13444                 /* 0840 */  0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52,  // 9...q..R
13445                 /* 0848 */  0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44,  // G.. T..D
13446                 /* 0850 */  0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08,  //  .d.....
13447                 /* 0858 */  0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4,  // .@.<O ,.
13448                 /* 0860 */  0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4,  // .\...j..
13449                 /* 0868 */  0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C,  // ....0.`.
13450                 /* 0870 */  0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44,  // .D@N...D
13451                 /* 0878 */  0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02,  // r.....".
13452                 /* 0880 */  0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58,  // w....O.X
13453                 /* 0888 */  0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14,  // A...UP..
13454                 /* 0890 */  0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75,  // D@V....u
13455                 /* 0898 */  0x82, 0x08, 0xC8, 0xFF, 0x7F                     // .....
13456             })
13457         }
13458 
13459         Device (WMI2)
13460         {
13461             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
13462             Name (_UID, 0x02)  // _UID: Unique ID
13463             Name (_WDG, Buffer (0x64)
13464             {
13465                 /* 0000 */  0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E,  // .$..Z..N
13466                 /* 0008 */  0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA,  // ..b...q.
13467                 /* 0010 */  0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2,  // A7...^..
13468                 /* 0018 */  0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52,  // .B.I.x.R
13469                 /* 0020 */  0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02,  // G8..A8..
13470                 /* 0028 */  0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45,  // ..0t..HE
13471                 /* 0030 */  0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF,  // .....5..
13472                 /* 0038 */  0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F,  // A9...p..
13473                 /* 0040 */  0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79,  // l;^N.'.y
13474                 /* 0048 */  0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06,  // .J..AA..
13475                 /* 0050 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
13476                 /* 0058 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
13477                 /* 0060 */  0x42, 0x42, 0x01, 0x00                           // BB..
13478             })
13479             Name (PREL, Buffer (0x08)
13480             {
13481                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
13482             })
13483             Method (WQA7, 1, NotSerialized)
13484             {
13485                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13486                 \WMIS (0x07, 0x00)
13487                 PREL [0x00] = \WLS0
13488                 PREL [0x01] = \WLS1
13489                 PREL [0x02] = \WLS2
13490                 PREL [0x03] = \WLS3
13491                 PREL [0x04] = \WLS4
13492                 PREL [0x05] = \WLS5
13493                 PREL [0x06] = \WLS6
13494                 PREL [0x07] = \WLS7
13495                 Release (\_SB.WMI1.MWMI)
13496                 Return (PREL) /* \_SB_.WMI2.PREL */
13497             }
13498 
13499             Method (WMA8, 3, NotSerialized)
13500             {
13501                 CreateByteField (Arg2, 0x00, PRE0)
13502                 CreateByteField (Arg2, 0x01, PRE1)
13503                 CreateByteField (Arg2, 0x02, PRE2)
13504                 CreateByteField (Arg2, 0x03, PRE3)
13505                 CreateByteField (Arg2, 0x04, PRE4)
13506                 CreateByteField (Arg2, 0x05, PRE5)
13507                 CreateByteField (Arg2, 0x06, PRE6)
13508                 CreateByteField (Arg2, 0x07, PRE7)
13509                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13510                 \WLS0 = PRE0 /* \_SB_.WMI2.WMA8.PRE0 */
13511                 \WLS1 = PRE1 /* \_SB_.WMI2.WMA8.PRE1 */
13512                 \WLS2 = PRE2 /* \_SB_.WMI2.WMA8.PRE2 */
13513                 \WLS3 = PRE3 /* \_SB_.WMI2.WMA8.PRE3 */
13514                 \WLS4 = PRE4 /* \_SB_.WMI2.WMA8.PRE4 */
13515                 \WLS5 = PRE5 /* \_SB_.WMI2.WMA8.PRE5 */
13516                 \WLS6 = PRE6 /* \_SB_.WMI2.WMA8.PRE6 */
13517                 \WLS7 = PRE7 /* \_SB_.WMI2.WMA8.PRE7 */
13518                 \WMIS (0x08, 0x00)
13519                 Release (\_SB.WMI1.MWMI)
13520             }
13521 
13522             Name (ITEM, Package (0x05)
13523             {
13524                 Package (0x02)
13525                 {
13526                     0x00, 
13527                     "InhibitEnteringThinkPadSetup"
13528                 }, 
13529 
13530                 Package (0x02)
13531                 {
13532                     0x00, 
13533                     "MTMSerialConcatenation"
13534                 }, 
13535 
13536                 Package (0x02)
13537                 {
13538                     0x00, 
13539                     "SwapProductName"
13540                 }, 
13541 
13542                 Package (0x02)
13543                 {
13544                     0x00, 
13545                     "ComputraceMsgDisable"
13546                 }, 
13547 
13548                 Package (0x02)
13549                 {
13550                     0x00, 
13551                     "AtpMsgDisable"
13552                 }
13553             })
13554             Name (VSEL, Package (0x02)
13555             {
13556                 Package (0x02)
13557                 {
13558                     "Disable", 
13559                     "Enable"
13560                 }, 
13561 
13562                 Package (0x02)
13563                 {
13564                     "Off", 
13565                     "On"
13566                 }
13567             })
13568             Method (WQA9, 1, NotSerialized)
13569             {
13570                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13571                 If ((\WMIS (0x09, Arg0) != 0x00))
13572                 {
13573                     Release (\_SB.WMI1.MWMI)
13574                     Return ("")
13575                 }
13576 
13577                 Local0 = DerefOf (ITEM [\WITM])
13578                 Local1 = DerefOf (Local0 [0x00])
13579                 Local2 = DerefOf (Local0 [0x01])
13580                 Concatenate (Local2, ",", Local6)
13581                 Local3 = DerefOf (VSEL [Local1])
13582                 Concatenate (Local6, DerefOf (Local3 [\WSEL]), Local7)
13583                 Release (\_SB.WMI1.MWMI)
13584                 Return (Local7)
13585             }
13586 
13587             Method (WMAA, 3, NotSerialized)
13588             {
13589                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13590                 If ((SizeOf (Arg2) == 0x00))
13591                 {
13592                     Local0 = 0x02
13593                 }
13594                 Else
13595                 {
13596                     Local0 = \_SB.WMI1.CARG (Arg2)
13597                     If ((Local0 == 0x00))
13598                     {
13599                         Local0 = \_SB.WMI1.WSET (ITEM, VSEL)
13600                         If ((Local0 == 0x00))
13601                         {
13602                             Local0 = \WMIS (0x0A, 0x00)
13603                         }
13604                     }
13605                 }
13606 
13607                 Release (\_SB.WMI1.MWMI)
13608                 Return (DerefOf (\_SB.WMI1.RETN [Local0]))
13609             }
13610 
13611             Name (WQBB, Buffer (0x0538)
13612             {
13613                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
13614                 /* 0008 */  0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00,  // (.......
13615                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
13616                 /* 0018 */  0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42,  // .......B
13617                 /* 0020 */  0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,  // .....!..
13618                 /* 0028 */  0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,  // .PP...EA
13619                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  // .....!..
13620                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  // ..p.@...
13621                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  // (r."....
13622                 /* 0048 */  0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,  // 1...@H(.
13623                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  // D.S!p.._
13624                 /* 0058 */  0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,  // .....)..
13625                 /* 0060 */  0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,  // ..."....
13626                 /* 0068 */  0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,  // ..|...!.
13627                 /* 0070 */  0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80,  // .....%..
13628                 /* 0078 */  0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48,  // ..".x..H
13629                 /* 0080 */  0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04,  // .a..@...
13630                 /* 0088 */  0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07,  // J'.l.j..
13631                 /* 0090 */  0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83,  // ..<.$8..
13632                 /* 0098 */  0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20,  // ...\... 
13633                 /* 00A0 */  0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C,  // ....9hdl
13634                 /* 00A8 */  0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D,  // .<....e.
13635                 /* 00B0 */  0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63,  // ....."9c
13636                 /* 00B8 */  0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0,  // E...Ddr.
13637                 /* 00C0 */  0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3,  // T..j..Z.
13638                 /* 00C8 */  0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B,  // ..DN..!.
13639                 /* 00D0 */  0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6,  // .I..j...
13640                 /* 00D8 */  0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09,  // Iy....0.
13641                 /* 00E0 */  0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90,  // <.......
13642                 /* 00E8 */  0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C,  // ....O.s,
13643                 /* 00F0 */  0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C,  // ^.....@.
13644                 /* 00F8 */  0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D,  // .>.x....
13645                 /* 0100 */  0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3,  // Q...s...
13646                 /* 0108 */  0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C,  // .j...|8.
13647                 /* 0110 */  0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04,  // .t......
13648                 /* 0118 */  0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF,  // ..`=.Y .
13649                 /* 0120 */  0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23,  // .......#
13650                 /* 0128 */  0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26,  // .B..X..&
13651                 /* 0130 */  0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48,  // ....h..H
13652                 /* 0138 */  0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09,  // . ..B0..
13653                 /* 0140 */  0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE,  // .uh.7...
13654                 /* 0148 */  0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44,  // .B.t.qBD
13655                 /* 0150 */  0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15,  // ...@QjC.
13656                 /* 0158 */  0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31,  // Lg..f..1
13657                 /* 0160 */  0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3,  // ....A.a.
13658                 /* 0168 */  0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3,  // ..A.....
13659                 /* 0170 */  0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7,  // ...<.7..
13660                 /* 0178 */  0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23,  // ..8..1.#
13661                 /* 0180 */  0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51,  // e......Q
13662                 /* 0188 */  0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6,  // ....<...
13663                 /* 0190 */  0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86,  // `..C8.g.
13664                 /* 0198 */  0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08,  // G.....|.
13665                 /* 01A0 */  0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83,  // .....P..
13666                 /* 01A8 */  0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A,  // G.6.p..z
13667                 /* 01B0 */  0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1,  // ........
13668                 /* 01B8 */  0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA,  // ..Fz2GV.
13669                 /* 01C0 */  0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0,  // .....%|.
13670                 /* 01C8 */  0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE,  // `w....X.
13671                 /* 01D0 */  0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE,  //  P#3....
13672                 /* 01D8 */  0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F,  // a.'..bb.
13673                 /* 01E0 */  0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69,  // .t<...<i
13674                 /* 01E8 */  0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90,  // x.......
13675                 /* 01F0 */  0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85,  // ....b.W.
13676                 /* 01F8 */  0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08,  // .8..@|..
13677                 /* 0200 */  0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09,  // ...<8...
13678                 /* 0208 */  0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04,  // .k......
13679                 /* 0210 */  0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7,  // ?\.<.N..
13680                 /* 0218 */  0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13,  // ........
13681                 /* 0220 */  0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E,  // ...u...>
13682                 /* 0228 */  0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F,  // ..y./.o.
13683                 /* 0230 */  0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1,  // &.......
13684                 /* 0238 */  0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA,  // ..pN1...
13685                 /* 0240 */  0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0,  // .0......
13686                 /* 0248 */  0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC,  // ...}.93.
13687                 /* 0250 */  0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80,  // q.l...-.
13688                 /* 0258 */  0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50,  // .8O..|.P
13689                 /* 0260 */  0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC,  // ..n...?.
13690                 /* 0268 */  0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7,  // ........
13691                 /* 0270 */  0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60,  // b....7.`
13692                 /* 0278 */  0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D,  // H.4o51^m
13693                 /* 0280 */  0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52,  // BDx.y.1R
13694                 /* 0288 */  0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07,  // ...v.9..
13695                 /* 0290 */  0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23,  // .(...b.#
13696                 /* 0298 */  0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14,  // ...a.t..
13697                 /* 02A0 */  0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E,  // *R.0/.!.
13698                 /* 02A8 */  0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81,  // o.,.....
13699                 /* 02B0 */  0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06,  // .7......
13700                 /* 02B8 */  0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73,  // .0..S.vs
13701                 /* 02C0 */  0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91,  // `.......
13702                 /* 02C8 */  0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22,  // .G....."
13703                 /* 02D0 */  0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A,  // ......@*
13704                 /* 02D8 */  0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88,  // ..,...N.
13705                 /* 02E0 */  0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86,  // \..D@hd.
13706                 /* 02E8 */  0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0,  // .!.`....
13707                 /* 02F0 */  0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4,  // g.......
13708                 /* 02F8 */  0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44,  // ....C.,D
13709                 /* 0300 */  0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE,  // ..8..,..
13710                 /* 0308 */  0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70,  // G.~..G%p
13711                 /* 0310 */  0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03,  // .<4.....
13712                 /* 0318 */  0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09,  // ........
13713                 /* 0320 */  0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8,  // | `.<...
13714                 /* 0328 */  0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7,  // ....G...
13715                 /* 0330 */  0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF,  // ..(..p..
13716                 /* 0338 */  0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72,  // ...O9.&r
13717                 /* 0340 */  0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17,  // ..}"..3.
13718                 /* 0348 */  0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15,  // ........
13719                 /* 0350 */  0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A,  // .@......
13720                 /* 0358 */  0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0,  // >|......
13721                 /* 0360 */  0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67,  // ..e...8g
13722                 /* 0368 */  0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30,  // q.....)0
13723                 /* 0370 */  0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A,  // .r"E..D.
13724                 /* 0378 */  0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22,  // ...`..O"
13725                 /* 0380 */  0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55,  // 0...X0.U
13726                 /* 0388 */  0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9,  // ..R.....
13727                 /* 0390 */  0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02,  // .5...`/.
13728                 /* 0398 */  0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03,  // .y...*..
13729                 /* 03A0 */  0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12,  // ..Z.B...
13730                 /* 03A8 */  0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83,  // ...U.G*.
13731                 /* 03B0 */  0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C,  // ...-R.G,
13732                 /* 03B8 */  0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07,  // ........
13733                 /* 03C0 */  0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81,  // R.*...H.
13734                 /* 03C8 */  0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0,  // .i....x.
13735                 /* 03D0 */  0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0,  // ..s...1.
13736                 /* 03D8 */  0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0,  // `.0.1.C.
13737                 /* 03E0 */  0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0,  // ........
13738                 /* 03E8 */  0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29,  // ...&P..)
13739                 /* 03F0 */  0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF,  // ..'R....
13740                 /* 03F8 */  0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33,  // p.....o3
13741                 /* 0400 */  0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21,  // >..|...!
13742                 /* 0408 */  0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF,  // ^l..^.^.
13743                 /* 0410 */  0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27,  // .......'
13744                 /* 0418 */  0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24,  // ..!....$
13745                 /* 0420 */  0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78,  // .......x
13746                 /* 0428 */  0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75,  // .O;.7..u
13747                 /* 0430 */  0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02,  //  ....?..
13748                 /* 0438 */  0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29,  // .{..s..)
13749                 /* 0440 */  0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15,  // ....>...
13750                 /* 0448 */  0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44,  // .i.`!..D
13751                 /* 0450 */  0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43,  // J...M..C
13752                 /* 0458 */  0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06,  // .p.z . .
13753                 /* 0460 */  0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03,  // t.C.....
13754                 /* 0468 */  0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54,  // ..<"zX>T
13755                 /* 0470 */  0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E,  // ...s....
13756                 /* 0478 */  0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28,  // ....?..(
13757                 /* 0480 */  0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69,  // .......i
13758                 /* 0488 */  0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF,  // ...>....
13759                 /* 0490 */  0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79,  // ....(..y
13760                 /* 0498 */  0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78,  // ....N..x
13761                 /* 04A0 */  0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB,  // ..2Y.L|.
13762                 /* 04A8 */  0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37,  // ....|.e7
13763                 /* 04B0 */  0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE,  // Yx......
13764                 /* 04B8 */  0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB,  // ..../#..
13765                 /* 04C0 */  0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B,  // ..^G...;
13766                 /* 04C8 */  0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F,  // ....K.M.
13767                 /* 04D0 */  0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9,  // ..Z.....
13768                 /* 04D8 */  0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,  // Q.A.>..3
13769                 /* 04E0 */  0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4,  // v.......
13770                 /* 04E8 */  0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B,  // ,...@h.[
13771                 /* 04F0 */  0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02,  // .@....S.
13772                 /* 04F8 */  0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10,  // .j..bW%.
13773                 /* 0500 */  0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20,  // .T..... 
13774                 /* 0508 */  0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49,  // .r.O.@.I
13775                 /* 0510 */  0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25,  // ....c..%
13776                 /* 0518 */  0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A,  //  ......:
13777                 /* 0520 */  0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5,  // .baAh._.
13778                 /* 0528 */  0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D,  // ... .r2-
13779                 /* 0530 */  0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07   // @,'.....
13780             })
13781         }
13782 
13783         Device (WMI3)
13784         {
13785             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
13786             Name (_UID, 0x03)  // _UID: Unique ID
13787             Name (_WDG, /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x3C)
13788             {
13789                 /* 0000 */  0x79, 0x36, 0x4D, 0x8F, 0x9E, 0x74, 0x79, 0x44,  // y6M..tyD
13790                 /* 0008 */  0x9B, 0x16, 0xC6, 0x26, 0x01, 0xFD, 0x25, 0xF0,  // ...&..%.
13791                 /* 0010 */  0x41, 0x42, 0x01, 0x02, 0x69, 0xE8, 0xD2, 0x85,  // AB..i...
13792                 /* 0018 */  0x5A, 0x36, 0xCE, 0x4A, 0xA4, 0xD3, 0xCD, 0x69,  // Z6.J...i
13793                 /* 0020 */  0x2B, 0x16, 0x98, 0xA0, 0x41, 0x43, 0x01, 0x02,  // +...AC..
13794                 /* 0028 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
13795                 /* 0030 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
13796                 /* 0038 */  0x42, 0x43, 0x01, 0x00                           // BC..
13797             })
13798             Method (WMAB, 3, NotSerialized)
13799             {
13800                 CreateByteField (Arg2, 0x00, ASS0)
13801                 CreateWordField (Arg2, 0x01, ASS1)
13802                 CreateByteField (Arg2, 0x03, ASS2)
13803                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13804                 \WASB = ASS0 /* \_SB_.WMI3.WMAB.ASS0 */
13805                 \WASI = ASS1 /* \_SB_.WMI3.WMAB.ASS1 */
13806                 \WASD = ASS2 /* \_SB_.WMI3.WMAB.ASS2 */
13807                 \WMIS (0x0B, 0x00)
13808                 Local0 = \WASS
13809                 Release (\_SB.WMI1.MWMI)
13810                 Return (Local0)
13811             }
13812 
13813             Method (WMAC, 3, NotSerialized)
13814             {
13815                 CreateByteField (Arg2, 0x00, ASS0)
13816                 CreateWordField (Arg2, 0x01, ASS1)
13817                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13818                 \WASB = ASS0 /* \_SB_.WMI3.WMAC.ASS0 */
13819                 \WASI = ASS1 /* \_SB_.WMI3.WMAC.ASS1 */
13820                 \WMIS (0x0C, Arg1)
13821                 Local0 = \WASS
13822                 Release (\_SB.WMI1.MWMI)
13823                 Return (Local0)
13824             }
13825 
13826             Name (WQBC, Buffer (0x040A)
13827             {
13828                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
13829                 /* 0008 */  0xFA, 0x03, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00,  // ....2...
13830                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
13831                 /* 0018 */  0x98, 0xC3, 0x88, 0x00, 0x01, 0x06, 0x18, 0x42,  // .......B
13832                 /* 0020 */  0x10, 0x07, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,  // .....!..
13833                 /* 0028 */  0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,  // .PP...EA
13834                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  // .....!..
13835                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  // ..p.@...
13836                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  // (r."....
13837                 /* 0048 */  0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,  // 1...@H(.
13838                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  // D.S!p.._
13839                 /* 0058 */  0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,  // .....)..
13840                 /* 0060 */  0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,  // ..."....
13841                 /* 0068 */  0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,  // ..|...!.
13842                 /* 0070 */  0x58, 0x07, 0x11, 0x21, 0xD2, 0x31, 0x34, 0x29,  // X..!.14)
13843                 /* 0078 */  0x40, 0xA2, 0x00, 0x8B, 0x02, 0x64, 0xC3, 0xC8,  // @....d..
13844                 /* 0080 */  0x36, 0x22, 0x99, 0x87, 0x45, 0x0E, 0x02, 0x25,  // 6"..E..%
13845                 /* 0088 */  0x66, 0x10, 0x28, 0x9D, 0xE0, 0xB2, 0x89, 0xAB,  // f.(.....
13846                 /* 0090 */  0x41, 0x9C, 0x4C, 0x94, 0xF3, 0x88, 0x92, 0xE0,  // A.L.....
13847                 /* 0098 */  0xA8, 0x0E, 0x22, 0x42, 0xEC, 0x72, 0x05, 0x48,  // .."B.r.H
13848                 /* 00A0 */  0x1E, 0x80, 0x34, 0x4F, 0x4C, 0xD6, 0xE7, 0xA0,  // ..4OL...
13849                 /* 00A8 */  0x91, 0xB1, 0x11, 0xF0, 0x94, 0x1A, 0x40, 0x58,  // ......@X
13850                 /* 00B0 */  0xA0, 0x75, 0x2A, 0xE0, 0x7A, 0x0D, 0x43, 0x3D,  // .u*.z.C=
13851                 /* 00B8 */  0x80, 0x48, 0xCE, 0x58, 0x51, 0xC0, 0xF6, 0x3A,  // .H.XQ..:
13852                 /* 00C0 */  0x11, 0x8D, 0xEA, 0x40, 0x99, 0x24, 0x38, 0xD4,  // ...@.$8.
13853                 /* 00C8 */  0x30, 0x3D, 0xB5, 0xE6, 0x27, 0xA6, 0x89, 0x9C,  // 0=..'...
13854                 /* 00D0 */  0x5A, 0xD3, 0x43, 0x16, 0x24, 0x93, 0x36, 0x14,  // Z.C.$.6.
13855                 /* 00D8 */  0xD4, 0xD8, 0x3D, 0xAD, 0x93, 0xF2, 0x4C, 0x23,  // ..=...L#
13856                 /* 00E0 */  0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, 0x8D,  // ..a.x...
13857                 /* 00E8 */  0x13, 0x94, 0x75, 0x22, 0xA0, 0x03, 0xE5, 0x80,  // ..u"....
13858                 /* 00F0 */  0x27, 0xE1, 0x39, 0x16, 0x2F, 0x40, 0xF8, 0x88,  // '.9./@..
13859                 /* 00F8 */  0xC9, 0xB4, 0x4D, 0xE0, 0x33, 0x81, 0x87, 0x79,  // ..M.3..y
13860                 /* 0100 */  0xCC, 0xD8, 0x11, 0x85, 0x0B, 0x78, 0x3E, 0xC7,  // .....x>.
13861                 /* 0108 */  0x10, 0x39, 0xEE, 0xA1, 0xC6, 0x38, 0x8A, 0xC8,  // .9...8..
13862                 /* 0110 */  0x47, 0x60, 0x24, 0x03, 0xC5, 0x2B, 0x08, 0x89,  // G`$..+..
13863                 /* 0118 */  0x80, 0xF8, 0x76, 0x70, 0x70, 0x91, 0xFC, 0xFF,  // ..vpp...
13864                 /* 0120 */  0x47, 0x89, 0x11, 0x2A, 0xC6, 0xDB, 0x00, 0x6E,  // G..*...n
13865                 /* 0128 */  0x5E, 0x09, 0x8A, 0x1E, 0x07, 0x4A, 0x06, 0x84,  // ^....J..
13866                 /* 0130 */  0x3C, 0x0A, 0xB0, 0x7A, 0x28, 0x20, 0x04, 0x16,  // <..z( ..
13867                 /* 0138 */  0x27, 0x40, 0xE3, 0x38, 0x05, 0xD3, 0x99, 0x00,  // '@.8....
13868                 /* 0140 */  0x6D, 0x02, 0xBC, 0x09, 0x30, 0x27, 0xC0, 0x16,  // m...0'..
13869                 /* 0148 */  0x86, 0x80, 0x82, 0x9C, 0x59, 0x94, 0x20, 0x11,  // ....Y. .
13870                 /* 0150 */  0x42, 0x31, 0x88, 0x0A, 0x05, 0x18, 0x43, 0x14,  // B1....C.
13871                 /* 0158 */  0xCA, 0x3B, 0x41, 0x8C, 0xCA, 0x20, 0x74, 0x82,  // .;A.. t.
13872                 /* 0160 */  0x08, 0x14, 0x3D, 0x78, 0x98, 0xD6, 0x40, 0x74,  // ..=x..@t
13873                 /* 0168 */  0x89, 0xF0, 0xC8, 0xB1, 0x47, 0x00, 0x9F, 0x19,  // ....G...
13874                 /* 0170 */  0xCE, 0xE9, 0x04, 0x1F, 0x01, 0xDE, 0x16, 0x4C,  // .......L
13875                 /* 0178 */  0xE0, 0x79, 0xBF, 0x24, 0x1C, 0x6A, 0xD8, 0x03,  // .y.$.j..
13876                 /* 0180 */  0x8E, 0x1A, 0xE3, 0x28, 0x12, 0x58, 0xD0, 0x33,  // ...(.X.3
13877                 /* 0188 */  0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, 0x75, 0x64,  // B.@...ud
13878                 /* 0190 */  0xF0, 0xE1, 0xC0, 0x23, 0x3B, 0x72, 0xCF, 0xF0,  // ...#;r..
13879                 /* 0198 */  0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, 0x36, 0x3C,  // .....<6<
13880                 /* 01A0 */  0x15, 0x78, 0x0C, 0xEC, 0xBA, 0xE0, 0x73, 0x80,  // .x....s.
13881                 /* 01A8 */  0x8F, 0x09, 0x78, 0xD7, 0x80, 0x9A, 0xF3, 0xD3,  // ..x.....
13882                 /* 01B0 */  0x01, 0x9B, 0x72, 0x38, 0xCC, 0x70, 0x3D, 0xFD,  // ..r8.p=.
13883                 /* 01B8 */  0x70, 0x27, 0x70, 0xD2, 0x06, 0x64, 0xB3, 0xF3,  // p'p..d..
13884                 /* 01C0 */  0xE0, 0x70, 0xE3, 0x3C, 0x99, 0x23, 0x2B, 0x55,  // .p.<.#+U
13885                 /* 01C8 */  0x80, 0xD9, 0x13, 0x82, 0x4E, 0x13, 0x3E, 0x73,  // ....N.>s
13886                 /* 01D0 */  0xB0, 0xBB, 0xC0, 0xF9, 0xF4, 0x0C, 0x49, 0xE4,  // ......I.
13887                 /* 01D8 */  0x0F, 0x02, 0x35, 0x32, 0x43, 0xFB, 0x2C, 0xF0,  // ..52C.,.
13888                 /* 01E0 */  0xEA, 0x61, 0xC8, 0x87, 0x85, 0xC3, 0x62, 0x62,  // .a....bb
13889                 /* 01E8 */  0xCF, 0x1E, 0x74, 0x3C, 0xE0, 0x3F, 0x25, 0x3C,  // ..t<.?%<
13890                 /* 01F0 */  0x6C, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0xA2, 0x3D,  // lx.....=
13891                 /* 01F8 */  0x8F, 0x80, 0xE1, 0xFF, 0x7F, 0x1E, 0x81, 0x39,  // .......9
13892                 /* 0200 */  0x9C, 0x07, 0x84, 0x27, 0x07, 0x76, 0x80, 0xC0,  // ...'.v..
13893                 /* 0208 */  0x1C, 0x48, 0x80, 0xC9, 0xF9, 0x02, 0x77, 0x28,  // .H....w(
13894                 /* 0210 */  0xF0, 0x10, 0xF8, 0x00, 0x1E, 0x25, 0xCE, 0xD1,  // .....%..
13895                 /* 0218 */  0x4A, 0x67, 0x86, 0x3C, 0xB9, 0x80, 0x2D, 0xFB,  // Jg.<..-.
13896                 /* 0220 */  0x1B, 0x40, 0x07, 0x0F, 0xE7, 0x06, 0x91, 0x8D,  // .@......
13897                 /* 0228 */  0x57, 0x80, 0x09, 0x74, 0x38, 0xB1, 0x1E, 0x20,  // W..t8.. 
13898                 /* 0230 */  0x4D, 0x14, 0x0C, 0x04, 0xD3, 0xD3, 0x6B, 0x00,  // M.....k.
13899                 /* 0238 */  0x3E, 0x15, 0x38, 0x37, 0x89, 0x92, 0x0F, 0x8C,  // >.87....
13900                 /* 0240 */  0xC2, 0x39, 0xEB, 0x79, 0x84, 0x82, 0x18, 0xD0,  // .9.y....
13901                 /* 0248 */  0x41, 0x20, 0xE4, 0xE4, 0xA0, 0x80, 0x3A, 0xAA,  // A ....:.
13902                 /* 0250 */  0xF8, 0x3C, 0x72, 0xAA, 0x0F, 0x3D, 0x9E, 0x94,  // .<r..=..
13903                 /* 0258 */  0x47, 0xE1, 0xAB, 0x8A, 0x0F, 0x21, 0x3E, 0x4F,  // G....!>O
13904                 /* 0260 */  0x78, 0xF4, 0x3E, 0x29, 0xF0, 0xEF, 0x8C, 0xAF,  // x.>)....
13905                 /* 0268 */  0x0E, 0x46, 0xB7, 0x9A, 0xE3, 0x0A, 0x0A, 0xCC,  // .F......
13906                 /* 0270 */  0x67, 0x11, 0x4E, 0x50, 0xD7, 0x6D, 0x01, 0xFA,  // g.NP.m..
13907                 /* 0278 */  0x29, 0xE0, 0x08, 0x3C, 0x94, 0x77, 0x92, 0xC7,  // )..<.w..
13908                 /* 0280 */  0x90, 0x04, 0xF5, 0x9D, 0x16, 0x40, 0x01, 0xE4,  // .....@..
13909                 /* 0288 */  0x9B, 0x81, 0x4F, 0x02, 0x21, 0xFE, 0xFF, 0x4F,  // ..O.!..O
13910                 /* 0290 */  0x07, 0x1E, 0xC3, 0xC3, 0x80, 0xD1, 0x8C, 0xCE,  // ........
13911                 /* 0298 */  0xC3, 0x4F, 0x16, 0x15, 0x77, 0xB2, 0x14, 0xC4,  // .O..w...
13912                 /* 02A0 */  0x93, 0x75, 0x94, 0xC9, 0xA2, 0x67, 0xE2, 0xAB,  // .u...g..
13913                 /* 02A8 */  0x85, 0x27, 0x74, 0x4A, 0x41, 0xCE, 0xD1, 0x13,  // .'tJA...
13914                 /* 02B0 */  0xF6, 0x55, 0x04, 0xD6, 0xF9, 0x20, 0xE4, 0x8B,  // .U... ..
13915                 /* 02B8 */  0x81, 0xA7, 0x61, 0x38, 0x4F, 0x96, 0xC3, 0x79,  // ..a8O..y
13916                 /* 02C0 */  0xB2, 0x7C, 0x2C, 0xBE, 0x6A, 0xC0, 0x1F, 0x2D,  // .|,.j..-
13917                 /* 02C8 */  0x96, 0xA0, 0xC0, 0xD9, 0x82, 0x1C, 0x1E, 0x13,  // ........
13918                 /* 02D0 */  0x6F, 0x54, 0xF4, 0x46, 0xE4, 0xE1, 0xF1, 0xCB,  // oT.F....
13919                 /* 02D8 */  0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, 0x6F, 0x12,  // ....p.o.
13920                 /* 02E0 */  0x38, 0x8C, 0xC7, 0x12, 0x0F, 0xD1, 0x97, 0x23,  // 8......#
13921                 /* 02E8 */  0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, 0x4E, 0x36,  // X.9i..N6
13922                 /* 02F0 */  0xE8, 0x4B, 0x10, 0xBB, 0x1C, 0x01, 0xBF, 0x88,  // .K......
13923                 /* 02F8 */  0x26, 0x86, 0xC1, 0x22, 0x2D, 0x45, 0x11, 0x17,  // &.."-E..
13924                 /* 0300 */  0x45, 0x61, 0x7C, 0xC5, 0x82, 0xFD, 0xFF, 0xBF,  // Ea|.....
13925                 /* 0308 */  0x62, 0x01, 0x16, 0x04, 0x0F, 0x1B, 0x34, 0x87,  // b.....4.
13926                 /* 0310 */  0x83, 0x97, 0x1E, 0x36, 0x6B, 0x38, 0x07, 0x99,  // ...6k8..
13927                 /* 0318 */  0xD3, 0xF1, 0x48, 0x4E, 0x1B, 0xC6, 0x1D, 0x0B,  // ..HN....
13928                 /* 0320 */  0xFE, 0x9D, 0xEA, 0xA9, 0xCA, 0xD3, 0x8A, 0xF2,  // ........
13929                 /* 0328 */  0x64, 0xF5, 0x7A, 0xE5, 0x63, 0x96, 0xA1, 0xCE,  // d.z.c...
13930                 /* 0330 */  0xE0, 0x1D, 0xCB, 0xB7, 0x3C, 0x4F, 0x21, 0x4A,  // ....<O!J
13931                 /* 0338 */  0x9C, 0x97, 0x2D, 0x76, 0xC7, 0x32, 0x48, 0x50,  // ..-v.2HP
13932                 /* 0340 */  0x23, 0x3F, 0x68, 0x31, 0x94, 0xE0, 0xF1, 0xDE,  // #?h1....
13933                 /* 0348 */  0xB1, 0x00, 0x6F, 0xFF, 0xFF, 0x3B, 0x16, 0x60,  // ..o..;.`
13934                 /* 0350 */  0xFC, 0x04, 0xC1, 0x09, 0x7C, 0xC7, 0x02, 0x1C,  // ....|...
13935                 /* 0358 */  0xC5, 0x7E, 0x37, 0xE8, 0x4A, 0x45, 0xEE, 0x58,  // .~7.JE.X
13936                 /* 0360 */  0x28, 0x0E, 0xAB, 0xB9, 0x63, 0x41, 0x9C, 0x28,  // (...cA.(
13937                 /* 0368 */  0xE6, 0x8A, 0x05, 0x86, 0xFF, 0xFF, 0x15, 0x0B,  // ........
13938                 /* 0370 */  0xE0, 0x75, 0xC0, 0x2B, 0x16, 0x68, 0xFE, 0xFF,  // .u.+.h..
13939                 /* 0378 */  0x57, 0x2C, 0xF0, 0x5E, 0x8E, 0x80, 0xDF, 0x09,  // W,.^....
13940                 /* 0380 */  0xD1, 0x77, 0x0D, 0x7E, 0x9A, 0xB6, 0xA2, 0xBB,  // .w.~....
13941                 /* 0388 */  0x06, 0x94, 0x19, 0xBE, 0x07, 0xF9, 0xB0, 0x13,  // ........
13942                 /* 0390 */  0x2C, 0xD2, 0xA3, 0x8D, 0x6F, 0x49, 0xE1, 0x7C,  // ,...oI.|
13943                 /* 0398 */  0xDB, 0x00, 0xD8, 0xF2, 0xFF, 0xBF, 0x6D, 0x00,  // ......m.
13944                 /* 03A0 */  0x4C, 0x19, 0xBF, 0x6F, 0x1B, 0xC0, 0x4F, 0xA1,  // L..o..O.
13945                 /* 03A8 */  0x4D, 0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53,  // M...Z5(S
13946                 /* 03B0 */  0xA3, 0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66,  // .L.Z}*5f
13947                 /* 03B8 */  0x4C, 0xC9, 0xC1, 0xCE, 0x77, 0x0C, 0x2A, 0x6C,  // L...w.*l
13948                 /* 03C0 */  0x65, 0x1A, 0x9A, 0x63, 0x81, 0xD0, 0x10, 0xC7,  // e..c....
13949                 /* 03C8 */  0x26, 0x19, 0x01, 0x51, 0x22, 0x10, 0x01, 0x59,  // &..Q"..Y
13950                 /* 03D0 */  0xFD, 0x6F, 0x42, 0x40, 0xCE, 0x02, 0x22, 0x20,  // .oB@.." 
13951                 /* 03D8 */  0x2B, 0x58, 0x9A, 0xC0, 0x9D, 0xFF, 0xD8, 0x28,  // +X.....(
13952                 /* 03E0 */  0x40, 0xA2, 0x02, 0x84, 0x29, 0x7D, 0x93, 0x09,  // @...)}..
13953                 /* 03E8 */  0xD4, 0xB2, 0x41, 0x04, 0xF4, 0xFF, 0x3F, 0x42,  // ..A...?B
13954                 /* 03F0 */  0xD9, 0x00, 0x62, 0x82, 0x41, 0x04, 0x64, 0x91,  // ..b.A.d.
13955                 /* 03F8 */  0x3E, 0x80, 0x98, 0x62, 0x10, 0x01, 0x59, 0xDD,  // >..b..Y.
13956                 /* 0400 */  0xA3, 0x40, 0x40, 0xD6, 0x0A, 0x22, 0x20, 0xFF,  // .@@.." .
13957                 /* 0408 */  0xFF, 0x01                                       // ..
13958             })
13959         }
13960 
13961         Scope (\_SB.PCI0.LPC.EC.HKEY)
13962         {
13963             Mutex (BFWM, 0x07)
13964             Method (MHCF, 1, NotSerialized)
13965             {
13966                 Local0 = \BFWC (Arg0)
13967                 Return (Local0)
13968             }
13969 
13970             Method (MHPF, 1, NotSerialized)
13971             {
13972                 Name (RETB, Buffer (0x25){})
13973                 Acquire (BFWM, 0xFFFF)
13974                 If ((SizeOf (Arg0) <= 0x25))
13975                 {
13976                     \BFWB = Arg0
13977                     If (\BFWP ())
13978                     {
13979                         \_SB.PCI0.LPC.EC.CHKS ()
13980                         \BFWL ()
13981                     }
13982 
13983                     RETB = \BFWB
13984                 }
13985 
13986                 Release (BFWM)
13987                 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHPF.RETB */
13988             }
13989 
13990             Method (MHIF, 1, NotSerialized)
13991             {
13992                 Name (RETB, Buffer (0x0A){})
13993                 Acquire (BFWM, 0xFFFF)
13994                 \BFWG (Arg0)
13995                 RETB = \BFWB
13996                 Release (BFWM)
13997                 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHIF.RETB */
13998             }
13999 
14000             Method (MHDM, 1, NotSerialized)
14001             {
14002                 \BDMC (Arg0)
14003             }
14004         }
14005 
14006         Scope (\_SB.PCI0.LPC.EC.HKEY)
14007         {
14008             Method (PSSG, 1, NotSerialized)
14009             {
14010                 Return (\PSIF (0x00, 0x00))
14011             }
14012 
14013             Method (PSSS, 1, NotSerialized)
14014             {
14015                 Return (\PSIF (0x01, Arg0))
14016             }
14017 
14018             Method (PSBS, 1, NotSerialized)
14019             {
14020                 Return (\PSIF (0x02, Arg0))
14021             }
14022 
14023             Method (BICG, 1, NotSerialized)
14024             {
14025                 Return (\PSIF (0x03, Arg0))
14026             }
14027 
14028             Method (BICS, 1, NotSerialized)
14029             {
14030                 Return (\PSIF (0x04, Arg0))
14031             }
14032 
14033             Method (BCTG, 1, NotSerialized)
14034             {
14035                 Return (\PSIF (0x05, Arg0))
14036             }
14037 
14038             Method (BCCS, 1, NotSerialized)
14039             {
14040                 Return (\PSIF (0x06, Arg0))
14041             }
14042 
14043             Method (BCSG, 1, NotSerialized)
14044             {
14045                 Return (\PSIF (0x07, Arg0))
14046             }
14047 
14048             Method (BCSS, 1, NotSerialized)
14049             {
14050                 Return (\PSIF (0x08, Arg0))
14051             }
14052 
14053             Method (BDSG, 1, NotSerialized)
14054             {
14055                 Return (\PSIF (0x09, Arg0))
14056             }
14057 
14058             Method (BDSS, 1, NotSerialized)
14059             {
14060                 Return (\PSIF (0x0A, Arg0))
14061             }
14062         }
14063 
14064         Scope (\_SB.PCI0.LPC.EC.HKEY)
14065         {
14066             Method (GILN, 0, NotSerialized)
14067             {
14068                 Return ((0x02 | \ILNF))
14069             }
14070 
14071             Method (SILN, 1, NotSerialized)
14072             {
14073                 If ((0x01 == Arg0))
14074                 {
14075                     \ILNF = 0x01
14076                     BBLS = 0x00
14077                     Return (0x00)
14078                 }
14079                 ElseIf ((0x02 == Arg0))
14080                 {
14081                     \ILNF = 0x00
14082                     BBLS = 0x01
14083                     Return (0x00)
14084                 }
14085                 Else
14086                 {
14087                     Return (0x01)
14088                 }
14089             }
14090 
14091             Method (GLSI, 0, NotSerialized)
14092             {
14093                 If (\H8DR)
14094                 {
14095                     Return ((0x02 + \_SB.PCI0.LPC.EC.HPLD))
14096                 }
14097                 ElseIf ((\RBEC (0x46) & 0x04))
14098                 {
14099                     Return (0x03)
14100                 }
14101                 Else
14102                 {
14103                     Return (0x02)
14104                 }
14105             }
14106         }
14107 
14108         Scope (\_SB.PCI0.LPC.EC.HKEY)
14109         {
14110             Method (GDLN, 0, NotSerialized)
14111             {
14112                 Return ((0x02 | \PLUX))
14113             }
14114 
14115             Method (SDLN, 1, NotSerialized)
14116             {
14117                 If ((0x01 == Arg0))
14118                 {
14119                     \PLUX = 0x01
14120                     Return (0x00)
14121                 }
14122                 ElseIf ((0x02 == Arg0))
14123                 {
14124                     \PLUX = 0x00
14125                     Return (0x00)
14126                 }
14127                 Else
14128                 {
14129                     Return (0x01)
14130                 }
14131             }
14132         }
14133 
14134         Name (\VHCC, 0x00)
14135         Scope (\_SB.PCI0.PEG.VID)
14136         {
14137             Method (ISOP, 0, NotSerialized)
14138             {
14139                 Return ((VDSP && (VIGD && VDSC)))
14140             }
14141         }
14142 
14143         Scope (\_SB.PCI0)
14144         {
14145             Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
14146         }
14147 
14148         Scope (\_SB.PCI0.PEG.VID)
14149         {
14150             Method (GOBT, 1, NotSerialized)
14151             {
14152                 Name (OPVK, Buffer (0xE6)
14153                 {
14154                     /* 0000 */  0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2,  // ..OQPr..
14155                     /* 0008 */  0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00,  // KV......
14156                     /* 0010 */  0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35,  // 14859745
14157                     /* 0018 */  0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75,  // 6985Genu
14158                     /* 0020 */  0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44,  // ine NVID
14159                     /* 0028 */  0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,  // IA Certi
14160                     /* 0030 */  0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74,  // fied Opt
14161                     /* 0038 */  0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61,  // imus Rea
14162                     /* 0040 */  0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65,  // dy Mothe
14163                     /* 0048 */  0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66,  // rboard f
14164                     /* 0050 */  0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32,  // or 68832
14165                     /* 0058 */  0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32,  // 5nozomi2
14166                     /* 0060 */  0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20,  // 1D5     
14167                     /* 0068 */  0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27,  // - @J $U'
14168                     /* 0070 */  0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42,  // \"T )_GB
14169                     /* 0078 */  0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22,  //  P/AO\7"
14170                     /* 0080 */  0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F,  // =F79K7+_
14171                     /* 0088 */  0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48,  // ?KH\_FXH
14172                     /* 0090 */  0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50,  // _DW2&JFP
14173                     /* 0098 */  0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D,  // R%$/F$ -
14174                     /* 00A0 */  0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67,  //  Copyrig
14175                     /* 00A8 */  0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20,  // ht 2010 
14176                     /* 00B0 */  0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43,  // NVIDIA C
14177                     /* 00B8 */  0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69,  // orporati
14178                     /* 00C0 */  0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52,  // on All R
14179                     /* 00C8 */  0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65,  // ights Re
14180                     /* 00D0 */  0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31,  // served-1
14181                     /* 00D8 */  0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36,  // 48597456
14182                     /* 00E0 */  0x39, 0x38, 0x35, 0x28, 0x52, 0x29               // 985(R)
14183                 })
14184                 CreateWordField (Arg0, 0x02, USRG)
14185                 If ((USRG == 0x564B))
14186                 {
14187                     Return (OPVK) /* \_SB_.PCI0.PEG_.VID_.GOBT.OPVK */
14188                 }
14189 
14190                 Return (Zero)
14191             }
14192         }
14193 
14194         Scope (\_SB.PCI0.PEG.VID)
14195         {
14196             Name (OMPR, 0x02)
14197             Name (HDAS, 0x00)
14198             Method (NVOP, 4, Serialized)
14199             {
14200                 Debug = "------- NV OPTIMUS DSM --------"
14201                 If ((Arg1 != 0x0100))
14202                 {
14203                     Return (0x80000001)
14204                 }
14205 
14206                 Switch (ToInteger (Arg2))
14207                 {
14208                     Case (0x00)
14209                     {
14210                         Local0 = Buffer (0x04)
14211                             {
14212                                  0x00, 0x00, 0x00, 0x00                           // ....
14213                             }
14214                         Divide (0x00, 0x08, Local2, Local1)
14215                         Local2 = (0x01 << Local2)
14216                         Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14217                         Divide (0x1A, 0x08, Local2, Local1)
14218                         Local2 = (0x01 << Local2)
14219                         Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14220                         Divide (0x1B, 0x08, Local2, Local1)
14221                         Local2 = (0x01 << Local2)
14222                         Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14223                         Divide (0x10, 0x08, Local2, Local1)
14224                         Local2 = (0x01 << Local2)
14225                         Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14226                         Return (Local0)
14227                     }
14228                     Case (0x1A)
14229                     {
14230                         CreateField (Arg3, 0x18, 0x02, OPCE)
14231                         CreateField (Arg3, 0x00, 0x01, FLCH)
14232                         If (ToInteger (FLCH))
14233                         {
14234                             OMPR = OPCE /* \_SB_.PCI0.PEG_.VID_.NVOP.OPCE */
14235                         }
14236 
14237                         Local0 = Buffer (0x04)
14238                             {
14239                                  0x00, 0x00, 0x00, 0x00                           // ....
14240                             }
14241                         CreateField (Local0, 0x00, 0x01, OPEN)
14242                         CreateField (Local0, 0x03, 0x02, CGCS)
14243                         CreateField (Local0, 0x06, 0x01, SHPC)
14244                         CreateField (Local0, 0x18, 0x03, DGPC)
14245                         CreateField (Local0, 0x1B, 0x02, HDAC)
14246                         OPEN = One
14247                         SHPC = One
14248                         DGPC = One
14249                         If (\_SB.PCI0.PEG.VID._STA ())
14250                         {
14251                             CGCS = 0x03
14252                         }
14253 
14254                         HDAC = 0x02
14255                         Return (Local0)
14256                     }
14257                     Case (0x1B)
14258                     {
14259                         CreateField (Arg3, 0x00, 0x01, HDAU)
14260                         CreateField (Arg3, 0x01, 0x01, HDAR)
14261                         Local0 = Buffer (0x04)
14262                             {
14263                                  0x00, 0x00, 0x00, 0x00                           // ....
14264                             }
14265                         CreateField (Local0, 0x02, 0x02, RQGS)
14266                         CreateField (Local0, 0x04, 0x01, PWST)
14267                         PWST = One
14268                         RQGS = Zero
14269                         If (ToInteger (HDAR))
14270                         {
14271                             HDAS = ToInteger (HDAU)
14272                         }
14273 
14274                         Return (Local0)
14275                     }
14276                     Case (0x10)
14277                     {
14278                         Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
14279                     }
14280 
14281                 }
14282 
14283                 Return (0x80000002)
14284             }
14285         }
14286 
14287         Scope (\)
14288         {
14289             Method (CMPB, 2, NotSerialized)
14290             {
14291                 Local1 = SizeOf (Arg0)
14292                 If ((Local1 != SizeOf (Arg1)))
14293                 {
14294                     Return (0x00)
14295                 }
14296 
14297                 Local0 = 0x00
14298                 While ((Local0 < Local1))
14299                 {
14300                     If ((DerefOf (Arg0 [Local0]) != DerefOf (Arg1 [Local0]
14301                         )))
14302                     {
14303                         Return (0x00)
14304                     }
14305 
14306                     Local0++
14307                 }
14308 
14309                 Return (0x01)
14310             }
14311         }
14312 
14313         Scope (\_SB.PCI0.PEG.VID)
14314         {
14315             Name (CPPC, 0x00)
14316             Method (NVPS, 4, Serialized)
14317             {
14318                 Debug = "------- NV GPS DSM --------"
14319                 Switch (ToInteger (Arg2))
14320                 {
14321                     Case (0x00)
14322                     {
14323                         Local0 = Buffer (0x08)
14324                             {
14325                                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
14326                             }
14327                         Local3 = Buffer (0x07)
14328                             {
14329                                  0x00, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF         // . !"#*.
14330                             }
14331                         Local4 = Zero
14332                         Local5 = DerefOf (Local3 [Local4])
14333                         While ((Local5 != 0xFF))
14334                         {
14335                             Divide (Local5, 0x08, Local2, Local1)
14336                             Local2 = (0x01 << Local2)
14337                             Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14338                             Local4++
14339                             Local5 = DerefOf (Local3 [Local4])
14340                         }
14341 
14342                         Return (Local0)
14343                     }
14344                     Case (0x20)
14345                     {
14346                         Local0 = Buffer (0x04)
14347                             {
14348                                  0x00, 0x00, 0x00, 0x00                           // ....
14349                             }
14350                         CreateField (Local0, 0x18, 0x01, CUIT)
14351                         CreateField (Local0, 0x1E, 0x01, PSER)
14352                         CUIT = One
14353                         PSER = One
14354                         Return (Local0)
14355                     }
14356                     Case (0x21)
14357                     {
14358                         Return (\_PR.CPU0._PSS)
14359                     }
14360                     Case (0x22)
14361                     {
14362                         CreateField (Arg3, 0x00, 0x08, PPCV)
14363                         CPPC = PPCV /* \_SB_.PCI0.PEG_.VID_.NVPS.PPCV */
14364                         \PNTF (0x80)
14365                         Return (Buffer (0x04)
14366                         {
14367                              0x00, 0x00, 0x00, 0x00                           // ....
14368                         })
14369                     }
14370                     Case (0x23)
14371                     {
14372                         Local0 = Buffer (0x04)
14373                             {
14374                                  0x00, 0x00, 0x00, 0x00                           // ....
14375                             }
14376                         Local0 [0x00] = CPPC /* \_SB_.PCI0.PEG_.VID_.CPPC */
14377                         Return (Local0)
14378                     }
14379                     Case (0x2A)
14380                     {
14381                         Local0 = Buffer (0x24)
14382                             {
14383                                 /* 0000 */  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
14384                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14385                                 /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14386                                 /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14387                                 /* 0020 */  0x00, 0x00, 0x00, 0x00                           // ....
14388                             }
14389                         Local0 [0x00] = DerefOf (Arg3 [0x00])
14390                         CreateField (Arg3, 0x00, 0x04, QTYP)
14391                         Switch (ToInteger (QTYP))
14392                         {
14393                             Case (0x00)
14394                             {
14395                                 Local1 = \_SB.PCI0.LPC.EC.TMP0
14396                                 Local0 [0x0C] = (Local1 & 0xFF)
14397                                 Return (Local0)
14398                             }
14399                             Case (0x01)
14400                             {
14401                                 Local0 [0x0D] = 0x08
14402                                 Local0 [0x01] = 0x03
14403                                 Return (Local0)
14404                             }
14405                             Case (0x02)
14406                             {
14407                                 Local0 [0x01] = 0x03
14408                                 Local0 [0x08] = 0x50
14409                                 Return (Local0)
14410                             }
14411 
14412                         }
14413                     }
14414 
14415                 }
14416 
14417                 Return (Buffer (0x04)
14418                 {
14419                      0x02, 0x00, 0x00, 0x80                           // ....
14420                 })
14421             }
14422         }
14423     }
14424 
14425     Name (\_S0, Package (0x04)  // _S0_: S0 System State
14426     {
14427         0x00, 
14428         0x00, 
14429         0x00, 
14430         0x00
14431     })
14432     Name (\_S3, Package (0x04)  // _S3_: S3 System State
14433     {
14434         0x05, 
14435         0x05, 
14436         0x00, 
14437         0x00
14438     })
14439     Name (\_S4, Package (0x04)  // _S4_: S4 System State
14440     {
14441         0x06, 
14442         0x06, 
14443         0x00, 
14444         0x00
14445     })
14446     Name (\_S5, Package (0x04)  // _S5_: S5 System State
14447     {
14448         0x07, 
14449         0x07, 
14450         0x00, 
14451         0x00
14452     })
14453     Method (\_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
14454     {
14455         Local0 = 0x01
14456         If ((Arg0 == \SPS))
14457         {
14458             Local0 = 0x00
14459         }
14460 
14461         If (((Arg0 == 0x00) || (Arg0 >= 0x06)))
14462         {
14463             Local0 = 0x00
14464         }
14465 
14466         If (Local0)
14467         {
14468             \SPS = Arg0
14469             \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
14470             If (\_SB.PCI0.LPC.EC.KBLT)
14471             {
14472                 \UCMS (0x0D)
14473             }
14474 
14475             If ((Arg0 == 0x01))
14476             {
14477                 \FNID = \_SB.PCI0.LPC.EC.HFNI
14478                 \_SB.PCI0.LPC.EC.HFNI = 0x00
14479                 \_SB.PCI0.LPC.EC.HFSP = 0x00
14480             }
14481 
14482             If ((Arg0 == 0x03))
14483             {
14484                 If (VDSP)
14485                 {
14486                     \SWTT (0x00)
14487                 }
14488 
14489                 \VVPD (0x03)
14490                 \TRAP ()
14491                 \ACST = \_SB.PCI0.LPC.EC.AC._PSR ()
14492                 If ((\FNWK == 0x01))
14493                 {
14494                     If (\H8DR)
14495                     {
14496                         \_SB.PCI0.LPC.EC.HWFN = 0x00
14497                     }
14498                     Else
14499                     {
14500                         \MBEC (0x32, 0xEF, 0x00)
14501                     }
14502                 }
14503             }
14504 
14505             If ((Arg0 == 0x04))
14506             {
14507                 If (VDSP)
14508                 {
14509                     SHA1 = Zero
14510                 }
14511 
14512                 \_SB.SLPB._PSW (0x00)
14513                 \TRAP ()
14514                 \_SB.PCI0.LPC.TPM.CMOR ()
14515                 \AWON (0x04)
14516             }
14517 
14518             If ((Arg0 == 0x05))
14519             {
14520                 \TRAP ()
14521                 \_SB.PCI0.LPC.TPM.CMOR ()
14522                 \AWON (0x05)
14523             }
14524 
14525             If ((Arg0 >= 0x04))
14526             {
14527                 \_SB.PCI0.LPC.EC.HWLB = 0x00
14528             }
14529             Else
14530             {
14531                 \_SB.PCI0.LPC.EC.HWLB = 0x01
14532             }
14533 
14534             If ((Arg0 >= 0x03))
14535             {
14536                 \_SB.PCI0.LPC.EC.HCMU = 0x01
14537             }
14538 
14539             If ((Arg0 != 0x05)){}
14540             \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
14541         }
14542     }
14543 
14544     Name (WAKI, Package (0x02)
14545     {
14546         0x00, 
14547         0x00
14548     })
14549     Method (\_WAK, 1, NotSerialized)  // _WAK: Wake
14550     {
14551         If (((Arg0 == 0x00) || (Arg0 >= 0x05)))
14552         {
14553             Return (WAKI) /* \WAKI */
14554         }
14555 
14556         \SPS = 0x00
14557         \_SB.PCI0.LPC.EC.HCMU = 0x00
14558         \_SB.PCI0.LPC.EC.EVNT (0x01)
14559         \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
14560         \_SB.PCI0.LPC.EC.FNST ()
14561         \UCMS (0x0D)
14562         \LIDB = 0x00
14563         \_SB.PCI0.VID.VRSI ()
14564         If ((Arg0 == 0x01))
14565         {
14566             \FNID = \_SB.PCI0.LPC.EC.HFNI
14567         }
14568 
14569         If ((Arg0 == 0x03))
14570         {
14571             \NVSS (0x00)
14572             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
14573             If (\OSC4)
14574             {
14575                 \PNTF (0x81)
14576             }
14577 
14578             If ((\ACST != \_SB.PCI0.LPC.EC.AC._PSR ()))
14579             {
14580                 \_SB.PCI0.LPC.EC.ATMC ()
14581             }
14582 
14583             If (\SCRM)
14584             {
14585                 \_SB.PCI0.LPC.EC.HFSP = 0x07
14586                 If (\MTAU)
14587                 {
14588                     Local2 = 0x03E8
14589                     While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
14590                     {
14591                         Sleep (0x01)
14592                         Local2--
14593                     }
14594 
14595                     If (Local2)
14596                     {
14597                         \_SB.PCI0.LPC.EC.PLSL = 0x01
14598                         \_SB.PCI0.LPC.EC.PLTU = \MTAU
14599                         \_SB.PCI0.LPC.EC.PLLS = \PL1L
14600                         \_SB.PCI0.LPC.EC.PLMS = \PL1M
14601                     }
14602                 }
14603             }
14604 
14605             \IOEN = 0x00
14606             \IOST = 0x00
14607             If ((\ISWK == 0x01))
14608             {
14609                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14610                 {
14611                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
14612                 }
14613             }
14614 
14615             If (\VIGD)
14616             {
14617                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14618                 If (\WVIS)
14619                 {
14620                     \VBTD ()
14621                 }
14622             }
14623             ElseIf (\WVIS)
14624             {
14625                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14626                 \VBTD ()
14627             }
14628 
14629             \VCMS (0x01, \_SB.LID._LID ())
14630             \AWON (0x00)
14631             If (\CMPR)
14632             {
14633                 Notify (\_SB.SLPB, 0x02) // Device Wake
14634                 \CMPR = 0x00
14635             }
14636 
14637             If ((\USBR || \_SB.PCI0.XHCI.XRST))
14638             {
14639                 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
14640                 {
14641                     Local0 = 0x00
14642                     Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
14643                     \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
14644                     Local0 = 0x00
14645                     Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
14646                     \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
14647                 }
14648             }
14649 
14650             If ((\ISCT != 0x00))
14651             {
14652                 If (\VIGD)
14653                 {
14654                     If ((\_SB.PCI0.VID.TCHE & 0x0100))
14655                     {
14656                         If ((\_SB.IAOE.GAOS & 0x01))
14657                         {
14658                             If ((\_SB.IAOE.GSWR & 0x02))
14659                             {
14660                                 \_SB.PCI0.VID.STAT = ((\_SB.PCI0.VID.STAT & ~0x03) | 0x01)
14661                                 \_SB.PCI0.LPC.EC.SKEM = 0x01
14662                             }
14663                         }
14664                     }
14665                 }
14666             }
14667         }
14668 
14669         If ((Arg0 == 0x04))
14670         {
14671             \NVSS (0x00)
14672             \_SB.PCI0.LPC.EC.HSPA = 0x00
14673             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
14674             If (\OSC4)
14675             {
14676                 \PNTF (0x81)
14677             }
14678 
14679             \_SB.PCI0.LPC.EC.ATMC ()
14680             If (\SCRM)
14681             {
14682                 \_SB.PCI0.LPC.EC.HFSP = 0x07
14683                 If (\MTAU)
14684                 {
14685                     Local2 = 0x03E8
14686                     While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
14687                     {
14688                         Sleep (0x01)
14689                         Local2--
14690                     }
14691 
14692                     If (Local2)
14693                     {
14694                         \_SB.PCI0.LPC.EC.PLSL = 0x01
14695                         \_SB.PCI0.LPC.EC.PLTU = \MTAU
14696                         \_SB.PCI0.LPC.EC.PLLS = \PL1L
14697                         \_SB.PCI0.LPC.EC.PLMS = \PL1M
14698                     }
14699                 }
14700             }
14701 
14702             If (!\NBCF)
14703             {
14704                 If (\VIGD)
14705                 {
14706                     \_SB.PCI0.LPC.EC.BRNS ()
14707                 }
14708                 Else
14709                 {
14710                     \VBRC (\BRLV)
14711                 }
14712             }
14713 
14714             \IOEN = 0x00
14715             \IOST = 0x00
14716             If ((\ISWK == 0x02))
14717             {
14718                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14719                 {
14720                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
14721                 }
14722             }
14723 
14724             If (\_SB.PCI0.XHCI.XRST)
14725             {
14726                 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
14727                 {
14728                     Local0 = 0x00
14729                     Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
14730                     \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
14731                     Local0 = 0x00
14732                     Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
14733                     \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
14734                 }
14735             }
14736         }
14737 
14738         \_SB.PCI0.LPC.EC.BATW (Arg0)
14739         \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
14740         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
14741         \VSLD (\_SB.LID._LID ())
14742         If (\VIGD)
14743         {
14744             \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14745         }
14746         ElseIf (\WVIS)
14747         {
14748             \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14749         }
14750 
14751         If ((Arg0 < 0x04))
14752         {
14753             If (((\RRBF & 0x02) || (\_SB.PCI0.LPC.EC.HWAC & 0x02)))
14754             {
14755                 Local0 = (Arg0 << 0x08)
14756                 Local0 = (0x2013 | Local0)
14757                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
14758             }
14759         }
14760 
14761         If ((Arg0 == 0x04))
14762         {
14763             Local0 = 0x00
14764             Local1 = \CSUM (0x00)
14765             If ((Local1 != \CHKC))
14766             {
14767                 Local0 = 0x01
14768                 \CHKC = Local1
14769             }
14770 
14771             Local1 = \CSUM (0x01)
14772             If ((Local1 != \CHKE))
14773             {
14774                 Local0 = 0x01
14775                 \CHKE = Local1
14776             }
14777 
14778             If (Local0)
14779             {
14780                 Notify (\_SB, 0x00) // Bus Check
14781             }
14782         }
14783 
14784         \RRBF = Zero
14785         Return (WAKI) /* \WAKI */
14786     }
14787 
14788     Scope (\_SI)
14789     {
14790         Method (_SST, 1, NotSerialized)  // _SST: System Status
14791         {
14792             If ((Arg0 == 0x00))
14793             {
14794                 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
14795                 \_SB.PCI0.LPC.EC.LED (0x0A, 0x00)
14796                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14797             }
14798 
14799             If ((Arg0 == 0x01))
14800             {
14801                 If ((\SPS || \WNTF))
14802                 {
14803                     \_SB.PCI0.LPC.EC.BEEP (0x05)
14804                 }
14805 
14806                 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14807                 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
14808                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14809             }
14810 
14811             If ((Arg0 == 0x02))
14812             {
14813                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14814                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14815                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14816             }
14817 
14818             If ((Arg0 == 0x03))
14819             {
14820                 If ((\SPS > 0x03))
14821                 {
14822                     \_SB.PCI0.LPC.EC.BEEP (0x07)
14823                 }
14824                 ElseIf ((\SPS == 0x03))
14825                 {
14826                     \_SB.PCI0.LPC.EC.BEEP (0x03)
14827                 }
14828                 Else
14829                 {
14830                     \_SB.PCI0.LPC.EC.BEEP (0x04)
14831                 }
14832 
14833                 If ((\SPS == 0x03)){}
14834                 Else
14835                 {
14836                     \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14837                     \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
14838                 }
14839 
14840                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14841                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14842                 Stall (0x32)
14843                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14844             }
14845 
14846             If ((Arg0 == 0x04))
14847             {
14848                 \_SB.PCI0.LPC.EC.BEEP (0x03)
14849                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14850                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14851                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14852             }
14853         }
14854     }
14855 
14856     Scope (\_GPE)
14857     {
14858         Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14859         {
14860             Local0 = \_SB.PCI0.LPC.EC.HWAC
14861             \RRBF = Local0
14862             Sleep (0x0A)
14863             If ((Local0 & 0x02)){}
14864             If ((Local0 & 0x04))
14865             {
14866                 Notify (\_SB.LID, 0x02) // Device Wake
14867             }
14868 
14869             If ((Local0 & 0x08))
14870             {
14871                 Notify (\_SB.SLPB, 0x02) // Device Wake
14872             }
14873 
14874             If ((Local0 & 0x10))
14875             {
14876                 Notify (\_SB.SLPB, 0x02) // Device Wake
14877             }
14878 
14879             If ((Local0 & 0x40)){}
14880             If ((Local0 & 0x80))
14881             {
14882                 Notify (\_SB.SLPB, 0x02) // Device Wake
14883             }
14884         }
14885 
14886         Method (_L69, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14887         {
14888             If (\_SB.PCI0.EXP1.PS)
14889             {
14890                 \_SB.PCI0.EXP1.PS = 0x01
14891                 \_SB.PCI0.EXP1.PMCS = 0x01
14892                 Notify (\_SB.PCI0.EXP1, 0x02) // Device Wake
14893             }
14894 
14895             If (\_SB.PCI0.EXP2.PS)
14896             {
14897                 \_SB.PCI0.EXP2.PS = 0x01
14898                 \_SB.PCI0.EXP2.PMCS = 0x01
14899                 Notify (\_SB.PCI0.EXP2, 0x02) // Device Wake
14900             }
14901 
14902             If (\_SB.PCI0.EXP3.PS)
14903             {
14904                 \_SB.PCI0.EXP3.PS = 0x01
14905                 \_SB.PCI0.EXP3.PMCS = 0x01
14906                 Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
14907             }
14908         }
14909 
14910         Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14911         {
14912         }
14913 
14914         Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14915         {
14916             \_SB.PCI0.LPC.SWGE = 0x00
14917             If (CondRefOf (\_SB.PCCD.PENB))
14918             {
14919                 If ((\_SB.PCCD.PENB == 0x01))
14920                 {
14921                     Notify (\_SB.PCCD, 0x80) // Status Change
14922                 }
14923             }
14924         }
14925 
14926         Method (_L66, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14927         {
14928             If (\_SB.PCI0.VID.GSSE)
14929             {
14930                 \_SB.PCI0.VID.GSCI ()
14931             }
14932             Else
14933             {
14934                 \_SB.PCI0.LPC.SCIS = 0x01
14935             }
14936         }
14937 
14938         Name (GPFG, 0x00)
14939         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14940         {
14941             If ((GPFG && \_SB.PCI0.LPC.NFCI))
14942             {
14943                 GPFG = 0x00
14944                 Notify (\_SB.PCI0.SMBU.NFC, 0xC0) // Hardware-Specific
14945             }
14946         }
14947     }
14948 
14949     Scope (\_SB.PCI0.LPC.EC.HKEY)
14950     {
14951         Method (MHQT, 1, NotSerialized)
14952         {
14953             If ((\WNTF && \TATC))
14954             {
14955                 If ((Arg0 == 0x00))
14956                 {
14957                     Local0 = \TATC
14958                     Return (Local0)
14959                 }
14960                 ElseIf ((Arg0 == 0x01))
14961                 {
14962                     Local0 = \TDFA
14963                     Local0 += (\TDTA << 0x04)
14964                     Local0 += (\TDFD << 0x08)
14965                     Local0 += (\TDTD << 0x0C)
14966                     Local0 += (\TNFT << 0x10)
14967                     Local0 += (\TNTT << 0x14)
14968                     Return (Local0)
14969                 }
14970                 ElseIf ((Arg0 == 0x02))
14971                 {
14972                     Local0 = \TCFA
14973                     Local0 += (\TCTA << 0x04)
14974                     Local0 += (\TCFD << 0x08)
14975                     Local0 += (\TCTD << 0x0C)
14976                     Return (Local0)
14977                 }
14978                 ElseIf ((Arg0 == 0x03)){}
14979                 ElseIf ((Arg0 == 0x04))
14980                 {
14981                     Local0 = \TATW
14982                     Return (Local0)
14983                 }
14984                 Else
14985                 {
14986                     Noop
14987                 }
14988             }
14989 
14990             Return (0x00)
14991         }
14992 
14993         Method (MHAT, 1, NotSerialized)
14994         {
14995             If ((\WNTF && \TATC))
14996             {
14997                 Local0 = (Arg0 & 0xFF)
14998                 If (!ATMV (Local0))
14999                 {
15000                     Return (0x00)
15001                 }
15002 
15003                 Local0 = ((Arg0 >> 0x08) & 0xFF)
15004                 If (!ATMV (Local0))
15005                 {
15006                     Return (0x00)
15007                 }
15008 
15009                 \TCFA = (Arg0 & 0x0F)
15010                 \TCTA = ((Arg0 >> 0x04) & 0x0F)
15011                 \TCFD = ((Arg0 >> 0x08) & 0x0F)
15012                 \TCTD = ((Arg0 >> 0x0C) & 0x0F)
15013                 ATMC ()
15014                 If ((\PPMF & 0x0100))
15015                 {
15016                     Local1 = \FTPS
15017                     If ((Arg0 & 0x00010000))
15018                     {
15019                         If (\_PR.CLVL)
15020                         {
15021                             \FTPS = \CTDP
15022                             \FTPS++
15023                         }
15024                         Else
15025                         {
15026                             \FTPS = 0x01
15027                         }
15028                     }
15029                     ElseIf (\_PR.CLVL)
15030                     {
15031                         \FTPS = \CTDP
15032                     }
15033                     Else
15034                     {
15035                         \FTPS = 0x00
15036                     }
15037 
15038                     If ((\FTPS ^ Local1))
15039                     {
15040                         If ((\OSPX || \CPPX))
15041                         {
15042                             \PNTF (0x80)
15043                         }
15044                     }
15045                 }
15046 
15047                 Local2 = \SCRM
15048                 If ((Arg0 & 0x00040000))
15049                 {
15050                     \SCRM = 0x01
15051                     \_SB.PCI0.LPC.EC.HFSP = 0x07
15052                 }
15053                 Else
15054                 {
15055                     \SCRM = 0x00
15056                     \_SB.PCI0.LPC.EC.HFSP = 0x80
15057                 }
15058 
15059                 Local3 = \ETAU
15060                 If ((Arg0 & 0x00020000))
15061                 {
15062                     \ETAU = 0x01
15063                 }
15064                 Else
15065                 {
15066                     \ETAU = 0x00
15067                 }
15068 
15069                 If (\MTAU)
15070                 {
15071                     If (((\SCRM ^ Local2) || (\ETAU ^ Local3)))
15072                     {
15073                         Local4 = 0x03E8
15074                         While (\_SB.PCI0.LPC.EC.PIBS)
15075                         {
15076                             Sleep (0x01)
15077                             Local4--
15078                             If (!Local4)
15079                             {
15080                                 Return (0x00)
15081                             }
15082                         }
15083 
15084                         \_SB.PCI0.LPC.EC.PLSL = 0x01
15085                         If ((Arg0 & 0x00060000))
15086                         {
15087                             \_SB.PCI0.LPC.EC.PLTU = \MTAU
15088                         }
15089                         Else
15090                         {
15091                             \_SB.PCI0.LPC.EC.PLTU = 0x1C
15092                         }
15093 
15094                         \_SB.PCI0.LPC.EC.PLLS = \PL1L
15095                         \_SB.PCI0.LPC.EC.PLMS = \PL1M
15096                     }
15097                 }
15098 
15099                 Return (0x01)
15100             }
15101 
15102             Return (0x00)
15103         }
15104 
15105         Method (MHGT, 1, NotSerialized)
15106         {
15107             If ((\WNTF && \TATC))
15108             {
15109                 Local0 = 0x01000000
15110                 If ((\PPMF & 0x0100))
15111                 {
15112                     Local0 |= 0x08000000
15113                 }
15114 
15115                 If (\SCRM)
15116                 {
15117                     Local0 |= 0x10000000
15118                 }
15119 
15120                 If (\ETAU)
15121                 {
15122                     Local0 |= 0x04000000
15123                 }
15124 
15125                 If ((\CTDP < \FTPS))
15126                 {
15127                     Local0 |= 0x02000000
15128                 }
15129 
15130                 Local0 += (\TSFT << 0x10)
15131                 Local0 += (\TSTT << 0x14)
15132                 Local1 = (Arg0 & 0xFF)
15133                 If (!ATMV (Local1))
15134                 {
15135                     Local0 |= 0xFFFF
15136                     Return (Local0)
15137                 }
15138 
15139                 Local1 = (Arg0 & 0x0F)
15140                 If ((Local1 == 0x00))
15141                 {
15142                     Local0 += \TIF0
15143                 }
15144                 ElseIf ((Local1 == 0x01))
15145                 {
15146                     Local0 += \TIF1
15147                 }
15148                 ElseIf ((Local1 == 0x02))
15149                 {
15150                     Local0 += \TIF2
15151                 }
15152                 Else
15153                 {
15154                     Local0 += 0xFF
15155                 }
15156 
15157                 Local1 = ((Arg0 >> 0x04) & 0x0F)
15158                 If ((Local1 == 0x00))
15159                 {
15160                     Local0 += (\TIT0 << 0x08)
15161                 }
15162                 ElseIf ((Local1 == 0x01))
15163                 {
15164                     Local0 += (\TIT1 << 0x08)
15165                 }
15166                 ElseIf ((Local1 == 0x02))
15167                 {
15168                     Local0 += (\TIT2 << 0x08)
15169                 }
15170                 Else
15171                 {
15172                     Local0 += (0xFF << 0x08)
15173                 }
15174 
15175                 Return (Local0)
15176             }
15177 
15178             Return (0x00)
15179         }
15180 
15181         Method (ATMV, 1, NotSerialized)
15182         {
15183             Local1 = (Arg0 & 0x0F)
15184             Local0 = \TNFT
15185             If ((Local1 >= Local0))
15186             {
15187                 Return (0x00)
15188             }
15189 
15190             Local2 = ((Arg0 >> 0x04) & 0x0F)
15191             Local0 = \TNTT
15192             If ((Local2 >= Local0))
15193             {
15194                 Return (0x00)
15195             }
15196 
15197             If (\TATL)
15198             {
15199                 If ((Local1 ^ Local2))
15200                 {
15201                     Return (0x00)
15202                 }
15203             }
15204 
15205             Return (0x01)
15206         }
15207 
15208         Method (MHCT, 1, NotSerialized)
15209         {
15210             Local0 = 0x00
15211             If (\SPEN)
15212             {
15213                 Local0 = \LWST
15214                 Local0++
15215                 Local0 <<= 0x08
15216             }
15217 
15218             Local1 = 0x08
15219             Local1 <<= 0x08
15220             If ((Arg0 == 0xFFFFFFFF))
15221             {
15222                 Local1 |= \TPCR
15223                 If (\SPEN)
15224                 {
15225                     Local0 |= \PPCR
15226                     If (!(\PPMF && 0x02000000))
15227                     {
15228                         Local1 |= 0x80
15229                     }
15230 
15231                     If (!(\PPMF && 0x08000000))
15232                     {
15233                         Local1 |= 0x40
15234                     }
15235                 }
15236                 Else
15237                 {
15238                     Local1 |= 0xC0
15239                 }
15240             }
15241             Else
15242             {
15243                 If (((\OSPX || \CPPX) && \SPEN))
15244                 {
15245                     Local2 = (Arg0 & 0x00FF0000)
15246                     Local2 >>= 0x10
15247                     Local0 |= Local2
15248                     If ((Local2 ^ \PPCR))
15249                     {
15250                         \PPCA = Local2
15251                         \PNTF (0x80)
15252                     }
15253                 }
15254 
15255                 If (\WVIS)
15256                 {
15257                     Local2 = (Arg0 & 0x1F)
15258                     Local1 |= Local2
15259                     If ((Local2 ^ \TPCR))
15260                     {
15261                         \TPCA = Local2
15262                         \PNTF (0x82)
15263                     }
15264                 }
15265             }
15266 
15267             Local0 <<= 0x10
15268             Local0 |= Local1
15269             Return (Local0)
15270         }
15271     }
15272 
15273     Scope (\_SB.PCI0.LPC.EC)
15274     {
15275         Method (ATMC, 0, NotSerialized)
15276         {
15277             If ((\WNTF && \TATC))
15278             {
15279                 If (HPAC)
15280                 {
15281                     Local0 = \TCFA
15282                     Local1 = \TCTA
15283                     Local2 = ((Local1 << 0x04) | Local0)
15284                     Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
15285                     ATMX = Local2
15286                     If ((\TCTA == 0x00))
15287                     {
15288                         \TCRT = \TCR0
15289                         \TPSV = \TPS0
15290                     }
15291                     ElseIf ((\TCTA == 0x01))
15292                     {
15293                         \TCRT = \TCR1
15294                         \TPSV = \TPS1
15295                     }
15296                     Else
15297                     {
15298                     }
15299                 }
15300                 Else
15301                 {
15302                     Local0 = \TCFD
15303                     Local1 = \TCTD
15304                     Local2 = ((Local1 << 0x04) | Local0)
15305                     Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
15306                     ATMX = Local2
15307                     If ((\TCTD == 0x00))
15308                     {
15309                         \TCRT = \TCR0
15310                         \TPSV = \TPS0
15311                     }
15312                     ElseIf ((\TCTD == 0x01))
15313                     {
15314                         \TCRT = \TCR1
15315                         \TPSV = \TPS1
15316                     }
15317                     Else
15318                     {
15319                     }
15320                 }
15321 
15322                 If (Local3)
15323                 {
15324                     If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15325                     {
15326                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15327                     }
15328                 }
15329 
15330                 Notify (\_TZ.THM0, 0x81) // Thermal Trip Point Change
15331             }
15332         }
15333     }
15334 
15335     Scope (\_TZ)
15336     {
15337         ThermalZone (THM0)
15338         {
15339             Method (_CRT, 0, NotSerialized)  // _CRT: Critical Temperature
15340             {
15341                 Return (\TCRT)
15342             }
15343 
15344             Method (_TMP, 0, NotSerialized)  // _TMP: Temperature
15345             {
15346                 If (\H8DR)
15347                 {
15348                     Local0 = \_SB.PCI0.LPC.EC.TMP0
15349                     Local1 = \_SB.PCI0.LPC.EC.TSL2
15350                     Local2 = \_SB.PCI0.LPC.EC.TSL3
15351                 }
15352                 Else
15353                 {
15354                     Local0 = \RBEC (0x78)
15355                     Local1 = (\RBEC (0x8A) & 0x7F)
15356                     Local2 = (\RBEC (0x8B) & 0x7F)
15357                 }
15358 
15359                 If ((Local0 == 0x80))
15360                 {
15361                     Local0 = 0x30
15362                 }
15363 
15364                 If (Local2)
15365                 {
15366                     \TSDL ()
15367                     Return (C2K (0x80))
15368                 }
15369 
15370                 If (!\_SB.PCI0.LPC.EC.HKEY.DHKC)
15371                 {
15372                     If (Local1)
15373                     {
15374                         \TSDL ()
15375                         Return (C2K (0x80))
15376                     }
15377                 }
15378 
15379                 Return (C2K (Local0))
15380             }
15381         }
15382 
15383         Method (C2K, 1, NotSerialized)
15384         {
15385             Local0 = ((Arg0 * 0x0A) + 0x0AAC)
15386             If ((Local0 <= 0x0AAC))
15387             {
15388                 Local0 = 0x0BB8
15389             }
15390 
15391             If ((Local0 > 0x0FAC))
15392             {
15393                 Local0 = 0x0BB8
15394             }
15395 
15396             Return (Local0)
15397         }
15398     }
15399 
15400     Scope (\_SB.PCI0.LPC.EC)
15401     {
15402         Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
15403         {
15404             Notify (\_TZ.THM0, 0x80) // Thermal Status Change
15405             If (\H8DR)
15406             {
15407                 Local1 = \_SB.PCI0.LPC.EC.TSL2
15408             }
15409             Else
15410             {
15411                 Local1 = (\RBEC (0x8A) & 0x7F)
15412             }
15413 
15414             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15415             {
15416                 If (Local1)
15417                 {
15418                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
15419                 }
15420             }
15421 
15422             If (VIGD)
15423             {
15424                 Noop
15425             }
15426             Else
15427             {
15428                 \VTHR ()
15429             }
15430 
15431             If ((\PPMF & 0x01))
15432             {
15433                 If ((\OSPX || \CPPX))
15434                 {
15435                     \PNTF (0x80)
15436                 }
15437                 Else
15438                 {
15439                     Local2 = (\_SB.PCI0.LPC.EC.TSL0 & 0x77)
15440                     If (Local2)
15441                     {
15442                         \STEP (0x09)
15443                     }
15444                     Else
15445                     {
15446                         \STEP (0x0A)
15447                     }
15448                 }
15449             }
15450         }
15451     }
15452 
15453     Name (GPIC, 0x00)
15454     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
15455     {
15456         \GPIC = Arg0
15457     }
15458 
15459     OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
15460     Field (SMI0, ByteAcc, NoLock, Preserve)
15461     {
15462         APMC,   8
15463     }
15464 
15465     Field (MNVS, AnyAcc, NoLock, Preserve)
15466     {
15467         Offset (0xFC0), 
15468         CMD,    8, 
15469         ERR,    32, 
15470         PAR0,   32, 
15471         PAR1,   32, 
15472         PAR2,   32, 
15473         PAR3,   32
15474     }
15475 
15476     Mutex (MSMI, 0x07)
15477     Method (SMI, 5, NotSerialized)
15478     {
15479         Acquire (MSMI, 0xFFFF)
15480         CMD = Arg0
15481         ERR = 0x01
15482         PAR0 = Arg1
15483         PAR1 = Arg2
15484         PAR2 = Arg3
15485         PAR3 = Arg4
15486         APMC = 0xF5
15487         While ((ERR == 0x01))
15488         {
15489             Sleep (0x01)
15490             APMC = 0xF5
15491         }
15492 
15493         Local0 = PAR0 /* \PAR0 */
15494         Release (MSMI)
15495         Return (Local0)
15496     }
15497 
15498     Method (RPCI, 1, NotSerialized)
15499     {
15500         Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
15501     }
15502 
15503     Method (WPCI, 2, NotSerialized)
15504     {
15505         SMI (0x00, 0x01, Arg0, Arg1, 0x00)
15506     }
15507 
15508     Method (MPCI, 3, NotSerialized)
15509     {
15510         SMI (0x00, 0x02, Arg0, Arg1, Arg2)
15511     }
15512 
15513     Method (RBEC, 1, NotSerialized)
15514     {
15515         Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
15516     }
15517 
15518     Method (WBEC, 2, NotSerialized)
15519     {
15520         SMI (0x00, 0x04, Arg0, Arg1, 0x00)
15521     }
15522 
15523     Method (MBEC, 3, NotSerialized)
15524     {
15525         SMI (0x00, 0x05, Arg0, Arg1, Arg2)
15526     }
15527 
15528     Method (RISA, 1, NotSerialized)
15529     {
15530         Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
15531     }
15532 
15533     Method (WISA, 2, NotSerialized)
15534     {
15535         SMI (0x00, 0x07, Arg0, Arg1, 0x00)
15536     }
15537 
15538     Method (MISA, 3, NotSerialized)
15539     {
15540         SMI (0x00, 0x08, Arg0, Arg1, Arg2)
15541     }
15542 
15543     Method (VEXP, 0, NotSerialized)
15544     {
15545         SMI (0x01, 0x00, 0x00, 0x00, 0x00)
15546     }
15547 
15548     Method (VUPS, 1, NotSerialized)
15549     {
15550         SMI (0x01, 0x01, Arg0, 0x00, 0x00)
15551     }
15552 
15553     Method (VSDS, 2, NotSerialized)
15554     {
15555         SMI (0x01, 0x02, Arg0, Arg1, 0x00)
15556     }
15557 
15558     Method (VDDC, 0, NotSerialized)
15559     {
15560         SMI (0x01, 0x03, 0x00, 0x00, 0x00)
15561     }
15562 
15563     Method (VVPD, 1, NotSerialized)
15564     {
15565         SMI (0x01, 0x04, Arg0, 0x00, 0x00)
15566     }
15567 
15568     Method (VNRS, 1, NotSerialized)
15569     {
15570         SMI (0x01, 0x05, Arg0, 0x00, 0x00)
15571     }
15572 
15573     Method (GLPW, 0, NotSerialized)
15574     {
15575         Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
15576     }
15577 
15578     Method (VSLD, 1, NotSerialized)
15579     {
15580         SMI (0x01, 0x07, Arg0, 0x00, 0x00)
15581     }
15582 
15583     Method (VEVT, 1, NotSerialized)
15584     {
15585         Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
15586     }
15587 
15588     Method (VTHR, 0, NotSerialized)
15589     {
15590         Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
15591     }
15592 
15593     Method (VBRC, 1, NotSerialized)
15594     {
15595         SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
15596     }
15597 
15598     Method (VBRG, 0, NotSerialized)
15599     {
15600         Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
15601     }
15602 
15603     Method (VCMS, 2, NotSerialized)
15604     {
15605         Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
15606     }
15607 
15608     Method (VBTD, 0, NotSerialized)
15609     {
15610         Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
15611     }
15612 
15613     Method (VHYB, 2, NotSerialized)
15614     {
15615         Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
15616     }
15617 
15618     Method (VDYN, 2, NotSerialized)
15619     {
15620         Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
15621     }
15622 
15623     Method (UCMS, 1, NotSerialized)
15624     {
15625         Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
15626     }
15627 
15628     Method (BHDP, 2, NotSerialized)
15629     {
15630         Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
15631     }
15632 
15633     Method (STEP, 1, NotSerialized)
15634     {
15635         SMI (0x04, Arg0, 0x00, 0x00, 0x00)
15636     }
15637 
15638     Method (TRAP, 0, NotSerialized)
15639     {
15640         SMI (0x05, 0x00, 0x00, 0x00, 0x00)
15641     }
15642 
15643     Method (CBRI, 0, NotSerialized)
15644     {
15645         SMI (0x05, 0x01, 0x00, 0x00, 0x00)
15646     }
15647 
15648     Method (BCHK, 0, NotSerialized)
15649     {
15650         Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
15651     }
15652 
15653     Method (BYRS, 0, NotSerialized)
15654     {
15655         SMI (0x05, 0x05, 0x00, 0x00, 0x00)
15656     }
15657 
15658     Method (LCHK, 1, NotSerialized)
15659     {
15660         Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
15661     }
15662 
15663     Method (BLTH, 1, NotSerialized)
15664     {
15665         Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
15666     }
15667 
15668     Method (PRSM, 2, NotSerialized)
15669     {
15670         Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
15671     }
15672 
15673     Method (IFRS, 2, NotSerialized)
15674     {
15675         Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
15676     }
15677 
15678     Method (TDPC, 1, NotSerialized)
15679     {
15680         Return (SMI (0x07, 0x02, Arg0, 0x00, 0x00))
15681     }
15682 
15683     Method (ISOC, 1, NotSerialized)
15684     {
15685         Return (SMI (0x07, 0x03, Arg0, 0x00, 0x00))
15686     }
15687 
15688     Method (WGSV, 1, NotSerialized)
15689     {
15690         Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
15691     }
15692 
15693     Method (SWTT, 1, NotSerialized)
15694     {
15695         If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
15696         {
15697             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15698             {
15699                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15700             }
15701         }
15702     }
15703 
15704     Method (TSDL, 0, NotSerialized)
15705     {
15706         Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
15707     }
15708 
15709     Method (SITT, 1, NotSerialized)
15710     {
15711         Return (SMI (0x0A, 0x04, Arg0, 0x00, 0x00))
15712     }
15713 
15714     Method (TPHY, 1, NotSerialized)
15715     {
15716         SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
15717     }
15718 
15719     Method (CSUM, 1, NotSerialized)
15720     {
15721         Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
15722     }
15723 
15724     Method (NVSS, 1, NotSerialized)
15725     {
15726         Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
15727     }
15728 
15729     Method (WMIS, 2, NotSerialized)
15730     {
15731         Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
15732     }
15733 
15734     Method (AWON, 1, NotSerialized)
15735     {
15736         Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
15737     }
15738 
15739     Method (PMON, 2, NotSerialized)
15740     {
15741         Local0 = SizeOf (Arg0)
15742         Name (TSTR, Buffer (Local0){})
15743         TSTR = Arg0
15744         \DBGS = TSTR /* \PMON.TSTR */
15745         SMI (0x11, Arg1, 0x00, 0x00, 0x00)
15746     }
15747 
15748     Method (UAWS, 1, NotSerialized)
15749     {
15750         Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
15751     }
15752 
15753     Method (BFWC, 1, NotSerialized)
15754     {
15755         Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
15756     }
15757 
15758     Method (BFWP, 0, NotSerialized)
15759     {
15760         Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
15761     }
15762 
15763     Method (BFWL, 0, NotSerialized)
15764     {
15765         SMI (0x14, 0x02, 0x00, 0x00, 0x00)
15766     }
15767 
15768     Method (BFWG, 1, NotSerialized)
15769     {
15770         SMI (0x14, 0x03, Arg0, 0x00, 0x00)
15771     }
15772 
15773     Method (BDMC, 1, NotSerialized)
15774     {
15775         SMI (0x14, 0x04, Arg0, 0x00, 0x00)
15776     }
15777 
15778     Method (PSIF, 2, NotSerialized)
15779     {
15780         Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
15781     }
15782 
15783     Method (FNSC, 2, NotSerialized)
15784     {
15785         Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
15786     }
15787 
15788     Method (AUDC, 2, NotSerialized)
15789     {
15790         Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
15791     }
15792 
15793     Method (SYBC, 2, NotSerialized)
15794     {
15795         Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
15796     }
15797 
15798     Method (KBLS, 2, NotSerialized)
15799     {
15800         Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
15801     }
15802 
15803     Method (UBIS, 1, NotSerialized)
15804     {
15805         Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
15806     }
15807 
15808     Method (DPIO, 2, NotSerialized)
15809     {
15810         If (!Arg0)
15811         {
15812             Return (0x00)
15813         }
15814 
15815         If ((Arg0 > 0xF0))
15816         {
15817             Return (0x00)
15818         }
15819 
15820         If ((Arg0 > 0xB4))
15821         {
15822             If (Arg1)
15823             {
15824                 Return (0x02)
15825             }
15826             Else
15827             {
15828                 Return (0x01)
15829             }
15830         }
15831 
15832         If ((Arg0 > 0x78))
15833         {
15834             Return (0x03)
15835         }
15836 
15837         Return (0x04)
15838     }
15839 
15840     Method (DUDM, 2, NotSerialized)
15841     {
15842         If (!Arg1)
15843         {
15844             Return (0xFF)
15845         }
15846 
15847         If ((Arg0 > 0x5A))
15848         {
15849             Return (0x00)
15850         }
15851 
15852         If ((Arg0 > 0x3C))
15853         {
15854             Return (0x01)
15855         }
15856 
15857         If ((Arg0 > 0x2D))
15858         {
15859             Return (0x02)
15860         }
15861 
15862         If ((Arg0 > 0x1E))
15863         {
15864             Return (0x03)
15865         }
15866 
15867         If ((Arg0 > 0x14))
15868         {
15869             Return (0x04)
15870         }
15871 
15872         Return (0x05)
15873     }
15874 
15875     Method (DMDM, 2, NotSerialized)
15876     {
15877         If (Arg1)
15878         {
15879             Return (0x00)
15880         }
15881 
15882         If (!Arg0)
15883         {
15884             Return (0x00)
15885         }
15886 
15887         If ((Arg0 > 0x96))
15888         {
15889             Return (0x01)
15890         }
15891 
15892         If ((Arg0 > 0x78))
15893         {
15894             Return (0x02)
15895         }
15896 
15897         Return (0x03)
15898     }
15899 
15900     Method (UUDM, 2, NotSerialized)
15901     {
15902         If (!(Arg0 & 0x04))
15903         {
15904             Return (0x00)
15905         }
15906 
15907         If ((Arg1 & 0x20))
15908         {
15909             Return (0x14)
15910         }
15911 
15912         If ((Arg1 & 0x10))
15913         {
15914             Return (0x1E)
15915         }
15916 
15917         If ((Arg1 & 0x08))
15918         {
15919             Return (0x2D)
15920         }
15921 
15922         If ((Arg1 & 0x04))
15923         {
15924             Return (0x3C)
15925         }
15926 
15927         If ((Arg1 & 0x02))
15928         {
15929             Return (0x5A)
15930         }
15931 
15932         If ((Arg1 & 0x01))
15933         {
15934             Return (0x78)
15935         }
15936 
15937         Return (0x00)
15938     }
15939 
15940     Method (UMDM, 4, NotSerialized)
15941     {
15942         If (!(Arg0 & 0x02))
15943         {
15944             Return (0x00)
15945         }
15946 
15947         If ((Arg1 & 0x04))
15948         {
15949             Return (Arg3)
15950         }
15951 
15952         If ((Arg1 & 0x02))
15953         {
15954             If ((Arg3 <= 0x78))
15955             {
15956                 Return (0xB4)
15957             }
15958             Else
15959             {
15960                 Return (Arg3)
15961             }
15962         }
15963 
15964         If ((Arg2 & 0x04))
15965         {
15966             If ((Arg3 <= 0xB4))
15967             {
15968                 Return (0xF0)
15969             }
15970             Else
15971             {
15972                 Return (Arg3)
15973             }
15974         }
15975 
15976         Return (0x00)
15977     }
15978 
15979     Method (UPIO, 4, NotSerialized)
15980     {
15981         If (!(Arg0 & 0x02))
15982         {
15983             If ((Arg2 == 0x02))
15984             {
15985                 Return (0xF0)
15986             }
15987             Else
15988             {
15989                 Return (0x0384)
15990             }
15991         }
15992 
15993         If ((Arg1 & 0x02))
15994         {
15995             Return (Arg3)
15996         }
15997 
15998         If ((Arg1 & 0x01))
15999         {
16000             If ((Arg3 <= 0x78))
16001             {
16002                 Return (0xB4)
16003             }
16004             Else
16005             {
16006                 Return (Arg3)
16007             }
16008         }
16009 
16010         If ((Arg2 == 0x02))
16011         {
16012             Return (0xF0)
16013         }
16014         Else
16015         {
16016             Return (0x0384)
16017         }
16018     }
16019 
16020     Method (FDMA, 2, NotSerialized)
16021     {
16022         If ((Arg1 != 0xFF))
16023         {
16024             Return ((Arg1 | 0x40))
16025         }
16026 
16027         If ((Arg0 >= 0x03))
16028         {
16029             Return (((Arg0 - 0x02) | 0x20))
16030         }
16031 
16032         If (Arg0)
16033         {
16034             Return (0x12)
16035         }
16036 
16037         Return (0x00)
16038     }
16039 
16040     Method (FPIO, 1, NotSerialized)
16041     {
16042         If ((Arg0 >= 0x03))
16043         {
16044             Return ((Arg0 | 0x08))
16045         }
16046 
16047         If ((Arg0 == 0x01))
16048         {
16049             Return (0x01)
16050         }
16051 
16052         Return (0x00)
16053     }
16054 
16055     Method (SCMP, 2, NotSerialized)
16056     {
16057         Local0 = SizeOf (Arg0)
16058         If ((Local0 != SizeOf (Arg1)))
16059         {
16060             Return (One)
16061         }
16062 
16063         Local0++
16064         Name (STR1, Buffer (Local0){})
16065         Name (STR2, Buffer (Local0){})
16066         STR1 = Arg0
16067         STR2 = Arg1
16068         Local1 = Zero
16069         While ((Local1 < Local0))
16070         {
16071             Local2 = DerefOf (STR1 [Local1])
16072             Local3 = DerefOf (STR2 [Local1])
16073             If ((Local2 != Local3))
16074             {
16075                 Return (One)
16076             }
16077 
16078             Local1++
16079         }
16080 
16081         Return (Zero)
16082     }
16083 
16084     Name (SPS, 0x00)
16085     Name (OSIF, 0x00)
16086     Name (WNTF, 0x00)
16087     Name (WXPF, 0x00)
16088     Name (WVIS, 0x00)
16089     Name (WIN7, 0x00)
16090     Name (WIN8, 0x00)
16091     Name (WSPV, 0x00)
16092     Name (LNUX, 0x00)
16093     Name (H8DR, 0x00)
16094     Name (MEMX, 0x00)
16095     Name (ACST, 0x00)
16096     Name (FMBL, 0x01)
16097     Name (FDTP, 0x02)
16098     Name (FUPS, 0x03)
16099     Name (FNID, 0x00)
16100     Name (RRBF, 0x00)
16101     Name (NBCF, 0x00)
16102     Scope (\)
16103     {
16104         Method (KOU1, 0, NotSerialized)
16105         {
16106             Stall (0x64)
16107         }
16108     }
16109 
16110     Scope (\)
16111     {
16112         Method (KOU2, 0, NotSerialized)
16113         {
16114             Stall (0x64)
16115         }
16116     }
16117 
16118     Scope (\_SB.PCI0.VID.LCD0)
16119     {
16120         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
16121         {
16122             If (\WVIS)
16123             {
16124                 \NBCF = 0x01
16125             }
16126 
16127             Local0 = \_SB.PCI0.LPC.EC.BFRQ ()
16128             If ((\_SB.PCI0.VID.PFMB != Local0))
16129             {
16130                 \_SB.PCI0.VID.AINT (0x03, Local0)
16131             }
16132 
16133             If (\WIN8)
16134             {
16135                 Return (Package (0x67)
16136                 {
16137                     0x64, 
16138                     0x64, 
16139                     0x00, 
16140                     0x01, 
16141                     0x02, 
16142                     0x03, 
16143                     0x04, 
16144                     0x05, 
16145                     0x06, 
16146                     0x07, 
16147                     0x08, 
16148                     0x09, 
16149                     0x0A, 
16150                     0x0B, 
16151                     0x0C, 
16152                     0x0D, 
16153                     0x0E, 
16154                     0x0F, 
16155                     0x10, 
16156                     0x11, 
16157                     0x12, 
16158                     0x13, 
16159                     0x14, 
16160                     0x15, 
16161                     0x16, 
16162                     0x17, 
16163                     0x18, 
16164                     0x19, 
16165                     0x1A, 
16166                     0x1B, 
16167                     0x1C, 
16168                     0x1D, 
16169                     0x1E, 
16170                     0x1F, 
16171                     0x20, 
16172                     0x21, 
16173                     0x22, 
16174                     0x23, 
16175                     0x24, 
16176                     0x25, 
16177                     0x26, 
16178                     0x27, 
16179                     0x28, 
16180                     0x29, 
16181                     0x2A, 
16182                     0x2B, 
16183                     0x2C, 
16184                     0x2D, 
16185                     0x2E, 
16186                     0x2F, 
16187                     0x30, 
16188                     0x31, 
16189                     0x32, 
16190                     0x33, 
16191                     0x34, 
16192                     0x35, 
16193                     0x36, 
16194                     0x37, 
16195                     0x38, 
16196                     0x39, 
16197                     0x3A, 
16198                     0x3B, 
16199                     0x3C, 
16200                     0x3D, 
16201                     0x3E, 
16202                     0x3F, 
16203                     0x40, 
16204                     0x41, 
16205                     0x42, 
16206                     0x43, 
16207                     0x44, 
16208                     0x45, 
16209                     0x46, 
16210                     0x47, 
16211                     0x48, 
16212                     0x49, 
16213                     0x4A, 
16214                     0x4B, 
16215                     0x4C, 
16216                     0x4D, 
16217                     0x4E, 
16218                     0x4F, 
16219                     0x50, 
16220                     0x51, 
16221                     0x52, 
16222                     0x53, 
16223                     0x54, 
16224                     0x55, 
16225                     0x56, 
16226                     0x57, 
16227                     0x58, 
16228                     0x59, 
16229                     0x5A, 
16230                     0x5B, 
16231                     0x5C, 
16232                     0x5D, 
16233                     0x5E, 
16234                     0x5F, 
16235                     0x60, 
16236                     0x61, 
16237                     0x62, 
16238                     0x63, 
16239                     0x64
16240                 })
16241             }
16242 
16243             Return (\_SB.PCI0.LPC.EC.BRTW)
16244         }
16245 
16246         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
16247         {
16248             If (\WIN8)
16249             {
16250                 \_SB.PCI0.VID.AINT (0x01, \_SB.PCI0.LPC.EC.BRCD (Arg0))
16251             }
16252             Else
16253             {
16254                 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
16255                 If ((Local0 != Ones))
16256                 {
16257                     Local1 = (Local0 - 0x02)
16258                     \BRLV = Local1
16259                     \_SB.PCI0.LPC.EC.BRNS ()
16260                     \UCMS (0x16)
16261                 }
16262             }
16263         }
16264 
16265         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
16266         {
16267             Local0 = \BRLV
16268             Local1 = (Local0 + 0x02)
16269             If ((Local1 <= 0x11))
16270             {
16271                 Return (DerefOf (\_SB.PCI0.LPC.EC.BRTW [Local1]))
16272             }
16273             Else
16274             {
16275                 Return (Zero)
16276             }
16277         }
16278     }
16279 
16280     Scope (\_SB.PCI0.PEG.VID.LCD0)
16281     {
16282         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
16283         {
16284             If (\WVIS)
16285             {
16286                 \NBCF = 0x01
16287             }
16288 
16289             If (\WIN8)
16290             {
16291                 Return (Package (0x67)
16292                 {
16293                     0x64, 
16294                     0x64, 
16295                     0x00, 
16296                     0x01, 
16297                     0x02, 
16298                     0x03, 
16299                     0x04, 
16300                     0x05, 
16301                     0x06, 
16302                     0x07, 
16303                     0x08, 
16304                     0x09, 
16305                     0x0A, 
16306                     0x0B, 
16307                     0x0C, 
16308                     0x0D, 
16309                     0x0E, 
16310                     0x0F, 
16311                     0x10, 
16312                     0x11, 
16313                     0x12, 
16314                     0x13, 
16315                     0x14, 
16316                     0x15, 
16317                     0x16, 
16318                     0x17, 
16319                     0x18, 
16320                     0x19, 
16321                     0x1A, 
16322                     0x1B, 
16323                     0x1C, 
16324                     0x1D, 
16325                     0x1E, 
16326                     0x1F, 
16327                     0x20, 
16328                     0x21, 
16329                     0x22, 
16330                     0x23, 
16331                     0x24, 
16332                     0x25, 
16333                     0x26, 
16334                     0x27, 
16335                     0x28, 
16336                     0x29, 
16337                     0x2A, 
16338                     0x2B, 
16339                     0x2C, 
16340                     0x2D, 
16341                     0x2E, 
16342                     0x2F, 
16343                     0x30, 
16344                     0x31, 
16345                     0x32, 
16346                     0x33, 
16347                     0x34, 
16348                     0x35, 
16349                     0x36, 
16350                     0x37, 
16351                     0x38, 
16352                     0x39, 
16353                     0x3A, 
16354                     0x3B, 
16355                     0x3C, 
16356                     0x3D, 
16357                     0x3E, 
16358                     0x3F, 
16359                     0x40, 
16360                     0x41, 
16361                     0x42, 
16362                     0x43, 
16363                     0x44, 
16364                     0x45, 
16365                     0x46, 
16366                     0x47, 
16367                     0x48, 
16368                     0x49, 
16369                     0x4A, 
16370                     0x4B, 
16371                     0x4C, 
16372                     0x4D, 
16373                     0x4E, 
16374                     0x4F, 
16375                     0x50, 
16376                     0x51, 
16377                     0x52, 
16378                     0x53, 
16379                     0x54, 
16380                     0x55, 
16381                     0x56, 
16382                     0x57, 
16383                     0x58, 
16384                     0x59, 
16385                     0x5A, 
16386                     0x5B, 
16387                     0x5C, 
16388                     0x5D, 
16389                     0x5E, 
16390                     0x5F, 
16391                     0x60, 
16392                     0x61, 
16393                     0x62, 
16394                     0x63, 
16395                     0x64
16396                 })
16397             }
16398 
16399             Return (\_SB.PCI0.LPC.EC.BRTW)
16400         }
16401 
16402         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
16403         {
16404             If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
16405             {
16406                 \_SB.PCI0.VID.LCD0._BCM (Arg0)
16407             }
16408             ElseIf (\NBCF)
16409             {
16410                 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
16411                 If ((Local0 != Ones))
16412                 {
16413                     Local1 = (Local0 - 0x02)
16414                     \VBRC (Local1)
16415                     \BRLV = Local1
16416                 }
16417             }
16418         }
16419 
16420         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
16421         {
16422             If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
16423             {
16424                 Return (\_SB.PCI0.VID.LCD0._BQC ())
16425             }
16426             Else
16427             {
16428                 Local0 = \BRLV
16429                 Local1 = (Local0 + 0x02)
16430                 If ((Local1 <= 0x11))
16431                 {
16432                     Return (DerefOf (\_SB.PCI0.LPC.EC.BRTW [Local1]))
16433                 }
16434                 Else
16435                 {
16436                     Return (Zero)
16437                 }
16438             }
16439         }
16440     }
16441 
16442     Scope (\_SB.PCI0.SAT1)
16443     {
16444         Device (PRT0)
16445         {
16446             Name (DIP0, 0x00)
16447             Name (FDEV, Zero)
16448             Name (FDRP, Zero)
16449             Name (HDTF, Buffer (0x0E)
16450             {
16451                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16452                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               // ......
16453             })
16454             Name (HETF, Buffer (0x15)
16455             {
16456                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16457                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  // ........
16458                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16459             })
16460             Name (ERTF, Buffer (0x15)
16461             {
16462                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16463                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16464                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16465             })
16466             Name (HPTF, Buffer (0x15)
16467             {
16468                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16469                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16470                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16471             })
16472             Name (HQTF, Buffer (0x1C)
16473             {
16474                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16475                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16476                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  // ........
16477                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16478             })
16479             Name (HXTF, Buffer (0x1C)
16480             {
16481                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16482                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16483                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  // ........
16484                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16485             })
16486             Name (DDTF, Buffer (0x0E)
16487             {
16488                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16489                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               // ......
16490             })
16491             CreateByteField (DDTF, 0x01, DTAT)
16492             CreateByteField (DDTF, 0x08, DTFT)
16493             Name (DGTF, Buffer (0x15)
16494             {
16495                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16496                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  // ........
16497                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16498             })
16499             CreateByteField (DGTF, 0x01, GTAT)
16500             CreateByteField (DGTF, 0x08, GTFT)
16501             Name (_ADR, 0xFFFF)  // _ADR: Address
16502             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16503             {
16504                 DIP0 = 0x00
16505                 If ((SizeOf (Arg0) == 0x0200))
16506                 {
16507                     CreateWordField (Arg0, 0x9C, M078)
16508                     If ((\DPP0 && (M078 & 0x08)))
16509                     {
16510                         DIP0 = 0x01
16511                     }
16512 
16513                     CreateByteField (Arg0, 0x9D, BFDS)
16514                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT0.FDEV */
16515                     CreateByteField (Arg0, 0x9A, BFRP)
16516                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT0.FDRP */
16517                 }
16518             }
16519 
16520             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16521             {
16522                 If (DIP0)
16523                 {
16524                     If ((((DVS0 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
16525                         ((FDRP & 0x80) == 0x80)))
16526                     {
16527                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT0.HQTF */
16528                     }
16529                     Else
16530                     {
16531                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT0.HPTF */
16532                     }
16533                 }
16534                 ElseIf ((((DVS0 == 0x01) && ((FDEV & 0x01) == 
16535                     0x01)) && ((FDRP & 0x80) == 0x80)))
16536                 {
16537                     Return (HETF) /* \_SB_.PCI0.SAT1.PRT0.HETF */
16538                 }
16539                 Else
16540                 {
16541                     Return (HDTF) /* \_SB_.PCI0.SAT1.PRT0.HDTF */
16542                 }
16543             }
16544         }
16545 
16546         Device (PRT1)
16547         {
16548             Name (DIP0, 0x00)
16549             Name (FDEV, 0x00)
16550             Name (FDRP, 0x00)
16551             Name (HDTF, Buffer (0x0E)
16552             {
16553                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16554                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               // ......
16555             })
16556             Name (HETF, Buffer (0x15)
16557             {
16558                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16559                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  // ........
16560                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16561             })
16562             Name (ERTF, Buffer (0x15)
16563             {
16564                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16565                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16566                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16567             })
16568             Name (HPTF, Buffer (0x15)
16569             {
16570                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16571                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16572                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16573             })
16574             Name (HQTF, Buffer (0x1C)
16575             {
16576                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16577                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16578                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  // ........
16579                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16580             })
16581             Name (HXTF, Buffer (0x1C)
16582             {
16583                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16584                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16585                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  // ........
16586                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16587             })
16588             Name (DDTF, Buffer (0x0E)
16589             {
16590                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16591                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               // ......
16592             })
16593             CreateByteField (DDTF, 0x01, DTAT)
16594             CreateByteField (DDTF, 0x08, DTFT)
16595             Name (DGTF, Buffer (0x15)
16596             {
16597                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16598                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  // ........
16599                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16600             })
16601             CreateByteField (DGTF, 0x01, GTAT)
16602             CreateByteField (DGTF, 0x08, GTFT)
16603             Name (_ADR, 0x0001FFFF)  // _ADR: Address
16604             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16605             {
16606                 DIP0 = 0x00
16607                 If ((SizeOf (Arg0) == 0x0200))
16608                 {
16609                     CreateWordField (Arg0, 0x9C, M078)
16610                     If ((\DPP1 && (M078 & 0x08)))
16611                     {
16612                         DIP0 = 0x01
16613                     }
16614 
16615                     CreateByteField (Arg0, 0x9D, BFDS)
16616                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT1.FDEV */
16617                     CreateByteField (Arg0, 0x9A, BFRP)
16618                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT1.FDRP */
16619                 }
16620             }
16621 
16622             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16623             {
16624                 If (DIP0)
16625                 {
16626                     If ((((DVS1 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
16627                         ((FDRP & 0x80) == 0x80)))
16628                     {
16629                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT1.HQTF */
16630                     }
16631                     Else
16632                     {
16633                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT1.HPTF */
16634                     }
16635                 }
16636                 ElseIf ((((DVS1 == 0x01) && ((FDEV & 0x01) == 
16637                     0x01)) && ((FDRP & 0x80) == 0x80)))
16638                 {
16639                     Return (HETF) /* \_SB_.PCI0.SAT1.PRT1.HETF */
16640                 }
16641                 Else
16642                 {
16643                     Return (HDTF) /* \_SB_.PCI0.SAT1.PRT1.HDTF */
16644                 }
16645             }
16646         }
16647 
16648         Device (PRT2)
16649         {
16650             Name (DIP0, 0x00)
16651             Name (FDEV, 0x00)
16652             Name (FDRP, 0x00)
16653             Name (HDTF, Buffer (0x0E)
16654             {
16655                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16656                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               // ......
16657             })
16658             Name (HETF, Buffer (0x15)
16659             {
16660                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16661                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  // ........
16662                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16663             })
16664             Name (ERTF, Buffer (0x15)
16665             {
16666                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16667                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16668                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16669             })
16670             Name (HPTF, Buffer (0x15)
16671             {
16672                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16673                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16674                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16675             })
16676             Name (HQTF, Buffer (0x1C)
16677             {
16678                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16679                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16680                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  // ........
16681                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16682             })
16683             Name (HXTF, Buffer (0x1C)
16684             {
16685                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16686                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16687                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  // ........
16688                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16689             })
16690             Name (DDTF, Buffer (0x0E)
16691             {
16692                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16693                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               // ......
16694             })
16695             CreateByteField (DDTF, 0x01, DTAT)
16696             CreateByteField (DDTF, 0x08, DTFT)
16697             Name (DGTF, Buffer (0x15)
16698             {
16699                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16700                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  // ........
16701                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16702             })
16703             CreateByteField (DGTF, 0x01, GTAT)
16704             CreateByteField (DGTF, 0x08, GTFT)
16705             Name (_ADR, 0x0002FFFF)  // _ADR: Address
16706             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16707             {
16708                 DIP0 = 0x00
16709                 If ((SizeOf (Arg0) == 0x0200))
16710                 {
16711                     CreateWordField (Arg0, 0x9C, M078)
16712                     If ((\DPP2 && (M078 & 0x08)))
16713                     {
16714                         DIP0 = 0x01
16715                     }
16716 
16717                     CreateByteField (Arg0, 0x9D, BFDS)
16718                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT2.FDEV */
16719                     CreateByteField (Arg0, 0x9A, BFRP)
16720                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT2.FDRP */
16721                 }
16722             }
16723 
16724             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16725             {
16726                 If (DIP0)
16727                 {
16728                     If ((((DVS2 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
16729                         ((FDRP & 0x80) == 0x80)))
16730                     {
16731                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT2.HQTF */
16732                     }
16733                     Else
16734                     {
16735                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT2.HPTF */
16736                     }
16737                 }
16738                 ElseIf ((((DVS2 == 0x01) && ((FDEV & 0x01) == 
16739                     0x01)) && ((FDRP & 0x80) == 0x80)))
16740                 {
16741                     Return (HETF) /* \_SB_.PCI0.SAT1.PRT2.HETF */
16742                 }
16743                 Else
16744                 {
16745                     Return (HDTF) /* \_SB_.PCI0.SAT1.PRT2.HDTF */
16746                 }
16747             }
16748         }
16749 
16750         Device (PRT3)
16751         {
16752             Name (DIP0, 0x00)
16753             Name (FDEV, 0x00)
16754             Name (FDRP, 0x00)
16755             Name (HDTF, Buffer (0x0E)
16756             {
16757                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16758                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               // ......
16759             })
16760             Name (HETF, Buffer (0x15)
16761             {
16762                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16763                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  // ........
16764                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16765             })
16766             Name (ERTF, Buffer (0x15)
16767             {
16768                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16769                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16770                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16771             })
16772             Name (HPTF, Buffer (0x15)
16773             {
16774                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16775                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16776                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16777             })
16778             Name (HQTF, Buffer (0x1C)
16779             {
16780                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16781                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16782                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  // ........
16783                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16784             })
16785             Name (HXTF, Buffer (0x1C)
16786             {
16787                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16788                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16789                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  // ........
16790                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16791             })
16792             Name (DDTF, Buffer (0x0E)
16793             {
16794                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16795                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               // ......
16796             })
16797             CreateByteField (DDTF, 0x01, DTAT)
16798             CreateByteField (DDTF, 0x08, DTFT)
16799             Name (DGTF, Buffer (0x15)
16800             {
16801                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16802                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  // ........
16803                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16804             })
16805             CreateByteField (DGTF, 0x01, GTAT)
16806             CreateByteField (DGTF, 0x08, GTFT)
16807             Name (_ADR, 0x0003FFFF)  // _ADR: Address
16808             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16809             {
16810                 DIP0 = 0x00
16811                 If ((SizeOf (Arg0) == 0x0200))
16812                 {
16813                     CreateWordField (Arg0, 0x9C, M078)
16814                     If ((\DPP3 && (M078 & 0x08)))
16815                     {
16816                         DIP0 = 0x01
16817                     }
16818 
16819                     CreateByteField (Arg0, 0x9D, BFDS)
16820                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT3.FDEV */
16821                     CreateByteField (Arg0, 0x9A, BFRP)
16822                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT3.FDRP */
16823                 }
16824             }
16825 
16826             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16827             {
16828                 If (DIP0)
16829                 {
16830                     If ((((DVS3 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
16831                         ((FDRP & 0x80) == 0x80)))
16832                     {
16833                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT3.HQTF */
16834                     }
16835                     Else
16836                     {
16837                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT3.HPTF */
16838                     }
16839                 }
16840                 ElseIf ((((DVS3 == 0x01) && ((FDEV & 0x01) == 
16841                     0x01)) && ((FDRP & 0x80) == 0x80)))
16842                 {
16843                     Return (HETF) /* \_SB_.PCI0.SAT1.PRT3.HETF */
16844                 }
16845                 Else
16846                 {
16847                     Return (HDTF) /* \_SB_.PCI0.SAT1.PRT3.HDTF */
16848                 }
16849             }
16850         }
16851 
16852         Device (PRT4)
16853         {
16854             Name (DIP0, 0x00)
16855             Name (HDTF, Buffer (0x0E)
16856             {
16857                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16858                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               // ......
16859             })
16860             Name (HETF, Buffer (0x15)
16861             {
16862                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16863                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  // ........
16864                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16865             })
16866             Name (ERTF, Buffer (0x15)
16867             {
16868                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16869                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16870                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16871             })
16872             Name (HPTF, Buffer (0x15)
16873             {
16874                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16875                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16876                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16877             })
16878             Name (HQTF, Buffer (0x1C)
16879             {
16880                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16881                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  // ........
16882                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  // ........
16883                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16884             })
16885             Name (HXTF, Buffer (0x1C)
16886             {
16887                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  // ........
16888                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  // ......_.
16889                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  // ........
16890                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           // ....
16891             })
16892             Name (DDTF, Buffer (0x0E)
16893             {
16894                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16895                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               // ......
16896             })
16897             CreateByteField (DDTF, 0x01, DTAT)
16898             CreateByteField (DDTF, 0x08, DTFT)
16899             Name (DGTF, Buffer (0x15)
16900             {
16901                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  // ........
16902                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  // ........
16903                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     // .....
16904             })
16905             CreateByteField (DGTF, 0x01, GTAT)
16906             CreateByteField (DGTF, 0x08, GTFT)
16907             Name (_ADR, 0x0004FFFF)  // _ADR: Address
16908             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16909             {
16910                 DIP0 = 0x00
16911                 If ((SizeOf (Arg0) == 0x0200))
16912                 {
16913                     CreateWordField (Arg0, 0x9C, M078)
16914                     If ((\DPP4 && (M078 & 0x08)))
16915                     {
16916                         DIP0 = 0x01
16917                     }
16918                 }
16919             }
16920 
16921             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16922             {
16923                 If (DIP0)
16924                 {
16925                     Return (HPTF) /* \_SB_.PCI0.SAT1.PRT4.HPTF */
16926                 }
16927 
16928                 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT4.HDTF */
16929             }
16930         }
16931     }
16932 
16933     Scope (\_SB.PCI0.LPC.EC.BAT1)
16934     {
16935         Method (_Q4C, 0, NotSerialized)  // _Qxx: EC Query
16936         {
16937             \_SB.PCI0.LPC.EC.CLPM ()
16938             If (\_SB.PCI0.LPC.EC.HB1A)
16939             {
16940                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
16941             }
16942             Else
16943             {
16944                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
16945                 If (\_SB.PCI0.LPC.EC.BAT1.XB1S)
16946                 {
16947                     Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
16948                 }
16949             }
16950         }
16951 
16952         Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
16953         {
16954             If (Arg0)
16955             {
16956                 \_SB.PCI0.LPC.EC.BAT1.B1ST = 0x00
16957                 \_SB.PCI0.LPC.EC.BAT1.SBLI = 0x01
16958                 \_SB.PCI0.LPC.EC.BAT1.XB1S = 0x00
16959             }
16960         }
16961     }
16962 
16963     Scope (\_PR.CPU0)
16964     {
16965         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
16966         {
16967             Local0 = Zero
16968             Local0 = \_SB.PCI0.LPC.EC.LPMD ()
16969             If (!Local0)
16970             {
16971                 If (((\_SB.PCI0.LPC.EC.AC._PSR () && \TCFA) || (!\_SB.PCI0.LPC.EC.AC._PSR () && \TCFD)))
16972                 {
16973                     If ((\_SB.PCI0.LPC.EC.TSL0 & 0x76))
16974                     {
16975                         Local0 = \LWST
16976                     }
16977                 }
16978                 ElseIf ((\_SB.PCI0.LPC.EC.TSL0 & 0x77))
16979                 {
16980                     Local0 = \LWST
16981                 }
16982 
16983                 If (!Local0)
16984                 {
16985                     If (\_PR.CLVL)
16986                     {
16987                         If (\PPCA)
16988                         {
16989                             Local0 = \PPCA
16990                         }
16991                     }
16992                     ElseIf ((\PPCA || \FTPS))
16993                     {
16994                         If ((\FTPS <= \PPCA))
16995                         {
16996                             Local0 = \PPCA
16997                         }
16998                         Else
16999                         {
17000                             Local0 = \FTPS
17001                         }
17002                     }
17003                 }
17004             }
17005 
17006             If (((\GFPL && !Local0) || (!\GFPL && Local0)))
17007             {
17008                 Local1 = 0x03E8
17009                 While (\_SB.PCI0.LPC.EC.PIBS)
17010                 {
17011                     Sleep (One)
17012                     Local1--
17013                     If (!Local1)
17014                     {
17015                         \PPCR = Local0
17016                         Return (Local0)
17017                     }
17018                 }
17019 
17020                 If (Local0)
17021                 {
17022                     If (!\GFPL)
17023                     {
17024                         \GFPL = One
17025                         \_SB.PCI0.LPC.EC.PLSL = 0x04
17026                         \_SB.PCI0.LPC.EC.PLTU = One
17027                         \_SB.PCI0.LPC.EC.PLLS = 0x0D
17028                         \_SB.PCI0.LPC.EC.PLMS = Zero
17029                     }
17030                 }
17031                 ElseIf (\GFPL)
17032                 {
17033                     \GFPL = Zero
17034                     \_SB.PCI0.LPC.EC.PLSL = 0x04
17035                     If (\MTAU)
17036                     {
17037                         \_SB.PCI0.LPC.EC.PLTU = \MTAU
17038                     }
17039                     Else
17040                     {
17041                         \_SB.PCI0.LPC.EC.PLTU = 0x1C
17042                     }
17043 
17044                     \_SB.PCI0.LPC.EC.PLLS = \PL1L
17045                     \_SB.PCI0.LPC.EC.PLMS = \PL1M
17046                 }
17047             }
17048 
17049             If (\_PR.CLVL)
17050             {
17051                 If ((Local0 == Zero))
17052                 {
17053                     If ((\CTDP < \FTPS))
17054                     {
17055                         Local0 = \FTPS
17056                     }
17057                     Else
17058                     {
17059                         Local0 = \CTDP
17060                     }
17061                 }
17062                 ElseIf ((\CTDP >= Local0))
17063                 {
17064                     Local0 = \CTDP
17065                     If ((\LWST > Local0))
17066                     {
17067                         Local0++
17068                     }
17069                 }
17070             }
17071 
17072             \PPCR = Local0
17073             Return (Local0)
17074         }
17075 
17076         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
17077         {
17078             If (\_PR.CLVL)
17079             {
17080                 \CTDP = \_PR.CPPC
17081             }
17082 
17083             If (((CFGD & One) && (PDC0 & One)))
17084             {
17085                 Return (Package (0x02)
17086                 {
17087                     ResourceTemplate ()
17088                     {
17089                         Register (FFixedHW, 
17090                             0x00,               // Bit Width
17091                             0x00,               // Bit Offset
17092                             0x0000000000000000, // Address
17093                             ,)
17094                     }, 
17095 
17096                     ResourceTemplate ()
17097                     {
17098                         Register (FFixedHW, 
17099                             0x00,               // Bit Width
17100                             0x00,               // Bit Offset
17101                             0x0000000000000000, // Address
17102                             ,)
17103                     }
17104                 })
17105             }
17106         }
17107 
17108         Name (_PSS, Package (0x10)  // _PSS: Performance Supported States
17109         {
17110             Package (0x06)
17111             {
17112                 0x00000A8D, 
17113                 0x00003A98, 
17114                 0x0000000A, 
17115                 0x0000000A, 
17116                 0x00002500, 
17117                 0x00002500
17118             }, 
17119 
17120             Package (0x06)
17121             {
17122                 0x00000A8C, 
17123                 0x00003A98, 
17124                 0x0000000A, 
17125                 0x0000000A, 
17126                 0x00001B00, 
17127                 0x00001B00
17128             }, 
17129 
17130             Package (0x06)
17131             {
17132                 0x00000A28, 
17133                 0x0000379C, 
17134                 0x0000000A, 
17135                 0x0000000A, 
17136                 0x00001A00, 
17137                 0x00001A00
17138             }, 
17139 
17140             Package (0x06)
17141             {
17142                 0x00000960, 
17143                 0x000031D0, 
17144                 0x0000000A, 
17145                 0x0000000A, 
17146                 0x00001800, 
17147                 0x00001800
17148             }, 
17149 
17150             Package (0x06)
17151             {
17152                 0x000008FC, 
17153                 0x00002F8F, 
17154                 0x0000000A, 
17155                 0x0000000A, 
17156                 0x00001700, 
17157                 0x00001700
17158             }, 
17159 
17160             Package (0x06)
17161             {
17162                 0x00000834, 
17163                 0x00002A17, 
17164                 0x0000000A, 
17165                 0x0000000A, 
17166                 0x00001500, 
17167                 0x00001500
17168             }, 
17169 
17170             Package (0x06)
17171             {
17172                 0x000007D0, 
17173                 0x000027FA, 
17174                 0x0000000A, 
17175                 0x0000000A, 
17176                 0x00001400, 
17177                 0x00001400
17178             }, 
17179 
17180             Package (0x06)
17181             {
17182                 0x00000708, 
17183                 0x000022D0, 
17184                 0x0000000A, 
17185                 0x0000000A, 
17186                 0x00001200, 
17187                 0x00001200
17188             }, 
17189 
17190             Package (0x06)
17191             {
17192                 0x000006A4, 
17193                 0x0000204F, 
17194                 0x0000000A, 
17195                 0x0000000A, 
17196                 0x00001100, 
17197                 0x00001100
17198             }, 
17199 
17200             Package (0x06)
17201             {
17202                 0x00000640, 
17203                 0x00001E62, 
17204                 0x0000000A, 
17205                 0x0000000A, 
17206                 0x00001000, 
17207                 0x00001000
17208             }, 
17209 
17210             Package (0x06)
17211             {
17212                 0x00000578, 
17213                 0x000019A1, 
17214                 0x0000000A, 
17215                 0x0000000A, 
17216                 0x00000E00, 
17217                 0x00000E00
17218             }, 
17219 
17220             Package (0x06)
17221             {
17222                 0x00000514, 
17223                 0x000017D3, 
17224                 0x0000000A, 
17225                 0x0000000A, 
17226                 0x00000D00, 
17227                 0x00000D00
17228             }, 
17229 
17230             Package (0x06)
17231             {
17232                 0x0000044C, 
17233                 0x0000135D, 
17234                 0x0000000A, 
17235                 0x0000000A, 
17236                 0x00000B00, 
17237                 0x00000B00
17238             }, 
17239 
17240             Package (0x06)
17241             {
17242                 0x000003E8, 
17243                 0x000011B1, 
17244                 0x0000000A, 
17245                 0x0000000A, 
17246                 0x00000A00, 
17247                 0x00000A00
17248             }, 
17249 
17250             Package (0x06)
17251             {
17252                 0x00000320, 
17253                 0x00000D85, 
17254                 0x0000000A, 
17255                 0x0000000A, 
17256                 0x00000800, 
17257                 0x00000800
17258             }, 
17259 
17260             Package (0x06)
17261             {
17262                 0x000002F4, 
17263                 0x00000B81, 
17264                 0x0000000A, 
17265                 0x0000000A, 
17266                 0x00000700, 
17267                 0x00000800
17268             }
17269         })
17270         Package (0x06)
17271         {
17272             0x80000000, 
17273             0x80000000, 
17274             0x80000000, 
17275             0x80000000, 
17276             0x80000000, 
17277             0x80000000
17278         }
17279 
17280         Package (0x06)
17281         {
17282             0x80000000, 
17283             0x80000000, 
17284             0x80000000, 
17285             0x80000000, 
17286             0x80000000, 
17287             0x80000000
17288         }
17289 
17290         Package (0x06)
17291         {
17292             0x80000000, 
17293             0x80000000, 
17294             0x80000000, 
17295             0x80000000, 
17296             0x80000000, 
17297             0x80000000
17298         }
17299 
17300         Package (0x06)
17301         {
17302             0x80000000, 
17303             0x80000000, 
17304             0x80000000, 
17305             0x80000000, 
17306             0x80000000, 
17307             0x80000000
17308         }
17309 
17310         Package (0x06)
17311         {
17312             0x80000000, 
17313             0x80000000, 
17314             0x80000000, 
17315             0x80000000, 
17316             0x80000000, 
17317             0x80000000
17318         }
17319 
17320         Package (0x06)
17321         {
17322             0x80000000, 
17323             0x80000000, 
17324             0x80000000, 
17325             0x80000000, 
17326             0x80000000, 
17327             0x80000000
17328         }
17329 
17330         Package (0x06)
17331         {
17332             0x80000000, 
17333             0x80000000, 
17334             0x80000000, 
17335             0x80000000, 
17336             0x80000000, 
17337             0x80000000
17338         }
17339 
17340         Package (0x06)
17341         {
17342             0x80000000, 
17343             0x80000000, 
17344             0x80000000, 
17345             0x80000000, 
17346             0x80000000, 
17347             0x80000000
17348         }
17349 
17350         Package (0x06)
17351         {
17352             0x80000000, 
17353             0x80000000, 
17354             0x80000000, 
17355             0x80000000, 
17356             0x80000000, 
17357             0x80000000
17358         }
17359 
17360         Package (0x06)
17361         {
17362             0x80000000, 
17363             0x80000000, 
17364             0x80000000, 
17365             0x80000000, 
17366             0x80000000, 
17367             0x80000000
17368         }
17369 
17370         Package (0x06)
17371         {
17372             0x80000000, 
17373             0x80000000, 
17374             0x80000000, 
17375             0x80000000, 
17376             0x80000000, 
17377             0x80000000
17378         }
17379 
17380         Package (0x06)
17381         {
17382             0x80000000, 
17383             0x80000000, 
17384             0x80000000, 
17385             0x80000000, 
17386             0x80000000, 
17387             0x80000000
17388         }
17389 
17390         Package (0x06)
17391         {
17392             0x80000000, 
17393             0x80000000, 
17394             0x80000000, 
17395             0x80000000, 
17396             0x80000000, 
17397             0x80000000
17398         }
17399 
17400         Package (0x06)
17401         {
17402             0x80000000, 
17403             0x80000000, 
17404             0x80000000, 
17405             0x80000000, 
17406             0x80000000, 
17407             0x80000000
17408         }
17409 
17410         Package (0x06)
17411         {
17412             0x80000000, 
17413             0x80000000, 
17414             0x80000000, 
17415             0x80000000, 
17416             0x80000000, 
17417             0x80000000
17418         }
17419 
17420         Package (0x06)
17421         {
17422             0x80000000, 
17423             0x80000000, 
17424             0x80000000, 
17425             0x80000000, 
17426             0x80000000, 
17427             0x80000000
17428         }
17429 
17430         Name (PSDF, Zero)
17431         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
17432         {
17433             If (!PSDF)
17434             {
17435                 DerefOf (HPSD [Zero]) [0x04] = TCNT /* \TCNT */
17436                 DerefOf (SPSD [Zero]) [0x04] = TCNT /* \TCNT */
17437                 PSDF = Ones
17438             }
17439 
17440             If ((PDC0 & 0x0800))
17441             {
17442                 Return (HPSD) /* \_PR_.CPU0.HPSD */
17443             }
17444 
17445             Return (SPSD) /* \_PR_.CPU0.SPSD */
17446         }
17447 
17448         Name (HPSD, Package (0x01)
17449         {
17450             Package (0x05)
17451             {
17452                 0x05, 
17453                 Zero, 
17454                 Zero, 
17455                 0xFE, 
17456                 0x80
17457             }
17458         })
17459         Name (SPSD, Package (0x01)
17460         {
17461             Package (0x05)
17462             {
17463                 0x05, 
17464                 Zero, 
17465                 Zero, 
17466                 0xFC, 
17467                 0x80
17468             }
17469         })
17470     }
17471 
17472     Scope (\)
17473     {
17474         Name (SSDT, Package (0x0C)
17475         {
17476             "CPU0IST ", 
17477             0xD4B57018, 
17478             0x000007F5, 
17479             "APIST   ", 
17480             0xDCD2E618, 
17481             0x000005AA, 
17482             "CPU0CST ", 
17483             0xDCCD7918, 
17484             0x00000436, 
17485             "APCST   ", 
17486             0xDCD2FC18, 
17487             0x00000119
17488         })
17489         Name (\PDC0, 0x80000000)
17490         Name (\PDC1, 0x80000000)
17491         Name (\PDC2, 0x80000000)
17492         Name (\PDC3, 0x80000000)
17493         Name (\PDC4, 0x80000000)
17494         Name (\PDC5, 0x80000000)
17495         Name (\PDC6, 0x80000000)
17496         Name (\PDC7, 0x80000000)
17497         Name (\SDTL, Zero)
17498     }
17499 
17500     Scope (\_PR)
17501     {
17502         OperationRegion (PPMT, SystemMemory, 0xDCE49F98, 0x003A)
17503         Field (PPMT, AnyAcc, Lock, Preserve)
17504         {
17505             PGRV,   8, 
17506             CFGD,   32, 
17507             Offset (0x06), 
17508             ACRT,   8, 
17509             APSV,   8, 
17510             AAC0,   8, 
17511             CPID,   32, 
17512             CPPC,   8, 
17513             CCTP,   8, 
17514             CLVL,   8, 
17515             CBMI,   8, 
17516             PL10,   16, 
17517             PL20,   16, 
17518             PLW0,   8, 
17519             CTC0,   8, 
17520             TAR0,   8, 
17521             PPC0,   8, 
17522             PL11,   16, 
17523             PL21,   16, 
17524             PLW1,   8, 
17525             CTC1,   8, 
17526             TAR1,   8, 
17527             PPC1,   8, 
17528             PL12,   16, 
17529             PL22,   16, 
17530             PLW2,   8, 
17531             CTC2,   8, 
17532             TAR2,   8, 
17533             PPC2,   8, 
17534             C3MW,   8, 
17535             C6MW,   8, 
17536             C7MW,   8, 
17537             CDMW,   8, 
17538             C3LT,   16, 
17539             C6LT,   16, 
17540             C7LT,   16, 
17541             CDLT,   16, 
17542             CDLV,   16, 
17543             CDPW,   16, 
17544             MPMF,   8
17545         }
17546     }
17547 
17548     Scope (\_PR.CPU0)
17549     {
17550         Name (HI0, Zero)
17551         Name (HC0, Zero)
17552         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17553         {
17554             If (CondRefOf (\_PR.CPU0._PPC))
17555             {
17556                 \_PR.CPU0._PPC () = CPPC /* \_PR_.CPPC */
17557             }
17558 
17559             Local0 = CPDC (Arg0)
17560             GCAP (Local0)
17561             Return (Local0)
17562         }
17563 
17564         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17565         {
17566             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
17567             GCAP (Local0)
17568             Return (Local0)
17569         }
17570 
17571         Method (CPDC, 1, NotSerialized)
17572         {
17573             CreateDWordField (Arg0, Zero, REVS)
17574             CreateDWordField (Arg0, 0x04, SIZE)
17575             Local0 = SizeOf (Arg0)
17576             Local1 = (Local0 - 0x08)
17577             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
17578             Name (STS0, Buffer (0x04)
17579             {
17580                  0x00, 0x00, 0x00, 0x00                           // ....
17581             })
17582             Concatenate (STS0, TEMP, Local2)
17583             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
17584         }
17585 
17586         Method (COSC, 4, NotSerialized)
17587         {
17588             CreateDWordField (Arg3, Zero, STS0)
17589             CreateDWordField (Arg3, 0x04, CAP0)
17590             CreateDWordField (Arg0, Zero, IID0)
17591             CreateDWordField (Arg0, 0x04, IID1)
17592             CreateDWordField (Arg0, 0x08, IID2)
17593             CreateDWordField (Arg0, 0x0C, IID3)
17594             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
17595             CreateDWordField (UID0, Zero, EID0)
17596             CreateDWordField (UID0, 0x04, EID1)
17597             CreateDWordField (UID0, 0x08, EID2)
17598             CreateDWordField (UID0, 0x0C, EID3)
17599             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
17600                 IID2 == EID2) && (IID3 == EID3))))
17601             {
17602                 STS0 = 0x06
17603                 Return (Arg3)
17604             }
17605 
17606             If ((Arg1 != One))
17607             {
17608                 STS0 = 0x0A
17609                 Return (Arg3)
17610             }
17611 
17612             Return (Arg3)
17613         }
17614 
17615         Method (GCAP, 1, NotSerialized)
17616         {
17617             CreateDWordField (Arg0, Zero, STS0)
17618             CreateDWordField (Arg0, 0x04, CAP0)
17619             If (((STS0 == 0x06) || (STS0 == 0x0A)))
17620             {
17621                 Return (Zero)
17622             }
17623 
17624             If ((STS0 & One))
17625             {
17626                 CAP0 &= 0x0BFF
17627                 Return (Zero)
17628             }
17629 
17630             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
17631             If ((CFGD & 0x7A))
17632             {
17633                 If ((((CFGD & 0x0200) && (PDC0 & 0x18)) && !
17634                     (SDTL & 0x02)))
17635                 {
17636                     SDTL |= 0x02
17637                     OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
17638                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
17639                 }
17640             }
17641 
17642             Return (Zero)
17643         }
17644     }
17645 
17646     Scope (\_PR.CPU1)
17647     {
17648         Name (HI1, Zero)
17649         Name (HC1, Zero)
17650         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17651         {
17652             Local0 = \_PR.CPU0.CPDC (Arg0)
17653             GCAP (Local0)
17654             Return (Local0)
17655         }
17656 
17657         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17658         {
17659             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17660             GCAP (Local0)
17661             Return (Local0)
17662         }
17663 
17664         Method (GCAP, 1, NotSerialized)
17665         {
17666             CreateDWordField (Arg0, Zero, STS1)
17667             CreateDWordField (Arg0, 0x04, CAP1)
17668             If (((STS1 == 0x06) || (STS1 == 0x0A)))
17669             {
17670                 Return (Zero)
17671             }
17672 
17673             If ((STS1 & One))
17674             {
17675                 CAP1 &= 0x0BFF
17676                 Return (Zero)
17677             }
17678 
17679             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
17680             If (((PDC1 & 0x09) == 0x09))
17681             {
17682                 APPT ()
17683             }
17684 
17685             If ((PDC1 & 0x18))
17686             {
17687                 APCT ()
17688             }
17689 
17690             PDC0 = PDC1 /* \PDC1 */
17691             Return (Zero)
17692         }
17693 
17694         Method (APCT, 0, NotSerialized)
17695         {
17696             If (((CFGD & 0x7A) && !(SDTL & 0x20)))
17697             {
17698                 SDTL |= 0x20
17699                 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
17700                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
17701             }
17702         }
17703 
17704         Method (APPT, 0, NotSerialized)
17705         {
17706             If (((CFGD & One) && !(SDTL & 0x10)))
17707             {
17708                 SDTL |= 0x10
17709                 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
17710                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
17711             }
17712         }
17713     }
17714 
17715     Scope (\_PR.CPU2)
17716     {
17717         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17718         {
17719             Local0 = \_PR.CPU0.CPDC (Arg0)
17720             GCAP (Local0)
17721             Return (Local0)
17722         }
17723 
17724         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17725         {
17726             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17727             GCAP (Local0)
17728             Return (Local0)
17729         }
17730 
17731         Method (GCAP, 1, NotSerialized)
17732         {
17733             CreateDWordField (Arg0, Zero, STS2)
17734             CreateDWordField (Arg0, 0x04, CAP2)
17735             If (((STS2 == 0x06) || (STS2 == 0x0A)))
17736             {
17737                 Return (Zero)
17738             }
17739 
17740             If ((STS2 & One))
17741             {
17742                 CAP2 &= 0x0BFF
17743                 Return (Zero)
17744             }
17745 
17746             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
17747             If (((PDC2 & 0x09) == 0x09))
17748             {
17749                 \_PR.CPU1.APPT ()
17750             }
17751 
17752             If ((PDC2 & 0x18))
17753             {
17754                 \_PR.CPU1.APCT ()
17755             }
17756 
17757             PDC0 = PDC2 /* \PDC2 */
17758             Return (Zero)
17759         }
17760     }
17761 
17762     Scope (\_PR.CPU3)
17763     {
17764         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17765         {
17766             Local0 = \_PR.CPU0.CPDC (Arg0)
17767             GCAP (Local0)
17768             Return (Local0)
17769         }
17770 
17771         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17772         {
17773             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17774             GCAP (Local0)
17775             Return (Local0)
17776         }
17777 
17778         Method (GCAP, 1, NotSerialized)
17779         {
17780             CreateDWordField (Arg0, Zero, STS3)
17781             CreateDWordField (Arg0, 0x04, CAP3)
17782             If (((STS3 == 0x06) || (STS3 == 0x0A)))
17783             {
17784                 Return (Zero)
17785             }
17786 
17787             If ((STS3 & One))
17788             {
17789                 CAP3 &= 0x0BFF
17790                 Return (Zero)
17791             }
17792 
17793             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
17794             If (((PDC3 & 0x09) == 0x09))
17795             {
17796                 \_PR.CPU1.APPT ()
17797             }
17798 
17799             If ((PDC3 & 0x18))
17800             {
17801                 \_PR.CPU1.APCT ()
17802             }
17803 
17804             PDC0 = PDC3 /* \PDC3 */
17805             Return (Zero)
17806         }
17807     }
17808 
17809     Scope (\_PR.CPU4)
17810     {
17811         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17812         {
17813             Local0 = \_PR.CPU0.CPDC (Arg0)
17814             GCAP (Local0)
17815             Return (Local0)
17816         }
17817 
17818         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17819         {
17820             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17821             GCAP (Local0)
17822             Return (Local0)
17823         }
17824 
17825         Method (GCAP, 1, NotSerialized)
17826         {
17827             CreateDWordField (Arg0, Zero, STS4)
17828             CreateDWordField (Arg0, 0x04, CAP4)
17829             If (((STS4 == 0x06) || (STS4 == 0x0A)))
17830             {
17831                 Return (Zero)
17832             }
17833 
17834             If ((STS4 & One))
17835             {
17836                 CAP4 &= 0x0BFF
17837                 Return (Zero)
17838             }
17839 
17840             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
17841             If (((PDC4 & 0x09) == 0x09))
17842             {
17843                 \_PR.CPU1.APPT ()
17844             }
17845 
17846             If ((PDC4 & 0x18))
17847             {
17848                 \_PR.CPU1.APCT ()
17849             }
17850 
17851             PDC0 = PDC4 /* \PDC4 */
17852             Return (Zero)
17853         }
17854     }
17855 
17856     Scope (\_PR.CPU5)
17857     {
17858         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17859         {
17860             Local0 = \_PR.CPU0.CPDC (Arg0)
17861             GCAP (Local0)
17862             Return (Local0)
17863         }
17864 
17865         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17866         {
17867             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17868             GCAP (Local0)
17869             Return (Local0)
17870         }
17871 
17872         Method (GCAP, 1, NotSerialized)
17873         {
17874             CreateDWordField (Arg0, Zero, STS5)
17875             CreateDWordField (Arg0, 0x04, CAP5)
17876             If (((STS5 == 0x06) || (STS5 == 0x0A)))
17877             {
17878                 Return (Zero)
17879             }
17880 
17881             If ((STS5 & One))
17882             {
17883                 CAP5 &= 0x0BFF
17884                 Return (Zero)
17885             }
17886 
17887             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
17888             If (((PDC5 & 0x09) == 0x09))
17889             {
17890                 \_PR.CPU1.APPT ()
17891             }
17892 
17893             If ((PDC5 & 0x18))
17894             {
17895                 \_PR.CPU1.APCT ()
17896             }
17897 
17898             PDC0 = PDC5 /* \PDC5 */
17899             Return (Zero)
17900         }
17901     }
17902 
17903     Scope (\_PR.CPU6)
17904     {
17905         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17906         {
17907             Local0 = \_PR.CPU0.CPDC (Arg0)
17908             GCAP (Local0)
17909             Return (Local0)
17910         }
17911 
17912         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17913         {
17914             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17915             GCAP (Local0)
17916             Return (Local0)
17917         }
17918 
17919         Method (GCAP, 1, NotSerialized)
17920         {
17921             CreateDWordField (Arg0, Zero, STS6)
17922             CreateDWordField (Arg0, 0x04, CAP6)
17923             If (((STS6 == 0x06) || (STS6 == 0x0A)))
17924             {
17925                 Return (Zero)
17926             }
17927 
17928             If ((STS6 & One))
17929             {
17930                 CAP6 &= 0x0BFF
17931                 Return (Zero)
17932             }
17933 
17934             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
17935             If (((PDC6 & 0x09) == 0x09))
17936             {
17937                 \_PR.CPU1.APPT ()
17938             }
17939 
17940             If ((PDC6 & 0x18))
17941             {
17942                 \_PR.CPU1.APCT ()
17943             }
17944 
17945             PDC0 = PDC6 /* \PDC6 */
17946             Return (Zero)
17947         }
17948     }
17949 
17950     Scope (\_PR.CPU7)
17951     {
17952         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17953         {
17954             Local0 = \_PR.CPU0.CPDC (Arg0)
17955             GCAP (Local0)
17956             Return (Local0)
17957         }
17958 
17959         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17960         {
17961             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17962             GCAP (Local0)
17963             Return (Local0)
17964         }
17965 
17966         Method (GCAP, 1, NotSerialized)
17967         {
17968             CreateDWordField (Arg0, Zero, STS7)
17969             CreateDWordField (Arg0, 0x04, CAP7)
17970             If (((STS7 == 0x06) || (STS7 == 0x0A)))
17971             {
17972                 Return (Zero)
17973             }
17974 
17975             If ((STS7 & One))
17976             {
17977                 CAP7 &= 0x0BFF
17978                 Return (Zero)
17979             }
17980 
17981             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
17982             If (((PDC7 & 0x09) == 0x09))
17983             {
17984                 \_PR.CPU1.APPT ()
17985             }
17986 
17987             If ((PDC7 & 0x18))
17988             {
17989                 \_PR.CPU1.APCT ()
17990             }
17991 
17992             PDC0 = PDC7 /* \PDC7 */
17993             Return (Zero)
17994         }
17995     }
17996 
17997     OperationRegion (SANV, SystemMemory, 0xDCE48D98, 0x0141)
17998     Field (SANV, AnyAcc, Lock, Preserve)
17999     {
18000         SARV,   32, 
18001         ASLB,   32, 
18002         IMON,   8, 
18003         IGDS,   8, 
18004         CADL,   8, 
18005         PADL,   8, 
18006         CSTE,   16, 
18007         NSTE,   16, 
18008         DID9,   32, 
18009         DIDA,   32, 
18010         DIDB,   32, 
18011         IBTT,   8, 
18012         IPAT,   8, 
18013         IPSC,   8, 
18014         IBLC,   8, 
18015         IBIA,   8, 
18016         ISSC,   8, 
18017         IPCF,   8, 
18018         IDMS,   8, 
18019         IF1E,   8, 
18020         HVCO,   8, 
18021         NXD1,   32, 
18022         NXD2,   32, 
18023         NXD3,   32, 
18024         NXD4,   32, 
18025         NXD5,   32, 
18026         NXD6,   32, 
18027         NXD7,   32, 
18028         NXD8,   32, 
18029         GSMI,   8, 
18030         PAVP,   8, 
18031         Offset (0x49), 
18032         KSV0,   32, 
18033         KSV1,   8, 
18034         BBAR,   32, 
18035         BLCS,   8, 
18036         BRTL,   8, 
18037         ALSE,   8, 
18038         ALAF,   8, 
18039         LLOW,   8, 
18040         LHIH,   8, 
18041         ALFP,   8, 
18042         AUDA,   32, 
18043         AUDB,   32, 
18044         Offset (0x65), 
18045         DIDC,   32, 
18046         DIDD,   32, 
18047         DIDE,   32, 
18048         DIDF,   32, 
18049         CADR,   32, 
18050         CCNT,   8, 
18051         Offset (0xC8), 
18052         SGMD,   8, 
18053         SGFL,   8, 
18054         PWOK,   8, 
18055         HLRS,   8, 
18056         PWEN,   8, 
18057         PRST,   8, 
18058         CPSP,   32, 
18059         EECP,   8, 
18060         EVCP,   16, 
18061         XBAS,   32, 
18062         GBAS,   16, 
18063         SGGP,   8, 
18064         NVGA,   32, 
18065         NVHA,   32, 
18066         AMDA,   32, 
18067         NDID,   8, 
18068         DID1,   32, 
18069         DID2,   32, 
18070         DID3,   32, 
18071         DID4,   32, 
18072         DID5,   32, 
18073         DID6,   32, 
18074         DID7,   32, 
18075         DID8,   32, 
18076         OBS1,   32, 
18077         OBS2,   32, 
18078         OBS3,   32, 
18079         OBS4,   32, 
18080         OBS5,   32, 
18081         OBS6,   32, 
18082         OBS7,   32, 
18083         OBS8,   32, 
18084         LTRA,   8, 
18085         OBFA,   8, 
18086         LTRB,   8, 
18087         OBFB,   8, 
18088         LTRC,   8, 
18089         OBFC,   8, 
18090         SMSL,   16, 
18091         SNSL,   16, 
18092         P0UB,   8, 
18093         P1UB,   8, 
18094         P2UB,   8, 
18095         EDPV,   8, 
18096         NXDX,   32, 
18097         DIDX,   32, 
18098         PCSL,   8, 
18099         SC7A,   8
18100     }
18101 
18102     Scope (\_SB.PCI0.B0D3)
18103     {
18104         Name (BARA, 0x80000000)
18105         Name (TBAR, Zero)
18106         Name (TCMD, Zero)
18107         Name (MODB, Zero)
18108         Name (MODC, Zero)
18109         Method (_STA, 0, NotSerialized)  // _STA: Status
18110         {
18111             If ((AUVD != 0xFFFF))
18112             {
18113                 Return (0x0F)
18114             }
18115 
18116             Return (Zero)
18117         }
18118 
18119         Method (_INI, 0, NotSerialized)  // _INI: Initialize
18120         {
18121             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18122                 ABAR & 0xFFFFC000) != Zero)))
18123             {
18124                 BARA = ABAR /* \_SB_.PCI0.B0D3.ABAR */
18125             }
18126         }
18127 
18128         OperationRegion (RPCS, SystemMemory, \XBAS, 0x00018040)
18129         Field (RPCS, AnyAcc, NoLock, Preserve)
18130         {
18131             Offset (0x18004), 
18132             ACMD,   8, 
18133             Offset (0x18010), 
18134             ABAR,   32
18135         }
18136 
18137         OperationRegion (RPCZ, PCI_Config, Zero, 0x40)
18138         Field (RPCZ, DWordAcc, Lock, Preserve)
18139         {
18140             AUVD,   16
18141         }
18142 
18143         Method (ASTR, 0, Serialized)
18144         {
18145             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18146                 ABAR & 0xFFFFC000) != Zero)))
18147             {
18148                 BBAR = (ABAR & 0xFFFFFFF0)
18149                 BBAR += 0x1000
18150                 OperationRegion (RPCY, SystemMemory, BBAR, 0x25)
18151                 Field (RPCY, DWordAcc, NoLock, Preserve)
18152                 {
18153                     Offset (0x0C), 
18154                     EM4W,   32, 
18155                     EMWA,   32, 
18156                     Offset (0x1C), 
18157                     ADWA,   32
18158                 }
18159 
18160                 EMWA = AUDA /* \AUDA */
18161                 ADWA = AUDB /* \AUDB */
18162             }
18163         }
18164 
18165         Method (VSTR, 1, Serialized)
18166         {
18167             Name (CONT, 0x03E8)
18168             Name (ADDR, 0x80000000)
18169             ADDR = Arg0
18170             OperationRegion (CCDC, SystemMemory, ADDR, 0x04)
18171             Field (CCDC, ByteAcc, NoLock, Preserve)
18172             {
18173                 CDEC,   32
18174             }
18175 
18176             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18177                 ABAR & 0xFFFFC000) != Zero)))
18178             {
18179                 If ((CDEC != Zero))
18180                 {
18181                     BBAR = (ABAR & 0xFFFFFFF0)
18182                     OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
18183                     Field (IPCV, DWordAcc, NoLock, Preserve)
18184                     {
18185                         Offset (0x60), 
18186                         AVIC,   32, 
18187                         Offset (0x68), 
18188                         AIRS,   16
18189                     }
18190 
18191                     CONT = 0x03E8
18192                     While ((((AIRS & One) == One) && (CONT != Zero)))
18193                     {
18194                         Stall (One)
18195                         CONT--
18196                     }
18197 
18198                     AIRS |= 0x02
18199                     AVIC = CDEC /* \_SB_.PCI0.B0D3.VSTR.CDEC */
18200                     AIRS |= One
18201                     CONT = 0x03E8
18202                     While ((((AIRS & One) == One) && (CONT != Zero)))
18203                     {
18204                         Stall (One)
18205                         CONT--
18206                     }
18207                 }
18208             }
18209         }
18210 
18211         Method (CXDC, 0, Serialized)
18212         {
18213             Name (IDDX, 0x80000000)
18214             If (((CADR != Zero) && (CCNT != Zero)))
18215             {
18216                 IDDX = CADR /* \CADR */
18217                 While ((IDDX < (CADR + (CCNT * 0x04))))
18218                 {
18219                     VSTR (IDDX)
18220                     IDDX += 0x04
18221                 }
18222             }
18223         }
18224 
18225         Method (ARST, 0, Serialized)
18226         {
18227             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18228                 ABAR & 0xFFFFC000) != Zero)))
18229             {
18230                 BBAR = (ABAR & 0xFFFFFFF0)
18231                 OperationRegion (IPCV, SystemMemory, BBAR, 0xBF)
18232                 Field (IPCV, AnyAcc, NoLock, Preserve)
18233                 {
18234                     Offset (0x08), 
18235                     CRST,   32, 
18236                     Offset (0x4C), 
18237                     CORB,   32, 
18238                     Offset (0x5C), 
18239                     RIRB,   32, 
18240                     Offset (0x80), 
18241                     OSD1,   32, 
18242                     Offset (0xA0), 
18243                     OSD2,   32
18244                 }
18245 
18246                 CORB &= 0xFFFFFFFD
18247                 RIRB &= 0xFFFFFFFD
18248                 OSD1 &= 0xFFFFFFFD
18249                 OSD2 &= 0xFFFFFFFD
18250                 CRST &= 0xFFFFFFFE
18251             }
18252         }
18253 
18254         Method (AINI, 0, Serialized)
18255         {
18256             Name (CONT, 0x03E8)
18257             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18258                 ABAR & 0xFFFFC000) != Zero)))
18259             {
18260                 BBAR = (ABAR & 0xFFFFFFF0)
18261                 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
18262                 Field (IPCV, DWordAcc, NoLock, Preserve)
18263                 {
18264                     GCAP,   16, 
18265                     Offset (0x08), 
18266                     GCTL,   32, 
18267                     Offset (0x0E), 
18268                     SSTS,   8, 
18269                     Offset (0x60), 
18270                     AVIC,   32, 
18271                     Offset (0x68), 
18272                     AIRS,   16
18273                 }
18274 
18275                 GCTL |= One
18276                 CONT = 0x03E8
18277                 While ((((GCTL & One) == Zero) && (CONT != Zero)))
18278                 {
18279                     Stall (One)
18280                     CONT--
18281                 }
18282 
18283                 GCAP &= 0xFFFF
18284                 SSTS |= 0x0F
18285                 GCTL &= 0xFFFFFFFE
18286                 CONT = 0x03E8
18287                 While ((((GCTL & One) == One) && (CONT != Zero)))
18288                 {
18289                     Stall (One)
18290                     CONT--
18291                 }
18292 
18293                 GCTL |= One
18294                 CONT = 0x03E8
18295                 While ((((GCTL & One) == Zero) && (CONT != Zero)))
18296                 {
18297                     Stall (One)
18298                     CONT--
18299                 }
18300             }
18301         }
18302 
18303         Method (ABWA, 1, Serialized)
18304         {
18305             If (Arg0)
18306             {
18307                 If ((((ABAR & 0xFFFFC004) == 0xFFFFC004) || ((ABAR & 0xFFFFC000
18308                     ) == Zero)))
18309                 {
18310                     If ((BARA != 0x80000000))
18311                     {
18312                         TBAR = ABAR /* \_SB_.PCI0.B0D3.ABAR */
18313                         TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
18314                         ABAR = BARA /* \_SB_.PCI0.B0D3.BARA */
18315                         ACMD = 0x06
18316                         MODB = One
18317                     }
18318                 }
18319                 ElseIf (((ACMD & 0x06) != 0x06))
18320                 {
18321                     TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
18322                     ACMD = 0x06
18323                     MODC = One
18324                 }
18325             }
18326             Else
18327             {
18328                 If (MODB)
18329                 {
18330                     If ((ABAR == BARA))
18331                     {
18332                         ABAR = TBAR /* \_SB_.PCI0.B0D3.TBAR */
18333                         ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
18334                     }
18335                 }
18336 
18337                 If (MODC)
18338                 {
18339                     ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
18340                 }
18341             }
18342         }
18343     }
18344 
18345     Scope (\_SB.PCI0.VID)
18346     {
18347         Scope (\_SB.PCI0)
18348         {
18349             OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
18350             Field (MCHP, AnyAcc, NoLock, Preserve)
18351             {
18352                 Offset (0x14), 
18353                 AUDE,   8, 
18354                 Offset (0x60), 
18355                 TASM,   10, 
18356                 Offset (0x62)
18357             }
18358         }
18359 
18360         OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
18361         Field (IGDP, AnyAcc, NoLock, Preserve)
18362         {
18363             Offset (0x12), 
18364                 ,   1, 
18365             GIVD,   1, 
18366                 ,   2, 
18367             GUMA,   3, 
18368             Offset (0x14), 
18369                 ,   4, 
18370             GMFN,   1, 
18371             Offset (0x18), 
18372             Offset (0xA4), 
18373             ASLE,   8, 
18374             Offset (0xA8), 
18375             GSSE,   1, 
18376             GSSB,   14, 
18377             GSES,   1, 
18378             Offset (0xB0), 
18379                 ,   12, 
18380             CDVL,   1, 
18381             Offset (0xB2), 
18382             Offset (0xB5), 
18383             LBPC,   8, 
18384             Offset (0xBC), 
18385             ASLS,   32
18386         }
18387 
18388         OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
18389         Field (IGDM, AnyAcc, NoLock, Preserve)
18390         {
18391             SIGN,   128, 
18392             SIZE,   32, 
18393             OVER,   32, 
18394             SVER,   256, 
18395             VVER,   128, 
18396             GVER,   128, 
18397             MBOX,   32, 
18398             DMOD,   32, 
18399             PCON,   32, 
18400             DVER,   64, 
18401             Offset (0x100), 
18402             DRDY,   32, 
18403             CSTS,   32, 
18404             CEVT,   32, 
18405             Offset (0x120), 
18406             DIDL,   32, 
18407             DDL2,   32, 
18408             DDL3,   32, 
18409             DDL4,   32, 
18410             DDL5,   32, 
18411             DDL6,   32, 
18412             DDL7,   32, 
18413             DDL8,   32, 
18414             CPDL,   32, 
18415             CPL2,   32, 
18416             CPL3,   32, 
18417             CPL4,   32, 
18418             CPL5,   32, 
18419             CPL6,   32, 
18420             CPL7,   32, 
18421             CPL8,   32, 
18422             CADL,   32, 
18423             CAL2,   32, 
18424             CAL3,   32, 
18425             CAL4,   32, 
18426             CAL5,   32, 
18427             CAL6,   32, 
18428             CAL7,   32, 
18429             CAL8,   32, 
18430             NADL,   32, 
18431             NDL2,   32, 
18432             NDL3,   32, 
18433             NDL4,   32, 
18434             NDL5,   32, 
18435             NDL6,   32, 
18436             NDL7,   32, 
18437             NDL8,   32, 
18438             ASLP,   32, 
18439             TIDX,   32, 
18440             CHPD,   32, 
18441             CLID,   32, 
18442             CDCK,   32, 
18443             SXSW,   32, 
18444             EVTS,   32, 
18445             CNOT,   32, 
18446             NRDY,   32, 
18447             DDL9,   32, 
18448             DD10,   32, 
18449             DD11,   32, 
18450             DD12,   32, 
18451             DD13,   32, 
18452             DD14,   32, 
18453             DD15,   32, 
18454             CPL9,   32, 
18455             CP10,   32, 
18456             CP11,   32, 
18457             CP12,   32, 
18458             CP13,   32, 
18459             CP14,   32, 
18460             CP15,   32, 
18461             Offset (0x200), 
18462             SCIE,   1, 
18463             GEFC,   4, 
18464             GXFC,   3, 
18465             GESF,   8, 
18466             Offset (0x204), 
18467             PARM,   32, 
18468             DSLP,   32, 
18469             Offset (0x300), 
18470             ARDY,   32, 
18471             ASLC,   32, 
18472             TCHE,   32, 
18473             ALSI,   32, 
18474             BCLP,   32, 
18475             PFIT,   32, 
18476             CBLV,   32, 
18477             BCLM,   320, 
18478             CPFM,   32, 
18479             EPFM,   32, 
18480             PLUT,   592, 
18481             PFMB,   32, 
18482             CCDV,   32, 
18483             PCFT,   32, 
18484             SROT,   32, 
18485             IUER,   32, 
18486             FDSP,   64, 
18487             FDSS,   32, 
18488             STAT,   32, 
18489             Offset (0x400), 
18490             GVD1,   49152, 
18491             PHED,   32, 
18492             BDDC,   2048
18493         }
18494 
18495         Name (DBTB, Package (0x15)
18496         {
18497             Zero, 
18498             0x07, 
18499             0x38, 
18500             0x01C0, 
18501             0x0E00, 
18502             0x3F, 
18503             0x01C7, 
18504             0x0E07, 
18505             0x01F8, 
18506             0x0E38, 
18507             0x0FC0, 
18508             Zero, 
18509             Zero, 
18510             Zero, 
18511             Zero, 
18512             Zero, 
18513             0x7000, 
18514             0x7007, 
18515             0x7038, 
18516             0x71C0, 
18517             0x7E00
18518         })
18519         Name (CDCT, Package (0x05)
18520         {
18521             Package (0x02)
18522             {
18523                 0xE4, 
18524                 0x0140
18525             }, 
18526 
18527             Package (0x02)
18528             {
18529                 0xDE, 
18530                 0x014D
18531             }, 
18532 
18533             Package (0x02)
18534             {
18535                 0xDE, 
18536                 0x014D
18537             }, 
18538 
18539             Package (0x02)
18540             {
18541                 Zero, 
18542                 Zero
18543             }, 
18544 
18545             Package (0x02)
18546             {
18547                 0xDE, 
18548                 0x014D
18549             }
18550         })
18551         Name (SUCC, One)
18552         Name (NVLD, 0x02)
18553         Name (CRIT, 0x04)
18554         Name (NCRT, 0x06)
18555         Method (GSCI, 0, Serialized)
18556         {
18557             If ((GEFC == 0x04))
18558             {
18559                 GXFC = GBDA ()
18560             }
18561 
18562             If ((GEFC == 0x06))
18563             {
18564                 GXFC = SBCB ()
18565             }
18566 
18567             GEFC = Zero
18568             \_SB.PCI0.LPC.SCIS = One
18569             GSSE = Zero
18570             SCIE = Zero
18571             Return (Zero)
18572         }
18573 
18574         Method (GBDA, 0, Serialized)
18575         {
18576             If ((GESF == Zero))
18577             {
18578                 PARM = 0x0241
18579                 GESF = Zero
18580                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18581             }
18582 
18583             If ((GESF == One))
18584             {
18585                 PARM = 0x00200382
18586                 GESF = Zero
18587                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18588             }
18589 
18590             If ((GESF == 0x04))
18591             {
18592                 PARM &= 0xEFFF0000
18593                 PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
18594                 PARM |= IBTT /* \_SB_.PCI0.VID_.PARM */
18595                 GESF = Zero
18596                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18597             }
18598 
18599             If ((GESF == 0x05))
18600             {
18601                 If (\_SB.LID._LID ())
18602                 {
18603                     LIDS = One
18604                 }
18605                 Else
18606                 {
18607                     LIDS = Zero
18608                 }
18609 
18610                 PARM = IPSC /* \IPSC */
18611                 PARM |= (IPAT << 0x08)
18612                 PARM += 0x0100
18613                 PARM |= (LIDS << 0x10)
18614                 PARM += 0x00010000
18615                 PARM |= (IBIA << 0x14)
18616                 GESF = Zero
18617                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18618             }
18619 
18620             If ((GESF == 0x07))
18621             {
18622                 PARM = GIVD /* \_SB_.PCI0.VID_.GIVD */
18623                 PARM ^= One
18624                 PARM |= (GMFN << One)
18625                 PARM |= 0x1800
18626                 PARM |= 0x00060000
18627                 PARM |= (IDMS << 0x11)
18628                 PARM |= (DerefOf (DerefOf (CDCT [HVCO]) [CDVL]) << 
18629                     0x15) /* \_SB_.PCI0.VID_.PARM */
18630                 GESF = One
18631                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18632             }
18633 
18634             If ((GESF == 0x0A))
18635             {
18636                 PARM = Zero
18637                 If (ISSC)
18638                 {
18639                     PARM |= 0x03
18640                 }
18641 
18642                 GESF = Zero
18643                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18644             }
18645 
18646             If ((GESF == 0x0B))
18647             {
18648                 PARM = KSV0 /* \KSV0 */
18649                 GESF = KSV1 /* \KSV1 */
18650                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18651             }
18652 
18653             GESF = Zero
18654             Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
18655         }
18656 
18657         Method (SBCB, 0, Serialized)
18658         {
18659             If ((GESF == Zero))
18660             {
18661                 PARM = 0x00220382
18662                 GESF = Zero
18663                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18664             }
18665 
18666             If ((GESF == One))
18667             {
18668                 GESF = Zero
18669                 PARM = Zero
18670                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18671             }
18672 
18673             If ((GESF == 0x03))
18674             {
18675                 GESF = Zero
18676                 PARM = Zero
18677                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18678             }
18679 
18680             If ((GESF == 0x04))
18681             {
18682                 GESF = Zero
18683                 PARM = Zero
18684                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18685             }
18686 
18687             If ((GESF == 0x05))
18688             {
18689                 GESF = Zero
18690                 PARM = Zero
18691                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18692             }
18693 
18694             If ((GESF == 0x07))
18695             {
18696                 If ((S0ID == One))
18697                 {
18698                     If (((PARM & 0xFF) == One))
18699                     {
18700                         \GUAM (One)
18701                     }
18702                 }
18703 
18704                 If ((PARM == Zero))
18705                 {
18706                     Local0 = CLID /* \_SB_.PCI0.VID_.CLID */
18707                     If ((0x80000000 & Local0))
18708                     {
18709                         CLID &= 0x0F
18710                         GLID (CLID)
18711                     }
18712                 }
18713 
18714                 GESF = Zero
18715                 PARM = Zero
18716                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18717             }
18718 
18719             If ((GESF == 0x08))
18720             {
18721                 If ((S0ID == One))
18722                 {
18723                     Local0 = ((PARM >> 0x08) & 0xFF)
18724                     If ((Local0 == Zero))
18725                     {
18726                         \GUAM (Zero)
18727                     }
18728                 }
18729 
18730                 GESF = Zero
18731                 PARM = Zero
18732                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18733             }
18734 
18735             If ((GESF == 0x09))
18736             {
18737                 IBTT = (PARM & 0xFF)
18738                 GESF = Zero
18739                 PARM = Zero
18740                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18741             }
18742 
18743             If ((GESF == 0x0A))
18744             {
18745                 IPSC = (PARM & 0xFF)
18746                 If (((PARM >> 0x08) & 0xFF))
18747                 {
18748                     IPAT = ((PARM >> 0x08) & 0xFF)
18749                     IPAT--
18750                 }
18751 
18752                 IBIA = ((PARM >> 0x14) & 0x07)
18753                 GESF = Zero
18754                 PARM = Zero
18755                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18756             }
18757 
18758             If ((GESF == 0x0B))
18759             {
18760                 IF1E = ((PARM >> One) & One)
18761                 If ((PARM & 0x0001E000))
18762                 {
18763                     IDMS = ((PARM >> 0x0D) & 0x0F)
18764                 }
18765                 Else
18766                 {
18767                     IDMS = ((PARM >> 0x11) & 0x0F)
18768                 }
18769 
18770                 GESF = Zero
18771                 PARM = Zero
18772                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18773             }
18774 
18775             If ((GESF == 0x10))
18776             {
18777                 GESF = Zero
18778                 PARM = Zero
18779                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18780             }
18781 
18782             If ((GESF == 0x11))
18783             {
18784                 PARM = (LIDS << 0x08)
18785                 PARM += 0x0100
18786                 GESF = Zero
18787                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18788             }
18789 
18790             If ((GESF == 0x12))
18791             {
18792                 If ((PARM & One))
18793                 {
18794                     If (((PARM >> One) == One))
18795                     {
18796                         ISSC = One
18797                     }
18798                     Else
18799                     {
18800                         GESF = Zero
18801                         Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
18802                     }
18803                 }
18804                 Else
18805                 {
18806                     ISSC = Zero
18807                 }
18808 
18809                 GESF = Zero
18810                 PARM = Zero
18811                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18812             }
18813 
18814             If ((GESF == 0x13))
18815             {
18816                 GESF = Zero
18817                 PARM = Zero
18818                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18819             }
18820 
18821             If ((GESF == 0x14))
18822             {
18823                 PAVP = (PARM & 0x0F)
18824                 GESF = Zero
18825                 PARM = Zero
18826                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18827             }
18828 
18829             If ((GESF == 0x15))
18830             {
18831                 If ((PARM == One))
18832                 {
18833                     \_SB.PCI0.AUDE |= 0x20
18834                     \_SB.PCI0.B0D3.ABWA (One)
18835                     \_SB.PCI0.B0D3.ARST ()
18836                     \_SB.PCI0.B0D3.ASTR ()
18837                     \_SB.PCI0.B0D3.AINI ()
18838                     \_SB.PCI0.B0D3.CXDC ()
18839                     \_SB.PCI0.B0D3.ABWA (Zero)
18840                     Notify (\_SB.PCI0, Zero) // Bus Check
18841                 }
18842 
18843                 If ((PARM == Zero))
18844                 {
18845                     \_SB.PCI0.AUDE &= 0xDF
18846                     Notify (\_SB.PCI0, Zero) // Bus Check
18847                 }
18848 
18849                 GESF = Zero
18850                 PARM = Zero
18851                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18852             }
18853 
18854             GESF = Zero
18855             Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18856         }
18857 
18858         Method (PDRD, 0, NotSerialized)
18859         {
18860             If (!DRDY)
18861             {
18862                 Sleep (ASLP)
18863             }
18864 
18865             Return (!DRDY)
18866         }
18867 
18868         Method (PSTS, 0, NotSerialized)
18869         {
18870             If ((CSTS > 0x02))
18871             {
18872                 Sleep (ASLP)
18873             }
18874 
18875             Return ((CSTS == 0x03))
18876         }
18877 
18878         Method (GNOT, 2, NotSerialized)
18879         {
18880             If (PDRD ())
18881             {
18882                 Return (One)
18883             }
18884 
18885             CEVT = Arg0
18886             CSTS = 0x03
18887             If (((CHPD == Zero) && (Arg1 == Zero)))
18888             {
18889                 If ((Arg0 != One))
18890                 {
18891                     If ((\WXPF && !\WVIS))
18892                     {
18893                         Notify (\_SB.PCI0, Arg1)
18894                     }
18895                     Else
18896                     {
18897                         Notify (\_SB.PCI0.VID, Arg1)
18898                     }
18899                 }
18900             }
18901 
18902             Notify (\_SB.PCI0.VID, 0x80) // Status Change
18903             Return (Zero)
18904         }
18905 
18906         Method (GHDS, 1, NotSerialized)
18907         {
18908             TIDX = Arg0
18909             Return (GNOT (One, Zero))
18910         }
18911 
18912         Method (GLID, 1, NotSerialized)
18913         {
18914             CLID = Arg0
18915             Return (GNOT (0x02, Zero))
18916         }
18917 
18918         Method (GLIS, 1, NotSerialized)
18919         {
18920             CLID = Arg0
18921             Return (Zero)
18922         }
18923 
18924         Method (GDCK, 1, NotSerialized)
18925         {
18926             CDCK = Arg0
18927             Return (GNOT (0x04, 0x80))
18928         }
18929 
18930         Method (GDCS, 1, NotSerialized)
18931         {
18932             CDCK = Arg0
18933         }
18934 
18935         Method (PARD, 0, NotSerialized)
18936         {
18937             If (!ARDY)
18938             {
18939                 Sleep (ASLP)
18940             }
18941 
18942             Return (!ARDY)
18943         }
18944 
18945         Method (AINT, 2, NotSerialized)
18946         {
18947             If (!(TCHE & (One << Arg0)))
18948             {
18949                 Return (One)
18950             }
18951 
18952             If (PARD ())
18953             {
18954                 Return (One)
18955             }
18956 
18957             If ((Arg0 == 0x02))
18958             {
18959                 PFIT ^= 0x07
18960                 PFIT |= 0x80000000
18961                 ASLC = 0x04
18962             }
18963             ElseIf ((Arg0 == One))
18964             {
18965                 BCLP = Arg1
18966                 BCLP |= 0x80000000
18967                 ASLC = 0x0A
18968             }
18969             ElseIf ((Arg0 == 0x03))
18970             {
18971                 PFMB = Arg1
18972                 PFMB |= 0x80000100
18973                 ASLC = 0x08
18974             }
18975             ElseIf ((Arg0 == Zero))
18976             {
18977                 ALSI = Arg1
18978                 ASLC = One
18979             }
18980             Else
18981             {
18982                 Return (One)
18983             }
18984 
18985             ASLE = One
18986             Return (Zero)
18987         }
18988     }
18989 
18990     Scope (\_SB)
18991     {
18992         Device (PCCD)
18993         {
18994             Name (PCCA, 0xDCE43018)
18995             Name (PCCS, 0x00001000)
18996             Name (PENB, 0x00000001)
18997             Name (_HID, EisaId ("INT340F"))  // _HID: Hardware ID
18998             Name (_STR, Unicode ("Collaborative Processor Performance Control (CPPC)"))  // _STR: Description String
18999             Method (_STA, 0, NotSerialized)  // _STA: Status
19000             {
19001                 If (\_OSI ("Windows 2012"))
19002                 {
19003                     Return (0x0F)
19004                 }
19005                 Else
19006                 {
19007                     Return (Zero)
19008                 }
19009             }
19010 
19011             Name (TMPP, Package (0x02)
19012             {
19013                 0x80000000, 
19014                 0x80000000
19015             })
19016             Method (PADR, 0, NotSerialized)
19017             {
19018                 TMPP [Zero] = PCCA /* \_SB_.PCCD.PCCA */
19019                 TMPP [One] = PCCS /* \_SB_.PCCD.PCCS */
19020                 Return (TMPP) /* \_SB_.PCCD.TMPP */
19021             }
19022 
19023             Method (GPRN, 0, Serialized)
19024             {
19025                 Switch (TCNT)
19026                 {
19027                     Case (0x08)
19028                     {
19029                         Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19030                         Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19031                         Notify (\_PR.CPU2, 0x83) // Guaranteed Change
19032                         Notify (\_PR.CPU3, 0x83) // Guaranteed Change
19033                         Notify (\_PR.CPU4, 0x83) // Guaranteed Change
19034                         Notify (\_PR.CPU5, 0x83) // Guaranteed Change
19035                         Notify (\_PR.CPU6, 0x83) // Guaranteed Change
19036                         Notify (\_PR.CPU7, 0x83) // Guaranteed Change
19037                     }
19038                     Case (0x04)
19039                     {
19040                         Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19041                         Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19042                         Notify (\_PR.CPU2, 0x83) // Guaranteed Change
19043                         Notify (\_PR.CPU3, 0x83) // Guaranteed Change
19044                     }
19045                     Case (0x02)
19046                     {
19047                         Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19048                         Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19049                     }
19050                     Default
19051                     {
19052                         Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19053                     }
19054 
19055                 }
19056             }
19057 
19058             Name (PCFG, Zero)
19059             Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
19060             {
19061                 If ((CondRefOf (\PDC0) && (\PDC0 != 0x80000000)))
19062                 {
19063                     If ((\PDC0 & 0x04))
19064                     {
19065                         Return (Package (0x02)
19066                         {
19067                             ResourceTemplate ()
19068                             {
19069                                 Register (FFixedHW, 
19070                                     0x00,               // Bit Width
19071                                     0x00,               // Bit Offset
19072                                     0x0000000000000000, // Address
19073                                     ,)
19074                             }, 
19075 
19076                             ResourceTemplate ()
19077                             {
19078                                 Register (FFixedHW, 
19079                                     0x00,               // Bit Width
19080                                     0x00,               // Bit Offset
19081                                     0x0000000000000000, // Address
19082                                     ,)
19083                             }
19084                         })
19085                     }
19086                     Else
19087                     {
19088                         Return (Package (0x02)
19089                         {
19090                             ResourceTemplate ()
19091                             {
19092                                 Register (SystemIO, 
19093                                     0x05,               // Bit Width
19094                                     0x00,               // Bit Offset
19095                                     0x0000000000001810, // Address
19096                                     ,)
19097                             }, 
19098 
19099                             ResourceTemplate ()
19100                             {
19101                                 Register (SystemIO, 
19102                                     0x05,               // Bit Width
19103                                     0x00,               // Bit Offset
19104                                     0x0000000000001810, // Address
19105                                     ,)
19106                             }
19107                         })
19108                     }
19109                 }
19110                 Else
19111                 {
19112                     Return (Package (0x02)
19113                     {
19114                         ResourceTemplate ()
19115                         {
19116                             Register (FFixedHW, 
19117                                 0x00,               // Bit Width
19118                                 0x00,               // Bit Offset
19119                                 0x0000000000000000, // Address
19120                                 ,)
19121                         }, 
19122 
19123                         ResourceTemplate ()
19124                         {
19125                             Register (FFixedHW, 
19126                                 0x00,               // Bit Width
19127                                 0x00,               // Bit Offset
19128                                 0x0000000000000000, // Address
19129                                 ,)
19130                         }
19131                     })
19132                 }
19133             }
19134 
19135             Method (_PSS, 0, NotSerialized)  // _PSS: Performance Supported States
19136             {
19137                 If (CondRefOf (\_PR.CPU0._PSS))
19138                 {
19139                     Return (\_PR.CPU0._PSS)
19140                 }
19141                 Else
19142                 {
19143                     Return (Package (0x01)
19144                     {
19145                         Zero
19146                     })
19147                 }
19148             }
19149 
19150             Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
19151             {
19152                 If (CondRefOf (\_PR.CPU0._PPC))
19153                 {
19154                     Return (\_PR.CPU0._PPC ())
19155                 }
19156                 Else
19157                 {
19158                     Return (Zero)
19159                 }
19160             }
19161 
19162             Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
19163             {
19164                 If (CondRefOf (\_PR.CPU0._TSS))
19165                 {
19166                     Return (\_PR.CPU0._TSS) /* External reference */
19167                 }
19168                 Else
19169                 {
19170                     Return (Package (0x01)
19171                     {
19172                         Zero
19173                     })
19174                 }
19175             }
19176         }
19177     }
19178 
19179     Scope (\_PR.CPU0)
19180     {
19181         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19182         {
19183             0x11, 
19184             One, 
19185             ResourceTemplate ()
19186             {
19187                 Register (PCC, 
19188                     0x20,               // Bit Width
19189                     0x00,               // Bit Offset
19190                     0x0000000000000000, // Address
19191                     ,)
19192             }, 
19193 
19194             ResourceTemplate ()
19195             {
19196                 Register (PCC, 
19197                     0x20,               // Bit Width
19198                     0x00,               // Bit Offset
19199                     0x0000000000000004, // Address
19200                     ,)
19201             }, 
19202 
19203             ResourceTemplate ()
19204             {
19205                 Register (PCC, 
19206                     0x20,               // Bit Width
19207                     0x00,               // Bit Offset
19208                     0x0000000000000008, // Address
19209                     ,)
19210             }, 
19211 
19212             ResourceTemplate ()
19213             {
19214                 Register (PCC, 
19215                     0x20,               // Bit Width
19216                     0x00,               // Bit Offset
19217                     0x000000000000000C, // Address
19218                     ,)
19219             }, 
19220 
19221             ResourceTemplate ()
19222             {
19223                 Register (PCC, 
19224                     0x20,               // Bit Width
19225                     0x00,               // Bit Offset
19226                     0x0000000000000010, // Address
19227                     ,)
19228             }, 
19229 
19230             ResourceTemplate ()
19231             {
19232                 Register (PCC, 
19233                     0x20,               // Bit Width
19234                     0x00,               // Bit Offset
19235                     0x0000000000000014, // Address
19236                     ,)
19237             }, 
19238 
19239             ResourceTemplate ()
19240             {
19241                 Register (PCC, 
19242                     0x20,               // Bit Width
19243                     0x00,               // Bit Offset
19244                     0x0000000000000018, // Address
19245                     ,)
19246             }, 
19247 
19248             ResourceTemplate ()
19249             {
19250                 Register (PCC, 
19251                     0x20,               // Bit Width
19252                     0x00,               // Bit Offset
19253                     0x000000000000001C, // Address
19254                     ,)
19255             }, 
19256 
19257             ResourceTemplate ()
19258             {
19259                 Register (PCC, 
19260                     0x20,               // Bit Width
19261                     0x00,               // Bit Offset
19262                     0x0000000000000020, // Address
19263                     ,)
19264             }, 
19265 
19266             ResourceTemplate ()
19267             {
19268                 Register (PCC, 
19269                     0x20,               // Bit Width
19270                     0x00,               // Bit Offset
19271                     0x0000000000000024, // Address
19272                     ,)
19273             }, 
19274 
19275             ResourceTemplate ()
19276             {
19277                 Register (PCC, 
19278                     0x20,               // Bit Width
19279                     0x00,               // Bit Offset
19280                     0x0000000000000028, // Address
19281                     ,)
19282             }, 
19283 
19284             ResourceTemplate ()
19285             {
19286                 Register (FFixedHW, 
19287                     0x40,               // Bit Width
19288                     0x00,               // Bit Offset
19289                     0x00000000000000E7, // Address
19290                     0x04,               // Access Size
19291                     )
19292             }, 
19293 
19294             ResourceTemplate ()
19295             {
19296                 Register (FFixedHW, 
19297                     0x40,               // Bit Width
19298                     0x00,               // Bit Offset
19299                     0x00000000000000E8, // Address
19300                     0x04,               // Access Size
19301                     )
19302             }, 
19303 
19304             ResourceTemplate ()
19305             {
19306                 Register (PCC, 
19307                     0x20,               // Bit Width
19308                     0x00,               // Bit Offset
19309                     0x000000000000003C, // Address
19310                     ,)
19311             }, 
19312 
19313             ResourceTemplate ()
19314             {
19315                 Register (PCC, 
19316                     0x20,               // Bit Width
19317                     0x00,               // Bit Offset
19318                     0x0000000000000040, // Address
19319                     ,)
19320             }
19321         })
19322     }
19323 
19324     Scope (\_PR.CPU1)
19325     {
19326         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19327         {
19328             0x11, 
19329             One, 
19330             ResourceTemplate ()
19331             {
19332                 Register (PCC, 
19333                     0x20,               // Bit Width
19334                     0x00,               // Bit Offset
19335                     0x0000000000000064, // Address
19336                     ,)
19337             }, 
19338 
19339             ResourceTemplate ()
19340             {
19341                 Register (PCC, 
19342                     0x20,               // Bit Width
19343                     0x00,               // Bit Offset
19344                     0x0000000000000068, // Address
19345                     ,)
19346             }, 
19347 
19348             ResourceTemplate ()
19349             {
19350                 Register (PCC, 
19351                     0x20,               // Bit Width
19352                     0x00,               // Bit Offset
19353                     0x000000000000006C, // Address
19354                     ,)
19355             }, 
19356 
19357             ResourceTemplate ()
19358             {
19359                 Register (PCC, 
19360                     0x20,               // Bit Width
19361                     0x00,               // Bit Offset
19362                     0x0000000000000070, // Address
19363                     ,)
19364             }, 
19365 
19366             ResourceTemplate ()
19367             {
19368                 Register (PCC, 
19369                     0x20,               // Bit Width
19370                     0x00,               // Bit Offset
19371                     0x0000000000000074, // Address
19372                     ,)
19373             }, 
19374 
19375             ResourceTemplate ()
19376             {
19377                 Register (PCC, 
19378                     0x20,               // Bit Width
19379                     0x00,               // Bit Offset
19380                     0x0000000000000078, // Address
19381                     ,)
19382             }, 
19383 
19384             ResourceTemplate ()
19385             {
19386                 Register (PCC, 
19387                     0x20,               // Bit Width
19388                     0x00,               // Bit Offset
19389                     0x000000000000007C, // Address
19390                     ,)
19391             }, 
19392 
19393             ResourceTemplate ()
19394             {
19395                 Register (PCC, 
19396                     0x20,               // Bit Width
19397                     0x00,               // Bit Offset
19398                     0x0000000000000080, // Address
19399                     ,)
19400             }, 
19401 
19402             ResourceTemplate ()
19403             {
19404                 Register (PCC, 
19405                     0x20,               // Bit Width
19406                     0x00,               // Bit Offset
19407                     0x0000000000000084, // Address
19408                     ,)
19409             }, 
19410 
19411             ResourceTemplate ()
19412             {
19413                 Register (PCC, 
19414                     0x20,               // Bit Width
19415                     0x00,               // Bit Offset
19416                     0x0000000000000088, // Address
19417                     ,)
19418             }, 
19419 
19420             ResourceTemplate ()
19421             {
19422                 Register (PCC, 
19423                     0x20,               // Bit Width
19424                     0x00,               // Bit Offset
19425                     0x000000000000008C, // Address
19426                     ,)
19427             }, 
19428 
19429             ResourceTemplate ()
19430             {
19431                 Register (FFixedHW, 
19432                     0x40,               // Bit Width
19433                     0x00,               // Bit Offset
19434                     0x00000000000000E7, // Address
19435                     0x04,               // Access Size
19436                     )
19437             }, 
19438 
19439             ResourceTemplate ()
19440             {
19441                 Register (FFixedHW, 
19442                     0x40,               // Bit Width
19443                     0x00,               // Bit Offset
19444                     0x00000000000000E8, // Address
19445                     0x04,               // Access Size
19446                     )
19447             }, 
19448 
19449             ResourceTemplate ()
19450             {
19451                 Register (PCC, 
19452                     0x20,               // Bit Width
19453                     0x00,               // Bit Offset
19454                     0x00000000000000A0, // Address
19455                     ,)
19456             }, 
19457 
19458             ResourceTemplate ()
19459             {
19460                 Register (PCC, 
19461                     0x20,               // Bit Width
19462                     0x00,               // Bit Offset
19463                     0x00000000000000A4, // Address
19464                     ,)
19465             }
19466         })
19467     }
19468 
19469     Scope (\_PR.CPU2)
19470     {
19471         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19472         {
19473             0x11, 
19474             One, 
19475             ResourceTemplate ()
19476             {
19477                 Register (PCC, 
19478                     0x20,               // Bit Width
19479                     0x00,               // Bit Offset
19480                     0x00000000000000C8, // Address
19481                     ,)
19482             }, 
19483 
19484             ResourceTemplate ()
19485             {
19486                 Register (PCC, 
19487                     0x20,               // Bit Width
19488                     0x00,               // Bit Offset
19489                     0x00000000000000CC, // Address
19490                     ,)
19491             }, 
19492 
19493             ResourceTemplate ()
19494             {
19495                 Register (PCC, 
19496                     0x20,               // Bit Width
19497                     0x00,               // Bit Offset
19498                     0x00000000000000D0, // Address
19499                     ,)
19500             }, 
19501 
19502             ResourceTemplate ()
19503             {
19504                 Register (PCC, 
19505                     0x20,               // Bit Width
19506                     0x00,               // Bit Offset
19507                     0x00000000000000D4, // Address
19508                     ,)
19509             }, 
19510 
19511             ResourceTemplate ()
19512             {
19513                 Register (PCC, 
19514                     0x20,               // Bit Width
19515                     0x00,               // Bit Offset
19516                     0x00000000000000D8, // Address
19517                     ,)
19518             }, 
19519 
19520             ResourceTemplate ()
19521             {
19522                 Register (PCC, 
19523                     0x20,               // Bit Width
19524                     0x00,               // Bit Offset
19525                     0x00000000000000DC, // Address
19526                     ,)
19527             }, 
19528 
19529             ResourceTemplate ()
19530             {
19531                 Register (PCC, 
19532                     0x20,               // Bit Width
19533                     0x00,               // Bit Offset
19534                     0x00000000000000E0, // Address
19535                     ,)
19536             }, 
19537 
19538             ResourceTemplate ()
19539             {
19540                 Register (PCC, 
19541                     0x20,               // Bit Width
19542                     0x00,               // Bit Offset
19543                     0x00000000000000E4, // Address
19544                     ,)
19545             }, 
19546 
19547             ResourceTemplate ()
19548             {
19549                 Register (PCC, 
19550                     0x20,               // Bit Width
19551                     0x00,               // Bit Offset
19552                     0x00000000000000E8, // Address
19553                     ,)
19554             }, 
19555 
19556             ResourceTemplate ()
19557             {
19558                 Register (PCC, 
19559                     0x20,               // Bit Width
19560                     0x00,               // Bit Offset
19561                     0x00000000000000EC, // Address
19562                     ,)
19563             }, 
19564 
19565             ResourceTemplate ()
19566             {
19567                 Register (PCC, 
19568                     0x20,               // Bit Width
19569                     0x00,               // Bit Offset
19570                     0x00000000000000F0, // Address
19571                     ,)
19572             }, 
19573 
19574             ResourceTemplate ()
19575             {
19576                 Register (FFixedHW, 
19577                     0x40,               // Bit Width
19578                     0x00,               // Bit Offset
19579                     0x00000000000000E7, // Address
19580                     0x04,               // Access Size
19581                     )
19582             }, 
19583 
19584             ResourceTemplate ()
19585             {
19586                 Register (FFixedHW, 
19587                     0x40,               // Bit Width
19588                     0x00,               // Bit Offset
19589                     0x00000000000000E8, // Address
19590                     0x04,               // Access Size
19591                     )
19592             }, 
19593 
19594             ResourceTemplate ()
19595             {
19596                 Register (PCC, 
19597                     0x20,               // Bit Width
19598                     0x00,               // Bit Offset
19599                     0x0000000000000104, // Address
19600                     ,)
19601             }, 
19602 
19603             ResourceTemplate ()
19604             {
19605                 Register (PCC, 
19606                     0x20,               // Bit Width
19607                     0x00,               // Bit Offset
19608                     0x0000000000000108, // Address
19609                     ,)
19610             }
19611         })
19612     }
19613 
19614     Scope (\_PR.CPU3)
19615     {
19616         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19617         {
19618             0x11, 
19619             One, 
19620             ResourceTemplate ()
19621             {
19622                 Register (PCC, 
19623                     0x20,               // Bit Width
19624                     0x00,               // Bit Offset
19625                     0x000000000000012C, // Address
19626                     ,)
19627             }, 
19628 
19629             ResourceTemplate ()
19630             {
19631                 Register (PCC, 
19632                     0x20,               // Bit Width
19633                     0x00,               // Bit Offset
19634                     0x0000000000000130, // Address
19635                     ,)
19636             }, 
19637 
19638             ResourceTemplate ()
19639             {
19640                 Register (PCC, 
19641                     0x20,               // Bit Width
19642                     0x00,               // Bit Offset
19643                     0x0000000000000134, // Address
19644                     ,)
19645             }, 
19646 
19647             ResourceTemplate ()
19648             {
19649                 Register (PCC, 
19650                     0x20,               // Bit Width
19651                     0x00,               // Bit Offset
19652                     0x0000000000000138, // Address
19653                     ,)
19654             }, 
19655 
19656             ResourceTemplate ()
19657             {
19658                 Register (PCC, 
19659                     0x20,               // Bit Width
19660                     0x00,               // Bit Offset
19661                     0x000000000000013C, // Address
19662                     ,)
19663             }, 
19664 
19665             ResourceTemplate ()
19666             {
19667                 Register (PCC, 
19668                     0x20,               // Bit Width
19669                     0x00,               // Bit Offset
19670                     0x0000000000000140, // Address
19671                     ,)
19672             }, 
19673 
19674             ResourceTemplate ()
19675             {
19676                 Register (PCC, 
19677                     0x20,               // Bit Width
19678                     0x00,               // Bit Offset
19679                     0x0000000000000144, // Address
19680                     ,)
19681             }, 
19682 
19683             ResourceTemplate ()
19684             {
19685                 Register (PCC, 
19686                     0x20,               // Bit Width
19687                     0x00,               // Bit Offset
19688                     0x0000000000000148, // Address
19689                     ,)
19690             }, 
19691 
19692             ResourceTemplate ()
19693             {
19694                 Register (PCC, 
19695                     0x20,               // Bit Width
19696                     0x00,               // Bit Offset
19697                     0x000000000000014C, // Address
19698                     ,)
19699             }, 
19700 
19701             ResourceTemplate ()
19702             {
19703                 Register (PCC, 
19704                     0x20,               // Bit Width
19705                     0x00,               // Bit Offset
19706                     0x0000000000000150, // Address
19707                     ,)
19708             }, 
19709 
19710             ResourceTemplate ()
19711             {
19712                 Register (PCC, 
19713                     0x20,               // Bit Width
19714                     0x00,               // Bit Offset
19715                     0x0000000000000154, // Address
19716                     ,)
19717             }, 
19718 
19719             ResourceTemplate ()
19720             {
19721                 Register (FFixedHW, 
19722                     0x40,               // Bit Width
19723                     0x00,               // Bit Offset
19724                     0x00000000000000E7, // Address
19725                     0x04,               // Access Size
19726                     )
19727             }, 
19728 
19729             ResourceTemplate ()
19730             {
19731                 Register (FFixedHW, 
19732                     0x40,               // Bit Width
19733                     0x00,               // Bit Offset
19734                     0x00000000000000E8, // Address
19735                     0x04,               // Access Size
19736                     )
19737             }, 
19738 
19739             ResourceTemplate ()
19740             {
19741                 Register (PCC, 
19742                     0x20,               // Bit Width
19743                     0x00,               // Bit Offset
19744                     0x0000000000000168, // Address
19745                     ,)
19746             }, 
19747 
19748             ResourceTemplate ()
19749             {
19750                 Register (PCC, 
19751                     0x20,               // Bit Width
19752                     0x00,               // Bit Offset
19753                     0x000000000000016C, // Address
19754                     ,)
19755             }
19756         })
19757     }
19758 
19759     Scope (\_PR.CPU4)
19760     {
19761         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19762         {
19763             0x11, 
19764             One, 
19765             ResourceTemplate ()
19766             {
19767                 Register (PCC, 
19768                     0x20,               // Bit Width
19769                     0x00,               // Bit Offset
19770                     0x0000000000000190, // Address
19771                     ,)
19772             }, 
19773 
19774             ResourceTemplate ()
19775             {
19776                 Register (PCC, 
19777                     0x20,               // Bit Width
19778                     0x00,               // Bit Offset
19779                     0x0000000000000194, // Address
19780                     ,)
19781             }, 
19782 
19783             ResourceTemplate ()
19784             {
19785                 Register (PCC, 
19786                     0x20,               // Bit Width
19787                     0x00,               // Bit Offset
19788                     0x0000000000000198, // Address
19789                     ,)
19790             }, 
19791 
19792             ResourceTemplate ()
19793             {
19794                 Register (PCC, 
19795                     0x20,               // Bit Width
19796                     0x00,               // Bit Offset
19797                     0x000000000000019C, // Address
19798                     ,)
19799             }, 
19800 
19801             ResourceTemplate ()
19802             {
19803                 Register (PCC, 
19804                     0x20,               // Bit Width
19805                     0x00,               // Bit Offset
19806                     0x00000000000001A0, // Address
19807                     ,)
19808             }, 
19809 
19810             ResourceTemplate ()
19811             {
19812                 Register (PCC, 
19813                     0x20,               // Bit Width
19814                     0x00,               // Bit Offset
19815                     0x00000000000001A4, // Address
19816                     ,)
19817             }, 
19818 
19819             ResourceTemplate ()
19820             {
19821                 Register (PCC, 
19822                     0x20,               // Bit Width
19823                     0x00,               // Bit Offset
19824                     0x00000000000001A8, // Address
19825                     ,)
19826             }, 
19827 
19828             ResourceTemplate ()
19829             {
19830                 Register (PCC, 
19831                     0x20,               // Bit Width
19832                     0x00,               // Bit Offset
19833                     0x00000000000001AC, // Address
19834                     ,)
19835             }, 
19836 
19837             ResourceTemplate ()
19838             {
19839                 Register (PCC, 
19840                     0x20,               // Bit Width
19841                     0x00,               // Bit Offset
19842                     0x00000000000001B0, // Address
19843                     ,)
19844             }, 
19845 
19846             ResourceTemplate ()
19847             {
19848                 Register (PCC, 
19849                     0x20,               // Bit Width
19850                     0x00,               // Bit Offset
19851                     0x00000000000001B4, // Address
19852                     ,)
19853             }, 
19854 
19855             ResourceTemplate ()
19856             {
19857                 Register (PCC, 
19858                     0x20,               // Bit Width
19859                     0x00,               // Bit Offset
19860                     0x00000000000001B8, // Address
19861                     ,)
19862             }, 
19863 
19864             ResourceTemplate ()
19865             {
19866                 Register (FFixedHW, 
19867                     0x40,               // Bit Width
19868                     0x00,               // Bit Offset
19869                     0x00000000000000E7, // Address
19870                     0x04,               // Access Size
19871                     )
19872             }, 
19873 
19874             ResourceTemplate ()
19875             {
19876                 Register (FFixedHW, 
19877                     0x40,               // Bit Width
19878                     0x00,               // Bit Offset
19879                     0x00000000000000E8, // Address
19880                     0x04,               // Access Size
19881                     )
19882             }, 
19883 
19884             ResourceTemplate ()
19885             {
19886                 Register (PCC, 
19887                     0x20,               // Bit Width
19888                     0x00,               // Bit Offset
19889                     0x00000000000001CC, // Address
19890                     ,)
19891             }, 
19892 
19893             ResourceTemplate ()
19894             {
19895                 Register (PCC, 
19896                     0x20,               // Bit Width
19897                     0x00,               // Bit Offset
19898                     0x00000000000001D0, // Address
19899                     ,)
19900             }
19901         })
19902     }
19903 
19904     Scope (\_PR.CPU5)
19905     {
19906         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
19907         {
19908             0x11, 
19909             One, 
19910             ResourceTemplate ()
19911             {
19912                 Register (PCC, 
19913                     0x20,               // Bit Width
19914                     0x00,               // Bit Offset
19915                     0x00000000000001F4, // Address
19916                     ,)
19917             }, 
19918 
19919             ResourceTemplate ()
19920             {
19921                 Register (PCC, 
19922                     0x20,               // Bit Width
19923                     0x00,               // Bit Offset
19924                     0x00000000000001F8, // Address
19925                     ,)
19926             }, 
19927 
19928             ResourceTemplate ()
19929             {
19930                 Register (PCC, 
19931                     0x20,               // Bit Width
19932                     0x00,               // Bit Offset
19933                     0x00000000000001FC, // Address
19934                     ,)
19935             }, 
19936 
19937             ResourceTemplate ()
19938             {
19939                 Register (PCC, 
19940                     0x20,               // Bit Width
19941                     0x00,               // Bit Offset
19942                     0x0000000000000200, // Address
19943                     ,)
19944             }, 
19945 
19946             ResourceTemplate ()
19947             {
19948                 Register (PCC, 
19949                     0x20,               // Bit Width
19950                     0x00,               // Bit Offset
19951                     0x0000000000000204, // Address
19952                     ,)
19953             }, 
19954 
19955             ResourceTemplate ()
19956             {
19957                 Register (PCC, 
19958                     0x20,               // Bit Width
19959                     0x00,               // Bit Offset
19960                     0x0000000000000208, // Address
19961                     ,)
19962             }, 
19963 
19964             ResourceTemplate ()
19965             {
19966                 Register (PCC, 
19967                     0x20,               // Bit Width
19968                     0x00,               // Bit Offset
19969                     0x000000000000020C, // Address
19970                     ,)
19971             }, 
19972 
19973             ResourceTemplate ()
19974             {
19975                 Register (PCC, 
19976                     0x20,               // Bit Width
19977                     0x00,               // Bit Offset
19978                     0x0000000000000210, // Address
19979                     ,)
19980             }, 
19981 
19982             ResourceTemplate ()
19983             {
19984                 Register (PCC, 
19985                     0x20,               // Bit Width
19986                     0x00,               // Bit Offset
19987                     0x0000000000000214, // Address
19988                     ,)
19989             }, 
19990 
19991             ResourceTemplate ()
19992             {
19993                 Register (PCC, 
19994                     0x20,               // Bit Width
19995                     0x00,               // Bit Offset
19996                     0x0000000000000218, // Address
19997                     ,)
19998             }, 
19999 
20000             ResourceTemplate ()
20001             {
20002                 Register (PCC, 
20003                     0x20,               // Bit Width
20004                     0x00,               // Bit Offset
20005                     0x000000000000021C, // Address
20006                     ,)
20007             }, 
20008 
20009             ResourceTemplate ()
20010             {
20011                 Register (FFixedHW, 
20012                     0x40,               // Bit Width
20013                     0x00,               // Bit Offset
20014                     0x00000000000000E7, // Address
20015                     0x04,               // Access Size
20016                     )
20017             }, 
20018 
20019             ResourceTemplate ()
20020             {
20021                 Register (FFixedHW, 
20022                     0x40,               // Bit Width
20023                     0x00,               // Bit Offset
20024                     0x00000000000000E8, // Address
20025                     0x04,               // Access Size
20026                     )
20027             }, 
20028 
20029             ResourceTemplate ()
20030             {
20031                 Register (PCC, 
20032                     0x20,               // Bit Width
20033                     0x00,               // Bit Offset
20034                     0x0000000000000230, // Address
20035                     ,)
20036             }, 
20037 
20038             ResourceTemplate ()
20039             {
20040                 Register (PCC, 
20041                     0x20,               // Bit Width
20042                     0x00,               // Bit Offset
20043                     0x0000000000000234, // Address
20044                     ,)
20045             }
20046         })
20047     }
20048 
20049     Scope (\_PR.CPU6)
20050     {
20051         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20052         {
20053             0x11, 
20054             One, 
20055             ResourceTemplate ()
20056             {
20057                 Register (PCC, 
20058                     0x20,               // Bit Width
20059                     0x00,               // Bit Offset
20060                     0x0000000000000258, // Address
20061                     ,)
20062             }, 
20063 
20064             ResourceTemplate ()
20065             {
20066                 Register (PCC, 
20067                     0x20,               // Bit Width
20068                     0x00,               // Bit Offset
20069                     0x000000000000025C, // Address
20070                     ,)
20071             }, 
20072 
20073             ResourceTemplate ()
20074             {
20075                 Register (PCC, 
20076                     0x20,               // Bit Width
20077                     0x00,               // Bit Offset
20078                     0x0000000000000260, // Address
20079                     ,)
20080             }, 
20081 
20082             ResourceTemplate ()
20083             {
20084                 Register (PCC, 
20085                     0x20,               // Bit Width
20086                     0x00,               // Bit Offset
20087                     0x0000000000000264, // Address
20088                     ,)
20089             }, 
20090 
20091             ResourceTemplate ()
20092             {
20093                 Register (PCC, 
20094                     0x20,               // Bit Width
20095                     0x00,               // Bit Offset
20096                     0x0000000000000268, // Address
20097                     ,)
20098             }, 
20099 
20100             ResourceTemplate ()
20101             {
20102                 Register (PCC, 
20103                     0x20,               // Bit Width
20104                     0x00,               // Bit Offset
20105                     0x000000000000026C, // Address
20106                     ,)
20107             }, 
20108 
20109             ResourceTemplate ()
20110             {
20111                 Register (PCC, 
20112                     0x20,               // Bit Width
20113                     0x00,               // Bit Offset
20114                     0x0000000000000270, // Address
20115                     ,)
20116             }, 
20117 
20118             ResourceTemplate ()
20119             {
20120                 Register (PCC, 
20121                     0x20,               // Bit Width
20122                     0x00,               // Bit Offset
20123                     0x0000000000000274, // Address
20124                     ,)
20125             }, 
20126 
20127             ResourceTemplate ()
20128             {
20129                 Register (PCC, 
20130                     0x20,               // Bit Width
20131                     0x00,               // Bit Offset
20132                     0x0000000000000278, // Address
20133                     ,)
20134             }, 
20135 
20136             ResourceTemplate ()
20137             {
20138                 Register (PCC, 
20139                     0x20,               // Bit Width
20140                     0x00,               // Bit Offset
20141                     0x000000000000027C, // Address
20142                     ,)
20143             }, 
20144 
20145             ResourceTemplate ()
20146             {
20147                 Register (PCC, 
20148                     0x20,               // Bit Width
20149                     0x00,               // Bit Offset
20150                     0x0000000000000280, // Address
20151                     ,)
20152             }, 
20153 
20154             ResourceTemplate ()
20155             {
20156                 Register (FFixedHW, 
20157                     0x40,               // Bit Width
20158                     0x00,               // Bit Offset
20159                     0x00000000000000E7, // Address
20160                     0x04,               // Access Size
20161                     )
20162             }, 
20163 
20164             ResourceTemplate ()
20165             {
20166                 Register (FFixedHW, 
20167                     0x40,               // Bit Width
20168                     0x00,               // Bit Offset
20169                     0x00000000000000E8, // Address
20170                     0x04,               // Access Size
20171                     )
20172             }, 
20173 
20174             ResourceTemplate ()
20175             {
20176                 Register (PCC, 
20177                     0x20,               // Bit Width
20178                     0x00,               // Bit Offset
20179                     0x0000000000000294, // Address
20180                     ,)
20181             }, 
20182 
20183             ResourceTemplate ()
20184             {
20185                 Register (PCC, 
20186                     0x20,               // Bit Width
20187                     0x00,               // Bit Offset
20188                     0x0000000000000298, // Address
20189                     ,)
20190             }
20191         })
20192     }
20193 
20194     Scope (\_PR.CPU7)
20195     {
20196         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20197         {
20198             0x11, 
20199             One, 
20200             ResourceTemplate ()
20201             {
20202                 Register (PCC, 
20203                     0x20,               // Bit Width
20204                     0x00,               // Bit Offset
20205                     0x00000000000002BC, // Address
20206                     ,)
20207             }, 
20208 
20209             ResourceTemplate ()
20210             {
20211                 Register (PCC, 
20212                     0x20,               // Bit Width
20213                     0x00,               // Bit Offset
20214                     0x00000000000002C0, // Address
20215                     ,)
20216             }, 
20217 
20218             ResourceTemplate ()
20219             {
20220                 Register (PCC, 
20221                     0x20,               // Bit Width
20222                     0x00,               // Bit Offset
20223                     0x00000000000002C4, // Address
20224                     ,)
20225             }, 
20226 
20227             ResourceTemplate ()
20228             {
20229                 Register (PCC, 
20230                     0x20,               // Bit Width
20231                     0x00,               // Bit Offset
20232                     0x00000000000002C8, // Address
20233                     ,)
20234             }, 
20235 
20236             ResourceTemplate ()
20237             {
20238                 Register (PCC, 
20239                     0x20,               // Bit Width
20240                     0x00,               // Bit Offset
20241                     0x00000000000002CC, // Address
20242                     ,)
20243             }, 
20244 
20245             ResourceTemplate ()
20246             {
20247                 Register (PCC, 
20248                     0x20,               // Bit Width
20249                     0x00,               // Bit Offset
20250                     0x00000000000002D0, // Address
20251                     ,)
20252             }, 
20253 
20254             ResourceTemplate ()
20255             {
20256                 Register (PCC, 
20257                     0x20,               // Bit Width
20258                     0x00,               // Bit Offset
20259                     0x00000000000002D4, // Address
20260                     ,)
20261             }, 
20262 
20263             ResourceTemplate ()
20264             {
20265                 Register (PCC, 
20266                     0x20,               // Bit Width
20267                     0x00,               // Bit Offset
20268                     0x00000000000002D8, // Address
20269                     ,)
20270             }, 
20271 
20272             ResourceTemplate ()
20273             {
20274                 Register (PCC, 
20275                     0x20,               // Bit Width
20276                     0x00,               // Bit Offset
20277                     0x00000000000002DC, // Address
20278                     ,)
20279             }, 
20280 
20281             ResourceTemplate ()
20282             {
20283                 Register (PCC, 
20284                     0x20,               // Bit Width
20285                     0x00,               // Bit Offset
20286                     0x00000000000002E0, // Address
20287                     ,)
20288             }, 
20289 
20290             ResourceTemplate ()
20291             {
20292                 Register (PCC, 
20293                     0x20,               // Bit Width
20294                     0x00,               // Bit Offset
20295                     0x00000000000002E4, // Address
20296                     ,)
20297             }, 
20298 
20299             ResourceTemplate ()
20300             {
20301                 Register (FFixedHW, 
20302                     0x40,               // Bit Width
20303                     0x00,               // Bit Offset
20304                     0x00000000000000E7, // Address
20305                     0x04,               // Access Size
20306                     )
20307             }, 
20308 
20309             ResourceTemplate ()
20310             {
20311                 Register (FFixedHW, 
20312                     0x40,               // Bit Width
20313                     0x00,               // Bit Offset
20314                     0x00000000000000E8, // Address
20315                     0x04,               // Access Size
20316                     )
20317             }, 
20318 
20319             ResourceTemplate ()
20320             {
20321                 Register (PCC, 
20322                     0x20,               // Bit Width
20323                     0x00,               // Bit Offset
20324                     0x00000000000002F8, // Address
20325                     ,)
20326             }, 
20327 
20328             ResourceTemplate ()
20329             {
20330                 Register (PCC, 
20331                     0x20,               // Bit Width
20332                     0x00,               // Bit Offset
20333                     0x00000000000002FC, // Address
20334                     ,)
20335             }
20336         })
20337     }
20338 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2019-08-30T15:34:44+0000, 671.2 KB) [[attachment:acpidump.txt]]
  • [get | view] (2019-08-30T15:33:46+0000, 8.8 KB) [[attachment:devinfo.txt]]
  • [get | view] (2019-08-30T15:33:24+0000, 49.3 KB) [[attachment:dmesg.txt]]
  • [get | view] (2019-08-30T15:34:01+0000, 3.1 KB) [[attachment:pciconf.txt]]
 All files | Selected Files: delete move to page copy to page

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