Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000acdfe1c0, length=36, cksum=176
   4  */
   5 /*
   6   XSDT: Length=236, Revision=1, Checksum=26,
   7 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
   8 	Creator ID=PTEC, Creator Revision=0x2
   9 	Entries={ 0x00000000acdf8000, 0x00000000acdfd000, 0x00000000acdfc000, 0x00000000acdfb000, 0x00000000acdfa000, 0x00000000acdf7000, 0x00000000acdf6000, 0x00000000acdf5000, 0x00000000acdf4000, 0x00000000acde1000, 0x00000000acde0000, 0x00000000acddf000, 0x00000000acdde000, 0x00000000acddd000, 0x00000000acddb000, 0x00000000acdda000, 0x00000000acdd9000, 0x00000000acdd8000, 0x00000000acdd7000, 0x00000000acdd6000, 0x00000000acdd5000, 0x00000000accb0000, 0x00000000acdd4000, 0x00000000acdd3000, 0x00000000acdd2000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=18,
  13 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  14 	Creator ID=PTEC, Creator Revision=0x2
  15  	FACS=0xacd68000, DSDT=0xacde2000
  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=0x00af2a3d, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=2
  40  */
  41 /*
  42   DSDT: Length=70084, Revision=1, Checksum=199,
  43 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  44 	Creator ID=INTL, Creator Revision=0x20120711
  45  */
  46 /*
  47   SLIC: Length=374, Revision=1, Checksum=4,
  48 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  49 	Creator ID=PTEC, Creator Revision=0x1
  50  */
  51 /*
  52   ASF!: Length=165, Revision=32, Checksum=11,
  53 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  54 	Creator ID=PTEC, Creator Revision=0x2
  55  */
  56 /*
  57   HPET: Length=56, Revision=1, Checksum=203,
  58 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  59 	Creator ID=PTEC, Creator Revision=0x2
  60 	HPET Number=0
  61 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
  62 	Comparators=3
  63 	Counter Size=1
  64 	Legacy IRQ routing capable={TRUE}
  65 	PCI Vendor ID=0x8086
  66 	Minimal Tick=128
  67 	Flags=0x00
  68  */
  69 /*
  70   ECDT: Length=82, Revision=1, Checksum=110,
  71 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  72 	Creator ID=PTEC, Creator Revision=0x2
  73 	EC_CONTROL=0x66:0[8] (IO)
  74 	EC_DATA=0x62:0[8] (IO)
  75 	UID=0, GPE_BIT=0x25
  76 	EC_ID=\_SB.PCI0.LPC.EC
  77  */
  78 /*
  79   APIC: Length=152, Revision=1, Checksum=3,
  80 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  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=156,
 154 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 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=1733, Revision=1, Checksum=224,
 184 	OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 185 	Creator ID=INTL, Creator Revision=0x20120711
 186  */
 187 /*
 188   SSDT: Length=2932, Revision=2, Checksum=119,
 189 	OEMID=LENOVO, OEM Table ID=CpuSsdt, OEM Revision=0x3000,
 190 	Creator ID=INTL, Creator Revision=0x20120711
 191  */
 192 /*
 193   SSDT: Length=873, Revision=2, Checksum=105,
 194 	OEMID=LENOVO, OEM Table ID=CtdpB, OEM Revision=0x1000,
 195 	Creator ID=INTL, Creator Revision=0x20120711
 196  */
 197 /*
 198   SSDT: Length=5237, Revision=1, Checksum=28,
 199 	OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
 200 	Creator ID=INTL, Creator Revision=0x20120711
 201  */
 202 /*
 203   SSDT: Length=916, Revision=2, Checksum=184,
 204 	OEMID=LENOVO, OEM Table ID=CppcTabl, OEM Revision=0x1000,
 205 	Creator ID=INTL, Creator Revision=0x20120711
 206  */
 207 /*
 208   PCCT: Length=110, Revision=5, Checksum=137,
 209 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 210 	Creator ID=PTEC, Creator Revision=0x2
 211  */
 212 /*
 213   SSDT: Length=2756, Revision=2, Checksum=75,
 214 	OEMID=LENOVO, OEM Table ID=Cpc_Tabl, OEM Revision=0x1000,
 215 	Creator ID=INTL, Creator Revision=0x20120711
 216  */
 217 /*
 218   TCPA: Length=50, Revision=2, Checksum=5,
 219 	OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
 220 	Creator ID=LNVO, Creator Revision=0x1
 221 	Class 0 Base Address 0xaccd1000 Length 589824
 222 
 223  */
 224 /*
 225   SSDT: Length=1699, Revision=1, Checksum=40,
 226 	OEMID=Intel_, OEM Table ID=TpmTable, OEM Revision=0x1000,
 227 	Creator ID=INTL, Creator Revision=0x20120711
 228  */
 229 /*
 230   UEFI: Length=66, Revision=1, Checksum=46,
 231 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 232 	Creator ID=PTEC, Creator Revision=0x2
 233  */
 234 /*
 235   MSDM: Length=85, Revision=3, Checksum=142,
 236 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 237 	Creator ID=PTEC, Creator Revision=0x2
 238  */
 239 /*
 240   BATB: Length=70, Revision=1, Checksum=105,
 241 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 242 	Creator ID=PTEC, Creator Revision=0x2
 243  */
 244 /*
 245   FPDT: Length=100, Revision=1, Checksum=202,
 246 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 247 	Creator ID=PTEC, Creator Revision=0x2
 248  */
 249 /*
 250   UEFI: Length=758, Revision=1, Checksum=76,
 251 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 252 	Creator ID=PTEC, Creator Revision=0x2
 253  */
 254 /*
 255  * Intel ACPI Component Architecture
 256  * AML/ASL+ Disassembler version 20150818-64
 257  * Copyright (c) 2000 - 2015 Intel Corporation
 258  * 
 259  * Disassembling to symbolic ASL+ operators
 260  *
 261  * Disassembly of /tmp/acpidump.bwLN3W, Tue Jan 19 05:08:52 2016
 262  *
 263  * Original Table Header:
 264  *     Signature        "DSDT"
 265  *     Length           0x00015F20 (89888)
 266  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 267  *     Checksum         0x4A
 268  *     OEM ID           "LENOVO"
 269  *     OEM Table ID     "TP-N11  "
 270  *     OEM Revision     0x00001100 (4352)
 271  *     Compiler ID      "INTL"
 272  *     Compiler Version 0x20120711 (538052369)
 273  */
 274 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "TP-N11  ", 0x00001100)
 275 {
 276     /*
 277      * iASL Warning: There were 1 external control methods found during
 278      * disassembly, but additional ACPI tables to resolve these externals
 279      * were not specified. This resulting disassembler output file may not
 280      * compile because the disassembler did not know how many arguments
 281      * to assign to these methods. To specify the tables needed to resolve
 282      * external control method references, the -e option can be used to
 283      * specify the filenames. Note: SSDTs can be dynamically loaded at
 284      * runtime and may or may not be available via the host OS.
 285      * Example iASL invocations:
 286      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 287      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 288      *     iasl -e ssdt*.aml -d dsdt.aml
 289      *
 290      * In addition, the -fe option can be used to specify a file containing
 291      * control method external declarations with the associated method
 292      * argument counts. Each line of the file must be of the form:
 293      *     External (<method pathname>, MethodObj, <argument count>)
 294      * Invocation:
 295      *     iasl -fe refs.txt -d dsdt.aml
 296      *
 297      * The following methods were unresolved and many not compile properly
 298      * because the disassembler had to guess at the number of arguments
 299      * required for each:
 300      */
 301     External (GUAM, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 302 
 303     External (_PR_.CPU0._TSS, IntObj)
 304     External (_SB_.PCI0.SAT1.PRIM.GTME, UnknownObj)
 305     External (_SB_.PCI0.SAT1.SCND.GTME, UnknownObj)
 306     External (_SB_.PCI0.SAT1.SCND.MSTR, UnknownObj)
 307 
 308     Scope (\_PR)
 309     {
 310         Processor (CPU0, 0x01, 0x00001810, 0x06) {}
 311         Processor (CPU1, 0x02, 0x00001810, 0x06) {}
 312         Processor (CPU2, 0x03, 0x00001810, 0x06) {}
 313         Processor (CPU3, 0x04, 0x00001810, 0x06) {}
 314         Processor (CPU4, 0x05, 0x00001810, 0x06) {}
 315         Processor (CPU5, 0x06, 0x00001810, 0x06) {}
 316         Processor (CPU6, 0x07, 0x00001810, 0x06) {}
 317         Processor (CPU7, 0x08, 0x00001810, 0x06) {}
 318     }
 319 
 320     Scope (\)
 321     {
 322         Method (PNTF, 1, NotSerialized)
 323         {
 324             If (((Arg0 == 0x80) && !\OSPX))
 325             {
 326                 If ((\_PR.CFGD & 0x01))
 327                 {
 328                     If (\CPPX)
 329                     {
 330                         Notify (\_SB.PCCD, 0x82) // Device-Specific Change
 331                     }
 332                 }
 333             }
 334             Else
 335             {
 336                 If ((\_PR.CFGD & 0x0200))
 337                 {
 338                     If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
 339                         Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
 340                     {
 341                         Notify (\_PR.CPU0, Arg0)
 342                     }
 343 
 344                     If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
 345                         Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
 346                     {
 347                         Notify (\_PR.CPU1, Arg0)
 348                     }
 349 
 350                     If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
 351                         Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
 352                     {
 353                         Notify (\_PR.CPU2, Arg0)
 354                     }
 355 
 356                     If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
 357                         Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
 358                     {
 359                         Notify (\_PR.CPU3, Arg0)
 360                     }
 361 
 362                     If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
 363                         Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
 364                     {
 365                         Notify (\_PR.CPU4, Arg0)
 366                     }
 367 
 368                     If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
 369                         Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
 370                     {
 371                         Notify (\_PR.CPU5, Arg0)
 372                     }
 373 
 374                     If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
 375                         Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
 376                     {
 377                         Notify (\_PR.CPU6, Arg0)
 378                     }
 379 
 380                     If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
 381                         Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
 382                     {
 383                         Notify (\_PR.CPU7, Arg0)
 384                     }
 385                 }
 386                 Else
 387                 {
 388                     If (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 == 0x82))))
 389                     {
 390                         Notify (\_PR.CPU0, Arg0)
 391                     }
 392                 }
 393             }
 394         }
 395     }
 396 
 397     OperationRegion (MNVS, SystemMemory, 0xACD7D018, 0x1000)
 398     Field (MNVS, DWordAcc, NoLock, Preserve)
 399     {
 400         Offset (0xD00), 
 401         GAPA,   32, 
 402         GAPL,   32, 
 403         DCKI,   32, 
 404         DCKS,   32, 
 405         VCDL,   1, 
 406         VCDC,   1, 
 407         VCDT,   1, 
 408         VCDD,   1, 
 409             ,   1, 
 410         VCSS,   1, 
 411         VCDB,   1, 
 412         VCIN,   1, 
 413         VVPO,   8, 
 414         BRTN,   8, 
 415         BRLV,   8, 
 416         CDFL,   8, 
 417         CDAH,   8, 
 418         PMOD,   2, 
 419         PDIR,   1, 
 420         PDMA,   1, 
 421         Offset (0xD17), 
 422         LFDC,   1, 
 423         Offset (0xD18), 
 424         C2NA,   1, 
 425         C3NA,   1, 
 426         C4NA,   1, 
 427         C6NA,   1, 
 428         C7NA,   1, 
 429         Offset (0xD19), 
 430         Offset (0xD1A), 
 431             ,   2, 
 432             ,   1, 
 433         NHPS,   1, 
 434         NPME,   1, 
 435         Offset (0xD1B), 
 436         UOPT,   8, 
 437         BTID,   32, 
 438         DPP0,   1, 
 439         DPP1,   1, 
 440         DPP2,   1, 
 441         DPP3,   1, 
 442         DPP4,   1, 
 443         DPP5,   1, 
 444         Offset (0xD21), 
 445         Offset (0xD22), 
 446         TCRT,   16, 
 447         TPSV,   16, 
 448         TTC1,   16, 
 449         TTC2,   16, 
 450         TTSP,   16, 
 451         SRAH,   8, 
 452         SRHE,   8, 
 453         SRE1,   8, 
 454         SRE2,   8, 
 455         SRE3,   8, 
 456         SRE4,   8, 
 457         SRE5,   8, 
 458         SRE6,   8, 
 459         SRU1,   8, 
 460         SRU2,   8, 
 461         SRU3,   8, 
 462         SRU7,   8, 
 463         SRU4,   8, 
 464         SRU5,   8, 
 465         SRU8,   8, 
 466         SRPB,   8, 
 467         SRLP,   8, 
 468         SRSA,   8, 
 469         SRSM,   8, 
 470         CWAC,   1, 
 471         CWAS,   1, 
 472         CWUE,   1, 
 473         CWUS,   1, 
 474         Offset (0xD40), 
 475         CWAP,   16, 
 476         CWAT,   16, 
 477         DBGC,   1, 
 478         Offset (0xD45), 
 479         FS1L,   16, 
 480         FS1M,   16, 
 481         FS1H,   16, 
 482         FS2L,   16, 
 483         FS2M,   16, 
 484         FS2H,   16, 
 485         FS3L,   16, 
 486         FS3M,   16, 
 487         FS3H,   16, 
 488         TATC,   1, 
 489             ,   6, 
 490         TATL,   1, 
 491         TATW,   8, 
 492         TNFT,   4, 
 493         TNTT,   4, 
 494         TDFA,   4, 
 495         TDTA,   4, 
 496         TDFD,   4, 
 497         TDTD,   4, 
 498         TCFA,   4, 
 499         TCTA,   4, 
 500         TCFD,   4, 
 501         TCTD,   4, 
 502         TSFT,   4, 
 503         TSTT,   4, 
 504         TIT0,   8, 
 505         TCR0,   16, 
 506         TPS0,   16, 
 507         TIT1,   8, 
 508         TCR1,   16, 
 509         TPS1,   16, 
 510         TIT2,   8, 
 511         TCR2,   16, 
 512         TPS2,   16, 
 513         TIF0,   8, 
 514         TIF1,   8, 
 515         TIF2,   8, 
 516         Offset (0xD78), 
 517         BTHI,   1, 
 518         Offset (0xD79), 
 519         HDIR,   1, 
 520         HDEH,   1, 
 521         HDSP,   1, 
 522         HDPP,   1, 
 523         HDUB,   1, 
 524         HDMC,   1, 
 525         NFCF,   1, 
 526         Offset (0xD7A), 
 527         TPME,   8, 
 528         BIDE,   4, 
 529         IDET,   4, 
 530             ,   1, 
 531         DTSE,   1, 
 532         Offset (0xD7D), 
 533         DTS0,   8, 
 534         DTS1,   8, 
 535         DT00,   1, 
 536         DT01,   1, 
 537         DT02,   1, 
 538         DT03,   1, 
 539         Offset (0xD80), 
 540         LIDB,   1, 
 541         C4WR,   1, 
 542         C4AC,   1, 
 543         ODDX,   1, 
 544         CMPR,   1, 
 545         ILNF,   1, 
 546         PLUX,   1, 
 547         Offset (0xD81), 
 548         Offset (0xD8C), 
 549             ,   4, 
 550             ,   1, 
 551         IDMM,   1, 
 552         Offset (0xD8D), 
 553             ,   3, 
 554             ,   1, 
 555             ,   1, 
 556         LIDS,   1, 
 557         Offset (0xD8E), 
 558         Offset (0xD8F), 
 559             ,   4, 
 560         Offset (0xD90), 
 561         TCG0,   1, 
 562         TCG1,   1, 
 563         Offset (0xD91), 
 564         SWGP,   8, 
 565         IPMS,   8, 
 566         IPMB,   120, 
 567         IPMR,   24, 
 568         IPMO,   24, 
 569         IPMA,   8, 
 570         VIGD,   1, 
 571         VDSC,   1, 
 572         VMSH,   1, 
 573             ,   1, 
 574         VDSP,   1, 
 575         Offset (0xDAA), 
 576         Offset (0xDAD), 
 577         ASFT,   8, 
 578         PL1L,   8, 
 579         PL1M,   8, 
 580         CHKC,   32, 
 581         CHKE,   32, 
 582         ATRB,   32, 
 583         Offset (0xDBD), 
 584         PPCR,   8, 
 585         TPCR,   5, 
 586         Offset (0xDBF), 
 587         Offset (0xDCE), 
 588         CTPR,   8, 
 589         PPCA,   8, 
 590         TPCA,   5, 
 591         Offset (0xDD1), 
 592         BFWB,   296, 
 593         OSPX,   1, 
 594         OSC4,   1, 
 595         CPPX,   1, 
 596         Offset (0xDF7), 
 597         SPEN,   1, 
 598         SCRM,   1, 
 599             ,   1, 
 600         ETAU,   1, 
 601         IHBC,   1, 
 602         APMD,   1, 
 603         APMF,   1, 
 604         Offset (0xDF8), 
 605         FTPS,   8, 
 606         HIST,   8, 
 607         LPST,   8, 
 608         LWST,   8, 
 609         Offset (0xDFF), 
 610         MTAU,   8, 
 611         Offset (0xE20), 
 612         HPET,   32, 
 613         PKLI,   16, 
 614         VLCX,   16, 
 615         VNIT,   8, 
 616         VBD0,   8, 
 617         VBDT,   128, 
 618         VBPL,   16, 
 619         VBPH,   16, 
 620         VBML,   8, 
 621         VBMH,   8, 
 622         VEDI,   1024, 
 623         PDCI,   16, 
 624         ISCG,   32, 
 625         ISSP,   1, 
 626         ISWK,   2, 
 627         ISFS,   3, 
 628         Offset (0xEC7), 
 629         SHA1,   160, 
 630         FFDT,   1, 
 631         FFCL,   1, 
 632         Offset (0xEDC), 
 633         LWCP,   1, 
 634         LWEN,   1, 
 635         IOCP,   1, 
 636         IOEN,   1, 
 637         IOST,   1, 
 638         Offset (0xEDD), 
 639         USBR,   1, 
 640         Offset (0xEDE), 
 641         Offset (0xEDF), 
 642         Offset (0xEE1), 
 643         BT2T,   1, 
 644         Offset (0xEE2), 
 645         TPPP,   8, 
 646         TPPC,   8, 
 647         CTPC,   8, 
 648         FNWK,   8, 
 649         USBC,   8, 
 650         XHCC,   8, 
 651         DTCC,   8, 
 652         WLCC,   16
 653     }
 654 
 655     Field (MNVS, ByteAcc, NoLock, Preserve)
 656     {
 657         Offset (0xB00), 
 658         WITM,   8, 
 659         WSEL,   8, 
 660         WLS0,   8, 
 661         WLS1,   8, 
 662         WLS2,   8, 
 663         WLS3,   8, 
 664         WLS4,   8, 
 665         WLS5,   8, 
 666         WLS6,   8, 
 667         WLS7,   8, 
 668         WLS8,   8, 
 669         WLS9,   8, 
 670         WLSA,   8, 
 671         WLSB,   8, 
 672         WLSC,   8, 
 673         WLSD,   8, 
 674         WENC,   8, 
 675         WKBD,   8, 
 676         WPTY,   8, 
 677         WPAS,   1032, 
 678         WPNW,   1032, 
 679         WSPM,   8, 
 680         WSPS,   8, 
 681         WSMN,   8, 
 682         WSMX,   8, 
 683         WSEN,   8, 
 684         WSKB,   8, 
 685         WASB,   8, 
 686         WASI,   16, 
 687         WASD,   8, 
 688         WASS,   32
 689     }
 690 
 691     Field (MNVS, ByteAcc, NoLock, Preserve)
 692     {
 693         Offset (0xA00), 
 694         DBGS,   1024
 695     }
 696 
 697     OperationRegion (GNVS, SystemMemory, 0xACD69C18, 0x036F)
 698     Field (GNVS, AnyAcc, Lock, Preserve)
 699     {
 700         OSYS,   16, 
 701         SMIF,   8, 
 702         PRM0,   8, 
 703         PRM1,   8, 
 704         Offset (0x0F), 
 705         PWRS,   8, 
 706         Offset (0x1E), 
 707         Offset (0x25), 
 708         REVN,   8, 
 709         IFFS,   8, 
 710         Offset (0x28), 
 711         APIC,   8, 
 712         TCNT,   8, 
 713         PCP0,   8, 
 714         PCP1,   8, 
 715         PPCM,   8, 
 716         PPMF,   32, 
 717         C67L,   8, 
 718         Offset (0x44), 
 719         TL2F,   32, 
 720         MORD,   8, 
 721         TCGP,   8, 
 722         PPRP,   32, 
 723         PPRQ,   8, 
 724         LPPR,   8, 
 725         GTF0,   56, 
 726         GTF2,   56, 
 727         IDEM,   8, 
 728         GTF1,   56, 
 729         BID,    16, 
 730         PLID,   8, 
 731         ECTG,   8, 
 732         SDPO,   8, 
 733         SKID,   8, 
 734         Offset (0x70), 
 735         OSCC,   8, 
 736         NEXP,   8, 
 737         SBV1,   8, 
 738         SBV2,   8, 
 739         Offset (0x7A), 
 740         DSEN,   8, 
 741         ECON,   8, 
 742         Offset (0x7D), 
 743         CTYP,   8, 
 744         L01C,   8, 
 745         VFN0,   8, 
 746         VFN1,   8, 
 747         VFN2,   8, 
 748         VFN3,   8, 
 749         VFN4,   8, 
 750         VFN5,   8, 
 751         VFN6,   8, 
 752         VFN7,   8, 
 753         VFN8,   8, 
 754         VFN9,   8, 
 755         ISCT,   8, 
 756         SLDR,   32, 
 757         WAKR,   8, 
 758         ATMC,   8, 
 759         PTMC,   8, 
 760         ATRA,   8, 
 761         PTRA,   8, 
 762         PNHM,   32, 
 763         TBAB,   32, 
 764         TBAH,   32, 
 765         RTIP,   8, 
 766         TSOD,   8, 
 767         ATPC,   8, 
 768         PTPC,   8, 
 769         PFLV,   8, 
 770         BREV,   8, 
 771         PDTS,   8, 
 772         PKGA,   8, 
 773         PAMT,   8, 
 774         AC0F,   8, 
 775         AC1F,   8, 
 776         DTS3,   8, 
 777         DTS4,   8, 
 778         Offset (0xB0), 
 779         LTR1,   8, 
 780         LTR2,   8, 
 781         LTR3,   8, 
 782         LTR4,   8, 
 783         LTR5,   8, 
 784         LTR6,   8, 
 785         LTR7,   8, 
 786         LTR8,   8, 
 787         OBF1,   8, 
 788         OBF2,   8, 
 789         OBF3,   8, 
 790         OBF4,   8, 
 791         OBF5,   8, 
 792         OBF6,   8, 
 793         OBF7,   8, 
 794         OBF8,   8, 
 795         XHCI,   8, 
 796         XTUB,   32, 
 797         XTUS,   32, 
 798         XMPB,   32, 
 799         DDRF,   8, 
 800         RTD3,   8, 
 801         PEP0,   8, 
 802         PEP3,   8, 
 803         DPTF,   8, 
 804         SADE,   8, 
 805         SACR,   8, 
 806         SAHT,   8, 
 807         PCHD,   8, 
 808         PCHC,   8, 
 809         PCHH,   8, 
 810         Offset (0xDB), 
 811         ECEU,   8, 
 812         TGFG,   16, 
 813         MEMD,   8, 
 814         MEMC,   8, 
 815         MEMH,   8, 
 816         FND1,   8, 
 817         FND2,   8, 
 818         AMBD,   8, 
 819         AMAT,   8, 
 820         AMPT,   8, 
 821         AMCT,   8, 
 822         AMHT,   8, 
 823         SKDE,   8, 
 824         SKAT,   8, 
 825         SKPT,   8, 
 826         SKCT,   8, 
 827         SKHT,   8, 
 828         EFDE,   8, 
 829         EFAT,   8, 
 830         EFPT,   8, 
 831         EFCT,   8, 
 832         EFHT,   8, 
 833         VRDE,   8, 
 834         VRAT,   8, 
 835         VRPT,   8, 
 836         VRCT,   8, 
 837         VRHT,   8, 
 838         DPAP,   8, 
 839         DPPP,   8, 
 840         DPCP,   8, 
 841         DCMP,   8, 
 842         TRTV,   8, 
 843         LPOE,   8, 
 844         LPOP,   8, 
 845         LPOS,   8, 
 846         LPOW,   8, 
 847         LPER,   8, 
 848         PPSZ,   32, 
 849         DISE,   8, 
 850         BGMA,   64, 
 851         BGMS,   8, 
 852         BGIA,   16, 
 853         ICNF,   8, 
 854         DSP0,   32, 
 855         DSP1,   32, 
 856         NFCE,   8, 
 857         CODS,   8, 
 858         SNHE,   8, 
 859         S0ID,   8, 
 860         CTDB,   8, 
 861         DKSM,   8, 
 862         SIO1,   8, 
 863         SIO2,   8, 
 864         SPBA,   16, 
 865         UPXD,   16, 
 866         Offset (0x1FF), 
 867         ULCK,   8, 
 868         Offset (0x207), 
 869         PWRE,   8, 
 870         PWRP,   8, 
 871         XHPR,   8, 
 872         SDS0,   8, 
 873         SDS1,   16, 
 874         SDS2,   8, 
 875         SDS3,   8, 
 876         SDS4,   8, 
 877         SDS5,   8, 
 878         Offset (0x212), 
 879         RIC0,   8, 
 880         PEPY,   8, 
 881         DVS0,   8, 
 882         DVS1,   8, 
 883         DVS2,   8, 
 884         DVS3,   8, 
 885         GBSX,   8, 
 886         IUBE,   8, 
 887         IUCE,   8, 
 888         IUDE,   8, 
 889         ECNO,   8, 
 890         AUDD,   16, 
 891         DSPD,   16, 
 892         IC0D,   16, 
 893         IC1D,   16, 
 894         IC1S,   16, 
 895         VRRD,   16, 
 896         PSCP,   8, 
 897         RWAG,   8, 
 898         I20D,   16, 
 899         I21D,   16, 
 900         Offset (0x231), 
 901         RCG0,   8, 
 902         ECDB,   8, 
 903         P2ME,   8, 
 904         SSH0,   16, 
 905         SSL0,   16, 
 906         SSD0,   16, 
 907         FMH0,   16, 
 908         FML0,   16, 
 909         FMD0,   16, 
 910         FPH0,   16, 
 911         FPL0,   16, 
 912         FPD0,   16, 
 913         SSH1,   16, 
 914         SSL1,   16, 
 915         SSD1,   16, 
 916         FMH1,   16, 
 917         FML1,   16, 
 918         FMD1,   16, 
 919         FPH1,   16, 
 920         FPL1,   16, 
 921         FPD1,   16, 
 922         M0C0,   16, 
 923         M1C0,   16, 
 924         M2C0,   16, 
 925         M0C1,   16, 
 926         M1C1,   16, 
 927         M2C1,   16, 
 928         M0C2,   16, 
 929         M1C2,   16, 
 930         M0C3,   16, 
 931         M1C3,   16, 
 932         M0C4,   16, 
 933         M1C4,   16, 
 934         M0C5,   16, 
 935         M1C5,   16, 
 936         TBSF,   8, 
 937         GIRQ,   32, 
 938         DMTP,   8, 
 939         DMTD,   8, 
 940         DMSH,   8, 
 941         LANP,   8, 
 942         Offset (0x27E), 
 943         SHSB,   8, 
 944         PLCS,   8, 
 945         PLVL,   16, 
 946         GN1E,   8, 
 947         G1AT,   8, 
 948         G1PT,   8, 
 949         G1CT,   8, 
 950         G1HT,   8, 
 951         GN2E,   8, 
 952         G2AT,   8, 
 953         G2PT,   8, 
 954         G2CT,   8, 
 955         G2HT,   8, 
 956         WWSD,   8, 
 957         CVSD,   8, 
 958         SSDD,   8, 
 959         INLD,   8, 
 960         IFAT,   8, 
 961         IFPT,   8, 
 962         IFCT,   8, 
 963         IFHT,   8, 
 964         ANCS,   8, 
 965         SHTP,   8, 
 966         BCV4,   8, 
 967         WTVX,   8, 
 968         WITX,   8, 
 969         APFU,   8, 
 970         SOHP,   8, 
 971         NOHP,   8, 
 972         TBSE,   8, 
 973         WKFN,   8, 
 974         PEPC,   16, 
 975         VRSD,   16, 
 976         PB1E,   8, 
 977         GNID,   8, 
 978         MPLT,   16, 
 979         GR13,   8, 
 980         CHGE,   8, 
 981         Offset (0x2B2), 
 982         SAC3,   8, 
 983         PCH3,   8, 
 984         MEM3,   8, 
 985         AMC3,   8, 
 986         SKC3,   8, 
 987         EFC3,   8, 
 988         VRC3,   8, 
 989         G1C3,   8, 
 990         G2C3,   8, 
 991         IFC3,   8, 
 992         Offset (0x2BF), 
 993         SPST,   8, 
 994         GN3E,   8, 
 995         G3AT,   8, 
 996         G3PT,   8, 
 997         G3CT,   8, 
 998         G3HT,   8, 
 999         GN4E,   8, 
1000         G4AT,   8, 
1001         G4PT,   8, 
1002         G4CT,   8, 
1003         G4HT,   8, 
1004         GN5E,   8, 
1005         G5AT,   8, 
1006         G5PT,   8, 
1007         G5CT,   8, 
1008         G5HT,   8, 
1009         GN6E,   8, 
1010         G6AT,   8, 
1011         G6PT,   8, 
1012         G6CT,   8, 
1013         G6HT,   8, 
1014         ECLP,   8, 
1015         Offset (0x2D6), 
1016         G3C3,   8, 
1017         G4C3,   8, 
1018         G5C3,   8, 
1019         G6C3,   8, 
1020         S1DE,   8, 
1021         S1AT,   8, 
1022         S1PT,   8, 
1023         S1CT,   8, 
1024         S1HT,   8, 
1025         S2DE,   8, 
1026         S2AT,   8, 
1027         S2PT,   8, 
1028         S2CT,   8, 
1029         S2HT,   8, 
1030         S3DE,   8, 
1031         S3AT,   8, 
1032         S3PT,   8, 
1033         S3CT,   8, 
1034         S3HT,   8, 
1035         S4DE,   8, 
1036         S4AT,   8, 
1037         S4PT,   8, 
1038         S4CT,   8, 
1039         S4HT,   8, 
1040         S5DE,   8, 
1041         S5AT,   8, 
1042         S5PT,   8, 
1043         S5CT,   8, 
1044         S5HT,   8, 
1045         S6DE,   8, 
1046         S6AT,   8, 
1047         S6PT,   8, 
1048         S6CT,   8, 
1049         S6HT,   8, 
1050         S7DE,   8, 
1051         S7AT,   8, 
1052         S7PT,   8, 
1053         S7CT,   8, 
1054         S7HT,   8, 
1055         Offset (0x303), 
1056         S1S3,   8, 
1057         S2S3,   8, 
1058         S3S3,   8, 
1059         S4S3,   8, 
1060         S5S3,   8, 
1061         S6S3,   8, 
1062         S7S3,   8, 
1063         DACT,   8, 
1064         MPL1,   16, 
1065         MPL2,   16, 
1066         SATS,   16, 
1067         PCTS,   16, 
1068         SKTS,   16, 
1069         PSME,   8, 
1070         PDT1,   8, 
1071         PLM1,   16, 
1072         PTW1,   16, 
1073         PDT2,   8, 
1074         PLM2,   16, 
1075         PTW2,   16, 
1076         DDT1,   8, 
1077         DDP1,   8, 
1078         DLI1,   16, 
1079         DPL1,   16, 
1080         DTW1,   16, 
1081         DMI1,   16, 
1082         DMA1,   16, 
1083         DMT1,   16, 
1084         DDT2,   8, 
1085         DDP2,   8, 
1086         DLI2,   16, 
1087         DPL2,   16, 
1088         DTW2,   16, 
1089         DMI2,   16, 
1090         DMA2,   16, 
1091         DMT2,   16, 
1092         Offset (0x33E), 
1093         TBTS,   8, 
1094         ECGP,   8, 
1095         IVDF,   8, 
1096         TPMP,   8, 
1097         WIFD,   8, 
1098         WFAT,   8, 
1099         WFPT,   8, 
1100         WFCT,   8, 
1101         WFC3,   8, 
1102         WFHT,   8, 
1103         WAND,   8, 
1104         WWAT,   8, 
1105         WWPT,   8, 
1106         WWCT,   8, 
1107         WWC3,   8, 
1108         WWHT,   8, 
1109         WGID,   8, 
1110         WGAT,   8, 
1111         WGPT,   8, 
1112         WGCT,   8, 
1113         WGC3,   8, 
1114         WGHT,   8, 
1115         STGE,   8, 
1116         WDM1,   8, 
1117         CID1,   16, 
1118         WDM2,   8, 
1119         CID2,   16, 
1120         WIFE,   8, 
1121         DOM1,   8, 
1122         LIM1,   16, 
1123         TIM1,   16, 
1124         DOM2,   8, 
1125         LIM2,   16, 
1126         TIM2,   16, 
1127         DOM3,   8, 
1128         LIM3,   16, 
1129         TIM3,   16, 
1130         TRD0,   8, 
1131         TRL0,   8, 
1132         TRD1,   8, 
1133         TRL1,   8
1134     }
1135 
1136     Name (PNVB, 0xACD6BD98)
1137     Name (PNVL, 0x00E4)
1138     OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
1139     Field (PNVA, AnyAcc, Lock, Preserve)
1140     {
1141         RCRV,   32, 
1142         PCHS,   16, 
1143         PCHG,   16, 
1144         RPA0,   32, 
1145         RPA1,   32, 
1146         RPA2,   32, 
1147         RPA3,   32, 
1148         RPA4,   32, 
1149         RPA5,   32, 
1150         RPA6,   32, 
1151         RPA7,   32, 
1152         SRMB,   32, 
1153         ADB0,   32, 
1154         ADB1,   32, 
1155         ADI0,   32, 
1156         GPMN,   32, 
1157         GPMX,   32, 
1158         PML1,   16, 
1159         PML2,   16, 
1160         PML3,   16, 
1161         PML4,   16, 
1162         PML5,   16, 
1163         PML6,   16, 
1164         PML7,   16, 
1165         PML8,   16, 
1166         PNL1,   16, 
1167         PNL2,   16, 
1168         PNL3,   16, 
1169         PNL4,   16, 
1170         PNL5,   16, 
1171         PNL6,   16, 
1172         PNL7,   16, 
1173         PNL8,   16, 
1174         U0C0,   32, 
1175         U1C0,   32, 
1176         ADFM,   32, 
1177         ADBT,   8, 
1178         XHPC,   8, 
1179         XRPC,   8, 
1180         XSPC,   8, 
1181         XSPA,   8, 
1182         SMD0,   8, 
1183         SMD1,   8, 
1184         SMD2,   8, 
1185         SMD3,   8, 
1186         SMD4,   8, 
1187         SMD5,   8, 
1188         SMD6,   8, 
1189         SMD7,   8, 
1190         SIR0,   8, 
1191         SIR1,   8, 
1192         SIR2,   8, 
1193         SIR3,   8, 
1194         SIR4,   8, 
1195         SIR5,   8, 
1196         SIR6,   8, 
1197         SIR7,   8, 
1198         SB00,   32, 
1199         SB01,   32, 
1200         SB02,   32, 
1201         SB03,   32, 
1202         SB04,   32, 
1203         SB05,   32, 
1204         SB06,   32, 
1205         SB07,   32, 
1206         SB10,   32, 
1207         SB11,   32, 
1208         SB12,   32, 
1209         SB13,   32, 
1210         SB14,   32, 
1211         SB15,   32, 
1212         SB16,   32, 
1213         SB17,   32, 
1214         SMGP,   8, 
1215         GBEP,   8, 
1216         PMSI,   8, 
1217         PMCP,   8, 
1218         PCLP,   8, 
1219         PL1P,   16, 
1220         PL1A,   32, 
1221         PL1B,   8, 
1222         PEPL,   16, 
1223         PRPL,   16, 
1224         PCIT,   8, 
1225         PLTP,   16, 
1226         PLTD,   32, 
1227         PED2,   16, 
1228         PRDC,   16, 
1229         PED1,   16, 
1230         PCHP,   16, 
1231         XWMB,   32
1232     }
1233 
1234     Scope (\_SB)
1235     {
1236         Method (_INI, 0, NotSerialized)  // _INI: Initialize
1237         {
1238             If (CondRefOf (\_OSI, Local0))
1239             {
1240                 If (\_OSI ("Windows 2001"))
1241                 {
1242                     \WNTF = 0x01
1243                     \WXPF = 0x01
1244                     \WSPV = 0x00
1245                     OSYS = 0x07D1
1246                 }
1247 
1248                 If (\_OSI ("Windows 2001 SP1"))
1249                 {
1250                     \WSPV = 0x01
1251                     OSYS = 0x07D1
1252                 }
1253 
1254                 If (\_OSI ("Windows 2001 SP2"))
1255                 {
1256                     \WSPV = 0x02
1257                     OSYS = 0x07D2
1258                 }
1259 
1260                 If (\_OSI ("Windows 2006"))
1261                 {
1262                     \WVIS = 0x01
1263                     OSYS = 0x07D6
1264                 }
1265 
1266                 If (\_OSI ("Windows 2009"))
1267                 {
1268                     \WIN7 = 0x01
1269                     OSYS = 0x07D9
1270                 }
1271 
1272                 If (\_OSI ("Windows 2012"))
1273                 {
1274                     \WIN8 = 0x01
1275                     OSYS = 0x07DC
1276                 }
1277 
1278                 If (\_OSI ("Windows 2013"))
1279                 {
1280                     \WIN8 = 0x01
1281                     OSYS = 0x07DD
1282                 }
1283 
1284                 If (\_OSI ("Windows 2015"))
1285                 {
1286                     \WIN8 = 0x01
1287                     OSYS = 0x07DF
1288                 }
1289 
1290                 If (\_OSI ("Linux"))
1291                 {
1292                     \LNUX = 0x01
1293                     OSYS = 0x03E8
1294                 }
1295 
1296                 If (\_OSI ("FreeBSD"))
1297                 {
1298                     \LNUX = 0x01
1299                     OSYS = 0x03E8
1300                 }
1301             }
1302             Else
1303             {
1304                 If ((\SCMP (\_OS, "Microsoft Windows NT") == Zero))
1305                 {
1306                     \WNTF = 0x01
1307                 }
1308             }
1309 
1310             If ((\_REV >= 0x02))
1311             {
1312                 \H8DR = 0x01
1313             }
1314 
1315             \OSIF = 0x01
1316             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
1317             \_SB.PCI0.LPC.MOU.MHID ()
1318             If (\LNUX)
1319             {
1320                 \_SB.PCI0.LPC.EC.SAUM (0x02)
1321                 \UCMS (0x1C)
1322             }
1323 
1324             \_SB.PCI0.RID = \SRAH
1325             If (VIGD)
1326             {
1327                 \_SB.PCI0.VID.RID = \SRHE
1328             }
1329             Else
1330             {
1331                 \_SB.PCI0.PEG.RID = \SRHE
1332             }
1333 
1334             \_SB.PCI0.EXP1.RID = \SRE1
1335             \_SB.PCI0.EXP2.RID = \SRE2
1336             \_SB.PCI0.EXP3.RID = \SRE3
1337             \_SB.PCI0.EHC1.RID = \SRU7
1338             \_SB.PCI0.LPC.RID = \SRLP
1339             \_SB.PCI0.SAT1.RID = \SRSA
1340             \_SB.PCI0.SMBU.RID = \SRSM
1341             \UCMS (0x1D)
1342         }
1343 
1344         Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1345         {
1346             CreateDWordField (Arg3, 0x00, STS0)
1347             CreateDWordField (Arg3, 0x04, CAP0)
1348             If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
1349             {
1350                 If ((Arg1 == One))
1351                 {
1352                     If ((CAP0 & 0x04))
1353                     {
1354                         If (!VMSH)
1355                         {
1356                             If ((RTD3 == 0x00))
1357                             {
1358                                 CAP0 &= 0x3B
1359                                 STS0 |= 0x10
1360                             }
1361                         }
1362                     }
1363 
1364                     If ((CAP0 & 0x20))
1365                     {
1366                         If (CondRefOf (\_SB.PCCD.PENB))
1367                         {
1368                             If ((\_SB.PCCD.PENB == 0x00))
1369                             {
1370                                 CAP0 &= 0x1F
1371                                 STS0 |= 0x10
1372                             }
1373 
1374                             If ((\_SB.PCCD.PENB == 0x01))
1375                             {
1376                                 \CPPX = 0x01
1377                             }
1378                         }
1379                         Else
1380                         {
1381                             CAP0 &= 0x1F
1382                             STS0 |= 0x10
1383                         }
1384                     }
1385                 }
1386                 Else
1387                 {
1388                     STS0 &= 0xFFFFFF00
1389                     STS0 |= 0x0A
1390                 }
1391             }
1392             Else
1393             {
1394                 STS0 &= 0xFFFFFF00
1395                 STS0 |= 0x06
1396             }
1397 
1398             Return (Arg3)
1399         }
1400 
1401         Device (LNKA)
1402         {
1403             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1404             Name (_UID, 0x01)  // _UID: Unique ID
1405             Method (_STA, 0, NotSerialized)  // _STA: Status
1406             {
1407                 If (!VPIR (\_SB.PCI0.LPC.PIRA))
1408                 {
1409                     Return (0x09)
1410                 }
1411                 Else
1412                 {
1413                     Return (0x0B)
1414                 }
1415             }
1416 
1417             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1418             {
1419                 IRQ (Level, ActiveLow, Shared, )
1420                     {3,4,5,6,7,9,10,11}
1421             })
1422             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1423             {
1424                 \_SB.PCI0.LPC.PIRA |= 0x80
1425             }
1426 
1427             Name (BUFA, ResourceTemplate ()
1428             {
1429                 IRQ (Level, ActiveLow, Shared, _Y00)
1430                     {}
1431             })
1432             CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1)  // _INT: Interrupts
1433             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1434             {
1435                 Local0 = (\_SB.PCI0.LPC.PIRA & 0x8F)
1436                 If (VPIR (Local0))
1437                 {
1438                     IRA1 = (0x01 << Local0)
1439                 }
1440                 Else
1441                 {
1442                     IRA1 = 0x00
1443                 }
1444 
1445                 Return (BUFA) /* \_SB_.LNKA.BUFA */
1446             }
1447 
1448             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1449             {
1450                 CreateWordField (Arg0, 0x01, IRA2)
1451                 FindSetRightBit (IRA2, Local0)
1452                 Local1 = (\_SB.PCI0.LPC.PIRA & 0x70)
1453                 Local1 |= Local0--
1454                 \_SB.PCI0.LPC.PIRA = Local1
1455             }
1456         }
1457 
1458         Device (LNKB)
1459         {
1460             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1461             Name (_UID, 0x02)  // _UID: Unique ID
1462             Method (_STA, 0, NotSerialized)  // _STA: Status
1463             {
1464                 If (!VPIR (\_SB.PCI0.LPC.PIRB))
1465                 {
1466                     Return (0x09)
1467                 }
1468                 Else
1469                 {
1470                     Return (0x0B)
1471                 }
1472             }
1473 
1474             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1475             {
1476                 IRQ (Level, ActiveLow, Shared, )
1477                     {3,4,5,6,7,9,10,11}
1478             })
1479             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1480             {
1481                 \_SB.PCI0.LPC.PIRB |= 0x80
1482             }
1483 
1484             Name (BUFB, ResourceTemplate ()
1485             {
1486                 IRQ (Level, ActiveLow, Shared, _Y01)
1487                     {}
1488             })
1489             CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1)  // _INT: Interrupts
1490             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1491             {
1492                 Local0 = (\_SB.PCI0.LPC.PIRB & 0x8F)
1493                 If (VPIR (Local0))
1494                 {
1495                     IRB1 = (0x01 << Local0)
1496                 }
1497                 Else
1498                 {
1499                     IRB1 = 0x00
1500                 }
1501 
1502                 Return (BUFB) /* \_SB_.LNKB.BUFB */
1503             }
1504 
1505             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1506             {
1507                 CreateWordField (Arg0, 0x01, IRB2)
1508                 FindSetRightBit (IRB2, Local0)
1509                 Local1 = (\_SB.PCI0.LPC.PIRB & 0x70)
1510                 Local1 |= Local0--
1511                 \_SB.PCI0.LPC.PIRB = Local1
1512             }
1513         }
1514 
1515         Device (LNKC)
1516         {
1517             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1518             Name (_UID, 0x03)  // _UID: Unique ID
1519             Method (_STA, 0, NotSerialized)  // _STA: Status
1520             {
1521                 If (!VPIR (\_SB.PCI0.LPC.PIRC))
1522                 {
1523                     Return (0x09)
1524                 }
1525                 Else
1526                 {
1527                     Return (0x0B)
1528                 }
1529             }
1530 
1531             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1532             {
1533                 IRQ (Level, ActiveLow, Shared, )
1534                     {3,4,5,6,7,9,10,11}
1535             })
1536             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1537             {
1538                 \_SB.PCI0.LPC.PIRC |= 0x80
1539             }
1540 
1541             Name (BUFC, ResourceTemplate ()
1542             {
1543                 IRQ (Level, ActiveLow, Shared, _Y02)
1544                     {}
1545             })
1546             CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1)  // _INT: Interrupts
1547             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1548             {
1549                 Local0 = (\_SB.PCI0.LPC.PIRC & 0x8F)
1550                 If (VPIR (Local0))
1551                 {
1552                     IRC1 = (0x01 << Local0)
1553                 }
1554                 Else
1555                 {
1556                     IRC1 = 0x00
1557                 }
1558 
1559                 Return (BUFC) /* \_SB_.LNKC.BUFC */
1560             }
1561 
1562             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1563             {
1564                 CreateWordField (Arg0, 0x01, IRC2)
1565                 FindSetRightBit (IRC2, Local0)
1566                 Local1 = (\_SB.PCI0.LPC.PIRC & 0x70)
1567                 Local1 |= Local0--
1568                 \_SB.PCI0.LPC.PIRC = Local1
1569             }
1570         }
1571 
1572         Device (LNKD)
1573         {
1574             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1575             Name (_UID, 0x04)  // _UID: Unique ID
1576             Method (_STA, 0, NotSerialized)  // _STA: Status
1577             {
1578                 If (!VPIR (\_SB.PCI0.LPC.PIRD))
1579                 {
1580                     Return (0x09)
1581                 }
1582                 Else
1583                 {
1584                     Return (0x0B)
1585                 }
1586             }
1587 
1588             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1589             {
1590                 IRQ (Level, ActiveLow, Shared, )
1591                     {3,4,5,6,7,9,10,11}
1592             })
1593             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1594             {
1595                 \_SB.PCI0.LPC.PIRD |= 0x80
1596             }
1597 
1598             Name (BUFD, ResourceTemplate ()
1599             {
1600                 IRQ (Level, ActiveLow, Shared, _Y03)
1601                     {}
1602             })
1603             CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1)  // _INT: Interrupts
1604             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1605             {
1606                 Local0 = (\_SB.PCI0.LPC.PIRD & 0x8F)
1607                 If (VPIR (Local0))
1608                 {
1609                     IRD1 = (0x01 << Local0)
1610                 }
1611                 Else
1612                 {
1613                     IRD1 = 0x00
1614                 }
1615 
1616                 Return (BUFD) /* \_SB_.LNKD.BUFD */
1617             }
1618 
1619             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1620             {
1621                 CreateWordField (Arg0, 0x01, IRD2)
1622                 FindSetRightBit (IRD2, Local0)
1623                 Local1 = (\_SB.PCI0.LPC.PIRD & 0x70)
1624                 Local1 |= Local0--
1625                 \_SB.PCI0.LPC.PIRD = Local1
1626             }
1627         }
1628 
1629         Device (LNKE)
1630         {
1631             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1632             Name (_UID, 0x05)  // _UID: Unique ID
1633             Method (_STA, 0, NotSerialized)  // _STA: Status
1634             {
1635                 If (!VPIR (\_SB.PCI0.LPC.PIRE))
1636                 {
1637                     Return (0x09)
1638                 }
1639                 Else
1640                 {
1641                     Return (0x0B)
1642                 }
1643             }
1644 
1645             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1646             {
1647                 IRQ (Level, ActiveLow, Shared, )
1648                     {3,4,5,6,7,9,10,11}
1649             })
1650             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1651             {
1652                 \_SB.PCI0.LPC.PIRE |= 0x80
1653             }
1654 
1655             Name (BUFE, ResourceTemplate ()
1656             {
1657                 IRQ (Level, ActiveLow, Shared, _Y04)
1658                     {}
1659             })
1660             CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1)  // _INT: Interrupts
1661             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1662             {
1663                 Local0 = (\_SB.PCI0.LPC.PIRE & 0x8F)
1664                 If (VPIR (Local0))
1665                 {
1666                     IRE1 = (0x01 << Local0)
1667                 }
1668                 Else
1669                 {
1670                     IRE1 = 0x00
1671                 }
1672 
1673                 Return (BUFE) /* \_SB_.LNKE.BUFE */
1674             }
1675 
1676             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1677             {
1678                 CreateWordField (Arg0, 0x01, IRE2)
1679                 FindSetRightBit (IRE2, Local0)
1680                 Local1 = (\_SB.PCI0.LPC.PIRE & 0x70)
1681                 Local1 |= Local0--
1682                 \_SB.PCI0.LPC.PIRE = Local1
1683             }
1684         }
1685 
1686         Device (LNKF)
1687         {
1688             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1689             Name (_UID, 0x06)  // _UID: Unique ID
1690             Method (_STA, 0, NotSerialized)  // _STA: Status
1691             {
1692                 If (!VPIR (\_SB.PCI0.LPC.PIRF))
1693                 {
1694                     Return (0x09)
1695                 }
1696                 Else
1697                 {
1698                     Return (0x0B)
1699                 }
1700             }
1701 
1702             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1703             {
1704                 IRQ (Level, ActiveLow, Shared, )
1705                     {3,4,5,6,7,9,10,11}
1706             })
1707             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1708             {
1709                 \_SB.PCI0.LPC.PIRF |= 0x80
1710             }
1711 
1712             Name (BUFF, ResourceTemplate ()
1713             {
1714                 IRQ (Level, ActiveLow, Shared, _Y05)
1715                     {}
1716             })
1717             CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1)  // _INT: Interrupts
1718             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1719             {
1720                 Local0 = (\_SB.PCI0.LPC.PIRF & 0x8F)
1721                 If (VPIR (Local0))
1722                 {
1723                     IRF1 = (0x01 << Local0)
1724                 }
1725                 Else
1726                 {
1727                     IRF1 = 0x00
1728                 }
1729 
1730                 Return (BUFF) /* \_SB_.LNKF.BUFF */
1731             }
1732 
1733             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1734             {
1735                 CreateWordField (Arg0, 0x01, IRF2)
1736                 FindSetRightBit (IRF2, Local0)
1737                 Local1 = (\_SB.PCI0.LPC.PIRF & 0x70)
1738                 Local1 |= Local0--
1739                 \_SB.PCI0.LPC.PIRF = Local1
1740             }
1741         }
1742 
1743         Device (LNKG)
1744         {
1745             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1746             Name (_UID, 0x07)  // _UID: Unique ID
1747             Method (_STA, 0, NotSerialized)  // _STA: Status
1748             {
1749                 If (!VPIR (\_SB.PCI0.LPC.PIRG))
1750                 {
1751                     Return (0x09)
1752                 }
1753                 Else
1754                 {
1755                     Return (0x0B)
1756                 }
1757             }
1758 
1759             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1760             {
1761                 IRQ (Level, ActiveLow, Shared, )
1762                     {3,4,5,6,7,9,10,11}
1763             })
1764             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1765             {
1766                 \_SB.PCI0.LPC.PIRG |= 0x80
1767             }
1768 
1769             Name (BUFG, ResourceTemplate ()
1770             {
1771                 IRQ (Level, ActiveLow, Shared, _Y06)
1772                     {}
1773             })
1774             CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1)  // _INT: Interrupts
1775             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1776             {
1777                 Local0 = (\_SB.PCI0.LPC.PIRG & 0x8F)
1778                 If (VPIR (Local0))
1779                 {
1780                     IRG1 = (0x01 << Local0)
1781                 }
1782                 Else
1783                 {
1784                     IRG1 = 0x00
1785                 }
1786 
1787                 Return (BUFG) /* \_SB_.LNKG.BUFG */
1788             }
1789 
1790             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1791             {
1792                 CreateWordField (Arg0, 0x01, IRG2)
1793                 FindSetRightBit (IRG2, Local0)
1794                 Local1 = (\_SB.PCI0.LPC.PIRG & 0x70)
1795                 Local1 |= Local0--
1796                 \_SB.PCI0.LPC.PIRG = Local1
1797             }
1798         }
1799 
1800         Device (LNKH)
1801         {
1802             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1803             Name (_UID, 0x08)  // _UID: Unique ID
1804             Method (_STA, 0, NotSerialized)  // _STA: Status
1805             {
1806                 If (!VPIR (\_SB.PCI0.LPC.PIRH))
1807                 {
1808                     Return (0x09)
1809                 }
1810                 Else
1811                 {
1812                     Return (0x0B)
1813                 }
1814             }
1815 
1816             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1817             {
1818                 IRQ (Level, ActiveLow, Shared, )
1819                     {3,4,5,6,7,9,10,11}
1820             })
1821             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1822             {
1823                 \_SB.PCI0.LPC.PIRH |= 0x80
1824             }
1825 
1826             Name (BUFH, ResourceTemplate ()
1827             {
1828                 IRQ (Level, ActiveLow, Shared, _Y07)
1829                     {}
1830             })
1831             CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1)  // _INT: Interrupts
1832             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1833             {
1834                 Local0 = (\_SB.PCI0.LPC.PIRH & 0x8F)
1835                 If (VPIR (Local0))
1836                 {
1837                     IRH1 = (0x01 << Local0)
1838                 }
1839                 Else
1840                 {
1841                     IRH1 = 0x00
1842                 }
1843 
1844                 Return (BUFH) /* \_SB_.LNKH.BUFH */
1845             }
1846 
1847             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1848             {
1849                 CreateWordField (Arg0, 0x01, IRH2)
1850                 FindSetRightBit (IRH2, Local0)
1851                 Local1 = (\_SB.PCI0.LPC.PIRH & 0x70)
1852                 Local1 |= Local0--
1853                 \_SB.PCI0.LPC.PIRH = Local1
1854             }
1855         }
1856 
1857         Method (VPIR, 1, NotSerialized)
1858         {
1859             Local0 = 0x01
1860             If ((Arg0 & 0x80))
1861             {
1862                 Local0 = 0x00
1863             }
1864             Else
1865             {
1866                 Local1 = (Arg0 & 0x0F)
1867                 If ((Local1 < 0x03))
1868                 {
1869                     Local0 = 0x00
1870                 }
1871                 Else
1872                 {
1873                     If (((Local1 == 0x08) || (Local1 == 0x0D)))
1874                     {
1875                         Local0 = 0x00
1876                     }
1877                 }
1878             }
1879 
1880             Return (Local0)
1881         }
1882 
1883         Device (MEM)
1884         {
1885             Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
1886             Name (MEMS, ResourceTemplate ()
1887             {
1888                 Memory32Fixed (ReadWrite,
1889                     0x00000000,         // Address Base
1890                     0x000A0000,         // Address Length
1891                     )
1892                 Memory32Fixed (ReadOnly,
1893                     0x000C0000,         // Address Base
1894                     0x00000000,         // Address Length
1895                     _Y08)
1896                 Memory32Fixed (ReadOnly,
1897                     0x000C4000,         // Address Base
1898                     0x00000000,         // Address Length
1899                     _Y09)
1900                 Memory32Fixed (ReadOnly,
1901                     0x000C8000,         // Address Base
1902                     0x00000000,         // Address Length
1903                     _Y0A)
1904                 Memory32Fixed (ReadOnly,
1905                     0x000CC000,         // Address Base
1906                     0x00000000,         // Address Length
1907                     _Y0B)
1908                 Memory32Fixed (ReadOnly,
1909                     0x000D0000,         // Address Base
1910                     0x00000000,         // Address Length
1911                     _Y0C)
1912                 Memory32Fixed (ReadOnly,
1913                     0x000D4000,         // Address Base
1914                     0x00000000,         // Address Length
1915                     _Y0D)
1916                 Memory32Fixed (ReadOnly,
1917                     0x000D8000,         // Address Base
1918                     0x00000000,         // Address Length
1919                     _Y0E)
1920                 Memory32Fixed (ReadOnly,
1921                     0x000DC000,         // Address Base
1922                     0x00000000,         // Address Length
1923                     _Y0F)
1924                 Memory32Fixed (ReadOnly,
1925                     0x000E0000,         // Address Base
1926                     0x00000000,         // Address Length
1927                     _Y10)
1928                 Memory32Fixed (ReadOnly,
1929                     0x000E4000,         // Address Base
1930                     0x00000000,         // Address Length
1931                     _Y11)
1932                 Memory32Fixed (ReadOnly,
1933                     0x000E8000,         // Address Base
1934                     0x00000000,         // Address Length
1935                     _Y12)
1936                 Memory32Fixed (ReadOnly,
1937                     0x000EC000,         // Address Base
1938                     0x00000000,         // Address Length
1939                     _Y13)
1940                 Memory32Fixed (ReadOnly,
1941                     0x000F0000,         // Address Base
1942                     0x00010000,         // Address Length
1943                     )
1944                 Memory32Fixed (ReadWrite,
1945                     0x00100000,         // Address Base
1946                     0x01EE0000,         // Address Length
1947                     _Y14)
1948                 Memory32Fixed (ReadOnly,
1949                     0xFEC00000,         // Address Base
1950                     0x00140000,         // Address Length
1951                     _Y15)
1952                 Memory32Fixed (ReadOnly,
1953                     0xFED4C000,         // Address Base
1954                     0x012B4000,         // Address Length
1955                     _Y16)
1956             })
1957             CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L)  // _LEN: Length
1958             CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L)  // _LEN: Length
1959             CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L)  // _LEN: Length
1960             CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL)  // _LEN: Length
1961             CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L)  // _LEN: Length
1962             CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L)  // _LEN: Length
1963             CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L)  // _LEN: Length
1964             CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL)  // _LEN: Length
1965             CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L)  // _LEN: Length
1966             CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L)  // _LEN: Length
1967             CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L)  // _LEN: Length
1968             CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL)  // _LEN: Length
1969             CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W)  // _RW_: Read-Write Status
1970             CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W)  // _RW_: Read-Write Status
1971             CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W)  // _RW_: Read-Write Status
1972             CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW)  // _RW_: Read-Write Status
1973             CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W)  // _RW_: Read-Write Status
1974             CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W)  // _RW_: Read-Write Status
1975             CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W)  // _RW_: Read-Write Status
1976             CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW)  // _RW_: Read-Write Status
1977             CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W)  // _RW_: Read-Write Status
1978             CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W)  // _RW_: Read-Write Status
1979             CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W)  // _RW_: Read-Write Status
1980             CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW)  // _RW_: Read-Write Status
1981             CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1)  // _BAS: Base Address
1982             CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1)  // _LEN: Length
1983             CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2)  // _LEN: Length
1984             CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3)  // _LEN: Length
1985             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1986             {
1987                 Local0 = (\_SB.PCI0.PAM1 & 0x03)
1988                 If (Local0)
1989                 {
1990                     MC0L = 0x4000
1991                     If ((Local0 & 0x02))
1992                     {
1993                         MC0W = 0x01
1994                     }
1995                 }
1996 
1997                 Local0 = (\_SB.PCI0.PAM1 & 0x30)
1998                 If (Local0)
1999                 {
2000                     MC4L = 0x4000
2001                     If ((Local0 & 0x20))
2002                     {
2003                         MC4W = 0x01
2004                     }
2005                 }
2006 
2007                 Local0 = (\_SB.PCI0.PAM2 & 0x03)
2008                 If (Local0)
2009                 {
2010                     MC8L = 0x4000
2011                     If ((Local0 & 0x02))
2012                     {
2013                         MC8W = 0x01
2014                     }
2015                 }
2016 
2017                 Local0 = (\_SB.PCI0.PAM2 & 0x30)
2018                 If (Local0)
2019                 {
2020                     MCCL = 0x4000
2021                     If ((Local0 & 0x20))
2022                     {
2023                         MCCW = 0x01
2024                     }
2025                 }
2026 
2027                 Local0 = (\_SB.PCI0.PAM3 & 0x03)
2028                 If (Local0)
2029                 {
2030                     MD0L = 0x4000
2031                     If ((Local0 & 0x02))
2032                     {
2033                         MD0W = 0x01
2034                     }
2035                 }
2036 
2037                 Local0 = (\_SB.PCI0.PAM3 & 0x30)
2038                 If (Local0)
2039                 {
2040                     MD4L = 0x4000
2041                     If ((Local0 & 0x20))
2042                     {
2043                         MD4W = 0x01
2044                     }
2045                 }
2046 
2047                 Local0 = (\_SB.PCI0.PAM4 & 0x03)
2048                 If (Local0)
2049                 {
2050                     MD8L = 0x4000
2051                     If ((Local0 & 0x02))
2052                     {
2053                         MD8W = 0x01
2054                     }
2055                 }
2056 
2057                 Local0 = (\_SB.PCI0.PAM4 & 0x30)
2058                 If (Local0)
2059                 {
2060                     MDCL = 0x4000
2061                     If ((Local0 & 0x20))
2062                     {
2063                         MDCW = 0x01
2064                     }
2065                 }
2066 
2067                 Local0 = (\_SB.PCI0.PAM5 & 0x03)
2068                 If (Local0)
2069                 {
2070                     ME0L = 0x4000
2071                     If ((Local0 & 0x02))
2072                     {
2073                         ME0W = 0x01
2074                     }
2075                 }
2076 
2077                 Local0 = (\_SB.PCI0.PAM5 & 0x30)
2078                 If (Local0)
2079                 {
2080                     ME4L = 0x4000
2081                     If ((Local0 & 0x20))
2082                     {
2083                         ME4W = 0x01
2084                     }
2085                 }
2086 
2087                 Local0 = (\_SB.PCI0.PAM6 & 0x03)
2088                 If (Local0)
2089                 {
2090                     ME8L = 0x4000
2091                     If ((Local0 & 0x02))
2092                     {
2093                         ME8W = 0x01
2094                     }
2095                 }
2096 
2097                 Local0 = (\_SB.PCI0.PAM6 & 0x30)
2098                 If (Local0)
2099                 {
2100                     MECL = 0x4000
2101                     If ((Local0 & 0x20))
2102                     {
2103                         MECW = 0x01
2104                     }
2105                 }
2106 
2107                 MEL1 = (\MEMX - MEB1) /* \_SB_.MEM_.MEB1 */
2108                 If (!CondRefOf (\_SB.PCI0.LPC.TPM))
2109                 {
2110                     MEL2 = 0x01400000
2111                     MEL3 = 0x00
2112                 }
2113                 Else
2114                 {
2115                     If ((\_SB.PCI0.LPC.TPM._STA () != 0x0F))
2116                     {
2117                         MEL2 = 0x01400000
2118                         MEL3 = 0x00
2119                     }
2120                 }
2121 
2122                 Return (MEMS) /* \_SB_.MEM_.MEMS */
2123             }
2124         }
2125 
2126         Device (LID)
2127         {
2128             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
2129             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
2130             {
2131                 If (((\ILNF == 0x00) && (\PLUX == 0x00)))
2132                 {
2133                     If (\H8DR)
2134                     {
2135                         Return (\_SB.PCI0.LPC.EC.HPLD)
2136                     }
2137                     Else
2138                     {
2139                         If ((\RBEC (0x46) & 0x04))
2140                         {
2141                             Return (0x01)
2142                         }
2143                         Else
2144                         {
2145                             Return (0x00)
2146                         }
2147                     }
2148                 }
2149                 Else
2150                 {
2151                     Return (0x01)
2152                 }
2153             }
2154 
2155             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
2156             {
2157                 If (\LWCP)
2158                 {
2159                     Return (Package (0x02)
2160                     {
2161                         0x0D, 
2162                         0x04
2163                     })
2164                 }
2165                 Else
2166                 {
2167                     Return (Package (0x02)
2168                     {
2169                         0x0D, 
2170                         0x03
2171                     })
2172                 }
2173             }
2174 
2175             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
2176             {
2177                 If (\H8DR)
2178                 {
2179                     If (Arg0)
2180                     {
2181                         \_SB.PCI0.LPC.EC.HWLO = 0x01
2182                     }
2183                     Else
2184                     {
2185                         \_SB.PCI0.LPC.EC.HWLO = 0x00
2186                     }
2187                 }
2188                 Else
2189                 {
2190                     If (Arg0)
2191                     {
2192                         \MBEC (0x32, 0xFF, 0x04)
2193                     }
2194                     Else
2195                     {
2196                         \MBEC (0x32, 0xFB, 0x00)
2197                     }
2198                 }
2199 
2200                 If (\LWCP)
2201                 {
2202                     If (Arg0)
2203                     {
2204                         \LWEN = 0x01
2205                     }
2206                     Else
2207                     {
2208                         \LWEN = 0x00
2209                     }
2210                 }
2211             }
2212         }
2213 
2214         Device (SLPB)
2215         {
2216             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
2217             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
2218             {
2219                 Return (Package (0x02)
2220                 {
2221                     0x0D, 
2222                     0x03
2223                 })
2224             }
2225 
2226             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
2227             {
2228                 If (\H8DR)
2229                 {
2230                     If (Arg0)
2231                     {
2232                         \_SB.PCI0.LPC.EC.HWFN = 0x01
2233                     }
2234                     Else
2235                     {
2236                         \_SB.PCI0.LPC.EC.HWFN = 0x00
2237                     }
2238                 }
2239                 Else
2240                 {
2241                     If (Arg0)
2242                     {
2243                         \MBEC (0x32, 0xFF, 0x10)
2244                     }
2245                     Else
2246                     {
2247                         \MBEC (0x32, 0xEF, 0x00)
2248                     }
2249                 }
2250             }
2251         }
2252 
2253         Scope (\)
2254         {
2255             Name (UPC0, Package (0x04)
2256             {
2257                 0xFF, 
2258                 0x00, 
2259                 0x00, 
2260                 0x00
2261             })
2262             Name (PLD0, Buffer (0x10)
2263             {
2264                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2265                 /* 0008 */  0x99, 0x11, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00   /* ........ */
2266             })
2267             Name (UPC1, Package (0x04)
2268             {
2269                 0xFF, 
2270                 0x00, 
2271                 0x00, 
2272                 0x00
2273             })
2274             Name (PLD1, Buffer (0x10)
2275             {
2276                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2277                 /* 0008 */  0x99, 0x11, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00   /* ........ */
2278             })
2279             Name (UPC2, Package (0x04)
2280             {
2281                 0xFF, 
2282                 0x00, 
2283                 0x00, 
2284                 0x00
2285             })
2286             Name (PLD2, Buffer (0x10)
2287             {
2288                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2289                 /* 0008 */  0x91, 0x12, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00   /* ........ */
2290             })
2291             Name (UPC3, Package (0x04)
2292             {
2293                 0x00, 
2294                 0x02, 
2295                 0x00, 
2296                 0x00
2297             })
2298             Name (PLD3, Buffer (0x10)
2299             {
2300                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2301                 /* 0008 */  0x48, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* H....... */
2302             })
2303             Name (UPCI, Package (0x04)
2304             {
2305                 0x00, 
2306                 0xFF, 
2307                 0x00, 
2308                 0x00
2309             })
2310             Name (PLDI, Buffer (0x10)
2311             {
2312                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2313                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
2314             })
2315             Name (PLDC, Buffer (0x14)
2316             {
2317                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2318                 /* 0008 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $....... */
2319                 /* 0010 */  0xDD, 0x00, 0x95, 0x00                           /* .... */
2320             })
2321         }
2322 
2323         Device (PCI0)
2324         {
2325             Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
2326             Name (_ADR, 0x00)  // _ADR: Address
2327             Name (RID, 0x00)
2328             Name (_S3D, 0x02)  // _S3D: S3 Device State
2329             Name (LRRT, Package (0x17)
2330             {
2331                 Package (0x04)
2332                 {
2333                     0x0001FFFF, 
2334                     0x00, 
2335                     \_SB.LNKA, 
2336                     0x00
2337                 }, 
2338 
2339                 Package (0x04)
2340                 {
2341                     0x0002FFFF, 
2342                     0x00, 
2343                     \_SB.LNKA, 
2344                     0x00
2345                 }, 
2346 
2347                 Package (0x04)
2348                 {
2349                     0x0003FFFF, 
2350                     0x00, 
2351                     \_SB.LNKA, 
2352                     0x00
2353                 }, 
2354 
2355                 Package (0x04)
2356                 {
2357                     0x0014FFFF, 
2358                     0x00, 
2359                     \_SB.LNKA, 
2360                     0x00
2361                 }, 
2362 
2363                 Package (0x04)
2364                 {
2365                     0x0016FFFF, 
2366                     0x00, 
2367                     \_SB.LNKA, 
2368                     0x00
2369                 }, 
2370 
2371                 Package (0x04)
2372                 {
2373                     0x0016FFFF, 
2374                     0x01, 
2375                     \_SB.LNKB, 
2376                     0x00
2377                 }, 
2378 
2379                 Package (0x04)
2380                 {
2381                     0x0016FFFF, 
2382                     0x02, 
2383                     \_SB.LNKC, 
2384                     0x00
2385                 }, 
2386 
2387                 Package (0x04)
2388                 {
2389                     0x0016FFFF, 
2390                     0x03, 
2391                     \_SB.LNKD, 
2392                     0x00
2393                 }, 
2394 
2395                 Package (0x04)
2396                 {
2397                     0x0019FFFF, 
2398                     0x00, 
2399                     \_SB.LNKE, 
2400                     0x00
2401                 }, 
2402 
2403                 Package (0x04)
2404                 {
2405                     0x001AFFFF, 
2406                     0x00, 
2407                     \_SB.LNKA, 
2408                     0x00
2409                 }, 
2410 
2411                 Package (0x04)
2412                 {
2413                     0x001BFFFF, 
2414                     0x00, 
2415                     \_SB.LNKG, 
2416                     0x00
2417                 }, 
2418 
2419                 Package (0x04)
2420                 {
2421                     0x001CFFFF, 
2422                     0x00, 
2423                     \_SB.LNKA, 
2424                     0x00
2425                 }, 
2426 
2427                 Package (0x04)
2428                 {
2429                     0x001CFFFF, 
2430                     0x01, 
2431                     \_SB.LNKB, 
2432                     0x00
2433                 }, 
2434 
2435                 Package (0x04)
2436                 {
2437                     0x001CFFFF, 
2438                     0x02, 
2439                     \_SB.LNKC, 
2440                     0x00
2441                 }, 
2442 
2443                 Package (0x04)
2444                 {
2445                     0x001CFFFF, 
2446                     0x03, 
2447                     \_SB.LNKD, 
2448                     0x00
2449                 }, 
2450 
2451                 Package (0x04)
2452                 {
2453                     0x001DFFFF, 
2454                     0x00, 
2455                     \_SB.LNKH, 
2456                     0x00
2457                 }, 
2458 
2459                 Package (0x04)
2460                 {
2461                     0x001DFFFF, 
2462                     0x01, 
2463                     \_SB.LNKD, 
2464                     0x00
2465                 }, 
2466 
2467                 Package (0x04)
2468                 {
2469                     0x001DFFFF, 
2470                     0x02, 
2471                     \_SB.LNKA, 
2472                     0x00
2473                 }, 
2474 
2475                 Package (0x04)
2476                 {
2477                     0x001DFFFF, 
2478                     0x03, 
2479                     \_SB.LNKC, 
2480                     0x00
2481                 }, 
2482 
2483                 Package (0x04)
2484                 {
2485                     0x001FFFFF, 
2486                     0x00, 
2487                     \_SB.LNKA, 
2488                     0x00
2489                 }, 
2490 
2491                 Package (0x04)
2492                 {
2493                     0x001FFFFF, 
2494                     0x01, 
2495                     \_SB.LNKD, 
2496                     0x00
2497                 }, 
2498 
2499                 Package (0x04)
2500                 {
2501                     0x001FFFFF, 
2502                     0x02, 
2503                     \_SB.LNKC, 
2504                     0x00
2505                 }, 
2506 
2507                 Package (0x04)
2508                 {
2509                     0x001FFFFF, 
2510                     0x03, 
2511                     \_SB.LNKA, 
2512                     0x00
2513                 }
2514             })
2515             Name (ARRT, Package (0x17)
2516             {
2517                 Package (0x04)
2518                 {
2519                     0x0001FFFF, 
2520                     0x00, 
2521                     0x00, 
2522                     0x10
2523                 }, 
2524 
2525                 Package (0x04)
2526                 {
2527                     0x0002FFFF, 
2528                     0x00, 
2529                     0x00, 
2530                     0x10
2531                 }, 
2532 
2533                 Package (0x04)
2534                 {
2535                     0x0003FFFF, 
2536                     0x00, 
2537                     0x00, 
2538                     0x10
2539                 }, 
2540 
2541                 Package (0x04)
2542                 {
2543                     0x0014FFFF, 
2544                     0x00, 
2545                     0x00, 
2546                     0x10
2547                 }, 
2548 
2549                 Package (0x04)
2550                 {
2551                     0x0016FFFF, 
2552                     0x00, 
2553                     0x00, 
2554                     0x10
2555                 }, 
2556 
2557                 Package (0x04)
2558                 {
2559                     0x0016FFFF, 
2560                     0x01, 
2561                     0x00, 
2562                     0x11
2563                 }, 
2564 
2565                 Package (0x04)
2566                 {
2567                     0x0016FFFF, 
2568                     0x02, 
2569                     0x00, 
2570                     0x12
2571                 }, 
2572 
2573                 Package (0x04)
2574                 {
2575                     0x0016FFFF, 
2576                     0x03, 
2577                     0x00, 
2578                     0x13
2579                 }, 
2580 
2581                 Package (0x04)
2582                 {
2583                     0x0019FFFF, 
2584                     0x00, 
2585                     0x00, 
2586                     0x14
2587                 }, 
2588 
2589                 Package (0x04)
2590                 {
2591                     0x001AFFFF, 
2592                     0x00, 
2593                     0x00, 
2594                     0x10
2595                 }, 
2596 
2597                 Package (0x04)
2598                 {
2599                     0x001BFFFF, 
2600                     0x00, 
2601                     0x00, 
2602                     0x16
2603                 }, 
2604 
2605                 Package (0x04)
2606                 {
2607                     0x001CFFFF, 
2608                     0x00, 
2609                     0x00, 
2610                     0x10
2611                 }, 
2612 
2613                 Package (0x04)
2614                 {
2615                     0x001CFFFF, 
2616                     0x01, 
2617                     0x00, 
2618                     0x11
2619                 }, 
2620 
2621                 Package (0x04)
2622                 {
2623                     0x001CFFFF, 
2624                     0x02, 
2625                     0x00, 
2626                     0x12
2627                 }, 
2628 
2629                 Package (0x04)
2630                 {
2631                     0x001CFFFF, 
2632                     0x03, 
2633                     0x00, 
2634                     0x13
2635                 }, 
2636 
2637                 Package (0x04)
2638                 {
2639                     0x001DFFFF, 
2640                     0x00, 
2641                     0x00, 
2642                     0x17
2643                 }, 
2644 
2645                 Package (0x04)
2646                 {
2647                     0x001DFFFF, 
2648                     0x01, 
2649                     0x00, 
2650                     0x13
2651                 }, 
2652 
2653                 Package (0x04)
2654                 {
2655                     0x001DFFFF, 
2656                     0x02, 
2657                     0x00, 
2658                     0x10
2659                 }, 
2660 
2661                 Package (0x04)
2662                 {
2663                     0x001DFFFF, 
2664                     0x03, 
2665                     0x00, 
2666                     0x12
2667                 }, 
2668 
2669                 Package (0x04)
2670                 {
2671                     0x001FFFFF, 
2672                     0x00, 
2673                     0x00, 
2674                     0x10
2675                 }, 
2676 
2677                 Package (0x04)
2678                 {
2679                     0x001FFFFF, 
2680                     0x01, 
2681                     0x00, 
2682                     0x13
2683                 }, 
2684 
2685                 Package (0x04)
2686                 {
2687                     0x001FFFFF, 
2688                     0x02, 
2689                     0x00, 
2690                     0x12
2691                 }, 
2692 
2693                 Package (0x04)
2694                 {
2695                     0x001FFFFF, 
2696                     0x03, 
2697                     0x00, 
2698                     0x10
2699                 }
2700             })
2701             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2702             {
2703                 If (\GPIC)
2704                 {
2705                     Return (ARRT) /* \_SB_.PCI0.ARRT */
2706                 }
2707                 Else
2708                 {
2709                     Return (LRRT) /* \_SB_.PCI0.LRRT */
2710                 }
2711             }
2712 
2713             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
2714             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
2715             OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
2716             Field (HBUS, DWordAcc, NoLock, Preserve)
2717             {
2718                 Offset (0x63), 
2719                     ,   2, 
2720                 PXBR,   6
2721             }
2722 
2723             OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2724             Field (MHCS, DWordAcc, NoLock, Preserve)
2725             {
2726                 Offset (0x40), 
2727                 PAM0,   8, 
2728                 PAM1,   8, 
2729                 PAM2,   8, 
2730                 PAM3,   8, 
2731                 PAM4,   8, 
2732                 PAM5,   8, 
2733                 PAM6,   8, 
2734                 Offset (0x7C), 
2735                     ,   20, 
2736                 TLUD,   12
2737             }
2738 
2739             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2740             {
2741                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2742                     0x0000,             // Granularity
2743                     0x0000,             // Range Minimum
2744                     0x00FF,             // Range Maximum
2745                     0x0000,             // Translation Offset
2746                     0x0100,             // Length
2747                     ,, _Y25)
2748                 IO (Decode16,
2749                     0x0CF8,             // Range Minimum
2750                     0x0CF8,             // Range Maximum
2751                     0x01,               // Alignment
2752                     0x08,               // Length
2753                     )
2754                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2755                     0x0000,             // Granularity
2756                     0x0000,             // Range Minimum
2757                     0x0CF7,             // Range Maximum
2758                     0x0000,             // Translation Offset
2759                     0x0CF8,             // Length
2760                     ,, , TypeStatic)
2761                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2762                     0x0000,             // Granularity
2763                     0x0D00,             // Range Minimum
2764                     0xFFFF,             // Range Maximum
2765                     0x0000,             // Translation Offset
2766                     0xF300,             // Length
2767                     ,, , TypeStatic)
2768                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2769                     0x00000000,         // Granularity
2770                     0x000A0000,         // Range Minimum
2771                     0x000BFFFF,         // Range Maximum
2772                     0x00000000,         // Translation Offset
2773                     0x00020000,         // Length
2774                     ,, , AddressRangeMemory, TypeStatic)
2775                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2776                     0x00000000,         // Granularity
2777                     0x000C0000,         // Range Minimum
2778                     0x000C3FFF,         // Range Maximum
2779                     0x00000000,         // Translation Offset
2780                     0x00004000,         // Length
2781                     ,, _Y17, AddressRangeMemory, TypeStatic)
2782                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2783                     0x00000000,         // Granularity
2784                     0x000C4000,         // Range Minimum
2785                     0x000C7FFF,         // Range Maximum
2786                     0x00000000,         // Translation Offset
2787                     0x00004000,         // Length
2788                     ,, _Y18, AddressRangeMemory, TypeStatic)
2789                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2790                     0x00000000,         // Granularity
2791                     0x000C8000,         // Range Minimum
2792                     0x000CBFFF,         // Range Maximum
2793                     0x00000000,         // Translation Offset
2794                     0x00004000,         // Length
2795                     ,, _Y19, AddressRangeMemory, TypeStatic)
2796                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2797                     0x00000000,         // Granularity
2798                     0x000CC000,         // Range Minimum
2799                     0x000CFFFF,         // Range Maximum
2800                     0x00000000,         // Translation Offset
2801                     0x00004000,         // Length
2802                     ,, _Y1A, AddressRangeMemory, TypeStatic)
2803                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2804                     0x00000000,         // Granularity
2805                     0x000D0000,         // Range Minimum
2806                     0x000D3FFF,         // Range Maximum
2807                     0x00000000,         // Translation Offset
2808                     0x00004000,         // Length
2809                     ,, _Y1B, AddressRangeMemory, TypeStatic)
2810                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2811                     0x00000000,         // Granularity
2812                     0x000D4000,         // Range Minimum
2813                     0x000D7FFF,         // Range Maximum
2814                     0x00000000,         // Translation Offset
2815                     0x00004000,         // Length
2816                     ,, _Y1C, AddressRangeMemory, TypeStatic)
2817                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2818                     0x00000000,         // Granularity
2819                     0x000D8000,         // Range Minimum
2820                     0x000DBFFF,         // Range Maximum
2821                     0x00000000,         // Translation Offset
2822                     0x00004000,         // Length
2823                     ,, _Y1D, AddressRangeMemory, TypeStatic)
2824                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2825                     0x00000000,         // Granularity
2826                     0x000DC000,         // Range Minimum
2827                     0x000DFFFF,         // Range Maximum
2828                     0x00000000,         // Translation Offset
2829                     0x00004000,         // Length
2830                     ,, _Y1E, AddressRangeMemory, TypeStatic)
2831                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2832                     0x00000000,         // Granularity
2833                     0x000E0000,         // Range Minimum
2834                     0x000E3FFF,         // Range Maximum
2835                     0x00000000,         // Translation Offset
2836                     0x00004000,         // Length
2837                     ,, _Y1F, AddressRangeMemory, TypeStatic)
2838                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2839                     0x00000000,         // Granularity
2840                     0x000E4000,         // Range Minimum
2841                     0x000E7FFF,         // Range Maximum
2842                     0x00000000,         // Translation Offset
2843                     0x00004000,         // Length
2844                     ,, _Y20, AddressRangeMemory, TypeStatic)
2845                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2846                     0x00000000,         // Granularity
2847                     0x000E8000,         // Range Minimum
2848                     0x000EBFFF,         // Range Maximum
2849                     0x00000000,         // Translation Offset
2850                     0x00004000,         // Length
2851                     ,, _Y21, AddressRangeMemory, TypeStatic)
2852                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2853                     0x00000000,         // Granularity
2854                     0x000EC000,         // Range Minimum
2855                     0x000EFFFF,         // Range Maximum
2856                     0x00000000,         // Translation Offset
2857                     0x00004000,         // Length
2858                     ,, _Y22, AddressRangeMemory, TypeStatic)
2859                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2860                     0x00000000,         // Granularity
2861                     0x00100000,         // Range Minimum
2862                     0xFEBFFFFF,         // Range Maximum
2863                     0x00000000,         // Translation Offset
2864                     0xFEB00000,         // Length
2865                     ,, _Y23, AddressRangeMemory, TypeStatic)
2866                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2867                     0x00000000,         // Granularity
2868                     0xFED40000,         // Range Minimum
2869                     0xFED4BFFF,         // Range Maximum
2870                     0x00000000,         // Translation Offset
2871                     0x0000C000,         // Length
2872                     ,, _Y24, AddressRangeMemory, TypeStatic)
2873             })
2874             CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN)  // _LEN: Length
2875             CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN)  // _LEN: Length
2876             CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN)  // _LEN: Length
2877             CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN)  // _LEN: Length
2878             CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN)  // _LEN: Length
2879             CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN)  // _LEN: Length
2880             CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN)  // _LEN: Length
2881             CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN)  // _LEN: Length
2882             CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN)  // _LEN: Length
2883             CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN)  // _LEN: Length
2884             CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN)  // _LEN: Length
2885             CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN)  // _LEN: Length
2886             CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN)  // _MIN: Minimum Base Address
2887             CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX)  // _MAX: Maximum Base Address
2888             CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN)  // _LEN: Length
2889             CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN)  // _MIN: Minimum Base Address
2890             CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX)  // _MAX: Maximum Base Address
2891             CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN)  // _LEN: Length
2892             CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX)  // _MAX: Maximum Base Address
2893             CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN)  // _LEN: Length
2894             Method (_INI, 0, Serialized)  // _INI: Initialize
2895             {
2896                 B0MX = 0x3F
2897                 B0LN = (0x3F + 0x01)
2898                 If (!\OSIF)
2899                 {
2900                     \_SB._INI ()
2901                 }
2902 
2903                 Local0 = (TLUD << 0x14)
2904                 \MEMX = Local0
2905                 XXMN = Local0
2906                 XXLN = ((XXMX - XXMN) + 0x01)
2907                 If ((\TPMP == 0x00))
2908                 {
2909                     F4LN = 0x00
2910                 }
2911 
2912                 If ((PAM1 & 0x03))
2913                 {
2914                     C0LN = 0x00
2915                 }
2916 
2917                 If ((PAM1 & 0x30))
2918                 {
2919                     C4LN = 0x00
2920                 }
2921 
2922                 If ((PAM2 & 0x03))
2923                 {
2924                     C8LN = 0x00
2925                 }
2926 
2927                 If ((PAM2 & 0x30))
2928                 {
2929                     CCLN = 0x00
2930                 }
2931 
2932                 If ((PAM3 & 0x03))
2933                 {
2934                     D0LN = 0x00
2935                 }
2936 
2937                 If ((PAM3 & 0x30))
2938                 {
2939                     D4LN = 0x00
2940                 }
2941 
2942                 If ((PAM4 & 0x03))
2943                 {
2944                     D8LN = 0x00
2945                 }
2946 
2947                 If ((PAM4 & 0x30))
2948                 {
2949                     DCLN = 0x00
2950                 }
2951 
2952                 If ((PAM5 & 0x03))
2953                 {
2954                     E0LN = 0x00
2955                 }
2956 
2957                 If ((PAM5 & 0x30))
2958                 {
2959                     E4LN = 0x00
2960                 }
2961 
2962                 If ((PAM6 & 0x03))
2963                 {
2964                     E8LN = 0x00
2965                 }
2966 
2967                 If ((PAM6 & 0x30))
2968                 {
2969                     ECLN = 0x00
2970                 }
2971             }
2972 
2973             Name (SUPP, 0x00)
2974             Name (CTRL, 0x00)
2975             Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
2976             {
2977                 CreateDWordField (Arg3, 0x00, CDW1)
2978                 CreateDWordField (Arg3, 0x04, CDW2)
2979                 CreateDWordField (Arg3, 0x08, CDW3)
2980                 If (\_SB.PCI0.XHCI.CUID (Arg0))
2981                 {
2982                     Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2983                 }
2984 
2985                 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2986                 {
2987                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2988                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2989                     CTRL &= 0x0D
2990                     If (!(CDW1 & 0x01))
2991                     {
2992                         If ((CTRL & 0x01))
2993                         {
2994                             If (!\VIGD)
2995                             {
2996                                 \_SB.PCI0.PEG.HPGP = 0x00
2997                                 \_SB.PCI0.PEG.GMGP = 0x00
2998                             }
2999 
3000                             \NHPS = 0x01
3001                         }
3002 
3003                         If ((CTRL & 0x04))
3004                         {
3005                             If (!\VIGD)
3006                             {
3007                                 \_SB.PCI0.PEG.PMGP = 0x00
3008                                 \_SB.PCI0.PEG.GMGP = 0x00
3009                             }
3010 
3011                             If (\_SB.PCI0.EXP1.PMEX)
3012                             {
3013                                 \_SB.PCI0.EXP1.PMEX = 0x00
3014                                 \_SB.PCI0.EXP1.PMSX = 0x01
3015                             }
3016 
3017                             If (\_SB.PCI0.EXP2.PMEX)
3018                             {
3019                                 \_SB.PCI0.EXP2.PMEX = 0x00
3020                                 \_SB.PCI0.EXP2.PMSX = 0x01
3021                             }
3022 
3023                             If (\_SB.PCI0.EXP3.PMEX)
3024                             {
3025                                 \_SB.PCI0.EXP3.PMEX = 0x00
3026                                 \_SB.PCI0.EXP3.PMSX = 0x01
3027                             }
3028 
3029                             \_SB.PCI0.LPC.EXPE = 0x00
3030                             \NPME = 0x01
3031                         }
3032                     }
3033 
3034                     If ((Arg1 != 0x01))
3035                     {
3036                         CDW1 |= 0x0A
3037                     }
3038 
3039                     If ((CDW3 != CTRL))
3040                     {
3041                         CDW1 |= 0x10
3042                     }
3043 
3044                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
3045                 }
3046                 Else
3047                 {
3048                     CDW1 |= 0x06
3049                 }
3050 
3051                 Return (Arg3)
3052             }
3053 
3054             Mutex (MDGS, 0x07)
3055             Name (VDEE, 0x01)
3056             Name (VDDA, Buffer (0x02) {})
3057             CreateBitField (VDDA, 0x00, VUPC)
3058             CreateBitField (VDDA, 0x01, VQDL)
3059             CreateBitField (VDDA, 0x02, VQDC)
3060             CreateBitField (VDDA, 0x03, VQD0)
3061             CreateBitField (VDDA, 0x04, VQD1)
3062             CreateBitField (VDDA, 0x05, VQD2)
3063             CreateBitField (VDDA, 0x06, VSDL)
3064             CreateBitField (VDDA, 0x07, VSDC)
3065             CreateBitField (VDDA, 0x08, VSD0)
3066             CreateBitField (VDDA, 0x09, VSD1)
3067             CreateBitField (VDDA, 0x0A, VSD2)
3068             CreateBitField (VDDA, 0x0B, VSD3)
3069             CreateBitField (VDDA, 0x0C, VSD4)
3070             CreateBitField (VDDA, 0x0D, VSD5)
3071             CreateBitField (VDDA, 0x0E, MSWT)
3072             Device (VID)
3073             {
3074                 Name (_ADR, 0x00020000)  // _ADR: Address
3075                 Name (RID, 0x00)
3076                 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
3077                 Field (VPCG, DWordAcc, NoLock, Preserve)
3078                 {
3079                     Offset (0x2C), 
3080                     VSID,   32, 
3081                     Offset (0xD4), 
3082                     VPWR,   8
3083                 }
3084 
3085                 Name (MIDL, 0x0400)
3086                 Name (MIDC, 0x0100)
3087                 Name (MID0, 0x0300)
3088                 Name (MID1, 0x0301)
3089                 Name (MID2, 0x0302)
3090                 Name (MID3, 0x0303)
3091                 Name (MID4, 0x0304)
3092                 Name (MID5, 0x0305)
3093                 Name (_S3D, 0x03)  // _S3D: S3 Device State
3094                 Method (VRSI, 0, NotSerialized)
3095                 {
3096                     If ((OSYS >= 0x07DD))
3097                     {
3098                         VMSH = 0x01
3099                     }
3100                     Else
3101                     {
3102                         VMSH = 0x00
3103                     }
3104                 }
3105 
3106                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
3107                 {
3108                     VRSI ()
3109                     CLID = \_SB.LID._LID ()
3110                 }
3111 
3112                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
3113                 {
3114                     Noop
3115                 }
3116 
3117                 Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
3118                 {
3119                     Noop
3120                 }
3121 
3122                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
3123                 {
3124                     Noop
3125                 }
3126 
3127                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
3128                 {
3129                     Noop
3130                 }
3131 
3132                 Method (VSWT, 0, NotSerialized)
3133                 {
3134                     GHDS (0x00)
3135                 }
3136 
3137                 Method (VLOC, 1, NotSerialized)
3138                 {
3139                     If ((Arg0 == \_SB.LID._LID ()))
3140                     {
3141                         \VSLD (Arg0)
3142                         If ((VPWR == 0x00))
3143                         {
3144                             CLID = Arg0
3145                             GNOT (0x02, 0x00)
3146                         }
3147                     }
3148                 }
3149 
3150                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
3151                 {
3152                     Arg0 &= 0x03
3153                     If ((Arg0 == 0x02))
3154                     {
3155                         Local0 = 0x14
3156                         While (Local0)
3157                         {
3158                             Local0--
3159                             Acquire (MDGS, 0xFFFF)
3160                             If ((0x00 == MSWT))
3161                             {
3162                                 MSWT = 0x01
3163                                 Local0 = 0x00
3164                                 VDEE = Arg0
3165                             }
3166 
3167                             Release (MDGS)
3168                             Sleep (0xC8)
3169                         }
3170                     }
3171                     Else
3172                     {
3173                         Acquire (MDGS, 0xFFFF)
3174                         If ((VDEE == 0x02))
3175                         {
3176                             MSWT = 0x00
3177                         }
3178 
3179                         If ((Arg0 > 0x02))
3180                         {
3181                             VDEE = 0x01
3182                         }
3183                         Else
3184                         {
3185                             VDEE = Arg0
3186                         }
3187 
3188                         Release (MDGS)
3189                     }
3190                 }
3191 
3192                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
3193                 {
3194                     NDID = 0x00
3195                     If ((DIDL != 0x00))
3196                     {
3197                         NDID++
3198                     }
3199 
3200                     If ((DDL2 != 0x00))
3201                     {
3202                         NDID++
3203                     }
3204 
3205                     If ((DDL3 != 0x00))
3206                     {
3207                         NDID++
3208                     }
3209 
3210                     If ((DDL4 != 0x00))
3211                     {
3212                         NDID++
3213                     }
3214 
3215                     If ((DDL5 != 0x00))
3216                     {
3217                         NDID++
3218                     }
3219 
3220                     If ((DDL6 != 0x00))
3221                     {
3222                         NDID++
3223                     }
3224 
3225                     If ((DDL7 != 0x00))
3226                     {
3227                         NDID++
3228                     }
3229 
3230                     If ((DDL8 != 0x00))
3231                     {
3232                         NDID++
3233                     }
3234 
3235                     If ((NDID == 0x01))
3236                     {
3237                         Name (TMP1, Package (0x01)
3238                         {
3239                             0xFFFFFFFF
3240                         })
3241                         Index (TMP1, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3242                         Return (TMP1) /* \_SB_.PCI0.VID_._DOD.TMP1 */
3243                     }
3244 
3245                     If ((NDID == 0x02))
3246                     {
3247                         Name (TMP2, Package (0x02)
3248                         {
3249                             0xFFFFFFFF, 
3250                             0xFFFFFFFF
3251                         })
3252                         Index (TMP2, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3253                         Index (TMP2, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3254                         Return (TMP2) /* \_SB_.PCI0.VID_._DOD.TMP2 */
3255                     }
3256 
3257                     If ((NDID == 0x03))
3258                     {
3259                         Name (TMP3, Package (0x03)
3260                         {
3261                             0xFFFFFFFF, 
3262                             0xFFFFFFFF, 
3263                             0xFFFFFFFF
3264                         })
3265                         Index (TMP3, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3266                         Index (TMP3, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3267                         Index (TMP3, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3268                         Return (TMP3) /* \_SB_.PCI0.VID_._DOD.TMP3 */
3269                     }
3270 
3271                     If ((NDID == 0x04))
3272                     {
3273                         Name (TMP4, Package (0x04)
3274                         {
3275                             0xFFFFFFFF, 
3276                             0xFFFFFFFF, 
3277                             0xFFFFFFFF, 
3278                             0xFFFFFFFF
3279                         })
3280                         Index (TMP4, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3281                         Index (TMP4, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3282                         Index (TMP4, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3283                         Index (TMP4, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3284                         Return (TMP4) /* \_SB_.PCI0.VID_._DOD.TMP4 */
3285                     }
3286 
3287                     If ((NDID == 0x05))
3288                     {
3289                         Name (TMP5, Package (0x05)
3290                         {
3291                             0xFFFFFFFF, 
3292                             0xFFFFFFFF, 
3293                             0xFFFFFFFF, 
3294                             0xFFFFFFFF, 
3295                             0xFFFFFFFF
3296                         })
3297                         Index (TMP5, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3298                         Index (TMP5, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3299                         Index (TMP5, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3300                         Index (TMP5, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3301                         Index (TMP5, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3302                         Return (TMP5) /* \_SB_.PCI0.VID_._DOD.TMP5 */
3303                     }
3304 
3305                     If ((NDID == 0x06))
3306                     {
3307                         Name (TMP6, Package (0x06)
3308                         {
3309                             0xFFFFFFFF, 
3310                             0xFFFFFFFF, 
3311                             0xFFFFFFFF, 
3312                             0xFFFFFFFF, 
3313                             0xFFFFFFFF, 
3314                             0xFFFFFFFF
3315                         })
3316                         Index (TMP6, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3317                         Index (TMP6, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3318                         Index (TMP6, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3319                         Index (TMP6, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3320                         Index (TMP6, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3321                         Index (TMP6, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3322                         Return (TMP6) /* \_SB_.PCI0.VID_._DOD.TMP6 */
3323                     }
3324 
3325                     If ((NDID == 0x07))
3326                     {
3327                         Name (TMP7, Package (0x07)
3328                         {
3329                             0xFFFFFFFF, 
3330                             0xFFFFFFFF, 
3331                             0xFFFFFFFF, 
3332                             0xFFFFFFFF, 
3333                             0xFFFFFFFF, 
3334                             0xFFFFFFFF, 
3335                             0xFFFFFFFF
3336                         })
3337                         Index (TMP7, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3338                         Index (TMP7, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3339                         Index (TMP7, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3340                         Index (TMP7, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3341                         Index (TMP7, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3342                         Index (TMP7, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3343                         Index (TMP7, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3344                         Return (TMP7) /* \_SB_.PCI0.VID_._DOD.TMP7 */
3345                     }
3346 
3347                     If ((NDID > 0x07))
3348                     {
3349                         Name (TMP8, Package (0x08)
3350                         {
3351                             0xFFFFFFFF, 
3352                             0xFFFFFFFF, 
3353                             0xFFFFFFFF, 
3354                             0xFFFFFFFF, 
3355                             0xFFFFFFFF, 
3356                             0xFFFFFFFF, 
3357                             0xFFFFFFFF, 
3358                             0xFFFFFFFF
3359                         })
3360                         Index (TMP8, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3361                         Index (TMP8, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3362                         Index (TMP8, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3363                         Index (TMP8, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3364                         Index (TMP8, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3365                         Index (TMP8, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3366                         Index (TMP8, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3367                         Index (TMP8, 0x07) = (0x80010000 | (0x0F0F & DDL8))
3368                         Return (TMP8) /* \_SB_.PCI0.VID_._DOD.TMP8 */
3369                     }
3370 
3371                     Return (Package (0x01)
3372                     {
3373                         0x0400
3374                     })
3375                 }
3376 
3377                 Method (VDSW, 1, NotSerialized)
3378                 {
3379                     If ((VPWR == 0x00))
3380                     {
3381                         GDCK (Arg0)
3382                     }
3383                 }
3384 
3385                 Method (VCAD, 1, NotSerialized)
3386                 {
3387                     Local0 = 0x00
3388                     If (((DIDL & 0x0F0F) == Arg0))
3389                     {
3390                         Local0 = 0x0D
3391                     }
3392                     Else
3393                     {
3394                         If (((DDL2 & 0x0F0F) == Arg0))
3395                         {
3396                             Local0 = 0x0D
3397                         }
3398                         Else
3399                         {
3400                             If (((DDL3 & 0x0F0F) == Arg0))
3401                             {
3402                                 Local0 = 0x0D
3403                             }
3404                             Else
3405                             {
3406                                 If (((DDL4 & 0x0F0F) == Arg0))
3407                                 {
3408                                     Local0 = 0x0D
3409                                 }
3410                                 Else
3411                                 {
3412                                     If (((DDL5 & 0x0F0F) == Arg0))
3413                                     {
3414                                         Local0 = 0x0D
3415                                     }
3416                                     Else
3417                                     {
3418                                         If (((DDL6 & 0x0F0F) == Arg0))
3419                                         {
3420                                             Local0 = 0x0D
3421                                         }
3422                                         Else
3423                                         {
3424                                             If (((DDL7 & 0x0F0F) == Arg0))
3425                                             {
3426                                                 Local0 = 0x0D
3427                                             }
3428                                             Else
3429                                             {
3430                                                 If (((DDL8 & 0x0F0F) == Arg0))
3431                                                 {
3432                                                     Local0 = 0x0D
3433                                                 }
3434                                             }
3435                                         }
3436                                     }
3437                                 }
3438                             }
3439                         }
3440                     }
3441 
3442                     If (((CPDL & 0x0F0F) == Arg0))
3443                     {
3444                         Local0 |= 0x10
3445                     }
3446                     Else
3447                     {
3448                         If (((CPL2 & 0x0F0F) == Arg0))
3449                         {
3450                             Local0 |= 0x10
3451                         }
3452                         Else
3453                         {
3454                             If (((CPL3 & 0x0F0F) == Arg0))
3455                             {
3456                                 Local0 |= 0x10
3457                             }
3458                             Else
3459                             {
3460                                 If (((CPL4 & 0x0F0F) == Arg0))
3461                                 {
3462                                     Local0 |= 0x10
3463                                 }
3464                                 Else
3465                                 {
3466                                     If (((CPL5 & 0x0F0F) == Arg0))
3467                                     {
3468                                         Local0 |= 0x10
3469                                     }
3470                                     Else
3471                                     {
3472                                         If (((CPL6 & 0x0F0F) == Arg0))
3473                                         {
3474                                             Local0 |= 0x10
3475                                         }
3476                                         Else
3477                                         {
3478                                             If (((CPL7 & 0x0F0F) == Arg0))
3479                                             {
3480                                                 Local0 |= 0x10
3481                                             }
3482                                             Else
3483                                             {
3484                                                 If (((CPL8 & 0x0F0F) == Arg0))
3485                                                 {
3486                                                     Local0 |= 0x10
3487                                                 }
3488                                             }
3489                                         }
3490                                     }
3491                                 }
3492                             }
3493                         }
3494                     }
3495 
3496                     If (((CADL & 0x0F0F) == Arg0))
3497                     {
3498                         Local0 |= 0x02
3499                     }
3500                     Else
3501                     {
3502                         If (((CAL2 & 0x0F0F) == Arg0))
3503                         {
3504                             Local0 |= 0x02
3505                         }
3506                         Else
3507                         {
3508                             If (((CAL3 & 0x0F0F) == Arg0))
3509                             {
3510                                 Local0 |= 0x02
3511                             }
3512                             Else
3513                             {
3514                                 If (((CAL4 & 0x0F0F) == Arg0))
3515                                 {
3516                                     Local0 |= 0x02
3517                                 }
3518                                 Else
3519                                 {
3520                                     If (((CAL5 & 0x0F0F) == Arg0))
3521                                     {
3522                                         Local0 |= 0x02
3523                                     }
3524                                     Else
3525                                     {
3526                                         If (((CAL6 & 0x0F0F) == Arg0))
3527                                         {
3528                                             Local0 |= 0x02
3529                                         }
3530                                         Else
3531                                         {
3532                                             If (((CAL7 & 0x0F0F) == Arg0))
3533                                             {
3534                                                 Local0 |= 0x02
3535                                             }
3536                                             Else
3537                                             {
3538                                                 If (((CAL8 & 0x0F0F) == Arg0))
3539                                                 {
3540                                                     Local0 |= 0x02
3541                                                 }
3542                                             }
3543                                         }
3544                                     }
3545                                 }
3546                             }
3547                         }
3548                     }
3549 
3550                     Return (Local0)
3551                 }
3552 
3553                 Method (NDDS, 1, NotSerialized)
3554                 {
3555                     If (((NADL & 0x0F0F) == Arg0))
3556                     {
3557                         Return (0x01)
3558                     }
3559                     Else
3560                     {
3561                         If (((NDL2 & 0x0F0F) == Arg0))
3562                         {
3563                             Return (0x01)
3564                         }
3565                         Else
3566                         {
3567                             If (((NDL3 & 0x0F0F) == Arg0))
3568                             {
3569                                 Return (0x01)
3570                             }
3571                             Else
3572                             {
3573                                 If (((NDL4 & 0x0F0F) == Arg0))
3574                                 {
3575                                     Return (0x01)
3576                                 }
3577                                 Else
3578                                 {
3579                                     If (((NDL5 & 0x0F0F) == Arg0))
3580                                     {
3581                                         Return (0x01)
3582                                     }
3583                                     Else
3584                                     {
3585                                         If (((NDL6 & 0x0F0F) == Arg0))
3586                                         {
3587                                             Return (0x01)
3588                                         }
3589                                         Else
3590                                         {
3591                                             If (((NDL7 & 0x0F0F) == Arg0))
3592                                             {
3593                                                 Return (0x01)
3594                                             }
3595                                             Else
3596                                             {
3597                                                 If (((NDL8 & 0x0F0F) == Arg0))
3598                                                 {
3599                                                     Return (0x01)
3600                                                 }
3601                                             }
3602                                         }
3603                                     }
3604                                 }
3605                             }
3606                         }
3607                     }
3608 
3609                     Return (0x00)
3610                 }
3611 
3612                 Device (LCD0)
3613                 {
3614                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3615                     {
3616                         Return (0x0400)
3617                     }
3618 
3619                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3620                     {
3621                         Return (VCAD (MIDL))
3622                     }
3623 
3624                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3625                     {
3626                         Return (NDDS (MIDL))
3627                     }
3628 
3629                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3630                     {
3631                         VSDL = (Arg0 & 0x01)
3632                     }
3633 
3634                     Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
3635                     {
3636                         If ((Arg0 == 0x01))
3637                         {
3638                             Return (\VEDI)
3639                         }
3640                         Else
3641                         {
3642                             If ((Arg0 == 0x02))
3643                             {
3644                                 Return (\VEDI)
3645                             }
3646                         }
3647 
3648                         Return (0x00)
3649                     }
3650                 }
3651 
3652                 Device (CRT0)
3653                 {
3654                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3655                     {
3656                         Return (0x0100)
3657                     }
3658 
3659                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3660                     {
3661                         Return (VCAD (MIDC))
3662                     }
3663 
3664                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3665                     {
3666                         Return (NDDS (MIDC))
3667                     }
3668 
3669                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3670                     {
3671                         VSDC = (Arg0 & 0x01)
3672                     }
3673                 }
3674 
3675                 Device (DVI0)
3676                 {
3677                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3678                     {
3679                         Return (0x0300)
3680                     }
3681 
3682                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3683                     {
3684                         Return (VCAD (MID0))
3685                     }
3686 
3687                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3688                     {
3689                         Return (NDDS (MID0))
3690                     }
3691 
3692                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3693                     {
3694                         VSD0 = (Arg0 & 0x01)
3695                     }
3696                 }
3697 
3698                 Device (DVI1)
3699                 {
3700                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3701                     {
3702                         Return (0x0301)
3703                     }
3704 
3705                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3706                     {
3707                         Return (VCAD (MID1))
3708                     }
3709 
3710                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3711                     {
3712                         Return (NDDS (MID1))
3713                     }
3714 
3715                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3716                     {
3717                         VSD1 = (Arg0 & 0x01)
3718                     }
3719                 }
3720 
3721                 Device (DVI2)
3722                 {
3723                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3724                     {
3725                         Return (0x0302)
3726                     }
3727 
3728                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3729                     {
3730                         Return (VCAD (MID2))
3731                     }
3732 
3733                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3734                     {
3735                         Return (NDDS (MID2))
3736                     }
3737 
3738                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3739                     {
3740                         VSD2 = (Arg0 & 0x01)
3741                     }
3742                 }
3743 
3744                 Device (DVI3)
3745                 {
3746                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3747                     {
3748                         Return (0x0303)
3749                     }
3750 
3751                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3752                     {
3753                         Return (VCAD (MID3))
3754                     }
3755 
3756                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3757                     {
3758                         Return (NDDS (MID3))
3759                     }
3760 
3761                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3762                     {
3763                         VSD3 = (Arg0 & 0x01)
3764                     }
3765                 }
3766 
3767                 Device (DVI4)
3768                 {
3769                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3770                     {
3771                         Return (0x0304)
3772                     }
3773 
3774                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3775                     {
3776                         Return (VCAD (MID4))
3777                     }
3778 
3779                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3780                     {
3781                         Return (NDDS (MID4))
3782                     }
3783 
3784                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3785                     {
3786                         VSD4 = (Arg0 & 0x01)
3787                     }
3788                 }
3789 
3790                 Device (DVI5)
3791                 {
3792                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3793                     {
3794                         Return (0x0305)
3795                     }
3796 
3797                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3798                     {
3799                         Return (VCAD (MID5))
3800                     }
3801 
3802                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3803                     {
3804                         Return (NDDS (MID5))
3805                     }
3806 
3807                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3808                     {
3809                         VSD5 = (Arg0 & 0x01)
3810                     }
3811                 }
3812             }
3813 
3814             Device (LPC)
3815             {
3816                 Name (_ADR, 0x001F0000)  // _ADR: Address
3817                 Name (_S3D, 0x03)  // _S3D: S3 Device State
3818                 Name (RID, 0x00)
3819                 Device (SIO)
3820                 {
3821                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3822                     Name (_UID, 0x00)  // _UID: Unique ID
3823                     Name (SCRS, ResourceTemplate ()
3824                     {
3825                         IO (Decode16,
3826                             0x0010,             // Range Minimum
3827                             0x0010,             // Range Maximum
3828                             0x01,               // Alignment
3829                             0x10,               // Length
3830                             )
3831                         IO (Decode16,
3832                             0x0090,             // Range Minimum
3833                             0x0090,             // Range Maximum
3834                             0x01,               // Alignment
3835                             0x10,               // Length
3836                             )
3837                         IO (Decode16,
3838                             0x0024,             // Range Minimum
3839                             0x0024,             // Range Maximum
3840                             0x01,               // Alignment
3841                             0x02,               // Length
3842                             )
3843                         IO (Decode16,
3844                             0x0028,             // Range Minimum
3845                             0x0028,             // Range Maximum
3846                             0x01,               // Alignment
3847                             0x02,               // Length
3848                             )
3849                         IO (Decode16,
3850                             0x002C,             // Range Minimum
3851                             0x002C,             // Range Maximum
3852                             0x01,               // Alignment
3853                             0x02,               // Length
3854                             )
3855                         IO (Decode16,
3856                             0x0030,             // Range Minimum
3857                             0x0030,             // Range Maximum
3858                             0x01,               // Alignment
3859                             0x02,               // Length
3860                             )
3861                         IO (Decode16,
3862                             0x0034,             // Range Minimum
3863                             0x0034,             // Range Maximum
3864                             0x01,               // Alignment
3865                             0x02,               // Length
3866                             )
3867                         IO (Decode16,
3868                             0x0038,             // Range Minimum
3869                             0x0038,             // Range Maximum
3870                             0x01,               // Alignment
3871                             0x02,               // Length
3872                             )
3873                         IO (Decode16,
3874                             0x003C,             // Range Minimum
3875                             0x003C,             // Range Maximum
3876                             0x01,               // Alignment
3877                             0x02,               // Length
3878                             )
3879                         IO (Decode16,
3880                             0x00A4,             // Range Minimum
3881                             0x00A4,             // Range Maximum
3882                             0x01,               // Alignment
3883                             0x02,               // Length
3884                             )
3885                         IO (Decode16,
3886                             0x00A8,             // Range Minimum
3887                             0x00A8,             // Range Maximum
3888                             0x01,               // Alignment
3889                             0x02,               // Length
3890                             )
3891                         IO (Decode16,
3892                             0x00AC,             // Range Minimum
3893                             0x00AC,             // Range Maximum
3894                             0x01,               // Alignment
3895                             0x02,               // Length
3896                             )
3897                         IO (Decode16,
3898                             0x00B0,             // Range Minimum
3899                             0x00B0,             // Range Maximum
3900                             0x01,               // Alignment
3901                             0x06,               // Length
3902                             )
3903                         IO (Decode16,
3904                             0x00B8,             // Range Minimum
3905                             0x00B8,             // Range Maximum
3906                             0x01,               // Alignment
3907                             0x02,               // Length
3908                             )
3909                         IO (Decode16,
3910                             0x00BC,             // Range Minimum
3911                             0x00BC,             // Range Maximum
3912                             0x01,               // Alignment
3913                             0x02,               // Length
3914                             )
3915                         IO (Decode16,
3916                             0x0050,             // Range Minimum
3917                             0x0050,             // Range Maximum
3918                             0x01,               // Alignment
3919                             0x04,               // Length
3920                             )
3921                         IO (Decode16,
3922                             0x0072,             // Range Minimum
3923                             0x0072,             // Range Maximum
3924                             0x01,               // Alignment
3925                             0x06,               // Length
3926                             )
3927                         IO (Decode16,
3928                             0x1800,             // Range Minimum
3929                             0x1800,             // Range Maximum
3930                             0x01,               // Alignment
3931                             0xA0,               // Length
3932                             )
3933                         IO (Decode16,
3934                             0x0800,             // Range Minimum
3935                             0x0800,             // Range Maximum
3936                             0x01,               // Alignment
3937                             0x80,               // Length
3938                             )
3939                         IO (Decode16,
3940                             0x0880,             // Range Minimum
3941                             0x0880,             // Range Maximum
3942                             0x01,               // Alignment
3943                             0x80,               // Length
3944                             )
3945                         IO (Decode16,
3946                             0x0900,             // Range Minimum
3947                             0x0900,             // Range Maximum
3948                             0x01,               // Alignment
3949                             0x80,               // Length
3950                             )
3951                         IO (Decode16,
3952                             0x0980,             // Range Minimum
3953                             0x0980,             // Range Maximum
3954                             0x01,               // Alignment
3955                             0x80,               // Length
3956                             )
3957                         IO (Decode16,
3958                             0x0A00,             // Range Minimum
3959                             0x0A00,             // Range Maximum
3960                             0x01,               // Alignment
3961                             0x80,               // Length
3962                             )
3963                         IO (Decode16,
3964                             0x0A80,             // Range Minimum
3965                             0x0A80,             // Range Maximum
3966                             0x01,               // Alignment
3967                             0x80,               // Length
3968                             )
3969                         IO (Decode16,
3970                             0x0B00,             // Range Minimum
3971                             0x0B00,             // Range Maximum
3972                             0x01,               // Alignment
3973                             0x80,               // Length
3974                             )
3975                         IO (Decode16,
3976                             0x0B80,             // Range Minimum
3977                             0x0B80,             // Range Maximum
3978                             0x01,               // Alignment
3979                             0x80,               // Length
3980                             )
3981                         IO (Decode16,
3982                             0x15E0,             // Range Minimum
3983                             0x15E0,             // Range Maximum
3984                             0x01,               // Alignment
3985                             0x10,               // Length
3986                             )
3987                         IO (Decode16,
3988                             0x1600,             // Range Minimum
3989                             0x1600,             // Range Maximum
3990                             0x01,               // Alignment
3991                             0x80,               // Length
3992                             )
3993                         IO (Decode16,
3994                             0x1640,             // Range Minimum
3995                             0x1640,             // Range Maximum
3996                             0x01,               // Alignment
3997                             0x20,               // Length
3998                             )
3999                         Memory32Fixed (ReadWrite,
4000                             0xF8000000,         // Address Base
4001                             0x04000000,         // Address Length
4002                             )
4003                         Memory32Fixed (ReadWrite,
4004                             0xFED1C000,         // Address Base
4005                             0x00004000,         // Address Length
4006                             )
4007                         Memory32Fixed (ReadWrite,
4008                             0xFED10000,         // Address Base
4009                             0x00004000,         // Address Length
4010                             )
4011                         Memory32Fixed (ReadWrite,
4012                             0xFED18000,         // Address Base
4013                             0x00001000,         // Address Length
4014                             )
4015                         Memory32Fixed (ReadWrite,
4016                             0xFED19000,         // Address Base
4017                             0x00001000,         // Address Length
4018                             )
4019                         Memory32Fixed (ReadWrite,
4020                             0xFED45000,         // Address Base
4021                             0x00007000,         // Address Length
4022                             )
4023                     })
4024                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4025                     {
4026                         If (!CondRefOf (\_SB.PCI0.LPC.TPM))
4027                         {
4028                             Return (SCRS) /* \_SB_.PCI0.LPC_.SIO_.SCRS */
4029                         }
4030                         Else
4031                         {
4032                             If ((\_SB.PCI0.LPC.TPM._STA () == 0x0F))
4033                             {
4034                                 Return (SCRS) /* \_SB_.PCI0.LPC_.SIO_.SCRS */
4035                             }
4036                             Else
4037                             {
4038                                 Local0 = (SizeOf (SCRS) - 0x02)
4039                                 Name (BUF0, Buffer (Local0) {})
4040                                 Local0 += SizeOf (\_SB.PCI0.LPC.TPM.BUF1)
4041                                 Name (BUF1, Buffer (Local0) {})
4042                                 BUF0 = SCRS /* \_SB_.PCI0.LPC_.SIO_.SCRS */
4043                                 Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
4044                                 Return (BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
4045                             }
4046                         }
4047                     }
4048                 }
4049 
4050                 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
4051                 Field (LPCS, AnyAcc, NoLock, Preserve)
4052                 {
4053                     Offset (0x60), 
4054                     PIRA,   8, 
4055                     PIRB,   8, 
4056                     PIRC,   8, 
4057                     PIRD,   8, 
4058                     SERQ,   8, 
4059                     Offset (0x68), 
4060                     PIRE,   8, 
4061                     PIRF,   8, 
4062                     PIRG,   8, 
4063                     PIRH,   8, 
4064                     Offset (0x80), 
4065                     XU1A,   3, 
4066                         ,   1, 
4067                     XU2A,   3, 
4068                     Offset (0x81), 
4069                     XPA,    2, 
4070                         ,   2, 
4071                     XFA,    1, 
4072                     Offset (0x82), 
4073                     XU1E,   1, 
4074                     XU2E,   1, 
4075                     XPE,    1, 
4076                     XFE,    1, 
4077                     Offset (0x84), 
4078                     XG1E,   1, 
4079                         ,   1, 
4080                     XG1A,   14, 
4081                     Offset (0x88), 
4082                     XG2E,   1, 
4083                         ,   1, 
4084                     XG2A,   14, 
4085                     Offset (0xA0), 
4086                         ,   2, 
4087                     CLKR,   1, 
4088                         ,   7, 
4089                     EXPE,   1, 
4090                     Offset (0xA2), 
4091                     Offset (0xAC), 
4092                     Offset (0xAD), 
4093                     Offset (0xAE), 
4094                     XUSB,   1, 
4095                     Offset (0xB8), 
4096                     GR00,   2, 
4097                         ,   10, 
4098                     GR06,   2
4099                 }
4100 
4101                 OperationRegion (LPIO, SystemIO, 0x0800, 0x0400)
4102                 Field (LPIO, DWordAcc, NoLock, Preserve)
4103                 {
4104                     Offset (0x100), 
4105                         ,   30, 
4106                     DOI0,   1, 
4107                     Offset (0x108), 
4108                         ,   30, 
4109                     DOI1,   1, 
4110                     Offset (0x110), 
4111                         ,   30, 
4112                     DOI2,   1, 
4113                     Offset (0x118), 
4114                         ,   30, 
4115                     DOI3,   1, 
4116                     Offset (0x158), 
4117                         ,   30, 
4118                     NFCI,   1, 
4119                     Offset (0x180), 
4120                         ,   3, 
4121                     XHPD,   1, 
4122                     Offset (0x1B0), 
4123                         ,   31, 
4124                     GLIS,   1, 
4125                     Offset (0x300), 
4126                         ,   30, 
4127                     NFCD,   1, 
4128                     Offset (0x308), 
4129                         ,   31, 
4130                     NFCP,   1
4131                 }
4132 
4133                 OperationRegion (PMIO, SystemIO, 0x1800, 0x80)
4134                 Field (PMIO, AnyAcc, NoLock, Preserve)
4135                 {
4136                     Offset (0x2A), 
4137                         ,   6, 
4138                     XHPE,   1, 
4139                     Offset (0x42), 
4140                         ,   1, 
4141                     SWGE,   1, 
4142                     Offset (0x64), 
4143                         ,   9, 
4144                     SCIS,   1, 
4145                     Offset (0x66)
4146                 }
4147 
4148                 Device (PIC)
4149                 {
4150                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
4151                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4152                     {
4153                         IO (Decode16,
4154                             0x0020,             // Range Minimum
4155                             0x0020,             // Range Maximum
4156                             0x01,               // Alignment
4157                             0x02,               // Length
4158                             )
4159                         IO (Decode16,
4160                             0x00A0,             // Range Minimum
4161                             0x00A0,             // Range Maximum
4162                             0x01,               // Alignment
4163                             0x02,               // Length
4164                             )
4165                         IO (Decode16,
4166                             0x04D0,             // Range Minimum
4167                             0x04D0,             // Range Maximum
4168                             0x01,               // Alignment
4169                             0x02,               // Length
4170                             )
4171                         IRQNoFlags ()
4172                             {2}
4173                     })
4174                 }
4175 
4176                 Device (TIMR)
4177                 {
4178                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
4179                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4180                     {
4181                         IO (Decode16,
4182                             0x0040,             // Range Minimum
4183                             0x0040,             // Range Maximum
4184                             0x01,               // Alignment
4185                             0x04,               // Length
4186                             )
4187                         IRQNoFlags ()
4188                             {0}
4189                     })
4190                 }
4191 
4192                 Device (HPET)
4193                 {
4194                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
4195                     Method (_STA, 0, NotSerialized)  // _STA: Status
4196                     {
4197                         If ((\WNTF && !\WXPF))
4198                         {
4199                             Return (0x00)
4200                         }
4201                         Else
4202                         {
4203                             Return (0x0F)
4204                         }
4205 
4206                         Return (0x00)
4207                     }
4208 
4209                     Name (BUF0, ResourceTemplate ()
4210                     {
4211                         Memory32Fixed (ReadOnly,
4212                             0xFED00000,         // Address Base
4213                             0x00000400,         // Address Length
4214                             _Y26)
4215                     })
4216                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4217                     {
4218                         CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y26._BAS, HPT0)  // _BAS: Base Address
4219                         HPT0 = \HPET
4220                         Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
4221                     }
4222                 }
4223 
4224                 Device (DMAC)
4225                 {
4226                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
4227                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4228                     {
4229                         IO (Decode16,
4230                             0x0000,             // Range Minimum
4231                             0x0000,             // Range Maximum
4232                             0x01,               // Alignment
4233                             0x10,               // Length
4234                             )
4235                         IO (Decode16,
4236                             0x0080,             // Range Minimum
4237                             0x0080,             // Range Maximum
4238                             0x01,               // Alignment
4239                             0x10,               // Length
4240                             )
4241                         IO (Decode16,
4242                             0x00C0,             // Range Minimum
4243                             0x00C0,             // Range Maximum
4244                             0x01,               // Alignment
4245                             0x20,               // Length
4246                             )
4247                         DMA (Compatibility, BusMaster, Transfer8_16, )
4248                             {4}
4249                     })
4250                 }
4251 
4252                 Device (SPKR)
4253                 {
4254                     Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */)  // _HID: Hardware ID
4255                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4256                     {
4257                         IO (Decode16,
4258                             0x0061,             // Range Minimum
4259                             0x0061,             // Range Maximum
4260                             0x01,               // Alignment
4261                             0x01,               // Length
4262                             )
4263                     })
4264                 }
4265 
4266                 Device (FPU)
4267                 {
4268                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
4269                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4270                     {
4271                         IO (Decode16,
4272                             0x00F0,             // Range Minimum
4273                             0x00F0,             // Range Maximum
4274                             0x01,               // Alignment
4275                             0x01,               // Length
4276                             )
4277                         IRQNoFlags ()
4278                             {13}
4279                     })
4280                 }
4281 
4282                 Device (RTC)
4283                 {
4284                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
4285                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4286                     {
4287                         IO (Decode16,
4288                             0x0070,             // Range Minimum
4289                             0x0070,             // Range Maximum
4290                             0x01,               // Alignment
4291                             0x02,               // Length
4292                             )
4293                         IRQNoFlags ()
4294                             {8}
4295                     })
4296                 }
4297 
4298                 Device (KBD)
4299                 {
4300                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
4301                     {
4302                         If (\WIN8)
4303                         {
4304                             Return (0x7100AE30)
4305                         }
4306 
4307                         Return (0x0303D041)
4308                     }
4309 
4310                     Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
4311                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4312                     {
4313                         IO (Decode16,
4314                             0x0060,             // Range Minimum
4315                             0x0060,             // Range Maximum
4316                             0x01,               // Alignment
4317                             0x01,               // Length
4318                             )
4319                         IO (Decode16,
4320                             0x0064,             // Range Minimum
4321                             0x0064,             // Range Maximum
4322                             0x01,               // Alignment
4323                             0x01,               // Length
4324                             )
4325                         IRQNoFlags ()
4326                             {1}
4327                     })
4328                 }
4329 
4330                 Device (MOU)
4331                 {
4332                     Name (_HID, EisaId ("IBM3780"))  // _HID: Hardware ID
4333                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _CID: Compatible ID
4334                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4335                     {
4336                         IRQNoFlags ()
4337                             {12}
4338                     })
4339                     Method (MHID, 0, NotSerialized)
4340                     {
4341                         If (\_SB.PCI0.LPC.PADD)
4342                         {
4343                             _HID = 0x80374D24
4344                         }
4345                         Else
4346                         {
4347                             If (\_SB.PCI0.LPC.NFCD)
4348                             {
4349                                 _HID = 0x2C00AE30
4350                             }
4351                             Else
4352                             {
4353                                 _HID = 0x2B00AE30
4354                             }
4355                         }
4356                     }
4357                 }
4358 
4359                 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4360                 Field (IMGA, ByteAcc, NoLock, Preserve)
4361                 {
4362                     Offset (0x01), 
4363                     Offset (0x02), 
4364                     Offset (0x03), 
4365                     WAKR,   16, 
4366                     Offset (0x0C), 
4367                     GAIX,   8, 
4368                     Offset (0x0E), 
4369                     GADT,   8, 
4370                     Offset (0x10)
4371                 }
4372 
4373                 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4374                 {
4375                     Offset (0x50), 
4376                         ,   3, 
4377                     IVPW,   1, 
4378                     DVPW,   1, 
4379                     BLPL,   1, 
4380                     Offset (0x51), 
4381                     TP4R,   1, 
4382                     PADR,   1, 
4383                     BPAD,   1, 
4384                         ,   1, 
4385                         ,   1, 
4386                     PADD,   1, 
4387                     Offset (0x60), 
4388                     EPWG,   1, 
4389                         ,   1, 
4390                     CSON,   1, 
4391                     DSCI,   1, 
4392                     DSCS,   1, 
4393                     DLAN,   1, 
4394                     Offset (0xC2), 
4395                     GAID,   8
4396                 }
4397 
4398                 Device (EC)
4399                 {
4400                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
4401                     Name (_UID, 0x00)  // _UID: Unique ID
4402                     Name (_GPE, 0x25)  // _GPE: General Purpose Events
4403                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
4404                     {
4405                         If ((Arg0 == 0x03))
4406                         {
4407                             \H8DR = Arg1
4408                         }
4409                     }
4410 
4411                     OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4412                     Field (ECOR, ByteAcc, NoLock, Preserve)
4413                     {
4414                         HDBM,   1, 
4415                             ,   1, 
4416                             ,   1, 
4417                         HFNE,   1, 
4418                             ,   1, 
4419                             ,   1, 
4420                         HLDM,   1, 
4421                         Offset (0x01), 
4422                         BBLS,   1, 
4423                         BTCM,   1, 
4424                             ,   1, 
4425                             ,   1, 
4426                             ,   1, 
4427                         HBPR,   1, 
4428                         BTPC,   1, 
4429                         Offset (0x02), 
4430                         HDUE,   1, 
4431                             ,   4, 
4432                         SNLK,   1, 
4433                         Offset (0x03), 
4434                             ,   3, 
4435                         TAPM,   1, 
4436                             ,   1, 
4437                         HAUM,   2, 
4438                         Offset (0x05), 
4439                         HSPA,   1, 
4440                         Offset (0x06), 
4441                         HSUN,   8, 
4442                         HSRP,   8, 
4443                         Offset (0x0C), 
4444                         HLCL,   8, 
4445                             ,   4, 
4446                         CALM,   1, 
4447                         Offset (0x0E), 
4448                         HFNS,   2, 
4449                         Offset (0x0F), 
4450                             ,   6, 
4451                         NULS,   1, 
4452                         Offset (0x10), 
4453                         HAM0,   8, 
4454                         HAM1,   8, 
4455                         HAM2,   8, 
4456                         HAM3,   8, 
4457                         HAM4,   8, 
4458                         HAM5,   8, 
4459                         HAM6,   8, 
4460                         HAM7,   8, 
4461                         HAM8,   8, 
4462                         HAM9,   8, 
4463                         HAMA,   8, 
4464                         HAMB,   8, 
4465                         HAMC,   8, 
4466                         HAMD,   8, 
4467                         HAME,   8, 
4468                         HAMF,   8, 
4469                         Offset (0x23), 
4470                         HANT,   8, 
4471                         Offset (0x26), 
4472                             ,   2, 
4473                         HANA,   2, 
4474                         Offset (0x27), 
4475                         Offset (0x28), 
4476                             ,   1, 
4477                         SKEM,   1, 
4478                         Offset (0x29), 
4479                         Offset (0x2A), 
4480                         HATR,   8, 
4481                         HT0H,   8, 
4482                         HT0L,   8, 
4483                         HT1H,   8, 
4484                         HT1L,   8, 
4485                         HFSP,   8, 
4486                             ,   6, 
4487                         HMUT,   1, 
4488                         Offset (0x31), 
4489                             ,   2, 
4490                         HUWB,   1, 
4491                         Offset (0x32), 
4492                         HWPM,   1, 
4493                         HWLB,   1, 
4494                         HWLO,   1, 
4495                         HWDK,   1, 
4496                         HWFN,   1, 
4497                         HWBT,   1, 
4498                         HWRI,   1, 
4499                         HWBU,   1, 
4500                         HWLU,   1, 
4501                         Offset (0x34), 
4502                             ,   3, 
4503                         PIBS,   1, 
4504                             ,   3, 
4505                         HPLO,   1, 
4506                         Offset (0x36), 
4507                         HWAC,   16, 
4508                         HB0S,   7, 
4509                         HB0A,   1, 
4510                         HB1S,   7, 
4511                         HB1A,   1, 
4512                         HCMU,   1, 
4513                             ,   2, 
4514                         OVRQ,   1, 
4515                         DCBD,   1, 
4516                         DCWL,   1, 
4517                         DCWW,   1, 
4518                         HB1I,   1, 
4519                             ,   1, 
4520                         KBLT,   1, 
4521                         BTPW,   1, 
4522                         FNKC,   1, 
4523                         HUBS,   1, 
4524                         BDPW,   1, 
4525                         BDDT,   1, 
4526                         HUBB,   1, 
4527                         Offset (0x46), 
4528                             ,   1, 
4529                         BTWK,   1, 
4530                         HPLD,   1, 
4531                             ,   1, 
4532                         HPAC,   1, 
4533                         BTST,   1, 
4534                         Offset (0x47), 
4535                         HPBU,   1, 
4536                             ,   1, 
4537                         HBID,   1, 
4538                             ,   3, 
4539                         HBCS,   1, 
4540                         HPNF,   1, 
4541                             ,   1, 
4542                         GSTS,   1, 
4543                             ,   2, 
4544                         HLBU,   1, 
4545                         DOCD,   1, 
4546                         HCBL,   1, 
4547                         Offset (0x49), 
4548                         SLUL,   1, 
4549                         Offset (0x4C), 
4550                         HTMH,   8, 
4551                         HTML,   8, 
4552                         HWAK,   16, 
4553                         HMPR,   8, 
4554                             ,   7, 
4555                         HMDN,   1, 
4556                         Offset (0x78), 
4557                         TMP0,   8, 
4558                         Offset (0x80), 
4559                         Offset (0x81), 
4560                         HIID,   8, 
4561                         Offset (0x83), 
4562                         HFNI,   8, 
4563                         HSPD,   16, 
4564                         Offset (0x88), 
4565                         TSL0,   7, 
4566                         TSR0,   1, 
4567                         TSL1,   7, 
4568                         TSR1,   1, 
4569                         TSL2,   7, 
4570                         TSR2,   1, 
4571                         TSL3,   7, 
4572                         TSR3,   1, 
4573                         Offset (0x8D), 
4574                         HDAA,   3, 
4575                         HDAB,   3, 
4576                         HDAC,   2, 
4577                         Offset (0xB0), 
4578                         HDEN,   32, 
4579                         HDEP,   32, 
4580                         HDEM,   8, 
4581                         HDES,   8, 
4582                         Offset (0xC8), 
4583                         ATMX,   8, 
4584                         HWAT,   8, 
4585                         Offset (0xCC), 
4586                         PWMH,   8, 
4587                         PWML,   8, 
4588                         Offset (0xED), 
4589                             ,   4, 
4590                         HDDD,   1, 
4591                         Offset (0xFF), 
4592                         GPLT,   1, 
4593                         GPLN,   1, 
4594                         GPSE,   1, 
4595                         Offset (0x100)
4596                     }
4597 
4598                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
4599                     {
4600                         If (\H8DR)
4601                         {
4602                             HSPA = 0x00
4603                         }
4604                         Else
4605                         {
4606                             \MBEC (0x05, 0xFE, 0x00)
4607                         }
4608 
4609                         \_SB.PCI0.LPC.EC.HKEY.WGIN ()
4610                     }
4611 
4612                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4613                     {
4614                         IO (Decode16,
4615                             0x0062,             // Range Minimum
4616                             0x0062,             // Range Maximum
4617                             0x01,               // Alignment
4618                             0x01,               // Length
4619                             )
4620                         IO (Decode16,
4621                             0x0066,             // Range Minimum
4622                             0x0066,             // Range Maximum
4623                             0x01,               // Alignment
4624                             0x01,               // Length
4625                             )
4626                     })
4627                     Method (LED, 2, NotSerialized)
4628                     {
4629                         Local0 = (Arg0 | Arg1)
4630                         If (\H8DR)
4631                         {
4632                             HLCL = Local0
4633                         }
4634                         Else
4635                         {
4636                             \WBEC (0x0C, Local0)
4637                         }
4638                     }
4639 
4640                     Name (BAON, 0x00)
4641                     Name (WBON, 0x00)
4642                     Method (BEEP, 1, NotSerialized)
4643                     {
4644                         If ((Arg0 == 0x05))
4645                         {
4646                             WBON = 0x00
4647                         }
4648 
4649                         Local2 = WBON /* \_SB_.PCI0.LPC_.EC__.WBON */
4650                         If (BAON)
4651                         {
4652                             If ((Arg0 == 0x00))
4653                             {
4654                                 BAON = 0x00
4655                                 If (WBON)
4656                                 {
4657                                     Local0 = 0x03
4658                                     Local1 = 0x08
4659                                 }
4660                                 Else
4661                                 {
4662                                     Local0 = 0x00
4663                                     Local1 = 0x00
4664                                 }
4665                             }
4666                             Else
4667                             {
4668                                 Local0 = 0xFF
4669                                 Local1 = 0xFF
4670                                 If ((Arg0 == 0x11))
4671                                 {
4672                                     WBON = 0x00
4673                                 }
4674 
4675                                 If ((Arg0 == 0x10))
4676                                 {
4677                                     WBON = 0x01
4678                                 }
4679                             }
4680                         }
4681                         Else
4682                         {
4683                             Local0 = Arg0
4684                             Local1 = 0xFF
4685                             If ((Arg0 == 0x0F))
4686                             {
4687                                 Local0 = Arg0
4688                                 Local1 = 0x08
4689                                 BAON = 0x01
4690                             }
4691 
4692                             If ((Arg0 == 0x11))
4693                             {
4694                                 Local0 = 0x00
4695                                 Local1 = 0x00
4696                                 WBON = 0x00
4697                             }
4698 
4699                             If ((Arg0 == 0x10))
4700                             {
4701                                 Local0 = 0x03
4702                                 Local1 = 0x08
4703                                 WBON = 0x01
4704                             }
4705                         }
4706 
4707                         If ((Arg0 == 0x03))
4708                         {
4709                             WBON = 0x00
4710                             If (Local2)
4711                             {
4712                                 Local0 = 0x07
4713                                 If (((\SPS == 0x03) || (\SPS == 0x04)))
4714                                 {
4715                                     Local2 = 0x00
4716                                     Local0 = 0xFF
4717                                     Local1 = 0xFF
4718                                 }
4719                             }
4720                         }
4721 
4722                         If ((Arg0 == 0x07))
4723                         {
4724                             If (Local2)
4725                             {
4726                                 Local2 = 0x00
4727                                 Local0 = 0xFF
4728                                 Local1 = 0xFF
4729                             }
4730                         }
4731 
4732                         If (\H8DR)
4733                         {
4734                             If ((Local2 && !WBON))
4735                             {
4736                                 HSRP = 0x00
4737                                 HSUN = 0x00
4738                                 Sleep (0x64)
4739                             }
4740 
4741                             If ((Local1 != 0xFF))
4742                             {
4743                                 HSRP = Local1
4744                             }
4745 
4746                             If ((Local0 != 0xFF))
4747                             {
4748                                 HSUN = Local0
4749                             }
4750                         }
4751                         Else
4752                         {
4753                             If ((Local2 && !WBON))
4754                             {
4755                                 \WBEC (0x07, 0x00)
4756                                 \WBEC (0x06, 0x00)
4757                                 Sleep (0x64)
4758                             }
4759 
4760                             If ((Local1 != 0xFF))
4761                             {
4762                                 \WBEC (0x07, Local1)
4763                             }
4764 
4765                             If ((Local0 != 0xFF))
4766                             {
4767                                 \WBEC (0x06, Local0)
4768                             }
4769                         }
4770 
4771                         If ((Arg0 == 0x03)) {}
4772                         If ((Arg0 == 0x07))
4773                         {
4774                             Sleep (0x01F4)
4775                         }
4776                     }
4777 
4778                     Method (EVNT, 1, NotSerialized)
4779                     {
4780                         If (\H8DR)
4781                         {
4782                             If (Arg0)
4783                             {
4784                                 HAM5 |= 0x04
4785                             }
4786                             Else
4787                             {
4788                                 HAM5 &= 0xFB
4789                             }
4790                         }
4791                         Else
4792                         {
4793                             If (Arg0)
4794                             {
4795                                 \MBEC (0x15, 0xFF, 0x04)
4796                             }
4797                             Else
4798                             {
4799                                 \MBEC (0x15, 0xFB, 0x00)
4800                             }
4801                         }
4802                     }
4803 
4804                     Name (USPS, 0x00)
4805                     PowerResource (PUBS, 0x03, 0x0000)
4806                     {
4807                         Method (_STA, 0, NotSerialized)  // _STA: Status
4808                         {
4809                             If (\H8DR)
4810                             {
4811                                 Local0 = HUBS /* \_SB_.PCI0.LPC_.EC__.HUBS */
4812                             }
4813                             Else
4814                             {
4815                                 Local0 = (\RBEC (0x3B) & 0x10)
4816                             }
4817 
4818                             If (Local0)
4819                             {
4820                                 Return (0x01)
4821                             }
4822                             Else
4823                             {
4824                                 Return (0x00)
4825                             }
4826                         }
4827 
4828                         Method (_ON, 0, NotSerialized)  // _ON_: Power On
4829                         {
4830                             Local0 = 0x64
4831                             While ((USPS && Local0))
4832                             {
4833                                 Sleep (0x01)
4834                                 Local0--
4835                             }
4836 
4837                             If (\H8DR)
4838                             {
4839                                 HUBS = 0x01
4840                             }
4841                             Else
4842                             {
4843                                 \MBEC (0x3B, 0xFF, 0x10)
4844                             }
4845                         }
4846 
4847                         Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
4848                         {
4849                             USPS = 0x01
4850                             If (\H8DR)
4851                             {
4852                                 HUBS = 0x00
4853                             }
4854                             Else
4855                             {
4856                                 \MBEC (0x3B, 0xEF, 0x00)
4857                             }
4858 
4859                             Sleep (0x14)
4860                             USPS = 0x00
4861                         }
4862                     }
4863 
4864                     Method (CHKS, 0, NotSerialized)
4865                     {
4866                         Local0 = 0x03E8
4867                         While (HMPR)
4868                         {
4869                             Sleep (0x01)
4870                             Local0--
4871                             If (!Local0)
4872                             {
4873                                 Return (0x8080)
4874                             }
4875                         }
4876 
4877                         If (HMDN)
4878                         {
4879                             Return (Zero)
4880                         }
4881 
4882                         Return (0x8081)
4883                     }
4884 
4885                     Method (LPMD, 0, NotSerialized)
4886                     {
4887                         Local0 = 0x00
4888                         Local1 = 0x00
4889                         Local2 = 0x00
4890                         If (\H8DR)
4891                         {
4892                             If (HPAC)
4893                             {
4894                                 If (HPLO)
4895                                 {
4896                                     Local0 = \LPST
4897                                 }
4898                                 Else
4899                                 {
4900                                     If ((HWAT < 0x5A))
4901                                     {
4902                                         If (HB0A)
4903                                         {
4904                                             If (((HB0S & 0x10) || ((HB0S & 0x07) < 0x02)))
4905                                             {
4906                                                 Local1 = 0x01
4907                                             }
4908                                         }
4909                                         Else
4910                                         {
4911                                             Local1 = 0x01
4912                                         }
4913 
4914                                         If (HB1A)
4915                                         {
4916                                             If (((HB1S & 0x10) || ((HB1S & 0x07) < 0x02)))
4917                                             {
4918                                                 Local2 = 0x01
4919                                             }
4920                                         }
4921                                         Else
4922                                         {
4923                                             Local2 = 0x01
4924                                         }
4925 
4926                                         If ((Local1 && Local2))
4927                                         {
4928                                             Local0 = \LPST
4929                                         }
4930                                     }
4931                                 }
4932                             }
4933                         }
4934                         Else
4935                         {
4936                             If ((\RBEC (0x46) & 0x10))
4937                             {
4938                                 If ((\RBEC (0x34) & 0x80))
4939                                 {
4940                                     Local0 = \LPST
4941                                 }
4942                                 Else
4943                                 {
4944                                     If ((\RBEC (0xC9) < 0x5A))
4945                                     {
4946                                         Local3 = \RBEC (0x38)
4947                                         If ((Local3 & 0x80))
4948                                         {
4949                                             If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
4950                                             {
4951                                                 Local1 = 0x01
4952                                             }
4953                                         }
4954                                         Else
4955                                         {
4956                                             Local2 = 0x01
4957                                         }
4958 
4959                                         Local3 = \RBEC (0x39)
4960                                         If ((Local3 & 0x80))
4961                                         {
4962                                             If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
4963                                             {
4964                                                 Local1 = 0x01
4965                                             }
4966                                         }
4967                                         Else
4968                                         {
4969                                             Local2 = 0x01
4970                                         }
4971 
4972                                         If ((Local1 && Local2))
4973                                         {
4974                                             Local0 = \LPST
4975                                         }
4976                                     }
4977                                 }
4978                             }
4979                         }
4980 
4981                         Return (Local0)
4982                     }
4983 
4984                     Method (CLPM, 0, NotSerialized)
4985                     {
4986                         If ((\_PR.CFGD & 0x01))
4987                         {
4988                             If ((\OSPX || \CPPX))
4989                             {
4990                                 \PNTF (0x80)
4991                             }
4992                             Else
4993                             {
4994                                 Local0 = LPMD ()
4995                                 If (Local0)
4996                                 {
4997                                     \STEP (0x04)
4998                                 }
4999                                 Else
5000                                 {
5001                                     \STEP (0x05)
5002                                 }
5003                             }
5004                         }
5005                     }
5006 
5007                     Mutex (MCPU, 0x07)
5008                     Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
5009                     {
5010                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5011                         {
5012                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5013                         }
5014                     }
5015 
5016                     Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
5017                     {
5018                         Noop
5019                     }
5020 
5021                     Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
5022                     {
5023                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5024                         {
5025                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5026                         }
5027                     }
5028 
5029                     Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query
5030                     {
5031                         If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5032                         {
5033                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5034                         }
5035                         Else
5036                         {
5037                             Notify (\_SB.SLPB, 0x80) // Status Change
5038                         }
5039                     }
5040 
5041                     Method (_Q64, 0, NotSerialized)  // _Qxx: EC Query
5042                     {
5043                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5044                         {
5045                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5046                         }
5047                     }
5048 
5049                     Method (_Q65, 0, NotSerialized)  // _Qxx: EC Query
5050                     {
5051                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5052                         {
5053                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5054                         }
5055                     }
5056 
5057                     Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query
5058                     {
5059                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5060                         {
5061                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5062                         }
5063                         Else
5064                         {
5065                             If ((\VHYB (0x03, 0x00) == 0x03))
5066                             {
5067                                 Notify (\_SB.PCI0.VID, 0x80) // Status Change
5068                                 Return (Zero)
5069                             }
5070 
5071                             If (VIGD)
5072                             {
5073                                 \_SB.PCI0.VID.VSWT ()
5074                             }
5075                             Else
5076                             {
5077                                 \_SB.PCI0.PEG.VID.VSWT ()
5078                             }
5079                         }
5080                     }
5081 
5082                     Method (_Q17, 0, NotSerialized)  // _Qxx: EC Query
5083                     {
5084                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5085                         {
5086                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5087                         }
5088                         Else
5089                         {
5090                             If (!\WNTF)
5091                             {
5092                                 VEXP ()
5093                             }
5094                         }
5095                     }
5096 
5097                     Method (_Q18, 0, NotSerialized)  // _Qxx: EC Query
5098                     {
5099                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5100                         {
5101                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5102                         }
5103 
5104                         Noop
5105                     }
5106 
5107                     Method (_Q1A, 0, NotSerialized)  // _Qxx: EC Query
5108                     {
5109                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5110                         {
5111                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5112                         }
5113                     }
5114 
5115                     Method (_Q1B, 0, NotSerialized)  // _Qxx: EC Query
5116                     {
5117                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5118                     }
5119 
5120                     Method (_Q62, 0, NotSerialized)  // _Qxx: EC Query
5121                     {
5122                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5123                         {
5124                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5125                         }
5126                     }
5127 
5128                     Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
5129                     {
5130                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5131                         {
5132                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5133                         }
5134                     }
5135 
5136                     Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query
5137                     {
5138                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5139                         {
5140                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5141                         }
5142                     }
5143 
5144                     Method (_Q1F, 0, NotSerialized)  // _Qxx: EC Query
5145                     {
5146                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5147                         {
5148                             If ((PKLI & 0x0C00))
5149                             {
5150                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5151                             }
5152                         }
5153 
5154                         \UCMS (0x0E)
5155                     }
5156 
5157                     Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
5158                     {
5159                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5160                         {
5161                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5162                         }
5163                     }
5164 
5165                     Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
5166                     {
5167                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5168                         {
5169                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5170                         }
5171                     }
5172 
5173                     Method (_Q66, 0, NotSerialized)  // _Qxx: EC Query
5174                     {
5175                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10000000))
5176                         {
5177                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101D)
5178                         }
5179                     }
5180 
5181                     Method (_Q67, 0, NotSerialized)  // _Qxx: EC Query
5182                     {
5183                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20000000))
5184                         {
5185                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101E)
5186                         }
5187                     }
5188 
5189                     Method (_Q68, 0, NotSerialized)  // _Qxx: EC Query
5190                     {
5191                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40000000))
5192                         {
5193                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101F)
5194                         }
5195                     }
5196 
5197                     Method (_Q69, 0, NotSerialized)  // _Qxx: EC Query
5198                     {
5199                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80000000))
5200                         {
5201                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1020)
5202                         }
5203                     }
5204 
5205                     Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query
5206                     {
5207                         If (VIGD)
5208                         {
5209                             If (\WVIS)
5210                             {
5211                                 \VBTD ()
5212                             }
5213 
5214                             \_SB.PCI0.LPC.EC.BRNS ()
5215                         }
5216                         Else
5217                         {
5218                             \UCMS (0x12)
5219                         }
5220 
5221                         Sleep (0x01F4)
5222                         Notify (AC, 0x80) // Status Change
5223                         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5224                         If (\WXPF)
5225                         {
5226                             Acquire (MCPU, 0xFFFF)
5227                         }
5228 
5229                         PWRS = 0x01
5230                         If ((\_PR.CFGD & 0x01))
5231                         {
5232                             If ((\OSPX || \CPPX))
5233                             {
5234                                 \PNTF (0x80)
5235                             }
5236                         }
5237 
5238                         If (\WXPF)
5239                         {
5240                             Sleep (0x64)
5241                         }
5242 
5243                         If (\OSC4)
5244                         {
5245                             \PNTF (0x81)
5246                         }
5247 
5248                         If (\WXPF)
5249                         {
5250                             Release (MCPU)
5251                         }
5252 
5253                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5254                         ATMC ()
5255                     }
5256 
5257                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
5258                     {
5259                         If (VIGD)
5260                         {
5261                             If (\WVIS)
5262                             {
5263                                 \VBTD ()
5264                             }
5265 
5266                             \_SB.PCI0.LPC.EC.BRNS ()
5267                         }
5268                         Else
5269                         {
5270                             \UCMS (0x12)
5271                         }
5272 
5273                         If (\_SB.PCI0.PEG.VID.ISOP ())
5274                         {
5275                             Notify (\_SB.PCI0.PEG.VID, 0xDF) // Hardware-Specific
5276                         }
5277 
5278                         Sleep (0x01F4)
5279                         Notify (AC, 0x80) // Status Change
5280                         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5281                         If (\WXPF)
5282                         {
5283                             Acquire (MCPU, 0xFFFF)
5284                         }
5285 
5286                         PWRS = 0x00
5287                         If ((\_PR.CFGD & 0x01))
5288                         {
5289                             If ((\OSPX || \CPPX))
5290                             {
5291                                 \PNTF (0x80)
5292                             }
5293                         }
5294 
5295                         If (\WXPF)
5296                         {
5297                             Sleep (0x64)
5298                         }
5299 
5300                         If (\OSC4)
5301                         {
5302                             \PNTF (0x81)
5303                         }
5304 
5305                         If (\WXPF)
5306                         {
5307                             Release (MCPU)
5308                         }
5309 
5310                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5311                         ATMC ()
5312                     }
5313 
5314                     Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
5315                     {
5316                         \VCMS (0x01, \_SB.LID._LID ())
5317                         If ((\ILNF == 0x00))
5318                         {
5319                             If (\IOST)
5320                             {
5321                                 If (!\ISOC (0x00))
5322                                 {
5323                                     \IOST = 0x00
5324                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5325                                 }
5326                             }
5327 
5328                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5329                             If ((\PLUX == 0x00))
5330                             {
5331                                 If (VIGD)
5332                                 {
5333                                     \_SB.PCI0.VID.GLIS (0x01)
5334                                     \_SB.PCI0.VID.VLOC (0x01)
5335                                 }
5336                                 Else
5337                                 {
5338                                     \_SB.PCI0.PEG.VID.VLOC (0x01)
5339                                 }
5340 
5341                                 Notify (\_SB.LID, 0x80) // Status Change
5342                             }
5343                         }
5344                     }
5345 
5346                     Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
5347                     {
5348                         \UCMS (0x0D)
5349                         \VCMS (0x01, \_SB.LID._LID ())
5350                         If ((\ILNF == 0x00))
5351                         {
5352                             If ((\IOEN && !\IOST))
5353                             {
5354                                 If (!\ISOC (0x01))
5355                                 {
5356                                     \IOST = 0x01
5357                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5358                                 }
5359                             }
5360 
5361                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5362                             If ((\PLUX == 0x00))
5363                             {
5364                                 If (VIGD)
5365                                 {
5366                                     \_SB.PCI0.VID.GLIS (0x00)
5367                                 }
5368                                 Else
5369                                 {
5370                                     \_SB.PCI0.PEG.VID.VLOC (0x00)
5371                                 }
5372 
5373                                 Notify (\_SB.LID, 0x80) // Status Change
5374                             }
5375                         }
5376                     }
5377 
5378                     Method (_Q3D, 0, NotSerialized)  // _Qxx: EC Query
5379                     {
5380                     }
5381 
5382                     Method (_Q48, 0, NotSerialized)  // _Qxx: EC Query
5383                     {
5384                         If ((\_PR.CFGD & 0x01))
5385                         {
5386                             If ((\OSPX || \CPPX))
5387                             {
5388                                 \PNTF (0x80)
5389                             }
5390                             Else
5391                             {
5392                                 \STEP (0x04)
5393                             }
5394 
5395                             \_SB.PCI0.LPC.EC.CALM = 0x01
5396                         }
5397                     }
5398 
5399                     Method (_Q49, 0, NotSerialized)  // _Qxx: EC Query
5400                     {
5401                         If ((\_PR.CFGD & 0x01))
5402                         {
5403                             If ((\OSPX || \CPPX))
5404                             {
5405                                 \PNTF (0x80)
5406                             }
5407                             Else
5408                             {
5409                                 \STEP (0x05)
5410                             }
5411                         }
5412                     }
5413 
5414                     Method (_Q7F, 0, NotSerialized)  // _Qxx: EC Query
5415                     {
5416                         Fatal (0x01, 0x80010000, 0x1E50)
5417                     }
5418 
5419                     Method (_Q4E, 0, NotSerialized)  // _Qxx: EC Query
5420                     {
5421                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5422                     }
5423 
5424                     Method (_Q4F, 0, NotSerialized)  // _Qxx: EC Query
5425                     {
5426                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5427                     }
5428 
5429                     Method (_Q46, 0, NotSerialized)  // _Qxx: EC Query
5430                     {
5431                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5432                     }
5433 
5434                     Method (_Q7D, 0, NotSerialized)  // _Qxx: EC Query
5435                     {
5436                         \_SB.PCI0.LPC.EC.GPLN = 0x01
5437                         Notify (\_SB.PCI0.PEG.VID, 0xD5) // Hardware-Specific
5438                     }
5439 
5440                     Method (_Q7E, 0, NotSerialized)  // _Qxx: EC Query
5441                     {
5442                         Notify (\_SB.PCI0.PEG.VID, 0xD1) // Hardware-Specific
5443                     }
5444 
5445                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
5446                     {
5447                         CLPM ()
5448                         If (HB0A)
5449                         {
5450                             Notify (BAT0, 0x80) // Status Change
5451                         }
5452 
5453                         If (HB1A)
5454                         {
5455                             Notify (BAT1, 0x80) // Status Change
5456                         }
5457                     }
5458 
5459                     Method (_Q4A, 0, NotSerialized)  // _Qxx: EC Query
5460                     {
5461                         CLPM ()
5462                         Notify (BAT0, 0x81) // Information Change
5463                     }
5464 
5465                     Method (_Q4B, 0, NotSerialized)  // _Qxx: EC Query
5466                     {
5467                         CLPM ()
5468                         Notify (BAT0, 0x80) // Status Change
5469                     }
5470 
5471                     Method (_Q4D, 0, NotSerialized)  // _Qxx: EC Query
5472                     {
5473                         CLPM ()
5474                         If (\BT2T)
5475                         {
5476                             If ((^BAT1.SBLI == 0x01))
5477                             {
5478                                 Sleep (0x0A)
5479                                 If ((HB1A && (SLUL == 0x00)))
5480                                 {
5481                                     ^BAT1.XB1S = 0x01
5482                                     Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5483                                 }
5484                             }
5485                             Else
5486                             {
5487                                 If ((SLUL == 0x01))
5488                                 {
5489                                     ^BAT1.XB1S = 0x00
5490                                     Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
5491                                 }
5492                             }
5493                         }
5494 
5495                         If ((^BAT1.B1ST & ^BAT1.XB1S))
5496                         {
5497                             Notify (BAT1, 0x80) // Status Change
5498                         }
5499                     }
5500 
5501                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
5502                     {
5503                         CLPM ()
5504                         Notify (BAT0, 0x80) // Status Change
5505                     }
5506 
5507                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
5508                     {
5509                         If ((^BAT1.B1ST & ^BAT1.XB1S))
5510                         {
5511                             CLPM ()
5512                             Notify (BAT1, 0x80) // Status Change
5513                         }
5514                     }
5515 
5516                     Method (BATW, 1, NotSerialized)
5517                     {
5518                         If (\BT2T)
5519                         {
5520                             Local0 = \_SB.PCI0.LPC.EC.BAT1.XB1S
5521                             If ((HB1A && !SLUL))
5522                             {
5523                                 Local1 = 0x01
5524                             }
5525                             Else
5526                             {
5527                                 Local1 = 0x00
5528                             }
5529 
5530                             If ((Local0 ^ Local1))
5531                             {
5532                                 \_SB.PCI0.LPC.EC.BAT1.XB1S = Local1
5533                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5534                             }
5535                         }
5536                     }
5537 
5538                     Field (ECOR, ByteAcc, NoLock, Preserve)
5539                     {
5540                         Offset (0xA0), 
5541                         SBRC,   16, 
5542                         SBFC,   16, 
5543                         SBAE,   16, 
5544                         SBRS,   16, 
5545                         SBAC,   16, 
5546                         SBVO,   16, 
5547                         SBAF,   16, 
5548                         SBBS,   16
5549                     }
5550 
5551                     Field (ECOR, ByteAcc, NoLock, Preserve)
5552                     {
5553                         Offset (0xA0), 
5554                         SBBM,   16, 
5555                         SBMD,   16, 
5556                         SBCC,   16
5557                     }
5558 
5559                     Field (ECOR, ByteAcc, NoLock, Preserve)
5560                     {
5561                         Offset (0xA0), 
5562                         SBDC,   16, 
5563                         SBDV,   16, 
5564                         SBOM,   16, 
5565                         SBSI,   16, 
5566                         SBDT,   16, 
5567                         SBSN,   16
5568                     }
5569 
5570                     Field (ECOR, ByteAcc, NoLock, Preserve)
5571                     {
5572                         Offset (0xA0), 
5573                         SBCH,   32
5574                     }
5575 
5576                     Field (ECOR, ByteAcc, NoLock, Preserve)
5577                     {
5578                         Offset (0xA0), 
5579                         SBMN,   128
5580                     }
5581 
5582                     Field (ECOR, ByteAcc, NoLock, Preserve)
5583                     {
5584                         Offset (0xA0), 
5585                         SBDN,   128
5586                     }
5587 
5588                     Mutex (BATM, 0x07)
5589                     Method (GBIF, 3, NotSerialized)
5590                     {
5591                         Acquire (BATM, 0xFFFF)
5592                         If (Arg2)
5593                         {
5594                             HIID = (Arg0 | 0x01)
5595                             Local7 = SBBM /* \_SB_.PCI0.LPC_.EC__.SBBM */
5596                             Local7 >>= 0x0F
5597                             Index (Arg1, 0x00) = (Local7 ^ 0x01)
5598                             HIID = Arg0
5599                             If (Local7)
5600                             {
5601                                 Local1 = (SBFC * 0x0A)
5602                             }
5603                             Else
5604                             {
5605                                 Local1 = SBFC /* \_SB_.PCI0.LPC_.EC__.SBFC */
5606                             }
5607 
5608                             Index (Arg1, 0x02) = Local1
5609                             HIID = (Arg0 | 0x02)
5610                             If (Local7)
5611                             {
5612                                 Local0 = (SBDC * 0x0A)
5613                             }
5614                             Else
5615                             {
5616                                 Local0 = SBDC /* \_SB_.PCI0.LPC_.EC__.SBDC */
5617                             }
5618 
5619                             Index (Arg1, 0x01) = Local0
5620                             Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
5621                             If (Local7)
5622                             {
5623                                 Index (Arg1, 0x06) = 0xC8
5624                             }
5625                             Else
5626                             {
5627                                 If (SBDV)
5628                                 {
5629                                     Divide (0x00030D40, SBDV, Local2, Index (Arg1, 0x06))
5630                                 }
5631                                 Else
5632                                 {
5633                                     Index (Arg1, 0x06) = 0x00
5634                                 }
5635                             }
5636 
5637                             Index (Arg1, 0x04) = SBDV /* \_SB_.PCI0.LPC_.EC__.SBDV */
5638                             Local0 = SBSN /* \_SB_.PCI0.LPC_.EC__.SBSN */
5639                             Name (SERN, Buffer (0x06)
5640                             {
5641                                 "     "
5642                             })
5643                             Local2 = 0x04
5644                             While (Local0)
5645                             {
5646                                 Divide (Local0, 0x0A, Local1, Local0)
5647                                 Index (SERN, Local2) = (Local1 + 0x30)
5648                                 Local2--
5649                             }
5650 
5651                             Index (Arg1, 0x0A) = SERN /* \_SB_.PCI0.LPC_.EC__.GBIF.SERN */
5652                             HIID = (Arg0 | 0x06)
5653                             Index (Arg1, 0x09) = SBDN /* \_SB_.PCI0.LPC_.EC__.SBDN */
5654                             HIID = (Arg0 | 0x04)
5655                             Name (BTYP, Buffer (0x05)
5656                             {
5657                                  0x00, 0x00, 0x00, 0x00, 0x00                     /* ..... */
5658                             })
5659                             BTYP = SBCH /* \_SB_.PCI0.LPC_.EC__.SBCH */
5660                             Index (Arg1, 0x0B) = BTYP /* \_SB_.PCI0.LPC_.EC__.GBIF.BTYP */
5661                             HIID = (Arg0 | 0x05)
5662                             Index (Arg1, 0x0C) = SBMN /* \_SB_.PCI0.LPC_.EC__.SBMN */
5663                         }
5664                         Else
5665                         {
5666                             Index (Arg1, 0x01) = 0xFFFFFFFF
5667                             Index (Arg1, 0x05) = 0x00
5668                             Index (Arg1, 0x06) = 0x00
5669                             Index (Arg1, 0x02) = 0xFFFFFFFF
5670                         }
5671 
5672                         Release (BATM)
5673                         Return (Arg1)
5674                     }
5675 
5676                     Method (GBST, 4, NotSerialized)
5677                     {
5678                         Acquire (BATM, 0xFFFF)
5679                         If ((Arg1 & 0x20))
5680                         {
5681                             Local0 = 0x02
5682                         }
5683                         Else
5684                         {
5685                             If ((Arg1 & 0x40))
5686                             {
5687                                 Local0 = 0x01
5688                             }
5689                             Else
5690                             {
5691                                 Local0 = 0x00
5692                             }
5693                         }
5694 
5695                         If ((Arg1 & 0x07)) {}
5696                         Else
5697                         {
5698                             Local0 |= 0x04
5699                         }
5700 
5701                         If (((Arg1 & 0x07) == 0x07))
5702                         {
5703                             Local0 = 0x04
5704                             Local1 = 0x00
5705                             Local2 = 0x00
5706                             Local3 = 0x00
5707                         }
5708                         Else
5709                         {
5710                             HIID = Arg0
5711                             Local3 = SBVO /* \_SB_.PCI0.LPC_.EC__.SBVO */
5712                             If (Arg2)
5713                             {
5714                                 Local2 = (SBRC * 0x0A)
5715                             }
5716                             Else
5717                             {
5718                                 Local2 = SBRC /* \_SB_.PCI0.LPC_.EC__.SBRC */
5719                             }
5720 
5721                             Local1 = SBAC /* \_SB_.PCI0.LPC_.EC__.SBAC */
5722                             If ((Local1 >= 0x8000))
5723                             {
5724                                 If ((Local0 & 0x01))
5725                                 {
5726                                     Local1 = (0x00010000 - Local1)
5727                                 }
5728                                 Else
5729                                 {
5730                                     Local1 = 0x00
5731                                 }
5732                             }
5733                             Else
5734                             {
5735                                 If (!(Local0 & 0x02))
5736                                 {
5737                                     Local1 = 0x00
5738                                 }
5739                             }
5740 
5741                             If (Arg2)
5742                             {
5743                                 Local1 *= Local3
5744                                 Divide (Local1, 0x03E8, Local7, Local1)
5745                             }
5746                         }
5747 
5748                         Index (Arg3, 0x00) = Local0
5749                         Index (Arg3, 0x01) = Local1
5750                         Index (Arg3, 0x02) = Local2
5751                         Index (Arg3, 0x03) = Local3
5752                         Release (BATM)
5753                         Return (Arg3)
5754                     }
5755 
5756                     Device (BAT0)
5757                     {
5758                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
5759                         Name (_UID, 0x00)  // _UID: Unique ID
5760                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
5761                         {
5762                             \_SB
5763                         })
5764                         Name (B0ST, 0x00)
5765                         Name (BT0I, Package (0x0D)
5766                         {
5767                             0x00, 
5768                             0xFFFFFFFF, 
5769                             0xFFFFFFFF, 
5770                             0x01, 
5771                             0x2A30, 
5772                             0x00, 
5773                             0x00, 
5774                             0x01, 
5775                             0x01, 
5776                             "", 
5777                             "", 
5778                             "", 
5779                             ""
5780                         })
5781                         Name (BT0P, Package (0x04) {})
5782                         Method (_STA, 0, NotSerialized)  // _STA: Status
5783                         {
5784                             If (\H8DR)
5785                             {
5786                                 B0ST = HB0A /* \_SB_.PCI0.LPC_.EC__.HB0A */
5787                             }
5788                             Else
5789                             {
5790                                 If ((\RBEC (0x38) & 0x80))
5791                                 {
5792                                     B0ST = 0x01
5793                                 }
5794                                 Else
5795                                 {
5796                                     B0ST = 0x00
5797                                 }
5798                             }
5799 
5800                             If (B0ST)
5801                             {
5802                                 Return (0x1F)
5803                             }
5804                             Else
5805                             {
5806                                 Return (0x0F)
5807                             }
5808                         }
5809 
5810                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
5811                         {
5812                             Local7 = 0x00
5813                             Local6 = 0x0A
5814                             While ((!Local7 && Local6))
5815                             {
5816                                 If (HB0A)
5817                                 {
5818                                     If (((HB0S & 0x07) == 0x07))
5819                                     {
5820                                         Sleep (0x03E8)
5821                                         Local6--
5822                                     }
5823                                     Else
5824                                     {
5825                                         Local7 = 0x01
5826                                     }
5827                                 }
5828                                 Else
5829                                 {
5830                                     Local6 = 0x00
5831                                 }
5832                             }
5833 
5834                             Return (GBIF (0x00, BT0I, Local7))
5835                         }
5836 
5837                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
5838                         {
5839                             Local0 = (DerefOf (Index (BT0I, 0x00)) ^ 0x01)
5840                             Return (GBST (0x00, HB0S, Local0, BT0P))
5841                         }
5842 
5843                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
5844                         {
5845                             HAM4 &= 0xEF
5846                             If (Arg0)
5847                             {
5848                                 Local1 = Arg0
5849                                 If (!DerefOf (Index (BT0I, 0x00)))
5850                                 {
5851                                     Divide (Local1, 0x0A, Local0, Local1)
5852                                 }
5853 
5854                                 HT0L = (Local1 & 0xFF)
5855                                 HT0H = ((Local1 >> 0x08) & 0xFF)
5856                                 HAM4 |= 0x10
5857                             }
5858                         }
5859                     }
5860 
5861                     Device (BAT1)
5862                     {
5863                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
5864                         Name (_UID, 0x01)  // _UID: Unique ID
5865                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
5866                         {
5867                             \_SB
5868                         })
5869                         Name (B1ST, 0x00)
5870                         Name (SBLI, 0x01)
5871                         Name (XB1S, 0x00)
5872                         Name (BT1I, Package (0x0D)
5873                         {
5874                             0x00, 
5875                             0xFFFFFFFF, 
5876                             0xFFFFFFFF, 
5877                             0x01, 
5878                             0x2A30, 
5879                             0x00, 
5880                             0x00, 
5881                             0x01, 
5882                             0x01, 
5883                             "", 
5884                             "", 
5885                             "", 
5886                             ""
5887                         })
5888                         Name (BT1P, Package (0x04) {})
5889                         Method (_STA, 0, NotSerialized)  // _STA: Status
5890                         {
5891                             If (\H8DR)
5892                             {
5893                                 If (HB1A)
5894                                 {
5895                                     B1ST = 0x01
5896                                     If (\BT2T)
5897                                     {
5898                                         If (SLUL)
5899                                         {
5900                                             SBLI = 0x01
5901                                             XB1S = 0x00
5902                                         }
5903                                         Else
5904                                         {
5905                                             SBLI = 0x00
5906                                             XB1S = 0x01
5907                                         }
5908                                     }
5909                                     Else
5910                                     {
5911                                         XB1S = 0x01
5912                                     }
5913                                 }
5914                                 Else
5915                                 {
5916                                     B1ST = 0x00
5917                                     If (\BT2T)
5918                                     {
5919                                         SBLI = 0x01
5920                                         XB1S = 0x00
5921                                     }
5922                                     Else
5923                                     {
5924                                         XB1S = 0x00
5925                                     }
5926                                 }
5927                             }
5928                             Else
5929                             {
5930                                 If ((\RBEC (0x39) & 0x80))
5931                                 {
5932                                     B1ST = 0x01
5933                                     If (\BT2T)
5934                                     {
5935                                         If ((\RBEC (0x49) & 0x01))
5936                                         {
5937                                             SBLI = 0x01
5938                                             XB1S = 0x00
5939                                         }
5940                                         Else
5941                                         {
5942                                             SBLI = 0x00
5943                                             XB1S = 0x01
5944                                         }
5945                                     }
5946                                     Else
5947                                     {
5948                                         XB1S = 0x01
5949                                     }
5950                                 }
5951                                 Else
5952                                 {
5953                                     B1ST = 0x00
5954                                     If (\BT2T)
5955                                     {
5956                                         SBLI = 0x01
5957                                         XB1S = 0x00
5958                                     }
5959                                     Else
5960                                     {
5961                                         XB1S = 0x00
5962                                     }
5963                                 }
5964                             }
5965 
5966                             If (B1ST)
5967                             {
5968                                 If (XB1S)
5969                                 {
5970                                     Return (0x1F)
5971                                 }
5972                                 Else
5973                                 {
5974                                     If (\WNTF)
5975                                     {
5976                                         Return (0x00)
5977                                     }
5978                                     Else
5979                                     {
5980                                         Return (0x1F)
5981                                     }
5982                                 }
5983                             }
5984                             Else
5985                             {
5986                                 If (\WNTF)
5987                                 {
5988                                     Return (0x00)
5989                                 }
5990                                 Else
5991                                 {
5992                                     Return (0x0F)
5993                                 }
5994                             }
5995                         }
5996 
5997                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
5998                         {
5999                             Local7 = 0x00
6000                             Local6 = 0x0A
6001                             While ((!Local7 && Local6))
6002                             {
6003                                 If (HB1A)
6004                                 {
6005                                     If (((HB1S & 0x07) == 0x07))
6006                                     {
6007                                         Sleep (0x03E8)
6008                                         Local6--
6009                                     }
6010                                     Else
6011                                     {
6012                                         Local7 = 0x01
6013                                     }
6014                                 }
6015                                 Else
6016                                 {
6017                                     Local6 = 0x00
6018                                 }
6019                             }
6020 
6021                             Return (GBIF (0x10, BT1I, Local7))
6022                         }
6023 
6024                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
6025                         {
6026                             Local0 = (DerefOf (Index (BT1I, 0x00)) ^ 0x01)
6027                             Return (GBST (0x10, HB1S, Local0, BT1P))
6028                         }
6029 
6030                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
6031                         {
6032                             HAM4 &= 0xDF
6033                             If (Arg0)
6034                             {
6035                                 Local1 = Arg0
6036                                 If (!DerefOf (Index (BT1I, 0x00)))
6037                                 {
6038                                     Divide (Local1, 0x0A, Local0, Local1)
6039                                 }
6040 
6041                                 HT1L = (Local1 & 0xFF)
6042                                 HT1H = ((Local1 >> 0x08) & 0xFF)
6043                                 HAM4 |= 0x20
6044                             }
6045                         }
6046                     }
6047 
6048                     Device (AC)
6049                     {
6050                         Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
6051                         Name (_UID, 0x00)  // _UID: Unique ID
6052                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6053                         {
6054                             \_SB
6055                         })
6056                         Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
6057                         {
6058                             If (\H8DR)
6059                             {
6060                                 Return (HPAC) /* \_SB_.PCI0.LPC_.EC__.HPAC */
6061                             }
6062                             Else
6063                             {
6064                                 If ((\RBEC (0x46) & 0x10))
6065                                 {
6066                                     Return (0x01)
6067                                 }
6068                                 Else
6069                                 {
6070                                     Return (0x00)
6071                                 }
6072                             }
6073                         }
6074 
6075                         Method (_STA, 0, NotSerialized)  // _STA: Status
6076                         {
6077                             Return (0x0F)
6078                         }
6079                     }
6080 
6081                     Device (HKEY)
6082                     {
6083                         Name (_HID, EisaId ("LEN0068"))  // _HID: Hardware ID
6084                         Method (_STA, 0, NotSerialized)  // _STA: Status
6085                         {
6086                             Return (0x0F)
6087                         }
6088 
6089                         Method (MHKV, 0, NotSerialized)
6090                         {
6091                             Return (0x0100)
6092                         }
6093 
6094                         Name (DHKC, 0x00)
6095                         Name (DHKB, 0x01)
6096                         Mutex (XDHK, 0x07)
6097                         Name (DHKH, 0x00)
6098                         Name (DHKW, 0x00)
6099                         Name (DHKS, 0x00)
6100                         Name (DHKD, 0x00)
6101                         Name (DHKN, 0x0808)
6102                         Name (DHKT, 0x00)
6103                         Name (DHWW, 0x00)
6104                         Method (MHKA, 0, NotSerialized)
6105                         {
6106                             Return (0xFFFFFFFB)
6107                         }
6108 
6109                         Method (MHKN, 0, NotSerialized)
6110                         {
6111                             Return (DHKN) /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6112                         }
6113 
6114                         Method (MHKK, 1, NotSerialized)
6115                         {
6116                             If (DHKC)
6117                             {
6118                                 Return ((DHKN & Arg0))
6119                             }
6120                             Else
6121                             {
6122                                 Return (Zero)
6123                             }
6124                         }
6125 
6126                         Method (MHKM, 2, NotSerialized)
6127                         {
6128                             Acquire (XDHK, 0xFFFF)
6129                             If ((Arg0 > 0x20))
6130                             {
6131                                 Noop
6132                             }
6133                             Else
6134                             {
6135                                 Local0 = (One << Arg0--)
6136                                 If ((Local0 & 0xFFFFFFFB))
6137                                 {
6138                                     If (Arg1)
6139                                     {
6140                                         DHKN |= Local0 /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6141                                     }
6142                                     Else
6143                                     {
6144                                         DHKN &= (Local0 ^ 0xFFFFFFFF)
6145                                     }
6146                                 }
6147                                 Else
6148                                 {
6149                                     Noop
6150                                 }
6151                             }
6152 
6153                             Release (XDHK)
6154                         }
6155 
6156                         Method (MHKS, 0, NotSerialized)
6157                         {
6158                             Notify (\_SB.SLPB, 0x80) // Status Change
6159                         }
6160 
6161                         Method (MHKC, 1, NotSerialized)
6162                         {
6163                             DHKC = Arg0
6164                         }
6165 
6166                         Method (MHKP, 0, NotSerialized)
6167                         {
6168                             Acquire (XDHK, 0xFFFF)
6169                             If (DHWW)
6170                             {
6171                                 Local1 = DHWW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHWW */
6172                                 DHWW = Zero
6173                             }
6174                             Else
6175                             {
6176                                 If (DHKW)
6177                                 {
6178                                     Local1 = DHKW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKW */
6179                                     DHKW = Zero
6180                                 }
6181                                 Else
6182                                 {
6183                                     If (DHKD)
6184                                     {
6185                                         Local1 = DHKD /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKD */
6186                                         DHKD = Zero
6187                                     }
6188                                     Else
6189                                     {
6190                                         If (DHKS)
6191                                         {
6192                                             Local1 = DHKS /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKS */
6193                                             DHKS = Zero
6194                                         }
6195                                         Else
6196                                         {
6197                                             If (DHKT)
6198                                             {
6199                                                 Local1 = DHKT /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKT */
6200                                                 DHKT = Zero
6201                                             }
6202                                             Else
6203                                             {
6204                                                 Local1 = DHKH /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKH */
6205                                                 DHKH = Zero
6206                                             }
6207                                         }
6208                                     }
6209                                 }
6210                             }
6211 
6212                             Release (XDHK)
6213                             Return (Local1)
6214                         }
6215 
6216                         Method (MHKE, 1, NotSerialized)
6217                         {
6218                             DHKB = Arg0
6219                             Acquire (XDHK, 0xFFFF)
6220                             DHKH = Zero
6221                             DHKW = Zero
6222                             DHKS = Zero
6223                             DHKD = Zero
6224                             DHKT = Zero
6225                             DHWW = Zero
6226                             Release (XDHK)
6227                         }
6228 
6229                         Method (MHKQ, 1, NotSerialized)
6230                         {
6231                             If (DHKB)
6232                             {
6233                                 If (DHKC)
6234                                 {
6235                                     Acquire (XDHK, 0xFFFF)
6236                                     If ((Arg0 < 0x1000)) {}
6237                                     Else
6238                                     {
6239                                         If ((Arg0 < 0x2000))
6240                                         {
6241                                             DHKH = Arg0
6242                                         }
6243                                         Else
6244                                         {
6245                                             If ((Arg0 < 0x3000))
6246                                             {
6247                                                 DHKW = Arg0
6248                                             }
6249                                             Else
6250                                             {
6251                                                 If ((Arg0 < 0x4000))
6252                                                 {
6253                                                     DHKS = Arg0
6254                                                 }
6255                                                 Else
6256                                                 {
6257                                                     If ((Arg0 < 0x5000))
6258                                                     {
6259                                                         DHKD = Arg0
6260                                                     }
6261                                                     Else
6262                                                     {
6263                                                         If ((Arg0 < 0x6000))
6264                                                         {
6265                                                             DHKH = Arg0
6266                                                         }
6267                                                         Else
6268                                                         {
6269                                                             If ((Arg0 < 0x7000))
6270                                                             {
6271                                                                 DHKT = Arg0
6272                                                             }
6273                                                             Else
6274                                                             {
6275                                                                 If ((Arg0 < 0x8000))
6276                                                                 {
6277                                                                     DHWW = Arg0
6278                                                                 }
6279                                                                 Else
6280                                                                 {
6281                                                                 }
6282                                                             }
6283                                                         }
6284                                                     }
6285                                                 }
6286                                             }
6287                                         }
6288                                     }
6289 
6290                                     Release (XDHK)
6291                                     Notify (HKEY, 0x80) // Status Change
6292                                 }
6293                                 Else
6294                                 {
6295                                     If ((Arg0 == 0x1004))
6296                                     {
6297                                         Notify (\_SB.SLPB, 0x80) // Status Change
6298                                     }
6299                                 }
6300                             }
6301                         }
6302 
6303                         Method (MHKB, 1, NotSerialized)
6304                         {
6305                             If ((Arg0 == 0x00))
6306                             {
6307                                 \_SB.PCI0.LPC.EC.BEEP (0x11)
6308                                 \LIDB = 0x00
6309                             }
6310                             Else
6311                             {
6312                                 If ((Arg0 == 0x01))
6313                                 {
6314                                     \_SB.PCI0.LPC.EC.BEEP (0x10)
6315                                     \LIDB = 0x01
6316                                 }
6317                                 Else
6318                                 {
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                                 Else
6347                                 {
6348                                     If ((Arg0 == 0x01))
6349                                     {
6350                                         Return (\CWAP)
6351                                     }
6352                                     Else
6353                                     {
6354                                         If ((Arg0 == 0x02))
6355                                         {
6356                                             Return (\CWAT)
6357                                         }
6358                                         Else
6359                                         {
6360                                             Noop
6361                                         }
6362                                     }
6363                                 }
6364                             }
6365                             Else
6366                             {
6367                                 Noop
6368                             }
6369 
6370                             Return (0x00)
6371                         }
6372 
6373                         Method (MHGC, 0, NotSerialized)
6374                         {
6375                             If (\WNTF)
6376                             {
6377                                 Acquire (XDHK, 0xFFFF)
6378                                 If (CKC4 (0x00))
6379                                 {
6380                                     Local0 = 0x03
6381                                 }
6382                                 Else
6383                                 {
6384                                     Local0 = 0x04
6385                                 }
6386 
6387                                 Release (XDHK)
6388                                 Return (Local0)
6389                             }
6390                             Else
6391                             {
6392                                 Noop
6393                             }
6394 
6395                             Return (0x00)
6396                         }
6397 
6398                         Method (MHSC, 1, NotSerialized)
6399                         {
6400                             If ((\CWAC && \WNTF))
6401                             {
6402                                 Acquire (XDHK, 0xFFFF)
6403                                 If (\OSC4)
6404                                 {
6405                                     If ((Arg0 == 0x03))
6406                                     {
6407                                         If (!\CWAS)
6408                                         {
6409                                             \PNTF (0x81)
6410                                             \CWAS = 0x01
6411                                         }
6412                                     }
6413                                     Else
6414                                     {
6415                                         If ((Arg0 == 0x04))
6416                                         {
6417                                             If (\CWAS)
6418                                             {
6419                                                 \PNTF (0x81)
6420                                                 \CWAS = 0x00
6421                                             }
6422                                         }
6423                                         Else
6424                                         {
6425                                             Noop
6426                                         }
6427                                     }
6428                                 }
6429 
6430                                 Release (XDHK)
6431                             }
6432                             Else
6433                             {
6434                                 Noop
6435                             }
6436                         }
6437 
6438                         Method (CKC4, 1, NotSerialized)
6439                         {
6440                             Local0 = 0x00
6441                             If (\C4WR)
6442                             {
6443                                 If (!\C4AC)
6444                                 {
6445                                     Local0 |= 0x01
6446                                 }
6447                             }
6448 
6449                             If (\C4NA)
6450                             {
6451                                 Local0 |= 0x02
6452                             }
6453 
6454                             If ((\CWAC && \CWAS))
6455                             {
6456                                 Local0 |= 0x04
6457                             }
6458 
6459                             Local0 &= ~Arg0
6460                             Return (Local0)
6461                         }
6462 
6463                         Method (MHQE, 0, NotSerialized)
6464                         {
6465                             Return (\C4WR)
6466                         }
6467 
6468                         Method (MHGE, 0, NotSerialized)
6469                         {
6470                             If ((\C4WR && \C4AC))
6471                             {
6472                                 Return (0x04)
6473                             }
6474 
6475                             Return (0x03)
6476                         }
6477 
6478                         Method (MHSE, 1, NotSerialized)
6479                         {
6480                             If (\C4WR)
6481                             {
6482                                 Local0 = \C4AC
6483                                 If ((Arg0 == 0x03))
6484                                 {
6485                                     \C4AC = 0x00
6486                                     If ((Local0 ^ \C4AC))
6487                                     {
6488                                         If (\OSC4)
6489                                         {
6490                                             \PNTF (0x81)
6491                                         }
6492                                     }
6493                                 }
6494                                 Else
6495                                 {
6496                                     If ((Arg0 == 0x04))
6497                                     {
6498                                         \C4AC = 0x01
6499                                         If ((Local0 ^ \C4AC))
6500                                         {
6501                                             If (\OSC4)
6502                                             {
6503                                                 \PNTF (0x81)
6504                                             }
6505                                         }
6506                                     }
6507                                 }
6508                             }
6509                         }
6510 
6511                         Method (UAWO, 1, NotSerialized)
6512                         {
6513                             Return (\UAWS (Arg0))
6514                         }
6515 
6516                         Method (MLCG, 1, NotSerialized)
6517                         {
6518                             Local0 = \KBLS (0x00, 0x00)
6519                             Return (Local0)
6520                         }
6521 
6522                         Method (MLCS, 1, NotSerialized)
6523                         {
6524                             Local0 = \KBLS (0x01, Arg0)
6525                             If (!(Local0 & 0x80000000))
6526                             {
6527                                 If ((Arg0 & 0x00010000))
6528                                 {
6529                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
6530                                 }
6531                                 Else
6532                                 {
6533                                     If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
6534                                     {
6535                                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
6536                                     }
6537                                 }
6538                             }
6539 
6540                             Return (Local0)
6541                         }
6542 
6543                         Method (DSSG, 1, NotSerialized)
6544                         {
6545                             Local0 = (0x0400 | \PDCI)
6546                             Return (Local0)
6547                         }
6548 
6549                         Method (DSSS, 1, NotSerialized)
6550                         {
6551                             \PDCI |= Arg0
6552                         }
6553 
6554                         Method (SBSG, 1, NotSerialized)
6555                         {
6556                             Return (\SYBC (0x00, 0x00))
6557                         }
6558 
6559                         Method (SBSS, 1, NotSerialized)
6560                         {
6561                             Return (\SYBC (0x01, Arg0))
6562                         }
6563 
6564                         Method (PBLG, 1, NotSerialized)
6565                         {
6566                             Local0 = \BRLV
6567                             Local1 = (Local0 | 0x0F00)
6568                             Return (Local1)
6569                         }
6570 
6571                         Method (PBLS, 1, NotSerialized)
6572                         {
6573                             \BRLV = Arg0
6574                             If (\VIGD)
6575                             {
6576                                 \_SB.PCI0.LPC.EC.BRNS ()
6577                             }
6578                             Else
6579                             {
6580                                 \VBRC (\BRLV)
6581                             }
6582 
6583                             If (!\NBCF)
6584                             {
6585                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
6586                             }
6587 
6588                             Return (0x00)
6589                         }
6590 
6591                         Method (PMSG, 1, NotSerialized)
6592                         {
6593                             Local0 = \PRSM (0x00, 0x00)
6594                             Return (Local0)
6595                         }
6596 
6597                         Method (PMSS, 1, NotSerialized)
6598                         {
6599                             \PRSM (0x01, Arg0)
6600                             Return (0x00)
6601                         }
6602 
6603                         Method (ISSG, 1, NotSerialized)
6604                         {
6605                             Local0 = \ISSP
6606                             If (\ISSP)
6607                             {
6608                                 Local0 |= 0x01000000
6609                                 Local0 |= (\ISFS << 0x19)
6610                             }
6611 
6612                             Local0 |= 0x80
6613                             Local0 |= (\ISCG & 0x30)
6614                             Return (Local0)
6615                         }
6616 
6617                         Method (ISSS, 1, NotSerialized)
6618                         {
6619                             \ISCG = Arg0
6620                             Return (0x00)
6621                         }
6622 
6623                         Method (FFSG, 1, NotSerialized)
6624                         {
6625                             Return (\IFRS (0x00, 0x00))
6626                         }
6627 
6628                         Method (FFSS, 1, NotSerialized)
6629                         {
6630                             \IFRS (0x01, Arg0)
6631                             Return (0x00)
6632                         }
6633 
6634                         Method (GMKS, 0, NotSerialized)
6635                         {
6636                             Return (\FNSC (0x02, 0x00))
6637                         }
6638 
6639                         Method (SMKS, 1, NotSerialized)
6640                         {
6641                             Return (\FNSC (0x03, (Arg0 & 0x00010001)))
6642                         }
6643 
6644                         Method (INSG, 1, NotSerialized)
6645                         {
6646                             Local0 = \IOEN
6647                             Local0 |= (\IOST << 0x07)
6648                             Local0 |= (\IOCP << 0x08)
6649                             Local0 |= 0x10000000
6650                             Return (Local0)
6651                         }
6652 
6653                         Method (INSS, 1, NotSerialized)
6654                         {
6655                             If ((Arg0 & 0x10000000))
6656                             {
6657                                 If (\IOCP)
6658                                 {
6659                                     Local0 = ((Arg0 & 0x80) >> 0x07)
6660                                     If (!\EZRC (Local0))
6661                                     {
6662                                         \IOST = Local0
6663                                     }
6664                                 }
6665 
6666                                 Return (0x00)
6667                             }
6668 
6669                             If ((\IOCP && (Arg0 & 0x01)))
6670                             {
6671                                 \IOEN = 0x01
6672                             }
6673                             Else
6674                             {
6675                                 \IOEN = 0x00
6676                                 If (\IOST)
6677                                 {
6678                                     If (!\ISOC (0x00))
6679                                     {
6680                                         \IOST = 0x00
6681                                     }
6682                                 }
6683                             }
6684 
6685                             Return (0x00)
6686                         }
6687                     }
6688 
6689                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6690                     {
6691                         Name (INDV, 0x00)
6692                         Method (MHQI, 0, NotSerialized)
6693                         {
6694                             If ((\IPMS & 0x01))
6695                             {
6696                                 INDV |= 0x01
6697                             }
6698 
6699                             If ((\IPMS & 0x02))
6700                             {
6701                                 INDV |= 0x02
6702                             }
6703 
6704                             If ((\IPMS & 0x04))
6705                             {
6706                                 INDV |= 0x0100
6707                             }
6708 
6709                             If ((\IPMS & 0x08))
6710                             {
6711                                 INDV |= 0x0200
6712                             }
6713 
6714                             If ((\IPMS & 0x10))
6715                             {
6716                                 INDV |= 0x04
6717                             }
6718 
6719                             Return (INDV) /* \_SB_.PCI0.LPC_.EC__.HKEY.INDV */
6720                         }
6721 
6722                         Method (MHGI, 1, NotSerialized)
6723                         {
6724                             Name (RETB, Buffer (0x10) {})
6725                             CreateByteField (RETB, 0x00, MHGS)
6726                             Local0 = (0x01 << Arg0)
6727                             If ((INDV & Local0))
6728                             {
6729                                 If ((Arg0 == 0x00))
6730                                 {
6731                                     CreateField (RETB, 0x08, 0x78, BRBU)
6732                                     BRBU = \IPMB
6733                                     MHGS = 0x10
6734                                 }
6735                                 Else
6736                                 {
6737                                     If ((Arg0 == 0x01))
6738                                     {
6739                                         CreateField (RETB, 0x08, 0x18, RRBU)
6740                                         RRBU = \IPMR
6741                                         MHGS = 0x04
6742                                     }
6743                                     Else
6744                                     {
6745                                         If ((Arg0 == 0x08))
6746                                         {
6747                                             CreateField (RETB, 0x10, 0x18, ODBU)
6748                                             CreateByteField (RETB, 0x01, MHGZ)
6749                                             ODBU = \IPMO
6750                                             If (((^^BSTS == 0x00) && (^^BDEV == 0x03)))
6751                                             {
6752                                                 MHGZ |= 0x01 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6753                                                 MHGZ |= 0x02 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6754                                             }
6755 
6756                                             MHGS = 0x05
6757                                         }
6758                                         Else
6759                                         {
6760                                             If ((Arg0 == 0x09))
6761                                             {
6762                                                 CreateField (RETB, 0x10, 0x08, AUBU)
6763                                                 AUBU = \IPMA
6764                                                 Index (RETB, 0x01) = 0x01
6765                                                 MHGS = 0x03
6766                                             }
6767                                             Else
6768                                             {
6769                                                 If ((Arg0 == 0x02))
6770                                                 {
6771                                                     Local1 = \VDYN (0x00, 0x00)
6772                                                     Index (RETB, 0x02) = (Local1 & 0x0F)
6773                                                     Local1 >>= 0x04
6774                                                     Index (RETB, 0x01) = (Local1 & 0x0F)
6775                                                     MHGS = 0x03
6776                                                 }
6777                                             }
6778                                         }
6779                                     }
6780                                 }
6781                             }
6782 
6783                             Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.RETB */
6784                         }
6785 
6786                         Method (MHSI, 2, NotSerialized)
6787                         {
6788                             Local0 = (0x01 << Arg0)
6789                             If ((INDV & Local0))
6790                             {
6791                                 If ((Arg0 == 0x08))
6792                                 {
6793                                     If (Arg1)
6794                                     {
6795                                         If (\H8DR)
6796                                         {
6797                                             Local1 = ^^HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
6798                                         }
6799                                         Else
6800                                         {
6801                                             Local1 = (\RBEC (0x47) & 0x01)
6802                                         }
6803 
6804                                         If (!Local1)
6805                                         {
6806                                             ^^BDEV = ^^BGID (0x00)
6807                                             ^^NBIN (Local1)
6808                                         }
6809                                     }
6810                                 }
6811                                 Else
6812                                 {
6813                                     If ((Arg0 == 0x02))
6814                                     {
6815                                         \VDYN (0x01, Arg1)
6816                                     }
6817                                 }
6818                             }
6819                         }
6820                     }
6821 
6822                     Scope (\_SB.PCI0.LPC.EC)
6823                     {
6824                         Method (_Q6A, 0, NotSerialized)  // _Qxx: EC Query
6825                         {
6826                             If (HDMC)
6827                             {
6828                                 Noop
6829                             }
6830                             Else
6831                             {
6832                                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
6833                                 {
6834                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
6835                                 }
6836                             }
6837                         }
6838                     }
6839 
6840                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6841                     {
6842                         Method (MMTG, 0, NotSerialized)
6843                         {
6844                             Local0 = 0x0101
6845                             If (HDMC)
6846                             {
6847                                 Local0 |= 0x00010000
6848                             }
6849 
6850                             Return (Local0)
6851                         }
6852 
6853                         Method (MMTS, 1, NotSerialized)
6854                         {
6855                             If (HDMC)
6856                             {
6857                                 Noop
6858                             }
6859                             Else
6860                             {
6861                                 If ((Arg0 == 0x02))
6862                                 {
6863                                     \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
6864                                 }
6865                                 Else
6866                                 {
6867                                     If ((Arg0 == 0x03))
6868                                     {
6869                                         \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
6870                                     }
6871                                     Else
6872                                     {
6873                                         \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
6874                                     }
6875                                 }
6876                             }
6877                         }
6878                     }
6879 
6880                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6881                     {
6882                         Method (PWMC, 0, NotSerialized)
6883                         {
6884                             Return (0x01)
6885                         }
6886 
6887                         Method (PWMG, 0, NotSerialized)
6888                         {
6889                             Local0 = \_SB.PCI0.LPC.EC.PWMH
6890                             Local0 <<= 0x08
6891                             Local0 |= \_SB.PCI0.LPC.EC.PWML
6892                             Return (Local0)
6893                         }
6894                     }
6895 
6896                     Scope (\_SB.PCI0.LPC.EC)
6897                     {
6898                         Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query
6899                         {
6900                             If (DOCD)
6901                             {
6902                                 Sleep (0x64)
6903                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
6904                             }
6905                             Else
6906                             {
6907                                 Sleep (0x64)
6908                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6909                             }
6910                         }
6911 
6912                         Method (DKID, 0, NotSerialized)
6913                         {
6914                             Local0 = \_SB.PCI0.LPC.DOI0
6915                             Local1 = \_SB.PCI0.LPC.DOI1
6916                             Local2 = \_SB.PCI0.LPC.DOI2
6917                             Local3 = \_SB.PCI0.LPC.DOI3
6918                             Local0 |= (Local1 << 0x01)
6919                             Local0 |= (Local2 << 0x02)
6920                             Local0 |= (Local3 << 0x03)
6921                             Return (Local0)
6922                         }
6923                     }
6924 
6925                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6926                     {
6927                         Method (GDKS, 0, NotSerialized)
6928                         {
6929                             Local0 = 0x00
6930                             If ((\_SB.PCI0.LPC.EC.DOCD == 0x01))
6931                             {
6932                                 Local0 |= 0x01
6933                                 Local1 = \_SB.PCI0.LPC.EC.DKID ()
6934                                 Local1 <<= 0x08
6935                                 Local0 |= Local1
6936                             }
6937 
6938                             Local0 |= 0x00010000
6939                             Return (Local0)
6940                         }
6941                     }
6942 
6943                     Scope (\_SB.PCI0.LPC.EC)
6944                     {
6945                         Method (_Q3F, 0, NotSerialized)  // _Qxx: EC Query
6946                         {
6947                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
6948                         }
6949 
6950                         Method (_Q74, 0, NotSerialized)  // _Qxx: EC Query
6951                         {
6952                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6060)
6953                         }
6954                     }
6955 
6956                     Scope (\_SB.PCI0.LPC.EC.HKEY)
6957                     {
6958                         Method (NUMG, 0, NotSerialized)
6959                         {
6960                             Local0 = 0x01
6961                             If (\_SB.PCI0.LPC.EC.SNLK)
6962                             {
6963                                 Local0 &= ~0x02
6964                             }
6965                             Else
6966                             {
6967                                 Local0 |= 0x02
6968                             }
6969 
6970                             Local0 |= 0x02
6971                             If (\_SB.PCI0.LPC.EC.NULS)
6972                             {
6973                                 Local0 |= 0x0100
6974                             }
6975                             Else
6976                             {
6977                                 Local0 &= ~0x0100
6978                             }
6979 
6980                             Return (Local0)
6981                         }
6982                     }
6983                 }
6984             }
6985 
6986             Device (PEG)
6987             {
6988                 Name (_ADR, 0x001C0004)  // _ADR: Address
6989                 Name (_S3D, 0x03)  // _S3D: S3 Device State
6990                 Name (RID, 0x00)
6991                 Name (LTRS, Zero)
6992                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
6993                 {
6994                     LTRE = LTR5 /* \LTR5 */
6995                     LMSL = PML5 /* \PML5 */
6996                     LNSL = PNL5 /* \PNL5 */
6997                     OBFF = OBF5 /* \OBF5 */
6998                 }
6999 
7000                 OperationRegion (RPCX, SystemMemory, ((PXBR << 0x1A) + 0x000E4000), 0x1000)
7001                 Field (RPCX, DWordAcc, NoLock, Preserve)
7002                 {
7003                     Offset (0x4A), 
7004                     CEDR,   1, 
7005                     Offset (0x69), 
7006                         ,   2, 
7007                     LREN,   1
7008                 }
7009 
7010                 Name (LPRT, Package (0x04)
7011                 {
7012                     Package (0x04)
7013                     {
7014                         0xFFFF, 
7015                         0x00, 
7016                         \_SB.LNKA, 
7017                         0x00
7018                     }, 
7019 
7020                     Package (0x04)
7021                     {
7022                         0xFFFF, 
7023                         0x01, 
7024                         \_SB.LNKB, 
7025                         0x00
7026                     }, 
7027 
7028                     Package (0x04)
7029                     {
7030                         0xFFFF, 
7031                         0x02, 
7032                         \_SB.LNKC, 
7033                         0x00
7034                     }, 
7035 
7036                     Package (0x04)
7037                     {
7038                         0xFFFF, 
7039                         0x03, 
7040                         \_SB.LNKD, 
7041                         0x00
7042                     }
7043                 })
7044                 Name (APRT, Package (0x04)
7045                 {
7046                     Package (0x04)
7047                     {
7048                         0xFFFF, 
7049                         0x00, 
7050                         0x00, 
7051                         0x10
7052                     }, 
7053 
7054                     Package (0x04)
7055                     {
7056                         0xFFFF, 
7057                         0x01, 
7058                         0x00, 
7059                         0x11
7060                     }, 
7061 
7062                     Package (0x04)
7063                     {
7064                         0xFFFF, 
7065                         0x02, 
7066                         0x00, 
7067                         0x12
7068                     }, 
7069 
7070                     Package (0x04)
7071                     {
7072                         0xFFFF, 
7073                         0x03, 
7074                         0x00, 
7075                         0x13
7076                     }
7077                 })
7078                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
7079                 {
7080                     If (\GPIC)
7081                     {
7082                         Return (APRT) /* \_SB_.PCI0.PEG_.APRT */
7083                     }
7084                     Else
7085                     {
7086                         Return (LPRT) /* \_SB_.PCI0.PEG_.LPRT */
7087                     }
7088                 }
7089 
7090                 Mutex (MDGS, 0x07)
7091                 Name (VDEE, 0x01)
7092                 Name (VDDA, Buffer (0x04) {})
7093                 CreateBitField (VDDA, 0x00, VUPC)
7094                 CreateBitField (VDDA, 0x01, VQDL)
7095                 CreateBitField (VDDA, 0x02, VQDC)
7096                 CreateBitField (VDDA, 0x03, VQD0)
7097                 CreateBitField (VDDA, 0x04, VQD1)
7098                 CreateBitField (VDDA, 0x05, VQD2)
7099                 CreateBitField (VDDA, 0x06, VQD3)
7100                 CreateBitField (VDDA, 0x07, VQD4)
7101                 CreateBitField (VDDA, 0x08, VQD5)
7102                 CreateBitField (VDDA, 0x09, VSDL)
7103                 CreateBitField (VDDA, 0x0A, VSDC)
7104                 CreateBitField (VDDA, 0x0B, VSD0)
7105                 CreateBitField (VDDA, 0x0C, VSD1)
7106                 CreateBitField (VDDA, 0x0D, VSD2)
7107                 CreateBitField (VDDA, 0x0E, VSD3)
7108                 CreateBitField (VDDA, 0x0F, VSD4)
7109                 CreateBitField (VDDA, 0x10, VSD5)
7110                 CreateBitField (VDDA, 0x11, MSWT)
7111                 CreateBitField (VDDA, 0x12, VWST)
7112                 Name (WKEN, 0x00)
7113                 Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
7114                 {
7115                     If (Arg1)
7116                     {
7117                         WKEN = 0x00
7118                     }
7119                     Else
7120                     {
7121                         If ((Arg0 && Arg2))
7122                         {
7123                             WKEN = 0x01
7124                         }
7125                         Else
7126                         {
7127                             WKEN = 0x00
7128                         }
7129                     }
7130                 }
7131 
7132                 PowerResource (NVP3, 0x00, 0x0000)
7133                 {
7134                     Name (_STA, One)  // _STA: Status
7135                     Method (_ON, 0, Serialized)  // _ON_: Power On
7136                     {
7137                         \_SB.PCI0.PEG.VID.GPON (0x00)
7138                         _STA = One
7139                     }
7140 
7141                     Method (_OFF, 0, Serialized)  // _OFF: Power Off
7142                     {
7143                         \_SB.PCI0.PEG.VID.GPOF (0x00)
7144                         _STA = Zero
7145                     }
7146                 }
7147 
7148                 PowerResource (NVP2, 0x00, 0x0000)
7149                 {
7150                     Name (_STA, One)  // _STA: Status
7151                     Method (_ON, 0, Serialized)  // _ON_: Power On
7152                     {
7153                         _STA = One
7154                     }
7155 
7156                     Method (_OFF, 0, Serialized)  // _OFF: Power Off
7157                     {
7158                         _STA = One
7159                     }
7160                 }
7161 
7162                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
7163                 {
7164                     NVP3
7165                 })
7166                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
7167                 {
7168                     NVP2
7169                 })
7170                 Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
7171                 {
7172                     NVP3
7173                 })
7174                 Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
7175                 {
7176                     Return (0x04)
7177                 }
7178 
7179                 Device (VID)
7180                 {
7181                     Name (_ADR, 0x00)  // _ADR: Address
7182                     OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7183                     Field (VPCG, DWordAcc, NoLock, Preserve)
7184                     {
7185                         DVID,   16, 
7186                         DDID,   16, 
7187                         Offset (0x2C), 
7188                         VSID,   32, 
7189                         Offset (0x40), 
7190                         VIDS,   32, 
7191                         Offset (0x70), 
7192                         VPWR,   8
7193                     }
7194 
7195                     OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7196                     Field (GPPB, ByteAcc, NoLock, Preserve)
7197                     {
7198                         PBCI,   8, 
7199                         PBNP,   8, 
7200                         PBLS,   8, 
7201                         PBCC,   8, 
7202                         PBCR,   32, 
7203                         PBDI,   32, 
7204                         PBDO,   32, 
7205                         PBMR,   32
7206                     }
7207 
7208                     Method (VRSI, 0, NotSerialized)
7209                     {
7210                         VIDS = 0x222517AA
7211                     }
7212 
7213                     Name (_S3D, 0x03)  // _S3D: S3 Device State
7214                     Name (DGOS, 0x00)
7215                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
7216                     {
7217                         \VUPS (0x02)
7218                         VQDL = \VCDL
7219                         VQDC = \VCDC
7220                         VQD0 = \VCDT
7221                         VQD1 = \VCDD
7222                         VRSI ()
7223                         If (ISOP ())
7224                         {
7225                             \VHYB (0x04, 0x01)
7226                         }
7227                     }
7228 
7229                     Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
7230                     {
7231                         If (!VMSH)
7232                         {
7233                             GPON (0x00)
7234                         }
7235                     }
7236 
7237                     Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
7238                     {
7239                         Noop
7240                     }
7241 
7242                     Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
7243                     {
7244                         Noop
7245                     }
7246 
7247                     Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
7248                     {
7249                         If (!VMSH)
7250                         {
7251                             GPOF (0x00)
7252                         }
7253                     }
7254 
7255                     Method (GPON, 1, NotSerialized)
7256                     {
7257                         If (ISOP ())
7258                         {
7259                             If (DGOS)
7260                             {
7261                                 \VHYB (0x02, 0x00)
7262                                 Sleep (0x14)
7263                                 If ((ToInteger (Arg0) == 0x00)) {}
7264                                 \VHYB (0x00, 0x01)
7265                                 Sleep (0x14)
7266                                 Local2 = \VHYB (0x0E, 0x00)
7267                                 While ((Local2 != 0x0F))
7268                                 {
7269                                     \VHYB (0x00, 0x00)
7270                                     Sleep (0x14)
7271                                     \VHYB (0x00, 0x01)
7272                                     Sleep (0x0A)
7273                                     Local2 = \VHYB (0x0E, 0x00)
7274                                 }
7275 
7276                                 \VHYB (0x02, 0x01)
7277                                 Sleep (0x01)
7278                                 \VHYB (0x08, 0x01)
7279                                 Local0 = 0x0A
7280                                 Local1 = 0x32
7281                                 LREN = LTRS /* \_SB_.PCI0.PEG_.LTRS */
7282                                 CEDR = One
7283                                 While (Local1)
7284                                 {
7285                                     Sleep (Local0)
7286                                     If (\LCHK (0x01))
7287                                     {
7288                                         Break
7289                                     }
7290 
7291                                     Local1--
7292                                 }
7293 
7294                                 \VHYB (0x08, 0x03)
7295                                 If (VMSH)
7296                                 {
7297                                     \VHYB (0x0D, 0x00)
7298                                 }
7299 
7300                                 Local1 = 0xC8
7301                                 While (Local1)
7302                                 {
7303                                     Sleep (0x01)
7304                                     If (\VHYB (0x0C, 0x00))
7305                                     {
7306                                         Break
7307                                     }
7308 
7309                                     Local1--
7310                                 }
7311 
7312                                 \VHYB (0x04, 0x00)
7313                                 \SWTT (0x01)
7314                                 DGOS = Zero
7315                             }
7316                             Else
7317                             {
7318                                 If ((VSID != 0x222517AA))
7319                                 {
7320                                     \VHYB (0x04, 0x00)
7321                                 }
7322                             }
7323 
7324                             If (VMSH)
7325                             {
7326                                 \VHYB (0x09, 0x00)
7327                             }
7328                             Else
7329                             {
7330                                 \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7331                             }
7332                         }
7333                     }
7334 
7335                     Method (GPOF, 1, NotSerialized)
7336                     {
7337                         If (ISOP ())
7338                         {
7339                             If ((VMSH || (\_SB.PCI0.PEG.VID.OMPR == 0x03)))
7340                             {
7341                                 LTRS = LREN /* \_SB_.PCI0.PEG_.LREN */
7342                                 \SWTT (0x00)
7343                                 \VHYB (0x08, 0x00)
7344                                 \VHYB (0x08, 0x02)
7345                                 \VHYB (0x02, 0x00)
7346                                 Sleep (0x09)
7347                                 \VHYB (0x00, 0x00)
7348                                 If ((ToInteger (Arg0) == 0x00)) {}
7349                                 DGOS = One
7350                                 \_SB.PCI0.PEG.VID.OMPR = 0x02
7351                             }
7352                         }
7353                     }
7354 
7355                     Method (_STA, 0, NotSerialized)  // _STA: Status
7356                     {
7357                         Return (0x0F)
7358                     }
7359 
7360                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
7361                     {
7362                         If (\CMPB (Arg0, ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0")))
7363                         {
7364                             Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7365                         }
7366 
7367                         If (\CMPB (Arg0, ToUUID ("a3132d01-8cda-49ba-a52e-bc9d46df6b81")))
7368                         {
7369                             Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7370                         }
7371 
7372                         If (\WIN8)
7373                         {
7374                             If (\CMPB (Arg0, ToUUID ("d4a50b75-65c7-46f7-bfb7-41514cea0244")))
7375                             {
7376                                 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7377                             }
7378                         }
7379 
7380                         Return (Buffer (0x04)
7381                         {
7382                              0x01, 0x00, 0x00, 0x80                           /* .... */
7383                         })
7384                     }
7385 
7386                     OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7387                     Field (ATRP, AnyAcc, Lock, Preserve)
7388                     {
7389                         IDX0,   262144, 
7390                         IDX1,   262144
7391                     }
7392 
7393                     Method (_ROM, 2, Serialized)  // _ROM: Read-Only Memory
7394                     {
7395                         If ((Arg0 >= 0x8000))
7396                         {
7397                             Return (GETB ((Arg0 - 0x8000), Arg1, IDX1))
7398                         }
7399 
7400                         If (((Arg0 + Arg1) > 0x8000))
7401                         {
7402                             Local0 = (0x8000 - Arg0)
7403                             Local1 = (Arg1 - Local0)
7404                             Local3 = GETB (Arg0, Local0, IDX0)
7405                             Local4 = GETB (0x00, Local1, IDX1)
7406                             Concatenate (Local3, Local4, Local5)
7407                             Return (Local5)
7408                         }
7409 
7410                         Return (GETB (Arg0, Arg1, IDX0))
7411                     }
7412 
7413                     Method (GETB, 3, Serialized)
7414                     {
7415                         Local0 = (Arg0 * 0x08)
7416                         Local1 = (Arg1 * 0x08)
7417                         CreateField (Arg2, Local0, Local1, TBF3)
7418                         Return (TBF3) /* \_SB_.PCI0.PEG_.VID_.GETB.TBF3 */
7419                     }
7420 
7421                     Method (VSWT, 0, NotSerialized)
7422                     {
7423                         If (\WVIS)
7424                         {
7425                             Local0 = \VEVT (0x07)
7426                         }
7427                         Else
7428                         {
7429                             Local0 = \VEVT (0x05)
7430                         }
7431 
7432                         Local1 = (0xFF & Local0)
7433                         If (Local1)
7434                         {
7435                             ASWT (Local1, 0x01)
7436                         }
7437                     }
7438 
7439                     Method (VLOC, 1, NotSerialized)
7440                     {
7441                         If ((Arg0 == \_SB.LID._LID ()))
7442                         {
7443                             \VSLD (Arg0)
7444                             If (((VPWR & 0x03) == 0x00))
7445                             {
7446                                 If (Arg0)
7447                                 {
7448                                     Local0 = \VEVT (0x01)
7449                                 }
7450                                 Else
7451                                 {
7452                                     Local0 = \VEVT (0x02)
7453                                 }
7454 
7455                                 Local1 = (0x0F & Local0)
7456                                 If (Local1)
7457                                 {
7458                                     ASWT (Local1, 0x00)
7459                                 }
7460                             }
7461                         }
7462                     }
7463 
7464                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
7465                     {
7466                         If ((Arg0 == 0x02))
7467                         {
7468                             Local0 = 0x14
7469                             While (Local0)
7470                             {
7471                                 Local0--
7472                                 Acquire (MDGS, 0xFFFF)
7473                                 If ((0x00 == MSWT))
7474                                 {
7475                                     MSWT = 0x01
7476                                     Local0 = 0x00
7477                                     VDEE = Arg0
7478                                 }
7479 
7480                                 Release (MDGS)
7481                                 Sleep (0xC8)
7482                             }
7483                         }
7484                         Else
7485                         {
7486                             Acquire (MDGS, 0xFFFF)
7487                             If ((VDEE == 0x02))
7488                             {
7489                                 MSWT = 0x00
7490                             }
7491 
7492                             If ((Arg0 > 0x02))
7493                             {
7494                                 VDEE = 0x01
7495                             }
7496                             Else
7497                             {
7498                                 VDEE = Arg0
7499                             }
7500 
7501                             Release (MDGS)
7502                         }
7503                     }
7504 
7505                     Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
7506                     {
7507                         Return (Package (0x08)
7508                         {
7509                             0x0100, 
7510                             0x0114, 
7511                             0x0111, 
7512                             0x0115, 
7513                             0x0112, 
7514                             0x0116, 
7515                             0x0113, 
7516                             0x0110
7517                         })
7518                     }
7519 
7520                     Method (ASWT, 2, NotSerialized)
7521                     {
7522                         If ((0x01 == VDEE))
7523                         {
7524                             Local1 = (0x01 & Arg1)
7525                             \VSDS (Arg0, Local1)
7526                         }
7527                         Else
7528                         {
7529                             Local0 = 0x14
7530                             While (Local0)
7531                             {
7532                                 Local0--
7533                                 Acquire (MDGS, 0xFFFF)
7534                                 If ((0x00 == MSWT))
7535                                 {
7536                                     Local0 = 0x00
7537                                     If ((0x01 & Arg1))
7538                                     {
7539                                         VUPC = 0x01
7540                                     }
7541                                     Else
7542                                     {
7543                                         VUPC = 0x00
7544                                     }
7545 
7546                                     If ((0x01 & Arg0))
7547                                     {
7548                                         VQDL = 0x01
7549                                     }
7550                                     Else
7551                                     {
7552                                         VQDL = 0x00
7553                                     }
7554 
7555                                     If ((0x02 & Arg0))
7556                                     {
7557                                         VQDC = 0x01
7558                                     }
7559                                     Else
7560                                     {
7561                                         VQDC = 0x00
7562                                     }
7563 
7564                                     If ((0x04 & Arg0))
7565                                     {
7566                                         VQD0 = 0x01
7567                                     }
7568                                     Else
7569                                     {
7570                                         VQD0 = 0x00
7571                                     }
7572 
7573                                     If ((0x08 & Arg0))
7574                                     {
7575                                         VQD1 = 0x01
7576                                     }
7577                                     Else
7578                                     {
7579                                         VQD1 = 0x00
7580                                     }
7581 
7582                                     If ((0x10 & Arg0))
7583                                     {
7584                                         VQD2 = 0x01
7585                                     }
7586                                     Else
7587                                     {
7588                                         VQD2 = 0x00
7589                                     }
7590 
7591                                     If ((0x20 & Arg0))
7592                                     {
7593                                         VQD3 = 0x01
7594                                     }
7595                                     Else
7596                                     {
7597                                         VQD3 = 0x00
7598                                     }
7599 
7600                                     If ((0x40 & Arg0))
7601                                     {
7602                                         VQD4 = 0x01
7603                                     }
7604                                     Else
7605                                     {
7606                                         VQD4 = 0x00
7607                                     }
7608 
7609                                     If ((0x80 & Arg0))
7610                                     {
7611                                         VQD5 = 0x01
7612                                     }
7613                                     Else
7614                                     {
7615                                         VQD5 = 0x00
7616                                     }
7617                                 }
7618 
7619                                 Release (MDGS)
7620                                 Sleep (0xC8)
7621                             }
7622 
7623                             If ((0x02 & Arg1))
7624                             {
7625                                 Notify (VID, 0x81) // Information Change
7626                             }
7627                             Else
7628                             {
7629                                 Notify (VID, 0x80) // Status Change
7630                             }
7631                         }
7632                     }
7633 
7634                     Method (VDSW, 1, NotSerialized)
7635                     {
7636                         If ((VPWR == 0x00))
7637                         {
7638                             If (Arg0)
7639                             {
7640                                 Local0 = \VEVT (0x03)
7641                             }
7642                             Else
7643                             {
7644                                 Local0 = \VEVT (0x04)
7645                             }
7646 
7647                             Local1 = (0x0F & Local0)
7648                             If (Local1)
7649                             {
7650                                 ASWT (Local1, 0x00)
7651                             }
7652                         }
7653                     }
7654 
7655                     Device (LCD0)
7656                     {
7657                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7658                         {
7659                             Return (0x0110)
7660                         }
7661 
7662                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7663                         {
7664                             \VUPS (0x00)
7665                             If (\VCDL)
7666                             {
7667                                 Return (0x1F)
7668                             }
7669                             Else
7670                             {
7671                                 Return (0x1D)
7672                             }
7673                         }
7674 
7675                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7676                         {
7677                             Return (VQDL) /* \_SB_.PCI0.PEG_.VQDL */
7678                         }
7679 
7680                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7681                         {
7682                             VSDL = (Arg0 & 0x01)
7683                             If ((Arg0 & 0x80000000))
7684                             {
7685                                 If ((Arg0 & 0x40000000))
7686                                 {
7687                                     DSWT (0x02)
7688                                 }
7689                                 Else
7690                                 {
7691                                     DSWT (0x01)
7692                                 }
7693                             }
7694                         }
7695 
7696                         Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
7697                         {
7698                             If (ISOP ())
7699                             {
7700                                 Return (0x00)
7701                             }
7702 
7703                             If ((Arg0 == 0x01))
7704                             {
7705                                 Return (\VEDI)
7706                             }
7707                             Else
7708                             {
7709                                 If ((Arg0 == 0x02))
7710                                 {
7711                                     Return (\VEDI)
7712                                 }
7713                             }
7714 
7715                             Return (0x00)
7716                         }
7717                     }
7718 
7719                     Device (CRT0)
7720                     {
7721                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7722                         {
7723                             Return (0x0100)
7724                         }
7725 
7726                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7727                         {
7728                             \VUPS (0x01)
7729                             If (\VCSS)
7730                             {
7731                                 If (\VCDC)
7732                                 {
7733                                     Return (0x1F)
7734                                 }
7735                                 Else
7736                                 {
7737                                     Return (0x1D)
7738                                 }
7739                             }
7740                             Else
7741                             {
7742                                 If (\VCDC)
7743                                 {
7744                                     Return (0x0F)
7745                                 }
7746                                 Else
7747                                 {
7748                                     Return (0x0D)
7749                                 }
7750                             }
7751                         }
7752 
7753                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7754                         {
7755                             Return (VQDC) /* \_SB_.PCI0.PEG_.VQDC */
7756                         }
7757 
7758                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7759                         {
7760                             VSDC = (Arg0 & 0x01)
7761                             If ((Arg0 & 0x80000000))
7762                             {
7763                                 If ((Arg0 & 0x40000000))
7764                                 {
7765                                     DSWT (0x02)
7766                                 }
7767                                 Else
7768                                 {
7769                                     DSWT (0x01)
7770                                 }
7771                             }
7772                         }
7773                     }
7774 
7775                     Device (DVI0)
7776                     {
7777                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7778                         {
7779                             Return (0x0111)
7780                         }
7781 
7782                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7783                         {
7784                             \VUPS (0x00)
7785                             If (\VCDD)
7786                             {
7787                                 Return (0x1F)
7788                             }
7789                             Else
7790                             {
7791                                 Return (0x1D)
7792                             }
7793                         }
7794 
7795                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7796                         {
7797                             Return (VQD1) /* \_SB_.PCI0.PEG_.VQD1 */
7798                         }
7799 
7800                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7801                         {
7802                             VSD1 = (Arg0 & 0x01)
7803                             If ((Arg0 & 0x80000000))
7804                             {
7805                                 If ((Arg0 & 0x40000000))
7806                                 {
7807                                     DSWT (0x02)
7808                                 }
7809                                 Else
7810                                 {
7811                                     DSWT (0x01)
7812                                 }
7813                             }
7814                         }
7815                     }
7816 
7817                     Device (DP0)
7818                     {
7819                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7820                         {
7821                             Return (0x0114)
7822                         }
7823 
7824                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7825                         {
7826                             \VUPS (0x00)
7827                             If (\VCDT)
7828                             {
7829                                 Return (0x1F)
7830                             }
7831                             Else
7832                             {
7833                                 Return (0x1D)
7834                             }
7835                         }
7836 
7837                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7838                         {
7839                             Return (VQD0) /* \_SB_.PCI0.PEG_.VQD0 */
7840                         }
7841 
7842                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7843                         {
7844                             VSD0 = (Arg0 & 0x01)
7845                             If ((Arg0 & 0x80000000))
7846                             {
7847                                 If ((Arg0 & 0x40000000))
7848                                 {
7849                                     DSWT (0x02)
7850                                 }
7851                                 Else
7852                                 {
7853                                     DSWT (0x01)
7854                                 }
7855                             }
7856                         }
7857                     }
7858 
7859                     Device (DVI1)
7860                     {
7861                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7862                         {
7863                             Return (0x0112)
7864                         }
7865 
7866                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7867                         {
7868                             \VUPS (0x00)
7869                             If (\VCDD)
7870                             {
7871                                 Return (0x1F)
7872                             }
7873                             Else
7874                             {
7875                                 Return (0x1D)
7876                             }
7877                         }
7878 
7879                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7880                         {
7881                             Return (VQD3) /* \_SB_.PCI0.PEG_.VQD3 */
7882                         }
7883 
7884                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7885                         {
7886                             VSD3 = (Arg0 & 0x01)
7887                             If ((Arg0 & 0x80000000))
7888                             {
7889                                 If ((Arg0 & 0x40000000))
7890                                 {
7891                                     DSWT (0x02)
7892                                 }
7893                                 Else
7894                                 {
7895                                     DSWT (0x01)
7896                                 }
7897                             }
7898                         }
7899                     }
7900 
7901                     Device (DP1)
7902                     {
7903                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7904                         {
7905                             Return (0x0115)
7906                         }
7907 
7908                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7909                         {
7910                             \VUPS (0x00)
7911                             If (\VCDT)
7912                             {
7913                                 Return (0x1F)
7914                             }
7915                             Else
7916                             {
7917                                 Return (0x1D)
7918                             }
7919                         }
7920 
7921                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7922                         {
7923                             Return (VQD2) /* \_SB_.PCI0.PEG_.VQD2 */
7924                         }
7925 
7926                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7927                         {
7928                             VSD2 = (Arg0 & 0x01)
7929                             If ((Arg0 & 0x80000000))
7930                             {
7931                                 If ((Arg0 & 0x40000000))
7932                                 {
7933                                     DSWT (0x02)
7934                                 }
7935                                 Else
7936                                 {
7937                                     DSWT (0x01)
7938                                 }
7939                             }
7940                         }
7941                     }
7942 
7943                     Device (DVI2)
7944                     {
7945                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7946                         {
7947                             Return (0x0113)
7948                         }
7949 
7950                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7951                         {
7952                             \VUPS (0x00)
7953                             If (\VCDD)
7954                             {
7955                                 Return (0x1F)
7956                             }
7957                             Else
7958                             {
7959                                 Return (0x1D)
7960                             }
7961                         }
7962 
7963                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
7964                         {
7965                             Return (VQD5) /* \_SB_.PCI0.PEG_.VQD5 */
7966                         }
7967 
7968                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
7969                         {
7970                             VSD5 = (Arg0 & 0x01)
7971                             If ((Arg0 & 0x80000000))
7972                             {
7973                                 If ((Arg0 & 0x40000000))
7974                                 {
7975                                     DSWT (0x02)
7976                                 }
7977                                 Else
7978                                 {
7979                                     DSWT (0x01)
7980                                 }
7981                             }
7982                         }
7983                     }
7984 
7985                     Device (DP2)
7986                     {
7987                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
7988                         {
7989                             Return (0x0116)
7990                         }
7991 
7992                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
7993                         {
7994                             \VUPS (0x00)
7995                             If (\VCDT)
7996                             {
7997                                 Return (0x1F)
7998                             }
7999                             Else
8000                             {
8001                                 Return (0x1D)
8002                             }
8003                         }
8004 
8005                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8006                         {
8007                             Return (VQD4) /* \_SB_.PCI0.PEG_.VQD4 */
8008                         }
8009 
8010                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8011                         {
8012                             VSD4 = (Arg0 & 0x01)
8013                             If ((Arg0 & 0x80000000))
8014                             {
8015                                 If ((Arg0 & 0x40000000))
8016                                 {
8017                                     DSWT (0x02)
8018                                 }
8019                                 Else
8020                                 {
8021                                     DSWT (0x01)
8022                                 }
8023                             }
8024                         }
8025                     }
8026 
8027                     Method (DSWT, 1, NotSerialized)
8028                     {
8029                         If (VSDL)
8030                         {
8031                             Local0 = 0x01
8032                         }
8033                         Else
8034                         {
8035                             Local0 = 0x00
8036                         }
8037 
8038                         If (VSDC)
8039                         {
8040                             Local0 |= 0x02
8041                         }
8042 
8043                         If (VSD0)
8044                         {
8045                             Local0 |= 0x08
8046                         }
8047 
8048                         If (Local0)
8049                         {
8050                             If (VUPC)
8051                             {
8052                                 \VSDS (Local0, Arg0)
8053                             }
8054                         }
8055                         Else
8056                         {
8057                             Noop
8058                         }
8059                     }
8060                 }
8061 
8062                 Scope (\_SB.PCI0.PEG.VID)
8063                 {
8064                     Method (NBCI, 4, Serialized)
8065                     {
8066                         Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
8067                         Debug = "------- NBCI DSM --------"
8068                         While (One)
8069                         {
8070                             _T_0 = ToInteger (Arg2)
8071                             If ((_T_0 == 0x00))
8072                             {
8073                                 Local0 = Buffer (0x04)
8074                                     {
8075                                          0x00, 0x00, 0x00, 0x00                           /* .... */
8076                                     }
8077                                 Divide (0x00, 0x08, Local2, Local1)
8078                                 Local2 = (0x01 << Local2)
8079                                 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
8080                                 Divide (0x14, 0x08, Local2, Local1)
8081                                 Local2 = (0x01 << Local2)
8082                                 Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
8083                                 Return (Local0)
8084                             }
8085                             Else
8086                             {
8087                                 If ((_T_0 == 0x14))
8088                                 {
8089                                     Local0 = Package (0x07)
8090                                         {
8091                                             0x0110, 
8092                                             0x0200, 
8093                                             0x00, 
8094                                             0x00, 
8095                                             0x05, 
8096                                             0x01, 
8097                                             Package (0x04)
8098                                             {
8099                                                 0xDC, 
8100                                                 0x00, 
8101                                                 0x03E8, 
8102                                                 Package (0x03)
8103                                                 {
8104                                                     0x65, 
8105                                                     Package (0x65)
8106                                                     {
8107                                                         0x00, 
8108                                                         0x0A, 
8109                                                         0x14, 
8110                                                         0x1E, 
8111                                                         0x28, 
8112                                                         0x32, 
8113                                                         0x3C, 
8114                                                         0x46, 
8115                                                         0x50, 
8116                                                         0x5A, 
8117                                                         0x64, 
8118                                                         0x6E, 
8119                                                         0x78, 
8120                                                         0x82, 
8121                                                         0x8C, 
8122                                                         0x96, 
8123                                                         0xA0, 
8124                                                         0xAA, 
8125                                                         0xB4, 
8126                                                         0xBE, 
8127                                                         0xC8, 
8128                                                         0xD2, 
8129                                                         0xDC, 
8130                                                         0xE6, 
8131                                                         0xF0, 
8132                                                         0xFA, 
8133                                                         0x0104, 
8134                                                         0x010E, 
8135                                                         0x0118, 
8136                                                         0x0122, 
8137                                                         0x012C, 
8138                                                         0x0136, 
8139                                                         0x0140, 
8140                                                         0x014A, 
8141                                                         0x0154, 
8142                                                         0x015E, 
8143                                                         0x0168, 
8144                                                         0x0172, 
8145                                                         0x017C, 
8146                                                         0x0186, 
8147                                                         0x0190, 
8148                                                         0x019A, 
8149                                                         0x01A4, 
8150                                                         0x01AE, 
8151                                                         0x01B8, 
8152                                                         0x01C2, 
8153                                                         0x01CC, 
8154                                                         0x01D6, 
8155                                                         0x01E0, 
8156                                                         0x01EA, 
8157                                                         0x01F4, 
8158                                                         0x01FE, 
8159                                                         0x0208, 
8160                                                         0x0212, 
8161                                                         0x021C, 
8162                                                         0x0226, 
8163                                                         0x0230, 
8164                                                         0x023A, 
8165                                                         0x0244, 
8166                                                         0x024E, 
8167                                                         0x0258, 
8168                                                         0x0262, 
8169                                                         0x026C, 
8170                                                         0x0276, 
8171                                                         0x0280, 
8172                                                         0x028A, 
8173                                                         0x0294, 
8174                                                         0x029E, 
8175                                                         0x02A8, 
8176                                                         0x02B2, 
8177                                                         0x02BC, 
8178                                                         0x02C6, 
8179                                                         0x02D0, 
8180                                                         0x02DA, 
8181                                                         0x02E4, 
8182                                                         0x02EE, 
8183                                                         0x02F8, 
8184                                                         0x0302, 
8185                                                         0x030C, 
8186                                                         0x0316, 
8187                                                         0x0320, 
8188                                                         0x032A, 
8189                                                         0x0334, 
8190                                                         0x033E, 
8191                                                         0x0348, 
8192                                                         0x0352, 
8193                                                         0x035C, 
8194                                                         0x0366, 
8195                                                         0x0370, 
8196                                                         0x037A, 
8197                                                         0x0384, 
8198                                                         0x038E, 
8199                                                         0x0398, 
8200                                                         0x03A2, 
8201                                                         0x03AC, 
8202                                                         0x03B6, 
8203                                                         0x03C0, 
8204                                                         0x03CA, 
8205                                                         0x03D4, 
8206                                                         0x03DE, 
8207                                                         0x03E8
8208                                                     }, 
8209 
8210                                                     Package (0x65)
8211                                                     {
8212                                                         0x00, 
8213                                                         0x0A, 
8214                                                         0x14, 
8215                                                         0x1E, 
8216                                                         0x28, 
8217                                                         0x32, 
8218                                                         0x3C, 
8219                                                         0x46, 
8220                                                         0x50, 
8221                                                         0x5A, 
8222                                                         0x64, 
8223                                                         0x6E, 
8224                                                         0x78, 
8225                                                         0x82, 
8226                                                         0x8C, 
8227                                                         0x96, 
8228                                                         0xA0, 
8229                                                         0xAA, 
8230                                                         0xB4, 
8231                                                         0xBE, 
8232                                                         0xC8, 
8233                                                         0xD2, 
8234                                                         0xDC, 
8235                                                         0xE6, 
8236                                                         0xF0, 
8237                                                         0xFA, 
8238                                                         0x0104, 
8239                                                         0x010E, 
8240                                                         0x0118, 
8241                                                         0x0122, 
8242                                                         0x012C, 
8243                                                         0x0136, 
8244                                                         0x0140, 
8245                                                         0x014A, 
8246                                                         0x0154, 
8247                                                         0x015E, 
8248                                                         0x0168, 
8249                                                         0x0172, 
8250                                                         0x017C, 
8251                                                         0x0186, 
8252                                                         0x0190, 
8253                                                         0x019A, 
8254                                                         0x01A4, 
8255                                                         0x01AE, 
8256                                                         0x01B8, 
8257                                                         0x01C2, 
8258                                                         0x01CC, 
8259                                                         0x01D6, 
8260                                                         0x01E0, 
8261                                                         0x01EA, 
8262                                                         0x01F4, 
8263                                                         0x01FE, 
8264                                                         0x0208, 
8265                                                         0x0212, 
8266                                                         0x021C, 
8267                                                         0x0226, 
8268                                                         0x0230, 
8269                                                         0x023A, 
8270                                                         0x0244, 
8271                                                         0x024E, 
8272                                                         0x0258, 
8273                                                         0x0262, 
8274                                                         0x026C, 
8275                                                         0x0276, 
8276                                                         0x0280, 
8277                                                         0x028A, 
8278                                                         0x0294, 
8279                                                         0x029E, 
8280                                                         0x02A8, 
8281                                                         0x02B2, 
8282                                                         0x02BC, 
8283                                                         0x02C6, 
8284                                                         0x02D0, 
8285                                                         0x02DA, 
8286                                                         0x02E4, 
8287                                                         0x02EE, 
8288                                                         0x02F8, 
8289                                                         0x0302, 
8290                                                         0x030C, 
8291                                                         0x0316, 
8292                                                         0x0320, 
8293                                                         0x032A, 
8294                                                         0x0334, 
8295                                                         0x033E, 
8296                                                         0x0348, 
8297                                                         0x0352, 
8298                                                         0x035C, 
8299                                                         0x0366, 
8300                                                         0x0370, 
8301                                                         0x037A, 
8302                                                         0x0384, 
8303                                                         0x038E, 
8304                                                         0x0398, 
8305                                                         0x03A2, 
8306                                                         0x03AC, 
8307                                                         0x03B6, 
8308                                                         0x03C0, 
8309                                                         0x03CA, 
8310                                                         0x03D4, 
8311                                                         0x03DE, 
8312                                                         0x03E8
8313                                                     }
8314                                                 }
8315                                             }
8316                                         }
8317                                     Local1 = 0x00
8318                                     While ((Local1 <= 0x64))
8319                                     {
8320                                         Local2 = DerefOf (Index (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTD, \BRTN)), Local1))
8321                                         Local2 *= 0x03E8
8322                                         Divide (Local2, 0xFF, Local2, Local3)
8323                                         Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (Local0, 0x06)), 0x03
8324                                             )), 0x01)), Local1) = Local3
8325                                         Local1++
8326                                     }
8327 
8328                                     Return (Local0)
8329                                 }
8330                             }
8331 
8332                             Break
8333                         }
8334 
8335                         Return (0x80000002)
8336                     }
8337 
8338                     Method (NVSB, 1, NotSerialized)
8339                     {
8340                         Name (CNT, 0x00)
8341                         If ((PBCC == 0x01))
8342                         {
8343                             If ((PBMR == 0x00))
8344                             {
8345                                 PBMR = 0x02
8346                                 If ((PBMR == 0x02))
8347                                 {
8348                                     While (((PBCC && 0xFF) && (CNT < 0x0A)))
8349                                     {
8350                                         CNT++
8351                                         Sleep (0x01)
8352                                     }
8353 
8354                                     If (((PBCR & 0x02) == 0x00))
8355                                     {
8356                                         Local0 = (Arg0 * 0x03E8)
8357                                         Divide (Local0, 0xFF, Local1, Local2)
8358                                         Local2 <<= 0x08
8359                                         PBDI = Local2
8360                                         PBCR = 0x86100000
8361                                     }
8362 
8363                                     PBMR = 0x00
8364                                     Return (0x01)
8365                                 }
8366                             }
8367                         }
8368 
8369                         Return (0x00)
8370                     }
8371                 }
8372 
8373                 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8374                 Field (PEGC, DWordAcc, NoLock, Preserve)
8375                 {
8376                     Offset (0xEC), 
8377                     GMGP,   1, 
8378                     HPGP,   1, 
8379                     PMGP,   1
8380                 }
8381             }
8382 
8383             Device (B0D3)
8384             {
8385                 Name (_ADR, 0x00030000)  // _ADR: Address
8386             }
8387 
8388             Device (IGBE)
8389             {
8390                 Name (_ADR, 0x00190000)  // _ADR: Address
8391                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8392                 Name (RID, 0x00)
8393                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8394                 {
8395                     0x6D, 
8396                     0x04
8397                 })
8398             }
8399 
8400             Name (LTRE, 0x00)
8401             Name (OBFF, 0x00)
8402             Name (LMSL, 0x00)
8403             Name (LNSL, 0x00)
8404             Device (EXP1)
8405             {
8406                 Name (_ADR, 0x001C0000)  // _ADR: Address
8407                 Name (RID, 0x00)
8408                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
8409                 {
8410                     LTRE = LTR1 /* \LTR1 */
8411                     LMSL = PML1 /* \PML1 */
8412                     LNSL = PNL1 /* \PNL1 */
8413                     OBFF = OBF1 /* \OBF1 */
8414                 }
8415 
8416                 Name (LPRT, Package (0x04)
8417                 {
8418                     Package (0x04)
8419                     {
8420                         0xFFFF, 
8421                         0x00, 
8422                         \_SB.LNKA, 
8423                         0x00
8424                     }, 
8425 
8426                     Package (0x04)
8427                     {
8428                         0xFFFF, 
8429                         0x01, 
8430                         \_SB.LNKB, 
8431                         0x00
8432                     }, 
8433 
8434                     Package (0x04)
8435                     {
8436                         0xFFFF, 
8437                         0x02, 
8438                         \_SB.LNKC, 
8439                         0x00
8440                     }, 
8441 
8442                     Package (0x04)
8443                     {
8444                         0xFFFF, 
8445                         0x03, 
8446                         \_SB.LNKD, 
8447                         0x00
8448                     }
8449                 })
8450                 Name (APRT, Package (0x04)
8451                 {
8452                     Package (0x04)
8453                     {
8454                         0xFFFF, 
8455                         0x00, 
8456                         0x00, 
8457                         0x10
8458                     }, 
8459 
8460                     Package (0x04)
8461                     {
8462                         0xFFFF, 
8463                         0x01, 
8464                         0x00, 
8465                         0x11
8466                     }, 
8467 
8468                     Package (0x04)
8469                     {
8470                         0xFFFF, 
8471                         0x02, 
8472                         0x00, 
8473                         0x12
8474                     }, 
8475 
8476                     Package (0x04)
8477                     {
8478                         0xFFFF, 
8479                         0x03, 
8480                         0x00, 
8481                         0x13
8482                     }
8483                 })
8484                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8485                 {
8486                     If (\GPIC)
8487                     {
8488                         Return (APRT) /* \_SB_.PCI0.EXP1.APRT */
8489                     }
8490                     Else
8491                     {
8492                         Return (LPRT) /* \_SB_.PCI0.EXP1.LPRT */
8493                     }
8494                 }
8495 
8496                 OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
8497                 Field (PXCS, AnyAcc, NoLock, Preserve)
8498                 {
8499                     VDID,   32, 
8500                     Offset (0x50), 
8501                     L0SE,   1, 
8502                         ,   3, 
8503                     LDIS,   1, 
8504                     Offset (0x51), 
8505                     Offset (0x52), 
8506                         ,   13, 
8507                     LASX,   1, 
8508                     Offset (0x5A), 
8509                     ABPX,   1, 
8510                         ,   2, 
8511                     PDCX,   1, 
8512                         ,   2, 
8513                     PDSX,   1, 
8514                     Offset (0x5B), 
8515                     Offset (0x60), 
8516                     Offset (0x62), 
8517                     PSPX,   1, 
8518                     Offset (0xA4), 
8519                     D3HT,   2, 
8520                     Offset (0xD8), 
8521                         ,   30, 
8522                     HPEX,   1, 
8523                     PMEX,   1, 
8524                     Offset (0xE2), 
8525                         ,   2, 
8526                     L23E,   1, 
8527                     L23R,   1, 
8528                     Offset (0x324), 
8529                         ,   3, 
8530                     LEDM,   1
8531                 }
8532 
8533                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8534                 {
8535                     Offset (0xDC), 
8536                         ,   30, 
8537                     HPSX,   1, 
8538                     PMSX,   1
8539                 }
8540 
8541                 Name (LTRV, Package (0x04)
8542                 {
8543                     0x00, 
8544                     0x00, 
8545                     0x00, 
8546                     0x00
8547                 })
8548                 Name (OPTS, 0x00)
8549                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8550                 {
8551                     Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
8552                     Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
8553                     While (One)
8554                     {
8555                         _T_0 = ToInteger (Arg0)
8556                         If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
8557                         {
8558                             While (One)
8559                             {
8560                                 _T_1 = ToInteger (Arg2)
8561                                 If ((_T_1 == 0x00))
8562                                 {
8563                                     OPTS = 0x00
8564                                     If ((Arg1 >= 0x02))
8565                                     {
8566                                         OPTS = 0x01
8567                                         If (LTRE)
8568                                         {
8569                                             OPTS |= 0x40
8570                                         }
8571 
8572                                         If (OBFF)
8573                                         {
8574                                             OPTS |= 0x10
8575                                         }
8576                                     }
8577 
8578                                     Return (OPTS) /* \_SB_.PCI0.EXP1.OPTS */
8579                                 }
8580                                 Else
8581                                 {
8582                                     If ((_T_1 == 0x04))
8583                                     {
8584                                         If ((Arg1 >= 0x02))
8585                                         {
8586                                             If (OBFF)
8587                                             {
8588                                                 Return (Buffer (0x10)
8589                                                 {
8590                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
8591                                                     /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
8592                                                 })
8593                                             }
8594                                             Else
8595                                             {
8596                                                 Return (Buffer (0x10)
8597                                                 {
8598                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
8599                                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
8600                                                 })
8601                                             }
8602                                         }
8603                                     }
8604                                     Else
8605                                     {
8606                                         If ((_T_1 == 0x06))
8607                                         {
8608                                             If ((Arg1 >= 0x02))
8609                                             {
8610                                                 If (LTRE)
8611                                                 {
8612                                                     If (((LMSL == 0x00) || (LNSL == 0x00)))
8613                                                     {
8614                                                         If ((PCHS == 0x01))
8615                                                         {
8616                                                             LMSL = 0x0846
8617                                                             LNSL = 0x0846
8618                                                         }
8619                                                         Else
8620                                                         {
8621                                                             If ((PCHS == 0x02))
8622                                                             {
8623                                                                 LMSL = 0x1003
8624                                                                 LNSL = 0x1003
8625                                                             }
8626                                                         }
8627                                                     }
8628 
8629                                                     Index (LTRV, 0x00) = ((LMSL >> 0x0A) & 0x07)
8630                                                     Index (LTRV, 0x01) = (LMSL & 0x03FF)
8631                                                     Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
8632                                                     Index (LTRV, 0x03) = (LNSL & 0x03FF)
8633                                                     Return (LTRV) /* \_SB_.PCI0.EXP1.LTRV */
8634                                                 }
8635                                                 Else
8636                                                 {
8637                                                     Return (0x00)
8638                                                 }
8639                                             }
8640                                         }
8641                                     }
8642                                 }
8643 
8644                                 Break
8645                             }
8646                         }
8647 
8648                         Break
8649                     }
8650 
8651                     Return (Buffer (0x01)
8652                     {
8653                          0x00                                             /* . */
8654                     })
8655                 }
8656 
8657                 Method (HPME, 0, Serialized)
8658                 {
8659                     If (PMSX)
8660                     {
8661                         Local0 = 0xC8
8662                         While (Local0)
8663                         {
8664                             PMSX = 0x01
8665                             If (PMSX)
8666                             {
8667                                 Local0--
8668                             }
8669                             Else
8670                             {
8671                                 Local0 = 0x00
8672                             }
8673                         }
8674                     }
8675                 }
8676             }
8677 
8678             Device (EXP2)
8679             {
8680                 Name (_ADR, 0x001C0001)  // _ADR: Address
8681                 Name (RID, 0x00)
8682                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
8683                 {
8684                     LTRE = LTR2 /* \LTR2 */
8685                     LMSL = PML2 /* \PML2 */
8686                     LNSL = PNL2 /* \PNL2 */
8687                     OBFF = OBF2 /* \OBF2 */
8688                 }
8689 
8690                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8691                 {
8692                     0x69, 
8693                     0x04
8694                 })
8695                 Name (LPRT, Package (0x04)
8696                 {
8697                     Package (0x04)
8698                     {
8699                         0xFFFF, 
8700                         0x00, 
8701                         \_SB.LNKB, 
8702                         0x00
8703                     }, 
8704 
8705                     Package (0x04)
8706                     {
8707                         0xFFFF, 
8708                         0x01, 
8709                         \_SB.LNKC, 
8710                         0x00
8711                     }, 
8712 
8713                     Package (0x04)
8714                     {
8715                         0xFFFF, 
8716                         0x02, 
8717                         \_SB.LNKD, 
8718                         0x00
8719                     }, 
8720 
8721                     Package (0x04)
8722                     {
8723                         0xFFFF, 
8724                         0x03, 
8725                         \_SB.LNKA, 
8726                         0x00
8727                     }
8728                 })
8729                 Name (APRT, Package (0x04)
8730                 {
8731                     Package (0x04)
8732                     {
8733                         0xFFFF, 
8734                         0x00, 
8735                         0x00, 
8736                         0x11
8737                     }, 
8738 
8739                     Package (0x04)
8740                     {
8741                         0xFFFF, 
8742                         0x01, 
8743                         0x00, 
8744                         0x12
8745                     }, 
8746 
8747                     Package (0x04)
8748                     {
8749                         0xFFFF, 
8750                         0x02, 
8751                         0x00, 
8752                         0x13
8753                     }, 
8754 
8755                     Package (0x04)
8756                     {
8757                         0xFFFF, 
8758                         0x03, 
8759                         0x00, 
8760                         0x10
8761                     }
8762                 })
8763                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8764                 {
8765                     If (\GPIC)
8766                     {
8767                         Return (APRT) /* \_SB_.PCI0.EXP2.APRT */
8768                     }
8769                     Else
8770                     {
8771                         Return (LPRT) /* \_SB_.PCI0.EXP2.LPRT */
8772                     }
8773                 }
8774 
8775                 OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
8776                 Field (PXCS, AnyAcc, NoLock, Preserve)
8777                 {
8778                     VDID,   32, 
8779                     Offset (0x50), 
8780                     L0SE,   1, 
8781                         ,   3, 
8782                     LDIS,   1, 
8783                     Offset (0x51), 
8784                     Offset (0x52), 
8785                         ,   13, 
8786                     LASX,   1, 
8787                     Offset (0x5A), 
8788                     ABPX,   1, 
8789                         ,   2, 
8790                     PDCX,   1, 
8791                         ,   2, 
8792                     PDSX,   1, 
8793                     Offset (0x5B), 
8794                     Offset (0x60), 
8795                     Offset (0x62), 
8796                     PSPX,   1, 
8797                     Offset (0xA4), 
8798                     D3HT,   2, 
8799                     Offset (0xD8), 
8800                         ,   30, 
8801                     HPEX,   1, 
8802                     PMEX,   1, 
8803                     Offset (0xE2), 
8804                         ,   2, 
8805                     L23E,   1, 
8806                     L23R,   1, 
8807                     Offset (0x324), 
8808                         ,   3, 
8809                     LEDM,   1
8810                 }
8811 
8812                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
8813                 {
8814                     Offset (0xDC), 
8815                         ,   30, 
8816                     HPSX,   1, 
8817                     PMSX,   1
8818                 }
8819 
8820                 Name (LTRV, Package (0x04)
8821                 {
8822                     0x00, 
8823                     0x00, 
8824                     0x00, 
8825                     0x00
8826                 })
8827                 Name (OPTS, 0x00)
8828                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
8829                 {
8830                     Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
8831                     Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
8832                     While (One)
8833                     {
8834                         _T_0 = ToInteger (Arg0)
8835                         If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
8836                         {
8837                             While (One)
8838                             {
8839                                 _T_1 = ToInteger (Arg2)
8840                                 If ((_T_1 == 0x00))
8841                                 {
8842                                     OPTS = 0x00
8843                                     If ((Arg1 >= 0x02))
8844                                     {
8845                                         OPTS = 0x01
8846                                         If (LTRE)
8847                                         {
8848                                             OPTS |= 0x40
8849                                         }
8850 
8851                                         If (OBFF)
8852                                         {
8853                                             OPTS |= 0x10
8854                                         }
8855                                     }
8856 
8857                                     Return (OPTS) /* \_SB_.PCI0.EXP2.OPTS */
8858                                 }
8859                                 Else
8860                                 {
8861                                     If ((_T_1 == 0x04))
8862                                     {
8863                                         If ((Arg1 >= 0x02))
8864                                         {
8865                                             If (OBFF)
8866                                             {
8867                                                 Return (Buffer (0x10)
8868                                                 {
8869                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
8870                                                     /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
8871                                                 })
8872                                             }
8873                                             Else
8874                                             {
8875                                                 Return (Buffer (0x10)
8876                                                 {
8877                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
8878                                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
8879                                                 })
8880                                             }
8881                                         }
8882                                     }
8883                                     Else
8884                                     {
8885                                         If ((_T_1 == 0x06))
8886                                         {
8887                                             If ((Arg1 >= 0x02))
8888                                             {
8889                                                 If (LTRE)
8890                                                 {
8891                                                     If (((LMSL == 0x00) || (LNSL == 0x00)))
8892                                                     {
8893                                                         If ((PCHS == 0x01))
8894                                                         {
8895                                                             LMSL = 0x0846
8896                                                             LNSL = 0x0846
8897                                                         }
8898                                                         Else
8899                                                         {
8900                                                             If ((PCHS == 0x02))
8901                                                             {
8902                                                                 LMSL = 0x1003
8903                                                                 LNSL = 0x1003
8904                                                             }
8905                                                         }
8906                                                     }
8907 
8908                                                     Index (LTRV, 0x00) = ((LMSL >> 0x0A) & 0x07)
8909                                                     Index (LTRV, 0x01) = (LMSL & 0x03FF)
8910                                                     Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
8911                                                     Index (LTRV, 0x03) = (LNSL & 0x03FF)
8912                                                     Return (LTRV) /* \_SB_.PCI0.EXP2.LTRV */
8913                                                 }
8914                                                 Else
8915                                                 {
8916                                                     Return (0x00)
8917                                                 }
8918                                             }
8919                                         }
8920                                     }
8921                                 }
8922 
8923                                 Break
8924                             }
8925                         }
8926 
8927                         Break
8928                     }
8929 
8930                     Return (Buffer (0x01)
8931                     {
8932                          0x00                                             /* . */
8933                     })
8934                 }
8935 
8936                 Method (HPME, 0, Serialized)
8937                 {
8938                     If (PMSX)
8939                     {
8940                         Local0 = 0xC8
8941                         While (Local0)
8942                         {
8943                             PMSX = 0x01
8944                             If (PMSX)
8945                             {
8946                                 Local0--
8947                             }
8948                             Else
8949                             {
8950                                 Local0 = 0x00
8951                             }
8952                         }
8953                     }
8954                 }
8955             }
8956 
8957             Device (EXP3)
8958             {
8959                 Name (_ADR, 0x001C0002)  // _ADR: Address
8960                 Name (RID, 0x00)
8961                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
8962                 {
8963                     LTRE = LTR3 /* \LTR3 */
8964                     LMSL = PML3 /* \PML3 */
8965                     LNSL = PNL3 /* \PNL3 */
8966                     OBFF = OBF3 /* \OBF3 */
8967                 }
8968 
8969                 Name (LPRT, Package (0x04)
8970                 {
8971                     Package (0x04)
8972                     {
8973                         0xFFFF, 
8974                         0x00, 
8975                         \_SB.LNKC, 
8976                         0x00
8977                     }, 
8978 
8979                     Package (0x04)
8980                     {
8981                         0xFFFF, 
8982                         0x01, 
8983                         \_SB.LNKD, 
8984                         0x00
8985                     }, 
8986 
8987                     Package (0x04)
8988                     {
8989                         0xFFFF, 
8990                         0x02, 
8991                         \_SB.LNKA, 
8992                         0x00
8993                     }, 
8994 
8995                     Package (0x04)
8996                     {
8997                         0xFFFF, 
8998                         0x03, 
8999                         \_SB.LNKB, 
9000                         0x00
9001                     }
9002                 })
9003                 Name (APRT, Package (0x04)
9004                 {
9005                     Package (0x04)
9006                     {
9007                         0xFFFF, 
9008                         0x00, 
9009                         0x00, 
9010                         0x12
9011                     }, 
9012 
9013                     Package (0x04)
9014                     {
9015                         0xFFFF, 
9016                         0x01, 
9017                         0x00, 
9018                         0x13
9019                     }, 
9020 
9021                     Package (0x04)
9022                     {
9023                         0xFFFF, 
9024                         0x02, 
9025                         0x00, 
9026                         0x10
9027                     }, 
9028 
9029                     Package (0x04)
9030                     {
9031                         0xFFFF, 
9032                         0x03, 
9033                         0x00, 
9034                         0x11
9035                     }
9036                 })
9037                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
9038                 {
9039                     If (\GPIC)
9040                     {
9041                         Return (APRT) /* \_SB_.PCI0.EXP3.APRT */
9042                     }
9043                     Else
9044                     {
9045                         Return (LPRT) /* \_SB_.PCI0.EXP3.LPRT */
9046                     }
9047                 }
9048 
9049                 OperationRegion (PXCS, PCI_Config, 0x00, 0x0380)
9050                 Field (PXCS, AnyAcc, NoLock, Preserve)
9051                 {
9052                     VDID,   32, 
9053                     Offset (0x50), 
9054                     L0SE,   1, 
9055                         ,   3, 
9056                     LDIS,   1, 
9057                     Offset (0x51), 
9058                     Offset (0x52), 
9059                         ,   13, 
9060                     LASX,   1, 
9061                     Offset (0x5A), 
9062                     ABPX,   1, 
9063                         ,   2, 
9064                     PDCX,   1, 
9065                         ,   2, 
9066                     PDSX,   1, 
9067                     Offset (0x5B), 
9068                     Offset (0x60), 
9069                     Offset (0x62), 
9070                     PSPX,   1, 
9071                     Offset (0xA4), 
9072                     D3HT,   2, 
9073                     Offset (0xD8), 
9074                         ,   30, 
9075                     HPEX,   1, 
9076                     PMEX,   1, 
9077                     Offset (0xE2), 
9078                         ,   2, 
9079                     L23E,   1, 
9080                     L23R,   1, 
9081                     Offset (0x324), 
9082                         ,   3, 
9083                     LEDM,   1
9084                 }
9085 
9086                 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
9087                 {
9088                     Offset (0xDC), 
9089                         ,   30, 
9090                     HPSX,   1, 
9091                     PMSX,   1
9092                 }
9093 
9094                 Name (LTRV, Package (0x04)
9095                 {
9096                     0x00, 
9097                     0x00, 
9098                     0x00, 
9099                     0x00
9100                 })
9101                 Name (OPTS, 0x00)
9102                 Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
9103                 {
9104                     Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
9105                     Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
9106                     While (One)
9107                     {
9108                         _T_0 = ToInteger (Arg0)
9109                         If ((_T_0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
9110                         {
9111                             While (One)
9112                             {
9113                                 _T_1 = ToInteger (Arg2)
9114                                 If ((_T_1 == 0x00))
9115                                 {
9116                                     OPTS = 0x00
9117                                     If ((Arg1 >= 0x02))
9118                                     {
9119                                         OPTS = 0x01
9120                                         If (LTRE)
9121                                         {
9122                                             OPTS |= 0x40
9123                                         }
9124 
9125                                         If (OBFF)
9126                                         {
9127                                             OPTS |= 0x10
9128                                         }
9129                                     }
9130 
9131                                     Return (OPTS) /* \_SB_.PCI0.EXP3.OPTS */
9132                                 }
9133                                 Else
9134                                 {
9135                                     If ((_T_1 == 0x04))
9136                                     {
9137                                         If ((Arg1 >= 0x02))
9138                                         {
9139                                             If (OBFF)
9140                                             {
9141                                                 Return (Buffer (0x10)
9142                                                 {
9143                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
9144                                                     /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00   /* ........ */
9145                                                 })
9146                                             }
9147                                             Else
9148                                             {
9149                                                 Return (Buffer (0x10)
9150                                                 {
9151                                                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
9152                                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
9153                                                 })
9154                                             }
9155                                         }
9156                                     }
9157                                     Else
9158                                     {
9159                                         If ((_T_1 == 0x06))
9160                                         {
9161                                             If ((Arg1 >= 0x02))
9162                                             {
9163                                                 If (LTRE)
9164                                                 {
9165                                                     If (((LMSL == 0x00) || (LNSL == 0x00)))
9166                                                     {
9167                                                         If ((PCHS == 0x01))
9168                                                         {
9169                                                             LMSL = 0x0846
9170                                                             LNSL = 0x0846
9171                                                         }
9172                                                         Else
9173                                                         {
9174                                                             If ((PCHS == 0x02))
9175                                                             {
9176                                                                 LMSL = 0x1003
9177                                                                 LNSL = 0x1003
9178                                                             }
9179                                                         }
9180                                                     }
9181 
9182                                                     Index (LTRV, 0x00) = ((LMSL >> 0x0A) & 0x07)
9183                                                     Index (LTRV, 0x01) = (LMSL & 0x03FF)
9184                                                     Index (LTRV, 0x02) = ((LNSL >> 0x0A) & 0x07)
9185                                                     Index (LTRV, 0x03) = (LNSL & 0x03FF)
9186                                                     Return (LTRV) /* \_SB_.PCI0.EXP3.LTRV */
9187                                                 }
9188                                                 Else
9189                                                 {
9190                                                     Return (0x00)
9191                                                 }
9192                                             }
9193                                         }
9194                                     }
9195                                 }
9196 
9197                                 Break
9198                             }
9199                         }
9200 
9201                         Break
9202                     }
9203 
9204                     Return (Buffer (0x01)
9205                     {
9206                          0x00                                             /* . */
9207                     })
9208                 }
9209 
9210                 Method (HPME, 0, Serialized)
9211                 {
9212                     If (PMSX)
9213                     {
9214                         Local0 = 0xC8
9215                         While (Local0)
9216                         {
9217                             PMSX = 0x01
9218                             If (PMSX)
9219                             {
9220                                 Local0--
9221                             }
9222                             Else
9223                             {
9224                                 Local0 = 0x00
9225                             }
9226                         }
9227                     }
9228                 }
9229             }
9230 
9231             Device (SAT1)
9232             {
9233                 Name (_ADR, 0x001F0002)  // _ADR: Address
9234                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9235                 Name (RID, 0x00)
9236             }
9237 
9238             Device (SAT2)
9239             {
9240                 Name (_ADR, 0x001F0005)  // _ADR: Address
9241                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9242                 Name (RID, 0x00)
9243             }
9244 
9245             Device (SMBU)
9246             {
9247                 Name (_ADR, 0x001F0003)  // _ADR: Address
9248                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9249                 Name (RID, 0x00)
9250                 Device (NFC)
9251                 {
9252                     Name (_HID, EisaId ("BCM2F29"))  // _HID: Hardware ID
9253                     Name (_CID, EisaId ("BCM2F29"))  // _CID: Compatible ID
9254                     Name (_UID, 0x00)  // _UID: Unique ID
9255                     Method (_STA, 0, NotSerialized)  // _STA: Status
9256                     {
9257                         If ((\_SB.PCI0.LPC.NFCD || \NFCF))
9258                         {
9259                             Return (0x00)
9260                         }
9261                         Else
9262                         {
9263                             Return (0x0F)
9264                         }
9265                     }
9266 
9267                     Method (GPEN, 0, NotSerialized)
9268                     {
9269                         \_GPE.GPFG = 0x01
9270                     }
9271 
9272                     Method (SNFC, 1, NotSerialized)
9273                     {
9274                         If (Arg0)
9275                         {
9276                             \_SB.PCI0.LPC.NFCP = 0x01
9277                         }
9278                         Else
9279                         {
9280                             \_SB.PCI0.LPC.NFCP = 0x00
9281                         }
9282                     }
9283                 }
9284             }
9285 
9286             Device (XHCI)
9287             {
9288                 Name (_ADR, 0x00140000)  // _ADR: Address
9289                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9290                 Name (RID, 0x00)
9291                 Name (LPTH, 0x01)
9292                 Name (LPTL, 0x02)
9293                 Name (WPTL, 0x03)
9294                 Method (PCHV, 0, NotSerialized)
9295                 {
9296                     If (((PCHG == 0x01) && (PCHS == 0x01)))
9297                     {
9298                         Return (LPTH) /* \_SB_.PCI0.XHCI.LPTH */
9299                     }
9300 
9301                     If (((PCHG == 0x01) && (PCHS == 0x02)))
9302                     {
9303                         Return (LPTL) /* \_SB_.PCI0.XHCI.LPTL */
9304                     }
9305 
9306                     If (((PCHG == 0x02) && (PCHS == 0x02)))
9307                     {
9308                         Return (WPTL) /* \_SB_.PCI0.XHCI.WPTL */
9309                     }
9310 
9311                     Return (0x00)
9312                 }
9313 
9314                 OperationRegion (XHCB, PCI_Config, 0x00, 0x0100)
9315                 Field (XHCB, AnyAcc, NoLock, Preserve)
9316                 {
9317                     DVID,   16, 
9318                     Offset (0x40), 
9319                         ,   11, 
9320                     SWAI,   1, 
9321                     Offset (0x44), 
9322                         ,   12, 
9323                     SAIP,   2, 
9324                     Offset (0x48), 
9325                     Offset (0x74), 
9326                     D0D3,   2, 
9327                     Offset (0x75), 
9328                     PMEE,   1, 
9329                         ,   6, 
9330                     PMES,   1, 
9331                     Offset (0xA8), 
9332                         ,   13, 
9333                     MW13,   1, 
9334                     MW14,   1, 
9335                     Offset (0xAC), 
9336                     Offset (0xB0), 
9337                         ,   13, 
9338                     MB13,   1, 
9339                     MB14,   1, 
9340                     Offset (0xB4), 
9341                     Offset (0xD0), 
9342                     PR2,    32, 
9343                     PR2M,   32, 
9344                     PR3,    32, 
9345                     PR3M,   32
9346                 }
9347 
9348                 OperationRegion (XHCP, SystemMemory, (0xF8000000 + 0x000A0000), 0x0100)
9349                 Field (XHCP, AnyAcc, Lock, Preserve)
9350                 {
9351                     Offset (0x04), 
9352                     PDBM,   16, 
9353                     Offset (0x10), 
9354                     MBA1,   32
9355                 }
9356 
9357                 Name (XRST, Zero)
9358                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
9359                 {
9360                     \_SB.PCI0.LPC.EC.PUBS
9361                 })
9362                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
9363                 {
9364                     \_SB.PCI0.LPC.EC.PUBS
9365                 })
9366                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
9367                 {
9368                     \_SB.PCI0.LPC.EC.PUBS
9369                 })
9370                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
9371                 {
9372                     0x6D, 
9373                     0x03, 
9374                     \_SB.PCI0.LPC.EC.PUBS
9375                 })
9376                 Method (CUID, 1, Serialized)
9377                 {
9378                     If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
9379                     {
9380                         Return (0x01)
9381                     }
9382 
9383                     Return (0x00)
9384                 }
9385 
9386                 Method (POSC, 3, Serialized)
9387                 {
9388                     CreateDWordField (Arg2, 0x00, CDW1)
9389                     CreateDWordField (Arg2, 0x08, CDW3)
9390                     If ((\XHCI == 0x00))
9391                     {
9392                         CDW1 |= 0x02
9393                         \_SB.PCI0.LPC.XUSB = 0x00
9394                         XRST = 0x00
9395                     }
9396 
9397                     If (!(CDW1 & 0x01))
9398                     {
9399                         If ((CDW3 & 0x01))
9400                         {
9401                             ESEL ()
9402                         }
9403                         Else
9404                         {
9405                             If (0x00)
9406                             {
9407                                 If ((Arg0 > 0x01))
9408                                 {
9409                                     SXHC ()
9410                                 }
9411                                 Else
9412                                 {
9413                                     CDW1 |= 0x0A
9414                                 }
9415                             }
9416                             Else
9417                             {
9418                                 If ((Arg0 > 0x02))
9419                                 {
9420                                     SXHC ()
9421                                 }
9422                                 Else
9423                                 {
9424                                     CDW1 |= 0x0A
9425                                 }
9426                             }
9427                         }
9428 
9429                         Return (Arg2)
9430                     }
9431 
9432                     If ((!(CDW1 & 0x01) && ((\XHCI == 0x02) || (
9433                         \XHCI == 0x03))))
9434                     {
9435                         SXHC ()
9436                     }
9437 
9438                     Return (Arg2)
9439                 }
9440 
9441                 Method (ESEL, 0, Serialized)
9442                 {
9443                     If (((\XHCI == 0x02) || (\XHCI == 0x03)))
9444                     {
9445                         PR3 &= 0xFFFFFFC0
9446                         PR2 &= 0xFFFF8000
9447                         \_SB.PCI0.LPC.XUSB = 0x00
9448                         XRST = 0x00
9449                     }
9450                 }
9451 
9452                 Method (DEHC, 0, NotSerialized)
9453                 {
9454                     \XHCC = 0x01
9455                     \DIEH (0x01)
9456                 }
9457 
9458                 Method (EEHC, 0, NotSerialized)
9459                 {
9460                     \XHCC = 0x00
9461                     \DIEH (0x00)
9462                 }
9463 
9464                 Method (SXHC, 0, NotSerialized)
9465                 {
9466                     \_SB.PCI0.LPC.XUSB = 0x01
9467                     XRST = 0x01
9468                     Local0 = 0x00
9469                     Local0 = (PR3 & 0xFFFFFFC0)
9470                     PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHCI.PR3M */
9471                     Local0 = 0x00
9472                     Local0 = (PR2 & 0xFFFF8000)
9473                     PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHCI.PR2M */
9474                     \_SB.PCI0.LPC.XUSB = 0x01
9475                     \USBR = 0x01
9476                 }
9477 
9478                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9479                 {
9480                     If (\WIN8)
9481                     {
9482                         DEHC ()
9483                         SXHC ()
9484                     }
9485                     Else
9486                     {
9487                         EEHC ()
9488                     }
9489                 }
9490 
9491                 Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
9492                 {
9493                     Return (0x03)
9494                 }
9495 
9496                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
9497                 {
9498                     If ((^DVID == 0xFFFF))
9499                     {
9500                         Return (Zero)
9501                     }
9502 
9503                     If ((PCHV () == WPTL))
9504                     {
9505                         Local2 = ^MBA1 /* \_SB_.PCI0.XHCI.MBA1 */
9506                         Local1 = ^PDBM /* \_SB_.PCI0.XHCI.PDBM */
9507                         ^PDBM &= ~0x06
9508                     }
9509                     Else
9510                     {
9511                         If ((PCHV () == LPTL))
9512                         {
9513                             Local6 = 0x00
9514                             Local7 = \_SB.PCI0.XHCI.MBA1
9515                             Local7 &= 0xFFFFFFF0
9516                             If (((Local7 == 0x00) || (Local7 == 0xFFFFFFF0)))
9517                             {
9518                                 \_SB.PCI0.XHCI.MBA1 = 0xFEAF0000
9519                                 Local6 = 0x01
9520                             }
9521 
9522                             Local3 = 0x00
9523                             Local4 = \_SB.PCI0.XHCI.PDBM
9524                             If (((Local4 & 0xFF) == 0x00))
9525                             {
9526                                 Local0 = \_SB.PCI0.XHCI.PDBM
9527                                 Local0 |= 0x06
9528                                 \_SB.PCI0.XHCI.PDBM = Local0
9529                                 Local3 = 0x01
9530                             }
9531 
9532                             Local0 = \_SB.PCI0.XHCI.MBA1
9533                             Local0 &= 0xFFFFFFF0
9534                         }
9535                     }
9536 
9537                     If ((PCHV () == WPTL))
9538                     {
9539                         Local5 = ^D0D3 /* \_SB_.PCI0.XHCI.D0D3 */
9540                         ^D0D3 = 0x00
9541                         ^MBA1 = \XWMB
9542                         ^PDBM = (Local1 | 0x02)
9543                     }
9544 
9545                     OperationRegion (MCA1, SystemMemory, \XWMB, 0x9000)
9546                     Field (MCA1, DWordAcc, Lock, Preserve)
9547                     {
9548                         Offset (0x510), 
9549                         P141,   14, 
9550                             ,   17, 
9551                         WPR1,   1, 
9552                         Offset (0x520), 
9553                         P142,   14, 
9554                             ,   17, 
9555                         WPR2,   1, 
9556                         Offset (0x530), 
9557                         P143,   14, 
9558                             ,   17, 
9559                         WPR3,   1, 
9560                         Offset (0x540), 
9561                         P144,   14, 
9562                             ,   17, 
9563                         WPR4,   1, 
9564                         Offset (0x80E0), 
9565                             ,   15, 
9566                         AX15,   1, 
9567                         Offset (0x8154), 
9568                             ,   31, 
9569                         CLK2,   1, 
9570                         Offset (0x816C), 
9571                             ,   2, 
9572                         CLK0,   1, 
9573                             ,   11, 
9574                         CLK1,   1
9575                     }
9576 
9577                     If ((PCHV () == WPTL))
9578                     {
9579                         ^PDBM &= ~0x02
9580                         ^MBA1 = Local2
9581                         ^PDBM = Local1
9582                     }
9583                     Else
9584                     {
9585                         If ((PCHV () == LPTL))
9586                         {
9587                             Local0 = \_SB.PCI0.XHCI.MBA1
9588                             Local0 &= 0xFFFFFFF0
9589                             Local0 = \XWMB
9590                             OperationRegion (MCA2, SystemMemory, Local0, 0x9000)
9591                             Field (MCA2, DWordAcc, Lock, Preserve)
9592                             {
9593                                 Offset (0x510), 
9594                                     ,   4, 
9595                                 WIT1,   1, 
9596                                     ,   12, 
9597                                 A171,   7, 
9598                                 Offset (0x520), 
9599                                     ,   4, 
9600                                 WIT2,   1, 
9601                                     ,   12, 
9602                                 A172,   7, 
9603                                 Offset (0x530), 
9604                                     ,   4, 
9605                                 WIT3,   1, 
9606                                     ,   12, 
9607                                 A173,   7, 
9608                                 Offset (0x540), 
9609                                     ,   4, 
9610                                 WIT4,   1, 
9611                                     ,   12, 
9612                                 A174,   7
9613                             }
9614 
9615                             Local5 = \_SB.PCI0.XHCI.D0D3
9616                             Local5 &= 0x03
9617                             If ((Local5 == 0x03))
9618                             {
9619                                 Local5 = \_SB.PCI0.XHCI.D0D3
9620                                 Local5 &= 0xFFFFFFFC
9621                                 \_SB.PCI0.XHCI.D0D3 = Local5
9622                                 CLK0 = 0x00
9623                                 CLK1 = 0x00
9624                                 CLK2 = 0x01
9625                                 While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 == 
9626                                     0x02E0) || (P144 == 0x02E0)))) {}
9627                                 If ((P141 == 0x02A0))
9628                                 {
9629                                     WPR1 = 0x01
9630                                     While (((A171 & 0x04) == 0x00)) {}
9631                                     A171 = 0x7F
9632                                 }
9633 
9634                                 If ((P142 == 0x02A0))
9635                                 {
9636                                     WPR2 = 0x01
9637                                     While (((A172 & 0x04) == 0x00)) {}
9638                                     A172 = 0x7F
9639                                 }
9640 
9641                                 If ((P143 == 0x02A0))
9642                                 {
9643                                     WPR3 = 0x01
9644                                     While (((A173 & 0x04) == 0x00)) {}
9645                                     A173 = 0x7F
9646                                 }
9647 
9648                                 If ((P144 == 0x02A0))
9649                                 {
9650                                     WPR4 = 0x01
9651                                     While (((A174 & 0x04) == 0x00)) {}
9652                                     A174 = 0x7F
9653                                 }
9654 
9655                                 AX15 = 0x01
9656                                 Local5 = \_SB.PCI0.XHCI.D0D3
9657                                 Local5 |= 0x03
9658                                 \_SB.PCI0.XHCI.D0D3 = Local5
9659                             }
9660                             Else
9661                             {
9662                                 CLK0 = 0x00
9663                                 CLK1 = 0x00
9664                                 CLK2 = 0x01
9665                                 While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 == 
9666                                     0x02E0) || (P144 == 0x02E0)))) {}
9667                                 If ((P141 == 0x02A0))
9668                                 {
9669                                     WPR1 = 0x01
9670                                     While (((A171 & 0x04) == 0x00)) {}
9671                                     A171 = 0x7F
9672                                 }
9673 
9674                                 If ((P142 == 0x02A0))
9675                                 {
9676                                     WPR2 = 0x01
9677                                     While (((A172 & 0x04) == 0x00)) {}
9678                                     A172 = 0x7F
9679                                 }
9680 
9681                                 If ((P143 == 0x02A0))
9682                                 {
9683                                     WPR3 = 0x01
9684                                     While (((A173 & 0x04) == 0x00)) {}
9685                                     A173 = 0x7F
9686                                 }
9687 
9688                                 If ((P144 == 0x02A0))
9689                                 {
9690                                     WPR4 = 0x01
9691                                     While (((A174 & 0x04) == 0x00)) {}
9692                                     A174 = 0x7F
9693                                 }
9694 
9695                                 AX15 = 0x01
9696                             }
9697 
9698                             ^SWAI = 0x00
9699                             ^SAIP = 0x00
9700                             If ((Local3 == 0x01))
9701                             {
9702                                 \_SB.PCI0.XHCI.PDBM = Local4
9703                             }
9704 
9705                             If ((Local6 == 0x01))
9706                             {
9707                                 \_SB.PCI0.XHCI.MBA1 = Local7
9708                             }
9709                         }
9710                     }
9711                 }
9712 
9713                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
9714                 {
9715                     Local1 = ^PDBM /* \_SB_.PCI0.XHCI.PDBM */
9716                     Local2 = ^MBA1 /* \_SB_.PCI0.XHCI.MBA1 */
9717                     ^PDBM &= ~0x06
9718                     ^D0D3 = 0x00
9719                     ^MBA1 = \XWMB
9720                     ^PDBM = (Local1 | 0x02)
9721                     ^PMES = 0x01
9722                     ^PMEE = 0x01
9723                     Local0 = \XWMB
9724                     OperationRegion (MCA1, SystemMemory, \XWMB, 0x9000)
9725                     Field (MCA1, DWordAcc, Lock, Preserve)
9726                     {
9727                         Offset (0x80E0), 
9728                             ,   15, 
9729                         AX15,   1, 
9730                         Offset (0x8154), 
9731                             ,   31, 
9732                         CLK2,   1, 
9733                         Offset (0x816C), 
9734                             ,   2, 
9735                         CLK0,   1, 
9736                             ,   11, 
9737                         CLK1,   1, 
9738                         Offset (0x8170)
9739                     }
9740 
9741                     If ((PCHV () == LPTL))
9742                     {
9743                         ^MB13 = 0x01
9744                         ^MB14 = 0x01
9745                         CLK0 = 0x01
9746                         CLK1 = 0x01
9747                     }
9748 
9749                     If ((PCHG == 0x01))
9750                     {
9751                         CLK2 = 0x00
9752                     }
9753 
9754                     If (((PCHS == 0x02) && (PCHG == 0x01)))
9755                     {
9756                         AX15 = 0x00
9757                     }
9758 
9759                     If (((PCHG == 0x01) || ((PCHV () == WPTL) && (PCHP == 0x41))))
9760                     {
9761                         ^SWAI = 0x01
9762                         ^SAIP = 0x01
9763                     }
9764 
9765                     ^PDBM &= ~0x02
9766                     ^D0D3 = 0x03
9767                     ^MBA1 = Local2
9768                     ^PDBM = Local1
9769                 }
9770 
9771                 Device (URTH)
9772                 {
9773                     Name (_ADR, 0x00)  // _ADR: Address
9774                     Device (HSP0)
9775                     {
9776                         Name (_ADR, 0x01)  // _ADR: Address
9777                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9778                         {
9779                             Name (UPCP, Package (0x04)
9780                             {
9781                                 0x00, 
9782                                 0x00, 
9783                                 0x00, 
9784                                 0x00
9785                             })
9786                             CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9787                             If (!(PR2 & 0x01))
9788                             {
9789                                 Index (UPCP, 0x00) = 0x00
9790                             }
9791 
9792                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9793                         }
9794 
9795                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9796                         {
9797                             Name (PLDP, Buffer (0x10) {})
9798                             PLDP = \PLD0
9799                             CreateBitField (PLDP, 0x40, VIS)
9800                             If (!(PR2 & 0x01))
9801                             {
9802                                 VIS &= 0x00
9803                             }
9804 
9805                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP0._PLD.PLDP */
9806                         }
9807                     }
9808 
9809                     Device (HSP1)
9810                     {
9811                         Name (_ADR, 0x02)  // _ADR: Address
9812                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9813                         {
9814                             Name (UPCP, Package (0x04)
9815                             {
9816                                 0x00, 
9817                                 0x00, 
9818                                 0x00, 
9819                                 0x00
9820                             })
9821                             CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9822                             If (!(PR2 & 0x02))
9823                             {
9824                                 Index (UPCP, 0x00) = 0x00
9825                             }
9826 
9827                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9828                         }
9829 
9830                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9831                         {
9832                             Name (PLDP, Buffer (0x10) {})
9833                             PLDP = \PLD1
9834                             CreateBitField (PLDP, 0x40, VIS)
9835                             If (!(PR2 & 0x02))
9836                             {
9837                                 VIS &= 0x00
9838                             }
9839 
9840                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP1._PLD.PLDP */
9841                         }
9842                     }
9843 
9844                     Device (HSP2)
9845                     {
9846                         Name (_ADR, 0x03)  // _ADR: Address
9847                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9848                         {
9849                             Name (UPCP, Package (0x04)
9850                             {
9851                                 0x00, 
9852                                 0x00, 
9853                                 0x00, 
9854                                 0x00
9855                             })
9856                             CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9857                             If (!(PR2 & 0x04))
9858                             {
9859                                 Index (UPCP, 0x00) = 0x00
9860                             }
9861 
9862                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9863                         }
9864 
9865                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9866                         {
9867                             Name (PLDP, Buffer (0x10) {})
9868                             PLDP = \PLD2
9869                             CreateBitField (PLDP, 0x40, VIS)
9870                             If (!(PR2 & 0x04))
9871                             {
9872                                 VIS &= 0x00
9873                             }
9874 
9875                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP2._PLD.PLDP */
9876                         }
9877                     }
9878 
9879                     Device (HSP3)
9880                     {
9881                         Name (_ADR, 0x04)  // _ADR: Address
9882                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9883                         {
9884                             Name (UPCP, Package (0x04)
9885                             {
9886                                 0x00, 
9887                                 0x00, 
9888                                 0x00, 
9889                                 0x00
9890                             })
9891                             CopyObject (\UPC3, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9892                             If (!(PR2 & 0x08))
9893                             {
9894                                 Index (UPCP, 0x00) = 0x00
9895                             }
9896 
9897                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9898                         }
9899 
9900                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9901                         {
9902                             Name (PLDP, Buffer (0x10) {})
9903                             PLDP = \PLD3
9904                             CreateBitField (PLDP, 0x40, VIS)
9905                             If (!(PR2 & 0x08))
9906                             {
9907                                 VIS &= 0x00
9908                             }
9909 
9910                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP3._PLD.PLDP */
9911                         }
9912                     }
9913 
9914                     Device (HSP4)
9915                     {
9916                         Name (_ADR, 0x05)  // _ADR: Address
9917                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9918                         {
9919                             Name (UPCP, Package (0x04)
9920                             {
9921                                 0x00, 
9922                                 0x00, 
9923                                 0x00, 
9924                                 0x00
9925                             })
9926                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9927                             If (!(PR2 & 0x10))
9928                             {
9929                                 Index (UPCP, 0x00) = 0x00
9930                             }
9931 
9932                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9933                         }
9934 
9935                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9936                         {
9937                             Name (PLDP, Buffer (0x10) {})
9938                             PLDP = \PLDI
9939                             CreateBitField (PLDP, 0x40, VIS)
9940                             If (!(PR2 & 0x10))
9941                             {
9942                                 VIS &= 0x00
9943                             }
9944 
9945                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP4._PLD.PLDP */
9946                         }
9947                     }
9948 
9949                     Device (HSP5)
9950                     {
9951                         Name (_ADR, 0x06)  // _ADR: Address
9952                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9953                         {
9954                             Name (UPCP, Package (0x04)
9955                             {
9956                                 0x00, 
9957                                 0x00, 
9958                                 0x00, 
9959                                 0x00
9960                             })
9961                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9962                             If (!(PR2 & 0x20))
9963                             {
9964                                 Index (UPCP, 0x00) = 0x00
9965                             }
9966 
9967                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9968                         }
9969 
9970                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9971                         {
9972                             Name (PLDP, Buffer (0x10) {})
9973                             PLDP = \PLDI
9974                             CreateBitField (PLDP, 0x40, VIS)
9975                             If (!(PR2 & 0x20))
9976                             {
9977                                 VIS &= 0x00
9978                             }
9979 
9980                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP5._PLD.PLDP */
9981                         }
9982                     }
9983 
9984                     Device (HSP6)
9985                     {
9986                         Name (_ADR, 0x07)  // _ADR: Address
9987                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9988                         {
9989                             Name (UPCP, Package (0x04)
9990                             {
9991                                 0x00, 
9992                                 0x00, 
9993                                 0x00, 
9994                                 0x00
9995                             })
9996                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9997                             If (!(PR2 & 0x40))
9998                             {
9999                                 Index (UPCP, 0x00) = 0x00
10000                             }
10001 
10002                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
10003                         }
10004 
10005                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10006                         {
10007                             Name (PLDP, Buffer (0x10) {})
10008                             PLDP = \PLDI
10009                             CreateBitField (PLDP, 0x40, VIS)
10010                             If (!(PR2 & 0x40))
10011                             {
10012                                 VIS &= 0x00
10013                             }
10014 
10015                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP6._PLD.PLDP */
10016                         }
10017                     }
10018 
10019                     Device (HSP7)
10020                     {
10021                         Name (_ADR, 0x08)  // _ADR: Address
10022                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10023                         {
10024                             Name (UPCP, Package (0x04)
10025                             {
10026                                 0x00, 
10027                                 0x00, 
10028                                 0x00, 
10029                                 0x00
10030                             })
10031                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
10032                             If (!(PR2 & 0x80))
10033                             {
10034                                 Index (UPCP, 0x00) = 0x00
10035                             }
10036 
10037                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
10038                         }
10039 
10040                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10041                         {
10042                             Name (PLDP, Buffer (0x10) {})
10043                             PLDP = \PLDI
10044                             CreateBitField (PLDP, 0x40, VIS)
10045                             If (!(PR2 & 0x80))
10046                             {
10047                                 VIS &= 0x00
10048                             }
10049 
10050                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP7._PLD.PLDP */
10051                         }
10052 
10053                         Device (WCAM)
10054                         {
10055                             Name (_ADR, 0x08)  // _ADR: Address
10056                             Method (_STA, 0, NotSerialized)  // _STA: Status
10057                             {
10058                                 If (\WIN8)
10059                                 {
10060                                     Return (0x0F)
10061                                 }
10062                                 Else
10063                                 {
10064                                     Return (0x00)
10065                                 }
10066                             }
10067 
10068                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10069                             {
10070                                 Return (\UPCI)
10071                             }
10072 
10073                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10074                             {
10075                                 Return (\PLDC)
10076                             }
10077                         }
10078                     }
10079 
10080                     Device (HSPA)
10081                     {
10082                         Name (_ADR, 0x0B)  // _ADR: Address
10083                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10084                         {
10085                             Name (UPCP, Package (0x04)
10086                             {
10087                                 0x00, 
10088                                 0x00, 
10089                                 0x00, 
10090                                 0x00
10091                             })
10092                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPA._UPC.UPCP */
10093                             If (!(PR2 & 0x40))
10094                             {
10095                                 Index (UPCP, 0x00) = 0x00
10096                             }
10097 
10098                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSPA._UPC.UPCP */
10099                         }
10100 
10101                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10102                         {
10103                             Name (PLDP, Buffer (0x10) {})
10104                             PLDP = \PLDI
10105                             CreateBitField (PLDP, 0x40, VIS)
10106                             If (!(PR2 & 0x40))
10107                             {
10108                                 VIS &= 0x00
10109                             }
10110 
10111                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSPA._PLD.PLDP */
10112                         }
10113                     }
10114 
10115                     Device (SSP0)
10116                     {
10117                         Name (_ADR, 0x0C)  // _ADR: Address
10118                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10119                         {
10120                             Name (UPCP, Package (0x04)
10121                             {
10122                                 0x00, 
10123                                 0x00, 
10124                                 0x00, 
10125                                 0x00
10126                             })
10127                             CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
10128                             If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
10129                             {
10130                                 Index (UPCP, 0x00) = 0x00
10131                             }
10132 
10133                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
10134                         }
10135 
10136                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10137                         {
10138                             Name (PLDP, Buffer (0x10) {})
10139                             PLDP = \PLD0
10140                             CreateBitField (PLDP, 0x40, VIS)
10141                             If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
10142                             {
10143                                 VIS &= 0x00
10144                             }
10145 
10146                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP0._PLD.PLDP */
10147                         }
10148                     }
10149 
10150                     Device (SSP1)
10151                     {
10152                         Name (_ADR, 0x0D)  // _ADR: Address
10153                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10154                         {
10155                             Name (UPCP, Package (0x04)
10156                             {
10157                                 0x00, 
10158                                 0x00, 
10159                                 0x00, 
10160                                 0x00
10161                             })
10162                             CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
10163                             If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
10164                             {
10165                                 Index (UPCP, 0x00) = 0x00
10166                             }
10167 
10168                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
10169                         }
10170 
10171                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10172                         {
10173                             Name (PLDP, Buffer (0x10) {})
10174                             PLDP = \PLD1
10175                             CreateBitField (PLDP, 0x40, VIS)
10176                             If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
10177                             {
10178                                 VIS &= 0x00
10179                             }
10180 
10181                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP1._PLD.PLDP */
10182                         }
10183                     }
10184 
10185                     Device (SSP2)
10186                     {
10187                         Name (_ADR, 0x0E)  // _ADR: Address
10188                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10189                         {
10190                             Name (UPCP, Package (0x04)
10191                             {
10192                                 0x00, 
10193                                 0x00, 
10194                                 0x00, 
10195                                 0x00
10196                             })
10197                             CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
10198                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10199                             {
10200                                 Index (UPCP, 0x00) = 0x00
10201                             }
10202 
10203                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
10204                         }
10205 
10206                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10207                         {
10208                             Name (PLDP, Buffer (0x10) {})
10209                             PLDP = \PLD2
10210                             CreateBitField (PLDP, 0x40, VIS)
10211                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10212                             {
10213                                 VIS &= 0x00
10214                             }
10215 
10216                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP2._PLD.PLDP */
10217                         }
10218                     }
10219 
10220                     Device (SSP3)
10221                     {
10222                         Name (_ADR, 0x0F)  // _ADR: Address
10223                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10224                         {
10225                             Name (UPCP, Package (0x04)
10226                             {
10227                                 0x00, 
10228                                 0x00, 
10229                                 0x00, 
10230                                 0x00
10231                             })
10232                             CopyObject (\UPC3, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP3._UPC.UPCP */
10233                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10234                             {
10235                                 Index (UPCP, 0x00) = 0x00
10236                             }
10237 
10238                             Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP3._UPC.UPCP */
10239                         }
10240 
10241                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10242                         {
10243                             Name (PLDP, Buffer (0x10) {})
10244                             PLDP = \PLD3
10245                             CreateBitField (PLDP, 0x40, VIS)
10246                             If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
10247                             {
10248                                 VIS &= 0x00
10249                             }
10250 
10251                             Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP3._PLD.PLDP */
10252                         }
10253                     }
10254                 }
10255             }
10256 
10257             Device (EHC1)
10258             {
10259                 Name (_ADR, 0x001D0000)  // _ADR: Address
10260                 Name (_S3D, 0x03)  // _S3D: S3 Device State
10261                 Name (RID, 0x00)
10262                 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
10263                 Field (EHCS, DWordAcc, NoLock, Preserve)
10264                 {
10265                     Offset (0x62), 
10266                     PWKI,   1, 
10267                     PWUC,   8, 
10268                     Offset (0x64)
10269                 }
10270 
10271                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
10272                 {
10273                     \_SB.PCI0.LPC.EC.PUBS
10274                 })
10275                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
10276                 {
10277                     \_SB.PCI0.LPC.EC.PUBS
10278                 })
10279                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
10280                 {
10281                     \_SB.PCI0.LPC.EC.PUBS
10282                 })
10283                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
10284                 {
10285                     PWKI = 0x01
10286                     PWUC = 0x23
10287                 }
10288 
10289                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
10290                 {
10291                     0x6D, 
10292                     0x03, 
10293                     \_SB.PCI0.LPC.EC.PUBS
10294                 })
10295                 Device (URTH)
10296                 {
10297                     Name (_ADR, 0x00)  // _ADR: Address
10298                     Device (URMH)
10299                     {
10300                         Name (_ADR, 0x01)  // _ADR: Address
10301                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10302                         {
10303                             Return (\UPCI)
10304                         }
10305 
10306                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10307                         {
10308                             Return (\PLDI)
10309                         }
10310 
10311                         Device (PRT0)
10312                         {
10313                             Name (_ADR, 0x01)  // _ADR: Address
10314                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10315                             {
10316                                 Name (UPCP, Package (0x04)
10317                                 {
10318                                     0x00, 
10319                                     0x00, 
10320                                     0x00, 
10321                                     0x00
10322                                 })
10323                                 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
10324                                 If ((\XHCI == 0x00)) {}
10325                                 Else
10326                                 {
10327                                     If ((\_SB.PCI0.XHCI.PR2 & 0x01))
10328                                     {
10329                                         Index (UPCP, 0x00) = 0x00
10330                                     }
10331                                 }
10332 
10333                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
10334                             }
10335 
10336                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10337                             {
10338                                 Name (PLDP, Buffer (0x10) {})
10339                                 PLDP = \PLD0
10340                                 CreateBitField (PLDP, 0x40, VIS)
10341                                 If ((\XHCI == 0x00)) {}
10342                                 Else
10343                                 {
10344                                     If ((\_SB.PCI0.XHCI.PR2 & 0x01))
10345                                     {
10346                                         VIS &= 0x00
10347                                     }
10348 
10349                                     Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._PLD.PLDP */
10350                                 }
10351                             }
10352                         }
10353 
10354                         Device (PRT1)
10355                         {
10356                             Name (_ADR, 0x02)  // _ADR: Address
10357                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10358                             {
10359                                 Name (UPCP, Package (0x04)
10360                                 {
10361                                     0x00, 
10362                                     0x00, 
10363                                     0x00, 
10364                                     0x00
10365                                 })
10366                                 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
10367                                 If ((\XHCI == 0x00)) {}
10368                                 Else
10369                                 {
10370                                     If ((\_SB.PCI0.XHCI.PR2 & 0x02))
10371                                     {
10372                                         Index (UPCP, 0x00) = 0x00
10373                                     }
10374                                 }
10375 
10376                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
10377                             }
10378 
10379                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10380                             {
10381                                 Name (PLDP, Buffer (0x10) {})
10382                                 PLDP = \PLD1
10383                                 CreateBitField (PLDP, 0x40, VIS)
10384                                 If ((\XHCI == 0x00)) {}
10385                                 Else
10386                                 {
10387                                     If ((\_SB.PCI0.XHCI.PR2 & 0x02))
10388                                     {
10389                                         VIS &= 0x00
10390                                     }
10391                                 }
10392 
10393                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._PLD.PLDP */
10394                             }
10395                         }
10396 
10397                         Device (PRT2)
10398                         {
10399                             Name (_ADR, 0x03)  // _ADR: Address
10400                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10401                             {
10402                                 Name (UPCP, Package (0x04)
10403                                 {
10404                                     0x00, 
10405                                     0x00, 
10406                                     0x00, 
10407                                     0x00
10408                                 })
10409                                 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
10410                                 If ((\XHCI == 0x00)) {}
10411                                 Else
10412                                 {
10413                                     If ((\_SB.PCI0.XHCI.PR2 & 0x04))
10414                                     {
10415                                         Index (UPCP, 0x00) = 0x00
10416                                     }
10417                                 }
10418 
10419                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
10420                             }
10421 
10422                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10423                             {
10424                                 Name (PLDP, Buffer (0x10) {})
10425                                 PLDP = \PLD2
10426                                 CreateBitField (PLDP, 0x40, VIS)
10427                                 If ((\XHCI == 0x00)) {}
10428                                 Else
10429                                 {
10430                                     If ((\_SB.PCI0.XHCI.PR2 & 0x04))
10431                                     {
10432                                         VIS &= 0x00
10433                                     }
10434                                 }
10435 
10436                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._PLD.PLDP */
10437                             }
10438                         }
10439 
10440                         Device (PRT3)
10441                         {
10442                             Name (_ADR, 0x04)  // _ADR: Address
10443                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10444                             {
10445                                 Name (UPCP, Package (0x04)
10446                                 {
10447                                     0x00, 
10448                                     0x00, 
10449                                     0x00, 
10450                                     0x00
10451                                 })
10452                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10453                                 If ((\XHCI == 0x00)) {}
10454                                 Else
10455                                 {
10456                                     If ((\_SB.PCI0.XHCI.PR2 & 0x08))
10457                                     {
10458                                         Index (UPCP, 0x00) = 0x00
10459                                     }
10460                                 }
10461 
10462                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10463                             }
10464 
10465                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10466                             {
10467                                 Name (PLDP, Buffer (0x10) {})
10468                                 PLDP = \PLD3
10469                                 CreateBitField (PLDP, 0x40, VIS)
10470                                 If ((\XHCI == 0x00)) {}
10471                                 Else
10472                                 {
10473                                     If ((\_SB.PCI0.XHCI.PR2 & 0x08))
10474                                     {
10475                                         VIS &= 0x00
10476                                     }
10477                                 }
10478 
10479                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._PLD.PLDP */
10480                             }
10481                         }
10482 
10483                         Device (PRT4)
10484                         {
10485                             Name (_ADR, 0x05)  // _ADR: Address
10486                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10487                             {
10488                                 Name (UPCP, Package (0x04)
10489                                 {
10490                                     0x00, 
10491                                     0x00, 
10492                                     0x00, 
10493                                     0x00
10494                                 })
10495                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10496                                 If ((\XHCI == 0x00)) {}
10497                                 Else
10498                                 {
10499                                     If ((\_SB.PCI0.XHCI.PR2 & 0x10))
10500                                     {
10501                                         Index (UPCP, 0x00) = 0x00
10502                                     }
10503                                 }
10504 
10505                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10506                             }
10507 
10508                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10509                             {
10510                                 Name (PLDP, Buffer (0x10) {})
10511                                 PLDP = \PLDI
10512                                 CreateBitField (PLDP, 0x40, VIS)
10513                                 If ((\XHCI == 0x00)) {}
10514                                 Else
10515                                 {
10516                                     If ((\_SB.PCI0.XHCI.PR2 & 0x10))
10517                                     {
10518                                         VIS &= 0x00
10519                                     }
10520                                 }
10521 
10522                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._PLD.PLDP */
10523                             }
10524                         }
10525 
10526                         Device (PRT5)
10527                         {
10528                             Name (_ADR, 0x06)  // _ADR: Address
10529                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10530                             {
10531                                 Name (UPCP, Package (0x04)
10532                                 {
10533                                     0x00, 
10534                                     0x00, 
10535                                     0x00, 
10536                                     0x00
10537                                 })
10538                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10539                                 If ((\XHCI == 0x00)) {}
10540                                 Else
10541                                 {
10542                                     If ((\_SB.PCI0.XHCI.PR2 & 0x20))
10543                                     {
10544                                         Index (UPCP, 0x00) = 0x00
10545                                     }
10546                                 }
10547 
10548                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10549                             }
10550 
10551                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10552                             {
10553                                 Name (PLDP, Buffer (0x10) {})
10554                                 PLDP = \PLDI
10555                                 CreateBitField (PLDP, 0x40, VIS)
10556                                 If ((\XHCI == 0x00)) {}
10557                                 Else
10558                                 {
10559                                     If ((\_SB.PCI0.XHCI.PR2 & 0x20))
10560                                     {
10561                                         VIS &= 0x00
10562                                     }
10563                                 }
10564 
10565                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._PLD.PLDP */
10566                             }
10567                         }
10568 
10569                         Device (PRT6)
10570                         {
10571                             Name (_ADR, 0x07)  // _ADR: Address
10572                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10573                             {
10574                                 Name (UPCP, Package (0x04)
10575                                 {
10576                                     0x00, 
10577                                     0x00, 
10578                                     0x00, 
10579                                     0x00
10580                                 })
10581                                 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10582                                 If ((\XHCI == 0x00)) {}
10583                                 Else
10584                                 {
10585                                     If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10586                                     {
10587                                         Index (UPCP, 0x00) = 0x00
10588                                     }
10589                                 }
10590 
10591                                 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10592                             }
10593 
10594                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10595                             {
10596                                 Name (PLDP, Buffer (0x10) {})
10597                                 PLDP = \PLDI
10598                                 CreateBitField (PLDP, 0x40, VIS)
10599                                 If ((\XHCI == 0x00)) {}
10600                                 Else
10601                                 {
10602                                     If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10603                                     {
10604                                         VIS &= 0x00
10605                                     }
10606                                 }
10607 
10608                                 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._PLD.PLDP */
10609                             }
10610                         }
10611 
10612                         Device (PRT7)
10613                         {
10614                             Name (_ADR, 0x08)  // _ADR: Address
10615                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10616                             {
10617                                 Return (\UPCI)
10618                             }
10619 
10620                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10621                             {
10622                                 Return (\PLDI)
10623                             }
10624 
10625                             Device (WCAM)
10626                             {
10627                                 Name (_ADR, 0x08)  // _ADR: Address
10628                                 Method (_STA, 0, NotSerialized)  // _STA: Status
10629                                 {
10630                                     If (\WIN8)
10631                                     {
10632                                         Return (0x0F)
10633                                     }
10634                                     Else
10635                                     {
10636                                         Return (0x00)
10637                                     }
10638                                 }
10639 
10640                                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10641                                 {
10642                                     Return (\UPCI)
10643                                 }
10644 
10645                                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10646                                 {
10647                                     Return (\PLDC)
10648                                 }
10649                             }
10650                         }
10651                     }
10652 
10653                     Device (PRT3)
10654                     {
10655                         Name (_ADR, 0x03)  // _ADR: Address
10656                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10657                         {
10658                             Name (UPCP, Package (0x04)
10659                             {
10660                                 0x00, 
10661                                 0x00, 
10662                                 0x00, 
10663                                 0x00
10664                             })
10665                             CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.PRT3._UPC.UPCP */
10666                             If ((\XHCI == 0x00))
10667                             {
10668                                 Index (UPCP, 0x00) = 0x00
10669                             }
10670                             Else
10671                             {
10672                                 If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10673                                 {
10674                                     Index (UPCP, 0x00) = 0x00
10675                                 }
10676                             }
10677 
10678                             Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.PRT3._UPC.UPCP */
10679                         }
10680 
10681                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10682                         {
10683                             Name (PLDP, Buffer (0x10) {})
10684                             PLDP = \PLDI
10685                             CreateBitField (PLDP, 0x40, VIS)
10686                             If ((\XHCI == 0x00)) {}
10687                             Else
10688                             {
10689                                 If ((\_SB.PCI0.XHCI.PR2 & 0x40))
10690                                 {
10691                                     VIS &= 0x00
10692                                 }
10693                             }
10694 
10695                             Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.PRT3._PLD.PLDP */
10696                         }
10697                     }
10698                 }
10699             }
10700 
10701             Device (HDEF)
10702             {
10703                 Name (_ADR, 0x001B0000)  // _ADR: Address
10704                 Name (_S3D, 0x03)  // _S3D: S3 Device State
10705                 Name (RID, 0x00)
10706             }
10707         }
10708 
10709         Scope (\_SB.PCI0.LPC.EC)
10710         {
10711             Name (BDEV, 0xFF)
10712             Name (BSTS, 0x00)
10713             Name (BHKE, 0x00)
10714             Method (_Q2C, 0, NotSerialized)  // _Qxx: EC Query
10715             {
10716                 If ((BSTS == 0x00))
10717                 {
10718                     BDEV = BGID (0x00)
10719                     NBRE (BDEV)
10720                 }
10721             }
10722 
10723             Method (_Q2D, 0, NotSerialized)  // _Qxx: EC Query
10724             {
10725                 BDEV = BGID (0x00)
10726                 NBIN (BDEV)
10727             }
10728 
10729             Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query
10730             {
10731                 Local0 = BGID (0x00)
10732                 If ((Local0 == 0x0F))
10733                 {
10734                     BDIS ()
10735                     \BHDP (0x01, 0x00)
10736                     NBEJ (BDEV)
10737                     BDEV = Local0
10738                     If ((\BIDE == 0x03))
10739                     {
10740                         \_SB.PCI0.SAT1.PRIM.GTME = 0x00
10741                         \_SB.PCI0.SAT1.SCND.GTME = 0x00
10742                     }
10743                 }
10744                 Else
10745                 {
10746                     If (HPBU) {}
10747                     Else
10748                     {
10749                         BDEV = Local0
10750                         NBIN (Local0)
10751                     }
10752                 }
10753             }
10754 
10755             Method (NBRE, 1, NotSerialized)
10756             {
10757                 If ((Arg0 < 0x0C))
10758                 {
10759                     If ((\BIDE == 0x03))
10760                     {
10761                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03) // Eject Request
10762                     }
10763                     Else
10764                     {
10765                         Notify (\_SB.PCI0.SAT1.PRT1, 0x03) // Eject Request
10766                     }
10767                 }
10768             }
10769 
10770             Method (NBEJ, 1, NotSerialized)
10771             {
10772                 If ((BSTS == 0x00))
10773                 {
10774                     If ((Arg0 < 0x0C))
10775                     {
10776                         If ((\BIDE == 0x03))
10777                         {
10778                             Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10779                         }
10780                         Else
10781                         {
10782                             Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10783                         }
10784                     }
10785                 }
10786 
10787                 BEEP (0x00)
10788                 BSTS = 0x00
10789             }
10790 
10791             Method (NBIN, 1, NotSerialized)
10792             {
10793                 If ((Arg0 < 0x0C))
10794                 {
10795                     BEN (0x01)
10796                     If ((\BIDE == 0x03))
10797                     {
10798                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10799                     }
10800                     Else
10801                     {
10802                         Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10803                     }
10804                 }
10805 
10806                 BEEP (0x00)
10807                 BSTS = 0x00
10808             }
10809 
10810             Method (BEJ0, 1, NotSerialized)
10811             {
10812                 If (Arg0)
10813                 {
10814                     BDIS ()
10815                     \BHDP (0x01, 0x00)
10816                     BSTS = 0x01
10817                     If (BHKE)
10818                     {
10819                         BHKE = 0x00
10820                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
10821                     }
10822                 }
10823                 Else
10824                 {
10825                     BSTS = 0x00
10826                 }
10827             }
10828 
10829             Method (BEJ3, 1, NotSerialized)
10830             {
10831                 If (Arg0)
10832                 {
10833                     BDIS ()
10834                     BSTS = 0x01
10835                 }
10836                 Else
10837                 {
10838                     BSTS = 0x00
10839                 }
10840             }
10841 
10842             Method (BPTS, 1, NotSerialized)
10843             {
10844                 HDBM = 0x01
10845                 If ((BSTS != 0x00))
10846                 {
10847                     BDEV = 0x0F
10848                     BSTS = 0x00
10849                 }
10850 
10851                 BHKE = 0x00
10852                 BUWK (0x00)
10853             }
10854 
10855             Method (BWAK, 1, NotSerialized)
10856             {
10857                 BUWK (0x00)
10858                 Local0 = BGID (0x00)
10859                 If ((BSTS == 0x00))
10860                 {
10861                     If ((Local0 != BDEV))
10862                     {
10863                         NBEJ (BDEV)
10864                         BDEV = Local0
10865                         NBIN (Local0)
10866                     }
10867                     Else
10868                     {
10869                         If ((\LFDC || (BDEV != 0x0D)))
10870                         {
10871                             If ((Local0 != 0x0F))
10872                             {
10873                                 If (HPBU)
10874                                 {
10875                                     If ((Arg0 <= 0x02)) {}
10876                                     Else
10877                                     {
10878                                         NBRE (Local0)
10879                                     }
10880                                 }
10881                             }
10882                         }
10883                     }
10884                 }
10885 
10886                 If ((BDEV < 0x0C))
10887                 {
10888                     \UBIS (0x00)
10889                 }
10890                 Else
10891                 {
10892                     \UBIS (0x01)
10893                 }
10894             }
10895 
10896             Method (BDIS, 0, NotSerialized)
10897             {
10898                 If (!\_SB.PCI0.LPC.CSON)
10899                 {
10900                     If (!\_SB.PCI0.LPC.GLIS)
10901                     {
10902                         \UBIS (0x01)
10903                     }
10904 
10905                     \_SB.PCI0.LPC.CSON = 0x01
10906                     \IDET = 0x0F
10907                 }
10908             }
10909 
10910             Method (BPON, 1, NotSerialized)
10911             {
10912                 If (\_SB.PCI0.LPC.CSON)
10913                 {
10914                     \_SB.PCI0.LPC.CSON = 0x00
10915                     If (\_SB.PCI0.LPC.GLIS)
10916                     {
10917                         \UBIS (0x00)
10918                     }
10919                 }
10920             }
10921 
10922             Method (BEN, 1, NotSerialized)
10923             {
10924                 If (\_SB.PCI0.LPC.CSON)
10925                 {
10926                     BPON (Arg0)
10927                     If (Arg0)
10928                     {
10929                         IRDY ()
10930                     }
10931                 }
10932             }
10933 
10934             Method (BSTA, 1, NotSerialized)
10935             {
10936                 If (\_SB.PCI0.LPC.CSON)
10937                 {
10938                     Return (0x00)
10939                 }
10940 
10941                 BINI ()
10942                 If ((Arg0 == 0x01))
10943                 {
10944                     Return ((BDEV < 0x0C))
10945                 }
10946 
10947                 Return (0x00)
10948             }
10949 
10950             Method (BUWK, 1, NotSerialized)
10951             {
10952                 If (\H8DR)
10953                 {
10954                     If (Arg0)
10955                     {
10956                         \_SB.PCI0.LPC.EC.HWBU = 0x01
10957                     }
10958                     Else
10959                     {
10960                         \_SB.PCI0.LPC.EC.HWBU = 0x00
10961                     }
10962                 }
10963                 Else
10964                 {
10965                     If (Arg0)
10966                     {
10967                         \MBEC (0x32, 0xFF, 0x80)
10968                     }
10969                     Else
10970                     {
10971                         \MBEC (0x32, 0x7F, 0x00)
10972                     }
10973                 }
10974             }
10975 
10976             Method (BINI, 0, NotSerialized)
10977             {
10978                 If ((BDEV == 0xFF))
10979                 {
10980                     BDEV = BGID (0x00)
10981                 }
10982             }
10983 
10984             Method (BGID, 1, NotSerialized)
10985             {
10986                 If (Arg0)
10987                 {
10988                     Local0 = 0xFF
10989                 }
10990                 Else
10991                 {
10992                     If (\H8DR)
10993                     {
10994                         Local1 = HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
10995                         Local2 = HBID /* \_SB_.PCI0.LPC_.EC__.HBID */
10996                     }
10997                     Else
10998                     {
10999                         Local2 = RBEC (0x47)
11000                         Local1 = (Local2 & 0x01)
11001                         Local2 &= 0x04
11002                         Local2 >>= 0x02
11003                     }
11004 
11005                     If (Local2)
11006                     {
11007                         Local0 = 0x0F
11008                     }
11009                     Else
11010                     {
11011                         If (HDUB)
11012                         {
11013                             Local0 = 0x0F
11014                         }
11015                         Else
11016                         {
11017                             If (((\IDET == 0x03) || (\IDET == 0x06)))
11018                             {
11019                                 Local0 = \IDET
11020                             }
11021                             Else
11022                             {
11023                                 Local0 = 0x07
11024                             }
11025                         }
11026                     }
11027 
11028                     If ((Local0 == 0x0F)) {}
11029                 }
11030 
11031                 If ((\HDUB && (Local0 < 0x0C)))
11032                 {
11033                     Local0 = 0x0F
11034                 }
11035 
11036                 Return (Local0)
11037             }
11038 
11039             Method (IRDY, 0, NotSerialized)
11040             {
11041                 Local0 = 0x01F4
11042                 Local1 = 0x3C
11043                 Local2 = Zero
11044                 While (Local1)
11045                 {
11046                     Sleep (Local0)
11047                     Local3 = \BCHK ()
11048                     If (!Local3)
11049                     {
11050                         Break
11051                     }
11052 
11053                     If ((Local3 == 0x02))
11054                     {
11055                         Local2 = One
11056                         Break
11057                     }
11058 
11059                     Local1--
11060                 }
11061 
11062                 Return (Local2)
11063             }
11064         }
11065 
11066         Scope (\_SB.PCI0.LPC.EC)
11067         {
11068             Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query
11069             {
11070                 \UCMS (0x18)
11071             }
11072 
11073             Method (SAUM, 1, NotSerialized)
11074             {
11075                 If ((Arg0 > 0x03))
11076                 {
11077                     Noop
11078                 }
11079                 Else
11080                 {
11081                     If (\H8DR)
11082                     {
11083                         HAUM = Arg0
11084                     }
11085                     Else
11086                     {
11087                         \MBEC (0x03, 0x9F, (Arg0 << 0x05))
11088                     }
11089                 }
11090             }
11091         }
11092 
11093         Scope (\_SB.PCI0.LPC.EC.HKEY)
11094         {
11095             Method (GSMS, 1, NotSerialized)
11096             {
11097                 Return (\AUDC (0x00, 0x00))
11098             }
11099 
11100             Method (SSMS, 1, NotSerialized)
11101             {
11102                 Return (\AUDC (0x01, (Arg0 & 0x01)))
11103             }
11104 
11105             Method (SHDA, 1, NotSerialized)
11106             {
11107                 Return (\AUDC (0x02, (Arg0 & 0x01)))
11108             }
11109         }
11110 
11111         Scope (\_SB.PCI0.LPC.EC)
11112         {
11113             Name (BRTW, Package (0x12)
11114             {
11115                 0x64, 
11116                 0x64, 
11117                 0x05, 
11118                 0x0A, 
11119                 0x14, 
11120                 0x19, 
11121                 0x1E, 
11122                 0x23, 
11123                 0x28, 
11124                 0x2D, 
11125                 0x32, 
11126                 0x37, 
11127                 0x3C, 
11128                 0x41, 
11129                 0x46, 
11130                 0x50, 
11131                 0x5A, 
11132                 0x64
11133             })
11134             Name (BRTB, Package (0x04)
11135             {
11136                 Package (0x16)
11137                 {
11138                     0x1E, 
11139                     0x03, 
11140                     0x03, 
11141                     0x05, 
11142                     0x08, 
11143                     0x0A, 
11144                     0x0D, 
11145                     0x0F, 
11146                     0x12, 
11147                     0x19, 
11148                     0x22, 
11149                     0x2E, 
11150                     0x3E, 
11151                     0x54, 
11152                     0x6E, 
11153                     0x93, 
11154                     0xC1, 
11155                     0xFF, 
11156                     0xDC, 
11157                     0xDC, 
11158                     0x03, 
11159                     0x03
11160                 }, 
11161 
11162                 Package (0x16)
11163                 {
11164                     0x16, 
11165                     0x04, 
11166                     0x04, 
11167                     0x07, 
11168                     0x09, 
11169                     0x0C, 
11170                     0x10, 
11171                     0x15, 
11172                     0x1C, 
11173                     0x25, 
11174                     0x32, 
11175                     0x40, 
11176                     0x50, 
11177                     0x64, 
11178                     0x82, 
11179                     0xA5, 
11180                     0xCD, 
11181                     0xFF, 
11182                     0xDC, 
11183                     0xDC, 
11184                     0x03, 
11185                     0x03
11186                 }, 
11187 
11188                 Package (0x16)
11189                 {
11190                     0x14, 
11191                     0x04, 
11192                     0x04, 
11193                     0x07, 
11194                     0x09, 
11195                     0x0C, 
11196                     0x10, 
11197                     0x15, 
11198                     0x1C, 
11199                     0x25, 
11200                     0x32, 
11201                     0x40, 
11202                     0x50, 
11203                     0x64, 
11204                     0x82, 
11205                     0xA5, 
11206                     0xCD, 
11207                     0xFF, 
11208                     0xDC, 
11209                     0xDC, 
11210                     0x03, 
11211                     0x03
11212                 }, 
11213 
11214                 Package (0x16)
11215                 {
11216                     0x23, 
11217                     0x03, 
11218                     0x03, 
11219                     0x05, 
11220                     0x08, 
11221                     0x0A, 
11222                     0x0D, 
11223                     0x0F, 
11224                     0x12, 
11225                     0x19, 
11226                     0x22, 
11227                     0x2E, 
11228                     0x3E, 
11229                     0x54, 
11230                     0x6E, 
11231                     0x93, 
11232                     0xC1, 
11233                     0xFF, 
11234                     0xDC, 
11235                     0xDC, 
11236                     0x03, 
11237                     0x03
11238                 }
11239             })
11240             Name (BRTD, Package (0x04)
11241             {
11242                 Package (0x65)
11243                 {
11244                     0x03, 
11245                     0x04, 
11246                     0x05, 
11247                     0x06, 
11248                     0x07, 
11249                     0x08, 
11250                     0x09, 
11251                     0x0A, 
11252                     0x0B, 
11253                     0x0C, 
11254                     0x0D, 
11255                     0x0E, 
11256                     0x0F, 
11257                     0x10, 
11258                     0x11, 
11259                     0x12, 
11260                     0x13, 
11261                     0x14, 
11262                     0x15, 
11263                     0x16, 
11264                     0x17, 
11265                     0x18, 
11266                     0x19, 
11267                     0x1A, 
11268                     0x1C, 
11269                     0x1D, 
11270                     0x1F, 
11271                     0x21, 
11272                     0x22, 
11273                     0x24, 
11274                     0x26, 
11275                     0x28, 
11276                     0x2A, 
11277                     0x2C, 
11278                     0x2E, 
11279                     0x30, 
11280                     0x33, 
11281                     0x35, 
11282                     0x37, 
11283                     0x3A, 
11284                     0x3C, 
11285                     0x3F, 
11286                     0x41, 
11287                     0x44, 
11288                     0x46, 
11289                     0x49, 
11290                     0x4C, 
11291                     0x4F, 
11292                     0x51, 
11293                     0x54, 
11294                     0x57, 
11295                     0x5A, 
11296                     0x5D, 
11297                     0x61, 
11298                     0x64, 
11299                     0x67, 
11300                     0x6A, 
11301                     0x6E, 
11302                     0x71, 
11303                     0x75, 
11304                     0x78, 
11305                     0x7C, 
11306                     0x80, 
11307                     0x83, 
11308                     0x87, 
11309                     0x8B, 
11310                     0x8F, 
11311                     0x93, 
11312                     0x97, 
11313                     0x9B, 
11314                     0x9F, 
11315                     0xA3, 
11316                     0xA8, 
11317                     0xAC, 
11318                     0xB0, 
11319                     0xB5, 
11320                     0xB9, 
11321                     0xBE, 
11322                     0xC3, 
11323                     0xC7, 
11324                     0xCC, 
11325                     0xCE, 
11326                     0xD1, 
11327                     0xD3, 
11328                     0xD6, 
11329                     0xD8, 
11330                     0xDB, 
11331                     0xDD, 
11332                     0xE0, 
11333                     0xE2, 
11334                     0xE5, 
11335                     0xE7, 
11336                     0xEA, 
11337                     0xEC, 
11338                     0xEF, 
11339                     0xF2, 
11340                     0xF4, 
11341                     0xF7, 
11342                     0xFA, 
11343                     0xFC, 
11344                     0xFF
11345                 }, 
11346 
11347                 Package (0x65)
11348                 {
11349                     0x03, 
11350                     0x04, 
11351                     0x05, 
11352                     0x06, 
11353                     0x07, 
11354                     0x08, 
11355                     0x09, 
11356                     0x0A, 
11357                     0x0B, 
11358                     0x0C, 
11359                     0x0D, 
11360                     0x0E, 
11361                     0x0F, 
11362                     0x10, 
11363                     0x11, 
11364                     0x12, 
11365                     0x13, 
11366                     0x14, 
11367                     0x15, 
11368                     0x16, 
11369                     0x17, 
11370                     0x18, 
11371                     0x19, 
11372                     0x1A, 
11373                     0x1B, 
11374                     0x1C, 
11375                     0x1D, 
11376                     0x1E, 
11377                     0x1F, 
11378                     0x20, 
11379                     0x21, 
11380                     0x22, 
11381                     0x23, 
11382                     0x25, 
11383                     0x26, 
11384                     0x28, 
11385                     0x2A, 
11386                     0x2C, 
11387                     0x2E, 
11388                     0x2F, 
11389                     0x31, 
11390                     0x33, 
11391                     0x35, 
11392                     0x37, 
11393                     0x3A, 
11394                     0x3C, 
11395                     0x3E, 
11396                     0x40, 
11397                     0x42, 
11398                     0x45, 
11399                     0x47, 
11400                     0x4A, 
11401                     0x4C, 
11402                     0x4E, 
11403                     0x51, 
11404                     0x54, 
11405                     0x56, 
11406                     0x59, 
11407                     0x5C, 
11408                     0x5E, 
11409                     0x61, 
11410                     0x64, 
11411                     0x67, 
11412                     0x6A, 
11413                     0x6D, 
11414                     0x70, 
11415                     0x73, 
11416                     0x76, 
11417                     0x79, 
11418                     0x7D, 
11419                     0x80, 
11420                     0x83, 
11421                     0x86, 
11422                     0x8A, 
11423                     0x8D, 
11424                     0x91, 
11425                     0x94, 
11426                     0x98, 
11427                     0x9C, 
11428                     0x9F, 
11429                     0xA3, 
11430                     0xA7, 
11431                     0xAB, 
11432                     0xAF, 
11433                     0xB4, 
11434                     0xB8, 
11435                     0xBC, 
11436                     0xC1, 
11437                     0xC5, 
11438                     0xCA, 
11439                     0xCE, 
11440                     0xD3, 
11441                     0xD8, 
11442                     0xDC, 
11443                     0xE1, 
11444                     0xE6, 
11445                     0xEB, 
11446                     0xF0, 
11447                     0xF5, 
11448                     0xFA, 
11449                     0xFF
11450                 }, 
11451 
11452                 Package (0x65)
11453                 {
11454                     0x03, 
11455                     0x04, 
11456                     0x05, 
11457                     0x06, 
11458                     0x07, 
11459                     0x08, 
11460                     0x09, 
11461                     0x0A, 
11462                     0x0B, 
11463                     0x0C, 
11464                     0x0D, 
11465                     0x0E, 
11466                     0x0F, 
11467                     0x10, 
11468                     0x11, 
11469                     0x12, 
11470                     0x13, 
11471                     0x14, 
11472                     0x15, 
11473                     0x16, 
11474                     0x17, 
11475                     0x18, 
11476                     0x19, 
11477                     0x1A, 
11478                     0x1C, 
11479                     0x1D, 
11480                     0x1F, 
11481                     0x21, 
11482                     0x22, 
11483                     0x24, 
11484                     0x26, 
11485                     0x28, 
11486                     0x2A, 
11487                     0x2C, 
11488                     0x2E, 
11489                     0x30, 
11490                     0x33, 
11491                     0x35, 
11492                     0x37, 
11493                     0x3A, 
11494                     0x3C, 
11495                     0x3F, 
11496                     0x41, 
11497                     0x44, 
11498                     0x46, 
11499                     0x49, 
11500                     0x4C, 
11501                     0x4F, 
11502                     0x51, 
11503                     0x54, 
11504                     0x57, 
11505                     0x5A, 
11506                     0x5D, 
11507                     0x61, 
11508                     0x64, 
11509                     0x67, 
11510                     0x6A, 
11511                     0x6E, 
11512                     0x71, 
11513                     0x75, 
11514                     0x78, 
11515                     0x7C, 
11516                     0x80, 
11517                     0x83, 
11518                     0x87, 
11519                     0x8B, 
11520                     0x8F, 
11521                     0x93, 
11522                     0x97, 
11523                     0x9B, 
11524                     0x9F, 
11525                     0xA3, 
11526                     0xA8, 
11527                     0xAC, 
11528                     0xB0, 
11529                     0xB5, 
11530                     0xB9, 
11531                     0xBE, 
11532                     0xC3, 
11533                     0xC7, 
11534                     0xCC, 
11535                     0xCE, 
11536                     0xD1, 
11537                     0xD3, 
11538                     0xD6, 
11539                     0xD8, 
11540                     0xDB, 
11541                     0xDD, 
11542                     0xE0, 
11543                     0xE2, 
11544                     0xE5, 
11545                     0xE7, 
11546                     0xEA, 
11547                     0xEC, 
11548                     0xEF, 
11549                     0xF2, 
11550                     0xF4, 
11551                     0xF7, 
11552                     0xFA, 
11553                     0xFC, 
11554                     0xFF
11555                 }, 
11556 
11557                 Package (0x65)
11558                 {
11559                     0x03, 
11560                     0x04, 
11561                     0x05, 
11562                     0x06, 
11563                     0x07, 
11564                     0x08, 
11565                     0x09, 
11566                     0x0A, 
11567                     0x0B, 
11568                     0x0C, 
11569                     0x0D, 
11570                     0x0E, 
11571                     0x0F, 
11572                     0x10, 
11573                     0x11, 
11574                     0x12, 
11575                     0x13, 
11576                     0x14, 
11577                     0x15, 
11578                     0x16, 
11579                     0x17, 
11580                     0x18, 
11581                     0x19, 
11582                     0x1A, 
11583                     0x1C, 
11584                     0x1D, 
11585                     0x1F, 
11586                     0x21, 
11587                     0x22, 
11588                     0x24, 
11589                     0x26, 
11590                     0x28, 
11591                     0x2A, 
11592                     0x2C, 
11593                     0x2E, 
11594                     0x30, 
11595                     0x33, 
11596                     0x35, 
11597                     0x37, 
11598                     0x3A, 
11599                     0x3C, 
11600                     0x3F, 
11601                     0x41, 
11602                     0x44, 
11603                     0x46, 
11604                     0x49, 
11605                     0x4C, 
11606                     0x4F, 
11607                     0x51, 
11608                     0x54, 
11609                     0x57, 
11610                     0x5A, 
11611                     0x5D, 
11612                     0x61, 
11613                     0x64, 
11614                     0x67, 
11615                     0x6A, 
11616                     0x6E, 
11617                     0x71, 
11618                     0x75, 
11619                     0x78, 
11620                     0x7C, 
11621                     0x80, 
11622                     0x83, 
11623                     0x87, 
11624                     0x8B, 
11625                     0x8F, 
11626                     0x93, 
11627                     0x97, 
11628                     0x9B, 
11629                     0x9F, 
11630                     0xA3, 
11631                     0xA8, 
11632                     0xAC, 
11633                     0xB0, 
11634                     0xB5, 
11635                     0xB9, 
11636                     0xBE, 
11637                     0xC3, 
11638                     0xC7, 
11639                     0xCC, 
11640                     0xCE, 
11641                     0xD1, 
11642                     0xD3, 
11643                     0xD6, 
11644                     0xD8, 
11645                     0xDB, 
11646                     0xDD, 
11647                     0xE0, 
11648                     0xE2, 
11649                     0xE5, 
11650                     0xE7, 
11651                     0xEA, 
11652                     0xEC, 
11653                     0xEF, 
11654                     0xF2, 
11655                     0xF4, 
11656                     0xF7, 
11657                     0xFA, 
11658                     0xFC, 
11659                     0xFF
11660                 }
11661             })
11662             Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
11663             {
11664                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
11665                 {
11666                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
11667                 }
11668 
11669                 If (\NBCF)
11670                 {
11671                     If (\VIGD)
11672                     {
11673                         Notify (\_SB.PCI0.VID.LCD0, 0x86) // Device-Specific
11674                     }
11675                     Else
11676                     {
11677                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86) // Device-Specific
11678                     }
11679                 }
11680                 Else
11681                 {
11682                     Local0 = \BRLV
11683                     If ((Local0 != 0x0F))
11684                     {
11685                         Local0++
11686                         \BRLV = Local0
11687                     }
11688 
11689                     If (\VIGD)
11690                     {
11691                         \UCMS (0x16)
11692                         \_SB.PCI0.LPC.EC.BRNS ()
11693                     }
11694                     Else
11695                     {
11696                         \VBRC (Local0)
11697                     }
11698 
11699                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11700                 }
11701             }
11702 
11703             Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
11704             {
11705                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
11706                 {
11707                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
11708                 }
11709 
11710                 If (\NBCF)
11711                 {
11712                     If (\VIGD)
11713                     {
11714                         Notify (\_SB.PCI0.VID.LCD0, 0x87) // Device-Specific
11715                     }
11716                     Else
11717                     {
11718                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87) // Device-Specific
11719                     }
11720                 }
11721                 Else
11722                 {
11723                     Local0 = \BRLV
11724                     If (Local0)
11725                     {
11726                         Local0--
11727                         \BRLV = Local0
11728                     }
11729 
11730                     If (\VIGD)
11731                     {
11732                         \UCMS (0x16)
11733                         \_SB.PCI0.LPC.EC.BRNS ()
11734                     }
11735                     Else
11736                     {
11737                         \VBRC (Local0)
11738                     }
11739 
11740                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11741                 }
11742 
11743                 Return (Zero)
11744             }
11745 
11746             Method (BRNS, 0, NotSerialized)
11747             {
11748                 Local0 = (\BRLV + 0x02)
11749                 Local3 = \BRTN
11750                 If (\_SB.PCI0.VID.DRDY)
11751                 {
11752                     If ((0x00 == Local0))
11753                     {
11754                         Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x14))
11755                         Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x12))
11756                     }
11757                     Else
11758                     {
11759                         Local1 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x15))
11760                         Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x13))
11761                     }
11762 
11763                     Local2 = (Local1 | (Local2 << 0x09))
11764                     \_SB.PCI0.VID.AINT (0x03, Local2)
11765                     Local2 = DerefOf (Index (DerefOf (Index (BRTB, Local3)), Local0))
11766                     \_SB.PCI0.VID.AINT (0x01, Local2)
11767                 }
11768                 Else
11769                 {
11770                     \UCMS (0x12)
11771                 }
11772             }
11773 
11774             Method (BRCF, 1, NotSerialized)
11775             {
11776                 If ((Arg0 < 0x00))
11777                 {
11778                     Return (0x00)
11779                 }
11780 
11781                 If ((Arg0 > 0x64))
11782                 {
11783                     Return (0x0F)
11784                 }
11785 
11786                 Local0 = (Arg0 + 0x03)
11787                 Local0 *= 0x0F
11788                 Divide (Local0, 0x64, Local0, Local1)
11789                 Return (Local1)
11790             }
11791 
11792             Method (BRCD, 1, NotSerialized)
11793             {
11794                 Local0 = DerefOf (Index (DerefOf (Index (BRTD, \BRTN)), Arg0))
11795                 Return (Local0)
11796             }
11797 
11798             Method (BFRQ, 0, NotSerialized)
11799             {
11800                 Local0 = 0x80000100
11801                 Local1 = DerefOf (Index (DerefOf (Index (BRTB, \BRTN)), 0x13))
11802                 Local0 |= (Local1 << 0x09)
11803                 Local1 = DerefOf (Index (DerefOf (Index (BRTB, \BRTN)), 0x15))
11804                 Local0 |= Local1
11805                 Return (Local0)
11806             }
11807         }
11808 
11809         Scope (\_SB.PCI0.LPC.EC)
11810         {
11811             Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query
11812             {
11813                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
11814                 {
11815                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
11816                 }
11817 
11818                 \UCMS (0x03)
11819             }
11820         }
11821 
11822         Scope (\_SB.PCI0.LPC.EC)
11823         {
11824             Method (_Q63, 0, NotSerialized)  // _Qxx: EC Query
11825             {
11826                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
11827                 {
11828                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
11829                 }
11830 
11831                 \UCMS (0x0B)
11832             }
11833         }
11834 
11835         Scope (\_SB.PCI0.LPC.EC)
11836         {
11837             Method (_Q70, 0, NotSerialized)  // _Qxx: EC Query
11838             {
11839                 FNST ()
11840             }
11841 
11842             Method (_Q72, 0, NotSerialized)  // _Qxx: EC Query
11843             {
11844                 FNST ()
11845             }
11846 
11847             Method (_Q73, 0, NotSerialized)  // _Qxx: EC Query
11848             {
11849                 FNST ()
11850             }
11851 
11852             Method (FNST, 0, NotSerialized)
11853             {
11854                 If (\H8DR)
11855                 {
11856                     Local0 = HFNS /* \_SB_.PCI0.LPC_.EC__.HFNS */
11857                     Local1 = HFNE /* \_SB_.PCI0.LPC_.EC__.HFNE */
11858                 }
11859                 Else
11860                 {
11861                     Local0 = (\RBEC (0x0E) & 0x03)
11862                     Local1 = (\RBEC (0x00) & 0x08)
11863                 }
11864 
11865                 If (Local1)
11866                 {
11867                     If ((Local0 == 0x00))
11868                     {
11869                         \UCMS (0x11)
11870                     }
11871 
11872                     If ((Local0 == 0x01))
11873                     {
11874                         \UCMS (0x0F)
11875                     }
11876 
11877                     If ((Local0 == 0x02))
11878                     {
11879                         \UCMS (0x10)
11880                     }
11881 
11882                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
11883                 }
11884             }
11885         }
11886 
11887         Scope (\_SB.PCI0.LPC.EC.HKEY)
11888         {
11889             Method (GHSL, 1, NotSerialized)
11890             {
11891                 Return (\FNSC (0x00, 0x00))
11892             }
11893 
11894             Method (SHSL, 1, NotSerialized)
11895             {
11896                 Return (\FNSC (0x01, (Arg0 & 0x00010001)))
11897             }
11898         }
11899 
11900         Scope (\_SB.PCI0.LPC.EC.HKEY)
11901         {
11902             Name (WGFL, 0x00)
11903             Method (WSIF, 0, NotSerialized)
11904             {
11905                 Return (0x00)
11906             }
11907 
11908             Method (WLSW, 0, NotSerialized)
11909             {
11910                 Return (0x00010001)
11911             }
11912 
11913             Method (GWAN, 0, NotSerialized)
11914             {
11915                 Local0 = 0x00
11916                 If ((WGFL & 0x01))
11917                 {
11918                     Local0 |= 0x01
11919                 }
11920 
11921                 If ((WGFL & 0x08))
11922                 {
11923                     Return (Local0)
11924                 }
11925 
11926                 If (WPWS ())
11927                 {
11928                     Local0 |= 0x02
11929                 }
11930 
11931                 Local0 |= 0x04
11932                 Return (Local0)
11933             }
11934 
11935             Method (SWAN, 1, NotSerialized)
11936             {
11937                 If ((Arg0 & 0x02))
11938                 {
11939                     WPWC (0x01)
11940                 }
11941                 Else
11942                 {
11943                     WPWC (0x00)
11944                 }
11945             }
11946 
11947             Method (GBDC, 0, NotSerialized)
11948             {
11949                 Local0 = 0x00
11950                 If ((WGFL & 0x10))
11951                 {
11952                     Local0 |= 0x01
11953                 }
11954 
11955                 If ((WGFL & 0x80))
11956                 {
11957                     Return (Local0)
11958                 }
11959 
11960                 If (BPWS ())
11961                 {
11962                     Local0 |= 0x02
11963                 }
11964 
11965                 Local0 |= 0x04
11966                 Return (Local0)
11967             }
11968 
11969             Method (SBDC, 1, NotSerialized)
11970             {
11971                 If ((Arg0 & 0x02))
11972                 {
11973                     BPWC (0x01)
11974                 }
11975                 Else
11976                 {
11977                     BPWC (0x00)
11978                 }
11979             }
11980 
11981             Method (WPWS, 0, NotSerialized)
11982             {
11983                 If (\H8DR)
11984                 {
11985                     Local0 = \_SB.PCI0.LPC.EC.DCWW
11986                 }
11987                 Else
11988                 {
11989                     Local0 = ((\RBEC (0x3A) & 0x40) >> 0x06)
11990                 }
11991 
11992                 Return (Local0)
11993             }
11994 
11995             Method (WPWC, 1, NotSerialized)
11996             {
11997                 If ((Arg0 && ((WGFL & 0x01) && !(WGFL & 0x08
11998                     ))))
11999                 {
12000                     If (\H8DR)
12001                     {
12002                         \_SB.PCI0.LPC.EC.DCWW = One
12003                     }
12004                     Else
12005                     {
12006                         \MBEC (0x3A, 0xFF, 0x40)
12007                     }
12008 
12009                     WGFL |= 0x02
12010                 }
12011                 Else
12012                 {
12013                     If (\H8DR)
12014                     {
12015                         \_SB.PCI0.LPC.EC.DCWW = Zero
12016                     }
12017                     Else
12018                     {
12019                         \MBEC (0x3A, 0xBF, 0x00)
12020                     }
12021 
12022                     WGFL &= ~0x02
12023                 }
12024             }
12025 
12026             Method (BPWS, 0, NotSerialized)
12027             {
12028                 If (\H8DR)
12029                 {
12030                     Local0 = \_SB.PCI0.LPC.EC.DCBD
12031                 }
12032                 Else
12033                 {
12034                     Local0 = ((\RBEC (0x3A) & 0x10) >> 0x04)
12035                 }
12036 
12037                 Return (Local0)
12038             }
12039 
12040             Method (BPWC, 1, NotSerialized)
12041             {
12042                 If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
12043                     ))))
12044                 {
12045                     If (\H8DR)
12046                     {
12047                         \_SB.PCI0.LPC.EC.DCBD = One
12048                     }
12049                     Else
12050                     {
12051                         \MBEC (0x3A, 0xFF, 0x10)
12052                     }
12053 
12054                     WGFL |= 0x20
12055                 }
12056                 Else
12057                 {
12058                     If (\H8DR)
12059                     {
12060                         \_SB.PCI0.LPC.EC.DCBD = Zero
12061                     }
12062                     Else
12063                     {
12064                         \MBEC (0x3A, 0xEF, 0x00)
12065                     }
12066 
12067                     WGFL &= ~0x20
12068                 }
12069             }
12070 
12071             Method (WGIN, 0, NotSerialized)
12072             {
12073                 WGFL = 0x00
12074                 WGFL = \WGSV (0x01)
12075                 If (\WIN8)
12076                 {
12077                     If ((WGFL && 0x10))
12078                     {
12079                         BPWC (0x01)
12080                     }
12081                 }
12082 
12083                 If (WPWS ())
12084                 {
12085                     WGFL |= 0x02
12086                 }
12087 
12088                 If (BPWS ())
12089                 {
12090                     WGFL |= 0x20
12091                 }
12092             }
12093 
12094             Method (WGPS, 1, NotSerialized)
12095             {
12096                 If ((Arg0 >= 0x04))
12097                 {
12098                     \BLTH (0x05)
12099                 }
12100             }
12101 
12102             Method (WGWK, 1, NotSerialized)
12103             {
12104                 Noop
12105             }
12106         }
12107 
12108         Scope (\_SB.PCI0.LPC.EC)
12109         {
12110             Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query
12111             {
12112                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
12113             }
12114         }
12115 
12116         Device (WMI1)
12117         {
12118             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
12119             Name (_UID, 0x01)  // _UID: Unique ID
12120             Name (_WDG, Buffer (0xB4)
12121             {
12122                 /* 0000 */  0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46,  /* .#.Qw..F */
12123                 /* 0008 */  0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7,  /* ....>.M. */
12124                 /* 0010 */  0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98,  /* A0P.d.G. */
12125                 /* 0018 */  0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25,  /* .33N...% */
12126                 /* 0020 */  0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06,  /* ....A1.. */
12127                 /* 0028 */  0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D,  /* .TKj..3M */
12128                 /* 0030 */  0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3,  /* .U...... */
12129                 /* 0038 */  0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74,  /* A2.....t */
12130                 /* 0040 */  0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E,  /* z.}L..i. */
12131                 /* 0048 */  0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06,  /* !...A3.. */
12132                 /* 0050 */  0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44,  /* ...~(C|D */
12133                 /* 0058 */  0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D,  /* ...I.]S. */
12134                 /* 0060 */  0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A,  /* A4...... */
12135                 /* 0068 */  0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A,  /* 2.\E..0. */
12136                 /* 0070 */  0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01,  /* ~..FA5.. */
12137                 /* 0078 */  0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B,  /* ..Q&..iK */
12138                 /* 0080 */  0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7,  /* .N....;. */
12139                 /* 0088 */  0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73,  /* A6...eds */
12140                 /* 0090 */  0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6,  /* /..O..@. */
12141                 /* 0098 */  0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06,  /* ...;A7.. */
12142                 /* 00A0 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  /* !...f... */
12143                 /* 00A8 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  /* ......). */
12144                 /* 00B0 */  0x42, 0x41, 0x01, 0x00                           /* BA.. */
12145             })
12146             Name (RETN, Package (0x05)
12147             {
12148                 "Success", 
12149                 "Not Supported", 
12150                 "Invalid Parameter", 
12151                 "Access Denied", 
12152                 "System Busy"
12153             })
12154             Name (ITEM, Package (0x58)
12155             {
12156                 Package (0x02)
12157                 {
12158                     0x0E, 
12159                     "WakeOnLAN"
12160                 }, 
12161 
12162                 Package (0x02)
12163                 {
12164                     0x00, 
12165                     "EthernetLANOptionROM"
12166                 }, 
12167 
12168                 Package (0x02)
12169                 {
12170                     0x00, 
12171                     "USBBIOSSupport"
12172                 }, 
12173 
12174                 Package (0x02)
12175                 {
12176                     0x00, 
12177                     "AlwaysOnUSB"
12178                 }, 
12179 
12180                 Package (0x02)
12181                 {
12182                     0x01, 
12183                     "TrackPoint"
12184                 }, 
12185 
12186                 Package (0x02)
12187                 {
12188                     0x01, 
12189                     "TouchPad"
12190                 }, 
12191 
12192                 Package (0x02)
12193                 {
12194                     0x00, 
12195                     "FnSticky"
12196                 }, 
12197 
12198                 Package (0x02)
12199                 {
12200                     0x04, 
12201                     "ThinkPadNumLock"
12202                 }, 
12203 
12204                 Package (0x02)
12205                 {
12206                     0x0C, 
12207                     "PowerOnNumLock"
12208                 }, 
12209 
12210                 Package (0x02)
12211                 {
12212                     0x05, 
12213                     "BootDisplayDevice"
12214                 }, 
12215 
12216                 Package (0x02)
12217                 {
12218                     0x00, 
12219                     "SpeedStep"
12220                 }, 
12221 
12222                 Package (0x02)
12223                 {
12224                     0x09, 
12225                     "AdaptiveThermalManagementAC"
12226                 }, 
12227 
12228                 Package (0x02)
12229                 {
12230                     0x09, 
12231                     "AdaptiveThermalManagementBattery"
12232                 }, 
12233 
12234                 Package (0x02)
12235                 {
12236                     0x06, 
12237                     "CDROMSpeed"
12238                 }, 
12239 
12240                 Package (0x02)
12241                 {
12242                     0x01, 
12243                     "CPUPowerManagement"
12244                 }, 
12245 
12246                 Package (0x02)
12247                 {
12248                     0x00, 
12249                     "PowerControlBeep"
12250                 }, 
12251 
12252                 Package (0x02)
12253                 {
12254                     0x00, 
12255                     "LowBatteryAlarm"
12256                 }, 
12257 
12258                 Package (0x02)
12259                 {
12260                     0x00, 
12261                     "PasswordBeep"
12262                 }, 
12263 
12264                 Package (0x02)
12265                 {
12266                     0x00, 
12267                     "KeyboardBeep"
12268                 }, 
12269 
12270                 Package (0x02)
12271                 {
12272                     0x00, 
12273                     "ExtendedMemoryTest"
12274                 }, 
12275 
12276                 Package (0x02)
12277                 {
12278                     0x07, 
12279                     "SATAControllerMode"
12280                 }, 
12281 
12282                 Package (0x02)
12283                 {
12284                     0x00, 
12285                     "CoreMultiProcessing"
12286                 }, 
12287 
12288                 Package (0x02)
12289                 {
12290                     0x00, 
12291                     "VirtualizationTechnology"
12292                 }, 
12293 
12294                 Package (0x02)
12295                 {
12296                     0x00, 
12297                     "LockBIOSSetting"
12298                 }, 
12299 
12300                 Package (0x02)
12301                 {
12302                     0x0B, 
12303                     "MinimumPasswordLength"
12304                 }, 
12305 
12306                 Package (0x02)
12307                 {
12308                     0x00, 
12309                     "BIOSPasswordAtUnattendedBoot"
12310                 }, 
12311 
12312                 Package (0x02)
12313                 {
12314                     0x00, 
12315                     "FingerprintPredesktopAuthentication"
12316                 }, 
12317 
12318                 Package (0x02)
12319                 {
12320                     0x08, 
12321                     "FingerprintReaderPriority"
12322                 }, 
12323 
12324                 Package (0x02)
12325                 {
12326                     0x03, 
12327                     "FingerprintSecurityMode"
12328                 }, 
12329 
12330                 Package (0x02)
12331                 {
12332                     0x02, 
12333                     "SecurityChip"
12334                 }, 
12335 
12336                 Package (0x02)
12337                 {
12338                     0x00, 
12339                     "BIOSUpdateByEndUsers"
12340                 }, 
12341 
12342                 Package (0x02)
12343                 {
12344                     0x00, 
12345                     "DataExecutionPrevention"
12346                 }, 
12347 
12348                 Package (0x02)
12349                 {
12350                     0x00, 
12351                     "EthernetLANAccess"
12352                 }, 
12353 
12354                 Package (0x02)
12355                 {
12356                     0x00, 
12357                     "WirelessLANAccess"
12358                 }, 
12359 
12360                 Package (0x02)
12361                 {
12362                     0x00, 
12363                     "WirelessWANAccess"
12364                 }, 
12365 
12366                 Package (0x02)
12367                 {
12368                     0x00, 
12369                     "BluetoothAccess"
12370                 }, 
12371 
12372                 Package (0x02)
12373                 {
12374                     0x00, 
12375                     "WirelessUSBAccess"
12376                 }, 
12377 
12378                 Package (0x02)
12379                 {
12380                     0x00, 
12381                     "ModemAccess"
12382                 }, 
12383 
12384                 Package (0x02)
12385                 {
12386                     0x00, 
12387                     "USBPortAccess"
12388                 }, 
12389 
12390                 Package (0x02)
12391                 {
12392                     0x00, 
12393                     "IEEE1394Access"
12394                 }, 
12395 
12396                 Package (0x02)
12397                 {
12398                     0x00, 
12399                     "ExpressCardAccess"
12400                 }, 
12401 
12402                 Package (0x02)
12403                 {
12404                     0x00, 
12405                     "PCIExpressSlotAccess"
12406                 }, 
12407 
12408                 Package (0x02)
12409                 {
12410                     0x00, 
12411                     "UltrabayAccess"
12412                 }, 
12413 
12414                 Package (0x02)
12415                 {
12416                     0x00, 
12417                     "MemoryCardSlotAccess"
12418                 }, 
12419 
12420                 Package (0x02)
12421                 {
12422                     0x00, 
12423                     "SmartCardSlotAccess"
12424                 }, 
12425 
12426                 Package (0x02)
12427                 {
12428                     0x00, 
12429                     "IntegratedCameraAccess"
12430                 }, 
12431 
12432                 Package (0x02)
12433                 {
12434                     0x00, 
12435                     "MicrophoneAccess"
12436                 }, 
12437 
12438                 Package (0x02)
12439                 {
12440                     0x0A, 
12441                     "BootMode"
12442                 }, 
12443 
12444                 Package (0x02)
12445                 {
12446                     0x00, 
12447                     "StartupOptionKeys"
12448                 }, 
12449 
12450                 Package (0x02)
12451                 {
12452                     0x00, 
12453                     "BootDeviceListF12Option"
12454                 }, 
12455 
12456                 Package (0x02)
12457                 {
12458                     0x64, 
12459                     "BootOrder"
12460                 }, 
12461 
12462                 Package (0x02)
12463                 {
12464                     0x00, 
12465                     "WiMAXAccess"
12466                 }, 
12467 
12468                 Package (0x02)
12469                 {
12470                     0x0D, 
12471                     "GraphicsDevice"
12472                 }, 
12473 
12474                 Package (0x02)
12475                 {
12476                     0x00, 
12477                     "TXTFeature"
12478                 }, 
12479 
12480                 Package (0x02)
12481                 {
12482                     0x00, 
12483                     "VTdFeature"
12484                 }, 
12485 
12486                 Package (0x02)
12487                 {
12488                     0x0F, 
12489                     "AMTControl"
12490                 }, 
12491 
12492                 Package (0x02)
12493                 {
12494                     0x00, 
12495                     "FingerprintPasswordAuthentication"
12496                 }, 
12497 
12498                 Package (0x02)
12499                 {
12500                     0x00, 
12501                     "FingerprintReaderAccess"
12502                 }, 
12503 
12504                 Package (0x02)
12505                 {
12506                     0x00, 
12507                     "OsDetectionForSwitchableGraphics"
12508                 }, 
12509 
12510                 Package (0x02)
12511                 {
12512                     0x0F, 
12513                     "ComputraceModuleActivation"
12514                 }, 
12515 
12516                 Package (0x02)
12517                 {
12518                     0x01, 
12519                     "PCIExpressPowerManagement"
12520                 }, 
12521 
12522                 Package (0x02)
12523                 {
12524                     0x00, 
12525                     "NFFControl"
12526                 }, 
12527 
12528                 Package (0x02)
12529                 {
12530                     0x00, 
12531                     "eSATAPortAccess"
12532                 }, 
12533 
12534                 Package (0x02)
12535                 {
12536                     0x00, 
12537                     "HardwarePasswordManager"
12538                 }, 
12539 
12540                 Package (0x02)
12541                 {
12542                     0x00, 
12543                     "HyperThreadingTechnology"
12544                 }, 
12545 
12546                 Package (0x02)
12547                 {
12548                     0x00, 
12549                     "FnCtrlKeySwap"
12550                 }, 
12551 
12552                 Package (0x02)
12553                 {
12554                     0x00, 
12555                     "BIOSPasswordAtReboot"
12556                 }, 
12557 
12558                 Package (0x02)
12559                 {
12560                     0x00, 
12561                     "OnByAcAttach"
12562                 }, 
12563 
12564                 Package (0x02)
12565                 {
12566                     0x64, 
12567                     "NetworkBoot"
12568                 }, 
12569 
12570                 Package (0x02)
12571                 {
12572                     0x00, 
12573                     "BootOrderLock"
12574                 }, 
12575 
12576                 Package (0x02)
12577                 {
12578                     0x10, 
12579                     "USB30Mode"
12580                 }, 
12581 
12582                 Package (0x02)
12583                 {
12584                     0x11, 
12585                     "ExpressCardSpeed"
12586                 }, 
12587 
12588                 Package (0x02)
12589                 {
12590                     0x00, 
12591                     "RapidStartTechnology"
12592                 }, 
12593 
12594                 Package (0x02)
12595                 {
12596                     0x12, 
12597                     "KeyboardIllumination"
12598                 }, 
12599 
12600                 Package (0x02)
12601                 {
12602                     0x00, 
12603                     "IPv4NetworkStack"
12604                 }, 
12605 
12606                 Package (0x02)
12607                 {
12608                     0x00, 
12609                     "IPv6NetworkStack"
12610                 }, 
12611 
12612                 Package (0x02)
12613                 {
12614                     0x13, 
12615                     "UefiPxeBootPriority"
12616                 }, 
12617 
12618                 Package (0x02)
12619                 {
12620                     0x00, 
12621                     "PhysicalPresenceForTpmProvision"
12622                 }, 
12623 
12624                 Package (0x02)
12625                 {
12626                     0x00, 
12627                     "PhysicalPresenceForTpmClear"
12628                 }, 
12629 
12630                 Package (0x02)
12631                 {
12632                     0x00, 
12633                     "SecureRollBackPrevention"
12634                 }, 
12635 
12636                 Package (0x02)
12637                 {
12638                     0x00, 
12639                     "SecureBoot"
12640                 }, 
12641 
12642                 Package (0x02)
12643                 {
12644                     0x00, 
12645                     "NfcAccess"
12646                 }, 
12647 
12648                 Package (0x02)
12649                 {
12650                     0x00, 
12651                     "BottomCoverTamperDetected"
12652                 }, 
12653 
12654                 Package (0x02)
12655                 {
12656                     0x00, 
12657                     "PasswordCountExceededError"
12658                 }, 
12659 
12660                 Package (0x02)
12661                 {
12662                     0x00, 
12663                     "BIOSPasswordAtBootDeviceList"
12664                 }, 
12665 
12666                 Package (0x02)
12667                 {
12668                     0x14, 
12669                     "TotalGraphicsMemory"
12670                 }, 
12671 
12672                 Package (0x02)
12673                 {
12674                     0x15, 
12675                     "BootTimeExtension"
12676                 }, 
12677 
12678                 Package (0x02)
12679                 {
12680                     0x00, 
12681                     "FnKeyAsPrimary"
12682                 }
12683             })
12684             Name (VSEL, Package (0x16)
12685             {
12686                 Package (0x02)
12687                 {
12688                     "Disable", 
12689                     "Enable"
12690                 }, 
12691 
12692                 Package (0x02)
12693                 {
12694                     "Disable", 
12695                     "Automatic"
12696                 }, 
12697 
12698                 Package (0x04)
12699                 {
12700                     "Active", 
12701                     "Inactive", 
12702                     "Disable", 
12703                     "Enable"
12704                 }, 
12705 
12706                 Package (0x02)
12707                 {
12708                     "Normal", 
12709                     "High"
12710                 }, 
12711 
12712                 Package (0x02)
12713                 {
12714                     "Independent", 
12715                     "Synchronized"
12716                 }, 
12717 
12718                 Package (0x04)
12719                 {
12720                     "LCD", 
12721                     "VGA", 
12722                     "Digital", 
12723                     "DockDisplay"
12724                 }, 
12725 
12726                 Package (0x03)
12727                 {
12728                     "High", 
12729                     "Normal", 
12730                     "Silent"
12731                 }, 
12732 
12733                 Package (0x02)
12734                 {
12735                     "Compatibility", 
12736                     "AHCI"
12737                 }, 
12738 
12739                 Package (0x02)
12740                 {
12741                     "External", 
12742                     "InternalOnly"
12743                 }, 
12744 
12745                 Package (0x02)
12746                 {
12747                     "MaximizePerformance", 
12748                     "Balanced"
12749                 }, 
12750 
12751                 Package (0x02)
12752                 {
12753                     "Quick", 
12754                     "Diagnostics"
12755                 }, 
12756 
12757                 Package (0x0A)
12758                 {
12759                     "Disable", 
12760                     "4", 
12761                     "5", 
12762                     "6", 
12763                     "7", 
12764                     "8", 
12765                     "9", 
12766                     "10", 
12767                     "11", 
12768                     "12"
12769                 }, 
12770 
12771                 Package (0x03)
12772                 {
12773                     "Auto", 
12774                     "On", 
12775                     "Off"
12776                 }, 
12777 
12778                 Package (0x03)
12779                 {
12780                     "IntegratedGfx", 
12781                     "DiscreteGfx", 
12782                     "SwitchableGfx"
12783                 }, 
12784 
12785                 Package (0x04)
12786                 {
12787                     "Disable", 
12788                     "ACOnly", 
12789                     "ACandBattery", 
12790                     "Enable"
12791                 }, 
12792 
12793                 Package (0x03)
12794                 {
12795                     "Disable", 
12796                     "Enable", 
12797                     "Disable"
12798                 }, 
12799 
12800                 Package (0x03)
12801                 {
12802                     "Disable", 
12803                     "Enable", 
12804                     "Automatic"
12805                 }, 
12806 
12807                 Package (0x02)
12808                 {
12809                     "Generation1", 
12810                     "Automatic"
12811                 }, 
12812 
12813                 Package (0x03)
12814                 {
12815                     "ThinkLightOnly", 
12816                     "BacklightOnly", 
12817                     "Both"
12818                 }, 
12819 
12820                 Package (0x02)
12821                 {
12822                     "IPv6First", 
12823                     "IPv4First"
12824                 }, 
12825 
12826                 Package (0x02)
12827                 {
12828                     "256MB", 
12829                     "512MB"
12830                 }, 
12831 
12832                 Package (0x0B)
12833                 {
12834                     "Disable", 
12835                     "1", 
12836                     "2", 
12837                     "3", 
12838                     "", 
12839                     "5", 
12840                     "", 
12841                     "", 
12842                     "", 
12843                     "", 
12844                     "10"
12845                 }
12846             })
12847             Name (VLST, Package (0x0F)
12848             {
12849                 "HDD0", 
12850                 "HDD1", 
12851                 "HDD2", 
12852                 "HDD3", 
12853                 "HDD4", 
12854                 "PCILAN", 
12855                 "ATAPICD0", 
12856                 "ATAPICD1", 
12857                 "ATAPICD2", 
12858                 "USBFDD", 
12859                 "USBCD", 
12860                 "USBHDD", 
12861                 "OtherHDD", 
12862                 "OtherCD", 
12863                 "NODEV"
12864             })
12865             Name (PENC, Package (0x02)
12866             {
12867                 "ascii", 
12868                 "scancode"
12869             })
12870             Name (PKBD, Package (0x03)
12871             {
12872                 "us", 
12873                 "fr", 
12874                 "gr"
12875             })
12876             Name (PTYP, Package (0x08)
12877             {
12878                 "pap", 
12879                 "pop", 
12880                 "uhdp1", 
12881                 "mhdp1", 
12882                 "uhdp2", 
12883                 "mhdp2", 
12884                 "uhdp3", 
12885                 "mhdp3"
12886             })
12887             Mutex (MWMI, 0x07)
12888             Name (PCFG, Buffer (0x18) {})
12889             Name (IBUF, Buffer (0x0100) {})
12890             Name (ILEN, 0x00)
12891             Name (PSTR, Buffer (0x81) {})
12892             Method (WQA0, 1, NotSerialized)
12893             {
12894                 Acquire (MWMI, 0xFFFF)
12895                 If ((\WMIS (0x00, Arg0) != 0x00))
12896                 {
12897                     Release (MWMI)
12898                     Return ("")
12899                 }
12900 
12901                 Local0 = DerefOf (Index (ITEM, \WITM))
12902                 Local1 = DerefOf (Index (Local0, 0x00))
12903                 Local2 = DerefOf (Index (Local0, 0x01))
12904                 If ((Local1 < 0x64))
12905                 {
12906                     Concatenate (Local2, ",", Local6)
12907                     Local3 = DerefOf (Index (VSEL, Local1))
12908                     Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
12909                 }
12910                 Else
12911                 {
12912                     Local3 = SizeOf (VLST)
12913                     If ((\WLS0 <= Local3))
12914                     {
12915                         Concatenate (Local2, ",", Local7)
12916                         Concatenate (Local7, DerefOf (Index (VLST, \WLS0)), Local2)
12917                     }
12918 
12919                     If ((\WLS1 <= Local3))
12920                     {
12921                         Concatenate (Local2, ":", Local7)
12922                         Concatenate (Local7, DerefOf (Index (VLST, \WLS1)), Local2)
12923                     }
12924 
12925                     If ((\WLS2 <= Local3))
12926                     {
12927                         Concatenate (Local2, ":", Local7)
12928                         Concatenate (Local7, DerefOf (Index (VLST, \WLS2)), Local2)
12929                     }
12930 
12931                     If ((\WLS3 <= Local3))
12932                     {
12933                         Concatenate (Local2, ":", Local7)
12934                         Concatenate (Local7, DerefOf (Index (VLST, \WLS3)), Local2)
12935                     }
12936 
12937                     If ((\WLS4 <= Local3))
12938                     {
12939                         Concatenate (Local2, ":", Local7)
12940                         Concatenate (Local7, DerefOf (Index (VLST, \WLS4)), Local2)
12941                     }
12942 
12943                     If ((\WLS5 <= Local3))
12944                     {
12945                         Concatenate (Local2, ":", Local7)
12946                         Concatenate (Local7, DerefOf (Index (VLST, \WLS5)), Local2)
12947                     }
12948 
12949                     If ((\WLS6 <= Local3))
12950                     {
12951                         Concatenate (Local2, ":", Local7)
12952                         Concatenate (Local7, DerefOf (Index (VLST, \WLS6)), Local2)
12953                     }
12954 
12955                     If ((\WLS7 <= Local3))
12956                     {
12957                         Concatenate (Local2, ":", Local7)
12958                         Concatenate (Local7, DerefOf (Index (VLST, \WLS7)), Local2)
12959                     }
12960 
12961                     If ((\WLS8 <= Local3))
12962                     {
12963                         Concatenate (Local2, ":", Local7)
12964                         Concatenate (Local7, DerefOf (Index (VLST, \WLS8)), Local2)
12965                     }
12966 
12967                     If ((\WLS9 <= Local3))
12968                     {
12969                         Concatenate (Local2, ":", Local7)
12970                         Concatenate (Local7, DerefOf (Index (VLST, \WLS9)), Local2)
12971                     }
12972 
12973                     If ((\WLSA <= Local3))
12974                     {
12975                         Concatenate (Local2, ":", Local7)
12976                         Concatenate (Local7, DerefOf (Index (VLST, \WLSA)), Local2)
12977                     }
12978 
12979                     If ((\WLSB <= Local3))
12980                     {
12981                         Concatenate (Local2, ":", Local7)
12982                         Concatenate (Local7, DerefOf (Index (VLST, \WLSB)), Local2)
12983                     }
12984 
12985                     If ((\WLSC <= Local3))
12986                     {
12987                         Concatenate (Local2, ":", Local7)
12988                         Concatenate (Local7, DerefOf (Index (VLST, \WLSC)), Local2)
12989                     }
12990 
12991                     If ((\WLSD <= Local3))
12992                     {
12993                         Concatenate (Local2, ":", Local7)
12994                         Concatenate (Local7, DerefOf (Index (VLST, \WLSD)), Local2)
12995                     }
12996 
12997                     Local7 = Local2
12998                 }
12999 
13000                 Release (MWMI)
13001                 Return (Local7)
13002             }
13003 
13004             Method (WMA1, 3, NotSerialized)
13005             {
13006                 Acquire (MWMI, 0xFFFF)
13007                 If ((SizeOf (Arg2) == 0x00))
13008                 {
13009                     Local0 = 0x02
13010                 }
13011                 Else
13012                 {
13013                     Local0 = CARG (Arg2)
13014                     If ((Local0 == 0x00))
13015                     {
13016                         Local0 = WSET (ITEM, VSEL)
13017                         If ((Local0 == 0x00))
13018                         {
13019                             Local0 = \WMIS (0x01, 0x00)
13020                         }
13021                     }
13022                 }
13023 
13024                 Release (MWMI)
13025                 Return (DerefOf (Index (RETN, Local0)))
13026             }
13027 
13028             Method (WMA2, 3, NotSerialized)
13029             {
13030                 Acquire (MWMI, 0xFFFF)
13031                 Local0 = CARG (Arg2)
13032                 If ((Local0 == 0x00))
13033                 {
13034                     If ((ILEN != 0x00))
13035                     {
13036                         Local0 = CPAS (IBUF, 0x00)
13037                     }
13038 
13039                     If ((Local0 == 0x00))
13040                     {
13041                         Local0 = \WMIS (0x02, 0x00)
13042                     }
13043                 }
13044 
13045                 Release (MWMI)
13046                 Return (DerefOf (Index (RETN, Local0)))
13047             }
13048 
13049             Method (WMA3, 3, NotSerialized)
13050             {
13051                 Acquire (MWMI, 0xFFFF)
13052                 Local0 = CARG (Arg2)
13053                 If ((Local0 == 0x00))
13054                 {
13055                     If ((ILEN != 0x00))
13056                     {
13057                         Local0 = CPAS (IBUF, 0x00)
13058                     }
13059 
13060                     If ((Local0 == 0x00))
13061                     {
13062                         Local0 = \WMIS (0x03, 0x00)
13063                     }
13064                 }
13065 
13066                 Release (MWMI)
13067                 Return (DerefOf (Index (RETN, Local0)))
13068             }
13069 
13070             Method (WMA4, 3, NotSerialized)
13071             {
13072                 Acquire (MWMI, 0xFFFF)
13073                 Local0 = CARG (Arg2)
13074                 If ((Local0 == 0x00))
13075                 {
13076                     If ((ILEN != 0x00))
13077                     {
13078                         Local0 = CPAS (IBUF, 0x00)
13079                     }
13080 
13081                     If ((Local0 == 0x00))
13082                     {
13083                         Local0 = \WMIS (0x04, 0x00)
13084                     }
13085                 }
13086 
13087                 Release (MWMI)
13088                 Return (DerefOf (Index (RETN, Local0)))
13089             }
13090 
13091             Method (WQA5, 1, NotSerialized)
13092             {
13093                 Acquire (MWMI, 0xFFFF)
13094                 Local0 = \WMIS (0x05, 0x00)
13095                 Index (PCFG, 0x00) = \WSPM
13096                 Index (PCFG, 0x04) = \WSPS
13097                 Index (PCFG, 0x08) = \WSMN
13098                 Index (PCFG, 0x0C) = \WSMX
13099                 Index (PCFG, 0x10) = \WSEN
13100                 Index (PCFG, 0x14) = \WSKB
13101                 Release (MWMI)
13102                 Return (PCFG) /* \_SB_.WMI1.PCFG */
13103             }
13104 
13105             Method (WMA6, 3, NotSerialized)
13106             {
13107                 Acquire (MWMI, 0xFFFF)
13108                 If ((SizeOf (Arg2) == 0x00))
13109                 {
13110                     Local0 = 0x02
13111                 }
13112                 Else
13113                 {
13114                     Local0 = CARG (Arg2)
13115                     If ((Local0 == 0x00))
13116                     {
13117                         If ((ILEN != 0x00))
13118                         {
13119                             Local0 = SPAS (IBUF)
13120                         }
13121 
13122                         If ((Local0 == 0x00))
13123                         {
13124                             Local0 = \WMIS (0x06, 0x00)
13125                         }
13126                     }
13127                 }
13128 
13129                 Release (MWMI)
13130                 Return (DerefOf (Index (RETN, Local0)))
13131             }
13132 
13133             Method (WMA7, 3, NotSerialized)
13134             {
13135                 If ((SizeOf (Arg2) == 0x00))
13136                 {
13137                     Return ("")
13138                 }
13139 
13140                 Local0 = CARG (Arg2)
13141                 If ((Local0 == 0x00))
13142                 {
13143                     Local1 = GITM (IBUF, ITEM)
13144                     If ((Local1 == Ones))
13145                     {
13146                         Return ("")
13147                     }
13148 
13149                     Local0 = DerefOf (Index (ITEM, Local1))
13150                     Local1 = DerefOf (Index (Local0, 0x00))
13151                     If ((Local1 < 0x64))
13152                     {
13153                         Local3 = DerefOf (Index (VSEL, Local1))
13154                         Local2 = DerefOf (Index (Local3, 0x00))
13155                         Local4 = SizeOf (Local3)
13156                         Local5 = 0x01
13157                         While ((Local5 < Local4))
13158                         {
13159                             Local6 = DerefOf (Index (Local3, Local5))
13160                             If ((SizeOf (Local6) != 0x00))
13161                             {
13162                                 Concatenate (Local2, ",", Local7)
13163                                 Concatenate (Local7, Local6, Local2)
13164                             }
13165 
13166                             Local5++
13167                         }
13168                     }
13169                     Else
13170                     {
13171                         Local2 = DerefOf (Index (VLST, 0x00))
13172                         Local4 = SizeOf (VLST)
13173                         Local5 = 0x01
13174                         While ((Local5 < Local4))
13175                         {
13176                             Local6 = DerefOf (Index (VLST, Local5))
13177                             Concatenate (Local2, ",", Local7)
13178                             Concatenate (Local7, Local6, Local2)
13179                             Local5++
13180                         }
13181                     }
13182                 }
13183 
13184                 Return (Local2)
13185             }
13186 
13187             Method (CARG, 1, NotSerialized)
13188             {
13189                 Local0 = SizeOf (Arg0)
13190                 If ((Local0 == 0x00))
13191                 {
13192                     IBUF = 0x00
13193                     ILEN = 0x00
13194                     Return (0x00)
13195                 }
13196 
13197                 If ((ObjectType (Arg0) != 0x02))
13198                 {
13199                     Return (0x02)
13200                 }
13201 
13202                 If ((Local0 >= 0xFF))
13203                 {
13204                     Return (0x02)
13205                 }
13206 
13207                 IBUF = Arg0
13208                 Local0--
13209                 Local1 = DerefOf (Index (IBUF, Local0))
13210                 If (((Local1 == 0x3B) || (Local1 == 0x2A)))
13211                 {
13212                     Index (IBUF, Local0) = 0x00
13213                     ILEN = Local0
13214                 }
13215                 Else
13216                 {
13217                     ILEN = SizeOf (Arg0)
13218                 }
13219 
13220                 Return (0x00)
13221             }
13222 
13223             Method (SCMP, 3, NotSerialized)
13224             {
13225                 Local0 = SizeOf (Arg0)
13226                 If ((Local0 == 0x00))
13227                 {
13228                     Return (0x00)
13229                 }
13230 
13231                 Local0++
13232                 Name (STR1, Buffer (Local0) {})
13233                 STR1 = Arg0
13234                 Local0--
13235                 Local1 = 0x00
13236                 Local2 = Arg2
13237                 While ((Local1 < Local0))
13238                 {
13239                     Local3 = DerefOf (Index (STR1, Local1))
13240                     Local4 = DerefOf (Index (Arg1, Local2))
13241                     If ((Local3 != Local4))
13242                     {
13243                         Return (0x00)
13244                     }
13245 
13246                     Local1++
13247                     Local2++
13248                 }
13249 
13250                 Local4 = DerefOf (Index (Arg1, Local2))
13251                 If ((Local4 == 0x00))
13252                 {
13253                     Return (0x01)
13254                 }
13255 
13256                 If (((Local4 == 0x2C) || (Local4 == 0x3A)))
13257                 {
13258                     Return (0x01)
13259                 }
13260 
13261                 Return (0x00)
13262             }
13263 
13264             Method (GITM, 2, NotSerialized)
13265             {
13266                 Local0 = 0x00
13267                 Local1 = SizeOf (Arg1)
13268                 While ((Local0 < Local1))
13269                 {
13270                     Local3 = DerefOf (Index (DerefOf (Index (Arg1, Local0)), 0x01))
13271                     If (SCMP (Local3, Arg0, 0x00))
13272                     {
13273                         Return (Local0)
13274                     }
13275 
13276                     Local0++
13277                 }
13278 
13279                 Return (Ones)
13280             }
13281 
13282             Method (GSEL, 3, NotSerialized)
13283             {
13284                 Local0 = 0x00
13285                 Local1 = SizeOf (Arg0)
13286                 While ((Local0 < Local1))
13287                 {
13288                     Local2 = DerefOf (Index (Arg0, Local0))
13289                     If (SCMP (Local2, Arg1, Arg2))
13290                     {
13291                         Return (Local0)
13292                     }
13293 
13294                     Local0++
13295                 }
13296 
13297                 Return (Ones)
13298             }
13299 
13300             Method (SLEN, 2, NotSerialized)
13301             {
13302                 Local0 = DerefOf (Index (Arg0, Arg1))
13303                 Return (SizeOf (Local0))
13304             }
13305 
13306             Method (CLRP, 0, NotSerialized)
13307             {
13308                 \WPAS = 0x00
13309                 \WPNW = 0x00
13310             }
13311 
13312             Method (GPAS, 2, NotSerialized)
13313             {
13314                 Local0 = Arg1
13315                 Local1 = 0x00
13316                 While ((Local1 <= 0x80))
13317                 {
13318                     Local2 = DerefOf (Index (Arg0, Local0))
13319                     If (((Local2 == 0x2C) || (Local2 == 0x00)))
13320                     {
13321                         Index (PSTR, Local1) = 0x00
13322                         Return (Local1)
13323                     }
13324 
13325                     Index (PSTR, Local1) = Local2
13326                     Local0++
13327                     Local1++
13328                 }
13329 
13330                 Index (PSTR, Local1) = 0x00
13331                 Return (Ones)
13332             }
13333 
13334             Method (CPAS, 2, NotSerialized)
13335             {
13336                 CLRP ()
13337                 Local0 = Arg1
13338                 Local1 = GPAS (Arg0, Local0)
13339                 If ((Local1 == Ones))
13340                 {
13341                     Return (0x02)
13342                 }
13343 
13344                 If ((Local1 == 0x00))
13345                 {
13346                     Return (0x02)
13347                 }
13348 
13349                 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
13350                 Local0 += Local1
13351                 Local0++
13352                 Local6 = GSEL (PENC, Arg0, Local0)
13353                 If ((Local6 == Ones))
13354                 {
13355                     Return (0x02)
13356                 }
13357 
13358                 \WENC = Local6
13359                 If ((Local6 == 0x00))
13360                 {
13361                     Local0 += SLEN (PENC, 0x00)
13362                     If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13363                     {
13364                         Return (0x02)
13365                     }
13366 
13367                     Local0++
13368                     Local6 = GSEL (PKBD, Arg0, Local0)
13369                     If ((Local6 == Ones))
13370                     {
13371                         Return (0x02)
13372                     }
13373 
13374                     \WKBD = Local6
13375                 }
13376 
13377                 Return (0x00)
13378             }
13379 
13380             Method (SPAS, 1, NotSerialized)
13381             {
13382                 CLRP ()
13383                 Local6 = GSEL (PTYP, Arg0, 0x00)
13384                 If ((Local6 == Ones))
13385                 {
13386                     Return (0x02)
13387                 }
13388 
13389                 \WPTY = Local6
13390                 Local0 = SLEN (PTYP, Local6)
13391                 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13392                 {
13393                     Return (0x02)
13394                 }
13395 
13396                 Local0++
13397                 Local1 = GPAS (Arg0, Local0)
13398                 If (((Local1 == Ones) || (Local1 == 0x00)))
13399                 {
13400                     Return (0x02)
13401                 }
13402 
13403                 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
13404                 Local0 += Local1
13405                 If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13406                 {
13407                     Return (0x02)
13408                 }
13409 
13410                 Local0++
13411                 Local1 = GPAS (Arg0, Local0)
13412                 If ((Local1 == Ones))
13413                 {
13414                     Return (0x02)
13415                 }
13416 
13417                 If ((Local1 == 0x00))
13418                 {
13419                     PSTR = 0x00
13420                 }
13421 
13422                 \WPNW = PSTR /* \_SB_.WMI1.PSTR */
13423                 Local0 += Local1
13424                 Local0++
13425                 Local6 = GSEL (PENC, Arg0, Local0)
13426                 If ((Local6 == Ones))
13427                 {
13428                     Return (0x02)
13429                 }
13430 
13431                 \WENC = Local6
13432                 If ((Local6 == 0x00))
13433                 {
13434                     Local0 += SLEN (PENC, 0x00)
13435                     If ((DerefOf (Index (Arg0, Local0)) != 0x2C))
13436                     {
13437                         Return (0x02)
13438                     }
13439 
13440                     Local0++
13441                     Local6 = GSEL (PKBD, Arg0, Local0)
13442                     If ((Local6 == Ones))
13443                     {
13444                         Return (0x02)
13445                     }
13446 
13447                     \WKBD = Local6
13448                 }
13449 
13450                 Return (0x00)
13451             }
13452 
13453             Method (WSET, 2, NotSerialized)
13454             {
13455                 Local0 = ILEN /* \_SB_.WMI1.ILEN */
13456                 Local0++
13457                 Local1 = GITM (IBUF, Arg0)
13458                 If ((Local1 == Ones))
13459                 {
13460                     Return (0x02)
13461                 }
13462 
13463                 \WITM = Local1
13464                 Local3 = DerefOf (Index (Arg0, Local1))
13465                 Local4 = DerefOf (Index (Local3, 0x01))
13466                 Local2 = SizeOf (Local4)
13467                 Local2++
13468                 Local4 = DerefOf (Index (Local3, 0x00))
13469                 If ((Local4 < 0x64))
13470                 {
13471                     Local5 = DerefOf (Index (Arg1, Local4))
13472                     Local6 = GSEL (Local5, IBUF, Local2)
13473                     If ((Local6 == Ones))
13474                     {
13475                         Return (0x02)
13476                     }
13477 
13478                     \WSEL = Local6
13479                     Local2 += SLEN (Local5, Local6)
13480                     Local4 = DerefOf (Index (IBUF, Local2))
13481                 }
13482                 Else
13483                 {
13484                     \WLS0 = 0x3F
13485                     \WLS1 = 0x3F
13486                     \WLS2 = 0x3F
13487                     \WLS3 = 0x3F
13488                     \WLS4 = 0x3F
13489                     \WLS5 = 0x3F
13490                     \WLS6 = 0x3F
13491                     \WLS7 = 0x3F
13492                     \WLS8 = 0x3F
13493                     \WLS9 = 0x3F
13494                     \WLSA = 0x3F
13495                     \WLSB = 0x3F
13496                     \WLSC = 0x3F
13497                     \WLSD = 0x3F
13498                     Local6 = GSEL (VLST, IBUF, Local2)
13499                     If ((Local6 == Ones))
13500                     {
13501                         Return (0x02)
13502                     }
13503 
13504                     \WLS0 = Local6
13505                     Local2 += SLEN (VLST, Local6)
13506                     Local4 = DerefOf (Index (IBUF, Local2))
13507                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13508                     {
13509                         Local2++
13510                         Local6 = GSEL (VLST, IBUF, Local2)
13511                         If ((Local6 == Ones))
13512                         {
13513                             Return (0x02)
13514                         }
13515 
13516                         \WLS1 = Local6
13517                         Local2 += SLEN (VLST, Local6)
13518                         Local4 = DerefOf (Index (IBUF, Local2))
13519                     }
13520 
13521                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13522                     {
13523                         Local2++
13524                         Local6 = GSEL (VLST, IBUF, Local2)
13525                         If ((Local6 == Ones))
13526                         {
13527                             Return (0x02)
13528                         }
13529 
13530                         \WLS2 = Local6
13531                         Local2 += SLEN (VLST, Local6)
13532                         Local4 = DerefOf (Index (IBUF, Local2))
13533                     }
13534 
13535                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13536                     {
13537                         Local2++
13538                         Local6 = GSEL (VLST, IBUF, Local2)
13539                         If ((Local6 == Ones))
13540                         {
13541                             Return (0x02)
13542                         }
13543 
13544                         \WLS3 = Local6
13545                         Local2 += SLEN (VLST, Local6)
13546                         Local4 = DerefOf (Index (IBUF, Local2))
13547                     }
13548 
13549                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13550                     {
13551                         Local2++
13552                         Local6 = GSEL (VLST, IBUF, Local2)
13553                         If ((Local6 == Ones))
13554                         {
13555                             Return (0x02)
13556                         }
13557 
13558                         \WLS4 = Local6
13559                         Local2 += SLEN (VLST, Local6)
13560                         Local4 = DerefOf (Index (IBUF, Local2))
13561                     }
13562 
13563                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13564                     {
13565                         Local2++
13566                         Local6 = GSEL (VLST, IBUF, Local2)
13567                         If ((Local6 == Ones))
13568                         {
13569                             Return (0x02)
13570                         }
13571 
13572                         \WLS5 = Local6
13573                         Local2 += SLEN (VLST, Local6)
13574                         Local4 = DerefOf (Index (IBUF, Local2))
13575                     }
13576 
13577                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13578                     {
13579                         Local2++
13580                         Local6 = GSEL (VLST, IBUF, Local2)
13581                         If ((Local6 == Ones))
13582                         {
13583                             Return (0x02)
13584                         }
13585 
13586                         \WLS6 = Local6
13587                         Local2 += SLEN (VLST, Local6)
13588                         Local4 = DerefOf (Index (IBUF, Local2))
13589                     }
13590 
13591                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13592                     {
13593                         Local2++
13594                         Local6 = GSEL (VLST, IBUF, Local2)
13595                         If ((Local6 == Ones))
13596                         {
13597                             Return (0x02)
13598                         }
13599 
13600                         \WLS7 = Local6
13601                         Local2 += SLEN (VLST, Local6)
13602                         Local4 = DerefOf (Index (IBUF, Local2))
13603                     }
13604 
13605                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13606                     {
13607                         Local2++
13608                         Local6 = GSEL (VLST, IBUF, Local2)
13609                         If ((Local6 == Ones))
13610                         {
13611                             Return (0x02)
13612                         }
13613 
13614                         \WLS8 = Local6
13615                         Local2 += SLEN (VLST, Local6)
13616                         Local4 = DerefOf (Index (IBUF, Local2))
13617                     }
13618 
13619                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13620                     {
13621                         Local2++
13622                         Local6 = GSEL (VLST, IBUF, Local2)
13623                         If ((Local6 == Ones))
13624                         {
13625                             Return (0x02)
13626                         }
13627 
13628                         \WLS9 = Local6
13629                         Local2 += SLEN (VLST, Local6)
13630                         Local4 = DerefOf (Index (IBUF, Local2))
13631                     }
13632 
13633                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13634                     {
13635                         Local2++
13636                         Local6 = GSEL (VLST, IBUF, Local2)
13637                         If ((Local6 == Ones))
13638                         {
13639                             Return (0x02)
13640                         }
13641 
13642                         \WLSA = Local6
13643                         Local2 += SLEN (VLST, Local6)
13644                         Local4 = DerefOf (Index (IBUF, Local2))
13645                     }
13646 
13647                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13648                     {
13649                         Local2++
13650                         Local6 = GSEL (VLST, IBUF, Local2)
13651                         If ((Local6 == Ones))
13652                         {
13653                             Return (0x02)
13654                         }
13655 
13656                         \WLSB = Local6
13657                         Local2 += SLEN (VLST, Local6)
13658                         Local4 = DerefOf (Index (IBUF, Local2))
13659                     }
13660 
13661                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13662                     {
13663                         Local2++
13664                         Local6 = GSEL (VLST, IBUF, Local2)
13665                         If ((Local6 == Ones))
13666                         {
13667                             Return (0x02)
13668                         }
13669 
13670                         \WLSC = Local6
13671                         Local2 += SLEN (VLST, Local6)
13672                         Local4 = DerefOf (Index (IBUF, Local2))
13673                     }
13674 
13675                     If (((Local2 < Local0) && (Local4 == 0x3A)))
13676                     {
13677                         Local2++
13678                         Local6 = GSEL (VLST, IBUF, Local2)
13679                         If ((Local6 == Ones))
13680                         {
13681                             Return (0x02)
13682                         }
13683 
13684                         \WLSD = Local6
13685                         Local2 += SLEN (VLST, Local6)
13686                         Local4 = DerefOf (Index (IBUF, Local2))
13687                     }
13688                 }
13689 
13690                 If (((Local4 == 0x2C) && (Local2 < Local0)))
13691                 {
13692                     Local2++
13693                     Local0 = CPAS (IBUF, Local2)
13694                     If ((Local0 != 0x00))
13695                     {
13696                         Return (Local0)
13697                     }
13698                 }
13699 
13700                 Return (0x00)
13701             }
13702 
13703             Name (WQBA, Buffer (0x089D)
13704             {
13705                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  /* FOMB.... */
13706                 /* 0008 */  0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00,  /* .....6.. */
13707                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  /* DS...}.T */
13708                 /* 0018 */  0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42,  /* .......B */
13709                 /* 0020 */  0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B,  /* .....!.. */
13710                 /* 0028 */  0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41,  /* .PL...EA */
13711                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  /* .....!.. */
13712                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  /* ..p.@... */
13713                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  /* (r.".... */
13714                 /* 0048 */  0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84,  /* 1...@H&. */
13715                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  /* D.S!p.._ */
13716                 /* 0058 */  0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7,  /* ........ */
13717                 /* 0060 */  0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8,  /* ...e.... */
13718                 /* 0068 */  0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30,  /* ...Bh..0 */
13719                 /* 0070 */  0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D,  /* ).'.,... */
13720                 /* 0078 */  0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18,  /* &.pd.L.. */
13721                 /* 0080 */  0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9,  /* Pb...9.. */
13722                 /* 0088 */  0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94,  /* ..t.(.F. */
13723                 /* 0090 */  0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B,  /* ..u....+ */
13724                 /* 0098 */  0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E,  /* @...y^.> */
13725                 /* 00A0 */  0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00,  /* .....G.. */
13726                 /* 00A8 */  0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E,  /* .b,S.aP. */
13727                 /* 00B0 */  0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D,  /* @$g.(`{. */
13728                 /* 00B8 */  0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A,  /* ..u.L..j */
13729                 /* 00C0 */  0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91,  /* ..(...4. */
13730                 /* 00C8 */  0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86,  /* ckz..d.. */
13731                 /* 00D0 */  0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68,  /* ....uR.h */
13732                 /* 00D8 */  0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1,  /* ..2L.... */
13733                 /* 00E0 */  0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28,  /* q.. .`.( */
13734                 /* 00E8 */  0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C,  /* ...... | */
13735                 /* 00F0 */  0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04,  /* ..(.#... */
13736                 /* 00F8 */  0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C,  /* ..1c...< */
13737                 /* 0100 */  0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C,  /* .c...Pc. */
13738                 /* 0108 */  0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56,  /* E....Q.V */
13739                 /* 0110 */  0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A,  /* ....,..z */
13740                 /* 0118 */  0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02,  /* .'.N..?. */
13741                 /* 0120 */  0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94,  /* ..B..X.. */
13742                 /* 0128 */  0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A,  /* .a...... */
13743                 /* 0130 */  0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB,  /* ...C..8. */
13744                 /* 0138 */  0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40,  /* /hFm.0'@ */
13745                 /* 0140 */  0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28,  /* ..o.B9.( */
13746                 /* 0148 */  0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE,  /* .r.Q..b. */
13747                 /* 0150 */  0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4,  /* ....#... */
13748                 /* 0158 */  0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50,  /* 5l..!O!P */
13749                 /* 0160 */  0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD,  /* ...A.... */
13750                 /* 0168 */  0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4,  /* O.gu.G.. */
13751                 /* 0170 */  0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E,  /* `.O....N */
13752                 /* 0178 */  0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E,  /* .X..8... */
13753                 /* 0180 */  0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47,  /* .....E.G */
13754                 /* 0188 */  0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA,  /* ..|..... */
13755                 /* 0190 */  0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F,  /* s<. .p.O */
13756                 /* 0198 */  0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8,  /* ......). */
13757                 /* 01A0 */  0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE,  /* .....5.. */
13758                 /* 01A8 */  0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3,  /* ...l..0. */
13759                 /* 01B0 */  0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60,  /* .....I>` */
13760                 /* 01B8 */  0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9,  /* ........ */
13761                 /* 01C0 */  0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74,  /* .Y.....t */
13762                 /* 01C8 */  0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2,  /* ..i...0. */
13763                 /* 01D0 */  0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97,  /* .....=.. */
13764                 /* 01D8 */  0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B,  /* .C>'...{ */
13765                 /* 01E0 */  0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39,  /* .....e.9 */
13766                 /* 01E8 */  0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0,  /* ...|M0.. */
13767                 /* 01F0 */  0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C,  /* ..1...a. */
13768                 /* 01F8 */  0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05,  /* ...>/.8. */
13769                 /* 0200 */  0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A,  /* x....R|. */
13770                 /* 0208 */  0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0,  /* .G..&... */
13771                 /* 0210 */  0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61,  /* 4..<...a */
13772                 /* 0218 */  0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B,  /* .l..6.w. */
13773                 /* 0220 */  0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05,  /* ..{..... */
13774                 /* 0228 */  0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17,  /* .w.6X... */
13775                 /* 0230 */  0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2,  /* .qB...A. */
13776                 /* 0238 */  0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B,  /* C..x.8C+ */
13777                 /* 0240 */  0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30,  /* ..r`..90 */
13778                 /* 0248 */  0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20,  /* F..<6L.  */
13779                 /* 0250 */  0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F,  /* ...z.P.. */
13780                 /* 0258 */  0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C,  /* j....T.\ */
13781                 /* 0260 */  0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01,  /* ......{. */
13782                 /* 0268 */  0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE,  /* .8<...}. */
13783                 /* 0270 */  0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6,  /* .zo)n... */
13784                 /* 0278 */  0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C,  /* .y.x...< */
13785                 /* 0280 */  0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A,  /* ........ */
13786                 /* 0288 */  0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99,  /* O!..5F|. */
13787                 /* 0290 */  0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C,  /* x.1..=.< */
13788                 /* 0298 */  0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04,  /* ...h"... */
13789                 /* 02A0 */  0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E,  /* |.....b^ */
13790                 /* 02A8 */  0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF,  /* (.p..4.. */
13791                 /* 02B0 */  0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C,  /* .5.....| */
13792                 /* 02B8 */  0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01,  /* G.vC.wB. */
13793                 /* 02C0 */  0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4,  /* .$~..... */
13794                 /* 02C8 */  0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA,  /*  ....).. */
13795                 /* 02D0 */  0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E,  /* ..4a.LO. */
13796                 /* 02D8 */  0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87,  /* x....D.. */
13797                 /* 02E0 */  0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C,  /* E... BA. */
13798                 /* 02E8 */  0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07,  /* . ...... */
13799                 /* 02F0 */  0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C,  /* ..}"..<. */
13800                 /* 02F8 */  0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63,  /* w.v..a.c */
13801                 /* 0300 */  0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3,  /* .1..c<.. */
13802                 /* 0308 */  0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E,  /* [....... */
13803                 /* 0310 */  0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01,  /* ...'..&. */
13804                 /* 0318 */  0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E,  /* 2}G.P..^ */
13805                 /* 0320 */  0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3,  /* .s...... */
13806                 /* 0328 */  0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15,  /* .....O.. */
13807                 /* 0330 */  0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9,  /* w....u.. */
13808                 /* 0338 */  0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6,  /* .g.{.g.. */
13809                 /* 0340 */  0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A,  /* .9z....: */
13810                 /* 0348 */  0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7,  /* ..|0.4.. */
13811                 /* 0350 */  0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7,  /* .r8O.... */
13812                 /* 0358 */  0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31,  /* ....-..1 */
13813                 /* 0360 */  0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF,  /* .FE.B... */
13814                 /* 0368 */  0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24,  /* .x>..G.$ */
13815                 /* 0370 */  0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B,  /* ..x&..}+ */
13816                 /* 0378 */  0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64,  /* .5...m.d */
13817                 /* 0380 */  0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF,  /* ...anE.. */
13818                 /* 0388 */  0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99,  /* .."8.4.. */
13819                 /* 0390 */  0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC,  /* .U.X.*@. */
13820                 /* 0398 */  0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF,  /* .^{|..{. */
13821                 /* 03A0 */  0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0,  /* .{.zV8.. */
13822                 /* 03A8 */  0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40,  /* .S1N...@ */
13823                 /* 03B0 */  0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF,  /* a..{.... */
13824                 /* 03B8 */  0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B,  /* ...*L..+ */
13825                 /* 03C0 */  0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2,  /* ..N...$. */
13826                 /* 03C8 */  0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E,  /* .U.....^ */
13827                 /* 03D0 */  0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF,  /* .^9.*... */
13828                 /* 03D8 */  0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30,  /* .U.y..*0 */
13829                 /* 03E0 */  0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B,  /* ^....... */
13830                 /* 03E8 */  0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD,  /* .`(..... */
13831                 /* 03F0 */  0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7,  /* X!...... */
13832                 /* 03F8 */  0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70,  /* bE...f.p */
13833                 /* 0400 */  0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B,  /* ........ */
13834                 /* 0408 */  0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34,  /* 0G+x)oV4 */
13835                 /* 0410 */  0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37,  /* .2.pA..7 */
13836                 /* 0418 */  0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8,  /* +..u.7d. */
13837                 /* 0420 */  0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C,  /* `Q...... */
13838                 /* 0428 */  0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07,  /* .C.K.c.. */
13839                 /* 0430 */  0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF,  /* .@...... */
13840                 /* 0438 */  0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B,  /* .>.....{ */
13841                 /* 0440 */  0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B,  /* /?`.W... */
13842                 /* 0448 */  0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72,  /* .....#.r */
13843                 /* 0450 */  0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A,  /* ..|.z.2J */
13844                 /* 0458 */  0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94,  /* ..b...m. */
13845                 /* 0460 */  0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF,  /* ....{... */
13846                 /* 0468 */  0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C,  /* ...@...\ */
13847                 /* 0470 */  0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9,  /* .....&.. */
13848                 /* 0478 */  0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93,  /* ._...... */
13849                 /* 0480 */  0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2,  /* .zEs_.P. */
13850                 /* 0488 */  0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD,  /*  ..H3... */
13851                 /* 0490 */  0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58,  /* .....~.X */
13852                 /* 0498 */  0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0,  /* .w..z.#. */
13853                 /* 04A0 */  0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C,  /* ...a.X.. */
13854                 /* 04A8 */  0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26,  /* W,.f%..& */
13855                 /* 04B0 */  0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F,  /* ..+.0.._ */
13856                 /* 04B8 */  0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8,  /* ...A.7j. */
13857                 /* 04C0 */  0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE,  /* .'.z<... */
13858                 /* 04C8 */  0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0,  /* .`NX0nX. */
13859                 /* 04D0 */  0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96,  /* ..0...;. */
13860                 /* 04D8 */  0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A,  /* .V.y.~.z */
13861                 /* 04E0 */  0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E,  /* ..b..... */
13862                 /* 04E8 */  0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7,  /* .....Qb. */
13863                 /* 04F0 */  0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43,  /* ...Y..,C */
13864                 /* 04F8 */  0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD,  /* .} ..... */
13865                 /* 0500 */  0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC,  /* ..a..... */
13866                 /* 0508 */  0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A,  /* ...a.>g. */
13867                 /* 0510 */  0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0,  /* ........ */
13868                 /* 0518 */  0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1,  /* ....oX.. */
13869                 /* 0520 */  0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64,  /* v..eao/d */
13870                 /* 0528 */  0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65,  /* .4.J..{e */
13871                 /* 0530 */  0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3,  /* .z...... */
13872                 /* 0538 */  0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE,  /* ....I.s. */
13873                 /* 0540 */  0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D,  /* .....G.. */
13874                 /* 0548 */  0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C,  /* Tsg...., */
13875                 /* 0550 */  0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1,  /* .....(.. */
13876                 /* 0558 */  0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F,  /* *.`.(ud. */
13877                 /* 0560 */  0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65,  /* WO.>f..e */
13878                 /* 0568 */  0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F,  /* ..oY.../ */
13879                 /* 0570 */  0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7,  /* V.....}. */
13880                 /* 0578 */  0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C,  /* 2...Q... */
13881                 /* 0580 */  0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0,  /* .e...... */
13882                 /* 0588 */  0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16,  /* ....D.[. */
13883                 /* 0590 */  0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4,  /* ..`.r2p. */
13884                 /* 0598 */  0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89,  /* y.?..... */
13885                 /* 05A0 */  0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1,  /* ..8./.L. */
13886                 /* 05A8 */  0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4,  /* ..>S..A. */
13887                 /* 05B0 */  0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF,  /* ...K0... */
13888                 /* 05B8 */  0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13,  /* ...=.... */
13889                 /* 05C0 */  0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77,  /* xp..?8.w */
13890                 /* 05C8 */  0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB,  /* .#...... */
13891                 /* 05D0 */  0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70,  /* A.8...jp */
13892                 /* 05D8 */  0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC,  /* ...8..c. */
13893                 /* 05E0 */  0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0,  /* ........ */
13894                 /* 05E8 */  0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34,  /* C...x.94 */
13895                 /* 05F0 */  0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34,  /* 0K..P.74 */
13896                 /* 05F8 */  0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B,  /* ........ */
13897                 /* 0600 */  0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04,  /* 1.r"./.. */
13898                 /* 0608 */  0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D,  /* .._S|..M */
13899                 /* 0610 */  0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E,  /* .7>p]:=> */
13900                 /* 0618 */  0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27,  /* .s...pG' */
13901                 /* 0620 */  0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A,  /* ......9. */
13902                 /* 0628 */  0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E,  /* .h...... */
13903                 /* 0630 */  0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42,  /* ..|..`.B */
13904                 /* 0638 */  0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA,  /* .k...... */
13905                 /* 0640 */  0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E,  /* ....u.x. */
13906                 /* 0648 */  0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C,  /* .k.d. .. */
13907                 /* 0650 */  0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00,  /* .z.P.... */
13908                 /* 0658 */  0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80,  /* Gc}f.... */
13909                 /* 0660 */  0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D,  /* .....`.. */
13910                 /* 0668 */  0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0,  /* ........ */
13911                 /* 0670 */  0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E,  /* |.....$N */
13912                 /* 0678 */  0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2,  /* ....5_2. */
13913                 /* 0680 */  0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36,  /* .zZ3F..6 */
13914                 /* 0688 */  0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9,  /* #.R.xX.. */
13915                 /* 0690 */  0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0,  /* .x...... */
13916                 /* 0698 */  0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83,  /* =.....Z. */
13917                 /* 06A0 */  0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F,  /* #....... */
13918                 /* 06A8 */  0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29,  /* ;.....n) */
13919                 /* 06B0 */  0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44,  /* .......D */
13920                 /* 06B8 */  0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1,  /* ._..6.q. */
13921                 /* 06C0 */  0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF,  /* FqX..... */
13922                 /* 06C8 */  0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8,  /* z..I.z.. */
13923                 /* 06D0 */  0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF,  /* ........ */
13924                 /* 06D8 */  0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF,  /* .....GJ. */
13925                 /* 06E0 */  0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4,  /* ...i.A.. */
13926                 /* 06E8 */  0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A,  /* a..E.(.. */
13927                 /* 06F0 */  0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08,  /* ....[... */
13928                 /* 06F8 */  0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28,  /* .-.,...( */
13929                 /* 0700 */  0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6,  /* ..<h.u.. */
13930                 /* 0708 */  0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F,  /* ...OM.M. */
13931                 /* 0710 */  0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0,  /* N..>H.p. */
13932                 /* 0718 */  0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B,  /* .....^.. */
13933                 /* 0720 */  0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31,  /* .k./0..1 */
13934                 /* 0728 */  0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4,  /* ...!.... */
13935                 /* 0730 */  0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88,  /* .B....F. */
13936                 /* 0738 */  0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57,  /* .<...F.W */
13937                 /* 0740 */  0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77,  /* .5.....w */
13938                 /* 0748 */  0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8,  /* ........ */
13939                 /* 0750 */  0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38,  /* ......(8 */
13940                 /* 0758 */  0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D,  /* ..{.`#.= */
13941                 /* 0760 */  0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE,  /* ...G.N&. */
13942                 /* 0768 */  0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42,  /* .y.....B */
13943                 /* 0770 */  0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6,  /* .&Q...*. */
13944                 /* 0778 */  0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14,  /* a.....N. */
13945                 /* 0780 */  0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4,  /* h.'.r... */
13946                 /* 0788 */  0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79,  /* ..._..Py */
13947                 /* 0790 */  0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86,  /* ..R...q. */
13948                 /* 0798 */  0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F,  /* ........ */
13949                 /* 07A0 */  0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D,  /* ...)...m */
13950                 /* 07A8 */  0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A,  /* ..h..A.. */
13951                 /* 07B0 */  0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63,  /* e...S.1c */
13952                 /* 07B8 */  0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B,  /* .PK;KP1. */
13953                 /* 07C0 */  0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B,  /* .h...... */
13954                 /* 07C8 */  0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0,  /* ..!.:.t. */
13955                 /* 07D0 */  0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71,  /* ...,km.q */
13956                 /* 07D8 */  0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63,  /* |....H.c */
13957                 /* 07E0 */  0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58,  /* B@.." .X */
13958                 /* 07E8 */  0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB,  /* .....#p. */
13959                 /* 07F0 */  0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B,  /* ...R..D. */
13960                 /* 07F8 */  0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46,  /* ....h0.F */
13961                 /* 0800 */  0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74,  /* @.F! ..t */
13962                 /* 0808 */  0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20,  /* .....1.  */
13963                 /* 0810 */  0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40,  /* T..P..D@ */
13964                 /* 0818 */  0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80,  /* V.V.Y7.. */
13965                 /* 0820 */  0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32,  /* ../.2..2 */
13966                 /* 0828 */  0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1,  /* ..b..... */
13967                 /* 0830 */  0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C,  /* &=.L ... */
13968                 /* 0838 */  0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7,  /* ....." . */
13969                 /* 0840 */  0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52,  /* 9...q..R */
13970                 /* 0848 */  0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44,  /* G.. T..D */
13971                 /* 0850 */  0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08,  /*  .d..... */
13972                 /* 0858 */  0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4,  /* .@.<O ,. */
13973                 /* 0860 */  0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4,  /* .\...j.. */
13974                 /* 0868 */  0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C,  /* ....0.`. */
13975                 /* 0870 */  0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44,  /* .D@N...D */
13976                 /* 0878 */  0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02,  /* r.....". */
13977                 /* 0880 */  0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58,  /* w....O.X */
13978                 /* 0888 */  0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14,  /* A...UP.. */
13979                 /* 0890 */  0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75,  /* D@V....u */
13980                 /* 0898 */  0x82, 0x08, 0xC8, 0xFF, 0x7F                     /* ..... */
13981             })
13982         }
13983 
13984         Device (WMI2)
13985         {
13986             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
13987             Name (_UID, 0x02)  // _UID: Unique ID
13988             Name (_WDG, Buffer (0x64)
13989             {
13990                 /* 0000 */  0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E,  /* .$..Z..N */
13991                 /* 0008 */  0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA,  /* ..b...q. */
13992                 /* 0010 */  0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2,  /* A7...^.. */
13993                 /* 0018 */  0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52,  /* .B.I.x.R */
13994                 /* 0020 */  0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02,  /* G8..A8.. */
13995                 /* 0028 */  0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45,  /* ..0t..HE */
13996                 /* 0030 */  0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF,  /* .....5.. */
13997                 /* 0038 */  0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F,  /* A9...p.. */
13998                 /* 0040 */  0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79,  /* l;^N.'.y */
13999                 /* 0048 */  0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06,  /* .J..AA.. */
14000                 /* 0050 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  /* !...f... */
14001                 /* 0058 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  /* ......). */
14002                 /* 0060 */  0x42, 0x42, 0x01, 0x00                           /* BB.. */
14003             })
14004             Name (PREL, Buffer (0x08)
14005             {
14006                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
14007             })
14008             Method (WQA7, 1, NotSerialized)
14009             {
14010                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14011                 \WMIS (0x07, 0x00)
14012                 Index (PREL, 0x00) = \WLS0
14013                 Index (PREL, 0x01) = \WLS1
14014                 Index (PREL, 0x02) = \WLS2
14015                 Index (PREL, 0x03) = \WLS3
14016                 Index (PREL, 0x04) = \WLS4
14017                 Index (PREL, 0x05) = \WLS5
14018                 Index (PREL, 0x06) = \WLS6
14019                 Index (PREL, 0x07) = \WLS7
14020                 Release (\_SB.WMI1.MWMI)
14021                 Return (PREL) /* \_SB_.WMI2.PREL */
14022             }
14023 
14024             Method (WMA8, 3, NotSerialized)
14025             {
14026                 CreateByteField (Arg2, 0x00, PRE0)
14027                 CreateByteField (Arg2, 0x01, PRE1)
14028                 CreateByteField (Arg2, 0x02, PRE2)
14029                 CreateByteField (Arg2, 0x03, PRE3)
14030                 CreateByteField (Arg2, 0x04, PRE4)
14031                 CreateByteField (Arg2, 0x05, PRE5)
14032                 CreateByteField (Arg2, 0x06, PRE6)
14033                 CreateByteField (Arg2, 0x07, PRE7)
14034                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14035                 \WLS0 = PRE0 /* \_SB_.WMI2.WMA8.PRE0 */
14036                 \WLS1 = PRE1 /* \_SB_.WMI2.WMA8.PRE1 */
14037                 \WLS2 = PRE2 /* \_SB_.WMI2.WMA8.PRE2 */
14038                 \WLS3 = PRE3 /* \_SB_.WMI2.WMA8.PRE3 */
14039                 \WLS4 = PRE4 /* \_SB_.WMI2.WMA8.PRE4 */
14040                 \WLS5 = PRE5 /* \_SB_.WMI2.WMA8.PRE5 */
14041                 \WLS6 = PRE6 /* \_SB_.WMI2.WMA8.PRE6 */
14042                 \WLS7 = PRE7 /* \_SB_.WMI2.WMA8.PRE7 */
14043                 \WMIS (0x08, 0x00)
14044                 Release (\_SB.WMI1.MWMI)
14045             }
14046 
14047             Name (ITEM, Package (0x07)
14048             {
14049                 Package (0x02)
14050                 {
14051                     0x00, 
14052                     "InhibitEnteringThinkPadSetup"
14053                 }, 
14054 
14055                 Package (0x02)
14056                 {
14057                     0x00, 
14058                     "MTMSerialConcatenation"
14059                 }, 
14060 
14061                 Package (0x02)
14062                 {
14063                     0x00, 
14064                     "SwapProductName"
14065                 }, 
14066 
14067                 Package (0x02)
14068                 {
14069                     0x00, 
14070                     "ComputraceMsgDisable"
14071                 }, 
14072 
14073                 Package (0x02)
14074                 {
14075                     0x00, 
14076                     "CpuDebugEnable"
14077                 }, 
14078 
14079                 Package (0x02)
14080                 {
14081                     0x00, 
14082                     "NffPermanentDisable"
14083                 }, 
14084 
14085                 Package (0x02)
14086                 {
14087                     0x00, 
14088                     "PasswordAfterBootDeviceList"
14089                 }
14090             })
14091             Name (VSEL, Package (0x02)
14092             {
14093                 Package (0x02)
14094                 {
14095                     "Disable", 
14096                     "Enable"
14097                 }, 
14098 
14099                 Package (0x02)
14100                 {
14101                     "Off", 
14102                     "On"
14103                 }
14104             })
14105             Method (WQA9, 1, NotSerialized)
14106             {
14107                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14108                 If ((\WMIS (0x09, Arg0) != 0x00))
14109                 {
14110                     Release (\_SB.WMI1.MWMI)
14111                     Return ("")
14112                 }
14113 
14114                 Local0 = DerefOf (Index (ITEM, \WITM))
14115                 Local1 = DerefOf (Index (Local0, 0x00))
14116                 Local2 = DerefOf (Index (Local0, 0x01))
14117                 Concatenate (Local2, ",", Local6)
14118                 Local3 = DerefOf (Index (VSEL, Local1))
14119                 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
14120                 Release (\_SB.WMI1.MWMI)
14121                 Return (Local7)
14122             }
14123 
14124             Method (WMAA, 3, NotSerialized)
14125             {
14126                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14127                 If ((SizeOf (Arg2) == 0x00))
14128                 {
14129                     Local0 = 0x02
14130                 }
14131                 Else
14132                 {
14133                     Local0 = \_SB.WMI1.CARG (Arg2)
14134                     If ((Local0 == 0x00))
14135                     {
14136                         Local0 = \_SB.WMI1.WSET (ITEM, VSEL)
14137                         If ((Local0 == 0x00))
14138                         {
14139                             Local0 = \WMIS (0x0A, 0x00)
14140                         }
14141                     }
14142                 }
14143 
14144                 Release (\_SB.WMI1.MWMI)
14145                 Return (DerefOf (Index (\_SB.WMI1.RETN, Local0)))
14146             }
14147 
14148             Name (WQBB, Buffer (0x0538)
14149             {
14150                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  /* FOMB.... */
14151                 /* 0008 */  0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00,  /* (....... */
14152                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  /* DS...}.T */
14153                 /* 0018 */  0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42,  /* .......B */
14154                 /* 0020 */  0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,  /* .....!.. */
14155                 /* 0028 */  0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,  /* .PP...EA */
14156                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  /* .....!.. */
14157                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  /* ..p.@... */
14158                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  /* (r.".... */
14159                 /* 0048 */  0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,  /* 1...@H(. */
14160                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  /* D.S!p.._ */
14161                 /* 0058 */  0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,  /* .....).. */
14162                 /* 0060 */  0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,  /* ...".... */
14163                 /* 0068 */  0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,  /* ..|...!. */
14164                 /* 0070 */  0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80,  /* .....%.. */
14165                 /* 0078 */  0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48,  /* ..".x..H */
14166                 /* 0080 */  0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04,  /* .a..@... */
14167                 /* 0088 */  0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07,  /* J'.l.j.. */
14168                 /* 0090 */  0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83,  /* ..<.$8.. */
14169                 /* 0098 */  0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20,  /* ...\...  */
14170                 /* 00A0 */  0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C,  /* ....9hdl */
14171                 /* 00A8 */  0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D,  /* .<....e. */
14172                 /* 00B0 */  0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63,  /* ....."9c */
14173                 /* 00B8 */  0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0,  /* E...Ddr. */
14174                 /* 00C0 */  0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3,  /* T..j..Z. */
14175                 /* 00C8 */  0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B,  /* ..DN..!. */
14176                 /* 00D0 */  0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6,  /* .I..j... */
14177                 /* 00D8 */  0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09,  /* Iy....0. */
14178                 /* 00E0 */  0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90,  /* <....... */
14179                 /* 00E8 */  0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C,  /* ....O.s, */
14180                 /* 00F0 */  0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C,  /* ^.....@. */
14181                 /* 00F8 */  0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D,  /* .>.x.... */
14182                 /* 0100 */  0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3,  /* Q...s... */
14183                 /* 0108 */  0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C,  /* .j...|8. */
14184                 /* 0110 */  0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04,  /* .t...... */
14185                 /* 0118 */  0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF,  /* ..`=.Y . */
14186                 /* 0120 */  0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23,  /* .......# */
14187                 /* 0128 */  0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26,  /* .B..X..& */
14188                 /* 0130 */  0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48,  /* ....h..H */
14189                 /* 0138 */  0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09,  /* . ..B0.. */
14190                 /* 0140 */  0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE,  /* .uh.7... */
14191                 /* 0148 */  0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44,  /* .B.t.qBD */
14192                 /* 0150 */  0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15,  /* ...@QjC. */
14193                 /* 0158 */  0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31,  /* Lg..f..1 */
14194                 /* 0160 */  0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3,  /* ....A.a. */
14195                 /* 0168 */  0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3,  /* ..A..... */
14196                 /* 0170 */  0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7,  /* ...<.7.. */
14197                 /* 0178 */  0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23,  /* ..8..1.# */
14198                 /* 0180 */  0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51,  /* e......Q */
14199                 /* 0188 */  0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6,  /* ....<... */
14200                 /* 0190 */  0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86,  /* `..C8.g. */
14201                 /* 0198 */  0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08,  /* G.....|. */
14202                 /* 01A0 */  0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83,  /* .....P.. */
14203                 /* 01A8 */  0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A,  /* G.6.p..z */
14204                 /* 01B0 */  0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1,  /* ........ */
14205                 /* 01B8 */  0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA,  /* ..Fz2GV. */
14206                 /* 01C0 */  0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0,  /* .....%|. */
14207                 /* 01C8 */  0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE,  /* `w....X. */
14208                 /* 01D0 */  0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE,  /*  P#3.... */
14209                 /* 01D8 */  0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F,  /* a.'..bb. */
14210                 /* 01E0 */  0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69,  /* .t<...<i */
14211                 /* 01E8 */  0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90,  /* x....... */
14212                 /* 01F0 */  0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85,  /* ....b.W. */
14213                 /* 01F8 */  0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08,  /* .8..@|.. */
14214                 /* 0200 */  0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09,  /* ...<8... */
14215                 /* 0208 */  0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04,  /* .k...... */
14216                 /* 0210 */  0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7,  /* ?\.<.N.. */
14217                 /* 0218 */  0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13,  /* ........ */
14218                 /* 0220 */  0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E,  /* ...u...> */
14219                 /* 0228 */  0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F,  /* ..y./.o. */
14220                 /* 0230 */  0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1,  /* &....... */
14221                 /* 0238 */  0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA,  /* ..pN1... */
14222                 /* 0240 */  0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0,  /* .0...... */
14223                 /* 0248 */  0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC,  /* ...}.93. */
14224                 /* 0250 */  0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80,  /* q.l...-. */
14225                 /* 0258 */  0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50,  /* .8O..|.P */
14226                 /* 0260 */  0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC,  /* ..n...?. */
14227                 /* 0268 */  0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7,  /* ........ */
14228                 /* 0270 */  0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60,  /* b....7.` */
14229                 /* 0278 */  0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D,  /* H.4o51^m */
14230                 /* 0280 */  0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52,  /* BDx.y.1R */
14231                 /* 0288 */  0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07,  /* ...v.9.. */
14232                 /* 0290 */  0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23,  /* .(...b.# */
14233                 /* 0298 */  0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14,  /* ...a.t.. */
14234                 /* 02A0 */  0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E,  /* *R.0/.!. */
14235                 /* 02A8 */  0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81,  /* o.,..... */
14236                 /* 02B0 */  0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06,  /* .7...... */
14237                 /* 02B8 */  0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73,  /* .0..S.vs */
14238                 /* 02C0 */  0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91,  /* `....... */
14239                 /* 02C8 */  0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22,  /* .G....." */
14240                 /* 02D0 */  0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A,  /* ......@* */
14241                 /* 02D8 */  0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88,  /* ..,...N. */
14242                 /* 02E0 */  0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86,  /* \..D@hd. */
14243                 /* 02E8 */  0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0,  /* .!.`.... */
14244                 /* 02F0 */  0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4,  /* g....... */
14245                 /* 02F8 */  0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44,  /* ....C.,D */
14246                 /* 0300 */  0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE,  /* ..8..,.. */
14247                 /* 0308 */  0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70,  /* G.~..G%p */
14248                 /* 0310 */  0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03,  /* .<4..... */
14249                 /* 0318 */  0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09,  /* ........ */
14250                 /* 0320 */  0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8,  /* | `.<... */
14251                 /* 0328 */  0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7,  /* ....G... */
14252                 /* 0330 */  0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF,  /* ..(..p.. */
14253                 /* 0338 */  0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72,  /* ...O9.&r */
14254                 /* 0340 */  0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17,  /* ..}"..3. */
14255                 /* 0348 */  0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15,  /* ........ */
14256                 /* 0350 */  0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A,  /* .@...... */
14257                 /* 0358 */  0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0,  /* >|...... */
14258                 /* 0360 */  0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67,  /* ..e...8g */
14259                 /* 0368 */  0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30,  /* q.....)0 */
14260                 /* 0370 */  0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A,  /* .r"E..D. */
14261                 /* 0378 */  0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22,  /* ...`..O" */
14262                 /* 0380 */  0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55,  /* 0...X0.U */
14263                 /* 0388 */  0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9,  /* ..R..... */
14264                 /* 0390 */  0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02,  /* .5...`/. */
14265                 /* 0398 */  0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03,  /* .y...*.. */
14266                 /* 03A0 */  0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12,  /* ..Z.B... */
14267                 /* 03A8 */  0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83,  /* ...U.G*. */
14268                 /* 03B0 */  0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C,  /* ...-R.G, */
14269                 /* 03B8 */  0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07,  /* ........ */
14270                 /* 03C0 */  0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81,  /* R.*...H. */
14271                 /* 03C8 */  0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0,  /* .i....x. */
14272                 /* 03D0 */  0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0,  /* ..s...1. */
14273                 /* 03D8 */  0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0,  /* `.0.1.C. */
14274                 /* 03E0 */  0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0,  /* ........ */
14275                 /* 03E8 */  0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29,  /* ...&P..) */
14276                 /* 03F0 */  0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF,  /* ..'R.... */
14277                 /* 03F8 */  0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33,  /* p.....o3 */
14278                 /* 0400 */  0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21,  /* >..|...! */
14279                 /* 0408 */  0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF,  /* ^l..^.^. */
14280                 /* 0410 */  0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27,  /* .......' */
14281                 /* 0418 */  0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24,  /* ..!....$ */
14282                 /* 0420 */  0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78,  /* .......x */
14283                 /* 0428 */  0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75,  /* .O;.7..u */
14284                 /* 0430 */  0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02,  /*  ....?.. */
14285                 /* 0438 */  0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29,  /* .{..s..) */
14286                 /* 0440 */  0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15,  /* ....>... */
14287                 /* 0448 */  0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44,  /* .i.`!..D */
14288                 /* 0450 */  0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43,  /* J...M..C */
14289                 /* 0458 */  0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06,  /* .p.z . . */
14290                 /* 0460 */  0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03,  /* t.C..... */
14291                 /* 0468 */  0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54,  /* ..<"zX>T */
14292                 /* 0470 */  0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E,  /* ...s.... */
14293                 /* 0478 */  0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28,  /* ....?..( */
14294                 /* 0480 */  0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69,  /* .......i */
14295                 /* 0488 */  0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF,  /* ...>.... */
14296                 /* 0490 */  0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79,  /* ....(..y */
14297                 /* 0498 */  0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78,  /* ....N..x */
14298                 /* 04A0 */  0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB,  /* ..2Y.L|. */
14299                 /* 04A8 */  0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37,  /* ....|.e7 */
14300                 /* 04B0 */  0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE,  /* Yx...... */
14301                 /* 04B8 */  0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB,  /* ..../#.. */
14302                 /* 04C0 */  0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B,  /* ..^G...; */
14303                 /* 04C8 */  0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F,  /* ....K.M. */
14304                 /* 04D0 */  0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9,  /* ..Z..... */
14305                 /* 04D8 */  0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,  /* Q.A.>..3 */
14306                 /* 04E0 */  0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4,  /* v....... */
14307                 /* 04E8 */  0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B,  /* ,...@h.[ */
14308                 /* 04F0 */  0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02,  /* .@....S. */
14309                 /* 04F8 */  0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10,  /* .j..bW%. */
14310                 /* 0500 */  0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20,  /* .T.....  */
14311                 /* 0508 */  0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49,  /* .r.O.@.I */
14312                 /* 0510 */  0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25,  /* ....c..% */
14313                 /* 0518 */  0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A,  /*  ......: */
14314                 /* 0520 */  0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5,  /* .baAh._. */
14315                 /* 0528 */  0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D,  /* ... .r2- */
14316                 /* 0530 */  0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07   /* @,'..... */
14317             })
14318         }
14319 
14320         Device (WMI3)
14321         {
14322             Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
14323             Name (_UID, 0x03)  // _UID: Unique ID
14324             Name (_WDG, /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x3C)
14325             {
14326                 /* 0000 */  0x79, 0x36, 0x4D, 0x8F, 0x9E, 0x74, 0x79, 0x44,  /* y6M..tyD */
14327                 /* 0008 */  0x9B, 0x16, 0xC6, 0x26, 0x01, 0xFD, 0x25, 0xF0,  /* ...&..%. */
14328                 /* 0010 */  0x41, 0x42, 0x01, 0x02, 0x69, 0xE8, 0xD2, 0x85,  /* AB..i... */
14329                 /* 0018 */  0x5A, 0x36, 0xCE, 0x4A, 0xA4, 0xD3, 0xCD, 0x69,  /* Z6.J...i */
14330                 /* 0020 */  0x2B, 0x16, 0x98, 0xA0, 0x41, 0x43, 0x01, 0x02,  /* +...AC.. */
14331                 /* 0028 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  /* !...f... */
14332                 /* 0030 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  /* ......). */
14333                 /* 0038 */  0x42, 0x43, 0x01, 0x00                           /* BC.. */
14334             })
14335             Method (WMAB, 3, NotSerialized)
14336             {
14337                 CreateByteField (Arg2, 0x00, ASS0)
14338                 CreateWordField (Arg2, 0x01, ASS1)
14339                 CreateByteField (Arg2, 0x03, ASS2)
14340                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14341                 \WASB = ASS0 /* \_SB_.WMI3.WMAB.ASS0 */
14342                 \WASI = ASS1 /* \_SB_.WMI3.WMAB.ASS1 */
14343                 \WASD = ASS2 /* \_SB_.WMI3.WMAB.ASS2 */
14344                 \WMIS (0x0B, 0x00)
14345                 Local0 = \WASS
14346                 Release (\_SB.WMI1.MWMI)
14347                 Return (Local0)
14348             }
14349 
14350             Method (WMAC, 3, NotSerialized)
14351             {
14352                 CreateByteField (Arg2, 0x00, ASS0)
14353                 CreateWordField (Arg2, 0x01, ASS1)
14354                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
14355                 \WASB = ASS0 /* \_SB_.WMI3.WMAC.ASS0 */
14356                 \WASI = ASS1 /* \_SB_.WMI3.WMAC.ASS1 */
14357                 \WMIS (0x0C, Arg1)
14358                 Local0 = \WASS
14359                 Release (\_SB.WMI1.MWMI)
14360                 Return (Local0)
14361             }
14362 
14363             Name (WQBC, Buffer (0x040A)
14364             {
14365                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  /* FOMB.... */
14366                 /* 0008 */  0xFA, 0x03, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00,  /* ....2... */
14367                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  /* DS...}.T */
14368                 /* 0018 */  0x98, 0xC3, 0x88, 0x00, 0x01, 0x06, 0x18, 0x42,  /* .......B */
14369                 /* 0020 */  0x10, 0x07, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,  /* .....!.. */
14370                 /* 0028 */  0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,  /* .PP...EA */
14371                 /* 0030 */  0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,  /* .....!.. */
14372                 /* 0038 */  0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,  /* ..p.@... */
14373                 /* 0040 */  0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,  /* (r.".... */
14374                 /* 0048 */  0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,  /* 1...@H(. */
14375                 /* 0050 */  0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,  /* D.S!p.._ */
14376                 /* 0058 */  0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,  /* .....).. */
14377                 /* 0060 */  0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,  /* ...".... */
14378                 /* 0068 */  0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,  /* ..|...!. */
14379                 /* 0070 */  0x58, 0x07, 0x11, 0x21, 0xD2, 0x31, 0x34, 0x29,  /* X..!.14) */
14380                 /* 0078 */  0x40, 0xA2, 0x00, 0x8B, 0x02, 0x64, 0xC3, 0xC8,  /* @....d.. */
14381                 /* 0080 */  0x36, 0x22, 0x99, 0x87, 0x45, 0x0E, 0x02, 0x25,  /* 6"..E..% */
14382                 /* 0088 */  0x66, 0x10, 0x28, 0x9D, 0xE0, 0xB2, 0x89, 0xAB,  /* f.(..... */
14383                 /* 0090 */  0x41, 0x9C, 0x4C, 0x94, 0xF3, 0x88, 0x92, 0xE0,  /* A.L..... */
14384                 /* 0098 */  0xA8, 0x0E, 0x22, 0x42, 0xEC, 0x72, 0x05, 0x48,  /* .."B.r.H */
14385                 /* 00A0 */  0x1E, 0x80, 0x34, 0x4F, 0x4C, 0xD6, 0xE7, 0xA0,  /* ..4OL... */
14386                 /* 00A8 */  0x91, 0xB1, 0x11, 0xF0, 0x94, 0x1A, 0x40, 0x58,  /* ......@X */
14387                 /* 00B0 */  0xA0, 0x75, 0x2A, 0xE0, 0x7A, 0x0D, 0x43, 0x3D,  /* .u*.z.C= */
14388                 /* 00B8 */  0x80, 0x48, 0xCE, 0x58, 0x51, 0xC0, 0xF6, 0x3A,  /* .H.XQ..: */
14389                 /* 00C0 */  0x11, 0x8D, 0xEA, 0x40, 0x99, 0x24, 0x38, 0xD4,  /* ...@.$8. */
14390                 /* 00C8 */  0x30, 0x3D, 0xB5, 0xE6, 0x27, 0xA6, 0x89, 0x9C,  /* 0=..'... */
14391                 /* 00D0 */  0x5A, 0xD3, 0x43, 0x16, 0x24, 0x93, 0x36, 0x14,  /* Z.C.$.6. */
14392                 /* 00D8 */  0xD4, 0xD8, 0x3D, 0xAD, 0x93, 0xF2, 0x4C, 0x23,  /* ..=...L# */
14393                 /* 00E0 */  0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, 0x8D,  /* ..a.x... */
14394                 /* 00E8 */  0x13, 0x94, 0x75, 0x22, 0xA0, 0x03, 0xE5, 0x80,  /* ..u".... */
14395                 /* 00F0 */  0x27, 0xE1, 0x39, 0x16, 0x2F, 0x40, 0xF8, 0x88,  /* '.9./@.. */
14396                 /* 00F8 */  0xC9, 0xB4, 0x4D, 0xE0, 0x33, 0x81, 0x87, 0x79,  /* ..M.3..y */
14397                 /* 0100 */  0xCC, 0xD8, 0x11, 0x85, 0x0B, 0x78, 0x3E, 0xC7,  /* .....x>. */
14398                 /* 0108 */  0x10, 0x39, 0xEE, 0xA1, 0xC6, 0x38, 0x8A, 0xC8,  /* .9...8.. */
14399                 /* 0110 */  0x47, 0x60, 0x24, 0x03, 0xC5, 0x2B, 0x08, 0x89,  /* G`$..+.. */
14400                 /* 0118 */  0x80, 0xF8, 0x76, 0x70, 0x70, 0x91, 0xFC, 0xFF,  /* ..vpp... */
14401                 /* 0120 */  0x47, 0x89, 0x11, 0x2A, 0xC6, 0xDB, 0x00, 0x6E,  /* G..*...n */
14402                 /* 0128 */  0x5E, 0x09, 0x8A, 0x1E, 0x07, 0x4A, 0x06, 0x84,  /* ^....J.. */
14403                 /* 0130 */  0x3C, 0x0A, 0xB0, 0x7A, 0x28, 0x20, 0x04, 0x16,  /* <..z( .. */
14404                 /* 0138 */  0x27, 0x40, 0xE3, 0x38, 0x05, 0xD3, 0x99, 0x00,  /* '@.8.... */
14405                 /* 0140 */  0x6D, 0x02, 0xBC, 0x09, 0x30, 0x27, 0xC0, 0x16,  /* m...0'.. */
14406                 /* 0148 */  0x86, 0x80, 0x82, 0x9C, 0x59, 0x94, 0x20, 0x11,  /* ....Y. . */
14407                 /* 0150 */  0x42, 0x31, 0x88, 0x0A, 0x05, 0x18, 0x43, 0x14,  /* B1....C. */
14408                 /* 0158 */  0xCA, 0x3B, 0x41, 0x8C, 0xCA, 0x20, 0x74, 0x82,  /* .;A.. t. */
14409                 /* 0160 */  0x08, 0x14, 0x3D, 0x78, 0x98, 0xD6, 0x40, 0x74,  /* ..=x..@t */
14410                 /* 0168 */  0x89, 0xF0, 0xC8, 0xB1, 0x47, 0x00, 0x9F, 0x19,  /* ....G... */
14411                 /* 0170 */  0xCE, 0xE9, 0x04, 0x1F, 0x01, 0xDE, 0x16, 0x4C,  /* .......L */
14412                 /* 0178 */  0xE0, 0x79, 0xBF, 0x24, 0x1C, 0x6A, 0xD8, 0x03,  /* .y.$.j.. */
14413                 /* 0180 */  0x8E, 0x1A, 0xE3, 0x28, 0x12, 0x58, 0xD0, 0x33,  /* ...(.X.3 */
14414                 /* 0188 */  0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, 0x75, 0x64,  /* B.@...ud */
14415                 /* 0190 */  0xF0, 0xE1, 0xC0, 0x23, 0x3B, 0x72, 0xCF, 0xF0,  /* ...#;r.. */
14416                 /* 0198 */  0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, 0x36, 0x3C,  /* .....<6< */
14417                 /* 01A0 */  0x15, 0x78, 0x0C, 0xEC, 0xBA, 0xE0, 0x73, 0x80,  /* .x....s. */
14418                 /* 01A8 */  0x8F, 0x09, 0x78, 0xD7, 0x80, 0x9A, 0xF3, 0xD3,  /* ..x..... */
14419                 /* 01B0 */  0x01, 0x9B, 0x72, 0x38, 0xCC, 0x70, 0x3D, 0xFD,  /* ..r8.p=. */
14420                 /* 01B8 */  0x70, 0x27, 0x70, 0xD2, 0x06, 0x64, 0xB3, 0xF3,  /* p'p..d.. */
14421                 /* 01C0 */  0xE0, 0x70, 0xE3, 0x3C, 0x99, 0x23, 0x2B, 0x55,  /* .p.<.#+U */
14422                 /* 01C8 */  0x80, 0xD9, 0x13, 0x82, 0x4E, 0x13, 0x3E, 0x73,  /* ....N.>s */
14423                 /* 01D0 */  0xB0, 0xBB, 0xC0, 0xF9, 0xF4, 0x0C, 0x49, 0xE4,  /* ......I. */
14424                 /* 01D8 */  0x0F, 0x02, 0x35, 0x32, 0x43, 0xFB, 0x2C, 0xF0,  /* ..52C.,. */
14425                 /* 01E0 */  0xEA, 0x61, 0xC8, 0x87, 0x85, 0xC3, 0x62, 0x62,  /* .a....bb */
14426                 /* 01E8 */  0xCF, 0x1E, 0x74, 0x3C, 0xE0, 0x3F, 0x25, 0x3C,  /* ..t<.?%< */
14427                 /* 01F0 */  0x6C, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0xA2, 0x3D,  /* lx.....= */
14428                 /* 01F8 */  0x8F, 0x80, 0xE1, 0xFF, 0x7F, 0x1E, 0x81, 0x39,  /* .......9 */
14429                 /* 0200 */  0x9C, 0x07, 0x84, 0x27, 0x07, 0x76, 0x80, 0xC0,  /* ...'.v.. */
14430                 /* 0208 */  0x1C, 0x48, 0x80, 0xC9, 0xF9, 0x02, 0x77, 0x28,  /* .H....w( */
14431                 /* 0210 */  0xF0, 0x10, 0xF8, 0x00, 0x1E, 0x25, 0xCE, 0xD1,  /* .....%.. */
14432                 /* 0218 */  0x4A, 0x67, 0x86, 0x3C, 0xB9, 0x80, 0x2D, 0xFB,  /* Jg.<..-. */
14433                 /* 0220 */  0x1B, 0x40, 0x07, 0x0F, 0xE7, 0x06, 0x91, 0x8D,  /* .@...... */
14434                 /* 0228 */  0x57, 0x80, 0x09, 0x74, 0x38, 0xB1, 0x1E, 0x20,  /* W..t8..  */
14435                 /* 0230 */  0x4D, 0x14, 0x0C, 0x04, 0xD3, 0xD3, 0x6B, 0x00,  /* M.....k. */
14436                 /* 0238 */  0x3E, 0x15, 0x38, 0x37, 0x89, 0x92, 0x0F, 0x8C,  /* >.87.... */
14437                 /* 0240 */  0xC2, 0x39, 0xEB, 0x79, 0x84, 0x82, 0x18, 0xD0,  /* .9.y.... */
14438                 /* 0248 */  0x41, 0x20, 0xE4, 0xE4, 0xA0, 0x80, 0x3A, 0xAA,  /* A ....:. */
14439                 /* 0250 */  0xF8, 0x3C, 0x72, 0xAA, 0x0F, 0x3D, 0x9E, 0x94,  /* .<r..=.. */
14440                 /* 0258 */  0x47, 0xE1, 0xAB, 0x8A, 0x0F, 0x21, 0x3E, 0x4F,  /* G....!>O */
14441                 /* 0260 */  0x78, 0xF4, 0x3E, 0x29, 0xF0, 0xEF, 0x8C, 0xAF,  /* x.>).... */
14442                 /* 0268 */  0x0E, 0x46, 0xB7, 0x9A, 0xE3, 0x0A, 0x0A, 0xCC,  /* .F...... */
14443                 /* 0270 */  0x67, 0x11, 0x4E, 0x50, 0xD7, 0x6D, 0x01, 0xFA,  /* g.NP.m.. */
14444                 /* 0278 */  0x29, 0xE0, 0x08, 0x3C, 0x94, 0x77, 0x92, 0xC7,  /* )..<.w.. */
14445                 /* 0280 */  0x90, 0x04, 0xF5, 0x9D, 0x16, 0x40, 0x01, 0xE4,  /* .....@.. */
14446                 /* 0288 */  0x9B, 0x81, 0x4F, 0x02, 0x21, 0xFE, 0xFF, 0x4F,  /* ..O.!..O */
14447                 /* 0290 */  0x07, 0x1E, 0xC3, 0xC3, 0x80, 0xD1, 0x8C, 0xCE,  /* ........ */
14448                 /* 0298 */  0xC3, 0x4F, 0x16, 0x15, 0x77, 0xB2, 0x14, 0xC4,  /* .O..w... */
14449                 /* 02A0 */  0x93, 0x75, 0x94, 0xC9, 0xA2, 0x67, 0xE2, 0xAB,  /* .u...g.. */
14450                 /* 02A8 */  0x85, 0x27, 0x74, 0x4A, 0x41, 0xCE, 0xD1, 0x13,  /* .'tJA... */
14451                 /* 02B0 */  0xF6, 0x55, 0x04, 0xD6, 0xF9, 0x20, 0xE4, 0x8B,  /* .U... .. */
14452                 /* 02B8 */  0x81, 0xA7, 0x61, 0x38, 0x4F, 0x96, 0xC3, 0x79,  /* ..a8O..y */
14453                 /* 02C0 */  0xB2, 0x7C, 0x2C, 0xBE, 0x6A, 0xC0, 0x1F, 0x2D,  /* .|,.j..- */
14454                 /* 02C8 */  0x96, 0xA0, 0xC0, 0xD9, 0x82, 0x1C, 0x1E, 0x13,  /* ........ */
14455                 /* 02D0 */  0x6F, 0x54, 0xF4, 0x46, 0xE4, 0xE1, 0xF1, 0xCB,  /* oT.F.... */
14456                 /* 02D8 */  0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, 0x6F, 0x12,  /* ....p.o. */
14457                 /* 02E0 */  0x38, 0x8C, 0xC7, 0x12, 0x0F, 0xD1, 0x97, 0x23,  /* 8......# */
14458                 /* 02E8 */  0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, 0x4E, 0x36,  /* X.9i..N6 */
14459                 /* 02F0 */  0xE8, 0x4B, 0x10, 0xBB, 0x1C, 0x01, 0xBF, 0x88,  /* .K...... */
14460                 /* 02F8 */  0x26, 0x86, 0xC1, 0x22, 0x2D, 0x45, 0x11, 0x17,  /* &.."-E.. */
14461                 /* 0300 */  0x45, 0x61, 0x7C, 0xC5, 0x82, 0xFD, 0xFF, 0xBF,  /* Ea|..... */
14462                 /* 0308 */  0x62, 0x01, 0x16, 0x04, 0x0F, 0x1B, 0x34, 0x87,  /* b.....4. */
14463                 /* 0310 */  0x83, 0x97, 0x1E, 0x36, 0x6B, 0x38, 0x07, 0x99,  /* ...6k8.. */
14464                 /* 0318 */  0xD3, 0xF1, 0x48, 0x4E, 0x1B, 0xC6, 0x1D, 0x0B,  /* ..HN.... */
14465                 /* 0320 */  0xFE, 0x9D, 0xEA, 0xA9, 0xCA, 0xD3, 0x8A, 0xF2,  /* ........ */
14466                 /* 0328 */  0x64, 0xF5, 0x7A, 0xE5, 0x63, 0x96, 0xA1, 0xCE,  /* d.z.c... */
14467                 /* 0330 */  0xE0, 0x1D, 0xCB, 0xB7, 0x3C, 0x4F, 0x21, 0x4A,  /* ....<O!J */
14468                 /* 0338 */  0x9C, 0x97, 0x2D, 0x76, 0xC7, 0x32, 0x48, 0x50,  /* ..-v.2HP */
14469                 /* 0340 */  0x23, 0x3F, 0x68, 0x31, 0x94, 0xE0, 0xF1, 0xDE,  /* #?h1.... */
14470                 /* 0348 */  0xB1, 0x00, 0x6F, 0xFF, 0xFF, 0x3B, 0x16, 0x60,  /* ..o..;.` */
14471                 /* 0350 */  0xFC, 0x04, 0xC1, 0x09, 0x7C, 0xC7, 0x02, 0x1C,  /* ....|... */
14472                 /* 0358 */  0xC5, 0x7E, 0x37, 0xE8, 0x4A, 0x45, 0xEE, 0x58,  /* .~7.JE.X */
14473                 /* 0360 */  0x28, 0x0E, 0xAB, 0xB9, 0x63, 0x41, 0x9C, 0x28,  /* (...cA.( */
14474                 /* 0368 */  0xE6, 0x8A, 0x05, 0x86, 0xFF, 0xFF, 0x15, 0x0B,  /* ........ */
14475                 /* 0370 */  0xE0, 0x75, 0xC0, 0x2B, 0x16, 0x68, 0xFE, 0xFF,  /* .u.+.h.. */
14476                 /* 0378 */  0x57, 0x2C, 0xF0, 0x5E, 0x8E, 0x80, 0xDF, 0x09,  /* W,.^.... */
14477                 /* 0380 */  0xD1, 0x77, 0x0D, 0x7E, 0x9A, 0xB6, 0xA2, 0xBB,  /* .w.~.... */
14478                 /* 0388 */  0x06, 0x94, 0x19, 0xBE, 0x07, 0xF9, 0xB0, 0x13,  /* ........ */
14479                 /* 0390 */  0x2C, 0xD2, 0xA3, 0x8D, 0x6F, 0x49, 0xE1, 0x7C,  /* ,...oI.| */
14480                 /* 0398 */  0xDB, 0x00, 0xD8, 0xF2, 0xFF, 0xBF, 0x6D, 0x00,  /* ......m. */
14481                 /* 03A0 */  0x4C, 0x19, 0xBF, 0x6F, 0x1B, 0xC0, 0x4F, 0xA1,  /* L..o..O. */
14482                 /* 03A8 */  0x4D, 0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53,  /* M...Z5(S */
14483                 /* 03B0 */  0xA3, 0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66,  /* .L.Z}*5f */
14484                 /* 03B8 */  0x4C, 0xC9, 0xC1, 0xCE, 0x77, 0x0C, 0x2A, 0x6C,  /* L...w.*l */
14485                 /* 03C0 */  0x65, 0x1A, 0x9A, 0x63, 0x81, 0xD0, 0x10, 0xC7,  /* e..c.... */
14486                 /* 03C8 */  0x26, 0x19, 0x01, 0x51, 0x22, 0x10, 0x01, 0x59,  /* &..Q"..Y */
14487                 /* 03D0 */  0xFD, 0x6F, 0x42, 0x40, 0xCE, 0x02, 0x22, 0x20,  /* .oB@.."  */
14488                 /* 03D8 */  0x2B, 0x58, 0x9A, 0xC0, 0x9D, 0xFF, 0xD8, 0x28,  /* +X.....( */
14489                 /* 03E0 */  0x40, 0xA2, 0x02, 0x84, 0x29, 0x7D, 0x93, 0x09,  /* @...)}.. */
14490                 /* 03E8 */  0xD4, 0xB2, 0x41, 0x04, 0xF4, 0xFF, 0x3F, 0x42,  /* ..A...?B */
14491                 /* 03F0 */  0xD9, 0x00, 0x62, 0x82, 0x41, 0x04, 0x64, 0x91,  /* ..b.A.d. */
14492                 /* 03F8 */  0x3E, 0x80, 0x98, 0x62, 0x10, 0x01, 0x59, 0xDD,  /* >..b..Y. */
14493                 /* 0400 */  0xA3, 0x40, 0x40, 0xD6, 0x0A, 0x22, 0x20, 0xFF,  /* .@@.." . */
14494                 /* 0408 */  0xFF, 0x01                                       /* .. */
14495             })
14496         }
14497 
14498         Scope (\_SB.PCI0.LPC.EC.HKEY)
14499         {
14500             Mutex (BFWM, 0x07)
14501             Method (MHCF, 1, NotSerialized)
14502             {
14503                 Local0 = \BFWC (Arg0)
14504                 Return (Local0)
14505             }
14506 
14507             Method (MHPF, 1, NotSerialized)
14508             {
14509                 Name (RETB, Buffer (0x25) {})
14510                 Acquire (BFWM, 0xFFFF)
14511                 If ((SizeOf (Arg0) <= 0x25))
14512                 {
14513                     \BFWB = Arg0
14514                     If (\BFWP ())
14515                     {
14516                         \_SB.PCI0.LPC.EC.CHKS ()
14517                         \BFWL ()
14518                     }
14519 
14520                     RETB = \BFWB
14521                 }
14522 
14523                 Release (BFWM)
14524                 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHPF.RETB */
14525             }
14526 
14527             Method (MHIF, 1, NotSerialized)
14528             {
14529                 Name (RETB, Buffer (0x0A) {})
14530                 Acquire (BFWM, 0xFFFF)
14531                 \BFWG (Arg0)
14532                 RETB = \BFWB
14533                 Release (BFWM)
14534                 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHIF.RETB */
14535             }
14536 
14537             Method (MHDM, 1, NotSerialized)
14538             {
14539                 \BDMC (Arg0)
14540             }
14541         }
14542 
14543         Scope (\_SB.PCI0.LPC.EC.HKEY)
14544         {
14545             Method (PSSG, 1, NotSerialized)
14546             {
14547                 Return (\PSIF (0x00, 0x00))
14548             }
14549 
14550             Method (PSSS, 1, NotSerialized)
14551             {
14552                 Return (\PSIF (0x01, Arg0))
14553             }
14554 
14555             Method (PSBS, 1, NotSerialized)
14556             {
14557                 Return (\PSIF (0x02, Arg0))
14558             }
14559 
14560             Method (BICG, 1, NotSerialized)
14561             {
14562                 Return (\PSIF (0x03, Arg0))
14563             }
14564 
14565             Method (BICS, 1, NotSerialized)
14566             {
14567                 Return (\PSIF (0x04, Arg0))
14568             }
14569 
14570             Method (BCTG, 1, NotSerialized)
14571             {
14572                 Return (\PSIF (0x05, Arg0))
14573             }
14574 
14575             Method (BCCS, 1, NotSerialized)
14576             {
14577                 Return (\PSIF (0x06, Arg0))
14578             }
14579 
14580             Method (BCSG, 1, NotSerialized)
14581             {
14582                 Return (\PSIF (0x07, Arg0))
14583             }
14584 
14585             Method (BCSS, 1, NotSerialized)
14586             {
14587                 Return (\PSIF (0x08, Arg0))
14588             }
14589 
14590             Method (BDSG, 1, NotSerialized)
14591             {
14592                 Return (\PSIF (0x09, Arg0))
14593             }
14594 
14595             Method (BDSS, 1, NotSerialized)
14596             {
14597                 Return (\PSIF (0x0A, Arg0))
14598             }
14599         }
14600 
14601         Scope (\_SB.PCI0.LPC.EC.HKEY)
14602         {
14603             Method (GILN, 0, NotSerialized)
14604             {
14605                 Return ((0x02 | \ILNF))
14606             }
14607 
14608             Method (SILN, 1, NotSerialized)
14609             {
14610                 If ((0x01 == Arg0))
14611                 {
14612                     \ILNF = 0x01
14613                     BBLS = 0x00
14614                     Return (0x00)
14615                 }
14616                 Else
14617                 {
14618                     If ((0x02 == Arg0))
14619                     {
14620                         \ILNF = 0x00
14621                         BBLS = 0x01
14622                         Return (0x00)
14623                     }
14624                     Else
14625                     {
14626                         Return (0x01)
14627                     }
14628                 }
14629             }
14630 
14631             Method (GLSI, 0, NotSerialized)
14632             {
14633                 If (\H8DR)
14634                 {
14635                     Return ((0x02 + \_SB.PCI0.LPC.EC.HPLD))
14636                 }
14637                 Else
14638                 {
14639                     If ((\RBEC (0x46) & 0x04))
14640                     {
14641                         Return (0x03)
14642                     }
14643                     Else
14644                     {
14645                         Return (0x02)
14646                     }
14647                 }
14648             }
14649         }
14650 
14651         Scope (\_SB.PCI0.LPC.EC.HKEY)
14652         {
14653             Method (GDLN, 0, NotSerialized)
14654             {
14655                 Return ((0x02 | \PLUX))
14656             }
14657 
14658             Method (SDLN, 1, NotSerialized)
14659             {
14660                 If ((0x01 == Arg0))
14661                 {
14662                     \PLUX = 0x01
14663                     Return (0x00)
14664                 }
14665                 Else
14666                 {
14667                     If ((0x02 == Arg0))
14668                     {
14669                         \PLUX = 0x00
14670                         Return (0x00)
14671                     }
14672                     Else
14673                     {
14674                         Return (0x01)
14675                     }
14676                 }
14677             }
14678         }
14679 
14680         Name (\VHCC, 0x00)
14681         Scope (\_SB.PCI0.PEG.VID)
14682         {
14683             Method (ISOP, 0, NotSerialized)
14684             {
14685                 Return ((VDSP && (VIGD && VDSC)))
14686             }
14687         }
14688 
14689         Scope (\_SB.PCI0)
14690         {
14691             Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
14692         }
14693 
14694         Scope (\_SB.PCI0.PEG.VID)
14695         {
14696             Method (GOBT, 1, NotSerialized)
14697             {
14698                 Name (OPVK, Buffer (0xE6)
14699                 {
14700                     /* 0000 */  0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2,  /* ..OQPr.. */
14701                     /* 0008 */  0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00,  /* KV...... */
14702                     /* 0010 */  0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35,  /* 14859745 */
14703                     /* 0018 */  0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75,  /* 6985Genu */
14704                     /* 0020 */  0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44,  /* ine NVID */
14705                     /* 0028 */  0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,  /* IA Certi */
14706                     /* 0030 */  0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74,  /* fied Opt */
14707                     /* 0038 */  0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61,  /* imus Rea */
14708                     /* 0040 */  0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65,  /* dy Mothe */
14709                     /* 0048 */  0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66,  /* rboard f */
14710                     /* 0050 */  0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32,  /* or 68832 */
14711                     /* 0058 */  0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32,  /* 5nozomi2 */
14712                     /* 0060 */  0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20,  /* 1D5      */
14713                     /* 0068 */  0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27,  /* - @J $U' */
14714                     /* 0070 */  0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42,  /* \"T )_GB */
14715                     /* 0078 */  0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22,  /*  P/AO\7" */
14716                     /* 0080 */  0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F,  /* =F79K7+_ */
14717                     /* 0088 */  0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48,  /* ?KH\_FXH */
14718                     /* 0090 */  0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50,  /* _DW2&JFP */
14719                     /* 0098 */  0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D,  /* R%$/F$ - */
14720                     /* 00A0 */  0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67,  /*  Copyrig */
14721                     /* 00A8 */  0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20,  /* ht 2010  */
14722                     /* 00B0 */  0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43,  /* NVIDIA C */
14723                     /* 00B8 */  0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69,  /* orporati */
14724                     /* 00C0 */  0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52,  /* on All R */
14725                     /* 00C8 */  0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65,  /* ights Re */
14726                     /* 00D0 */  0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31,  /* served-1 */
14727                     /* 00D8 */  0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36,  /* 48597456 */
14728                     /* 00E0 */  0x39, 0x38, 0x35, 0x28, 0x52, 0x29               /* 985(R) */
14729                 })
14730                 CreateWordField (Arg0, 0x02, USRG)
14731                 If ((USRG == 0x564B))
14732                 {
14733                     Return (OPVK) /* \_SB_.PCI0.PEG_.VID_.GOBT.OPVK */
14734                 }
14735 
14736                 Return (Zero)
14737             }
14738         }
14739 
14740         Scope (\_SB.PCI0.PEG.VID)
14741         {
14742             Name (OMPR, 0x02)
14743             Name (HDAS, 0x00)
14744             Method (NVOP, 4, Serialized)
14745             {
14746                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
14747                 Debug = "------- NV OPTIMUS DSM --------"
14748                 If ((Arg1 != 0x0100))
14749                 {
14750                     Return (0x80000001)
14751                 }
14752 
14753                 While (One)
14754                 {
14755                     _T_0 = ToInteger (Arg2)
14756                     If ((_T_0 == 0x00))
14757                     {
14758                         Local0 = Buffer (0x04)
14759                             {
14760                                  0x00, 0x00, 0x00, 0x00                           /* .... */
14761                             }
14762                         Divide (0x00, 0x08, Local2, Local1)
14763                         Local2 = (0x01 << Local2)
14764                         Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
14765                         Divide (0x1A, 0x08, Local2, Local1)
14766                         Local2 = (0x01 << Local2)
14767                         Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
14768                         Divide (0x1B, 0x08, Local2, Local1)
14769                         Local2 = (0x01 << Local2)
14770                         Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
14771                         Divide (0x10, 0x08, Local2, Local1)
14772                         Local2 = (0x01 << Local2)
14773                         Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
14774                         Return (Local0)
14775                     }
14776                     Else
14777                     {
14778                         If ((_T_0 == 0x1A))
14779                         {
14780                             CreateField (Arg3, 0x18, 0x02, OPCE)
14781                             CreateField (Arg3, 0x00, 0x01, FLCH)
14782                             If (ToInteger (FLCH))
14783                             {
14784                                 OMPR = OPCE /* \_SB_.PCI0.PEG_.VID_.NVOP.OPCE */
14785                             }
14786 
14787                             Local0 = Buffer (0x04)
14788                                 {
14789                                      0x00, 0x00, 0x00, 0x00                           /* .... */
14790                                 }
14791                             CreateField (Local0, 0x00, 0x01, OPEN)
14792                             CreateField (Local0, 0x03, 0x02, CGCS)
14793                             CreateField (Local0, 0x06, 0x01, SHPC)
14794                             CreateField (Local0, 0x18, 0x03, DGPC)
14795                             CreateField (Local0, 0x1B, 0x02, HDAC)
14796                             OPEN = One
14797                             SHPC = One
14798                             DGPC = One
14799                             If (\_SB.PCI0.PEG.VID._STA ())
14800                             {
14801                                 CGCS = 0x03
14802                             }
14803 
14804                             HDAC = 0x02
14805                             Return (Local0)
14806                         }
14807                         Else
14808                         {
14809                             If ((_T_0 == 0x1B))
14810                             {
14811                                 CreateField (Arg3, 0x00, 0x01, HDAU)
14812                                 CreateField (Arg3, 0x01, 0x01, HDAR)
14813                                 Local0 = Buffer (0x04)
14814                                     {
14815                                          0x00, 0x00, 0x00, 0x00                           /* .... */
14816                                     }
14817                                 CreateField (Local0, 0x02, 0x02, RQGS)
14818                                 CreateField (Local0, 0x04, 0x01, PWST)
14819                                 PWST = One
14820                                 RQGS = Zero
14821                                 If (ToInteger (HDAR))
14822                                 {
14823                                     HDAS = ToInteger (HDAU)
14824                                 }
14825 
14826                                 Return (Local0)
14827                             }
14828                             Else
14829                             {
14830                                 If ((_T_0 == 0x10))
14831                                 {
14832                                     Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
14833                                 }
14834                             }
14835                         }
14836                     }
14837 
14838                     Break
14839                 }
14840 
14841                 Return (0x80000002)
14842             }
14843         }
14844 
14845         Scope (\)
14846         {
14847             Method (CMPB, 2, NotSerialized)
14848             {
14849                 Local1 = SizeOf (Arg0)
14850                 If ((Local1 != SizeOf (Arg1)))
14851                 {
14852                     Return (0x00)
14853                 }
14854 
14855                 Local0 = 0x00
14856                 While ((Local0 < Local1))
14857                 {
14858                     If ((DerefOf (Index (Arg0, Local0)) != DerefOf (Index (Arg1, Local0
14859                         ))))
14860                     {
14861                         Return (0x00)
14862                     }
14863 
14864                     Local0++
14865                 }
14866 
14867                 Return (0x01)
14868             }
14869         }
14870 
14871         Scope (\_SB.PCI0.PEG.VID)
14872         {
14873             Name (CPPC, 0x00)
14874             Method (NVPS, 4, Serialized)
14875             {
14876                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
14877                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
14878                 Debug = "------- NV GPS DSM --------"
14879                 While (One)
14880                 {
14881                     _T_0 = ToInteger (Arg2)
14882                     If ((_T_0 == 0x00))
14883                     {
14884                         Local0 = Buffer (0x08)
14885                             {
14886                                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
14887                             }
14888                         Local3 = Buffer (0x08)
14889                             {
14890                                  0x00, 0x13, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF   /* .. !"#*. */
14891                             }
14892                         Local4 = Zero
14893                         Local5 = DerefOf (Index (Local3, Local4))
14894                         While ((Local5 != 0xFF))
14895                         {
14896                             Divide (Local5, 0x08, Local2, Local1)
14897                             Local2 = (0x01 << Local2)
14898                             Index (Local0, Local1) = (DerefOf (Index (Local0, Local1)) | Local2)
14899                             Local4++
14900                             Local5 = DerefOf (Index (Local3, Local4))
14901                         }
14902 
14903                         Return (Local0)
14904                     }
14905                     Else
14906                     {
14907                         If ((_T_0 == 0x13))
14908                         {
14909                             Local0 = Buffer (0x04)
14910                                 {
14911                                      0x00, 0x00, 0x00, 0x00                           /* .... */
14912                                 }
14913                             CreateField (Arg3, 0x02, 0x01, PPST)
14914                             CreateBitField (Local0, 0x02, CPST)
14915                             If ((ToInteger (PPST) && One))
14916                             {
14917                                 \_SB.PCI0.LPC.EC.GPLT = 0x01
14918                             }
14919 
14920                             CPST = One
14921                             Return (Local0)
14922                         }
14923                         Else
14924                         {
14925                             If ((_T_0 == 0x20))
14926                             {
14927                                 Local0 = Buffer (0x04)
14928                                     {
14929                                          0x00, 0x00, 0x00, 0x00                           /* .... */
14930                                     }
14931                                 CreateField (Local0, 0x18, 0x01, CUIT)
14932                                 CreateField (Local0, 0x1E, 0x01, PSER)
14933                                 CUIT = One
14934                                 PSER = One
14935                                 Return (Local0)
14936                             }
14937                             Else
14938                             {
14939                                 If ((_T_0 == 0x21))
14940                                 {
14941                                     Return (\_PR.CPU0._PSS)
14942                                 }
14943                                 Else
14944                                 {
14945                                     If ((_T_0 == 0x22))
14946                                     {
14947                                         CreateField (Arg3, 0x00, 0x08, PPCV)
14948                                         CPPC = PPCV /* \_SB_.PCI0.PEG_.VID_.NVPS.PPCV */
14949                                         \PNTF (0x80)
14950                                         Return (Buffer (0x04)
14951                                         {
14952                                              0x00, 0x00, 0x00, 0x00                           /* .... */
14953                                         })
14954                                     }
14955                                     Else
14956                                     {
14957                                         If ((_T_0 == 0x23))
14958                                         {
14959                                             Local0 = Buffer (0x04)
14960                                                 {
14961                                                      0x00, 0x00, 0x00, 0x00                           /* .... */
14962                                                 }
14963                                             Index (Local0, 0x00) = CPPC /* \_SB_.PCI0.PEG_.VID_.CPPC */
14964                                             Return (Local0)
14965                                         }
14966                                         Else
14967                                         {
14968                                             If ((_T_0 == 0x2A))
14969                                             {
14970                                                 Local0 = Buffer (0x24)
14971                                                     {
14972                                                         /* 0000 */  0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  /* ........ */
14973                                                         /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
14974                                                         /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
14975                                                         /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
14976                                                         /* 0020 */  0x00, 0x00, 0x00, 0x00                           /* .... */
14977                                                     }
14978                                                 Index (Local0, 0x00) = DerefOf (Index (Arg3, 0x00))
14979                                                 CreateField (Arg3, 0x00, 0x04, QTYP)
14980                                                 While (One)
14981                                                 {
14982                                                     _T_1 = ToInteger (QTYP)
14983                                                     If ((_T_1 == 0x00))
14984                                                     {
14985                                                         Local1 = \_SB.PCI0.LPC.EC.TMP0
14986                                                         Index (Local0, 0x0C) = (Local1 & 0xFF)
14987                                                         Return (Local0)
14988                                                     }
14989                                                     Else
14990                                                     {
14991                                                         If ((_T_1 == 0x01))
14992                                                         {
14993                                                             Index (Local0, 0x0D) = 0x08
14994                                                             Index (Local0, 0x01) = 0x03
14995                                                             Return (Local0)
14996                                                         }
14997                                                         Else
14998                                                         {
14999                                                             If ((_T_1 == 0x02))
15000                                                             {
15001                                                                 Index (Local0, 0x00) = 0x02
15002                                                                 Index (Local0, 0x01) = One
15003                                                                 If ((DDID == 0x137A))
15004                                                                 {
15005                                                                     Index (Local0, 0x08) = 0x46
15006                                                                 }
15007 
15008                                                                 If ((DDID == 0x1347))
15009                                                                 {
15010                                                                     Index (Local0, 0x08) = 0x46
15011                                                                 }
15012 
15013                                                                 Return (Local0)
15014                                                             }
15015                                                         }
15016                                                     }
15017 
15018                                                     Break
15019                                                 }
15020                                             }
15021                                         }
15022                                     }
15023                                 }
15024                             }
15025                         }
15026                     }
15027 
15028                     Break
15029                 }
15030 
15031                 Return (Buffer (0x04)
15032                 {
15033                      0x02, 0x00, 0x00, 0x80                           /* .... */
15034                 })
15035             }
15036         }
15037     }
15038 
15039     Name (\_S0, Package (0x04)  // _S0_: S0 System State
15040     {
15041         0x00, 
15042         0x00, 
15043         0x00, 
15044         0x00
15045     })
15046     Name (\_S3, Package (0x04)  // _S3_: S3 System State
15047     {
15048         0x05, 
15049         0x05, 
15050         0x00, 
15051         0x00
15052     })
15053     Name (\_S4, Package (0x04)  // _S4_: S4 System State
15054     {
15055         0x06, 
15056         0x06, 
15057         0x00, 
15058         0x00
15059     })
15060     Name (\_S5, Package (0x04)  // _S5_: S5 System State
15061     {
15062         0x07, 
15063         0x07, 
15064         0x00, 
15065         0x00
15066     })
15067     Method (\_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
15068     {
15069         Local0 = 0x01
15070         If ((Arg0 == \SPS))
15071         {
15072             Local0 = 0x00
15073         }
15074 
15075         If (((Arg0 == 0x00) || (Arg0 >= 0x06)))
15076         {
15077             Local0 = 0x00
15078         }
15079 
15080         If (Local0)
15081         {
15082             \SPS = Arg0
15083             \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
15084             If (\_SB.PCI0.LPC.EC.KBLT)
15085             {
15086                 \UCMS (0x0D)
15087             }
15088 
15089             If ((Arg0 == 0x01))
15090             {
15091                 \FNID = \_SB.PCI0.LPC.EC.HFNI
15092                 \_SB.PCI0.LPC.EC.HFNI = 0x00
15093                 \_SB.PCI0.LPC.EC.HFSP = 0x00
15094             }
15095 
15096             If ((Arg0 == 0x03))
15097             {
15098                 \VVPD (0x03)
15099                 \TRAP ()
15100                 \ACST = \_SB.PCI0.LPC.EC.AC._PSR ()
15101                 If ((\FNWK == 0x01))
15102                 {
15103                     If (\H8DR)
15104                     {
15105                         \_SB.PCI0.LPC.EC.HWFN = 0x00
15106                     }
15107                     Else
15108                     {
15109                         \MBEC (0x32, 0xEF, 0x00)
15110                     }
15111                 }
15112 
15113                 Local1 = \IFRS (0x00, 0x00)
15114                 \FFCL = 0x00
15115                 If ((Local1 & 0x20))
15116                 {
15117                     If (((Local1 & 0x00FFFF00) != 0x00FFFF00))
15118                     {
15119                         If (((\_SB.PCI0.LPC.EC.HB0A && ((\_SB.PCI0.LPC.EC.HB0S & 0x07) > 0x01)) || (\_SB.PCI0.LPC.EC.HB1A && 
15120                             ((\_SB.PCI0.LPC.EC.HB1S & 0x07) > 0x01))))
15121                         {
15122                             \FFCL = 0x00
15123                         }
15124                         Else
15125                         {
15126                             \FFCL = 0x01
15127                         }
15128                     }
15129                 }
15130 
15131                 If (\FFCL)
15132                 {
15133                     \IFRS (0x02, 0x00)
15134                 }
15135             }
15136 
15137             If ((Arg0 == 0x04))
15138             {
15139                 If (VDSP)
15140                 {
15141                     SHA1 = Zero
15142                 }
15143 
15144                 \_SB.SLPB._PSW (0x00)
15145                 \TRAP ()
15146                 If (CondRefOf (\_SB.PCI0.LPC.TPM.CMOR))
15147                 {
15148                     \_SB.PCI0.LPC.TPM.CMOR ()
15149                 }
15150 
15151                 \AWON (0x04)
15152             }
15153 
15154             If ((Arg0 == 0x05))
15155             {
15156                 \TRAP ()
15157                 If (CondRefOf (\_SB.PCI0.LPC.TPM.CMOR))
15158                 {
15159                     \_SB.PCI0.LPC.TPM.CMOR ()
15160                 }
15161 
15162                 \AWON (0x05)
15163             }
15164 
15165             If ((Arg0 >= 0x04))
15166             {
15167                 \_SB.PCI0.LPC.EC.HWLB = 0x00
15168             }
15169             Else
15170             {
15171                 \_SB.PCI0.LPC.EC.HWLB = 0x01
15172             }
15173 
15174             If ((Arg0 >= 0x03))
15175             {
15176                 \_SB.PCI0.LPC.EC.HCMU = 0x01
15177             }
15178 
15179             If ((Arg0 != 0x05)) {}
15180             \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
15181         }
15182     }
15183 
15184     Name (WAKI, Package (0x02)
15185     {
15186         0x00, 
15187         0x00
15188     })
15189     Method (\_WAK, 1, NotSerialized)  // _WAK: Wake
15190     {
15191         If (((Arg0 == 0x00) || (Arg0 >= 0x05)))
15192         {
15193             Return (WAKI) /* \WAKI */
15194         }
15195 
15196         \SPS = 0x00
15197         \_SB.PCI0.LPC.EC.HCMU = 0x00
15198         \_SB.PCI0.LPC.EC.EVNT (0x01)
15199         \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
15200         \_SB.PCI0.LPC.EC.FNST ()
15201         \UCMS (0x0D)
15202         \LIDB = 0x00
15203         If ((Arg0 == 0x01))
15204         {
15205             \FNID = \_SB.PCI0.LPC.EC.HFNI
15206         }
15207 
15208         If ((Arg0 == 0x03))
15209         {
15210             \NVSS (0x00)
15211             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
15212             If (\OSC4)
15213             {
15214                 \PNTF (0x81)
15215             }
15216 
15217             If ((\ACST != \_SB.PCI0.LPC.EC.AC._PSR ()))
15218             {
15219                 \_SB.PCI0.LPC.EC.ATMC ()
15220             }
15221 
15222             If (\SCRM)
15223             {
15224                 \_SB.PCI0.LPC.EC.HFSP = 0x07
15225             }
15226 
15227             \IOEN = 0x00
15228             \IOST = 0x00
15229             If ((\ISWK == 0x01))
15230             {
15231                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15232                 {
15233                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
15234                 }
15235             }
15236 
15237             If (\FFCL)
15238             {
15239                 \IFRS (0x03, 0x00)
15240             }
15241 
15242             If (\VIGD)
15243             {
15244                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15245                 If (\WVIS)
15246                 {
15247                     \VBTD ()
15248                 }
15249             }
15250             Else
15251             {
15252                 If (\WVIS)
15253                 {
15254                     \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15255                     \VBTD ()
15256                 }
15257             }
15258 
15259             \VCMS (0x01, \_SB.LID._LID ())
15260             \AWON (0x00)
15261             If (\CMPR)
15262             {
15263                 Notify (\_SB.SLPB, 0x02) // Device Wake
15264                 \CMPR = 0x00
15265             }
15266 
15267             If ((\USBR || \_SB.PCI0.XHCI.XRST))
15268             {
15269                 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
15270                 {
15271                     Local0 = 0x00
15272                     Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
15273                     \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
15274                     Local0 = 0x00
15275                     Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
15276                     \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
15277                 }
15278             }
15279         }
15280 
15281         If ((Arg0 == 0x04))
15282         {
15283             \NVSS (0x00)
15284             \_SB.PCI0.LPC.EC.HSPA = 0x00
15285             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
15286             If (\OSC4)
15287             {
15288                 \PNTF (0x81)
15289             }
15290 
15291             \_SB.PCI0.LPC.EC.ATMC ()
15292             If (\SCRM)
15293             {
15294                 \_SB.PCI0.LPC.EC.HFSP = 0x07
15295             }
15296 
15297             If (!\NBCF)
15298             {
15299                 If (\VIGD)
15300                 {
15301                     \_SB.PCI0.LPC.EC.BRNS ()
15302                 }
15303                 Else
15304                 {
15305                     \VBRC (\BRLV)
15306                 }
15307             }
15308 
15309             \IOEN = 0x00
15310             \IOST = 0x00
15311             If ((\ISWK == 0x02))
15312             {
15313                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15314                 {
15315                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
15316                 }
15317             }
15318 
15319             If (\_SB.PCI0.XHCI.XRST)
15320             {
15321                 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
15322                 {
15323                     Local0 = 0x00
15324                     Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
15325                     \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
15326                     Local0 = 0x00
15327                     Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
15328                     \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
15329                 }
15330             }
15331         }
15332 
15333         \_SB.PCI0.LPC.EC.BATW (Arg0)
15334         \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
15335         Notify (\_TZ.THM0, 0x80) // Thermal Status Change
15336         \VSLD (\_SB.LID._LID ())
15337         If (\VIGD)
15338         {
15339             \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15340         }
15341         Else
15342         {
15343             If (\WVIS)
15344             {
15345                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
15346             }
15347         }
15348 
15349         If ((Arg0 < 0x04))
15350         {
15351             If (((\RRBF & 0x02) || (\_SB.PCI0.LPC.EC.HWAC & 0x02)))
15352             {
15353                 Local0 = (Arg0 << 0x08)
15354                 Local0 = (0x2013 | Local0)
15355                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
15356             }
15357         }
15358 
15359         If ((Arg0 == 0x04))
15360         {
15361             Local0 = 0x00
15362             Local1 = \CSUM (0x00)
15363             If ((Local1 != \CHKC))
15364             {
15365                 Local0 = 0x01
15366                 \CHKC = Local1
15367             }
15368 
15369             Local1 = \CSUM (0x01)
15370             If ((Local1 != \CHKE))
15371             {
15372                 Local0 = 0x01
15373                 \CHKE = Local1
15374             }
15375 
15376             If (Local0)
15377             {
15378                 Notify (\_SB, 0x00) // Bus Check
15379             }
15380         }
15381 
15382         \RRBF = Zero
15383         Return (WAKI) /* \WAKI */
15384     }
15385 
15386     Scope (\_SI)
15387     {
15388         Method (_SST, 1, NotSerialized)  // _SST: System Status
15389         {
15390             If ((Arg0 == 0x00))
15391             {
15392                 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
15393                 \_SB.PCI0.LPC.EC.LED (0x0A, 0x00)
15394                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
15395             }
15396 
15397             If ((Arg0 == 0x01))
15398             {
15399                 If ((\SPS || \WNTF))
15400                 {
15401                     \_SB.PCI0.LPC.EC.BEEP (0x05)
15402                 }
15403 
15404                 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
15405                 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
15406                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
15407             }
15408 
15409             If ((Arg0 == 0x02))
15410             {
15411                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15412                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15413                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15414             }
15415 
15416             If ((Arg0 == 0x03))
15417             {
15418                 If ((\SPS > 0x03))
15419                 {
15420                     \_SB.PCI0.LPC.EC.BEEP (0x07)
15421                 }
15422                 Else
15423                 {
15424                     If ((\SPS == 0x03))
15425                     {
15426                         \_SB.PCI0.LPC.EC.BEEP (0x03)
15427                     }
15428                     Else
15429                     {
15430                         \_SB.PCI0.LPC.EC.BEEP (0x04)
15431                     }
15432                 }
15433 
15434                 If ((\SPS == 0x03)) {}
15435                 Else
15436                 {
15437                     \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
15438                     \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
15439                 }
15440 
15441                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15442                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15443                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15444             }
15445 
15446             If ((Arg0 == 0x04))
15447             {
15448                 \_SB.PCI0.LPC.EC.BEEP (0x03)
15449                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
15450                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
15451                 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
15452             }
15453         }
15454     }
15455 
15456     Scope (\_GPE)
15457     {
15458         Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15459         {
15460             Local0 = \_SB.PCI0.LPC.EC.HWAC
15461             \RRBF = Local0
15462             Sleep (0x0A)
15463             If ((Local0 & 0x02)) {}
15464             If ((Local0 & 0x04))
15465             {
15466                 Notify (\_SB.LID, 0x02) // Device Wake
15467             }
15468 
15469             If ((Local0 & 0x08))
15470             {
15471                 Notify (\_SB.SLPB, 0x02) // Device Wake
15472             }
15473 
15474             If ((Local0 & 0x10))
15475             {
15476                 Notify (\_SB.SLPB, 0x02) // Device Wake
15477             }
15478 
15479             If ((Local0 & 0x40)) {}
15480             If ((Local0 & 0x80))
15481             {
15482                 Notify (\_SB.SLPB, 0x02) // Device Wake
15483             }
15484         }
15485 
15486         Method (_L69, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15487         {
15488             If (\_SB.PCI0.EXP1.PSPX)
15489             {
15490                 \_SB.PCI0.EXP1.PSPX = 0x01
15491                 \_SB.PCI0.EXP1.PMSX = 0x01
15492                 Notify (\_SB.PCI0.EXP1, 0x02) // Device Wake
15493             }
15494 
15495             If (\_SB.PCI0.EXP2.PSPX)
15496             {
15497                 \_SB.PCI0.EXP2.PSPX = 0x01
15498                 \_SB.PCI0.EXP2.PMSX = 0x01
15499                 Notify (\_SB.PCI0.EXP2, 0x02) // Device Wake
15500             }
15501 
15502             If (\_SB.PCI0.EXP3.PSPX)
15503             {
15504                 \_SB.PCI0.EXP3.PSPX = 0x01
15505                 \_SB.PCI0.EXP3.PMSX = 0x01
15506                 Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
15507             }
15508         }
15509 
15510         Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15511         {
15512         }
15513 
15514         Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15515         {
15516             \_SB.PCI0.LPC.SWGE = 0x00
15517             If (CondRefOf (\_SB.PCCD.PENB))
15518             {
15519                 If ((\_SB.PCCD.PENB == 0x01))
15520                 {
15521                     Notify (\_SB.PCCD, 0x80) // Status Change
15522                 }
15523             }
15524         }
15525 
15526         Method (_L66, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15527         {
15528             If (\_SB.PCI0.VID.GSSE)
15529             {
15530                 \_SB.PCI0.VID.GSCI ()
15531             }
15532             Else
15533             {
15534                 \_SB.PCI0.LPC.SCIS = 0x01
15535             }
15536         }
15537 
15538         Name (GPFG, 0x00)
15539         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
15540         {
15541             If ((GPFG && \_SB.PCI0.LPC.NFCI))
15542             {
15543                 GPFG = 0x00
15544                 Notify (\_SB.PCI0.SMBU.NFC, 0xC0) // Hardware-Specific
15545             }
15546         }
15547     }
15548 
15549     Scope (\_SB.PCI0.LPC.EC.HKEY)
15550     {
15551         Method (MHQT, 1, NotSerialized)
15552         {
15553             If ((\WNTF && \TATC))
15554             {
15555                 If ((Arg0 == 0x00))
15556                 {
15557                     Local0 = \TATC
15558                     Return (Local0)
15559                 }
15560                 Else
15561                 {
15562                     If ((Arg0 == 0x01))
15563                     {
15564                         Local0 = \TDFA
15565                         Local0 += (\TDTA << 0x04)
15566                         Local0 += (\TDFD << 0x08)
15567                         Local0 += (\TDTD << 0x0C)
15568                         Local0 += (\TNFT << 0x10)
15569                         Local0 += (\TNTT << 0x14)
15570                         Return (Local0)
15571                     }
15572                     Else
15573                     {
15574                         If ((Arg0 == 0x02))
15575                         {
15576                             Local0 = \TCFA
15577                             Local0 += (\TCTA << 0x04)
15578                             Local0 += (\TCFD << 0x08)
15579                             Local0 += (\TCTD << 0x0C)
15580                             Return (Local0)
15581                         }
15582                         Else
15583                         {
15584                             If ((Arg0 == 0x03)) {}
15585                             Else
15586                             {
15587                                 If ((Arg0 == 0x04))
15588                                 {
15589                                     Local0 = \TATW
15590                                     Return (Local0)
15591                                 }
15592                                 Else
15593                                 {
15594                                     Noop
15595                                 }
15596                             }
15597                         }
15598                     }
15599                 }
15600             }
15601 
15602             Return (0x00)
15603         }
15604 
15605         Method (MHAT, 1, NotSerialized)
15606         {
15607             If ((\WNTF && \TATC))
15608             {
15609                 Local0 = (Arg0 & 0xFF)
15610                 If (!ATMV (Local0))
15611                 {
15612                     Return (0x00)
15613                 }
15614 
15615                 Local0 = ((Arg0 >> 0x08) & 0xFF)
15616                 If (!ATMV (Local0))
15617                 {
15618                     Return (0x00)
15619                 }
15620 
15621                 \TCFA = (Arg0 & 0x0F)
15622                 \TCTA = ((Arg0 >> 0x04) & 0x0F)
15623                 \TCFD = ((Arg0 >> 0x08) & 0x0F)
15624                 \TCTD = ((Arg0 >> 0x0C) & 0x0F)
15625                 ATMC ()
15626                 If ((\_PR.CFGD & 0x0100))
15627                 {
15628                     Local1 = \FTPS
15629                     If ((Arg0 & 0x00010000))
15630                     {
15631                         If (\_PR.CLVL)
15632                         {
15633                             \FTPS = \CTPR
15634                             \FTPS++
15635                         }
15636                         Else
15637                         {
15638                             \FTPS = 0x01
15639                         }
15640                     }
15641                     Else
15642                     {
15643                         If (\_PR.CLVL)
15644                         {
15645                             \FTPS = \CTPR
15646                         }
15647                         Else
15648                         {
15649                             \FTPS = 0x00
15650                         }
15651                     }
15652 
15653                     If ((\FTPS ^ Local1))
15654                     {
15655                         If ((\OSPX || \CPPX))
15656                         {
15657                             \PNTF (0x80)
15658                         }
15659                     }
15660                 }
15661 
15662                 Local2 = \SCRM
15663                 If ((Arg0 & 0x00040000))
15664                 {
15665                     \SCRM = 0x01
15666                     \_SB.PCI0.LPC.EC.HFSP = 0x07
15667                 }
15668                 Else
15669                 {
15670                     \SCRM = 0x00
15671                     \_SB.PCI0.LPC.EC.HFSP = 0x80
15672                 }
15673 
15674                 Local3 = \ETAU
15675                 If ((Arg0 & 0x00020000))
15676                 {
15677                     \ETAU = 0x01
15678                 }
15679                 Else
15680                 {
15681                     \ETAU = 0x00
15682                 }
15683 
15684                 Return (0x01)
15685             }
15686 
15687             Return (0x00)
15688         }
15689 
15690         Method (MHGT, 1, NotSerialized)
15691         {
15692             If ((\WNTF && \TATC))
15693             {
15694                 Local0 = 0x01000000
15695                 If ((\_PR.CFGD & 0x0100))
15696                 {
15697                     Local0 |= 0x08000000
15698                 }
15699 
15700                 If (\SCRM)
15701                 {
15702                     Local0 |= 0x10000000
15703                 }
15704 
15705                 If (\ETAU)
15706                 {
15707                     Local0 |= 0x04000000
15708                 }
15709 
15710                 If ((\CTPR < \FTPS))
15711                 {
15712                     Local0 |= 0x02000000
15713                 }
15714 
15715                 Local0 += (\TSFT << 0x10)
15716                 Local0 += (\TSTT << 0x14)
15717                 Local1 = (Arg0 & 0xFF)
15718                 If (!ATMV (Local1))
15719                 {
15720                     Local0 |= 0xFFFF
15721                     Return (Local0)
15722                 }
15723 
15724                 Local1 = (Arg0 & 0x0F)
15725                 If ((Local1 == 0x00))
15726                 {
15727                     Local0 += \TIF0
15728                 }
15729                 Else
15730                 {
15731                     If ((Local1 == 0x01))
15732                     {
15733                         Local0 += \TIF1
15734                     }
15735                     Else
15736                     {
15737                         If ((Local1 == 0x02))
15738                         {
15739                             Local0 += \TIF2
15740                         }
15741                         Else
15742                         {
15743                             Local0 += 0xFF
15744                         }
15745                     }
15746                 }
15747 
15748                 Local1 = ((Arg0 >> 0x04) & 0x0F)
15749                 If ((Local1 == 0x00))
15750                 {
15751                     Local0 += (\TIT0 << 0x08)
15752                 }
15753                 Else
15754                 {
15755                     If ((Local1 == 0x01))
15756                     {
15757                         Local0 += (\TIT1 << 0x08)
15758                     }
15759                     Else
15760                     {
15761                         If ((Local1 == 0x02))
15762                         {
15763                             Local0 += (\TIT2 << 0x08)
15764                         }
15765                         Else
15766                         {
15767                             Local0 += (0xFF << 0x08)
15768                         }
15769                     }
15770                 }
15771 
15772                 Return (Local0)
15773             }
15774 
15775             Return (0x00)
15776         }
15777 
15778         Method (ATMV, 1, NotSerialized)
15779         {
15780             Local1 = (Arg0 & 0x0F)
15781             Local0 = \TNFT
15782             If ((Local1 >= Local0))
15783             {
15784                 Return (0x00)
15785             }
15786 
15787             Local2 = ((Arg0 >> 0x04) & 0x0F)
15788             Local0 = \TNTT
15789             If ((Local2 >= Local0))
15790             {
15791                 Return (0x00)
15792             }
15793 
15794             If (\TATL)
15795             {
15796                 If ((Local1 ^ Local2))
15797                 {
15798                     Return (0x00)
15799                 }
15800             }
15801 
15802             Return (0x01)
15803         }
15804 
15805         Method (MHCT, 1, NotSerialized)
15806         {
15807             Local0 = 0x00
15808             If (\SPEN)
15809             {
15810                 Local0 = \LWST
15811                 Local0++
15812                 Local0 <<= 0x08
15813             }
15814 
15815             Local1 = 0x08
15816             Local1 <<= 0x08
15817             If ((Arg0 == 0xFFFFFFFF))
15818             {
15819                 Local1 |= \TPCR
15820                 If (\SPEN)
15821                 {
15822                     Local0 |= \PPCR
15823                     If (!(\_PR.CFGD && 0x02000000))
15824                     {
15825                         Local1 |= 0x80
15826                     }
15827 
15828                     If (!(\_PR.CFGD && 0x08000000))
15829                     {
15830                         Local1 |= 0x40
15831                     }
15832                 }
15833                 Else
15834                 {
15835                     Local1 |= 0xC0
15836                 }
15837             }
15838             Else
15839             {
15840                 If (((\OSPX || \CPPX) && \SPEN))
15841                 {
15842                     Local2 = (Arg0 & 0x00FF0000)
15843                     Local2 >>= 0x10
15844                     Local0 |= Local2
15845                     If ((Local2 ^ \PPCR))
15846                     {
15847                         \PPCA = Local2
15848                         \PNTF (0x80)
15849                     }
15850                 }
15851 
15852                 If (\WVIS)
15853                 {
15854                     Local2 = (Arg0 & 0x1F)
15855                     Local1 |= Local2
15856                     If ((Local2 ^ \TPCR))
15857                     {
15858                         \TPCA = Local2
15859                         \PNTF (0x82)
15860                     }
15861                 }
15862             }
15863 
15864             Local0 <<= 0x10
15865             Local0 |= Local1
15866             Return (Local0)
15867         }
15868 
15869         Method (DYTC, 1, Serialized)
15870         {
15871             Name (_T_3, Zero)  // _T_x: Emitted by ASL Compiler
15872             Name (_T_2, Zero)  // _T_x: Emitted by ASL Compiler
15873             Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
15874             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
15875             Local0 = Arg0
15876             Local1 = 0x00
15877             Local2 = 0x00
15878             Local3 = 0x00
15879             Local4 = 0x00
15880             If ((\WNTF && \TATC))
15881             {
15882                 Local1 = (Local0 & 0x0F)
15883                 While (One)
15884                 {
15885                     _T_0 = ToInteger (Local1)
15886                     If ((_T_0 == 0x00))
15887                     {
15888                         Local2 = (\DTCC & (0x01 | 0x02))
15889                         If (!(Local2 & 0x01))
15890                         {
15891                             Return (0x00)
15892                         }
15893 
15894                         Local3 = \_SB.PCI0.CTNL
15895                         If ((Local3 == 0x00))
15896                         {
15897                             Return (0x00)
15898                         }
15899 
15900                         Local3 = \_SB.PCI0.CTCL
15901                         Local3 = (Local3 & 0x03)
15902                         While (One)
15903                         {
15904                             _T_1 = ToInteger (Local3)
15905                             If ((Match (Package (0x03)
15906                                             {
15907                                                 0x00, 
15908                                                 0x01, 
15909                                                 0x02
15910                                             }, MEQ, _T_1, MTR, Zero, Zero) != Ones))
15911                             {
15912                                 Local2 |= (Local3 << 0x08)
15913                             }
15914                             Else
15915                             {
15916                                 Local2 |= 0x0F00
15917                             }
15918 
15919                             Break
15920                         }
15921 
15922                         Local2 |= 0x20000000
15923                         Local2 |= 0x1000
15924                     }
15925                     Else
15926                     {
15927                         If ((_T_0 == 0x01))
15928                         {
15929                             Local2 = (\DTCC & (0x01 | 0x02))
15930                             If ((Local2 != (0x01 | 0x02)))
15931                             {
15932                                 Return ((0x02 | 0x01))
15933                             }
15934 
15935                             Local1 = (Local0 & 0x0F00)
15936                             Local2 = (Local1 | 0x00)
15937                             While (One)
15938                             {
15939                                 _T_2 = ToInteger ((Local1 >> 0x08))
15940                                 If ((_T_2 == 0x00))
15941                                 {
15942                                     \_SB.PCI0.CTCN ()
15943                                 }
15944                                 Else
15945                                 {
15946                                     If ((_T_2 == 0x01))
15947                                     {
15948                                         \_SB.PCI0.CTCD ()
15949                                     }
15950                                     Else
15951                                     {
15952                                         Local2 = (0x0E | 0x01)
15953                                     }
15954                                 }
15955 
15956                                 Break
15957                             }
15958                         }
15959                         Else
15960                         {
15961                             Local2 = Local0
15962                         }
15963                     }
15964 
15965                     Break
15966                 }
15967 
15968                 Local4 = (Local0 & 0x0FFF)
15969                 While (One)
15970                 {
15971                     _T_3 = ToInteger (Local4)
15972                     If ((_T_3 == 0x0100))
15973                     {
15974                         Local2 = (\DTCC & 0x01)
15975                         If (!(Local2 & 0x01))
15976                         {
15977                             Local2 = 0x0100
15978                         }
15979                         Else
15980                         {
15981                             Local2 |= 0x00010000
15982                             Local2 |= 0x10000000
15983                         }
15984                     }
15985 
15986                     Break
15987                 }
15988 
15989                 Return (Local2)
15990             }
15991         }
15992     }
15993 
15994     Scope (\_SB.PCI0.LPC.EC)
15995     {
15996         Method (ATMC, 0, NotSerialized)
15997         {
15998             If ((\WNTF && \TATC))
15999             {
16000                 If (HPAC)
16001                 {
16002                     Local0 = \TCFA
16003                     Local1 = \TCTA
16004                     Local2 = ((Local1 << 0x04) | Local0)
16005                     Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
16006                     ATMX = Local2
16007                     If ((\TCTA == 0x00))
16008                     {
16009                         \TCRT = \TCR0
16010                         \TPSV = \TPS0
16011                     }
16012                     Else
16013                     {
16014                         If ((\TCTA == 0x01))
16015                         {
16016                             \TCRT = \TCR1
16017                             \TPSV = \TPS1
16018                         }
16019                         Else
16020                         {
16021                         }
16022                     }
16023                 }
16024                 Else
16025                 {
16026                     Local0 = \TCFD
16027                     Local1 = \TCTD
16028                     Local2 = ((Local1 << 0x04) | Local0)
16029                     Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
16030                     ATMX = Local2
16031                     If ((\TCTD == 0x00))
16032                     {
16033                         \TCRT = \TCR0
16034                         \TPSV = \TPS0
16035                     }
16036                     Else
16037                     {
16038                         If ((\TCTD == 0x01))
16039                         {
16040                             \TCRT = \TCR1
16041                             \TPSV = \TPS1
16042                         }
16043                         Else
16044                         {
16045                         }
16046                     }
16047                 }
16048 
16049                 If (Local3)
16050                 {
16051                     If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16052                     {
16053                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
16054                     }
16055                 }
16056 
16057                 Notify (\_TZ.THM0, 0x81) // Thermal Trip Point Change
16058             }
16059         }
16060     }
16061 
16062     Scope (\_TZ)
16063     {
16064         ThermalZone (THM0)
16065         {
16066             Method (_CRT, 0, NotSerialized)  // _CRT: Critical Temperature
16067             {
16068                 Return (\TCRT)
16069             }
16070 
16071             Method (_TMP, 0, NotSerialized)  // _TMP: Temperature
16072             {
16073                 If (\H8DR)
16074                 {
16075                     Local0 = \_SB.PCI0.LPC.EC.TMP0
16076                     Local1 = \_SB.PCI0.LPC.EC.TSL2
16077                     Local2 = \_SB.PCI0.LPC.EC.TSL3
16078                 }
16079                 Else
16080                 {
16081                     Local0 = \RBEC (0x78)
16082                     Local1 = (\RBEC (0x8A) & 0x7F)
16083                     Local2 = (\RBEC (0x8B) & 0x7F)
16084                 }
16085 
16086                 If ((Local0 == 0x80))
16087                 {
16088                     Local0 = 0x30
16089                 }
16090 
16091                 If (Local2)
16092                 {
16093                     \TSDL ()
16094                     Return (\TCRT)
16095                 }
16096 
16097                 If (!\_SB.PCI0.LPC.EC.HKEY.DHKC)
16098                 {
16099                     If (Local1)
16100                     {
16101                         \TSDL ()
16102                         Return (\TCRT)
16103                     }
16104                 }
16105 
16106                 Return (C2K (Local0))
16107             }
16108         }
16109 
16110         Method (C2K, 1, NotSerialized)
16111         {
16112             Local0 = ((Arg0 * 0x0A) + 0x0AAC)
16113             If ((Local0 <= 0x0AAC))
16114             {
16115                 Local0 = 0x0BB8
16116             }
16117 
16118             If ((Local0 > 0x0FAC))
16119             {
16120                 Local0 = 0x0BB8
16121             }
16122 
16123             Return (Local0)
16124         }
16125     }
16126 
16127     Scope (\_SB.PCI0.LPC.EC)
16128     {
16129         Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
16130         {
16131             Notify (\_TZ.THM0, 0x80) // Thermal Status Change
16132             If (\H8DR)
16133             {
16134                 Local1 = \_SB.PCI0.LPC.EC.TSL2
16135             }
16136             Else
16137             {
16138                 Local1 = (\RBEC (0x8A) & 0x7F)
16139             }
16140 
16141             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16142             {
16143                 If (Local1)
16144                 {
16145                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
16146                 }
16147             }
16148 
16149             If (VIGD)
16150             {
16151                 Noop
16152             }
16153             Else
16154             {
16155                 \VTHR ()
16156             }
16157 
16158             If ((\_PR.CFGD & 0x01))
16159             {
16160                 If ((\OSPX || \CPPX))
16161                 {
16162                     \PNTF (0x80)
16163                 }
16164                 Else
16165                 {
16166                     Local2 = (\_SB.PCI0.LPC.EC.TSL0 & 0x77)
16167                     If (Local2)
16168                     {
16169                         \STEP (0x09)
16170                     }
16171                     Else
16172                     {
16173                         \STEP (0x0A)
16174                     }
16175                 }
16176             }
16177         }
16178     }
16179 
16180     Name (GPIC, 0x00)
16181     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
16182     {
16183         \GPIC = Arg0
16184     }
16185 
16186     OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
16187     Field (SMI0, ByteAcc, NoLock, Preserve)
16188     {
16189         APMC,   8
16190     }
16191 
16192     Field (MNVS, AnyAcc, NoLock, Preserve)
16193     {
16194         Offset (0xFC0), 
16195         CMD,    8, 
16196         ERR,    32, 
16197         PAR0,   32, 
16198         PAR1,   32, 
16199         PAR2,   32, 
16200         PAR3,   32
16201     }
16202 
16203     Mutex (MSMI, 0x07)
16204     Method (SMI, 5, NotSerialized)
16205     {
16206         Acquire (MSMI, 0xFFFF)
16207         CMD = Arg0
16208         ERR = 0x01
16209         PAR0 = Arg1
16210         PAR1 = Arg2
16211         PAR2 = Arg3
16212         PAR3 = Arg4
16213         APMC = 0xF5
16214         While ((ERR == 0x01))
16215         {
16216             Sleep (0x01)
16217             APMC = 0xF5
16218         }
16219 
16220         Local0 = PAR0 /* \PAR0 */
16221         Release (MSMI)
16222         Return (Local0)
16223     }
16224 
16225     Method (RPCI, 1, NotSerialized)
16226     {
16227         Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
16228     }
16229 
16230     Method (WPCI, 2, NotSerialized)
16231     {
16232         SMI (0x00, 0x01, Arg0, Arg1, 0x00)
16233     }
16234 
16235     Method (MPCI, 3, NotSerialized)
16236     {
16237         SMI (0x00, 0x02, Arg0, Arg1, Arg2)
16238     }
16239 
16240     Method (RBEC, 1, NotSerialized)
16241     {
16242         Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
16243     }
16244 
16245     Method (WBEC, 2, NotSerialized)
16246     {
16247         SMI (0x00, 0x04, Arg0, Arg1, 0x00)
16248     }
16249 
16250     Method (MBEC, 3, NotSerialized)
16251     {
16252         SMI (0x00, 0x05, Arg0, Arg1, Arg2)
16253     }
16254 
16255     Method (RISA, 1, NotSerialized)
16256     {
16257         Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
16258     }
16259 
16260     Method (WISA, 2, NotSerialized)
16261     {
16262         SMI (0x00, 0x07, Arg0, Arg1, 0x00)
16263     }
16264 
16265     Method (MISA, 3, NotSerialized)
16266     {
16267         SMI (0x00, 0x08, Arg0, Arg1, Arg2)
16268     }
16269 
16270     Method (VEXP, 0, NotSerialized)
16271     {
16272         SMI (0x01, 0x00, 0x00, 0x00, 0x00)
16273     }
16274 
16275     Method (VUPS, 1, NotSerialized)
16276     {
16277         SMI (0x01, 0x01, Arg0, 0x00, 0x00)
16278     }
16279 
16280     Method (VSDS, 2, NotSerialized)
16281     {
16282         SMI (0x01, 0x02, Arg0, Arg1, 0x00)
16283     }
16284 
16285     Method (VDDC, 0, NotSerialized)
16286     {
16287         SMI (0x01, 0x03, 0x00, 0x00, 0x00)
16288     }
16289 
16290     Method (VVPD, 1, NotSerialized)
16291     {
16292         SMI (0x01, 0x04, Arg0, 0x00, 0x00)
16293     }
16294 
16295     Method (VNRS, 1, NotSerialized)
16296     {
16297         SMI (0x01, 0x05, Arg0, 0x00, 0x00)
16298     }
16299 
16300     Method (GLPW, 0, NotSerialized)
16301     {
16302         Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
16303     }
16304 
16305     Method (VSLD, 1, NotSerialized)
16306     {
16307         SMI (0x01, 0x07, Arg0, 0x00, 0x00)
16308     }
16309 
16310     Method (VEVT, 1, NotSerialized)
16311     {
16312         Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
16313     }
16314 
16315     Method (VTHR, 0, NotSerialized)
16316     {
16317         Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
16318     }
16319 
16320     Method (VBRC, 1, NotSerialized)
16321     {
16322         SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
16323     }
16324 
16325     Method (VBRG, 0, NotSerialized)
16326     {
16327         Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
16328     }
16329 
16330     Method (VCMS, 2, NotSerialized)
16331     {
16332         Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
16333     }
16334 
16335     Method (VBTD, 0, NotSerialized)
16336     {
16337         Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
16338     }
16339 
16340     Method (VHYB, 2, NotSerialized)
16341     {
16342         Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
16343     }
16344 
16345     Method (VDYN, 2, NotSerialized)
16346     {
16347         Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
16348     }
16349 
16350     Method (UCMS, 1, NotSerialized)
16351     {
16352         Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
16353     }
16354 
16355     Method (BHDP, 2, NotSerialized)
16356     {
16357         Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
16358     }
16359 
16360     Method (STEP, 1, NotSerialized)
16361     {
16362         SMI (0x04, Arg0, 0x00, 0x00, 0x00)
16363     }
16364 
16365     Method (TRAP, 0, NotSerialized)
16366     {
16367         SMI (0x05, 0x00, 0x00, 0x00, 0x00)
16368     }
16369 
16370     Method (CBRI, 0, NotSerialized)
16371     {
16372         SMI (0x05, 0x01, 0x00, 0x00, 0x00)
16373     }
16374 
16375     Method (BCHK, 0, NotSerialized)
16376     {
16377         Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
16378     }
16379 
16380     Method (BYRS, 0, NotSerialized)
16381     {
16382         SMI (0x05, 0x05, 0x00, 0x00, 0x00)
16383     }
16384 
16385     Method (LCHK, 1, NotSerialized)
16386     {
16387         Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
16388     }
16389 
16390     Method (BLTH, 1, NotSerialized)
16391     {
16392         Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
16393     }
16394 
16395     Method (PRSM, 2, NotSerialized)
16396     {
16397         Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
16398     }
16399 
16400     Method (IFRS, 2, NotSerialized)
16401     {
16402         Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
16403     }
16404 
16405     Method (ISOC, 1, NotSerialized)
16406     {
16407         Return (SMI (0x07, 0x03, Arg0, 0x00, 0x00))
16408     }
16409 
16410     Method (EZRC, 1, NotSerialized)
16411     {
16412         Return (SMI (0x07, 0x04, Arg0, 0x00, 0x00))
16413     }
16414 
16415     Method (WGSV, 1, NotSerialized)
16416     {
16417         Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
16418     }
16419 
16420     Method (SWTT, 1, NotSerialized)
16421     {
16422         If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
16423         {
16424             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
16425             {
16426                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
16427             }
16428         }
16429     }
16430 
16431     Method (TSDL, 0, NotSerialized)
16432     {
16433         Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
16434     }
16435 
16436     Method (TPHY, 1, NotSerialized)
16437     {
16438         SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
16439     }
16440 
16441     Method (CSUM, 1, NotSerialized)
16442     {
16443         Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
16444     }
16445 
16446     Method (NVSS, 1, NotSerialized)
16447     {
16448         Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
16449     }
16450 
16451     Method (WMIS, 2, NotSerialized)
16452     {
16453         Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
16454     }
16455 
16456     Method (AWON, 1, NotSerialized)
16457     {
16458         Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
16459     }
16460 
16461     Method (PMON, 2, NotSerialized)
16462     {
16463         Local0 = SizeOf (Arg0)
16464         Name (TSTR, Buffer (Local0) {})
16465         TSTR = Arg0
16466         \DBGS = TSTR /* \PMON.TSTR */
16467         SMI (0x11, Arg1, 0x00, 0x00, 0x00)
16468     }
16469 
16470     Method (UAWS, 1, NotSerialized)
16471     {
16472         Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
16473     }
16474 
16475     Method (BFWC, 1, NotSerialized)
16476     {
16477         Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
16478     }
16479 
16480     Method (BFWP, 0, NotSerialized)
16481     {
16482         Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
16483     }
16484 
16485     Method (BFWL, 0, NotSerialized)
16486     {
16487         SMI (0x14, 0x02, 0x00, 0x00, 0x00)
16488     }
16489 
16490     Method (BFWG, 1, NotSerialized)
16491     {
16492         SMI (0x14, 0x03, Arg0, 0x00, 0x00)
16493     }
16494 
16495     Method (BDMC, 1, NotSerialized)
16496     {
16497         SMI (0x14, 0x04, Arg0, 0x00, 0x00)
16498     }
16499 
16500     Method (PSIF, 2, NotSerialized)
16501     {
16502         Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
16503     }
16504 
16505     Method (FNSC, 2, NotSerialized)
16506     {
16507         Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
16508     }
16509 
16510     Method (AUDC, 2, NotSerialized)
16511     {
16512         Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
16513     }
16514 
16515     Method (SYBC, 2, NotSerialized)
16516     {
16517         Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
16518     }
16519 
16520     Method (KBLS, 2, NotSerialized)
16521     {
16522         Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
16523     }
16524 
16525     Method (UBIS, 1, NotSerialized)
16526     {
16527         Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
16528     }
16529 
16530     Method (DIEH, 1, NotSerialized)
16531     {
16532         Return (SMI (0x16, 0x00, Arg0, 0x00, 0x00))
16533     }
16534 
16535     Method (OUTP, 2, NotSerialized)
16536     {
16537         SMI (0x17, Arg0, Arg1, 0x00, 0x00)
16538     }
16539 
16540     Method (DPIO, 2, NotSerialized)
16541     {
16542         If (!Arg0)
16543         {
16544             Return (0x00)
16545         }
16546 
16547         If ((Arg0 > 0xF0))
16548         {
16549             Return (0x00)
16550         }
16551 
16552         If ((Arg0 > 0xB4))
16553         {
16554             If (Arg1)
16555             {
16556                 Return (0x02)
16557             }
16558             Else
16559             {
16560                 Return (0x01)
16561             }
16562         }
16563 
16564         If ((Arg0 > 0x78))
16565         {
16566             Return (0x03)
16567         }
16568 
16569         Return (0x04)
16570     }
16571 
16572     Method (DUDM, 2, NotSerialized)
16573     {
16574         If (!Arg1)
16575         {
16576             Return (0xFF)
16577         }
16578 
16579         If ((Arg0 > 0x5A))
16580         {
16581             Return (0x00)
16582         }
16583 
16584         If ((Arg0 > 0x3C))
16585         {
16586             Return (0x01)
16587         }
16588 
16589         If ((Arg0 > 0x2D))
16590         {
16591             Return (0x02)
16592         }
16593 
16594         If ((Arg0 > 0x1E))
16595         {
16596             Return (0x03)
16597         }
16598 
16599         If ((Arg0 > 0x14))
16600         {
16601             Return (0x04)
16602         }
16603 
16604         Return (0x05)
16605     }
16606 
16607     Method (DMDM, 2, NotSerialized)
16608     {
16609         If (Arg1)
16610         {
16611             Return (0x00)
16612         }
16613 
16614         If (!Arg0)
16615         {
16616             Return (0x00)
16617         }
16618 
16619         If ((Arg0 > 0x96))
16620         {
16621             Return (0x01)
16622         }
16623 
16624         If ((Arg0 > 0x78))
16625         {
16626             Return (0x02)
16627         }
16628 
16629         Return (0x03)
16630     }
16631 
16632     Method (UUDM, 2, NotSerialized)
16633     {
16634         If (!(Arg0 & 0x04))
16635         {
16636             Return (0x00)
16637         }
16638 
16639         If ((Arg1 & 0x20))
16640         {
16641             Return (0x14)
16642         }
16643 
16644         If ((Arg1 & 0x10))
16645         {
16646             Return (0x1E)
16647         }
16648 
16649         If ((Arg1 & 0x08))
16650         {
16651             Return (0x2D)
16652         }
16653 
16654         If ((Arg1 & 0x04))
16655         {
16656             Return (0x3C)
16657         }
16658 
16659         If ((Arg1 & 0x02))
16660         {
16661             Return (0x5A)
16662         }
16663 
16664         If ((Arg1 & 0x01))
16665         {
16666             Return (0x78)
16667         }
16668 
16669         Return (0x00)
16670     }
16671 
16672     Method (UMDM, 4, NotSerialized)
16673     {
16674         If (!(Arg0 & 0x02))
16675         {
16676             Return (0x00)
16677         }
16678 
16679         If ((Arg1 & 0x04))
16680         {
16681             Return (Arg3)
16682         }
16683 
16684         If ((Arg1 & 0x02))
16685         {
16686             If ((Arg3 <= 0x78))
16687             {
16688                 Return (0xB4)
16689             }
16690             Else
16691             {
16692                 Return (Arg3)
16693             }
16694         }
16695 
16696         If ((Arg2 & 0x04))
16697         {
16698             If ((Arg3 <= 0xB4))
16699             {
16700                 Return (0xF0)
16701             }
16702             Else
16703             {
16704                 Return (Arg3)
16705             }
16706         }
16707 
16708         Return (0x00)
16709     }
16710 
16711     Method (UPIO, 4, NotSerialized)
16712     {
16713         If (!(Arg0 & 0x02))
16714         {
16715             If ((Arg2 == 0x02))
16716             {
16717                 Return (0xF0)
16718             }
16719             Else
16720             {
16721                 Return (0x0384)
16722             }
16723         }
16724 
16725         If ((Arg1 & 0x02))
16726         {
16727             Return (Arg3)
16728         }
16729 
16730         If ((Arg1 & 0x01))
16731         {
16732             If ((Arg3 <= 0x78))
16733             {
16734                 Return (0xB4)
16735             }
16736             Else
16737             {
16738                 Return (Arg3)
16739             }
16740         }
16741 
16742         If ((Arg2 == 0x02))
16743         {
16744             Return (0xF0)
16745         }
16746         Else
16747         {
16748             Return (0x0384)
16749         }
16750     }
16751 
16752     Method (FDMA, 2, NotSerialized)
16753     {
16754         If ((Arg1 != 0xFF))
16755         {
16756             Return ((Arg1 | 0x40))
16757         }
16758 
16759         If ((Arg0 >= 0x03))
16760         {
16761             Return (((Arg0 - 0x02) | 0x20))
16762         }
16763 
16764         If (Arg0)
16765         {
16766             Return (0x12)
16767         }
16768 
16769         Return (0x00)
16770     }
16771 
16772     Method (FPIO, 1, NotSerialized)
16773     {
16774         If ((Arg0 >= 0x03))
16775         {
16776             Return ((Arg0 | 0x08))
16777         }
16778 
16779         If ((Arg0 == 0x01))
16780         {
16781             Return (0x01)
16782         }
16783 
16784         Return (0x00)
16785     }
16786 
16787     Method (SCMP, 2, NotSerialized)
16788     {
16789         Local0 = SizeOf (Arg0)
16790         If ((Local0 != SizeOf (Arg1)))
16791         {
16792             Return (One)
16793         }
16794 
16795         Local0++
16796         Name (STR1, Buffer (Local0) {})
16797         Name (STR2, Buffer (Local0) {})
16798         STR1 = Arg0
16799         STR2 = Arg1
16800         Local1 = Zero
16801         While ((Local1 < Local0))
16802         {
16803             Local2 = DerefOf (Index (STR1, Local1))
16804             Local3 = DerefOf (Index (STR2, Local1))
16805             If ((Local2 != Local3))
16806             {
16807                 Return (One)
16808             }
16809 
16810             Local1++
16811         }
16812 
16813         Return (Zero)
16814     }
16815 
16816     Name (SPS, 0x00)
16817     Name (OSIF, 0x00)
16818     Name (WNTF, 0x00)
16819     Name (WXPF, 0x00)
16820     Name (WVIS, 0x00)
16821     Name (WIN7, 0x00)
16822     Name (WIN8, 0x00)
16823     Name (WSPV, 0x00)
16824     Name (LNUX, 0x00)
16825     Name (H8DR, 0x00)
16826     Name (MEMX, 0x00)
16827     Name (ACST, 0x00)
16828     Name (FMBL, 0x01)
16829     Name (FDTP, 0x02)
16830     Name (FUPS, 0x03)
16831     Name (FNID, 0x00)
16832     Name (RRBF, 0x00)
16833     Name (NBCF, 0x00)
16834     Scope (\_SB.PCI0)
16835     {
16836         Device (PDRC)
16837         {
16838             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
16839             Name (_UID, 0x01)  // _UID: Unique ID
16840             Name (BUF0, ResourceTemplate ()
16841             {
16842                 Memory32Fixed (ReadWrite,
16843                     0x00000000,         // Address Base
16844                     0x00010000,         // Address Length
16845                     _Y27)
16846                 Memory32Fixed (ReadWrite,
16847                     0x00000000,         // Address Base
16848                     0x00010000,         // Address Length
16849                     _Y28)
16850             })
16851             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
16852             {
16853                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y27._BAS, SNR0)  // _BAS: Base Address
16854                 SNR0 = \SRMB
16855                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y28._BAS, XWT0)  // _BAS: Base Address
16856                 XWT0 = \XWMB
16857                 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
16858             }
16859         }
16860     }
16861 
16862     Scope (\)
16863     {
16864         Method (KOU1, 0, NotSerialized)
16865         {
16866             Stall (0x64)
16867         }
16868     }
16869 
16870     Scope (\)
16871     {
16872         Method (KOU2, 0, NotSerialized)
16873         {
16874             Stall (0x64)
16875         }
16876     }
16877 
16878     Scope (\_SB.PCI0.VID.LCD0)
16879     {
16880         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
16881         {
16882             If (\WVIS)
16883             {
16884                 \NBCF = 0x01
16885             }
16886 
16887             Local0 = \_SB.PCI0.LPC.EC.BFRQ ()
16888             If ((\_SB.PCI0.VID.PFMB != Local0))
16889             {
16890                 \_SB.PCI0.VID.AINT (0x03, Local0)
16891             }
16892 
16893             If (\WIN8)
16894             {
16895                 Return (Package (0x67)
16896                 {
16897                     0x64, 
16898                     0x64, 
16899                     0x00, 
16900                     0x01, 
16901                     0x02, 
16902                     0x03, 
16903                     0x04, 
16904                     0x05, 
16905                     0x06, 
16906                     0x07, 
16907                     0x08, 
16908                     0x09, 
16909                     0x0A, 
16910                     0x0B, 
16911                     0x0C, 
16912                     0x0D, 
16913                     0x0E, 
16914                     0x0F, 
16915                     0x10, 
16916                     0x11, 
16917                     0x12, 
16918                     0x13, 
16919                     0x14, 
16920                     0x15, 
16921                     0x16, 
16922                     0x17, 
16923                     0x18, 
16924                     0x19, 
16925                     0x1A, 
16926                     0x1B, 
16927                     0x1C, 
16928                     0x1D, 
16929                     0x1E, 
16930                     0x1F, 
16931                     0x20, 
16932                     0x21, 
16933                     0x22, 
16934                     0x23, 
16935                     0x24, 
16936                     0x25, 
16937                     0x26, 
16938                     0x27, 
16939                     0x28, 
16940                     0x29, 
16941                     0x2A, 
16942                     0x2B, 
16943                     0x2C, 
16944                     0x2D, 
16945                     0x2E, 
16946                     0x2F, 
16947                     0x30, 
16948                     0x31, 
16949                     0x32, 
16950                     0x33, 
16951                     0x34, 
16952                     0x35, 
16953                     0x36, 
16954                     0x37, 
16955                     0x38, 
16956                     0x39, 
16957                     0x3A, 
16958                     0x3B, 
16959                     0x3C, 
16960                     0x3D, 
16961                     0x3E, 
16962                     0x3F, 
16963                     0x40, 
16964                     0x41, 
16965                     0x42, 
16966                     0x43, 
16967                     0x44, 
16968                     0x45, 
16969                     0x46, 
16970                     0x47, 
16971                     0x48, 
16972                     0x49, 
16973                     0x4A, 
16974                     0x4B, 
16975                     0x4C, 
16976                     0x4D, 
16977                     0x4E, 
16978                     0x4F, 
16979                     0x50, 
16980                     0x51, 
16981                     0x52, 
16982                     0x53, 
16983                     0x54, 
16984                     0x55, 
16985                     0x56, 
16986                     0x57, 
16987                     0x58, 
16988                     0x59, 
16989                     0x5A, 
16990                     0x5B, 
16991                     0x5C, 
16992                     0x5D, 
16993                     0x5E, 
16994                     0x5F, 
16995                     0x60, 
16996                     0x61, 
16997                     0x62, 
16998                     0x63, 
16999                     0x64
17000                 })
17001             }
17002 
17003             Return (\_SB.PCI0.LPC.EC.BRTW)
17004         }
17005 
17006         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
17007         {
17008             If (\WIN8)
17009             {
17010                 \_SB.PCI0.VID.AINT (0x01, \_SB.PCI0.LPC.EC.BRCD (Arg0))
17011             }
17012             Else
17013             {
17014                 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
17015                 If ((Local0 != Ones))
17016                 {
17017                     Local1 = (Local0 - 0x02)
17018                     \BRLV = Local1
17019                     \_SB.PCI0.LPC.EC.BRNS ()
17020                     \UCMS (0x16)
17021                 }
17022             }
17023         }
17024 
17025         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
17026         {
17027             Local0 = \BRLV
17028             Local1 = (Local0 + 0x02)
17029             If ((Local1 <= 0x11))
17030             {
17031                 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
17032             }
17033             Else
17034             {
17035                 Return (Zero)
17036             }
17037         }
17038     }
17039 
17040     Scope (\_SB.PCI0.PEG.VID.LCD0)
17041     {
17042         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
17043         {
17044             If (\WVIS)
17045             {
17046                 \NBCF = 0x01
17047             }
17048 
17049             If (\WIN8)
17050             {
17051                 Return (Package (0x67)
17052                 {
17053                     0x64, 
17054                     0x64, 
17055                     0x00, 
17056                     0x01, 
17057                     0x02, 
17058                     0x03, 
17059                     0x04, 
17060                     0x05, 
17061                     0x06, 
17062                     0x07, 
17063                     0x08, 
17064                     0x09, 
17065                     0x0A, 
17066                     0x0B, 
17067                     0x0C, 
17068                     0x0D, 
17069                     0x0E, 
17070                     0x0F, 
17071                     0x10, 
17072                     0x11, 
17073                     0x12, 
17074                     0x13, 
17075                     0x14, 
17076                     0x15, 
17077                     0x16, 
17078                     0x17, 
17079                     0x18, 
17080                     0x19, 
17081                     0x1A, 
17082                     0x1B, 
17083                     0x1C, 
17084                     0x1D, 
17085                     0x1E, 
17086                     0x1F, 
17087                     0x20, 
17088                     0x21, 
17089                     0x22, 
17090                     0x23, 
17091                     0x24, 
17092                     0x25, 
17093                     0x26, 
17094                     0x27, 
17095                     0x28, 
17096                     0x29, 
17097                     0x2A, 
17098                     0x2B, 
17099                     0x2C, 
17100                     0x2D, 
17101                     0x2E, 
17102                     0x2F, 
17103                     0x30, 
17104                     0x31, 
17105                     0x32, 
17106                     0x33, 
17107                     0x34, 
17108                     0x35, 
17109                     0x36, 
17110                     0x37, 
17111                     0x38, 
17112                     0x39, 
17113                     0x3A, 
17114                     0x3B, 
17115                     0x3C, 
17116                     0x3D, 
17117                     0x3E, 
17118                     0x3F, 
17119                     0x40, 
17120                     0x41, 
17121                     0x42, 
17122                     0x43, 
17123                     0x44, 
17124                     0x45, 
17125                     0x46, 
17126                     0x47, 
17127                     0x48, 
17128                     0x49, 
17129                     0x4A, 
17130                     0x4B, 
17131                     0x4C, 
17132                     0x4D, 
17133                     0x4E, 
17134                     0x4F, 
17135                     0x50, 
17136                     0x51, 
17137                     0x52, 
17138                     0x53, 
17139                     0x54, 
17140                     0x55, 
17141                     0x56, 
17142                     0x57, 
17143                     0x58, 
17144                     0x59, 
17145                     0x5A, 
17146                     0x5B, 
17147                     0x5C, 
17148                     0x5D, 
17149                     0x5E, 
17150                     0x5F, 
17151                     0x60, 
17152                     0x61, 
17153                     0x62, 
17154                     0x63, 
17155                     0x64
17156                 })
17157             }
17158 
17159             Return (\_SB.PCI0.LPC.EC.BRTW)
17160         }
17161 
17162         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
17163         {
17164             If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
17165             {
17166                 \_SB.PCI0.VID.LCD0._BCM (Arg0)
17167             }
17168             Else
17169             {
17170                 If (\NBCF)
17171                 {
17172                     Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
17173                     If ((Local0 != Ones))
17174                     {
17175                         Local1 = (Local0 - 0x02)
17176                         \VBRC (Local1)
17177                         \BRLV = Local1
17178                     }
17179                 }
17180             }
17181         }
17182 
17183         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
17184         {
17185             If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
17186             {
17187                 Return (\_SB.PCI0.VID.LCD0._BQC ())
17188             }
17189             Else
17190             {
17191                 Local0 = \BRLV
17192                 Local1 = (Local0 + 0x02)
17193                 If ((Local1 <= 0x11))
17194                 {
17195                     Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
17196                 }
17197                 Else
17198                 {
17199                     Return (Zero)
17200                 }
17201             }
17202         }
17203     }
17204 
17205     Scope (\_SB.PCI0.SAT1)
17206     {
17207         Device (PRT0)
17208         {
17209             Name (DIP0, 0x00)
17210             Name (FDEV, Zero)
17211             Name (FDRP, Zero)
17212             Name (HDTF, Buffer (0x0E)
17213             {
17214                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17215                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
17216             })
17217             Name (HETF, Buffer (0x15)
17218             {
17219                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17220                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
17221                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17222             })
17223             Name (ERTF, Buffer (0x15)
17224             {
17225                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17226                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17227                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17228             })
17229             Name (HPTF, Buffer (0x15)
17230             {
17231                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17232                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17233                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17234             })
17235             Name (HQTF, Buffer (0x1C)
17236             {
17237                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17238                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17239                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
17240                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17241             })
17242             Name (HXTF, Buffer (0x1C)
17243             {
17244                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17245                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17246                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
17247                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17248             })
17249             Name (DDTF, Buffer (0x0E)
17250             {
17251                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17252                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
17253             })
17254             CreateByteField (DDTF, 0x01, DTAT)
17255             CreateByteField (DDTF, 0x08, DTFT)
17256             Name (DGTF, Buffer (0x15)
17257             {
17258                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17259                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
17260                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17261             })
17262             CreateByteField (DGTF, 0x01, GTAT)
17263             CreateByteField (DGTF, 0x08, GTFT)
17264             Name (_ADR, 0xFFFF)  // _ADR: Address
17265             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
17266             {
17267                 DIP0 = 0x00
17268                 If ((SizeOf (Arg0) == 0x0200))
17269                 {
17270                     CreateWordField (Arg0, 0x9C, M078)
17271                     If ((\DPP0 && (M078 & 0x08)))
17272                     {
17273                         DIP0 = 0x01
17274                     }
17275 
17276                     CreateByteField (Arg0, 0x9D, BFDS)
17277                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT0.FDEV */
17278                     CreateByteField (Arg0, 0x9A, BFRP)
17279                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT0.FDRP */
17280                 }
17281             }
17282 
17283             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
17284             {
17285                 If (DIP0)
17286                 {
17287                     If ((((DVS0 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17288                         ((FDRP & 0x80) == 0x80)))
17289                     {
17290                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT0.HQTF */
17291                     }
17292                     Else
17293                     {
17294                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT0.HPTF */
17295                     }
17296                 }
17297                 Else
17298                 {
17299                     If ((((DVS0 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17300                         ((FDRP & 0x80) == 0x80)))
17301                     {
17302                         Return (HETF) /* \_SB_.PCI0.SAT1.PRT0.HETF */
17303                     }
17304                     Else
17305                     {
17306                         Return (HDTF) /* \_SB_.PCI0.SAT1.PRT0.HDTF */
17307                     }
17308                 }
17309             }
17310         }
17311 
17312         Device (PRT1)
17313         {
17314             Name (DIP0, 0x00)
17315             Name (FDEV, 0x00)
17316             Name (FDRP, 0x00)
17317             Name (HDTF, Buffer (0x0E)
17318             {
17319                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17320                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
17321             })
17322             Name (HETF, Buffer (0x15)
17323             {
17324                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17325                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
17326                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17327             })
17328             Name (ERTF, Buffer (0x15)
17329             {
17330                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17331                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17332                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17333             })
17334             Name (HPTF, Buffer (0x15)
17335             {
17336                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17337                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17338                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17339             })
17340             Name (HQTF, Buffer (0x1C)
17341             {
17342                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17343                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17344                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
17345                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17346             })
17347             Name (HXTF, Buffer (0x1C)
17348             {
17349                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17350                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17351                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
17352                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17353             })
17354             Name (DDTF, Buffer (0x0E)
17355             {
17356                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17357                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
17358             })
17359             CreateByteField (DDTF, 0x01, DTAT)
17360             CreateByteField (DDTF, 0x08, DTFT)
17361             Name (DGTF, Buffer (0x15)
17362             {
17363                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17364                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
17365                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17366             })
17367             CreateByteField (DGTF, 0x01, GTAT)
17368             CreateByteField (DGTF, 0x08, GTFT)
17369             Name (_ADR, 0x0001FFFF)  // _ADR: Address
17370             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
17371             {
17372                 DIP0 = 0x00
17373                 If ((SizeOf (Arg0) == 0x0200))
17374                 {
17375                     CreateWordField (Arg0, 0x9C, M078)
17376                     If ((\DPP1 && (M078 & 0x08)))
17377                     {
17378                         DIP0 = 0x01
17379                     }
17380 
17381                     CreateByteField (Arg0, 0x9D, BFDS)
17382                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT1.FDEV */
17383                     CreateByteField (Arg0, 0x9A, BFRP)
17384                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT1.FDRP */
17385                 }
17386             }
17387 
17388             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
17389             {
17390                 If (DIP0)
17391                 {
17392                     If ((((DVS1 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17393                         ((FDRP & 0x80) == 0x80)))
17394                     {
17395                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT1.HQTF */
17396                     }
17397                     Else
17398                     {
17399                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT1.HPTF */
17400                     }
17401                 }
17402                 Else
17403                 {
17404                     If ((((DVS1 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17405                         ((FDRP & 0x80) == 0x80)))
17406                     {
17407                         Return (HETF) /* \_SB_.PCI0.SAT1.PRT1.HETF */
17408                     }
17409                     Else
17410                     {
17411                         Return (HDTF) /* \_SB_.PCI0.SAT1.PRT1.HDTF */
17412                     }
17413                 }
17414             }
17415         }
17416 
17417         Device (PRT2)
17418         {
17419             Name (DIP0, 0x00)
17420             Name (FDEV, 0x00)
17421             Name (FDRP, 0x00)
17422             Name (HDTF, Buffer (0x0E)
17423             {
17424                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17425                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
17426             })
17427             Name (HETF, Buffer (0x15)
17428             {
17429                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17430                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
17431                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17432             })
17433             Name (ERTF, Buffer (0x15)
17434             {
17435                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17436                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17437                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17438             })
17439             Name (HPTF, Buffer (0x15)
17440             {
17441                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17442                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17443                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17444             })
17445             Name (HQTF, Buffer (0x1C)
17446             {
17447                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17448                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17449                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
17450                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17451             })
17452             Name (HXTF, Buffer (0x1C)
17453             {
17454                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17455                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17456                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
17457                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17458             })
17459             Name (DDTF, Buffer (0x0E)
17460             {
17461                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17462                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
17463             })
17464             CreateByteField (DDTF, 0x01, DTAT)
17465             CreateByteField (DDTF, 0x08, DTFT)
17466             Name (DGTF, Buffer (0x15)
17467             {
17468                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17469                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
17470                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17471             })
17472             CreateByteField (DGTF, 0x01, GTAT)
17473             CreateByteField (DGTF, 0x08, GTFT)
17474             Name (_ADR, 0x0002FFFF)  // _ADR: Address
17475             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
17476             {
17477                 DIP0 = 0x00
17478                 If ((SizeOf (Arg0) == 0x0200))
17479                 {
17480                     CreateWordField (Arg0, 0x9C, M078)
17481                     If ((\DPP2 && (M078 & 0x08)))
17482                     {
17483                         DIP0 = 0x01
17484                     }
17485 
17486                     CreateByteField (Arg0, 0x9D, BFDS)
17487                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT2.FDEV */
17488                     CreateByteField (Arg0, 0x9A, BFRP)
17489                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT2.FDRP */
17490                 }
17491             }
17492 
17493             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
17494             {
17495                 If (DIP0)
17496                 {
17497                     If ((((DVS2 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17498                         ((FDRP & 0x80) == 0x80)))
17499                     {
17500                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT2.HQTF */
17501                     }
17502                     Else
17503                     {
17504                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT2.HPTF */
17505                     }
17506                 }
17507                 Else
17508                 {
17509                     If ((((DVS2 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17510                         ((FDRP & 0x80) == 0x80)))
17511                     {
17512                         Return (HETF) /* \_SB_.PCI0.SAT1.PRT2.HETF */
17513                     }
17514                     Else
17515                     {
17516                         Return (HDTF) /* \_SB_.PCI0.SAT1.PRT2.HDTF */
17517                     }
17518                 }
17519             }
17520         }
17521 
17522         Device (PRT3)
17523         {
17524             Name (DIP0, 0x00)
17525             Name (FDEV, 0x00)
17526             Name (FDRP, 0x00)
17527             Name (HDTF, Buffer (0x0E)
17528             {
17529                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17530                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
17531             })
17532             Name (HETF, Buffer (0x15)
17533             {
17534                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17535                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
17536                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17537             })
17538             Name (ERTF, Buffer (0x15)
17539             {
17540                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17541                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17542                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17543             })
17544             Name (HPTF, Buffer (0x15)
17545             {
17546                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17547                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17548                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17549             })
17550             Name (HQTF, Buffer (0x1C)
17551             {
17552                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17553                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17554                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
17555                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17556             })
17557             Name (HXTF, Buffer (0x1C)
17558             {
17559                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17560                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17561                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
17562                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17563             })
17564             Name (DDTF, Buffer (0x0E)
17565             {
17566                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17567                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
17568             })
17569             CreateByteField (DDTF, 0x01, DTAT)
17570             CreateByteField (DDTF, 0x08, DTFT)
17571             Name (DGTF, Buffer (0x15)
17572             {
17573                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17574                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
17575                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17576             })
17577             CreateByteField (DGTF, 0x01, GTAT)
17578             CreateByteField (DGTF, 0x08, GTFT)
17579             Name (_ADR, 0x0003FFFF)  // _ADR: Address
17580             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
17581             {
17582                 DIP0 = 0x00
17583                 If ((SizeOf (Arg0) == 0x0200))
17584                 {
17585                     CreateWordField (Arg0, 0x9C, M078)
17586                     If ((\DPP3 && (M078 & 0x08)))
17587                     {
17588                         DIP0 = 0x01
17589                     }
17590 
17591                     CreateByteField (Arg0, 0x9D, BFDS)
17592                     ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT3.FDEV */
17593                     CreateByteField (Arg0, 0x9A, BFRP)
17594                     ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT3.FDRP */
17595                 }
17596             }
17597 
17598             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
17599             {
17600                 If (DIP0)
17601                 {
17602                     If ((((DVS3 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17603                         ((FDRP & 0x80) == 0x80)))
17604                     {
17605                         Return (HQTF) /* \_SB_.PCI0.SAT1.PRT3.HQTF */
17606                     }
17607                     Else
17608                     {
17609                         Return (HPTF) /* \_SB_.PCI0.SAT1.PRT3.HPTF */
17610                     }
17611                 }
17612                 Else
17613                 {
17614                     If ((((DVS3 == 0x01) && ((FDEV & 0x01) == 0x01)) && 
17615                         ((FDRP & 0x80) == 0x80)))
17616                     {
17617                         Return (HETF) /* \_SB_.PCI0.SAT1.PRT3.HETF */
17618                     }
17619                     Else
17620                     {
17621                         Return (HDTF) /* \_SB_.PCI0.SAT1.PRT3.HDTF */
17622                     }
17623                 }
17624             }
17625         }
17626 
17627         Device (PRT4)
17628         {
17629             Name (DIP0, 0x00)
17630             Name (HDTF, Buffer (0x0E)
17631             {
17632                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17633                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5               /* ...... */
17634             })
17635             Name (HETF, Buffer (0x15)
17636             {
17637                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17638                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09,  /* ........ */
17639                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17640             })
17641             Name (ERTF, Buffer (0x15)
17642             {
17643                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17644                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17645                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17646             })
17647             Name (HPTF, Buffer (0x15)
17648             {
17649                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17650                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17651                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17652             })
17653             Name (HQTF, Buffer (0x1C)
17654             {
17655                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17656                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,  /* ........ */
17657                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00,  /* ........ */
17658                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17659             })
17660             Name (HXTF, Buffer (0x1C)
17661             {
17662                 /* 0000 */  0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,  /* ........ */
17663                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,  /* ......_. */
17664                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,  /* ........ */
17665                 /* 0018 */  0x00, 0x00, 0xA0, 0xEF                           /* .... */
17666             })
17667             Name (DDTF, Buffer (0x0E)
17668             {
17669                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17670                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3               /* ...... */
17671             })
17672             CreateByteField (DDTF, 0x01, DTAT)
17673             CreateByteField (DDTF, 0x08, DTFT)
17674             Name (DGTF, Buffer (0x15)
17675             {
17676                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,  /* ........ */
17677                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,  /* ........ */
17678                 /* 0010 */  0x00, 0x00, 0x00, 0xA0, 0xEF                     /* ..... */
17679             })
17680             CreateByteField (DGTF, 0x01, GTAT)
17681             CreateByteField (DGTF, 0x08, GTFT)
17682             Name (_ADR, 0x0004FFFF)  // _ADR: Address
17683             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
17684             {
17685                 DIP0 = 0x00
17686                 If ((SizeOf (Arg0) == 0x0200))
17687                 {
17688                     CreateWordField (Arg0, 0x9C, M078)
17689                     If ((\DPP4 && (M078 & 0x08)))
17690                     {
17691                         DIP0 = 0x01
17692                     }
17693                 }
17694             }
17695 
17696             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
17697             {
17698                 If (DIP0)
17699                 {
17700                     Return (HPTF) /* \_SB_.PCI0.SAT1.PRT4.HPTF */
17701                 }
17702 
17703                 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT4.HDTF */
17704             }
17705         }
17706     }
17707 
17708     Scope (\_SB.PCI0.LPC.EC.BAT1)
17709     {
17710         Method (_Q4C, 0, NotSerialized)  // _Qxx: EC Query
17711         {
17712             \_SB.PCI0.LPC.EC.CLPM ()
17713             If (\_SB.PCI0.LPC.EC.HB1A)
17714             {
17715                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
17716             }
17717             Else
17718             {
17719                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
17720                 If (\_SB.PCI0.LPC.EC.BAT1.XB1S)
17721                 {
17722                     Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
17723                 }
17724             }
17725         }
17726 
17727         Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
17728         {
17729             If (Arg0)
17730             {
17731                 \_SB.PCI0.LPC.EC.BAT1.B1ST = 0x00
17732                 \_SB.PCI0.LPC.EC.BAT1.SBLI = 0x01
17733                 \_SB.PCI0.LPC.EC.BAT1.XB1S = 0x00
17734             }
17735         }
17736     }
17737 
17738     Scope (\_PR.CPU0)
17739     {
17740         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
17741         {
17742             Local0 = Zero
17743             Local0 = \_SB.PCI0.LPC.EC.LPMD ()
17744             If (!Local0)
17745             {
17746                 If (((\_SB.PCI0.LPC.EC.AC._PSR () && \TCFA) || (!\_SB.PCI0.LPC.EC.AC._PSR () && \TCFD)))
17747                 {
17748                     If ((\_SB.PCI0.LPC.EC.TSL0 & 0x76))
17749                     {
17750                         Local0 = \LWST
17751                     }
17752                 }
17753                 Else
17754                 {
17755                     If ((\_SB.PCI0.LPC.EC.TSL0 & 0x77))
17756                     {
17757                         Local0 = \LWST
17758                     }
17759                 }
17760 
17761                 If (!Local0)
17762                 {
17763                     If (\_PR.CLVL)
17764                     {
17765                         If (\PPCA)
17766                         {
17767                             Local0 = \PPCA
17768                         }
17769                     }
17770                     Else
17771                     {
17772                         If ((\PPCA || \FTPS))
17773                         {
17774                             If ((\FTPS <= \PPCA))
17775                             {
17776                                 Local0 = \PPCA
17777                             }
17778                             Else
17779                             {
17780                                 Local0 = \FTPS
17781                             }
17782                         }
17783                     }
17784                 }
17785             }
17786 
17787             If (\_PR.CLVL)
17788             {
17789                 If ((Local0 == Zero))
17790                 {
17791                     If ((\CTPR < \FTPS))
17792                     {
17793                         Local0 = \FTPS
17794                     }
17795                     Else
17796                     {
17797                         Local0 = \CTPR
17798                     }
17799                 }
17800                 Else
17801                 {
17802                     If ((\CTPR >= Local0))
17803                     {
17804                         Local0 = \CTPR
17805                         If ((\LWST > Local0))
17806                         {
17807                             Local0++
17808                         }
17809                     }
17810                 }
17811             }
17812 
17813             If ((\_SB.PCI0.PEG.VID.CPPC > Local0))
17814             {
17815                 Local0 = \_SB.PCI0.PEG.VID.CPPC
17816             }
17817 
17818             \PPCR = Local0
17819             Return (Local0)
17820         }
17821 
17822         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
17823         {
17824             If (\_PR.CLVL)
17825             {
17826                 \CTPR = \_PR.CPPC
17827             }
17828 
17829             If (((CFGD & One) && (PDC0 & One)))
17830             {
17831                 Return (Package (0x02)
17832                 {
17833                     ResourceTemplate ()
17834                     {
17835                         Register (FFixedHW, 
17836                             0x00,               // Bit Width
17837                             0x00,               // Bit Offset
17838                             0x0000000000000000, // Address
17839                             ,)
17840                     }, 
17841 
17842                     ResourceTemplate ()
17843                     {
17844                         Register (FFixedHW, 
17845                             0x00,               // Bit Width
17846                             0x00,               // Bit Offset
17847                             0x0000000000000000, // Address
17848                             ,)
17849                     }
17850                 })
17851             }
17852         }
17853 
17854         Name (_PSS, Package (0x10)  // _PSS: Performance Supported States
17855         {
17856             Package (0x06)
17857             {
17858                 0x00000A29, 
17859                 0x00003A98, 
17860                 0x0000000A, 
17861                 0x0000000A, 
17862                 0x00002400, 
17863                 0x00002400
17864             }, 
17865 
17866             Package (0x06)
17867             {
17868                 0x00000A28, 
17869                 0x00003A98, 
17870                 0x0000000A, 
17871                 0x0000000A, 
17872                 0x00001A00, 
17873                 0x00001A00
17874             }, 
17875 
17876             Package (0x06)
17877             {
17878                 0x000009C4, 
17879                 0x0000379C, 
17880                 0x0000000A, 
17881                 0x0000000A, 
17882                 0x00001900, 
17883                 0x00001900
17884             }, 
17885 
17886             Package (0x06)
17887             {
17888                 0x000008FC, 
17889                 0x000031D0, 
17890                 0x0000000A, 
17891                 0x0000000A, 
17892                 0x00001700, 
17893                 0x00001700
17894             }, 
17895 
17896             Package (0x06)
17897             {
17898                 0x00000834, 
17899                 0x00002C3D, 
17900                 0x0000000A, 
17901                 0x0000000A, 
17902                 0x00001500, 
17903                 0x00001500
17904             }, 
17905 
17906             Package (0x06)
17907             {
17908                 0x000007D0, 
17909                 0x0000298B, 
17910                 0x0000000A, 
17911                 0x0000000A, 
17912                 0x00001400, 
17913                 0x00001400
17914             }, 
17915 
17916             Package (0x06)
17917             {
17918                 0x00000708, 
17919                 0x000024D5, 
17920                 0x0000000A, 
17921                 0x0000000A, 
17922                 0x00001200, 
17923                 0x00001200
17924             }, 
17925 
17926             Package (0x06)
17927             {
17928                 0x000006A4, 
17929                 0x00002249, 
17930                 0x0000000A, 
17931                 0x0000000A, 
17932                 0x00001100, 
17933                 0x00001100
17934             }, 
17935 
17936             Package (0x06)
17937             {
17938                 0x000005DC, 
17939                 0x00001D5A, 
17940                 0x0000000A, 
17941                 0x0000000A, 
17942                 0x00000F00, 
17943                 0x00000F00
17944             }, 
17945 
17946             Package (0x06)
17947             {
17948                 0x00000578, 
17949                 0x00001AF6, 
17950                 0x0000000A, 
17951                 0x0000000A, 
17952                 0x00000E00, 
17953                 0x00000E00
17954             }, 
17955 
17956             Package (0x06)
17957             {
17958                 0x000004B0, 
17959                 0x000016D5, 
17960                 0x0000000A, 
17961                 0x0000000A, 
17962                 0x00000C00, 
17963                 0x00000C00
17964             }, 
17965 
17966             Package (0x06)
17967             {
17968                 0x0000044C, 
17969                 0x00001497, 
17970                 0x0000000A, 
17971                 0x0000000A, 
17972                 0x00000B00, 
17973                 0x00000B00
17974             }, 
17975 
17976             Package (0x06)
17977             {
17978                 0x00000384, 
17979                 0x00001042, 
17980                 0x0000000A, 
17981                 0x0000000A, 
17982                 0x00000900, 
17983                 0x00000900
17984             }, 
17985 
17986             Package (0x06)
17987             {
17988                 0x00000320, 
17989                 0x00000E2A, 
17990                 0x0000000A, 
17991                 0x0000000A, 
17992                 0x00000800, 
17993                 0x00000800
17994             }, 
17995 
17996             Package (0x06)
17997             {
17998                 0x00000258, 
17999                 0x00000A96, 
18000                 0x0000000A, 
18001                 0x0000000A, 
18002                 0x00000600, 
18003                 0x00000600
18004             }, 
18005 
18006             Package (0x06)
18007             {
18008                 0x000001F4, 
18009                 0x000008A2, 
18010                 0x0000000A, 
18011                 0x0000000A, 
18012                 0x00000500, 
18013                 0x00000500
18014             }
18015         })
18016         Package (0x06)
18017         {
18018             0x80000000, 
18019             0x80000000, 
18020             0x80000000, 
18021             0x80000000, 
18022             0x80000000, 
18023             0x80000000
18024         }
18025 
18026         Package (0x06)
18027         {
18028             0x80000000, 
18029             0x80000000, 
18030             0x80000000, 
18031             0x80000000, 
18032             0x80000000, 
18033             0x80000000
18034         }
18035 
18036         Package (0x06)
18037         {
18038             0x80000000, 
18039             0x80000000, 
18040             0x80000000, 
18041             0x80000000, 
18042             0x80000000, 
18043             0x80000000
18044         }
18045 
18046         Package (0x06)
18047         {
18048             0x80000000, 
18049             0x80000000, 
18050             0x80000000, 
18051             0x80000000, 
18052             0x80000000, 
18053             0x80000000
18054         }
18055 
18056         Package (0x06)
18057         {
18058             0x80000000, 
18059             0x80000000, 
18060             0x80000000, 
18061             0x80000000, 
18062             0x80000000, 
18063             0x80000000
18064         }
18065 
18066         Package (0x06)
18067         {
18068             0x80000000, 
18069             0x80000000, 
18070             0x80000000, 
18071             0x80000000, 
18072             0x80000000, 
18073             0x80000000
18074         }
18075 
18076         Package (0x06)
18077         {
18078             0x80000000, 
18079             0x80000000, 
18080             0x80000000, 
18081             0x80000000, 
18082             0x80000000, 
18083             0x80000000
18084         }
18085 
18086         Package (0x06)
18087         {
18088             0x80000000, 
18089             0x80000000, 
18090             0x80000000, 
18091             0x80000000, 
18092             0x80000000, 
18093             0x80000000
18094         }
18095 
18096         Package (0x06)
18097         {
18098             0x80000000, 
18099             0x80000000, 
18100             0x80000000, 
18101             0x80000000, 
18102             0x80000000, 
18103             0x80000000
18104         }
18105 
18106         Package (0x06)
18107         {
18108             0x80000000, 
18109             0x80000000, 
18110             0x80000000, 
18111             0x80000000, 
18112             0x80000000, 
18113             0x80000000
18114         }
18115 
18116         Package (0x06)
18117         {
18118             0x80000000, 
18119             0x80000000, 
18120             0x80000000, 
18121             0x80000000, 
18122             0x80000000, 
18123             0x80000000
18124         }
18125 
18126         Package (0x06)
18127         {
18128             0x80000000, 
18129             0x80000000, 
18130             0x80000000, 
18131             0x80000000, 
18132             0x80000000, 
18133             0x80000000
18134         }
18135 
18136         Package (0x06)
18137         {
18138             0x80000000, 
18139             0x80000000, 
18140             0x80000000, 
18141             0x80000000, 
18142             0x80000000, 
18143             0x80000000
18144         }
18145 
18146         Package (0x06)
18147         {
18148             0x80000000, 
18149             0x80000000, 
18150             0x80000000, 
18151             0x80000000, 
18152             0x80000000, 
18153             0x80000000
18154         }
18155 
18156         Package (0x06)
18157         {
18158             0x80000000, 
18159             0x80000000, 
18160             0x80000000, 
18161             0x80000000, 
18162             0x80000000, 
18163             0x80000000
18164         }
18165 
18166         Package (0x06)
18167         {
18168             0x80000000, 
18169             0x80000000, 
18170             0x80000000, 
18171             0x80000000, 
18172             0x80000000, 
18173             0x80000000
18174         }
18175 
18176         Name (PSDF, Zero)
18177         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
18178         {
18179             If (!PSDF)
18180             {
18181                 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
18182                 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
18183                 PSDF = Ones
18184             }
18185 
18186             If ((PDC0 & 0x0800))
18187             {
18188                 Return (HPSD) /* \_PR_.CPU0.HPSD */
18189             }
18190 
18191             Return (SPSD) /* \_PR_.CPU0.SPSD */
18192         }
18193 
18194         Name (HPSD, Package (0x01)
18195         {
18196             Package (0x05)
18197             {
18198                 0x05, 
18199                 Zero, 
18200                 Zero, 
18201                 0xFE, 
18202                 0x80
18203             }
18204         })
18205         Name (SPSD, Package (0x01)
18206         {
18207             Package (0x05)
18208             {
18209                 0x05, 
18210                 Zero, 
18211                 Zero, 
18212                 0xFC, 
18213                 0x80
18214             }
18215         })
18216     }
18217 
18218     Scope (\)
18219     {
18220         Name (SSDT, Package (0x0C)
18221         {
18222             "CPU0IST ", 
18223             0xA4B86918, 
18224             0x000006C5, 
18225             "APIST   ", 
18226             0xACBCA618, 
18227             0x000005AA, 
18228             "CPU0CST ", 
18229             0xACBC9918, 
18230             0x00000436, 
18231             "APCST   ", 
18232             0xACBC8D98, 
18233             0x00000119
18234         })
18235         Name (\PDC0, 0x80000000)
18236         Name (\PDC1, 0x80000000)
18237         Name (\PDC2, 0x80000000)
18238         Name (\PDC3, 0x80000000)
18239         Name (\PDC4, 0x80000000)
18240         Name (\PDC5, 0x80000000)
18241         Name (\PDC6, 0x80000000)
18242         Name (\PDC7, 0x80000000)
18243         Name (\SDTL, Zero)
18244     }
18245 
18246     Scope (\_PR)
18247     {
18248         OperationRegion (PNVS, SystemMemory, 0xACD6AF98, 0x0053)
18249         Field (PNVS, AnyAcc, Lock, Preserve)
18250         {
18251             PGRV,   8, 
18252             CFGD,   32, 
18253             Offset (0x06), 
18254             ACRT,   8, 
18255             APSV,   8, 
18256             AAC0,   8, 
18257             CPID,   32, 
18258             CPPC,   8, 
18259             CCTP,   8, 
18260             CLVL,   8, 
18261             CBMI,   8, 
18262             PL10,   16, 
18263             PL20,   16, 
18264             PLW0,   8, 
18265             CTC0,   8, 
18266             TAR0,   8, 
18267             PPC0,   8, 
18268             PL11,   16, 
18269             PL21,   16, 
18270             PLW1,   8, 
18271             CTC1,   8, 
18272             TAR1,   8, 
18273             PPC1,   8, 
18274             PL12,   16, 
18275             PL22,   16, 
18276             PLW2,   8, 
18277             CTC2,   8, 
18278             TAR2,   8, 
18279             PPC2,   8, 
18280             C3MW,   8, 
18281             C6MW,   8, 
18282             C7MW,   8, 
18283             CDMW,   8, 
18284             C3LT,   16, 
18285             C6LT,   16, 
18286             C7LT,   16, 
18287             CDLT,   16, 
18288             CDLV,   16, 
18289             CDPW,   16, 
18290             MPMF,   8, 
18291             DTSE,   8, 
18292             DTS1,   8, 
18293             DTS2,   8, 
18294             DTSF,   8, 
18295             PDTS,   8, 
18296             PKGA,   8, 
18297             DTS3,   8, 
18298             DTS4,   8, 
18299             BGMA,   64, 
18300             BGMS,   8, 
18301             BGIA,   16, 
18302             BGIL,   16, 
18303             DSIA,   16, 
18304             DSIL,   8, 
18305             DSAE,   8
18306         }
18307 
18308         OperationRegion (IO_D, SystemIO, \_PR.DSIA, \_PR.DSIL)
18309         Field (IO_D, ByteAcc, NoLock, Preserve)
18310         {
18311             TRPD,   8
18312         }
18313 
18314         OperationRegion (IO_P, SystemIO, \_PR.BGIA, \_PR.BGIL)
18315         Field (IO_P, ByteAcc, NoLock, Preserve)
18316         {
18317             TRPF,   8
18318         }
18319     }
18320 
18321     Scope (\_PR.CPU0)
18322     {
18323         Name (HI0, Zero)
18324         Name (HC0, Zero)
18325         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18326         {
18327             If (CondRefOf (\_PR.CPU0._PPC))
18328             {
18329                 \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */
18330             }
18331 
18332             Local0 = CPDC (Arg0)
18333             GCAP (Local0)
18334             Return (Local0)
18335         }
18336 
18337         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18338         {
18339             Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
18340             GCAP (Local0)
18341             Return (Local0)
18342         }
18343 
18344         Method (CPDC, 1, NotSerialized)
18345         {
18346             CreateDWordField (Arg0, Zero, REVS)
18347             CreateDWordField (Arg0, 0x04, SIZE)
18348             Local0 = SizeOf (Arg0)
18349             Local1 = (Local0 - 0x08)
18350             CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
18351             Name (STS0, Buffer (0x04)
18352             {
18353                  0x00, 0x00, 0x00, 0x00                           /* .... */
18354             })
18355             Concatenate (STS0, TEMP, Local2)
18356             Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
18357         }
18358 
18359         Method (COSC, 4, NotSerialized)
18360         {
18361             CreateDWordField (Arg3, Zero, STS0)
18362             CreateDWordField (Arg3, 0x04, CAP0)
18363             CreateDWordField (Arg0, Zero, IID0)
18364             CreateDWordField (Arg0, 0x04, IID1)
18365             CreateDWordField (Arg0, 0x08, IID2)
18366             CreateDWordField (Arg0, 0x0C, IID3)
18367             Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
18368             CreateDWordField (UID0, Zero, EID0)
18369             CreateDWordField (UID0, 0x04, EID1)
18370             CreateDWordField (UID0, 0x08, EID2)
18371             CreateDWordField (UID0, 0x0C, EID3)
18372             If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
18373                 IID2 == EID2) && (IID3 == EID3))))
18374             {
18375                 STS0 = 0x06
18376                 Return (Arg3)
18377             }
18378 
18379             If ((Arg1 != One))
18380             {
18381                 STS0 = 0x0A
18382                 Return (Arg3)
18383             }
18384 
18385             Return (Arg3)
18386         }
18387 
18388         Method (GCAP, 1, NotSerialized)
18389         {
18390             CreateDWordField (Arg0, Zero, STS0)
18391             CreateDWordField (Arg0, 0x04, CAP0)
18392             If (((STS0 == 0x06) || (STS0 == 0x0A)))
18393             {
18394                 Return (Zero)
18395             }
18396 
18397             If ((STS0 & One))
18398             {
18399                 CAP0 &= 0x0BFF
18400                 Return (Zero)
18401             }
18402 
18403             PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
18404             If ((CFGD & 0x7A))
18405             {
18406                 If ((((CFGD & 0x0200) && (PDC0 & 0x18)) && !
18407                     (SDTL & 0x02)))
18408                 {
18409                     SDTL |= 0x02
18410                     OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
18411                     Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
18412                 }
18413             }
18414 
18415             Return (Zero)
18416         }
18417     }
18418 
18419     Scope (\_PR.CPU1)
18420     {
18421         Name (HI1, Zero)
18422         Name (HC1, Zero)
18423         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18424         {
18425             Local0 = \_PR.CPU0.CPDC (Arg0)
18426             GCAP (Local0)
18427             Return (Local0)
18428         }
18429 
18430         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18431         {
18432             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18433             GCAP (Local0)
18434             Return (Local0)
18435         }
18436 
18437         Method (GCAP, 1, NotSerialized)
18438         {
18439             CreateDWordField (Arg0, Zero, STS1)
18440             CreateDWordField (Arg0, 0x04, CAP1)
18441             If (((STS1 == 0x06) || (STS1 == 0x0A)))
18442             {
18443                 Return (Zero)
18444             }
18445 
18446             If ((STS1 & One))
18447             {
18448                 CAP1 &= 0x0BFF
18449                 Return (Zero)
18450             }
18451 
18452             PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
18453             If (((PDC1 & 0x09) == 0x09))
18454             {
18455                 APPT ()
18456             }
18457 
18458             If ((PDC1 & 0x18))
18459             {
18460                 APCT ()
18461             }
18462 
18463             PDC0 = PDC1 /* \PDC1 */
18464             Return (Zero)
18465         }
18466 
18467         Method (APCT, 0, NotSerialized)
18468         {
18469             If (((CFGD & 0x7A) && !(SDTL & 0x20)))
18470             {
18471                 SDTL |= 0x20
18472                 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
18473                 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
18474             }
18475         }
18476 
18477         Method (APPT, 0, NotSerialized)
18478         {
18479             If (((CFGD & One) && !(SDTL & 0x10)))
18480             {
18481                 SDTL |= 0x10
18482                 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
18483                 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
18484             }
18485         }
18486     }
18487 
18488     Scope (\_PR.CPU2)
18489     {
18490         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18491         {
18492             Local0 = \_PR.CPU0.CPDC (Arg0)
18493             GCAP (Local0)
18494             Return (Local0)
18495         }
18496 
18497         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18498         {
18499             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18500             GCAP (Local0)
18501             Return (Local0)
18502         }
18503 
18504         Method (GCAP, 1, NotSerialized)
18505         {
18506             CreateDWordField (Arg0, Zero, STS2)
18507             CreateDWordField (Arg0, 0x04, CAP2)
18508             If (((STS2 == 0x06) || (STS2 == 0x0A)))
18509             {
18510                 Return (Zero)
18511             }
18512 
18513             If ((STS2 & One))
18514             {
18515                 CAP2 &= 0x0BFF
18516                 Return (Zero)
18517             }
18518 
18519             PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
18520             If (((PDC2 & 0x09) == 0x09))
18521             {
18522                 \_PR.CPU1.APPT ()
18523             }
18524 
18525             If ((PDC2 & 0x18))
18526             {
18527                 \_PR.CPU1.APCT ()
18528             }
18529 
18530             PDC0 = PDC2 /* \PDC2 */
18531             Return (Zero)
18532         }
18533     }
18534 
18535     Scope (\_PR.CPU3)
18536     {
18537         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18538         {
18539             Local0 = \_PR.CPU0.CPDC (Arg0)
18540             GCAP (Local0)
18541             Return (Local0)
18542         }
18543 
18544         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18545         {
18546             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18547             GCAP (Local0)
18548             Return (Local0)
18549         }
18550 
18551         Method (GCAP, 1, NotSerialized)
18552         {
18553             CreateDWordField (Arg0, Zero, STS3)
18554             CreateDWordField (Arg0, 0x04, CAP3)
18555             If (((STS3 == 0x06) || (STS3 == 0x0A)))
18556             {
18557                 Return (Zero)
18558             }
18559 
18560             If ((STS3 & One))
18561             {
18562                 CAP3 &= 0x0BFF
18563                 Return (Zero)
18564             }
18565 
18566             PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
18567             If (((PDC3 & 0x09) == 0x09))
18568             {
18569                 \_PR.CPU1.APPT ()
18570             }
18571 
18572             If ((PDC3 & 0x18))
18573             {
18574                 \_PR.CPU1.APCT ()
18575             }
18576 
18577             PDC0 = PDC3 /* \PDC3 */
18578             Return (Zero)
18579         }
18580     }
18581 
18582     Scope (\_PR.CPU4)
18583     {
18584         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18585         {
18586             Local0 = \_PR.CPU0.CPDC (Arg0)
18587             GCAP (Local0)
18588             Return (Local0)
18589         }
18590 
18591         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18592         {
18593             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18594             GCAP (Local0)
18595             Return (Local0)
18596         }
18597 
18598         Method (GCAP, 1, NotSerialized)
18599         {
18600             CreateDWordField (Arg0, Zero, STS4)
18601             CreateDWordField (Arg0, 0x04, CAP4)
18602             If (((STS4 == 0x06) || (STS4 == 0x0A)))
18603             {
18604                 Return (Zero)
18605             }
18606 
18607             If ((STS4 & One))
18608             {
18609                 CAP4 &= 0x0BFF
18610                 Return (Zero)
18611             }
18612 
18613             PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
18614             If (((PDC4 & 0x09) == 0x09))
18615             {
18616                 \_PR.CPU1.APPT ()
18617             }
18618 
18619             If ((PDC4 & 0x18))
18620             {
18621                 \_PR.CPU1.APCT ()
18622             }
18623 
18624             PDC0 = PDC4 /* \PDC4 */
18625             Return (Zero)
18626         }
18627     }
18628 
18629     Scope (\_PR.CPU5)
18630     {
18631         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18632         {
18633             Local0 = \_PR.CPU0.CPDC (Arg0)
18634             GCAP (Local0)
18635             Return (Local0)
18636         }
18637 
18638         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18639         {
18640             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18641             GCAP (Local0)
18642             Return (Local0)
18643         }
18644 
18645         Method (GCAP, 1, NotSerialized)
18646         {
18647             CreateDWordField (Arg0, Zero, STS5)
18648             CreateDWordField (Arg0, 0x04, CAP5)
18649             If (((STS5 == 0x06) || (STS5 == 0x0A)))
18650             {
18651                 Return (Zero)
18652             }
18653 
18654             If ((STS5 & One))
18655             {
18656                 CAP5 &= 0x0BFF
18657                 Return (Zero)
18658             }
18659 
18660             PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
18661             If (((PDC5 & 0x09) == 0x09))
18662             {
18663                 \_PR.CPU1.APPT ()
18664             }
18665 
18666             If ((PDC5 & 0x18))
18667             {
18668                 \_PR.CPU1.APCT ()
18669             }
18670 
18671             PDC0 = PDC5 /* \PDC5 */
18672             Return (Zero)
18673         }
18674     }
18675 
18676     Scope (\_PR.CPU6)
18677     {
18678         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18679         {
18680             Local0 = \_PR.CPU0.CPDC (Arg0)
18681             GCAP (Local0)
18682             Return (Local0)
18683         }
18684 
18685         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18686         {
18687             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18688             GCAP (Local0)
18689             Return (Local0)
18690         }
18691 
18692         Method (GCAP, 1, NotSerialized)
18693         {
18694             CreateDWordField (Arg0, Zero, STS6)
18695             CreateDWordField (Arg0, 0x04, CAP6)
18696             If (((STS6 == 0x06) || (STS6 == 0x0A)))
18697             {
18698                 Return (Zero)
18699             }
18700 
18701             If ((STS6 & One))
18702             {
18703                 CAP6 &= 0x0BFF
18704                 Return (Zero)
18705             }
18706 
18707             PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
18708             If (((PDC6 & 0x09) == 0x09))
18709             {
18710                 \_PR.CPU1.APPT ()
18711             }
18712 
18713             If ((PDC6 & 0x18))
18714             {
18715                 \_PR.CPU1.APCT ()
18716             }
18717 
18718             PDC0 = PDC6 /* \PDC6 */
18719             Return (Zero)
18720         }
18721     }
18722 
18723     Scope (\_PR.CPU7)
18724     {
18725         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
18726         {
18727             Local0 = \_PR.CPU0.CPDC (Arg0)
18728             GCAP (Local0)
18729             Return (Local0)
18730         }
18731 
18732         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
18733         {
18734             Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
18735             GCAP (Local0)
18736             Return (Local0)
18737         }
18738 
18739         Method (GCAP, 1, NotSerialized)
18740         {
18741             CreateDWordField (Arg0, Zero, STS7)
18742             CreateDWordField (Arg0, 0x04, CAP7)
18743             If (((STS7 == 0x06) || (STS7 == 0x0A)))
18744             {
18745                 Return (Zero)
18746             }
18747 
18748             If ((STS7 & One))
18749             {
18750                 CAP7 &= 0x0BFF
18751                 Return (Zero)
18752             }
18753 
18754             PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
18755             If (((PDC7 & 0x09) == 0x09))
18756             {
18757                 \_PR.CPU1.APPT ()
18758             }
18759 
18760             If ((PDC7 & 0x18))
18761             {
18762                 \_PR.CPU1.APCT ()
18763             }
18764 
18765             PDC0 = PDC7 /* \PDC7 */
18766             Return (Zero)
18767         }
18768     }
18769 
18770     Scope (\_SB.PCI0)
18771     {
18772         OperationRegion (MBAR, SystemMemory, 0xFED15000, 0x1000)
18773         Field (MBAR, ByteAcc, NoLock, Preserve)
18774         {
18775             Offset (0x930), 
18776             PTDP,   15, 
18777             Offset (0x932), 
18778             PMIN,   15, 
18779             Offset (0x934), 
18780             PMAX,   15, 
18781             Offset (0x936), 
18782             TMAX,   7, 
18783             Offset (0x938), 
18784             PWRU,   4, 
18785             Offset (0x939), 
18786             EGYU,   5, 
18787             Offset (0x93A), 
18788             TIMU,   4, 
18789             Offset (0x958), 
18790             Offset (0x95C), 
18791             LPMS,   1, 
18792             CTNL,   2, 
18793             Offset (0x9A0), 
18794             PPL1,   15, 
18795             PL1E,   1, 
18796                 ,   1, 
18797             PL1T,   7, 
18798             Offset (0x9A4), 
18799             PPL2,   15, 
18800             PL2E,   1, 
18801                 ,   1, 
18802             PL2T,   7, 
18803             Offset (0xF3C), 
18804             TARN,   8, 
18805             Offset (0xF40), 
18806             PTD1,   15, 
18807             Offset (0xF42), 
18808             TAR1,   8, 
18809             Offset (0xF44), 
18810             PMX1,   15, 
18811             Offset (0xF46), 
18812             PMN1,   15, 
18813             Offset (0xF48), 
18814             PTD2,   15, 
18815             Offset (0xF4A), 
18816             TAR2,   8, 
18817             Offset (0xF4C), 
18818             PMX2,   15, 
18819             Offset (0xF4E), 
18820             PMN2,   15, 
18821             Offset (0xF50), 
18822             CTCL,   2, 
18823                 ,   29, 
18824             CLCK,   1, 
18825             TAR,    8
18826         }
18827 
18828         Method (CTCU, 0, NotSerialized)
18829         {
18830             PPL1 = PTD2 /* \_SB_.PCI0.PTD2 */
18831             PL1E = One
18832             \CTPC = One
18833             If ((Zero == \FTPS))
18834             {
18835                 \CTPR = \CTPC
18836             }
18837             Else
18838             {
18839                 If ((\CTPR == \FTPS))
18840                 {
18841                     \CTPR = \CTPC
18842                     \FTPS = \CTPC
18843                 }
18844                 Else
18845                 {
18846                     \CTPR = \CTPC
18847                     \FTPS = \CTPC
18848                     \FTPS++
18849                 }
18850             }
18851 
18852             \PNTF (0x80)
18853             TAR = (TAR2 - One)
18854             CTCL = 0x02
18855         }
18856 
18857         Method (CTCN, 0, NotSerialized)
18858         {
18859             If ((CTCL == One))
18860             {
18861                 PPL1 = PTDP /* \_SB_.PCI0.PTDP */
18862                 PL1E = One
18863                 NPPC (TARN)
18864                 TAR = (TARN - One)
18865                 CTCL = Zero
18866             }
18867             Else
18868             {
18869                 If ((CTCL == 0x02))
18870                 {
18871                     CTCL = Zero
18872                     TAR = (TARN - One)
18873                     NPPC (TARN)
18874                     PPL1 = PTDP /* \_SB_.PCI0.PTDP */
18875                     PL1E = One
18876                 }
18877             }
18878         }
18879 
18880         Method (CTCD, 0, NotSerialized)
18881         {
18882             CTCL = One
18883             TAR = (TAR1 - One)
18884             NPPC (TAR1)
18885             PPL1 = PTD1 /* \_SB_.PCI0.PTD1 */
18886             PL1E = One
18887         }
18888 
18889         Method (NPPC, 1, NotSerialized)
18890         {
18891             Name (TRAT, Zero)
18892             Name (PRAT, Zero)
18893             Name (TMPI, Zero)
18894             TRAT = Arg0
18895             TMPI = SizeOf (\_PR.CPU0._PSS)
18896             While ((TMPI != Zero))
18897             {
18898                 TMPI--
18899                 PRAT = DerefOf (Index (DerefOf (Index (\_PR.CPU0._PSS, TMPI)), 0x04))
18900                 PRAT >>= 0x08
18901                 If ((PRAT >= TRAT))
18902                 {
18903                     \CTPC = TMPI /* \_SB_.PCI0.NPPC.TMPI */
18904                     If ((Zero == \FTPS))
18905                     {
18906                         \CTPR = \CTPC
18907                     }
18908                     Else
18909                     {
18910                         If ((\CTPR == \FTPS))
18911                         {
18912                             \CTPR = \CTPC
18913                             \FTPS = \CTPC
18914                         }
18915                         Else
18916                         {
18917                             \CTPR = \CTPC
18918                             \FTPS = \CTPC
18919                             \FTPS++
18920                         }
18921                     }
18922 
18923                     \PNTF (0x80)
18924                     Break
18925                 }
18926             }
18927         }
18928 
18929         Method (CLC2, 1, Serialized)
18930         {
18931             Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
18932             Local0 = (PNHM & 0x0FFF0FF0)
18933             While (One)
18934             {
18935                 _T_0 = Local0
18936                 If ((_T_0 == 0x000306C0))
18937                 {
18938                     Return (((Arg0 * 0x05) / 0x04))
18939                 }
18940                 Else
18941                 {
18942                     If ((_T_0 == 0x00040650))
18943                     {
18944                         Return (0xC8)
18945                     }
18946                     Else
18947                     {
18948                         Return (((Arg0 * 0x05) / 0x04))
18949                     }
18950                 }
18951 
18952                 Break
18953             }
18954         }
18955     }
18956 
18957     OperationRegion (SANV, SystemMemory, 0xACD67E18, 0x015B)
18958     Field (SANV, AnyAcc, Lock, Preserve)
18959     {
18960         SARV,   32, 
18961         ASLB,   32, 
18962         IMON,   8, 
18963         IGDS,   8, 
18964         CADL,   8, 
18965         PADL,   8, 
18966         CSTE,   16, 
18967         NSTE,   16, 
18968         DID9,   32, 
18969         DIDA,   32, 
18970         DIDB,   32, 
18971         IBTT,   8, 
18972         IPAT,   8, 
18973         IPSC,   8, 
18974         IBLC,   8, 
18975         IBIA,   8, 
18976         ISSC,   8, 
18977         IPCF,   8, 
18978         IDMS,   8, 
18979         IF1E,   8, 
18980         HVCO,   8, 
18981         NXD1,   32, 
18982         NXD2,   32, 
18983         NXD3,   32, 
18984         NXD4,   32, 
18985         NXD5,   32, 
18986         NXD6,   32, 
18987         NXD7,   32, 
18988         NXD8,   32, 
18989         GSMI,   8, 
18990         PAVP,   8, 
18991         Offset (0x49), 
18992         KSV0,   32, 
18993         KSV1,   8, 
18994         BLCS,   8, 
18995         BRTL,   8, 
18996         ALSE,   8, 
18997         ALAF,   8, 
18998         LLOW,   8, 
18999         LHIH,   8, 
19000         ALFP,   8, 
19001         AUDA,   32, 
19002         AUD3,   32, 
19003         DIDC,   32, 
19004         DIDD,   32, 
19005         DIDE,   32, 
19006         DIDF,   32, 
19007         CADR,   32, 
19008         CCNT,   8, 
19009         Offset (0xC8), 
19010         SGMD,   8, 
19011         SGFL,   8, 
19012         PWOK,   8, 
19013         HLRS,   8, 
19014         PWEN,   8, 
19015         PRST,   8, 
19016         CPSP,   32, 
19017         EECP,   8, 
19018         EVCP,   16, 
19019         XBAS,   32, 
19020         GBAS,   16, 
19021         SGGP,   8, 
19022         NVGA,   32, 
19023         NVHA,   32, 
19024         AMDA,   32, 
19025         NDID,   8, 
19026         DID1,   32, 
19027         DID2,   32, 
19028         DID3,   32, 
19029         DID4,   32, 
19030         DID5,   32, 
19031         DID6,   32, 
19032         DID7,   32, 
19033         DID8,   32, 
19034         OBS1,   32, 
19035         OBS2,   32, 
19036         OBS3,   32, 
19037         OBS4,   32, 
19038         OBS5,   32, 
19039         OBS6,   32, 
19040         OBS7,   32, 
19041         OBS8,   32, 
19042         LTRA,   8, 
19043         OBFA,   8, 
19044         LTRB,   8, 
19045         OBFB,   8, 
19046         LTRC,   8, 
19047         OBFC,   8, 
19048         SMSL,   16, 
19049         SNSL,   16, 
19050         P0UB,   8, 
19051         P1UB,   8, 
19052         P2UB,   8, 
19053         EDPV,   8, 
19054         NXDX,   32, 
19055         DIDX,   32, 
19056         PCSL,   8, 
19057         SC7A,   8
19058     }
19059 
19060     Scope (\_SB.PCI0.B0D3)
19061     {
19062         Name (BARA, 0x80000000)
19063         Name (BBAR, Zero)
19064         Name (TBAR, Zero)
19065         Name (TCMD, Zero)
19066         Name (MODB, Zero)
19067         Name (MODC, Zero)
19068         Method (_STA, 0, NotSerialized)  // _STA: Status
19069         {
19070             If ((AUVD != 0xFFFF))
19071             {
19072                 Return (0x0F)
19073             }
19074 
19075             Return (Zero)
19076         }
19077 
19078         Method (_INI, 0, NotSerialized)  // _INI: Initialize
19079         {
19080             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19081                 ABAR & 0xFFFFC000) != Zero)))
19082             {
19083                 BARA = ABAR /* \_SB_.PCI0.B0D3.ABAR */
19084                 If ((ABAH != Zero))
19085                 {
19086                     BARA |= (ABAH << 0x20)
19087                 }
19088             }
19089         }
19090 
19091         OperationRegion (RPCS, SystemMemory, \XBAS, 0x00018040)
19092         Field (RPCS, AnyAcc, NoLock, Preserve)
19093         {
19094             Offset (0x18004), 
19095             ACMD,   8, 
19096             Offset (0x18010), 
19097             ABAR,   32, 
19098             ABAH,   32
19099         }
19100 
19101         OperationRegion (RPCZ, PCI_Config, Zero, 0x40)
19102         Field (RPCZ, DWordAcc, Lock, Preserve)
19103         {
19104             AUVD,   16
19105         }
19106 
19107         Method (ASTR, 0, NotSerialized)
19108         {
19109             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19110                 ABAR & 0xFFFFC000) != Zero)))
19111             {
19112                 BBAR = Zero
19113                 BBAR = (ABAR & 0xFFFFFFF0)
19114                 If ((ABAH != Zero))
19115                 {
19116                     BBAR |= (ABAH << 0x20)
19117                 }
19118 
19119                 BBAR += 0x1000
19120                 OperationRegion (RPCY, SystemMemory, BBAR, 0x25)
19121                 Field (RPCY, DWordAcc, NoLock, Preserve)
19122                 {
19123                     Offset (0x0C), 
19124                     EM4W,   32, 
19125                     EMWA,   32, 
19126                     Offset (0x1C), 
19127                     ADWA,   32
19128                 }
19129 
19130                 EMWA = AUDA /* \AUDA */
19131                 EM4W = AUD3 /* \AUD3 */
19132             }
19133         }
19134 
19135         Method (VSTR, 1, NotSerialized)
19136         {
19137             Name (CONT, 0x03E8)
19138             Name (ADDR, 0x80000000)
19139             ADDR = Arg0
19140             OperationRegion (CCDC, SystemMemory, ADDR, 0x04)
19141             Field (CCDC, ByteAcc, NoLock, Preserve)
19142             {
19143                 CDEC,   32
19144             }
19145 
19146             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19147                 ABAR & 0xFFFFC000) != Zero)))
19148             {
19149                 If ((CDEC != Zero))
19150                 {
19151                     BBAR = Zero
19152                     BBAR = (ABAR & 0xFFFFFFF0)
19153                     If ((ABAH != Zero))
19154                     {
19155                         BBAR |= (ABAH << 0x20)
19156                     }
19157 
19158                     OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
19159                     Field (IPCV, DWordAcc, NoLock, Preserve)
19160                     {
19161                         Offset (0x60), 
19162                         AVIC,   32, 
19163                         Offset (0x68), 
19164                         AIRS,   16
19165                     }
19166 
19167                     CONT = 0x03E8
19168                     While ((((AIRS & One) == One) && (CONT != Zero)))
19169                     {
19170                         Stall (One)
19171                         CONT--
19172                     }
19173 
19174                     AIRS |= 0x02
19175                     AVIC = CDEC /* \_SB_.PCI0.B0D3.VSTR.CDEC */
19176                     AIRS |= One
19177                     CONT = 0x03E8
19178                     While ((((AIRS & One) == One) && (CONT != Zero)))
19179                     {
19180                         Stall (One)
19181                         CONT--
19182                     }
19183                 }
19184             }
19185         }
19186 
19187         Method (CXDC, 0, NotSerialized)
19188         {
19189             Name (IDDX, 0x80000000)
19190             If (((CADR != Zero) && (CCNT != Zero)))
19191             {
19192                 IDDX = CADR /* \CADR */
19193                 While ((IDDX < (CADR + (CCNT * 0x04))))
19194                 {
19195                     VSTR (IDDX)
19196                     IDDX += 0x04
19197                 }
19198             }
19199         }
19200 
19201         Method (ARST, 0, NotSerialized)
19202         {
19203             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19204                 ABAR & 0xFFFFC000) != Zero)))
19205             {
19206                 BBAR = (ABAR & 0xFFFFFFF0)
19207                 OperationRegion (IPCV, SystemMemory, BBAR, 0xBF)
19208                 Field (IPCV, AnyAcc, NoLock, Preserve)
19209                 {
19210                     Offset (0x08), 
19211                     CRST,   32, 
19212                     Offset (0x4C), 
19213                     CORB,   32, 
19214                     Offset (0x5C), 
19215                     RIRB,   32, 
19216                     Offset (0x80), 
19217                     OSD1,   32, 
19218                     Offset (0xA0), 
19219                     OSD2,   32
19220                 }
19221 
19222                 CORB &= 0xFFFFFFFD
19223                 RIRB &= 0xFFFFFFFD
19224                 OSD1 &= 0xFFFFFFFD
19225                 OSD2 &= 0xFFFFFFFD
19226                 CRST &= 0xFFFFFFFE
19227             }
19228         }
19229 
19230         Method (AINI, 0, NotSerialized)
19231         {
19232             Name (CONT, 0x03E8)
19233             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19234                 ABAR & 0xFFFFC000) != Zero)))
19235             {
19236                 BBAR = Zero
19237                 BBAR = (ABAR & 0xFFFFFFF0)
19238                 If ((ABAH != Zero))
19239                 {
19240                     BBAR |= (ABAH << 0x20)
19241                 }
19242 
19243                 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
19244                 Field (IPCV, DWordAcc, NoLock, Preserve)
19245                 {
19246                     GCAP,   16, 
19247                     Offset (0x08), 
19248                     GCTL,   32, 
19249                     Offset (0x0E), 
19250                     SSTS,   8, 
19251                     Offset (0x60), 
19252                     AVIC,   32, 
19253                     Offset (0x68), 
19254                     AIRS,   16
19255                 }
19256 
19257                 GCTL |= One
19258                 CONT = 0x03E8
19259                 While ((((GCTL & One) == Zero) && (CONT != Zero)))
19260                 {
19261                     Stall (One)
19262                     CONT--
19263                 }
19264 
19265                 GCAP &= 0xFFFF
19266                 SSTS |= 0x0F
19267                 GCTL &= 0xFFFFFFFE
19268                 CONT = 0x03E8
19269                 While ((((GCTL & One) == One) && (CONT != Zero)))
19270                 {
19271                     Stall (One)
19272                     CONT--
19273                 }
19274 
19275                 GCTL |= One
19276                 CONT = 0x03E8
19277                 While ((((GCTL & One) == Zero) && (CONT != Zero)))
19278                 {
19279                     Stall (One)
19280                     CONT--
19281                 }
19282             }
19283         }
19284 
19285         Method (ABWA, 1, NotSerialized)
19286         {
19287             If (Arg0)
19288             {
19289                 If ((((ABAR & 0xFFFFC004) == 0xFFFFC004) || ((ABAR & 0xFFFFC000
19290                     ) == Zero)))
19291                 {
19292                     If ((BARA != 0x80000000))
19293                     {
19294                         TBAR = ABAR /* \_SB_.PCI0.B0D3.ABAR */
19295                         TBAR |= (ABAH << 0x20)
19296                         TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
19297                         ABAH = (BARA >> 0x20)
19298                         ABAR = BARA /* \_SB_.PCI0.B0D3.BARA */
19299                         ACMD = 0x06
19300                         MODB = One
19301                     }
19302                 }
19303                 Else
19304                 {
19305                     If (((ACMD & 0x06) != 0x06))
19306                     {
19307                         TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
19308                         ACMD = 0x06
19309                         MODC = One
19310                     }
19311                 }
19312             }
19313             Else
19314             {
19315                 If (MODB)
19316                 {
19317                     If ((ABAR == BARA))
19318                     {
19319                         ABAR = TBAR /* \_SB_.PCI0.B0D3.TBAR */
19320                         ABAH = (TBAR >> 0x20)
19321                         ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
19322                     }
19323                 }
19324 
19325                 If (MODC)
19326                 {
19327                     ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
19328                 }
19329             }
19330         }
19331 
19332         Method (DCCC, 1, NotSerialized)
19333         {
19334             If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
19335                 ABAR & 0xFFFFC000) != Zero)))
19336             {
19337                 BBAR = (ABAR & 0xFFFFFFF0)
19338                 OperationRegion (IPCV, SystemMemory, BBAR, 0x1020)
19339                 Field (IPCV, AnyAcc, NoLock, Preserve)
19340                 {
19341                     Offset (0x100C), 
19342                     AEM4,   32, 
19343                     AEM5,   32
19344                 }
19345 
19346                 If ((Arg0 == Zero))
19347                 {
19348                     AEM4 &= 0xFFFC0000
19349                     AEM4 |= 0x04
19350                     AEM5 &= 0xFFFC0000
19351                     AEM5 |= 0x4B
19352                 }
19353 
19354                 If ((Arg0 == One))
19355                 {
19356                     AEM4 &= 0xFFFC0000
19357                     AEM4 |= 0x04
19358                     AEM5 &= 0xFFFC0000
19359                     AEM5 |= 0x5A
19360                 }
19361 
19362                 If ((Arg0 == 0x02))
19363                 {
19364                     AEM4 &= 0xFFFC0000
19365                     AEM4 |= 0x10
19366                     AEM5 &= 0xFFFC0000
19367                     AEM5 |= 0xE1
19368                 }
19369 
19370                 If ((Arg0 == 0x03))
19371                 {
19372                     AEM4 &= 0xFFFC0000
19373                     AEM4 |= 0x08
19374                     AEM5 &= 0xFFFC0000
19375                     AEM5 |= 0xE1
19376                 }
19377             }
19378         }
19379     }
19380 
19381     Scope (\_SB.PCI0.VID)
19382     {
19383         Scope (\_SB.PCI0)
19384         {
19385             OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
19386             Field (MCHP, AnyAcc, NoLock, Preserve)
19387             {
19388                 Offset (0x14), 
19389                 AUDE,   8, 
19390                 Offset (0x60), 
19391                 TASM,   10, 
19392                 Offset (0x62)
19393             }
19394         }
19395 
19396         OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
19397         Field (IGDP, AnyAcc, NoLock, Preserve)
19398         {
19399             Offset (0x12), 
19400                 ,   1, 
19401             GIVD,   1, 
19402                 ,   2, 
19403             GUMA,   3, 
19404             Offset (0x14), 
19405                 ,   4, 
19406             GMFN,   1, 
19407             Offset (0x18), 
19408             Offset (0xA4), 
19409             ASLE,   8, 
19410             Offset (0xA8), 
19411             GSSE,   1, 
19412             GSSB,   14, 
19413             GSES,   1, 
19414             Offset (0xB0), 
19415                 ,   12, 
19416             CDVL,   1, 
19417             Offset (0xB2), 
19418             Offset (0xB5), 
19419             LBPC,   8, 
19420             Offset (0xBC), 
19421             ASLS,   32
19422         }
19423 
19424         OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
19425         Field (IGDM, AnyAcc, NoLock, Preserve)
19426         {
19427             SIGN,   128, 
19428             SIZE,   32, 
19429             OVER,   32, 
19430             SVER,   256, 
19431             VVER,   128, 
19432             GVER,   128, 
19433             MBOX,   32, 
19434             DMOD,   32, 
19435             PCON,   32, 
19436             DVER,   64, 
19437             Offset (0x100), 
19438             DRDY,   32, 
19439             CSTS,   32, 
19440             CEVT,   32, 
19441             Offset (0x120), 
19442             DIDL,   32, 
19443             DDL2,   32, 
19444             DDL3,   32, 
19445             DDL4,   32, 
19446             DDL5,   32, 
19447             DDL6,   32, 
19448             DDL7,   32, 
19449             DDL8,   32, 
19450             CPDL,   32, 
19451             CPL2,   32, 
19452             CPL3,   32, 
19453             CPL4,   32, 
19454             CPL5,   32, 
19455             CPL6,   32, 
19456             CPL7,   32, 
19457             CPL8,   32, 
19458             CADL,   32, 
19459             CAL2,   32, 
19460             CAL3,   32, 
19461             CAL4,   32, 
19462             CAL5,   32, 
19463             CAL6,   32, 
19464             CAL7,   32, 
19465             CAL8,   32, 
19466             NADL,   32, 
19467             NDL2,   32, 
19468             NDL3,   32, 
19469             NDL4,   32, 
19470             NDL5,   32, 
19471             NDL6,   32, 
19472             NDL7,   32, 
19473             NDL8,   32, 
19474             ASLP,   32, 
19475             TIDX,   32, 
19476             CHPD,   32, 
19477             CLID,   32, 
19478             CDCK,   32, 
19479             SXSW,   32, 
19480             EVTS,   32, 
19481             CNOT,   32, 
19482             NRDY,   32, 
19483             DDL9,   32, 
19484             DD10,   32, 
19485             DD11,   32, 
19486             DD12,   32, 
19487             DD13,   32, 
19488             DD14,   32, 
19489             DD15,   32, 
19490             CPL9,   32, 
19491             CP10,   32, 
19492             CP11,   32, 
19493             CP12,   32, 
19494             CP13,   32, 
19495             CP14,   32, 
19496             CP15,   32, 
19497             Offset (0x200), 
19498             SCIE,   1, 
19499             GEFC,   4, 
19500             GXFC,   3, 
19501             GESF,   8, 
19502             Offset (0x204), 
19503             PARM,   32, 
19504             DSLP,   32, 
19505             Offset (0x300), 
19506             ARDY,   32, 
19507             ASLC,   32, 
19508             TCHE,   32, 
19509             ALSI,   32, 
19510             BCLP,   32, 
19511             PFIT,   32, 
19512             CBLV,   32, 
19513             BCLM,   320, 
19514             CPFM,   32, 
19515             EPFM,   32, 
19516             PLUT,   592, 
19517             PFMB,   32, 
19518             CCDV,   32, 
19519             PCFT,   32, 
19520             SROT,   32, 
19521             IUER,   32, 
19522             FDSP,   64, 
19523             FDSS,   32, 
19524             STAT,   32, 
19525             Offset (0x400), 
19526             GVD1,   49152, 
19527             PHED,   32, 
19528             BDDC,   2048
19529         }
19530 
19531         Name (DBTB, Package (0x15)
19532         {
19533             Zero, 
19534             0x07, 
19535             0x38, 
19536             0x01C0, 
19537             0x0E00, 
19538             0x3F, 
19539             0x01C7, 
19540             0x0E07, 
19541             0x01F8, 
19542             0x0E38, 
19543             0x0FC0, 
19544             Zero, 
19545             Zero, 
19546             Zero, 
19547             Zero, 
19548             Zero, 
19549             0x7000, 
19550             0x7007, 
19551             0x7038, 
19552             0x71C0, 
19553             0x7E00
19554         })
19555         Name (CDCT, Package (0x05)
19556         {
19557             Package (0x02)
19558             {
19559                 0xE4, 
19560                 0x0140
19561             }, 
19562 
19563             Package (0x02)
19564             {
19565                 0xDE, 
19566                 0x014D
19567             }, 
19568 
19569             Package (0x02)
19570             {
19571                 0xDE, 
19572                 0x014D
19573             }, 
19574 
19575             Package (0x02)
19576             {
19577                 Zero, 
19578                 Zero
19579             }, 
19580 
19581             Package (0x02)
19582             {
19583                 0xDE, 
19584                 0x014D
19585             }
19586         })
19587         Name (SUCC, One)
19588         Name (NVLD, 0x02)
19589         Name (CRIT, 0x04)
19590         Name (NCRT, 0x06)
19591         Method (GSCI, 0, Serialized)
19592         {
19593             If ((GEFC == 0x04))
19594             {
19595                 GXFC = GBDA ()
19596             }
19597 
19598             If ((GEFC == 0x06))
19599             {
19600                 GXFC = SBCB ()
19601             }
19602 
19603             GEFC = Zero
19604             \_SB.PCI0.LPC.SCIS = One
19605             GSSE = Zero
19606             SCIE = Zero
19607             Return (Zero)
19608         }
19609 
19610         Method (GBDA, 0, Serialized)
19611         {
19612             If ((GESF == Zero))
19613             {
19614                 PARM = 0x0241
19615                 GESF = Zero
19616                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19617             }
19618 
19619             If ((GESF == One))
19620             {
19621                 PARM = 0x00200382
19622                 GESF = Zero
19623                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19624             }
19625 
19626             If ((GESF == 0x04))
19627             {
19628                 PARM &= 0xEFFF0000
19629                 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
19630                 PARM |= IBTT /* \_SB_.PCI0.VID_.PARM */
19631                 GESF = Zero
19632                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19633             }
19634 
19635             If ((GESF == 0x05))
19636             {
19637                 If (\_SB.LID._LID ())
19638                 {
19639                     LIDS = One
19640                 }
19641                 Else
19642                 {
19643                     LIDS = Zero
19644                 }
19645 
19646                 PARM = IPSC /* \IPSC */
19647                 PARM |= (IPAT << 0x08)
19648                 PARM += 0x0100
19649                 PARM |= (LIDS << 0x10)
19650                 PARM += 0x00010000
19651                 PARM |= (IBIA << 0x14)
19652                 GESF = Zero
19653                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19654             }
19655 
19656             If ((GESF == 0x07))
19657             {
19658                 PARM = GIVD /* \_SB_.PCI0.VID_.GIVD */
19659                 PARM ^= One
19660                 PARM |= (GMFN << One)
19661                 PARM |= 0x1800
19662                 PARM |= 0x00060000
19663                 PARM |= (IDMS << 0x11)
19664                 PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 
19665                     0x15) /* \_SB_.PCI0.VID_.PARM */
19666                 GESF = One
19667                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19668             }
19669 
19670             If ((GESF == 0x0A))
19671             {
19672                 PARM = Zero
19673                 If (ISSC)
19674                 {
19675                     PARM |= 0x03
19676                 }
19677 
19678                 GESF = Zero
19679                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19680             }
19681 
19682             If ((GESF == 0x0B))
19683             {
19684                 PARM = KSV0 /* \KSV0 */
19685                 GESF = KSV1 /* \KSV1 */
19686                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19687             }
19688 
19689             GESF = Zero
19690             Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
19691         }
19692 
19693         Method (SBCB, 0, Serialized)
19694         {
19695             If ((GESF == Zero))
19696             {
19697                 PARM = 0x00220382
19698                 GESF = Zero
19699                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19700             }
19701 
19702             If ((GESF == One))
19703             {
19704                 GESF = Zero
19705                 PARM = Zero
19706                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19707             }
19708 
19709             If ((GESF == 0x03))
19710             {
19711                 GESF = Zero
19712                 PARM = Zero
19713                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19714             }
19715 
19716             If ((GESF == 0x04))
19717             {
19718                 GESF = Zero
19719                 PARM = Zero
19720                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19721             }
19722 
19723             If ((GESF == 0x05))
19724             {
19725                 GESF = Zero
19726                 PARM = Zero
19727                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19728             }
19729 
19730             If ((GESF == 0x07))
19731             {
19732                 If ((S0ID == One))
19733                 {
19734                     If (((PARM & 0xFF) == One))
19735                     {
19736                         \GUAM (One)
19737                     }
19738                 }
19739 
19740                 If ((PARM == Zero))
19741                 {
19742                     Local0 = CLID /* \_SB_.PCI0.VID_.CLID */
19743                     If ((0x80000000 & Local0))
19744                     {
19745                         CLID &= 0x0F
19746                         GLID (CLID)
19747                     }
19748                 }
19749 
19750                 GESF = Zero
19751                 PARM = Zero
19752                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19753             }
19754 
19755             If ((GESF == 0x08))
19756             {
19757                 If ((S0ID == One))
19758                 {
19759                     Local0 = ((PARM >> 0x08) & 0xFF)
19760                     If ((Local0 == Zero))
19761                     {
19762                         \GUAM (Zero)
19763                     }
19764                 }
19765 
19766                 GESF = Zero
19767                 PARM = Zero
19768                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19769             }
19770 
19771             If ((GESF == 0x09))
19772             {
19773                 IBTT = (PARM & 0xFF)
19774                 GESF = Zero
19775                 PARM = Zero
19776                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19777             }
19778 
19779             If ((GESF == 0x0A))
19780             {
19781                 IPSC = (PARM & 0xFF)
19782                 If (((PARM >> 0x08) & 0xFF))
19783                 {
19784                     IPAT = ((PARM >> 0x08) & 0xFF)
19785                     IPAT--
19786                 }
19787 
19788                 IBIA = ((PARM >> 0x14) & 0x07)
19789                 GESF = Zero
19790                 PARM = Zero
19791                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19792             }
19793 
19794             If ((GESF == 0x0B))
19795             {
19796                 IF1E = ((PARM >> One) & One)
19797                 If ((PARM & 0x0001E000))
19798                 {
19799                     IDMS = ((PARM >> 0x0D) & 0x0F)
19800                 }
19801                 Else
19802                 {
19803                     IDMS = ((PARM >> 0x11) & 0x0F)
19804                 }
19805 
19806                 GESF = Zero
19807                 PARM = Zero
19808                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19809             }
19810 
19811             If ((GESF == 0x10))
19812             {
19813                 GESF = Zero
19814                 PARM = Zero
19815                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19816             }
19817 
19818             If ((GESF == 0x11))
19819             {
19820                 PARM = (LIDS << 0x08)
19821                 PARM += 0x0100
19822                 GESF = Zero
19823                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19824             }
19825 
19826             If ((GESF == 0x12))
19827             {
19828                 If ((PARM & One))
19829                 {
19830                     If (((PARM >> One) == One))
19831                     {
19832                         ISSC = One
19833                     }
19834                     Else
19835                     {
19836                         GESF = Zero
19837                         Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
19838                     }
19839                 }
19840                 Else
19841                 {
19842                     ISSC = Zero
19843                 }
19844 
19845                 GESF = Zero
19846                 PARM = Zero
19847                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19848             }
19849 
19850             If ((GESF == 0x13))
19851             {
19852                 GESF = Zero
19853                 PARM = Zero
19854                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19855             }
19856 
19857             If ((GESF == 0x14))
19858             {
19859                 PAVP = (PARM & 0x0F)
19860                 GESF = Zero
19861                 PARM = Zero
19862                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19863             }
19864 
19865             If ((GESF == 0x15))
19866             {
19867                 If ((PARM == One))
19868                 {
19869                     \_SB.PCI0.AUDE |= 0x20
19870                     \_SB.PCI0.B0D3.ABWA (One)
19871                     \_SB.PCI0.B0D3.ARST ()
19872                     \_SB.PCI0.B0D3.ASTR ()
19873                     \_SB.PCI0.B0D3.AINI ()
19874                     \_SB.PCI0.B0D3.CXDC ()
19875                     \_SB.PCI0.B0D3.ABWA (Zero)
19876                     Notify (\_SB.PCI0, Zero) // Bus Check
19877                 }
19878 
19879                 If ((PARM == Zero))
19880                 {
19881                     \_SB.PCI0.AUDE &= 0xDF
19882                     Notify (\_SB.PCI0, Zero) // Bus Check
19883                 }
19884 
19885                 GESF = Zero
19886                 PARM = Zero
19887                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19888             }
19889 
19890             If ((GESF == 0x16))
19891             {
19892                 Local0 = (PARM & 0x03)
19893                 \_SB.PCI0.B0D3.DCCC (Local0)
19894                 GESF = Zero
19895                 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19896             }
19897 
19898             GESF = Zero
19899             Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
19900         }
19901 
19902         Method (PDRD, 0, NotSerialized)
19903         {
19904             If (!DRDY)
19905             {
19906                 Sleep (ASLP)
19907             }
19908 
19909             Return (!DRDY)
19910         }
19911 
19912         Method (PSTS, 0, NotSerialized)
19913         {
19914             If ((CSTS > 0x02))
19915             {
19916                 Sleep (ASLP)
19917             }
19918 
19919             Return ((CSTS == 0x03))
19920         }
19921 
19922         Method (GNOT, 2, NotSerialized)
19923         {
19924             If (PDRD ())
19925             {
19926                 Return (One)
19927             }
19928 
19929             CEVT = Arg0
19930             CSTS = 0x03
19931             If (((CHPD == Zero) && (Arg1 == Zero)))
19932             {
19933                 If ((Arg0 != One))
19934                 {
19935                     If ((\WXPF && !\WVIS))
19936                     {
19937                         Notify (\_SB.PCI0, Arg1)
19938                     }
19939                     Else
19940                     {
19941                         Notify (\_SB.PCI0.VID, Arg1)
19942                     }
19943                 }
19944             }
19945 
19946             Notify (\_SB.PCI0.VID, 0x80) // Status Change
19947             Return (Zero)
19948         }
19949 
19950         Method (GHDS, 1, NotSerialized)
19951         {
19952             TIDX = Arg0
19953             Return (GNOT (One, Zero))
19954         }
19955 
19956         Method (GLID, 1, NotSerialized)
19957         {
19958             CLID = Arg0
19959             Return (GNOT (0x02, Zero))
19960         }
19961 
19962         Method (GLIS, 1, NotSerialized)
19963         {
19964             CLID = Arg0
19965             Return (Zero)
19966         }
19967 
19968         Method (GDCK, 1, NotSerialized)
19969         {
19970             CDCK = Arg0
19971             Return (GNOT (0x04, 0x80))
19972         }
19973 
19974         Method (GDCS, 1, NotSerialized)
19975         {
19976             CDCK = Arg0
19977         }
19978 
19979         Method (PARD, 0, NotSerialized)
19980         {
19981             If (!ARDY)
19982             {
19983                 Sleep (ASLP)
19984             }
19985 
19986             Return (!ARDY)
19987         }
19988 
19989         Method (AINT, 2, NotSerialized)
19990         {
19991             If (!(TCHE & (One << Arg0)))
19992             {
19993                 Return (One)
19994             }
19995 
19996             If (PARD ())
19997             {
19998                 Return (One)
19999             }
20000 
20001             If ((Arg0 == 0x02))
20002             {
20003                 PFIT ^= 0x07
20004                 PFIT |= 0x80000000
20005                 ASLC = 0x04
20006             }
20007             Else
20008             {
20009                 If ((Arg0 == One))
20010                 {
20011                     BCLP = Arg1
20012                     BCLP |= 0x80000000
20013                     ASLC = 0x0A
20014                 }
20015                 Else
20016                 {
20017                     If ((Arg0 == 0x03))
20018                     {
20019                         PFMB = Arg1
20020                         PFMB |= 0x80000100
20021                         ASLC = 0x08
20022                     }
20023                     Else
20024                     {
20025                         If ((Arg0 == Zero))
20026                         {
20027                             ALSI = Arg1
20028                             ASLC = One
20029                         }
20030                         Else
20031                         {
20032                             Return (One)
20033                         }
20034                     }
20035                 }
20036             }
20037 
20038             ASLE = One
20039             Return (Zero)
20040         }
20041     }
20042 
20043     Scope (\_SB)
20044     {
20045         Device (PCCD)
20046         {
20047             Name (PCCA, 0xACD62018)
20048             Name (PCCS, 0x00001000)
20049             Name (PENB, 0x00000001)
20050             Name (_HID, EisaId ("INT340F"))  // _HID: Hardware ID
20051             Name (_STR, Unicode ("Collaborative Processor Performance Control (CPPC)"))  // _STR: Description String
20052             Method (_STA, 0, NotSerialized)  // _STA: Status
20053             {
20054                 If ((OSYS >= 0x07DC))
20055                 {
20056                     Return (0x0F)
20057                 }
20058                 Else
20059                 {
20060                     Return (Zero)
20061                 }
20062             }
20063 
20064             Name (TMPP, Package (0x02)
20065             {
20066                 0x80000000, 
20067                 0x80000000
20068             })
20069             Method (PADR, 0, NotSerialized)
20070             {
20071                 Index (TMPP, Zero) = PCCA /* \_SB_.PCCD.PCCA */
20072                 Index (TMPP, One) = PCCS /* \_SB_.PCCD.PCCS */
20073                 Return (TMPP) /* \_SB_.PCCD.TMPP */
20074             }
20075 
20076             Method (GPRN, 0, Serialized)
20077             {
20078                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
20079                 While (One)
20080                 {
20081                     _T_0 = ToInteger (\TCNT)
20082                     If ((_T_0 == 0x08))
20083                     {
20084                         Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20085                         Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20086                         Notify (\_PR.CPU2, 0x83) // Device-Specific Change
20087                         Notify (\_PR.CPU3, 0x83) // Device-Specific Change
20088                         Notify (\_PR.CPU4, 0x83) // Device-Specific Change
20089                         Notify (\_PR.CPU5, 0x83) // Device-Specific Change
20090                         Notify (\_PR.CPU6, 0x83) // Device-Specific Change
20091                         Notify (\_PR.CPU7, 0x83) // Device-Specific Change
20092                     }
20093                     Else
20094                     {
20095                         If ((_T_0 == 0x04))
20096                         {
20097                             Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20098                             Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20099                             Notify (\_PR.CPU2, 0x83) // Device-Specific Change
20100                             Notify (\_PR.CPU3, 0x83) // Device-Specific Change
20101                         }
20102                         Else
20103                         {
20104                             If ((_T_0 == 0x02))
20105                             {
20106                                 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20107                                 Notify (\_PR.CPU1, 0x83) // Device-Specific Change
20108                             }
20109                             Else
20110                             {
20111                                 Notify (\_PR.CPU0, 0x83) // Device-Specific Change
20112                             }
20113                         }
20114                     }
20115 
20116                     Break
20117                 }
20118             }
20119 
20120             Name (PCFG, Zero)
20121             Method (_PTC, 0, NotSerialized)  // _PTC: Processor Throttling Control
20122             {
20123                 If ((CondRefOf (\PDC0) && (\PDC0 != 0x80000000)))
20124                 {
20125                     If ((\PDC0 & 0x04))
20126                     {
20127                         Return (Package (0x02)
20128                         {
20129                             ResourceTemplate ()
20130                             {
20131                                 Register (FFixedHW, 
20132                                     0x00,               // Bit Width
20133                                     0x00,               // Bit Offset
20134                                     0x0000000000000000, // Address
20135                                     ,)
20136                             }, 
20137 
20138                             ResourceTemplate ()
20139                             {
20140                                 Register (FFixedHW, 
20141                                     0x00,               // Bit Width
20142                                     0x00,               // Bit Offset
20143                                     0x0000000000000000, // Address
20144                                     ,)
20145                             }
20146                         })
20147                     }
20148                     Else
20149                     {
20150                         Return (Package (0x02)
20151                         {
20152                             ResourceTemplate ()
20153                             {
20154                                 Register (SystemIO, 
20155                                     0x05,               // Bit Width
20156                                     0x00,               // Bit Offset
20157                                     0x0000000000001810, // Address
20158                                     ,)
20159                             }, 
20160 
20161                             ResourceTemplate ()
20162                             {
20163                                 Register (SystemIO, 
20164                                     0x05,               // Bit Width
20165                                     0x00,               // Bit Offset
20166                                     0x0000000000001810, // Address
20167                                     ,)
20168                             }
20169                         })
20170                     }
20171                 }
20172                 Else
20173                 {
20174                     Return (Package (0x02)
20175                     {
20176                         ResourceTemplate ()
20177                         {
20178                             Register (FFixedHW, 
20179                                 0x00,               // Bit Width
20180                                 0x00,               // Bit Offset
20181                                 0x0000000000000000, // Address
20182                                 ,)
20183                         }, 
20184 
20185                         ResourceTemplate ()
20186                         {
20187                             Register (FFixedHW, 
20188                                 0x00,               // Bit Width
20189                                 0x00,               // Bit Offset
20190                                 0x0000000000000000, // Address
20191                                 ,)
20192                         }
20193                     })
20194                 }
20195             }
20196 
20197             Method (_PSS, 0, NotSerialized)  // _PSS: Performance Supported States
20198             {
20199                 If (CondRefOf (\_PR.CPU0._PSS))
20200                 {
20201                     Return (\_PR.CPU0._PSS)
20202                 }
20203                 Else
20204                 {
20205                     Return (Package (0x02)
20206                     {
20207                         Package (0x06)
20208                         {
20209                             Zero, 
20210                             Zero, 
20211                             Zero, 
20212                             Zero, 
20213                             Zero, 
20214                             Zero
20215                         }, 
20216 
20217                         Package (0x06)
20218                         {
20219                             Zero, 
20220                             Zero, 
20221                             Zero, 
20222                             Zero, 
20223                             Zero, 
20224                             Zero
20225                         }
20226                     })
20227                 }
20228             }
20229 
20230             Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
20231             {
20232                 If (CondRefOf (\_PR.CPU0._PPC))
20233                 {
20234                     Return (\_PR.CPU0._PPC ())
20235                 }
20236                 Else
20237                 {
20238                     Return (Zero)
20239                 }
20240             }
20241 
20242             Method (_TSS, 0, NotSerialized)  // _TSS: Throttling Supported States
20243             {
20244                 If (CondRefOf (\_PR.CPU0._TSS))
20245                 {
20246                     Return (\_PR.CPU0._TSS) /* External reference */
20247                 }
20248                 Else
20249                 {
20250                     Return (Package (0x02)
20251                     {
20252                         Package (0x05)
20253                         {
20254                             Zero, 
20255                             Zero, 
20256                             Zero, 
20257                             Zero, 
20258                             Zero
20259                         }, 
20260 
20261                         Package (0x05)
20262                         {
20263                             Zero, 
20264                             Zero, 
20265                             Zero, 
20266                             Zero, 
20267                             Zero
20268                         }
20269                     })
20270                 }
20271             }
20272         }
20273     }
20274 
20275     Scope (\_PR.CPU0)
20276     {
20277         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20278         {
20279             0x11, 
20280             One, 
20281             ResourceTemplate ()
20282             {
20283                 Register (PCC, 
20284                     0x20,               // Bit Width
20285                     0x00,               // Bit Offset
20286                     0x0000000000000000, // Address
20287                     ,)
20288             }, 
20289 
20290             ResourceTemplate ()
20291             {
20292                 Register (PCC, 
20293                     0x20,               // Bit Width
20294                     0x00,               // Bit Offset
20295                     0x0000000000000004, // Address
20296                     ,)
20297             }, 
20298 
20299             ResourceTemplate ()
20300             {
20301                 Register (PCC, 
20302                     0x20,               // Bit Width
20303                     0x00,               // Bit Offset
20304                     0x0000000000000008, // Address
20305                     ,)
20306             }, 
20307 
20308             ResourceTemplate ()
20309             {
20310                 Register (PCC, 
20311                     0x20,               // Bit Width
20312                     0x00,               // Bit Offset
20313                     0x000000000000000C, // Address
20314                     ,)
20315             }, 
20316 
20317             ResourceTemplate ()
20318             {
20319                 Register (PCC, 
20320                     0x20,               // Bit Width
20321                     0x00,               // Bit Offset
20322                     0x0000000000000010, // Address
20323                     ,)
20324             }, 
20325 
20326             ResourceTemplate ()
20327             {
20328                 Register (PCC, 
20329                     0x20,               // Bit Width
20330                     0x00,               // Bit Offset
20331                     0x0000000000000014, // Address
20332                     ,)
20333             }, 
20334 
20335             ResourceTemplate ()
20336             {
20337                 Register (PCC, 
20338                     0x20,               // Bit Width
20339                     0x00,               // Bit Offset
20340                     0x0000000000000018, // Address
20341                     ,)
20342             }, 
20343 
20344             ResourceTemplate ()
20345             {
20346                 Register (PCC, 
20347                     0x20,               // Bit Width
20348                     0x00,               // Bit Offset
20349                     0x000000000000001C, // Address
20350                     ,)
20351             }, 
20352 
20353             ResourceTemplate ()
20354             {
20355                 Register (PCC, 
20356                     0x20,               // Bit Width
20357                     0x00,               // Bit Offset
20358                     0x0000000000000020, // Address
20359                     ,)
20360             }, 
20361 
20362             ResourceTemplate ()
20363             {
20364                 Register (PCC, 
20365                     0x20,               // Bit Width
20366                     0x00,               // Bit Offset
20367                     0x0000000000000024, // Address
20368                     ,)
20369             }, 
20370 
20371             ResourceTemplate ()
20372             {
20373                 Register (PCC, 
20374                     0x20,               // Bit Width
20375                     0x00,               // Bit Offset
20376                     0x0000000000000028, // Address
20377                     ,)
20378             }, 
20379 
20380             ResourceTemplate ()
20381             {
20382                 Register (FFixedHW, 
20383                     0x40,               // Bit Width
20384                     0x00,               // Bit Offset
20385                     0x00000000000000E7, // Address
20386                     0x04,               // Access Size
20387                     )
20388             }, 
20389 
20390             ResourceTemplate ()
20391             {
20392                 Register (FFixedHW, 
20393                     0x40,               // Bit Width
20394                     0x00,               // Bit Offset
20395                     0x00000000000000E8, // Address
20396                     0x04,               // Access Size
20397                     )
20398             }, 
20399 
20400             ResourceTemplate ()
20401             {
20402                 Register (PCC, 
20403                     0x20,               // Bit Width
20404                     0x00,               // Bit Offset
20405                     0x000000000000003C, // Address
20406                     ,)
20407             }, 
20408 
20409             ResourceTemplate ()
20410             {
20411                 Register (PCC, 
20412                     0x20,               // Bit Width
20413                     0x00,               // Bit Offset
20414                     0x0000000000000040, // Address
20415                     ,)
20416             }
20417         })
20418     }
20419 
20420     Scope (\_PR.CPU1)
20421     {
20422         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20423         {
20424             0x11, 
20425             One, 
20426             ResourceTemplate ()
20427             {
20428                 Register (PCC, 
20429                     0x20,               // Bit Width
20430                     0x00,               // Bit Offset
20431                     0x0000000000000064, // Address
20432                     ,)
20433             }, 
20434 
20435             ResourceTemplate ()
20436             {
20437                 Register (PCC, 
20438                     0x20,               // Bit Width
20439                     0x00,               // Bit Offset
20440                     0x0000000000000068, // Address
20441                     ,)
20442             }, 
20443 
20444             ResourceTemplate ()
20445             {
20446                 Register (PCC, 
20447                     0x20,               // Bit Width
20448                     0x00,               // Bit Offset
20449                     0x000000000000006C, // Address
20450                     ,)
20451             }, 
20452 
20453             ResourceTemplate ()
20454             {
20455                 Register (PCC, 
20456                     0x20,               // Bit Width
20457                     0x00,               // Bit Offset
20458                     0x0000000000000070, // Address
20459                     ,)
20460             }, 
20461 
20462             ResourceTemplate ()
20463             {
20464                 Register (PCC, 
20465                     0x20,               // Bit Width
20466                     0x00,               // Bit Offset
20467                     0x0000000000000074, // Address
20468                     ,)
20469             }, 
20470 
20471             ResourceTemplate ()
20472             {
20473                 Register (PCC, 
20474                     0x20,               // Bit Width
20475                     0x00,               // Bit Offset
20476                     0x0000000000000078, // Address
20477                     ,)
20478             }, 
20479 
20480             ResourceTemplate ()
20481             {
20482                 Register (PCC, 
20483                     0x20,               // Bit Width
20484                     0x00,               // Bit Offset
20485                     0x000000000000007C, // Address
20486                     ,)
20487             }, 
20488 
20489             ResourceTemplate ()
20490             {
20491                 Register (PCC, 
20492                     0x20,               // Bit Width
20493                     0x00,               // Bit Offset
20494                     0x0000000000000080, // Address
20495                     ,)
20496             }, 
20497 
20498             ResourceTemplate ()
20499             {
20500                 Register (PCC, 
20501                     0x20,               // Bit Width
20502                     0x00,               // Bit Offset
20503                     0x0000000000000084, // Address
20504                     ,)
20505             }, 
20506 
20507             ResourceTemplate ()
20508             {
20509                 Register (PCC, 
20510                     0x20,               // Bit Width
20511                     0x00,               // Bit Offset
20512                     0x0000000000000088, // Address
20513                     ,)
20514             }, 
20515 
20516             ResourceTemplate ()
20517             {
20518                 Register (PCC, 
20519                     0x20,               // Bit Width
20520                     0x00,               // Bit Offset
20521                     0x000000000000008C, // Address
20522                     ,)
20523             }, 
20524 
20525             ResourceTemplate ()
20526             {
20527                 Register (FFixedHW, 
20528                     0x40,               // Bit Width
20529                     0x00,               // Bit Offset
20530                     0x00000000000000E7, // Address
20531                     0x04,               // Access Size
20532                     )
20533             }, 
20534 
20535             ResourceTemplate ()
20536             {
20537                 Register (FFixedHW, 
20538                     0x40,               // Bit Width
20539                     0x00,               // Bit Offset
20540                     0x00000000000000E8, // Address
20541                     0x04,               // Access Size
20542                     )
20543             }, 
20544 
20545             ResourceTemplate ()
20546             {
20547                 Register (PCC, 
20548                     0x20,               // Bit Width
20549                     0x00,               // Bit Offset
20550                     0x00000000000000A0, // Address
20551                     ,)
20552             }, 
20553 
20554             ResourceTemplate ()
20555             {
20556                 Register (PCC, 
20557                     0x20,               // Bit Width
20558                     0x00,               // Bit Offset
20559                     0x00000000000000A4, // Address
20560                     ,)
20561             }
20562         })
20563     }
20564 
20565     Scope (\_PR.CPU2)
20566     {
20567         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20568         {
20569             0x11, 
20570             One, 
20571             ResourceTemplate ()
20572             {
20573                 Register (PCC, 
20574                     0x20,               // Bit Width
20575                     0x00,               // Bit Offset
20576                     0x00000000000000C8, // Address
20577                     ,)
20578             }, 
20579 
20580             ResourceTemplate ()
20581             {
20582                 Register (PCC, 
20583                     0x20,               // Bit Width
20584                     0x00,               // Bit Offset
20585                     0x00000000000000CC, // Address
20586                     ,)
20587             }, 
20588 
20589             ResourceTemplate ()
20590             {
20591                 Register (PCC, 
20592                     0x20,               // Bit Width
20593                     0x00,               // Bit Offset
20594                     0x00000000000000D0, // Address
20595                     ,)
20596             }, 
20597 
20598             ResourceTemplate ()
20599             {
20600                 Register (PCC, 
20601                     0x20,               // Bit Width
20602                     0x00,               // Bit Offset
20603                     0x00000000000000D4, // Address
20604                     ,)
20605             }, 
20606 
20607             ResourceTemplate ()
20608             {
20609                 Register (PCC, 
20610                     0x20,               // Bit Width
20611                     0x00,               // Bit Offset
20612                     0x00000000000000D8, // Address
20613                     ,)
20614             }, 
20615 
20616             ResourceTemplate ()
20617             {
20618                 Register (PCC, 
20619                     0x20,               // Bit Width
20620                     0x00,               // Bit Offset
20621                     0x00000000000000DC, // Address
20622                     ,)
20623             }, 
20624 
20625             ResourceTemplate ()
20626             {
20627                 Register (PCC, 
20628                     0x20,               // Bit Width
20629                     0x00,               // Bit Offset
20630                     0x00000000000000E0, // Address
20631                     ,)
20632             }, 
20633 
20634             ResourceTemplate ()
20635             {
20636                 Register (PCC, 
20637                     0x20,               // Bit Width
20638                     0x00,               // Bit Offset
20639                     0x00000000000000E4, // Address
20640                     ,)
20641             }, 
20642 
20643             ResourceTemplate ()
20644             {
20645                 Register (PCC, 
20646                     0x20,               // Bit Width
20647                     0x00,               // Bit Offset
20648                     0x00000000000000E8, // Address
20649                     ,)
20650             }, 
20651 
20652             ResourceTemplate ()
20653             {
20654                 Register (PCC, 
20655                     0x20,               // Bit Width
20656                     0x00,               // Bit Offset
20657                     0x00000000000000EC, // Address
20658                     ,)
20659             }, 
20660 
20661             ResourceTemplate ()
20662             {
20663                 Register (PCC, 
20664                     0x20,               // Bit Width
20665                     0x00,               // Bit Offset
20666                     0x00000000000000F0, // Address
20667                     ,)
20668             }, 
20669 
20670             ResourceTemplate ()
20671             {
20672                 Register (FFixedHW, 
20673                     0x40,               // Bit Width
20674                     0x00,               // Bit Offset
20675                     0x00000000000000E7, // Address
20676                     0x04,               // Access Size
20677                     )
20678             }, 
20679 
20680             ResourceTemplate ()
20681             {
20682                 Register (FFixedHW, 
20683                     0x40,               // Bit Width
20684                     0x00,               // Bit Offset
20685                     0x00000000000000E8, // Address
20686                     0x04,               // Access Size
20687                     )
20688             }, 
20689 
20690             ResourceTemplate ()
20691             {
20692                 Register (PCC, 
20693                     0x20,               // Bit Width
20694                     0x00,               // Bit Offset
20695                     0x0000000000000104, // Address
20696                     ,)
20697             }, 
20698 
20699             ResourceTemplate ()
20700             {
20701                 Register (PCC, 
20702                     0x20,               // Bit Width
20703                     0x00,               // Bit Offset
20704                     0x0000000000000108, // Address
20705                     ,)
20706             }
20707         })
20708     }
20709 
20710     Scope (\_PR.CPU3)
20711     {
20712         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20713         {
20714             0x11, 
20715             One, 
20716             ResourceTemplate ()
20717             {
20718                 Register (PCC, 
20719                     0x20,               // Bit Width
20720                     0x00,               // Bit Offset
20721                     0x000000000000012C, // Address
20722                     ,)
20723             }, 
20724 
20725             ResourceTemplate ()
20726             {
20727                 Register (PCC, 
20728                     0x20,               // Bit Width
20729                     0x00,               // Bit Offset
20730                     0x0000000000000130, // Address
20731                     ,)
20732             }, 
20733 
20734             ResourceTemplate ()
20735             {
20736                 Register (PCC, 
20737                     0x20,               // Bit Width
20738                     0x00,               // Bit Offset
20739                     0x0000000000000134, // Address
20740                     ,)
20741             }, 
20742 
20743             ResourceTemplate ()
20744             {
20745                 Register (PCC, 
20746                     0x20,               // Bit Width
20747                     0x00,               // Bit Offset
20748                     0x0000000000000138, // Address
20749                     ,)
20750             }, 
20751 
20752             ResourceTemplate ()
20753             {
20754                 Register (PCC, 
20755                     0x20,               // Bit Width
20756                     0x00,               // Bit Offset
20757                     0x000000000000013C, // Address
20758                     ,)
20759             }, 
20760 
20761             ResourceTemplate ()
20762             {
20763                 Register (PCC, 
20764                     0x20,               // Bit Width
20765                     0x00,               // Bit Offset
20766                     0x0000000000000140, // Address
20767                     ,)
20768             }, 
20769 
20770             ResourceTemplate ()
20771             {
20772                 Register (PCC, 
20773                     0x20,               // Bit Width
20774                     0x00,               // Bit Offset
20775                     0x0000000000000144, // Address
20776                     ,)
20777             }, 
20778 
20779             ResourceTemplate ()
20780             {
20781                 Register (PCC, 
20782                     0x20,               // Bit Width
20783                     0x00,               // Bit Offset
20784                     0x0000000000000148, // Address
20785                     ,)
20786             }, 
20787 
20788             ResourceTemplate ()
20789             {
20790                 Register (PCC, 
20791                     0x20,               // Bit Width
20792                     0x00,               // Bit Offset
20793                     0x000000000000014C, // Address
20794                     ,)
20795             }, 
20796 
20797             ResourceTemplate ()
20798             {
20799                 Register (PCC, 
20800                     0x20,               // Bit Width
20801                     0x00,               // Bit Offset
20802                     0x0000000000000150, // Address
20803                     ,)
20804             }, 
20805 
20806             ResourceTemplate ()
20807             {
20808                 Register (PCC, 
20809                     0x20,               // Bit Width
20810                     0x00,               // Bit Offset
20811                     0x0000000000000154, // Address
20812                     ,)
20813             }, 
20814 
20815             ResourceTemplate ()
20816             {
20817                 Register (FFixedHW, 
20818                     0x40,               // Bit Width
20819                     0x00,               // Bit Offset
20820                     0x00000000000000E7, // Address
20821                     0x04,               // Access Size
20822                     )
20823             }, 
20824 
20825             ResourceTemplate ()
20826             {
20827                 Register (FFixedHW, 
20828                     0x40,               // Bit Width
20829                     0x00,               // Bit Offset
20830                     0x00000000000000E8, // Address
20831                     0x04,               // Access Size
20832                     )
20833             }, 
20834 
20835             ResourceTemplate ()
20836             {
20837                 Register (PCC, 
20838                     0x20,               // Bit Width
20839                     0x00,               // Bit Offset
20840                     0x0000000000000168, // Address
20841                     ,)
20842             }, 
20843 
20844             ResourceTemplate ()
20845             {
20846                 Register (PCC, 
20847                     0x20,               // Bit Width
20848                     0x00,               // Bit Offset
20849                     0x000000000000016C, // Address
20850                     ,)
20851             }
20852         })
20853     }
20854 
20855     Scope (\_PR.CPU4)
20856     {
20857         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
20858         {
20859             0x11, 
20860             One, 
20861             ResourceTemplate ()
20862             {
20863                 Register (PCC, 
20864                     0x20,               // Bit Width
20865                     0x00,               // Bit Offset
20866                     0x0000000000000190, // Address
20867                     ,)
20868             }, 
20869 
20870             ResourceTemplate ()
20871             {
20872                 Register (PCC, 
20873                     0x20,               // Bit Width
20874                     0x00,               // Bit Offset
20875                     0x0000000000000194, // Address
20876                     ,)
20877             }, 
20878 
20879             ResourceTemplate ()
20880             {
20881                 Register (PCC, 
20882                     0x20,               // Bit Width
20883                     0x00,               // Bit Offset
20884                     0x0000000000000198, // Address
20885                     ,)
20886             }, 
20887 
20888             ResourceTemplate ()
20889             {
20890                 Register (PCC, 
20891                     0x20,               // Bit Width
20892                     0x00,               // Bit Offset
20893                     0x000000000000019C, // Address
20894                     ,)
20895             }, 
20896 
20897             ResourceTemplate ()
20898             {
20899                 Register (PCC, 
20900                     0x20,               // Bit Width
20901                     0x00,               // Bit Offset
20902                     0x00000000000001A0, // Address
20903                     ,)
20904             }, 
20905 
20906             ResourceTemplate ()
20907             {
20908                 Register (PCC, 
20909                     0x20,               // Bit Width
20910                     0x00,               // Bit Offset
20911                     0x00000000000001A4, // Address
20912                     ,)
20913             }, 
20914 
20915             ResourceTemplate ()
20916             {
20917                 Register (PCC, 
20918                     0x20,               // Bit Width
20919                     0x00,               // Bit Offset
20920                     0x00000000000001A8, // Address
20921                     ,)
20922             }, 
20923 
20924             ResourceTemplate ()
20925             {
20926                 Register (PCC, 
20927                     0x20,               // Bit Width
20928                     0x00,               // Bit Offset
20929                     0x00000000000001AC, // Address
20930                     ,)
20931             }, 
20932 
20933             ResourceTemplate ()
20934             {
20935                 Register (PCC, 
20936                     0x20,               // Bit Width
20937                     0x00,               // Bit Offset
20938                     0x00000000000001B0, // Address
20939                     ,)
20940             }, 
20941 
20942             ResourceTemplate ()
20943             {
20944                 Register (PCC, 
20945                     0x20,               // Bit Width
20946                     0x00,               // Bit Offset
20947                     0x00000000000001B4, // Address
20948                     ,)
20949             }, 
20950 
20951             ResourceTemplate ()
20952             {
20953                 Register (PCC, 
20954                     0x20,               // Bit Width
20955                     0x00,               // Bit Offset
20956                     0x00000000000001B8, // Address
20957                     ,)
20958             }, 
20959 
20960             ResourceTemplate ()
20961             {
20962                 Register (FFixedHW, 
20963                     0x40,               // Bit Width
20964                     0x00,               // Bit Offset
20965                     0x00000000000000E7, // Address
20966                     0x04,               // Access Size
20967                     )
20968             }, 
20969 
20970             ResourceTemplate ()
20971             {
20972                 Register (FFixedHW, 
20973                     0x40,               // Bit Width
20974                     0x00,               // Bit Offset
20975                     0x00000000000000E8, // Address
20976                     0x04,               // Access Size
20977                     )
20978             }, 
20979 
20980             ResourceTemplate ()
20981             {
20982                 Register (PCC, 
20983                     0x20,               // Bit Width
20984                     0x00,               // Bit Offset
20985                     0x00000000000001CC, // Address
20986                     ,)
20987             }, 
20988 
20989             ResourceTemplate ()
20990             {
20991                 Register (PCC, 
20992                     0x20,               // Bit Width
20993                     0x00,               // Bit Offset
20994                     0x00000000000001D0, // Address
20995                     ,)
20996             }
20997         })
20998     }
20999 
21000     Scope (\_PR.CPU5)
21001     {
21002         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
21003         {
21004             0x11, 
21005             One, 
21006             ResourceTemplate ()
21007             {
21008                 Register (PCC, 
21009                     0x20,               // Bit Width
21010                     0x00,               // Bit Offset
21011                     0x00000000000001F4, // Address
21012                     ,)
21013             }, 
21014 
21015             ResourceTemplate ()
21016             {
21017                 Register (PCC, 
21018                     0x20,               // Bit Width
21019                     0x00,               // Bit Offset
21020                     0x00000000000001F8, // Address
21021                     ,)
21022             }, 
21023 
21024             ResourceTemplate ()
21025             {
21026                 Register (PCC, 
21027                     0x20,               // Bit Width
21028                     0x00,               // Bit Offset
21029                     0x00000000000001FC, // Address
21030                     ,)
21031             }, 
21032 
21033             ResourceTemplate ()
21034             {
21035                 Register (PCC, 
21036                     0x20,               // Bit Width
21037                     0x00,               // Bit Offset
21038                     0x0000000000000200, // Address
21039                     ,)
21040             }, 
21041 
21042             ResourceTemplate ()
21043             {
21044                 Register (PCC, 
21045                     0x20,               // Bit Width
21046                     0x00,               // Bit Offset
21047                     0x0000000000000204, // Address
21048                     ,)
21049             }, 
21050 
21051             ResourceTemplate ()
21052             {
21053                 Register (PCC, 
21054                     0x20,               // Bit Width
21055                     0x00,               // Bit Offset
21056                     0x0000000000000208, // Address
21057                     ,)
21058             }, 
21059 
21060             ResourceTemplate ()
21061             {
21062                 Register (PCC, 
21063                     0x20,               // Bit Width
21064                     0x00,               // Bit Offset
21065                     0x000000000000020C, // Address
21066                     ,)
21067             }, 
21068 
21069             ResourceTemplate ()
21070             {
21071                 Register (PCC, 
21072                     0x20,               // Bit Width
21073                     0x00,               // Bit Offset
21074                     0x0000000000000210, // Address
21075                     ,)
21076             }, 
21077 
21078             ResourceTemplate ()
21079             {
21080                 Register (PCC, 
21081                     0x20,               // Bit Width
21082                     0x00,               // Bit Offset
21083                     0x0000000000000214, // Address
21084                     ,)
21085             }, 
21086 
21087             ResourceTemplate ()
21088             {
21089                 Register (PCC, 
21090                     0x20,               // Bit Width
21091                     0x00,               // Bit Offset
21092                     0x0000000000000218, // Address
21093                     ,)
21094             }, 
21095 
21096             ResourceTemplate ()
21097             {
21098                 Register (PCC, 
21099                     0x20,               // Bit Width
21100                     0x00,               // Bit Offset
21101                     0x000000000000021C, // Address
21102                     ,)
21103             }, 
21104 
21105             ResourceTemplate ()
21106             {
21107                 Register (FFixedHW, 
21108                     0x40,               // Bit Width
21109                     0x00,               // Bit Offset
21110                     0x00000000000000E7, // Address
21111                     0x04,               // Access Size
21112                     )
21113             }, 
21114 
21115             ResourceTemplate ()
21116             {
21117                 Register (FFixedHW, 
21118                     0x40,               // Bit Width
21119                     0x00,               // Bit Offset
21120                     0x00000000000000E8, // Address
21121                     0x04,               // Access Size
21122                     )
21123             }, 
21124 
21125             ResourceTemplate ()
21126             {
21127                 Register (PCC, 
21128                     0x20,               // Bit Width
21129                     0x00,               // Bit Offset
21130                     0x0000000000000230, // Address
21131                     ,)
21132             }, 
21133 
21134             ResourceTemplate ()
21135             {
21136                 Register (PCC, 
21137                     0x20,               // Bit Width
21138                     0x00,               // Bit Offset
21139                     0x0000000000000234, // Address
21140                     ,)
21141             }
21142         })
21143     }
21144 
21145     Scope (\_PR.CPU6)
21146     {
21147         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
21148         {
21149             0x11, 
21150             One, 
21151             ResourceTemplate ()
21152             {
21153                 Register (PCC, 
21154                     0x20,               // Bit Width
21155                     0x00,               // Bit Offset
21156                     0x0000000000000258, // Address
21157                     ,)
21158             }, 
21159 
21160             ResourceTemplate ()
21161             {
21162                 Register (PCC, 
21163                     0x20,               // Bit Width
21164                     0x00,               // Bit Offset
21165                     0x000000000000025C, // Address
21166                     ,)
21167             }, 
21168 
21169             ResourceTemplate ()
21170             {
21171                 Register (PCC, 
21172                     0x20,               // Bit Width
21173                     0x00,               // Bit Offset
21174                     0x0000000000000260, // Address
21175                     ,)
21176             }, 
21177 
21178             ResourceTemplate ()
21179             {
21180                 Register (PCC, 
21181                     0x20,               // Bit Width
21182                     0x00,               // Bit Offset
21183                     0x0000000000000264, // Address
21184                     ,)
21185             }, 
21186 
21187             ResourceTemplate ()
21188             {
21189                 Register (PCC, 
21190                     0x20,               // Bit Width
21191                     0x00,               // Bit Offset
21192                     0x0000000000000268, // Address
21193                     ,)
21194             }, 
21195 
21196             ResourceTemplate ()
21197             {
21198                 Register (PCC, 
21199                     0x20,               // Bit Width
21200                     0x00,               // Bit Offset
21201                     0x000000000000026C, // Address
21202                     ,)
21203             }, 
21204 
21205             ResourceTemplate ()
21206             {
21207                 Register (PCC, 
21208                     0x20,               // Bit Width
21209                     0x00,               // Bit Offset
21210                     0x0000000000000270, // Address
21211                     ,)
21212             }, 
21213 
21214             ResourceTemplate ()
21215             {
21216                 Register (PCC, 
21217                     0x20,               // Bit Width
21218                     0x00,               // Bit Offset
21219                     0x0000000000000274, // Address
21220                     ,)
21221             }, 
21222 
21223             ResourceTemplate ()
21224             {
21225                 Register (PCC, 
21226                     0x20,               // Bit Width
21227                     0x00,               // Bit Offset
21228                     0x0000000000000278, // Address
21229                     ,)
21230             }, 
21231 
21232             ResourceTemplate ()
21233             {
21234                 Register (PCC, 
21235                     0x20,               // Bit Width
21236                     0x00,               // Bit Offset
21237                     0x000000000000027C, // Address
21238                     ,)
21239             }, 
21240 
21241             ResourceTemplate ()
21242             {
21243                 Register (PCC, 
21244                     0x20,               // Bit Width
21245                     0x00,               // Bit Offset
21246                     0x0000000000000280, // Address
21247                     ,)
21248             }, 
21249 
21250             ResourceTemplate ()
21251             {
21252                 Register (FFixedHW, 
21253                     0x40,               // Bit Width
21254                     0x00,               // Bit Offset
21255                     0x00000000000000E7, // Address
21256                     0x04,               // Access Size
21257                     )
21258             }, 
21259 
21260             ResourceTemplate ()
21261             {
21262                 Register (FFixedHW, 
21263                     0x40,               // Bit Width
21264                     0x00,               // Bit Offset
21265                     0x00000000000000E8, // Address
21266                     0x04,               // Access Size
21267                     )
21268             }, 
21269 
21270             ResourceTemplate ()
21271             {
21272                 Register (PCC, 
21273                     0x20,               // Bit Width
21274                     0x00,               // Bit Offset
21275                     0x0000000000000294, // Address
21276                     ,)
21277             }, 
21278 
21279             ResourceTemplate ()
21280             {
21281                 Register (PCC, 
21282                     0x20,               // Bit Width
21283                     0x00,               // Bit Offset
21284                     0x0000000000000298, // Address
21285                     ,)
21286             }
21287         })
21288     }
21289 
21290     Scope (\_PR.CPU7)
21291     {
21292         Name (_CPC, Package (0x11)  // _CPC: Continuous Performance Control
21293         {
21294             0x11, 
21295             One, 
21296             ResourceTemplate ()
21297             {
21298                 Register (PCC, 
21299                     0x20,               // Bit Width
21300                     0x00,               // Bit Offset
21301                     0x00000000000002BC, // Address
21302                     ,)
21303             }, 
21304 
21305             ResourceTemplate ()
21306             {
21307                 Register (PCC, 
21308                     0x20,               // Bit Width
21309                     0x00,               // Bit Offset
21310                     0x00000000000002C0, // Address
21311                     ,)
21312             }, 
21313 
21314             ResourceTemplate ()
21315             {
21316                 Register (PCC, 
21317                     0x20,               // Bit Width
21318                     0x00,               // Bit Offset
21319                     0x00000000000002C4, // Address
21320                     ,)
21321             }, 
21322 
21323             ResourceTemplate ()
21324             {
21325                 Register (PCC, 
21326                     0x20,               // Bit Width
21327                     0x00,               // Bit Offset
21328                     0x00000000000002C8, // Address
21329                     ,)
21330             }, 
21331 
21332             ResourceTemplate ()
21333             {
21334                 Register (PCC, 
21335                     0x20,               // Bit Width
21336                     0x00,               // Bit Offset
21337                     0x00000000000002CC, // Address
21338                     ,)
21339             }, 
21340 
21341             ResourceTemplate ()
21342             {
21343                 Register (PCC, 
21344                     0x20,               // Bit Width
21345                     0x00,               // Bit Offset
21346                     0x00000000000002D0, // Address
21347                     ,)
21348             }, 
21349 
21350             ResourceTemplate ()
21351             {
21352                 Register (PCC, 
21353                     0x20,               // Bit Width
21354                     0x00,               // Bit Offset
21355                     0x00000000000002D4, // Address
21356                     ,)
21357             }, 
21358 
21359             ResourceTemplate ()
21360             {
21361                 Register (PCC, 
21362                     0x20,               // Bit Width
21363                     0x00,               // Bit Offset
21364                     0x00000000000002D8, // Address
21365                     ,)
21366             }, 
21367 
21368             ResourceTemplate ()
21369             {
21370                 Register (PCC, 
21371                     0x20,               // Bit Width
21372                     0x00,               // Bit Offset
21373                     0x00000000000002DC, // Address
21374                     ,)
21375             }, 
21376 
21377             ResourceTemplate ()
21378             {
21379                 Register (PCC, 
21380                     0x20,               // Bit Width
21381                     0x00,               // Bit Offset
21382                     0x00000000000002E0, // Address
21383                     ,)
21384             }, 
21385 
21386             ResourceTemplate ()
21387             {
21388                 Register (PCC, 
21389                     0x20,               // Bit Width
21390                     0x00,               // Bit Offset
21391                     0x00000000000002E4, // Address
21392                     ,)
21393             }, 
21394 
21395             ResourceTemplate ()
21396             {
21397                 Register (FFixedHW, 
21398                     0x40,               // Bit Width
21399                     0x00,               // Bit Offset
21400                     0x00000000000000E7, // Address
21401                     0x04,               // Access Size
21402                     )
21403             }, 
21404 
21405             ResourceTemplate ()
21406             {
21407                 Register (FFixedHW, 
21408                     0x40,               // Bit Width
21409                     0x00,               // Bit Offset
21410                     0x00000000000000E8, // Address
21411                     0x04,               // Access Size
21412                     )
21413             }, 
21414 
21415             ResourceTemplate ()
21416             {
21417                 Register (PCC, 
21418                     0x20,               // Bit Width
21419                     0x00,               // Bit Offset
21420                     0x00000000000002F8, // Address
21421                     ,)
21422             }, 
21423 
21424             ResourceTemplate ()
21425             {
21426                 Register (PCC, 
21427                     0x20,               // Bit Width
21428                     0x00,               // Bit Offset
21429                     0x00000000000002FC, // Address
21430                     ,)
21431             }
21432         })
21433     }
21434 
21435     Scope (\_SB)
21436     {
21437         Name (TCGP, Buffer (0x08)
21438         {
21439              0x00, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0   /* ........ */
21440         })
21441         CreateByteField (TCGP, Zero, PPRQ)
21442         CreateByteField (TCGP, One, PPL1)
21443         CreateByteField (TCGP, 0x02, PPRP)
21444         CreateByteField (TCGP, 0x03, TPRS)
21445         CreateByteField (TCGP, 0x04, PPOR)
21446         CreateByteField (TCGP, 0x05, TPMV)
21447         CreateByteField (TCGP, 0x06, MOR)
21448         CreateByteField (TCGP, 0x07, TVEN)
21449         OperationRegion (TCGC, SystemIO, 0x72, 0x02)
21450         Field (TCGC, ByteAcc, Lock, Preserve)
21451         {
21452             TIDX,   8, 
21453             TPDA,   8
21454         }
21455 
21456         IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
21457         {
21458             Offset (0x40), 
21459             TPP1,   8, 
21460             PPLO,   8, 
21461             TPP3,   8
21462         }
21463 
21464         OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
21465         Field (SMIP, ByteAcc, NoLock, Preserve)
21466         {
21467             SMIT,   8, 
21468             SMID,   8
21469         }
21470     }
21471 
21472     Scope (\_SB.PCI0.LPC)
21473     {
21474         OperationRegion (TPMF, SystemMemory, 0xACD6AE98, 0x0004)
21475         Field (TPMF, AnyAcc, Lock, Preserve)
21476         {
21477             PPIP,   8, 
21478             PPIC,   8, 
21479             TPM2,   8
21480         }
21481 
21482         Device (TPM)
21483         {
21484             Name (TMPV, Zero)
21485             Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
21486             {
21487                 If ((TVID == 0x15D1))
21488                 {
21489                     Return (0x0201D824)
21490                 }
21491 
21492                 If (((TVID == 0x1050) || (TVID == 0x100B)))
21493                 {
21494                     Return (0x0010A35C)
21495                 }
21496 
21497                 If ((TVID == 0x19FA))
21498                 {
21499                     Return (0x0435CF4D)
21500                 }
21501 
21502                 If ((TDID == 0x1002))
21503                 {
21504                     Return (0x02016D08)
21505                 }
21506 
21507                 If ((TDID == 0x1001))
21508                 {
21509                     Return (0x01016D08)
21510                 }
21511 
21512                 If ((TVID == 0x1114))
21513                 {
21514                     Return (0x00128D06)
21515                 }
21516 
21517                 If ((TVID == 0x104A))
21518                 {
21519                     Return (0x0012AF4D)
21520                 }
21521 
21522                 Return (0x310CD041)
21523             }
21524 
21525             Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
21526             {
21527                 Return (0x310CD041)
21528             }
21529 
21530             Name (_UID, One)  // _UID: Unique ID
21531             OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
21532             Field (TMMB, ByteAcc, Lock, Preserve)
21533             {
21534                 ACCS,   8, 
21535                 Offset (0x18), 
21536                 TSTA,   8, 
21537                 TBCA,   8, 
21538                 Offset (0xF00), 
21539                 TVID,   16, 
21540                 TDID,   16
21541             }
21542 
21543             Method (_STA, 0, NotSerialized)  // _STA: Status
21544             {
21545                 If ((ACCS == 0xFF))
21546                 {
21547                     Return (Zero)
21548                 }
21549                 Else
21550                 {
21551                     If ((\TPME == Zero))
21552                     {
21553                         Return (Zero)
21554                     }
21555 
21556                     Return (0x0F)
21557                 }
21558             }
21559 
21560             Name (BUF1, ResourceTemplate ()
21561             {
21562                 Memory32Fixed (ReadOnly,
21563                     0xFED40000,         // Address Base
21564                     0x00005000,         // Address Length
21565                     )
21566             })
21567             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
21568             {
21569                 Return (BUF1) /* \_SB_.PCI0.LPC_.TPM_.BUF1 */
21570             }
21571 
21572             Method (UCMP, 2, NotSerialized)
21573             {
21574                 If ((0x10 != SizeOf (Arg0)))
21575                 {
21576                     Return (Zero)
21577                 }
21578 
21579                 If ((0x10 != SizeOf (Arg1)))
21580                 {
21581                     Return (Zero)
21582                 }
21583 
21584                 Local0 = Zero
21585                 While ((Local0 < 0x10))
21586                 {
21587                     If ((DerefOf (Index (Arg0, Local0)) != DerefOf (Index (Arg1, Local0
21588                         ))))
21589                     {
21590                         Return (Zero)
21591                     }
21592 
21593                     Local0++
21594                 }
21595 
21596                 Return (One)
21597             }
21598 
21599             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
21600             {
21601                 Name (TTMP, Buffer (One)
21602                 {
21603                      0x00                                             /* . */
21604                 })
21605                 CreateByteField (TTMP, Zero, TMPV)
21606                 If ((UCMP (Arg0, ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */) == One))
21607                 {
21608                     If ((Arg2 == Zero))
21609                     {
21610                         Return (Buffer (0x02)
21611                         {
21612                              0xFF, 0x01                                       /* .. */
21613                         })
21614                     }
21615 
21616                     If ((Arg2 == One))
21617                     {
21618                         Return (Buffer (0x04)
21619                         {
21620                             "1.2"
21621                         })
21622                     }
21623 
21624                     If ((Arg2 == 0x02))
21625                     {
21626                         If ((DerefOf (Index (Arg3, Zero)) <= 0x0B))
21627                         {
21628                             PPRQ = DerefOf (Index (Arg3, Zero))
21629                             SMID = PPRQ /* \_SB_.PPRQ */
21630                             SMIT = 0xC1
21631                             Return (Zero)
21632                         }
21633 
21634                         If (((DerefOf (Index (Arg3, Zero)) >= 0x0E) && (
21635                             DerefOf (Index (Arg3, Zero)) <= 0x12)))
21636                         {
21637                             PPRQ = DerefOf (Index (Arg3, Zero))
21638                             SMID = PPRQ /* \_SB_.PPRQ */
21639                             SMIT = 0xC1
21640                             Return (Zero)
21641                         }
21642 
21643                         If (((DerefOf (Index (Arg3, Zero)) == 0x15) || (DerefOf (Index (
21644                             Arg3, Zero)) == 0x16)))
21645                         {
21646                             PPRQ = DerefOf (Index (Arg3, Zero))
21647                             SMID = PPRQ /* \_SB_.PPRQ */
21648                             SMIT = 0xC1
21649                             Return (Zero)
21650                         }
21651 
21652                         Return (One)
21653                     }
21654 
21655                     If ((Arg2 == 0x03))
21656                     {
21657                         Name (TMP1, Package (0x02)
21658                         {
21659                             Zero, 
21660                             Ones
21661                         })
21662                         TMPV = PPRQ /* \_SB_.PPRQ */
21663                         Index (TMP1, One) = TMPV &= 0x1F
21664                         Return (TMP1) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP1 */
21665                     }
21666 
21667                     If ((Arg2 == 0x04))
21668                     {
21669                         Return (0x02)
21670                     }
21671 
21672                     If ((Arg2 == 0x05))
21673                     {
21674                         Name (TMP2, Package (0x03)
21675                         {
21676                             Zero, 
21677                             Ones, 
21678                             Ones
21679                         })
21680                         SMID = 0xFF
21681                         SMIT = 0xC1
21682                         Index (TMP2, One) = SMID /* \_SB_.SMID */
21683                         Index (TMP2, 0x02) = Zero
21684                         Return (TMP2) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP2 */
21685                     }
21686 
21687                     If ((Arg2 == 0x06))
21688                     {
21689                         Return (0x03)
21690                     }
21691 
21692                     If ((Arg2 == 0x07))
21693                     {
21694                         If ((DerefOf (Index (Arg3, Zero)) <= 0x0B))
21695                         {
21696                             PPRQ = DerefOf (Index (Arg3, Zero))
21697                             SMID = PPRQ /* \_SB_.PPRQ */
21698                             SMIT = 0xC1
21699                             Return (Zero)
21700                         }
21701 
21702                         If (((DerefOf (Index (Arg3, Zero)) >= 0x0E) && (
21703                             DerefOf (Index (Arg3, Zero)) <= 0x12)))
21704                         {
21705                             PPRQ = DerefOf (Index (Arg3, Zero))
21706                             SMID = PPRQ /* \_SB_.PPRQ */
21707                             SMIT = 0xC1
21708                             Return (Zero)
21709                         }
21710 
21711                         If (((DerefOf (Index (Arg3, Zero)) == 0x15) || (DerefOf (Index (
21712                             Arg3, Zero)) == 0x16)))
21713                         {
21714                             PPRQ = DerefOf (Index (Arg3, Zero))
21715                             SMID = PPRQ /* \_SB_.PPRQ */
21716                             SMIT = 0xC1
21717                             Return (Zero)
21718                         }
21719 
21720                         Return (One)
21721                     }
21722 
21723                     If ((Arg2 == 0x08))
21724                     {
21725                         If ((TPM2 == One))
21726                         {
21727                             If ((DerefOf (Index (Arg3, Zero)) == Zero))
21728                             {
21729                                 Return (0x04)
21730                             }
21731 
21732                             If (((DerefOf (Index (Arg3, Zero)) >= One) && (
21733                                 DerefOf (Index (Arg3, Zero)) <= 0x04)))
21734                             {
21735                                 Return (0x04)
21736                             }
21737 
21738                             If (((DerefOf (Index (Arg3, Zero)) >= 0x06) && (
21739                                 DerefOf (Index (Arg3, Zero)) <= 0x0D)))
21740                             {
21741                                 Return (0x04)
21742                             }
21743 
21744                             If (((DerefOf (Index (Arg3, Zero)) == 0x0F) || (DerefOf (Index (
21745                                 Arg3, Zero)) == 0x10)))
21746                             {
21747                                 Return (0x04)
21748                             }
21749 
21750                             If (((DerefOf (Index (Arg3, Zero)) == 0x13) || (DerefOf (Index (
21751                                 Arg3, Zero)) == 0x14)))
21752                             {
21753                                 Return (0x04)
21754                             }
21755 
21756                             If (((DerefOf (Index (Arg3, Zero)) == 0x05) || (DerefOf (Index (
21757                                 Arg3, Zero)) == 0x0E)))
21758                             {
21759                                 If ((PPIC > Zero))
21760                                 {
21761                                     Return (0x04)
21762                                 }
21763 
21764                                 Return (0x03)
21765                             }
21766 
21767                             If (((DerefOf (Index (Arg3, Zero)) == 0x15) || (DerefOf (Index (
21768                                 Arg3, Zero)) == 0x16)))
21769                             {
21770                                 If ((PPIC > Zero))
21771                                 {
21772                                     Return (0x04)
21773                                 }
21774 
21775                                 Return (0x03)
21776                             }
21777 
21778                             If ((DerefOf (Index (Arg3, Zero)) == 0x11))
21779                             {
21780                                 Return (0x04)
21781                             }
21782 
21783                             If ((DerefOf (Index (Arg3, Zero)) == 0x12))
21784                             {
21785                                 Return (0x03)
21786                             }
21787                         }
21788                         Else
21789                         {
21790                             If ((DerefOf (Index (Arg3, Zero)) == 0x05))
21791                             {
21792                                 If ((PPIC > Zero))
21793                                 {
21794                                     Return (0x04)
21795                                 }
21796 
21797                                 Return (0x03)
21798                             }
21799 
21800                             If (((DerefOf (Index (Arg3, Zero)) >= One) && (
21801                                 DerefOf (Index (Arg3, Zero)) <= 0x04)))
21802                             {
21803                                 If ((PPIP > Zero))
21804                                 {
21805                                     Return (0x04)
21806                                 }
21807 
21808                                 Return (0x03)
21809                             }
21810 
21811                             If (((DerefOf (Index (Arg3, Zero)) >= 0x06) && (
21812                                 DerefOf (Index (Arg3, Zero)) <= 0x0B)))
21813                             {
21814                                 If ((PPIP > Zero))
21815                                 {
21816                                     Return (0x04)
21817                                 }
21818 
21819                                 Return (0x03)
21820                             }
21821 
21822                             If (((DerefOf (Index (Arg3, Zero)) == 0x0E) || ((
21823                                 DerefOf (Index (Arg3, Zero)) >= 0x15) && (DerefOf (Index (Arg3, Zero)) <= 
21824                                 0x16))))
21825                             {
21826                                 If (((PPIP > Zero) && (PPIC > Zero)))
21827                                 {
21828                                     Return (0x04)
21829                                 }
21830 
21831                                 Return (0x03)
21832                             }
21833 
21834                             If (((DerefOf (Index (Arg3, Zero)) == 0x10) || (DerefOf (Index (
21835                                 Arg3, Zero)) == 0x12)))
21836                             {
21837                                 Return (0x03)
21838                             }
21839 
21840                             If (((DerefOf (Index (Arg3, Zero)) == Zero) || ((DerefOf (
21841                                 Index (Arg3, Zero)) == 0x0F) || (DerefOf (Index (Arg3, Zero)) == 0x11))))
21842                             {
21843                                 Return (0x04)
21844                             }
21845 
21846                             Return (Zero)
21847                         }
21848                     }
21849 
21850                     Return (One)
21851                 }
21852 
21853                 If ((UCMP (Arg0, ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")) == One))
21854                 {
21855                     If ((Arg2 == Zero))
21856                     {
21857                         Return (Buffer (One)
21858                         {
21859                              0x03                                             /* . */
21860                         })
21861                     }
21862 
21863                     If ((Arg2 == One))
21864                     {
21865                         TMPV = DerefOf (Index (Arg3, Zero))
21866                         TMPV &= One
21867                         If ((TMPV == Zero))
21868                         {
21869                             \_SB.MOR = Zero
21870                             Return (Zero)
21871                         }
21872 
21873                         If ((TMPV == One))
21874                         {
21875                             \_SB.MOR = One
21876                             Return (Zero)
21877                         }
21878                     }
21879 
21880                     Return (One)
21881                 }
21882 
21883                 Return (Buffer (One)
21884                 {
21885                      0x00                                             /* . */
21886                 })
21887             }
21888 
21889             Method (CMOR, 0, NotSerialized)
21890             {
21891                 \_SB.MOR = Zero
21892                 SMID = 0x80
21893                 SMIT = 0xC1
21894             }
21895         }
21896     }
21897 }

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2016-01-22T06:00:35+0000, 730.7 KB) [[attachment:acpidump.txt]]
  • [get | view] (2016-01-22T06:00:19+0000, 8.1 KB) [[attachment:devinfo.txt]]
  • [get | view] (2016-01-22T05:59:34+0000, 9.9 KB) [[attachment:dmesg.txt]]
  • [get | view] (2016-01-22T06:00:10+0000, 3.8 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.