Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0xdaffe170, length=36, cksum=178
   4  */
   5 /*
   6   XSDT: Length=196, Revision=1, Checksum=153,
   7 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
   8 	Creator ID=PTL, Creator Revision=0x2
   9 	Entries={ 0xdafe7000, 0xdaffd000, 0xdaffc000, 0xdaffb000, 0xdaffa000, 0xdaff9000, 0xdafe5000, 0xdafe4000, 0xdafe3000, 0xdafe2000, 0xdafe1000, 0xdafe8000, 0xdafe0000, 0xdafdf000, 0xdafde000, 0xdafdd000, 0xdafdc000, 0xdafdb000, 0xdafda000, 0xdafd9000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=220,
  13 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
  14 	Creator ID=PTL, Creator Revision=0x2
  15  	FACS=0xdaf5a000, DSDT=0xdafe9000
  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=0x400-0x403
  22 	PM1a_CNT_BLK=0x404-0x405
  23 	PM2_CNT_BLK=0x450-0x450
  24 	PM_TMR_BLK=0x408-0x40b
  25 	GPE0_BLK=0x420-0x42f
  26 	CST_CNT=0xf4
  27 	P_LVL2_LAT=101 us, P_LVL3_LAT=57 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=0x00000000, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=1
  40  */
  41 /*
  42   DSDT: Length=65294, Revision=1, Checksum=64,
  43 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
  44 	Creator ID=INTL, Creator Revision=0x20061109
  45  */
  46 /*
  47   SLIC: Length=374, Revision=1, Checksum=140,
  48 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
  49 	Creator ID=PTL, Creator Revision=0x1
  50  */
  51 /*
  52   TCPA: Length=50, Revision=2, Checksum=246,
  53 	OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
  54 	Creator ID=LNVO, Creator Revision=0x1
  55 	Class 0 Base Address 0xdaf6d000 Length 65536
  56 
  57 	0 0xee1e18f0d6e0fa60f3c3de901007a0ca263fced4 [S-CRTM Version]
  58 	6 0x0ed34fd1bb4227e218191958f2ddf98c9c5d2eaf [Wake Event 1]
  59 	0 0x971002a29e1a3535743dfc4bf1b120ef940e08d0 [S-CRTM Contents]
  60 	0 0x4b10a7bdedc6d78f79e87f398dec6b826736f24d [POST Code]
  61 	1 0x7650ec456a83ffa352c1a0739f479e85f7b0248c [CPU Microcode]
  62 	4 0xa90dc2856d4e15ea42a01cc71faf20f3c0c540bb [<unknown 0x80000003>]
  63 	5 0xcd0fdb4531a6ec41be2753ba042637d6e5f7f256 [<unknown 0x80000007>]
  64 	0 0xa53982eca500261b7d118586f654f1a91ac12146 [<unknown 0x80000009>]
  65 	1 0x4530f91e0f5f963991dcfddfab512e4476371546 [<unknown 0x80000009>]
  66 	0 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  67 	1 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  68 	2 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  69 	3 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  70 	4 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  71 	5 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  72 	6 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  73 	7 0x9069ca78e7450a285173431b3e52c5c25299e473 [Separator]
  74 	1 0x964143528e01a52138b8281d64944d73d2ef646c [<unknown 0x80000002>]
  75 	2 0xb22071256a98a2ac340f0e9c9139d81217d7ec0a [<unknown 0x80000004>]
  76 	2 0x20a587f61faed56b3820a5270bf09f878c7e9373 [<unknown 0x80000004>]
  77 	2 0xfd85238a3ed4804275aeeac7eb60e9da5269883f [<unknown 0x80000003>]
  78 	4 0x90da49439bace95bbb7bc36c3510e6a568deffce [<unknown 0x80000003>]
  79  */
  80 /*
  81   SSDT: Length=1032, Revision=1, Checksum=198,
  82 	OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
  83 	Creator ID=INTL, Creator Revision=0x20061109
  84  */
  85 /*
  86   SSDT: Length=51, Revision=1, Checksum=97,
  87 	OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
  88 	Creator ID=INTL, Creator Revision=0x20061109
  89  */
  90 /*
  91   SSDT: Length=1943, Revision=1, Checksum=119,
  92 	OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
  93 	Creator ID=INTL, Creator Revision=0x20061109
  94  */
  95 /*
  96   HPET: Length=56, Revision=1, Checksum=173,
  97 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
  98 	Creator ID=PTL, Creator Revision=0x2
  99 	HPET Number=0
 100 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
 101 	Comparators=3
 102 	Counter Size=1
 103 	Legacy IRQ routing capable={TRUE}
 104 	PCI Vendor ID=0x8086
 105 	Minimal Tick=128
 106 	Flags=0x00
 107  */
 108 /*
 109   APIC: Length=152, Revision=1, Checksum=229,
 110 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 111 	Creator ID=PTL, Creator Revision=0x2
 112 	Local APIC ADDR=0xfee00000
 113 	Flags={PC-AT}
 114 
 115 	Type=Local APIC
 116 	ACPI CPU=1
 117 	Flags={ENABLED}
 118 	APIC ID=0
 119 
 120 	Type=Local APIC
 121 	ACPI CPU=2
 122 	Flags={ENABLED}
 123 	APIC ID=1
 124 
 125 	Type=Local APIC
 126 	ACPI CPU=3
 127 	Flags={ENABLED}
 128 	APIC ID=2
 129 
 130 	Type=Local APIC
 131 	ACPI CPU=4
 132 	Flags={ENABLED}
 133 	APIC ID=3
 134 
 135 	Type=Local APIC
 136 	ACPI CPU=5
 137 	Flags={DISABLED}
 138 	APIC ID=0
 139 
 140 	Type=Local APIC
 141 	ACPI CPU=6
 142 	Flags={DISABLED}
 143 	APIC ID=0
 144 
 145 	Type=Local APIC
 146 	ACPI CPU=7
 147 	Flags={DISABLED}
 148 	APIC ID=0
 149 
 150 	Type=Local APIC
 151 	ACPI CPU=8
 152 	Flags={DISABLED}
 153 	APIC ID=0
 154 
 155 	Type=IO APIC
 156 	APIC ID=2
 157 	INT BASE=0
 158 	ADDR=0x00000000fec00000
 159 
 160 	Type=INT Override
 161 	BUS=0
 162 	IRQ=0
 163 	INTR=2
 164 	Flags={Polarity=conforming, Trigger=conforming}
 165 
 166 	Type=INT Override
 167 	BUS=0
 168 	IRQ=9
 169 	INTR=9
 170 	Flags={Polarity=active-hi, Trigger=level}
 171 
 172 	Type=Local APIC NMI
 173 	ACPI CPU=0
 174 	LINT Pin=1
 175 	Flags={Polarity=active-hi, Trigger=edge}
 176 
 177 	Type=Local APIC NMI
 178 	ACPI CPU=1
 179 	LINT Pin=1
 180 	Flags={Polarity=active-hi, Trigger=edge}
 181  */
 182 /*
 183   MCFG: Length=60, Revision=1, Checksum=126,
 184 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 185 	Creator ID=PTL, Creator Revision=0x2
 186 
 187 	Base Address=0x00000000f8000000
 188 	Segment Group=0x0000
 189 	Start Bus=0
 190 	End Bus=63
 191  */
 192 /*
 193   ECDT: Length=82, Revision=1, Checksum=100,
 194 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 195 	Creator ID=PTL, Creator Revision=0x2
 196 	EC_CONTROL=0x66:0[8] (IO)
 197 	EC_DATA=0x62:0[8] (IO)
 198 	UID=0, GPE_BIT=0x11
 199 	EC_ID=\_SB.PCI0.LPC.EC
 200  */
 201 /*
 202   FPDT: Length=100, Revision=1, Checksum=1,
 203 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 204 	Creator ID=PTL, Creator Revision=0x2
 205  */
 206 /*
 207   ASF!: Length=165, Revision=32, Checksum=251,
 208 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 209 	Creator ID=PTL, Creator Revision=0x2
 210  */
 211 /*
 212   UEFI: Length=62, Revision=1, Checksum=201,
 213 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 214 	Creator ID=PTL, Creator Revision=0x2
 215  */
 216 /*
 217   UEFI: Length=66, Revision=1, Checksum=110,
 218 	OEMID=PTL, OEM Table ID=COMBUF, OEM Revision=0x1,
 219 	Creator ID=PTL, Creator Revision=0x1
 220  */
 221 /*
 222   MSDM: Length=85, Revision=3, Checksum=30,
 223 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 224 	Creator ID=PTL, Creator Revision=0x2
 225  */
 226 /*
 227   SSDT: Length=3253, Revision=1, Checksum=4,
 228 	OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 229 	Creator ID=INTL, Creator Revision=0x20061109
 230  */
 231 /*
 232   SSDT: Length=2686, Revision=1, Checksum=1,
 233 	OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
 234 	Creator ID=INTL, Creator Revision=0x20061109
 235  */
 236 /*
 237   UEFI: Length=678, Revision=1, Checksum=83,
 238 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 239 	Creator ID=PTL, Creator Revision=0x2
 240  */
 241 /*
 242   DBG2: Length=233, Revision=0, Checksum=221,
 243 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 244 	Creator ID=PTL, Creator Revision=0x2
 245  */
 246 /*
 247   BGRT: Length=56, Revision=0, Checksum=126,
 248 	OEMID=LENOVO, OEM Table ID=TP-G4, OEM Revision=0x2040,
 249 	Creator ID=PTL, Creator Revision=0x2
 250  */
 251 /*
 252  * Intel ACPI Component Architecture
 253  * AML Disassembler version 20130823-64
 254  * Copyright (c) 2000 - 2013 Intel Corporation
 255  * 
 256  * Disassembly of /tmp/acpidump.5Ekb5o, Mon Sep 22 12:24:06 2014
 257  *
 258  * Original Table Header:
 259  *     Signature        "DSDT"
 260  *     Length           0x0001215F (74079)
 261  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 262  *     Checksum         0xAF
 263  *     OEM ID           "LENOVO"
 264  *     OEM Table ID     "TP-G4   "
 265  *     OEM Revision     0x00002040 (8256)
 266  *     Compiler ID      "INTL"
 267  *     Compiler Version 0x20061109 (537268489)
 268  */
 269 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "TP-G4   ", 0x00002040)
 270 {
 271 
 272     External (_SB_.PCI0.SAT1.PRIM.GTME)
 273     External (_SB_.PCI0.SAT1.SCND.GTME)
 274     External (_SB_.PCI0.SAT1.SCND.MSTR)
 275     External (NPSS, IntObj)
 276 
 277     Scope (\_PR)
 278     {
 279         Processor (CPU0, 0x01, 0x00000410, 0x06) {}
 280         Processor (CPU1, 0x02, 0x00000410, 0x06) {}
 281         Processor (CPU2, 0x03, 0x00000410, 0x06) {}
 282         Processor (CPU3, 0x04, 0x00000410, 0x06) {}
 283         Processor (CPU4, 0x05, 0x00000410, 0x06) {}
 284         Processor (CPU5, 0x06, 0x00000410, 0x06) {}
 285         Processor (CPU6, 0x07, 0x00000410, 0x06) {}
 286         Processor (CPU7, 0x08, 0x00000410, 0x06) {}
 287     }
 288 
 289     Scope (\)
 290     {
 291         Method (PNTF, 1, NotSerialized)
 292         {
 293             If (And (\PPMF, 0x0400))
 294             {
 295                 If (LOr (LAnd (And (PDC0, 0x08), LOr (LEqual (Arg0, 
 296                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC0, 0x10), LEqual (Arg0, 
 297                     0x81))))
 298                 {
 299                     Notify (\_PR.CPU0, Arg0)
 300                 }
 301 
 302                 If (LOr (LAnd (And (PDC1, 0x08), LOr (LEqual (Arg0, 
 303                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC1, 0x10), LEqual (Arg0, 
 304                     0x81))))
 305                 {
 306                     Notify (\_PR.CPU1, Arg0)
 307                 }
 308 
 309                 If (LOr (LAnd (And (PDC2, 0x08), LOr (LEqual (Arg0, 
 310                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC2, 0x10), LEqual (Arg0, 
 311                     0x81))))
 312                 {
 313                     Notify (\_PR.CPU2, Arg0)
 314                 }
 315 
 316                 If (LOr (LAnd (And (PDC3, 0x08), LOr (LEqual (Arg0, 
 317                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC3, 0x10), LEqual (Arg0, 
 318                     0x81))))
 319                 {
 320                     Notify (\_PR.CPU3, Arg0)
 321                 }
 322 
 323                 If (LOr (LAnd (And (PDC4, 0x08), LOr (LEqual (Arg0, 
 324                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC4, 0x10), LEqual (Arg0, 
 325                     0x81))))
 326                 {
 327                     Notify (\_PR.CPU4, Arg0)
 328                 }
 329 
 330                 If (LOr (LAnd (And (PDC5, 0x08), LOr (LEqual (Arg0, 
 331                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC5, 0x10), LEqual (Arg0, 
 332                     0x81))))
 333                 {
 334                     Notify (\_PR.CPU5, Arg0)
 335                 }
 336 
 337                 If (LOr (LAnd (And (PDC6, 0x08), LOr (LEqual (Arg0, 
 338                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC6, 0x10), LEqual (Arg0, 
 339                     0x81))))
 340                 {
 341                     Notify (\_PR.CPU6, Arg0)
 342                 }
 343 
 344                 If (LOr (LAnd (And (PDC7, 0x08), LOr (LEqual (Arg0, 
 345                     0x80), LEqual (Arg0, 0x82))), LAnd (And (PDC7, 0x10), LEqual (Arg0, 
 346                     0x81))))
 347                 {
 348                     Notify (\_PR.CPU7, Arg0)
 349                 }
 350             }
 351             Else
 352             {
 353                 If (LOr (LEqual (Arg0, 0x80), LOr (LEqual (Arg0, 0x81), LEqual (
 354                     Arg0, 0x82))))
 355                 {
 356                     Notify (\_PR.CPU0, Arg0)
 357                 }
 358             }
 359         }
 360     }
 361 
 362     OperationRegion (MNVS, SystemMemory, 0xDAF9D018, 0x1000)
 363     Field (MNVS, DWordAcc, NoLock, Preserve)
 364     {
 365         Offset (0xD00), 
 366         GAPA,   32, 
 367         GAPL,   32, 
 368         DCKI,   32, 
 369         DCKS,   32, 
 370         VCDL,   1, 
 371         VCDC,   1, 
 372         VCDT,   1, 
 373         VCDD,   1, 
 374             ,   1, 
 375         VCSS,   1, 
 376         VCDB,   1, 
 377         VCIN,   1, 
 378         VVPO,   8, 
 379         BRTN,   8, 
 380         BRLV,   8, 
 381         CDFL,   8, 
 382         CDAH,   8, 
 383         PMOD,   2, 
 384         PDIR,   1, 
 385         PDMA,   1, 
 386         Offset (0xD17), 
 387         LFDC,   1, 
 388         Offset (0xD18), 
 389         C2NA,   1, 
 390         C3NA,   1, 
 391         C4NA,   1, 
 392         C6NA,   1, 
 393         C7NA,   1, 
 394         Offset (0xD19), 
 395         Offset (0xD1A), 
 396             ,   2, 
 397             ,   1, 
 398         NHPS,   1, 
 399         NPME,   1, 
 400         Offset (0xD1B), 
 401         UOPT,   8, 
 402         BTID,   32, 
 403         DPP0,   1, 
 404         DPP1,   1, 
 405         DPP2,   1, 
 406         DPP3,   1, 
 407         DPP4,   1, 
 408         DPP5,   1, 
 409         Offset (0xD21), 
 410         Offset (0xD22), 
 411         TCRT,   16, 
 412         TPSV,   16, 
 413         TTC1,   16, 
 414         TTC2,   16, 
 415         TTSP,   16, 
 416         SRAH,   8, 
 417         SRHE,   8, 
 418         SRE1,   8, 
 419         SRE2,   8, 
 420         SRE3,   8, 
 421         SRE4,   8, 
 422         SRE5,   8, 
 423         SRE6,   8, 
 424         SRU1,   8, 
 425         SRU2,   8, 
 426         SRU3,   8, 
 427         SRU7,   8, 
 428         SRU4,   8, 
 429         SRU5,   8, 
 430         SRU8,   8, 
 431         SRPB,   8, 
 432         SRLP,   8, 
 433         SRSA,   8, 
 434         SRSM,   8, 
 435         CWAC,   1, 
 436         CWAS,   1, 
 437         CWUE,   1, 
 438         CWUS,   1, 
 439         Offset (0xD40), 
 440         CWAP,   16, 
 441         CWAT,   16, 
 442         DBGC,   1, 
 443         Offset (0xD45), 
 444         FS1L,   16, 
 445         FS1M,   16, 
 446         FS1H,   16, 
 447         FS2L,   16, 
 448         FS2M,   16, 
 449         FS2H,   16, 
 450         FS3L,   16, 
 451         FS3M,   16, 
 452         FS3H,   16, 
 453         TATC,   1, 
 454             ,   6, 
 455         TATL,   1, 
 456         TATW,   8, 
 457         TNFT,   4, 
 458         TNTT,   4, 
 459         TDFA,   4, 
 460         TDTA,   4, 
 461         TDFD,   4, 
 462         TDTD,   4, 
 463         TCFA,   4, 
 464         TCTA,   4, 
 465         TCFD,   4, 
 466         TCTD,   4, 
 467         TSFT,   4, 
 468         TSTT,   4, 
 469         TIT0,   8, 
 470         TCR0,   16, 
 471         TPS0,   16, 
 472         TIT1,   8, 
 473         TCR1,   16, 
 474         TPS1,   16, 
 475         TIT2,   8, 
 476         TCR2,   16, 
 477         TPS2,   16, 
 478         TIF0,   8, 
 479         TIF1,   8, 
 480         TIF2,   8, 
 481         Offset (0xD78), 
 482         BTHI,   1, 
 483         Offset (0xD79), 
 484         HDIR,   1, 
 485         HDEH,   1, 
 486         HDSP,   1, 
 487         HDPP,   1, 
 488         HDUB,   1, 
 489         HDMC,   1, 
 490         Offset (0xD7A), 
 491         TPME,   8, 
 492         BIDE,   4, 
 493         IDET,   4, 
 494             ,   1, 
 495         DTSE,   1, 
 496         Offset (0xD7D), 
 497         DTS0,   8, 
 498         DTS1,   8, 
 499         DT00,   1, 
 500         DT01,   1, 
 501         DT02,   1, 
 502         DT03,   1, 
 503         Offset (0xD80), 
 504         LIDB,   1, 
 505         C4WR,   1, 
 506         C4AC,   1, 
 507         ODDX,   1, 
 508         CMPR,   1, 
 509         ILNF,   1, 
 510         PLUX,   1, 
 511         Offset (0xD81), 
 512         Offset (0xD8C), 
 513             ,   4, 
 514             ,   1, 
 515         IDMM,   1, 
 516         Offset (0xD8D), 
 517             ,   3, 
 518             ,   1, 
 519             ,   1, 
 520         LIDS,   1, 
 521         Offset (0xD8E), 
 522         Offset (0xD8F), 
 523             ,   4, 
 524         Offset (0xD90), 
 525         TCG0,   1, 
 526         TCG1,   1, 
 527         Offset (0xD91), 
 528         SWGP,   8, 
 529         IPMS,   8, 
 530         IPMB,   120, 
 531         IPMR,   24, 
 532         IPMO,   24, 
 533         IPMA,   8, 
 534         VIGD,   1, 
 535         VDSC,   1, 
 536             ,   2, 
 537         VDSP,   1, 
 538         Offset (0xDAA), 
 539         Offset (0xDAD), 
 540         ASFT,   8, 
 541         PL1L,   8, 
 542         PL1M,   8, 
 543         CHKC,   32, 
 544         CHKE,   32, 
 545         ATRB,   32, 
 546         Offset (0xDBD), 
 547         PPCR,   8, 
 548         TPCR,   5, 
 549         Offset (0xDBF), 
 550         Offset (0xDCE), 
 551         CTDP,   8, 
 552         PPCA,   8, 
 553         TPCA,   5, 
 554         Offset (0xDD1), 
 555         BFWB,   296, 
 556         OSPX,   1, 
 557         OSC4,   1, 
 558         Offset (0xDF7), 
 559         SPEN,   1, 
 560         SCRM,   1, 
 561         GFPL,   1, 
 562         ETAU,   1, 
 563         IHBC,   1, 
 564         APMD,   1, 
 565         APMF,   1, 
 566         TDNV,   1, 
 567         FTPS,   8, 
 568         HIST,   8, 
 569         LPST,   8, 
 570         LWST,   8, 
 571         Offset (0xDFF), 
 572         MTAU,   8, 
 573         Offset (0xE20), 
 574         HPET,   32, 
 575         PKLI,   16, 
 576         VLCX,   16, 
 577         VNIT,   8, 
 578         VBD0,   8, 
 579         VBDT,   128, 
 580         VBPL,   16, 
 581         VBPH,   16, 
 582         VBML,   8, 
 583         VBMH,   8, 
 584         VEDI,   1024, 
 585         PDCI,   16, 
 586         ISCG,   32, 
 587         ISSP,   1, 
 588         ISWK,   2, 
 589         Offset (0xEC7), 
 590         SHA1,   160, 
 591         FFDT,   1, 
 592         Offset (0xEDC), 
 593         LWCP,   1, 
 594         LWEN,   1, 
 595         Offset (0xEDD), 
 596         USBR,   1, 
 597         Offset (0xEDE), 
 598         Offset (0xEDF), 
 599         Offset (0xEE1), 
 600         LPAW,   8, 
 601         XPFG,   1, 
 602         SVHC,   1, 
 603         Offset (0xEE3), 
 604             ,   2, 
 605         CPUC,   1, 
 606         Offset (0xEE4)
 607     }
 608 
 609     Field (MNVS, ByteAcc, NoLock, Preserve)
 610     {
 611         Offset (0xB00), 
 612         WITM,   8, 
 613         WSEL,   8, 
 614         WLS0,   8, 
 615         WLS1,   8, 
 616         WLS2,   8, 
 617         WLS3,   8, 
 618         WLS4,   8, 
 619         WLS5,   8, 
 620         WLS6,   8, 
 621         WLS7,   8, 
 622         WLS8,   8, 
 623         WLS9,   8, 
 624         WLSA,   8, 
 625         WLSB,   8, 
 626         WLSC,   8, 
 627         WLSD,   8, 
 628         WENC,   8, 
 629         WKBD,   8, 
 630         WPTY,   8, 
 631         WPAS,   1032, 
 632         WPNW,   1032, 
 633         WSPM,   8, 
 634         WSPS,   8, 
 635         WSMN,   8, 
 636         WSMX,   8, 
 637         WSEN,   8, 
 638         WSKB,   8
 639     }
 640 
 641     Field (MNVS, ByteAcc, NoLock, Preserve)
 642     {
 643         Offset (0xA00), 
 644         DBGS,   1024
 645     }
 646 
 647     OperationRegion (GNVS, SystemMemory, 0xDAF6CE18, 0x01C8)
 648     Field (GNVS, AnyAcc, Lock, Preserve)
 649     {
 650         OSYS,   16, 
 651         SMIF,   8, 
 652         PRM0,   8, 
 653         PRM1,   8, 
 654         Offset (0x10), 
 655         PWRS,   8, 
 656         Offset (0x1E), 
 657         Offset (0x25), 
 658         REVN,   8, 
 659         Offset (0x28), 
 660         APIC,   8, 
 661         TCNT,   8, 
 662         PCP0,   8, 
 663         PCP1,   8, 
 664         PPCM,   8, 
 665         PPMF,   32, 
 666         C67L,   8, 
 667         Offset (0x3C), 
 668         IGDS,   8, 
 669         TLST,   8, 
 670         CADL,   8, 
 671         PADL,   8, 
 672         CSTE,   16, 
 673         NSTE,   16, 
 674         SSTE,   16, 
 675         NDID,   8, 
 676         DID1,   32, 
 677         DID2,   32, 
 678         DID3,   32, 
 679         DID4,   32, 
 680         DID5,   32, 
 681         KSV0,   32, 
 682         KSV1,   8, 
 683         Offset (0x67), 
 684         BLCS,   8, 
 685         BRTL,   8, 
 686         Offset (0x78), 
 687         TPMP,   8, 
 688         Offset (0x7A), 
 689         MORD,   8, 
 690         TCGP,   8, 
 691         PPRP,   32, 
 692         PPRQ,   8, 
 693         LPPR,   8, 
 694         GTF0,   56, 
 695         GTF2,   56, 
 696         IDEM,   8, 
 697         GTF1,   56, 
 698         BID,    8, 
 699         PLID,   8, 
 700         AOAC,   8, 
 701         SLDR,   32, 
 702         WAKR,   8, 
 703         Offset (0xAA), 
 704         ASLB,   32, 
 705         IBTT,   8, 
 706         IPAT,   8, 
 707         ITVF,   8, 
 708         ITVM,   8, 
 709         IPSC,   8, 
 710         IBLC,   8, 
 711         IBIA,   8, 
 712         ISSC,   8, 
 713         I409,   8, 
 714         I509,   8, 
 715         I609,   8, 
 716         I709,   8, 
 717         IPCF,   8, 
 718         IDMS,   8, 
 719         IF1E,   8, 
 720         HVCO,   8, 
 721         NXD1,   32, 
 722         NXD2,   32, 
 723         NXD3,   32, 
 724         NXD4,   32, 
 725         NXD5,   32, 
 726         NXD6,   32, 
 727         NXD7,   32, 
 728         NXD8,   32, 
 729         GSMI,   8, 
 730         PAVP,   8, 
 731         Offset (0xE1), 
 732         OSCC,   8, 
 733         NEXP,   8, 
 734         SDGV,   8, 
 735         SDDV,   8, 
 736         Offset (0xEB), 
 737         DSEN,   8, 
 738         ECON,   8, 
 739         Offset (0xEE), 
 740         CTYP,   8, 
 741         L01C,   8, 
 742         VFN0,   8, 
 743         VFN1,   8, 
 744         Offset (0x100), 
 745         NVGA,   32, 
 746         NVHA,   32, 
 747         AMDA,   32, 
 748         DID6,   32, 
 749         DID7,   32, 
 750         DID8,   32, 
 751         EBAS,   32, 
 752         CPSP,   32, 
 753         EECP,   32, 
 754         EVCP,   32, 
 755         XBAS,   32, 
 756         OBS1,   32, 
 757         OBS2,   32, 
 758         OBS3,   32, 
 759         OBS4,   32, 
 760         OBS5,   32, 
 761         OBS6,   32, 
 762         OBS7,   32, 
 763         OBS8,   32, 
 764         Offset (0x157), 
 765         ATMC,   8, 
 766         PTMC,   8, 
 767         ATRA,   8, 
 768         PTRA,   8, 
 769         PNHM,   32, 
 770         TBAB,   32, 
 771         TBAH,   32, 
 772         RTIP,   8, 
 773         TSOD,   8, 
 774         ATPC,   8, 
 775         PTPC,   8, 
 776         PFLV,   8, 
 777         BREV,   8, 
 778         HGMD,   8, 
 779         PWOK,   8, 
 780         HLRS,   8, 
 781         DSEL,   8, 
 782         ESEL,   8, 
 783         PSEL,   8, 
 784         PWEN,   8, 
 785         PRST,   8, 
 786         DPBM,   8, 
 787         DPCM,   8, 
 788         DPDM,   8, 
 789         ALFP,   8, 
 790         IMON,   8, 
 791         PDTS,   8, 
 792         PKGA,   8, 
 793         PAMT,   8, 
 794         AC0F,   8, 
 795         AC1F,   8, 
 796         Offset (0x1B2), 
 797         XHCM,   8, 
 798         XHPM,   8
 799     }
 800 
 801     Scope (\_SB)
 802     {
 803         Method (_INI, 0, NotSerialized)  // _INI: Initialize
 804         {
 805             If (CondRefOf (\_OSI, Local0))
 806             {
 807                 If (\_OSI ("Windows 2001"))
 808                 {
 809                     Store (0x01, \WNTF)
 810                     Store (0x01, \WXPF)
 811                     Store (0x00, \WSPV)
 812                 }
 813 
 814                 If (\_OSI ("Windows 2001 SP1"))
 815                 {
 816                     Store (0x01, \WSPV)
 817                 }
 818 
 819                 If (\_OSI ("Windows 2001 SP2"))
 820                 {
 821                     Store (0x02, \WSPV)
 822                 }
 823 
 824                 If (\_OSI ("Windows 2006"))
 825                 {
 826                     Store (0x01, \WVIS)
 827                 }
 828 
 829                 If (\_OSI ("Windows 2009"))
 830                 {
 831                     Store (0x01, \WIN7)
 832                 }
 833 
 834                 If (\_OSI ("Windows 2012"))
 835                 {
 836                     Store (0x01, \WIN8)
 837                 }
 838 
 839                 If (\_OSI ("Linux"))
 840                 {
 841                     Store (0x01, \LNUX)
 842                 }
 843 
 844                 If (\_OSI ("FreeBSD"))
 845                 {
 846                     Store (0x01, \LNUX)
 847                 }
 848             }
 849             Else
 850             {
 851                 If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero))
 852                 {
 853                     Store (0x01, \WNTF)
 854                 }
 855             }
 856 
 857             If (LGreaterEqual (\_REV, 0x02))
 858             {
 859                 Store (0x01, \H8DR)
 860             }
 861 
 862             Store (0x01, \OSIF)
 863             Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
 864             \_SB.PCI0.LPC.MOU.MHID ()
 865             If (\LNUX)
 866             {
 867                 \_SB.PCI0.LPC.EC.SAUM (0x02)
 868                 \UCMS (0x1C)
 869             }
 870 
 871             Store (\SRAH, \_SB.PCI0.RID)
 872             If (VIGD)
 873             {
 874                 Store (\SRHE, \_SB.PCI0.VID.RID)
 875             }
 876             Else
 877             {
 878                 Store (\SRHE, \_SB.PCI0.PEG.RID)
 879             }
 880 
 881             Store (\SRE1, \_SB.PCI0.EXP1.RID)
 882             Store (\SRE2, \_SB.PCI0.EXP2.RID)
 883             Store (\SRE3, \_SB.PCI0.EXP3.RID)
 884             Store (\SRU7, \_SB.PCI0.EHC1.RID)
 885             Store (\SRU8, \_SB.PCI0.EHC2.RID)
 886             Store (\SRLP, \_SB.PCI0.LPC.RID)
 887             Store (\SRSA, \_SB.PCI0.SAT1.RID)
 888             Store (\SRSM, \_SB.PCI0.SMBU.RID)
 889             If (VDSP)
 890             {
 891                 Store (\VHYB (0x05, 0x00), Local1)
 892                 If (And (Local1, 0x80))
 893                 {
 894                     If (\WIN7)
 895                     {
 896                         If (LNotEqual (And (Local1, 0x03), 0x03))
 897                         {
 898                             \VHYB (0x06, 0x03)
 899                         }
 900                     }
 901                     Else
 902                     {
 903                         If (LEqual (And (Local1, 0x03), 0x03))
 904                         {
 905                             \VHYB (0x06, 0x02)
 906                         }
 907                     }
 908                 }
 909             }
 910 
 911             If (\WIN7)
 912             {
 913                 Store (0x00, XPFG)
 914             }
 915             Else
 916             {
 917                 Store (0x01, XPFG)
 918             }
 919 
 920             \UCMS (0x1D)
 921         }
 922 
 923         Device (LNKA)
 924         {
 925             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
 926             Name (_UID, 0x01)  // _UID: Unique ID
 927             Method (_STA, 0, NotSerialized)  // _STA: Status
 928             {
 929                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRA)))
 930                 {
 931                     Return (0x09)
 932                 }
 933                 Else
 934                 {
 935                     Return (0x0B)
 936                 }
 937             }
 938 
 939             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
 940             {
 941                 IRQ (Level, ActiveLow, Shared, )
 942                     {3,4,5,6,7,9,10,11}
 943             })
 944             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
 945             {
 946                 Or (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA)
 947             }
 948 
 949             Name (BUFA, ResourceTemplate ()
 950             {
 951                 IRQ (Level, ActiveLow, Shared, _Y00)
 952                     {}
 953             })
 954             CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1)  // _INT: Interrupts
 955             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
 956             {
 957                 And (\_SB.PCI0.LPC.PIRA, 0x8F, Local0)
 958                 If (VPIR (Local0))
 959                 {
 960                     ShiftLeft (0x01, Local0, IRA1)
 961                 }
 962                 Else
 963                 {
 964                     Store (0x00, IRA1)
 965                 }
 966 
 967                 Return (BUFA)
 968             }
 969 
 970             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
 971             {
 972                 CreateWordField (Arg0, 0x01, IRA2)
 973                 FindSetRightBit (IRA2, Local0)
 974                 And (\_SB.PCI0.LPC.PIRA, 0x70, Local1)
 975                 Or (Local1, Decrement (Local0), Local1)
 976                 Store (Local1, \_SB.PCI0.LPC.PIRA)
 977             }
 978         }
 979 
 980         Device (LNKB)
 981         {
 982             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
 983             Name (_UID, 0x02)  // _UID: Unique ID
 984             Method (_STA, 0, NotSerialized)  // _STA: Status
 985             {
 986                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRB)))
 987                 {
 988                     Return (0x09)
 989                 }
 990                 Else
 991                 {
 992                     Return (0x0B)
 993                 }
 994             }
 995 
 996             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
 997             {
 998                 IRQ (Level, ActiveLow, Shared, )
 999                     {3,4,5,6,7,9,10,11}
1000             })
1001             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1002             {
1003                 Or (\_SB.PCI0.LPC.PIRB, 0x80, \_SB.PCI0.LPC.PIRB)
1004             }
1005 
1006             Name (BUFB, ResourceTemplate ()
1007             {
1008                 IRQ (Level, ActiveLow, Shared, _Y01)
1009                     {}
1010             })
1011             CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1)  // _INT: Interrupts
1012             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1013             {
1014                 And (\_SB.PCI0.LPC.PIRB, 0x8F, Local0)
1015                 If (VPIR (Local0))
1016                 {
1017                     ShiftLeft (0x01, Local0, IRB1)
1018                 }
1019                 Else
1020                 {
1021                     Store (0x00, IRB1)
1022                 }
1023 
1024                 Return (BUFB)
1025             }
1026 
1027             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1028             {
1029                 CreateWordField (Arg0, 0x01, IRB2)
1030                 FindSetRightBit (IRB2, Local0)
1031                 And (\_SB.PCI0.LPC.PIRB, 0x70, Local1)
1032                 Or (Local1, Decrement (Local0), Local1)
1033                 Store (Local1, \_SB.PCI0.LPC.PIRB)
1034             }
1035         }
1036 
1037         Device (LNKC)
1038         {
1039             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1040             Name (_UID, 0x03)  // _UID: Unique ID
1041             Method (_STA, 0, NotSerialized)  // _STA: Status
1042             {
1043                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRC)))
1044                 {
1045                     Return (0x09)
1046                 }
1047                 Else
1048                 {
1049                     Return (0x0B)
1050                 }
1051             }
1052 
1053             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1054             {
1055                 IRQ (Level, ActiveLow, Shared, )
1056                     {3,4,5,6,7,9,10,11}
1057             })
1058             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1059             {
1060                 Or (\_SB.PCI0.LPC.PIRC, 0x80, \_SB.PCI0.LPC.PIRC)
1061             }
1062 
1063             Name (BUFC, ResourceTemplate ()
1064             {
1065                 IRQ (Level, ActiveLow, Shared, _Y02)
1066                     {}
1067             })
1068             CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1)  // _INT: Interrupts
1069             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1070             {
1071                 And (\_SB.PCI0.LPC.PIRC, 0x8F, Local0)
1072                 If (VPIR (Local0))
1073                 {
1074                     ShiftLeft (0x01, Local0, IRC1)
1075                 }
1076                 Else
1077                 {
1078                     Store (0x00, IRC1)
1079                 }
1080 
1081                 Return (BUFC)
1082             }
1083 
1084             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1085             {
1086                 CreateWordField (Arg0, 0x01, IRC2)
1087                 FindSetRightBit (IRC2, Local0)
1088                 And (\_SB.PCI0.LPC.PIRC, 0x70, Local1)
1089                 Or (Local1, Decrement (Local0), Local1)
1090                 Store (Local1, \_SB.PCI0.LPC.PIRC)
1091             }
1092         }
1093 
1094         Device (LNKD)
1095         {
1096             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1097             Name (_UID, 0x04)  // _UID: Unique ID
1098             Method (_STA, 0, NotSerialized)  // _STA: Status
1099             {
1100                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRD)))
1101                 {
1102                     Return (0x09)
1103                 }
1104                 Else
1105                 {
1106                     Return (0x0B)
1107                 }
1108             }
1109 
1110             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1111             {
1112                 IRQ (Level, ActiveLow, Shared, )
1113                     {3,4,5,6,7,9,10,11}
1114             })
1115             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1116             {
1117                 Or (\_SB.PCI0.LPC.PIRD, 0x80, \_SB.PCI0.LPC.PIRD)
1118             }
1119 
1120             Name (BUFD, ResourceTemplate ()
1121             {
1122                 IRQ (Level, ActiveLow, Shared, _Y03)
1123                     {}
1124             })
1125             CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1)  // _INT: Interrupts
1126             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1127             {
1128                 And (\_SB.PCI0.LPC.PIRD, 0x8F, Local0)
1129                 If (VPIR (Local0))
1130                 {
1131                     ShiftLeft (0x01, Local0, IRD1)
1132                 }
1133                 Else
1134                 {
1135                     Store (0x00, IRD1)
1136                 }
1137 
1138                 Return (BUFD)
1139             }
1140 
1141             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1142             {
1143                 CreateWordField (Arg0, 0x01, IRD2)
1144                 FindSetRightBit (IRD2, Local0)
1145                 And (\_SB.PCI0.LPC.PIRD, 0x70, Local1)
1146                 Or (Local1, Decrement (Local0), Local1)
1147                 Store (Local1, \_SB.PCI0.LPC.PIRD)
1148             }
1149         }
1150 
1151         Device (LNKE)
1152         {
1153             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1154             Name (_UID, 0x05)  // _UID: Unique ID
1155             Method (_STA, 0, NotSerialized)  // _STA: Status
1156             {
1157                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRE)))
1158                 {
1159                     Return (0x09)
1160                 }
1161                 Else
1162                 {
1163                     Return (0x0B)
1164                 }
1165             }
1166 
1167             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1168             {
1169                 IRQ (Level, ActiveLow, Shared, )
1170                     {3,4,5,6,7,9,10,11}
1171             })
1172             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1173             {
1174                 Or (\_SB.PCI0.LPC.PIRE, 0x80, \_SB.PCI0.LPC.PIRE)
1175             }
1176 
1177             Name (BUFE, ResourceTemplate ()
1178             {
1179                 IRQ (Level, ActiveLow, Shared, _Y04)
1180                     {}
1181             })
1182             CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1)  // _INT: Interrupts
1183             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1184             {
1185                 And (\_SB.PCI0.LPC.PIRE, 0x8F, Local0)
1186                 If (VPIR (Local0))
1187                 {
1188                     ShiftLeft (0x01, Local0, IRE1)
1189                 }
1190                 Else
1191                 {
1192                     Store (0x00, IRE1)
1193                 }
1194 
1195                 Return (BUFE)
1196             }
1197 
1198             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1199             {
1200                 CreateWordField (Arg0, 0x01, IRE2)
1201                 FindSetRightBit (IRE2, Local0)
1202                 And (\_SB.PCI0.LPC.PIRE, 0x70, Local1)
1203                 Or (Local1, Decrement (Local0), Local1)
1204                 Store (Local1, \_SB.PCI0.LPC.PIRE)
1205             }
1206         }
1207 
1208         Device (LNKF)
1209         {
1210             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1211             Name (_UID, 0x06)  // _UID: Unique ID
1212             Method (_STA, 0, NotSerialized)  // _STA: Status
1213             {
1214                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRF)))
1215                 {
1216                     Return (0x09)
1217                 }
1218                 Else
1219                 {
1220                     Return (0x0B)
1221                 }
1222             }
1223 
1224             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1225             {
1226                 IRQ (Level, ActiveLow, Shared, )
1227                     {3,4,5,6,7,9,10,11}
1228             })
1229             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1230             {
1231                 Or (\_SB.PCI0.LPC.PIRF, 0x80, \_SB.PCI0.LPC.PIRF)
1232             }
1233 
1234             Name (BUFF, ResourceTemplate ()
1235             {
1236                 IRQ (Level, ActiveLow, Shared, _Y05)
1237                     {}
1238             })
1239             CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1)  // _INT: Interrupts
1240             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1241             {
1242                 And (\_SB.PCI0.LPC.PIRF, 0x8F, Local0)
1243                 If (VPIR (Local0))
1244                 {
1245                     ShiftLeft (0x01, Local0, IRF1)
1246                 }
1247                 Else
1248                 {
1249                     Store (0x00, IRF1)
1250                 }
1251 
1252                 Return (BUFF)
1253             }
1254 
1255             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1256             {
1257                 CreateWordField (Arg0, 0x01, IRF2)
1258                 FindSetRightBit (IRF2, Local0)
1259                 And (\_SB.PCI0.LPC.PIRF, 0x70, Local1)
1260                 Or (Local1, Decrement (Local0), Local1)
1261                 Store (Local1, \_SB.PCI0.LPC.PIRF)
1262             }
1263         }
1264 
1265         Device (LNKG)
1266         {
1267             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1268             Name (_UID, 0x07)  // _UID: Unique ID
1269             Method (_STA, 0, NotSerialized)  // _STA: Status
1270             {
1271                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRG)))
1272                 {
1273                     Return (0x09)
1274                 }
1275                 Else
1276                 {
1277                     Return (0x0B)
1278                 }
1279             }
1280 
1281             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1282             {
1283                 IRQ (Level, ActiveLow, Shared, )
1284                     {3,4,5,6,7,9,10,11}
1285             })
1286             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1287             {
1288                 Or (\_SB.PCI0.LPC.PIRG, 0x80, \_SB.PCI0.LPC.PIRG)
1289             }
1290 
1291             Name (BUFG, ResourceTemplate ()
1292             {
1293                 IRQ (Level, ActiveLow, Shared, _Y06)
1294                     {}
1295             })
1296             CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1)  // _INT: Interrupts
1297             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1298             {
1299                 And (\_SB.PCI0.LPC.PIRG, 0x8F, Local0)
1300                 If (VPIR (Local0))
1301                 {
1302                     ShiftLeft (0x01, Local0, IRG1)
1303                 }
1304                 Else
1305                 {
1306                     Store (0x00, IRG1)
1307                 }
1308 
1309                 Return (BUFG)
1310             }
1311 
1312             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1313             {
1314                 CreateWordField (Arg0, 0x01, IRG2)
1315                 FindSetRightBit (IRG2, Local0)
1316                 And (\_SB.PCI0.LPC.PIRG, 0x70, Local1)
1317                 Or (Local1, Decrement (Local0), Local1)
1318                 Store (Local1, \_SB.PCI0.LPC.PIRG)
1319             }
1320         }
1321 
1322         Device (LNKH)
1323         {
1324             Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
1325             Name (_UID, 0x08)  // _UID: Unique ID
1326             Method (_STA, 0, NotSerialized)  // _STA: Status
1327             {
1328                 If (LNot (VPIR (\_SB.PCI0.LPC.PIRH)))
1329                 {
1330                     Return (0x09)
1331                 }
1332                 Else
1333                 {
1334                     Return (0x0B)
1335                 }
1336             }
1337 
1338             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1339             {
1340                 IRQ (Level, ActiveLow, Shared, )
1341                     {3,4,5,6,7,9,10,11}
1342             })
1343             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1344             {
1345                 Or (\_SB.PCI0.LPC.PIRH, 0x80, \_SB.PCI0.LPC.PIRH)
1346             }
1347 
1348             Name (BUFH, ResourceTemplate ()
1349             {
1350                 IRQ (Level, ActiveLow, Shared, _Y07)
1351                     {}
1352             })
1353             CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1)  // _INT: Interrupts
1354             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1355             {
1356                 And (\_SB.PCI0.LPC.PIRH, 0x8F, Local0)
1357                 If (VPIR (Local0))
1358                 {
1359                     ShiftLeft (0x01, Local0, IRH1)
1360                 }
1361                 Else
1362                 {
1363                     Store (0x00, IRH1)
1364                 }
1365 
1366                 Return (BUFH)
1367             }
1368 
1369             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1370             {
1371                 CreateWordField (Arg0, 0x01, IRH2)
1372                 FindSetRightBit (IRH2, Local0)
1373                 And (\_SB.PCI0.LPC.PIRH, 0x70, Local1)
1374                 Or (Local1, Decrement (Local0), Local1)
1375                 Store (Local1, \_SB.PCI0.LPC.PIRH)
1376             }
1377         }
1378 
1379         Method (VPIR, 1, NotSerialized)
1380         {
1381             Store (0x01, Local0)
1382             If (And (Arg0, 0x80))
1383             {
1384                 Store (0x00, Local0)
1385             }
1386             Else
1387             {
1388                 And (Arg0, 0x0F, Local1)
1389                 If (LLess (Local1, 0x03))
1390                 {
1391                     Store (0x00, Local0)
1392                 }
1393                 Else
1394                 {
1395                     If (LOr (LEqual (Local1, 0x08), LEqual (Local1, 0x0D)))
1396                     {
1397                         Store (0x00, Local0)
1398                     }
1399                 }
1400             }
1401 
1402             Return (Local0)
1403         }
1404 
1405         Device (MEM)
1406         {
1407             Name (_HID, EisaId ("PNP0C01"))  // _HID: Hardware ID
1408             Name (MEMS, ResourceTemplate ()
1409             {
1410                 Memory32Fixed (ReadWrite,
1411                     0x00000000,         // Address Base
1412                     0x000A0000,         // Address Length
1413                     )
1414                 Memory32Fixed (ReadOnly,
1415                     0x000C0000,         // Address Base
1416                     0x00000000,         // Address Length
1417                     _Y08)
1418                 Memory32Fixed (ReadOnly,
1419                     0x000C4000,         // Address Base
1420                     0x00000000,         // Address Length
1421                     _Y09)
1422                 Memory32Fixed (ReadOnly,
1423                     0x000C8000,         // Address Base
1424                     0x00000000,         // Address Length
1425                     _Y0A)
1426                 Memory32Fixed (ReadOnly,
1427                     0x000CC000,         // Address Base
1428                     0x00000000,         // Address Length
1429                     _Y0B)
1430                 Memory32Fixed (ReadOnly,
1431                     0x000D0000,         // Address Base
1432                     0x00000000,         // Address Length
1433                     _Y0C)
1434                 Memory32Fixed (ReadOnly,
1435                     0x000D4000,         // Address Base
1436                     0x00000000,         // Address Length
1437                     _Y0D)
1438                 Memory32Fixed (ReadOnly,
1439                     0x000D8000,         // Address Base
1440                     0x00000000,         // Address Length
1441                     _Y0E)
1442                 Memory32Fixed (ReadOnly,
1443                     0x000DC000,         // Address Base
1444                     0x00000000,         // Address Length
1445                     _Y0F)
1446                 Memory32Fixed (ReadOnly,
1447                     0x000E0000,         // Address Base
1448                     0x00000000,         // Address Length
1449                     _Y10)
1450                 Memory32Fixed (ReadOnly,
1451                     0x000E4000,         // Address Base
1452                     0x00000000,         // Address Length
1453                     _Y11)
1454                 Memory32Fixed (ReadOnly,
1455                     0x000E8000,         // Address Base
1456                     0x00000000,         // Address Length
1457                     _Y12)
1458                 Memory32Fixed (ReadOnly,
1459                     0x000EC000,         // Address Base
1460                     0x00000000,         // Address Length
1461                     _Y13)
1462                 Memory32Fixed (ReadOnly,
1463                     0x000F0000,         // Address Base
1464                     0x00010000,         // Address Length
1465                     )
1466                 Memory32Fixed (ReadWrite,
1467                     0x00100000,         // Address Base
1468                     0x01EE0000,         // Address Length
1469                     _Y14)
1470                 Memory32Fixed (ReadOnly,
1471                     0xFEC00000,         // Address Base
1472                     0x00140000,         // Address Length
1473                     _Y15)
1474                 Memory32Fixed (ReadOnly,
1475                     0xFED4C000,         // Address Base
1476                     0x012B4000,         // Address Length
1477                     _Y16)
1478             })
1479             CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L)  // _LEN: Length
1480             CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L)  // _LEN: Length
1481             CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L)  // _LEN: Length
1482             CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL)  // _LEN: Length
1483             CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L)  // _LEN: Length
1484             CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L)  // _LEN: Length
1485             CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L)  // _LEN: Length
1486             CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL)  // _LEN: Length
1487             CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L)  // _LEN: Length
1488             CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L)  // _LEN: Length
1489             CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L)  // _LEN: Length
1490             CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL)  // _LEN: Length
1491             CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W)  // _RW_: Read-Write Status
1492             CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W)  // _RW_: Read-Write Status
1493             CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W)  // _RW_: Read-Write Status
1494             CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW)  // _RW_: Read-Write Status
1495             CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W)  // _RW_: Read-Write Status
1496             CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W)  // _RW_: Read-Write Status
1497             CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W)  // _RW_: Read-Write Status
1498             CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW)  // _RW_: Read-Write Status
1499             CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W)  // _RW_: Read-Write Status
1500             CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W)  // _RW_: Read-Write Status
1501             CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W)  // _RW_: Read-Write Status
1502             CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW)  // _RW_: Read-Write Status
1503             CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1)  // _BAS: Base Address
1504             CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1)  // _LEN: Length
1505             CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2)  // _LEN: Length
1506             CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3)  // _LEN: Length
1507             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1508             {
1509                 And (\_SB.PCI0.PAM1, 0x03, Local0)
1510                 If (Local0)
1511                 {
1512                     Store (0x4000, MC0L)
1513                     If (And (Local0, 0x02))
1514                     {
1515                         Store (0x01, MC0W)
1516                     }
1517                 }
1518 
1519                 And (\_SB.PCI0.PAM1, 0x30, Local0)
1520                 If (Local0)
1521                 {
1522                     Store (0x4000, MC4L)
1523                     If (And (Local0, 0x20))
1524                     {
1525                         Store (0x01, MC4W)
1526                     }
1527                 }
1528 
1529                 And (\_SB.PCI0.PAM2, 0x03, Local0)
1530                 If (Local0)
1531                 {
1532                     Store (0x4000, MC8L)
1533                     If (And (Local0, 0x02))
1534                     {
1535                         Store (0x01, MC8W)
1536                     }
1537                 }
1538 
1539                 And (\_SB.PCI0.PAM2, 0x30, Local0)
1540                 If (Local0)
1541                 {
1542                     Store (0x4000, MCCL)
1543                     If (And (Local0, 0x20))
1544                     {
1545                         Store (0x01, MCCW)
1546                     }
1547                 }
1548 
1549                 And (\_SB.PCI0.PAM3, 0x03, Local0)
1550                 If (Local0)
1551                 {
1552                     Store (0x4000, MD0L)
1553                     If (And (Local0, 0x02))
1554                     {
1555                         Store (0x01, MD0W)
1556                     }
1557                 }
1558 
1559                 And (\_SB.PCI0.PAM3, 0x30, Local0)
1560                 If (Local0)
1561                 {
1562                     Store (0x4000, MD4L)
1563                     If (And (Local0, 0x20))
1564                     {
1565                         Store (0x01, MD4W)
1566                     }
1567                 }
1568 
1569                 And (\_SB.PCI0.PAM4, 0x03, Local0)
1570                 If (Local0)
1571                 {
1572                     Store (0x4000, MD8L)
1573                     If (And (Local0, 0x02))
1574                     {
1575                         Store (0x01, MD8W)
1576                     }
1577                 }
1578 
1579                 And (\_SB.PCI0.PAM4, 0x30, Local0)
1580                 If (Local0)
1581                 {
1582                     Store (0x4000, MDCL)
1583                     If (And (Local0, 0x20))
1584                     {
1585                         Store (0x01, MDCW)
1586                     }
1587                 }
1588 
1589                 And (\_SB.PCI0.PAM5, 0x03, Local0)
1590                 If (Local0)
1591                 {
1592                     Store (0x4000, ME0L)
1593                     If (And (Local0, 0x02))
1594                     {
1595                         Store (0x01, ME0W)
1596                     }
1597                 }
1598 
1599                 And (\_SB.PCI0.PAM5, 0x30, Local0)
1600                 If (Local0)
1601                 {
1602                     Store (0x4000, ME4L)
1603                     If (And (Local0, 0x20))
1604                     {
1605                         Store (0x01, ME4W)
1606                     }
1607                 }
1608 
1609                 And (\_SB.PCI0.PAM6, 0x03, Local0)
1610                 If (Local0)
1611                 {
1612                     Store (0x4000, ME8L)
1613                     If (And (Local0, 0x02))
1614                     {
1615                         Store (0x01, ME8W)
1616                     }
1617                 }
1618 
1619                 And (\_SB.PCI0.PAM6, 0x30, Local0)
1620                 If (Local0)
1621                 {
1622                     Store (0x4000, MECL)
1623                     If (And (Local0, 0x20))
1624                     {
1625                         Store (0x01, MECW)
1626                     }
1627                 }
1628 
1629                 Subtract (\MEMX, MEB1, MEL1)
1630                 If (LNotEqual (\_SB.PCI0.LPC.TPM._STA (), 0x0F))
1631                 {
1632                     Store (0x01400000, MEL2)
1633                     Store (0x00, MEL3)
1634                 }
1635 
1636                 Return (MEMS)
1637             }
1638         }
1639 
1640         Device (LID)
1641         {
1642             Name (_HID, EisaId ("PNP0C0D"))  // _HID: Hardware ID
1643             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
1644             {
1645                 If (LAnd (LEqual (\ILNF, 0x00), LEqual (\PLUX, 0x00)))
1646                 {
1647                     If (\H8DR)
1648                     {
1649                         Return (\_SB.PCI0.LPC.EC.HPLD)
1650                     }
1651                     Else
1652                     {
1653                         If (And (\RBEC (0x46), 0x04))
1654                         {
1655                             Return (0x01)
1656                         }
1657                         Else
1658                         {
1659                             Return (0x00)
1660                         }
1661                     }
1662                 }
1663                 Else
1664                 {
1665                     Return (0x01)
1666                 }
1667             }
1668 
1669             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1670             {
1671                 If (\LWCP)
1672                 {
1673                     Return (Package (0x02)
1674                     {
1675                         0x1D, 
1676                         0x04
1677                     })
1678                 }
1679                 Else
1680                 {
1681                     Return (Package (0x02)
1682                     {
1683                         0x1D, 
1684                         0x03
1685                     })
1686                 }
1687             }
1688 
1689             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
1690             {
1691                 If (\H8DR)
1692                 {
1693                     If (Arg0)
1694                     {
1695                         Store (0x01, \_SB.PCI0.LPC.EC.HWLO)
1696                     }
1697                     Else
1698                     {
1699                         Store (0x00, \_SB.PCI0.LPC.EC.HWLO)
1700                     }
1701                 }
1702                 Else
1703                 {
1704                     If (Arg0)
1705                     {
1706                         \MBEC (0x32, 0xFF, 0x04)
1707                     }
1708                     Else
1709                     {
1710                         \MBEC (0x32, 0xFB, 0x00)
1711                     }
1712                 }
1713 
1714                 If (\LWCP)
1715                 {
1716                     If (Arg0)
1717                     {
1718                         Store (0x01, \LWEN)
1719                     }
1720                     Else
1721                     {
1722                         Store (0x00, \LWEN)
1723                     }
1724                 }
1725             }
1726         }
1727 
1728         Device (SLPB)
1729         {
1730             Name (_HID, EisaId ("PNP0C0E"))  // _HID: Hardware ID
1731             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
1732             {
1733                 Return (Package (0x02)
1734                 {
1735                     0x1D, 
1736                     0x03
1737                 })
1738             }
1739 
1740             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
1741             {
1742                 If (\H8DR)
1743                 {
1744                     If (Arg0)
1745                     {
1746                         Store (0x01, \_SB.PCI0.LPC.EC.HWFN)
1747                     }
1748                     Else
1749                     {
1750                         Store (0x00, \_SB.PCI0.LPC.EC.HWFN)
1751                     }
1752                 }
1753                 Else
1754                 {
1755                     If (Arg0)
1756                     {
1757                         \MBEC (0x32, 0xFF, 0x10)
1758                     }
1759                     Else
1760                     {
1761                         \MBEC (0x32, 0xEF, 0x00)
1762                     }
1763                 }
1764             }
1765         }
1766 
1767         Scope (\)
1768         {
1769             Name (UPC0, Package (0x04)
1770             {
1771                 0xFF, 
1772                 0x00, 
1773                 0x00, 
1774                 0x00
1775             })
1776             Name (PLD0, Buffer (0x10)
1777             {
1778                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1779                 /* 0008 */   0x91, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1780             })
1781             Name (UPC1, Package (0x04)
1782             {
1783                 0xFF, 
1784                 0x00, 
1785                 0x00, 
1786                 0x00
1787             })
1788             Name (PLD1, Buffer (0x10)
1789             {
1790                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1791                 /* 0008 */   0x91, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1792             })
1793             Name (UPC2, Package (0x04)
1794             {
1795                 0xFF, 
1796                 0xFF, 
1797                 0x00, 
1798                 0x00
1799             })
1800             Name (PLD2, Buffer (0x10)
1801             {
1802                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1803                 /* 0008 */   0x33, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1804             })
1805             Name (UPC3, Package (0x04)
1806             {
1807                 0xFF, 
1808                 0x02, 
1809                 0x00, 
1810                 0x00
1811             })
1812             Name (PLD3, Buffer (0x10)
1813             {
1814                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815                 /* 0008 */   0x48, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1816             })
1817             Name (UPC4, Package (0x04)
1818             {
1819                 0xFF, 
1820                 0x00, 
1821                 0x00, 
1822                 0x00
1823             })
1824             Name (PLD4, Buffer (0x10)
1825             {
1826                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1827                 /* 0008 */   0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1828             })
1829             Name (UPC5, Package (0x04)
1830             {
1831                 0xFF, 
1832                 0x02, 
1833                 0x00, 
1834                 0x00
1835             })
1836             Name (PLD5, Buffer (0x10)
1837             {
1838                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1839                 /* 0008 */   0x19, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1840             })
1841             Name (UPC6, Package (0x04)
1842             {
1843                 0x00, 
1844                 0xFF, 
1845                 0x00, 
1846                 0x00
1847             })
1848             Name (PLD6, Buffer (0x10)
1849             {
1850                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1851                 /* 0008 */   0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1852             })
1853             Name (UPC7, Package (0x04)
1854             {
1855                 0xFF, 
1856                 0xFF, 
1857                 0x00, 
1858                 0x00
1859             })
1860             Name (PLD7, Buffer (0x10)
1861             {
1862                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1863                 /* 0008 */   0x33, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1864             })
1865             Name (UPC9, Package (0x04)
1866             {
1867                 0xFF, 
1868                 0x00, 
1869                 0x00, 
1870                 0x00
1871             })
1872             Name (PLD9, Buffer (0x10)
1873             {
1874                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1875                 /* 0008 */   0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
1876             })
1877             Name (UPCI, Package (0x04)
1878             {
1879                 0xFF, 
1880                 0xFF, 
1881                 0x00, 
1882                 0x00
1883             })
1884             Name (PLDI, Buffer (0x10)
1885             {
1886                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1887                 /* 0008 */   0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1888             })
1889             Name (PLDC, Buffer (0x14)
1890             {
1891                 /* 0000 */   0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1892                 /* 0008 */   0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1893                 /* 0010 */   0xEA, 0x00, 0xA9, 0x00
1894             })
1895         }
1896 
1897         Device (PCI0)
1898         {
1899             Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
1900             Name (_ADR, 0x00)  // _ADR: Address
1901             Name (RID, 0x00)
1902             Name (_S3D, 0x02)  // _S3D: S3 Device State
1903             Name (LRRT, Package (0x16)
1904             {
1905                 Package (0x04)
1906                 {
1907                     0x0001FFFF, 
1908                     0x00, 
1909                     \_SB.LNKA, 
1910                     0x00
1911                 }, 
1912 
1913                 Package (0x04)
1914                 {
1915                     0x0002FFFF, 
1916                     0x00, 
1917                     \_SB.LNKA, 
1918                     0x00
1919                 }, 
1920 
1921                 Package (0x04)
1922                 {
1923                     0x0014FFFF, 
1924                     0x00, 
1925                     \_SB.LNKA, 
1926                     0x00
1927                 }, 
1928 
1929                 Package (0x04)
1930                 {
1931                     0x0016FFFF, 
1932                     0x00, 
1933                     \_SB.LNKA, 
1934                     0x00
1935                 }, 
1936 
1937                 Package (0x04)
1938                 {
1939                     0x0016FFFF, 
1940                     0x01, 
1941                     \_SB.LNKD, 
1942                     0x00
1943                 }, 
1944 
1945                 Package (0x04)
1946                 {
1947                     0x0016FFFF, 
1948                     0x02, 
1949                     \_SB.LNKC, 
1950                     0x00
1951                 }, 
1952 
1953                 Package (0x04)
1954                 {
1955                     0x0016FFFF, 
1956                     0x03, 
1957                     \_SB.LNKB, 
1958                     0x00
1959                 }, 
1960 
1961                 Package (0x04)
1962                 {
1963                     0x0019FFFF, 
1964                     0x00, 
1965                     \_SB.LNKE, 
1966                     0x00
1967                 }, 
1968 
1969                 Package (0x04)
1970                 {
1971                     0x001AFFFF, 
1972                     0x00, 
1973                     \_SB.LNKA, 
1974                     0x00
1975                 }, 
1976 
1977                 Package (0x04)
1978                 {
1979                     0x001BFFFF, 
1980                     0x00, 
1981                     \_SB.LNKG, 
1982                     0x00
1983                 }, 
1984 
1985                 Package (0x04)
1986                 {
1987                     0x001CFFFF, 
1988                     0x00, 
1989                     \_SB.LNKA, 
1990                     0x00
1991                 }, 
1992 
1993                 Package (0x04)
1994                 {
1995                     0x001CFFFF, 
1996                     0x01, 
1997                     \_SB.LNKB, 
1998                     0x00
1999                 }, 
2000 
2001                 Package (0x04)
2002                 {
2003                     0x001CFFFF, 
2004                     0x02, 
2005                     \_SB.LNKC, 
2006                     0x00
2007                 }, 
2008 
2009                 Package (0x04)
2010                 {
2011                     0x001CFFFF, 
2012                     0x03, 
2013                     \_SB.LNKD, 
2014                     0x00
2015                 }, 
2016 
2017                 Package (0x04)
2018                 {
2019                     0x001DFFFF, 
2020                     0x00, 
2021                     \_SB.LNKH, 
2022                     0x00
2023                 }, 
2024 
2025                 Package (0x04)
2026                 {
2027                     0x001DFFFF, 
2028                     0x01, 
2029                     \_SB.LNKD, 
2030                     0x00
2031                 }, 
2032 
2033                 Package (0x04)
2034                 {
2035                     0x001DFFFF, 
2036                     0x02, 
2037                     \_SB.LNKA, 
2038                     0x00
2039                 }, 
2040 
2041                 Package (0x04)
2042                 {
2043                     0x001DFFFF, 
2044                     0x03, 
2045                     \_SB.LNKC, 
2046                     0x00
2047                 }, 
2048 
2049                 Package (0x04)
2050                 {
2051                     0x001FFFFF, 
2052                     0x00, 
2053                     \_SB.LNKF, 
2054                     0x00
2055                 }, 
2056 
2057                 Package (0x04)
2058                 {
2059                     0x001FFFFF, 
2060                     0x01, 
2061                     \_SB.LNKD, 
2062                     0x00
2063                 }, 
2064 
2065                 Package (0x04)
2066                 {
2067                     0x001FFFFF, 
2068                     0x02, 
2069                     \_SB.LNKC, 
2070                     0x00
2071                 }, 
2072 
2073                 Package (0x04)
2074                 {
2075                     0x001FFFFF, 
2076                     0x03, 
2077                     \_SB.LNKA, 
2078                     0x00
2079                 }
2080             })
2081             Name (ARRT, Package (0x16)
2082             {
2083                 Package (0x04)
2084                 {
2085                     0x0001FFFF, 
2086                     0x00, 
2087                     0x00, 
2088                     0x10
2089                 }, 
2090 
2091                 Package (0x04)
2092                 {
2093                     0x0002FFFF, 
2094                     0x00, 
2095                     0x00, 
2096                     0x10
2097                 }, 
2098 
2099                 Package (0x04)
2100                 {
2101                     0x0014FFFF, 
2102                     0x00, 
2103                     0x00, 
2104                     0x10
2105                 }, 
2106 
2107                 Package (0x04)
2108                 {
2109                     0x0016FFFF, 
2110                     0x00, 
2111                     0x00, 
2112                     0x10
2113                 }, 
2114 
2115                 Package (0x04)
2116                 {
2117                     0x0016FFFF, 
2118                     0x01, 
2119                     0x00, 
2120                     0x13
2121                 }, 
2122 
2123                 Package (0x04)
2124                 {
2125                     0x0016FFFF, 
2126                     0x02, 
2127                     0x00, 
2128                     0x12
2129                 }, 
2130 
2131                 Package (0x04)
2132                 {
2133                     0x0016FFFF, 
2134                     0x03, 
2135                     0x00, 
2136                     0x11
2137                 }, 
2138 
2139                 Package (0x04)
2140                 {
2141                     0x0019FFFF, 
2142                     0x00, 
2143                     0x00, 
2144                     0x14
2145                 }, 
2146 
2147                 Package (0x04)
2148                 {
2149                     0x001AFFFF, 
2150                     0x00, 
2151                     0x00, 
2152                     0x10
2153                 }, 
2154 
2155                 Package (0x04)
2156                 {
2157                     0x001BFFFF, 
2158                     0x00, 
2159                     0x00, 
2160                     0x16
2161                 }, 
2162 
2163                 Package (0x04)
2164                 {
2165                     0x001CFFFF, 
2166                     0x00, 
2167                     0x00, 
2168                     0x10
2169                 }, 
2170 
2171                 Package (0x04)
2172                 {
2173                     0x001CFFFF, 
2174                     0x01, 
2175                     0x00, 
2176                     0x11
2177                 }, 
2178 
2179                 Package (0x04)
2180                 {
2181                     0x001CFFFF, 
2182                     0x02, 
2183                     0x00, 
2184                     0x12
2185                 }, 
2186 
2187                 Package (0x04)
2188                 {
2189                     0x001CFFFF, 
2190                     0x03, 
2191                     0x00, 
2192                     0x13
2193                 }, 
2194 
2195                 Package (0x04)
2196                 {
2197                     0x001DFFFF, 
2198                     0x00, 
2199                     0x00, 
2200                     0x17
2201                 }, 
2202 
2203                 Package (0x04)
2204                 {
2205                     0x001DFFFF, 
2206                     0x01, 
2207                     0x00, 
2208                     0x13
2209                 }, 
2210 
2211                 Package (0x04)
2212                 {
2213                     0x001DFFFF, 
2214                     0x02, 
2215                     0x00, 
2216                     0x10
2217                 }, 
2218 
2219                 Package (0x04)
2220                 {
2221                     0x001DFFFF, 
2222                     0x03, 
2223                     0x00, 
2224                     0x12
2225                 }, 
2226 
2227                 Package (0x04)
2228                 {
2229                     0x001FFFFF, 
2230                     0x00, 
2231                     0x00, 
2232                     0x15
2233                 }, 
2234 
2235                 Package (0x04)
2236                 {
2237                     0x001FFFFF, 
2238                     0x01, 
2239                     0x00, 
2240                     0x13
2241                 }, 
2242 
2243                 Package (0x04)
2244                 {
2245                     0x001FFFFF, 
2246                     0x02, 
2247                     0x00, 
2248                     0x12
2249                 }, 
2250 
2251                 Package (0x04)
2252                 {
2253                     0x001FFFFF, 
2254                     0x03, 
2255                     0x00, 
2256                     0x10
2257                 }
2258             })
2259             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2260             {
2261                 If (\GPIC)
2262                 {
2263                     Return (ARRT)
2264                 }
2265                 Else
2266                 {
2267                     Return (LRRT)
2268                 }
2269             }
2270 
2271             Name (_HID, EisaId ("PNP0A08"))  // _HID: Hardware ID
2272             Name (_CID, EisaId ("PNP0A03"))  // _CID: Compatible ID
2273             OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2274             Field (MHCS, DWordAcc, NoLock, Preserve)
2275             {
2276                 Offset (0x40), 
2277                 PAM0,   8, 
2278                 PAM1,   8, 
2279                 PAM2,   8, 
2280                 PAM3,   8, 
2281                 PAM4,   8, 
2282                 PAM5,   8, 
2283                 PAM6,   8, 
2284                 Offset (0x7C), 
2285                     ,   20, 
2286                 TLUD,   12
2287             }
2288 
2289             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2290             {
2291                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2292                     0x0000,             // Granularity
2293                     0x0000,             // Range Minimum
2294                     0x00FF,             // Range Maximum
2295                     0x0000,             // Translation Offset
2296                     0x0100,             // Length
2297                     ,, _Y25)
2298                 IO (Decode16,
2299                     0x0CF8,             // Range Minimum
2300                     0x0CF8,             // Range Maximum
2301                     0x01,               // Alignment
2302                     0x08,               // Length
2303                     )
2304                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2305                     0x0000,             // Granularity
2306                     0x0000,             // Range Minimum
2307                     0x0CF7,             // Range Maximum
2308                     0x0000,             // Translation Offset
2309                     0x0CF8,             // Length
2310                     ,, , TypeStatic)
2311                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2312                     0x0000,             // Granularity
2313                     0x0D00,             // Range Minimum
2314                     0xFFFF,             // Range Maximum
2315                     0x0000,             // Translation Offset
2316                     0xF300,             // Length
2317                     ,, , TypeStatic)
2318                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2319                     0x00000000,         // Granularity
2320                     0x000A0000,         // Range Minimum
2321                     0x000BFFFF,         // Range Maximum
2322                     0x00000000,         // Translation Offset
2323                     0x00020000,         // Length
2324                     ,, , AddressRangeMemory, TypeStatic)
2325                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2326                     0x00000000,         // Granularity
2327                     0x000C0000,         // Range Minimum
2328                     0x000C3FFF,         // Range Maximum
2329                     0x00000000,         // Translation Offset
2330                     0x00004000,         // Length
2331                     ,, _Y17, AddressRangeMemory, TypeStatic)
2332                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2333                     0x00000000,         // Granularity
2334                     0x000C4000,         // Range Minimum
2335                     0x000C7FFF,         // Range Maximum
2336                     0x00000000,         // Translation Offset
2337                     0x00004000,         // Length
2338                     ,, _Y18, AddressRangeMemory, TypeStatic)
2339                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2340                     0x00000000,         // Granularity
2341                     0x000C8000,         // Range Minimum
2342                     0x000CBFFF,         // Range Maximum
2343                     0x00000000,         // Translation Offset
2344                     0x00004000,         // Length
2345                     ,, _Y19, AddressRangeMemory, TypeStatic)
2346                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2347                     0x00000000,         // Granularity
2348                     0x000CC000,         // Range Minimum
2349                     0x000CFFFF,         // Range Maximum
2350                     0x00000000,         // Translation Offset
2351                     0x00004000,         // Length
2352                     ,, _Y1A, AddressRangeMemory, TypeStatic)
2353                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2354                     0x00000000,         // Granularity
2355                     0x000D0000,         // Range Minimum
2356                     0x000D3FFF,         // Range Maximum
2357                     0x00000000,         // Translation Offset
2358                     0x00004000,         // Length
2359                     ,, _Y1B, AddressRangeMemory, TypeStatic)
2360                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2361                     0x00000000,         // Granularity
2362                     0x000D4000,         // Range Minimum
2363                     0x000D7FFF,         // Range Maximum
2364                     0x00000000,         // Translation Offset
2365                     0x00004000,         // Length
2366                     ,, _Y1C, AddressRangeMemory, TypeStatic)
2367                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2368                     0x00000000,         // Granularity
2369                     0x000D8000,         // Range Minimum
2370                     0x000DBFFF,         // Range Maximum
2371                     0x00000000,         // Translation Offset
2372                     0x00004000,         // Length
2373                     ,, _Y1D, AddressRangeMemory, TypeStatic)
2374                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2375                     0x00000000,         // Granularity
2376                     0x000DC000,         // Range Minimum
2377                     0x000DFFFF,         // Range Maximum
2378                     0x00000000,         // Translation Offset
2379                     0x00004000,         // Length
2380                     ,, _Y1E, AddressRangeMemory, TypeStatic)
2381                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2382                     0x00000000,         // Granularity
2383                     0x000E0000,         // Range Minimum
2384                     0x000E3FFF,         // Range Maximum
2385                     0x00000000,         // Translation Offset
2386                     0x00004000,         // Length
2387                     ,, _Y1F, AddressRangeMemory, TypeStatic)
2388                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2389                     0x00000000,         // Granularity
2390                     0x000E4000,         // Range Minimum
2391                     0x000E7FFF,         // Range Maximum
2392                     0x00000000,         // Translation Offset
2393                     0x00004000,         // Length
2394                     ,, _Y20, AddressRangeMemory, TypeStatic)
2395                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2396                     0x00000000,         // Granularity
2397                     0x000E8000,         // Range Minimum
2398                     0x000EBFFF,         // Range Maximum
2399                     0x00000000,         // Translation Offset
2400                     0x00004000,         // Length
2401                     ,, _Y21, AddressRangeMemory, TypeStatic)
2402                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2403                     0x00000000,         // Granularity
2404                     0x000EC000,         // Range Minimum
2405                     0x000EFFFF,         // Range Maximum
2406                     0x00000000,         // Translation Offset
2407                     0x00004000,         // Length
2408                     ,, _Y22, AddressRangeMemory, TypeStatic)
2409                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2410                     0x00000000,         // Granularity
2411                     0x00100000,         // Range Minimum
2412                     0xFEBFFFFF,         // Range Maximum
2413                     0x00000000,         // Translation Offset
2414                     0xFEB00000,         // Length
2415                     ,, _Y23, AddressRangeMemory, TypeStatic)
2416                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2417                     0x00000000,         // Granularity
2418                     0xFED40000,         // Range Minimum
2419                     0xFED4BFFF,         // Range Maximum
2420                     0x00000000,         // Translation Offset
2421                     0x0000C000,         // Length
2422                     ,, _Y24, AddressRangeMemory, TypeStatic)
2423             })
2424             CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN)  // _LEN: Length
2425             CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN)  // _LEN: Length
2426             CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN)  // _LEN: Length
2427             CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN)  // _LEN: Length
2428             CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN)  // _LEN: Length
2429             CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN)  // _LEN: Length
2430             CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN)  // _LEN: Length
2431             CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN)  // _LEN: Length
2432             CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN)  // _LEN: Length
2433             CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN)  // _LEN: Length
2434             CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN)  // _LEN: Length
2435             CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN)  // _LEN: Length
2436             CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN)  // _MIN: Minimum Base Address
2437             CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX)  // _MAX: Maximum Base Address
2438             CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN)  // _LEN: Length
2439             CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN)  // _MIN: Minimum Base Address
2440             CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX)  // _MAX: Maximum Base Address
2441             CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN)  // _LEN: Length
2442             CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX)  // _MAX: Maximum Base Address
2443             CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN)  // _LEN: Length
2444             Method (_INI, 0, Serialized)  // _INI: Initialize
2445             {
2446                 Store (0x3F, B0MX)
2447                 Store (Add (0x3F, 0x01), B0LN)
2448                 If (LNot (\OSIF))
2449                 {
2450                     \_SB._INI ()
2451                 }
2452 
2453                 ShiftLeft (TLUD, 0x14, Local0)
2454                 Store (Local0, \MEMX)
2455                 Store (Local0, XXMN)
2456                 Add (Subtract (XXMX, XXMN), 0x01, XXLN)
2457                 If (LEqual (\TPMP, 0x00))
2458                 {
2459                     Store (0x00, F4LN)
2460                 }
2461 
2462                 If (And (PAM1, 0x03))
2463                 {
2464                     Store (0x00, C0LN)
2465                 }
2466 
2467                 If (And (PAM1, 0x30))
2468                 {
2469                     Store (0x00, C4LN)
2470                 }
2471 
2472                 If (And (PAM2, 0x03))
2473                 {
2474                     Store (0x00, C8LN)
2475                 }
2476 
2477                 If (And (PAM2, 0x30))
2478                 {
2479                     Store (0x00, CCLN)
2480                 }
2481 
2482                 If (And (PAM3, 0x03))
2483                 {
2484                     Store (0x00, D0LN)
2485                 }
2486 
2487                 If (And (PAM3, 0x30))
2488                 {
2489                     Store (0x00, D4LN)
2490                 }
2491 
2492                 If (And (PAM4, 0x03))
2493                 {
2494                     Store (0x00, D8LN)
2495                 }
2496 
2497                 If (And (PAM4, 0x30))
2498                 {
2499                     Store (0x00, DCLN)
2500                 }
2501 
2502                 If (And (PAM5, 0x03))
2503                 {
2504                     Store (0x00, E0LN)
2505                 }
2506 
2507                 If (And (PAM5, 0x30))
2508                 {
2509                     Store (0x00, E4LN)
2510                 }
2511 
2512                 If (And (PAM6, 0x03))
2513                 {
2514                     Store (0x00, E8LN)
2515                 }
2516 
2517                 If (And (PAM6, 0x30))
2518                 {
2519                     Store (0x00, ECLN)
2520                 }
2521             }
2522 
2523             Name (SUPP, 0x00)
2524             Name (CTRL, 0x00)
2525             Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
2526             {
2527                 CreateDWordField (Arg3, 0x00, CDW1)
2528                 CreateDWordField (Arg3, 0x04, CDW2)
2529                 CreateDWordField (Arg3, 0x08, CDW3)
2530                 If (\_SB.PCI0.XHCI.CUID (Arg0))
2531                 {
2532                     Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2533                 }
2534 
2535                 If (LEqual (Arg0, Buffer (0x10)
2536                         {
2537                             /* 0000 */   0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
2538                             /* 0008 */   0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
2539                         }))
2540                 {
2541                     Store (CDW2, SUPP)
2542                     Store (CDW3, CTRL)
2543                     And (CTRL, 0x0D, CTRL)
2544                     If (LNot (And (CDW1, 0x01)))
2545                     {
2546                         If (And (CTRL, 0x01))
2547                         {
2548                             If (LNot (\VIGD))
2549                             {
2550                                 Store (0x00, \_SB.PCI0.PEG.HPGP)
2551                                 Store (0x00, \_SB.PCI0.PEG.GMGP)
2552                             }
2553 
2554                             Store (0x00, \_SB.PCI0.EXP1.HPCE)
2555                             Store (0x01, \_SB.PCI0.EXP1.HPCS)
2556                             Store (0x01, \_SB.PCI0.EXP1.PDC)
2557                             Store (0x00, \_SB.PCI0.EXP3.HPCE)
2558                             Store (0x01, \_SB.PCI0.EXP3.HPCS)
2559                             Store (0x01, \_SB.PCI0.EXP3.PDC)
2560                             Store (0x01, \NHPS)
2561                         }
2562 
2563                         If (And (CTRL, 0x04))
2564                         {
2565                             If (LNot (\VIGD))
2566                             {
2567                                 Store (0x00, \_SB.PCI0.PEG.PMGP)
2568                                 Store (0x00, \_SB.PCI0.PEG.GMGP)
2569                             }
2570 
2571                             If (\_SB.PCI0.EXP1.PMCE)
2572                             {
2573                                 Store (0x00, \_SB.PCI0.EXP1.PMCE)
2574                                 Store (0x01, \_SB.PCI0.EXP1.PMCS)
2575                             }
2576 
2577                             If (\_SB.PCI0.EXP2.PMCE)
2578                             {
2579                                 Store (0x00, \_SB.PCI0.EXP2.PMCE)
2580                                 Store (0x01, \_SB.PCI0.EXP2.PMCS)
2581                             }
2582 
2583                             If (\_SB.PCI0.EXP3.PMCE)
2584                             {
2585                                 Store (0x00, \_SB.PCI0.EXP3.PMCE)
2586                                 Store (0x01, \_SB.PCI0.EXP3.PMCS)
2587                             }
2588 
2589                             Store (0x00, \_SB.PCI0.LPC.EXPE)
2590                             Store (0x01, \NPME)
2591                         }
2592                     }
2593 
2594                     If (LNotEqual (Arg1, 0x01))
2595                     {
2596                         Or (CDW1, 0x0A, CDW1)
2597                     }
2598 
2599                     If (LNotEqual (CDW3, CTRL))
2600                     {
2601                         Or (CDW1, 0x10, CDW1)
2602                     }
2603 
2604                     Store (CTRL, CDW3)
2605                 }
2606                 Else
2607                 {
2608                     Or (CDW1, 0x06, CDW1)
2609                 }
2610 
2611                 Return (Arg3)
2612             }
2613 
2614             Mutex (MDGS, 0x07)
2615             Name (VDEE, 0x01)
2616             Name (VDDA, Buffer (0x02) {})
2617             CreateBitField (VDDA, 0x00, VUPC)
2618             CreateBitField (VDDA, 0x01, VQDL)
2619             CreateBitField (VDDA, 0x02, VQDC)
2620             CreateBitField (VDDA, 0x03, VQD0)
2621             CreateBitField (VDDA, 0x04, VQD1)
2622             CreateBitField (VDDA, 0x05, VQD2)
2623             CreateBitField (VDDA, 0x06, VSDL)
2624             CreateBitField (VDDA, 0x07, VSDC)
2625             CreateBitField (VDDA, 0x08, VSD0)
2626             CreateBitField (VDDA, 0x09, VSD1)
2627             CreateBitField (VDDA, 0x0A, VSD2)
2628             CreateBitField (VDDA, 0x0B, VSD3)
2629             CreateBitField (VDDA, 0x0C, VSD4)
2630             CreateBitField (VDDA, 0x0D, VSD5)
2631             CreateBitField (VDDA, 0x0E, MSWT)
2632             Device (VID)
2633             {
2634                 Name (_ADR, 0x00020000)  // _ADR: Address
2635                 Name (RID, 0x00)
2636                 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
2637                 Field (VPCG, DWordAcc, NoLock, Preserve)
2638                 {
2639                     Offset (0xD4), 
2640                     VPWR,   8
2641                 }
2642 
2643                 Name (MIDL, 0x0400)
2644                 Name (MIDC, 0x0100)
2645                 Name (MID0, 0x0300)
2646                 Name (MID1, 0x0301)
2647                 Name (MID2, 0x0302)
2648                 Name (MID3, 0x0303)
2649                 Name (MID4, 0x0304)
2650                 Name (MID5, 0x0305)
2651                 Name (_S3D, 0x03)  // _S3D: S3 Device State
2652                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
2653                 {
2654                     Store (\_SB.LID._LID (), CLID)
2655                 }
2656 
2657                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
2658                 {
2659                     Noop
2660                 }
2661 
2662                 Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
2663                 {
2664                     Noop
2665                 }
2666 
2667                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
2668                 {
2669                     Noop
2670                 }
2671 
2672                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
2673                 {
2674                     Noop
2675                 }
2676 
2677                 Method (VSWT, 0, NotSerialized)
2678                 {
2679                     GHDS (0x00)
2680                 }
2681 
2682                 Method (VLOC, 1, NotSerialized)
2683                 {
2684                     If (LEqual (Arg0, \_SB.LID._LID ()))
2685                     {
2686                         \VSLD (Arg0)
2687                         If (LEqual (VPWR, 0x00))
2688                         {
2689                             Store (Arg0, CLID)
2690                             GNOT (0x02, 0x00)
2691                         }
2692                     }
2693                 }
2694 
2695                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
2696                 {
2697                     And (Arg0, 0x03, Arg0)
2698                     If (LEqual (Arg0, 0x02))
2699                     {
2700                         Store (0x14, Local0)
2701                         While (Local0)
2702                         {
2703                             Decrement (Local0)
2704                             Acquire (MDGS, 0xFFFF)
2705                             If (LEqual (0x00, MSWT))
2706                             {
2707                                 Store (0x01, MSWT)
2708                                 Store (0x00, Local0)
2709                                 Store (Arg0, VDEE)
2710                             }
2711 
2712                             Release (MDGS)
2713                             Sleep (0xC8)
2714                         }
2715                     }
2716                     Else
2717                     {
2718                         Acquire (MDGS, 0xFFFF)
2719                         If (LEqual (VDEE, 0x02))
2720                         {
2721                             Store (0x00, MSWT)
2722                         }
2723 
2724                         If (LGreater (Arg0, 0x02))
2725                         {
2726                             Store (0x01, VDEE)
2727                         }
2728                         Else
2729                         {
2730                             Store (Arg0, VDEE)
2731                         }
2732 
2733                         Release (MDGS)
2734                     }
2735                 }
2736 
2737                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
2738                 {
2739                     Store (0x00, NDID)
2740                     If (LNotEqual (DIDL, 0x00))
2741                     {
2742                         Increment (NDID)
2743                     }
2744 
2745                     If (LNotEqual (DDL2, 0x00))
2746                     {
2747                         Increment (NDID)
2748                     }
2749 
2750                     If (LNotEqual (DDL3, 0x00))
2751                     {
2752                         Increment (NDID)
2753                     }
2754 
2755                     If (LNotEqual (DDL4, 0x00))
2756                     {
2757                         Increment (NDID)
2758                     }
2759 
2760                     If (LNotEqual (DDL5, 0x00))
2761                     {
2762                         Increment (NDID)
2763                     }
2764 
2765                     If (LNotEqual (DDL6, 0x00))
2766                     {
2767                         Increment (NDID)
2768                     }
2769 
2770                     If (LNotEqual (DDL7, 0x00))
2771                     {
2772                         Increment (NDID)
2773                     }
2774 
2775                     If (LNotEqual (DDL8, 0x00))
2776                     {
2777                         Increment (NDID)
2778                     }
2779 
2780                     If (LEqual (NDID, 0x01))
2781                     {
2782                         Name (TMP1, Package (0x01)
2783                         {
2784                             0xFFFFFFFF
2785                         })
2786                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP1, 
2787                             0x00))
2788                         Return (TMP1)
2789                     }
2790 
2791                     If (LEqual (NDID, 0x02))
2792                     {
2793                         Name (TMP2, Package (0x02)
2794                         {
2795                             0xFFFFFFFF, 
2796                             0xFFFFFFFF
2797                         })
2798                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP2, 
2799                             0x00))
2800                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP2, 
2801                             0x01))
2802                         Return (TMP2)
2803                     }
2804 
2805                     If (LEqual (NDID, 0x03))
2806                     {
2807                         Name (TMP3, Package (0x03)
2808                         {
2809                             0xFFFFFFFF, 
2810                             0xFFFFFFFF, 
2811                             0xFFFFFFFF
2812                         })
2813                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP3, 
2814                             0x00))
2815                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP3, 
2816                             0x01))
2817                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP3, 
2818                             0x02))
2819                         Return (TMP3)
2820                     }
2821 
2822                     If (LEqual (NDID, 0x04))
2823                     {
2824                         Name (TMP4, Package (0x04)
2825                         {
2826                             0xFFFFFFFF, 
2827                             0xFFFFFFFF, 
2828                             0xFFFFFFFF, 
2829                             0xFFFFFFFF
2830                         })
2831                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP4, 
2832                             0x00))
2833                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP4, 
2834                             0x01))
2835                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP4, 
2836                             0x02))
2837                         Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP4, 
2838                             0x03))
2839                         Return (TMP4)
2840                     }
2841 
2842                     If (LEqual (NDID, 0x05))
2843                     {
2844                         Name (TMP5, Package (0x05)
2845                         {
2846                             0xFFFFFFFF, 
2847                             0xFFFFFFFF, 
2848                             0xFFFFFFFF, 
2849                             0xFFFFFFFF, 
2850                             0xFFFFFFFF
2851                         })
2852                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP5, 
2853                             0x00))
2854                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP5, 
2855                             0x01))
2856                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP5, 
2857                             0x02))
2858                         Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP5, 
2859                             0x03))
2860                         Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP5, 
2861                             0x04))
2862                         Return (TMP5)
2863                     }
2864 
2865                     If (LEqual (NDID, 0x06))
2866                     {
2867                         Name (TMP6, Package (0x06)
2868                         {
2869                             0xFFFFFFFF, 
2870                             0xFFFFFFFF, 
2871                             0xFFFFFFFF, 
2872                             0xFFFFFFFF, 
2873                             0xFFFFFFFF, 
2874                             0xFFFFFFFF
2875                         })
2876                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP6, 
2877                             0x00))
2878                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP6, 
2879                             0x01))
2880                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP6, 
2881                             0x02))
2882                         Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP6, 
2883                             0x03))
2884                         Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP6, 
2885                             0x04))
2886                         Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP6, 
2887                             0x05))
2888                         Return (TMP6)
2889                     }
2890 
2891                     If (LEqual (NDID, 0x07))
2892                     {
2893                         Name (TMP7, Package (0x07)
2894                         {
2895                             0xFFFFFFFF, 
2896                             0xFFFFFFFF, 
2897                             0xFFFFFFFF, 
2898                             0xFFFFFFFF, 
2899                             0xFFFFFFFF, 
2900                             0xFFFFFFFF, 
2901                             0xFFFFFFFF
2902                         })
2903                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP7, 
2904                             0x00))
2905                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP7, 
2906                             0x01))
2907                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP7, 
2908                             0x02))
2909                         Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP7, 
2910                             0x03))
2911                         Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP7, 
2912                             0x04))
2913                         Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP7, 
2914                             0x05))
2915                         Store (Or (0x80010000, And (0x0F0F, DDL7)), Index (TMP7, 
2916                             0x06))
2917                         Return (TMP7)
2918                     }
2919 
2920                     If (LGreater (NDID, 0x07))
2921                     {
2922                         Name (TMP8, Package (0x08)
2923                         {
2924                             0xFFFFFFFF, 
2925                             0xFFFFFFFF, 
2926                             0xFFFFFFFF, 
2927                             0xFFFFFFFF, 
2928                             0xFFFFFFFF, 
2929                             0xFFFFFFFF, 
2930                             0xFFFFFFFF, 
2931                             0xFFFFFFFF
2932                         })
2933                         Store (Or (0x80010000, And (0x0F0F, DIDL)), Index (TMP8, 
2934                             0x00))
2935                         Store (Or (0x80010000, And (0x0F0F, DDL2)), Index (TMP8, 
2936                             0x01))
2937                         Store (Or (0x80010000, And (0x0F0F, DDL3)), Index (TMP8, 
2938                             0x02))
2939                         Store (Or (0x80010000, And (0x0F0F, DDL4)), Index (TMP8, 
2940                             0x03))
2941                         Store (Or (0x80010000, And (0x0F0F, DDL5)), Index (TMP8, 
2942                             0x04))
2943                         Store (Or (0x80010000, And (0x0F0F, DDL6)), Index (TMP8, 
2944                             0x05))
2945                         Store (Or (0x80010000, And (0x0F0F, DDL7)), Index (TMP8, 
2946                             0x06))
2947                         Store (Or (0x80010000, And (0x0F0F, DDL8)), Index (TMP8, 
2948                             0x07))
2949                         Return (TMP8)
2950                     }
2951 
2952                     Return (Package (0x01)
2953                     {
2954                         0x0400
2955                     })
2956                 }
2957 
2958                 Method (VDSW, 1, NotSerialized)
2959                 {
2960                     If (LEqual (VPWR, 0x00))
2961                     {
2962                         GDCK (Arg0)
2963                     }
2964                 }
2965 
2966                 Method (VCAD, 1, NotSerialized)
2967                 {
2968                     Store (0x00, Local0)
2969                     If (LEqual (And (DIDL, 0x0F0F), Arg0))
2970                     {
2971                         Store (0x0D, Local0)
2972                     }
2973                     Else
2974                     {
2975                         If (LEqual (And (DDL2, 0x0F0F), Arg0))
2976                         {
2977                             Store (0x0D, Local0)
2978                         }
2979                         Else
2980                         {
2981                             If (LEqual (And (DDL3, 0x0F0F), Arg0))
2982                             {
2983                                 Store (0x0D, Local0)
2984                             }
2985                             Else
2986                             {
2987                                 If (LEqual (And (DDL4, 0x0F0F), Arg0))
2988                                 {
2989                                     Store (0x0D, Local0)
2990                                 }
2991                                 Else
2992                                 {
2993                                     If (LEqual (And (DDL5, 0x0F0F), Arg0))
2994                                     {
2995                                         Store (0x0D, Local0)
2996                                     }
2997                                     Else
2998                                     {
2999                                         If (LEqual (And (DDL6, 0x0F0F), Arg0))
3000                                         {
3001                                             Store (0x0D, Local0)
3002                                         }
3003                                         Else
3004                                         {
3005                                             If (LEqual (And (DDL7, 0x0F0F), Arg0))
3006                                             {
3007                                                 Store (0x0D, Local0)
3008                                             }
3009                                             Else
3010                                             {
3011                                                 If (LEqual (And (DDL8, 0x0F0F), Arg0))
3012                                                 {
3013                                                     Store (0x0D, Local0)
3014                                                 }
3015                                             }
3016                                         }
3017                                     }
3018                                 }
3019                             }
3020                         }
3021                     }
3022 
3023                     If (LEqual (And (CPDL, 0x0F0F), Arg0))
3024                     {
3025                         Or (0x10, Local0, Local0)
3026                     }
3027                     Else
3028                     {
3029                         If (LEqual (And (CPL2, 0x0F0F), Arg0))
3030                         {
3031                             Or (0x10, Local0, Local0)
3032                         }
3033                         Else
3034                         {
3035                             If (LEqual (And (CPL3, 0x0F0F), Arg0))
3036                             {
3037                                 Or (0x10, Local0, Local0)
3038                             }
3039                             Else
3040                             {
3041                                 If (LEqual (And (CPL4, 0x0F0F), Arg0))
3042                                 {
3043                                     Or (0x10, Local0, Local0)
3044                                 }
3045                                 Else
3046                                 {
3047                                     If (LEqual (And (CPL5, 0x0F0F), Arg0))
3048                                     {
3049                                         Or (0x10, Local0, Local0)
3050                                     }
3051                                     Else
3052                                     {
3053                                         If (LEqual (And (CPL6, 0x0F0F), Arg0))
3054                                         {
3055                                             Or (0x10, Local0, Local0)
3056                                         }
3057                                         Else
3058                                         {
3059                                             If (LEqual (And (CPL7, 0x0F0F), Arg0))
3060                                             {
3061                                                 Or (0x10, Local0, Local0)
3062                                             }
3063                                             Else
3064                                             {
3065                                                 If (LEqual (And (CPL8, 0x0F0F), Arg0))
3066                                                 {
3067                                                     Or (0x10, Local0, Local0)
3068                                                 }
3069                                             }
3070                                         }
3071                                     }
3072                                 }
3073                             }
3074                         }
3075                     }
3076 
3077                     If (LEqual (And (CADL, 0x0F0F), Arg0))
3078                     {
3079                         Or (0x02, Local0, Local0)
3080                     }
3081                     Else
3082                     {
3083                         If (LEqual (And (CAL2, 0x0F0F), Arg0))
3084                         {
3085                             Or (0x02, Local0, Local0)
3086                         }
3087                         Else
3088                         {
3089                             If (LEqual (And (CAL3, 0x0F0F), Arg0))
3090                             {
3091                                 Or (0x02, Local0, Local0)
3092                             }
3093                             Else
3094                             {
3095                                 If (LEqual (And (CAL4, 0x0F0F), Arg0))
3096                                 {
3097                                     Or (0x02, Local0, Local0)
3098                                 }
3099                                 Else
3100                                 {
3101                                     If (LEqual (And (CAL5, 0x0F0F), Arg0))
3102                                     {
3103                                         Or (0x02, Local0, Local0)
3104                                     }
3105                                     Else
3106                                     {
3107                                         If (LEqual (And (CAL6, 0x0F0F), Arg0))
3108                                         {
3109                                             Or (0x02, Local0, Local0)
3110                                         }
3111                                         Else
3112                                         {
3113                                             If (LEqual (And (CAL7, 0x0F0F), Arg0))
3114                                             {
3115                                                 Or (0x02, Local0, Local0)
3116                                             }
3117                                             Else
3118                                             {
3119                                                 If (LEqual (And (CAL8, 0x0F0F), Arg0))
3120                                                 {
3121                                                     Or (0x02, Local0, Local0)
3122                                                 }
3123                                             }
3124                                         }
3125                                     }
3126                                 }
3127                             }
3128                         }
3129                     }
3130 
3131                     Return (Local0)
3132                 }
3133 
3134                 Method (NDDS, 1, NotSerialized)
3135                 {
3136                     If (LEqual (And (NADL, 0x0F0F), Arg0))
3137                     {
3138                         Return (0x01)
3139                     }
3140                     Else
3141                     {
3142                         If (LEqual (And (NDL2, 0x0F0F), Arg0))
3143                         {
3144                             Return (0x01)
3145                         }
3146                         Else
3147                         {
3148                             If (LEqual (And (NDL3, 0x0F0F), Arg0))
3149                             {
3150                                 Return (0x01)
3151                             }
3152                             Else
3153                             {
3154                                 If (LEqual (And (NDL4, 0x0F0F), Arg0))
3155                                 {
3156                                     Return (0x01)
3157                                 }
3158                                 Else
3159                                 {
3160                                     If (LEqual (And (NDL5, 0x0F0F), Arg0))
3161                                     {
3162                                         Return (0x01)
3163                                     }
3164                                     Else
3165                                     {
3166                                         If (LEqual (And (NDL6, 0x0F0F), Arg0))
3167                                         {
3168                                             Return (0x01)
3169                                         }
3170                                         Else
3171                                         {
3172                                             If (LEqual (And (NDL7, 0x0F0F), Arg0))
3173                                             {
3174                                                 Return (0x01)
3175                                             }
3176                                             Else
3177                                             {
3178                                                 If (LEqual (And (NDL8, 0x0F0F), Arg0))
3179                                                 {
3180                                                     Return (0x01)
3181                                                 }
3182                                             }
3183                                         }
3184                                     }
3185                                 }
3186                             }
3187                         }
3188                     }
3189 
3190                     Return (0x00)
3191                 }
3192 
3193                 Device (LCD0)
3194                 {
3195                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3196                     {
3197                         Return (0x0400)
3198                     }
3199 
3200                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3201                     {
3202                         Return (VCAD (MIDL))
3203                     }
3204 
3205                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3206                     {
3207                         Return (NDDS (MIDL))
3208                     }
3209 
3210                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3211                     {
3212                         And (Arg0, 0x01, VSDL)
3213                     }
3214 
3215                     Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
3216                     {
3217                         If (LEqual (Arg0, 0x01))
3218                         {
3219                             Return (\VEDI)
3220                         }
3221                         Else
3222                         {
3223                             If (LEqual (Arg0, 0x02))
3224                             {
3225                                 Return (\VEDI)
3226                             }
3227                         }
3228 
3229                         Return (0x00)
3230                     }
3231                 }
3232 
3233                 Device (CRT0)
3234                 {
3235                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3236                     {
3237                         Return (0x0100)
3238                     }
3239 
3240                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3241                     {
3242                         Return (VCAD (MIDC))
3243                     }
3244 
3245                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3246                     {
3247                         Return (NDDS (MIDC))
3248                     }
3249 
3250                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3251                     {
3252                         And (Arg0, 0x01, VSDC)
3253                     }
3254                 }
3255 
3256                 Device (DVI0)
3257                 {
3258                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3259                     {
3260                         Return (0x0300)
3261                     }
3262 
3263                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3264                     {
3265                         Return (VCAD (MID0))
3266                     }
3267 
3268                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3269                     {
3270                         Return (NDDS (MID0))
3271                     }
3272 
3273                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3274                     {
3275                         And (Arg0, 0x01, VSD0)
3276                     }
3277                 }
3278 
3279                 Device (DVI1)
3280                 {
3281                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3282                     {
3283                         Return (0x0301)
3284                     }
3285 
3286                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3287                     {
3288                         Return (VCAD (MID1))
3289                     }
3290 
3291                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3292                     {
3293                         Return (NDDS (MID1))
3294                     }
3295 
3296                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3297                     {
3298                         And (Arg0, 0x01, VSD1)
3299                     }
3300                 }
3301 
3302                 Device (DVI2)
3303                 {
3304                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3305                     {
3306                         Return (0x0302)
3307                     }
3308 
3309                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3310                     {
3311                         Return (VCAD (MID2))
3312                     }
3313 
3314                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3315                     {
3316                         Return (NDDS (MID2))
3317                     }
3318 
3319                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3320                     {
3321                         And (Arg0, 0x01, VSD2)
3322                     }
3323                 }
3324 
3325                 Device (DVI3)
3326                 {
3327                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3328                     {
3329                         Return (0x0303)
3330                     }
3331 
3332                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3333                     {
3334                         Return (VCAD (MID3))
3335                     }
3336 
3337                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3338                     {
3339                         Return (NDDS (MID3))
3340                     }
3341 
3342                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3343                     {
3344                         And (Arg0, 0x01, VSD3)
3345                     }
3346                 }
3347 
3348                 Device (DVI4)
3349                 {
3350                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3351                     {
3352                         Return (0x0304)
3353                     }
3354 
3355                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3356                     {
3357                         Return (VCAD (MID4))
3358                     }
3359 
3360                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3361                     {
3362                         Return (NDDS (MID4))
3363                     }
3364 
3365                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3366                     {
3367                         And (Arg0, 0x01, VSD4)
3368                     }
3369                 }
3370 
3371                 Device (DVI5)
3372                 {
3373                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3374                     {
3375                         Return (0x0305)
3376                     }
3377 
3378                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3379                     {
3380                         Return (VCAD (MID5))
3381                     }
3382 
3383                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3384                     {
3385                         Return (NDDS (MID5))
3386                     }
3387 
3388                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3389                     {
3390                         And (Arg0, 0x01, VSD5)
3391                     }
3392                 }
3393 
3394                 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
3395                 Field (IGDP, AnyAcc, NoLock, Preserve)
3396                 {
3397                     Offset (0x12), 
3398                         ,   1, 
3399                     GIVD,   1, 
3400                         ,   2, 
3401                     GUMA,   3, 
3402                     Offset (0x14), 
3403                         ,   4, 
3404                     GMFN,   1, 
3405                     Offset (0x18), 
3406                     Offset (0xA4), 
3407                     ASLE,   8, 
3408                     Offset (0xA8), 
3409                     GSSE,   1, 
3410                     GSSB,   14, 
3411                     GSES,   1, 
3412                     Offset (0xB0), 
3413                         ,   12, 
3414                     CDVL,   1, 
3415                     Offset (0xB2), 
3416                     Offset (0xB5), 
3417                     LBPC,   8, 
3418                     Offset (0xBC), 
3419                     ASLS,   32
3420                 }
3421 
3422                 OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
3423                 Field (IGDM, AnyAcc, NoLock, Preserve)
3424                 {
3425                     SIGN,   128, 
3426                     SIZE,   32, 
3427                     OVER,   32, 
3428                     SVER,   256, 
3429                     VVER,   128, 
3430                     GVER,   128, 
3431                     MBOX,   32, 
3432                     DMOD,   32, 
3433                     Offset (0x100), 
3434                     DRDY,   32, 
3435                     CSTS,   32, 
3436                     CEVT,   32, 
3437                     Offset (0x120), 
3438                     DIDL,   32, 
3439                     DDL2,   32, 
3440                     DDL3,   32, 
3441                     DDL4,   32, 
3442                     DDL5,   32, 
3443                     DDL6,   32, 
3444                     DDL7,   32, 
3445                     DDL8,   32, 
3446                     CPDL,   32, 
3447                     CPL2,   32, 
3448                     CPL3,   32, 
3449                     CPL4,   32, 
3450                     CPL5,   32, 
3451                     CPL6,   32, 
3452                     CPL7,   32, 
3453                     CPL8,   32, 
3454                     CADL,   32, 
3455                     CAL2,   32, 
3456                     CAL3,   32, 
3457                     CAL4,   32, 
3458                     CAL5,   32, 
3459                     CAL6,   32, 
3460                     CAL7,   32, 
3461                     CAL8,   32, 
3462                     NADL,   32, 
3463                     NDL2,   32, 
3464                     NDL3,   32, 
3465                     NDL4,   32, 
3466                     NDL5,   32, 
3467                     NDL6,   32, 
3468                     NDL7,   32, 
3469                     NDL8,   32, 
3470                     ASLP,   32, 
3471                     TIDX,   32, 
3472                     CHPD,   32, 
3473                     CLID,   32, 
3474                     CDCK,   32, 
3475                     SXSW,   32, 
3476                     EVTS,   32, 
3477                     CNOT,   32, 
3478                     NRDY,   32, 
3479                     Offset (0x200), 
3480                     SCIE,   1, 
3481                     GEFC,   4, 
3482                     GXFC,   3, 
3483                     GESF,   8, 
3484                     Offset (0x204), 
3485                     PARM,   32, 
3486                     DSLP,   32, 
3487                     Offset (0x300), 
3488                     ARDY,   32, 
3489                     ASLC,   32, 
3490                     TCHE,   32, 
3491                     ALSI,   32, 
3492                     BCLP,   32, 
3493                     PFIT,   32, 
3494                     CBLV,   32, 
3495                     BCLM,   320, 
3496                     CPFM,   32, 
3497                     EPFM,   32, 
3498                     PLUT,   592, 
3499                     PFMB,   32, 
3500                     CCDV,   32, 
3501                     PCFT,   32, 
3502                     Offset (0x400), 
3503                     GVD1,   49152, 
3504                     PHED,   32, 
3505                     BDDC,   2048
3506                 }
3507 
3508                 Name (DBTB, Package (0x15)
3509                 {
3510                     0x00, 
3511                     0x07, 
3512                     0x38, 
3513                     0x01C0, 
3514                     0x0E00, 
3515                     0x3F, 
3516                     0x01C7, 
3517                     0x0E07, 
3518                     0x01F8, 
3519                     0x0E38, 
3520                     0x0FC0, 
3521                     0x00, 
3522                     0x00, 
3523                     0x00, 
3524                     0x00, 
3525                     0x00, 
3526                     0x7000, 
3527                     0x7007, 
3528                     0x7038, 
3529                     0x71C0, 
3530                     0x7E00
3531                 })
3532                 Name (CDCT, Package (0x05)
3533                 {
3534                     Package (0x02)
3535                     {
3536                         0xE4, 
3537                         0x0140
3538                     }, 
3539 
3540                     Package (0x02)
3541                     {
3542                         0xDE, 
3543                         0x014D
3544                     }, 
3545 
3546                     Package (0x02)
3547                     {
3548                         0xDE, 
3549                         0x014D
3550                     }, 
3551 
3552                     Package (0x02)
3553                     {
3554                         0x00, 
3555                         0x00
3556                     }, 
3557 
3558                     Package (0x02)
3559                     {
3560                         0xDE, 
3561                         0x014D
3562                     }
3563                 })
3564                 Name (SUCC, 0x01)
3565                 Name (NVLD, 0x02)
3566                 Name (CRIT, 0x04)
3567                 Name (NCRT, 0x06)
3568                 Method (GSCI, 0, Serialized)
3569                 {
3570                     If (LEqual (GEFC, 0x04))
3571                     {
3572                         Store (GBDA (), GXFC)
3573                     }
3574 
3575                     If (LEqual (GEFC, 0x06))
3576                     {
3577                         Store (SBCB (), GXFC)
3578                     }
3579 
3580                     Store (0x00, GEFC)
3581                     Store (0x01, \_SB.PCI0.LPC.SCIS)
3582                     Store (0x00, GSSE)
3583                     Store (0x00, SCIE)
3584                     Return (Zero)
3585                 }
3586 
3587                 Method (GBDA, 0, Serialized)
3588                 {
3589                     If (LEqual (GESF, 0x00))
3590                     {
3591                         Store (0x0241, PARM)
3592                         Store (Zero, GESF)
3593                         Return (SUCC)
3594                     }
3595 
3596                     If (LEqual (GESF, 0x01))
3597                     {
3598                         Store (0x0202, PARM)
3599                         Store (Zero, GESF)
3600                         Return (SUCC)
3601                     }
3602 
3603                     If (LEqual (GESF, 0x04))
3604                     {
3605                         And (PARM, 0xEFFF0000, PARM)
3606                         And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), 
3607                             PARM)
3608                         Or (IBTT, PARM, PARM)
3609                         Store (Zero, GESF)
3610                         Return (SUCC)
3611                     }
3612 
3613                     If (LEqual (GESF, 0x05))
3614                     {
3615                         If (\_SB.LID._LID ())
3616                         {
3617                             Store (0x01, LIDS)
3618                         }
3619                         Else
3620                         {
3621                             Store (0x00, LIDS)
3622                         }
3623 
3624                         Store (IPSC, PARM)
3625                         Add (PARM, 0x01, PARM)
3626                         Add (PARM, 0x0300, PARM)
3627                         Add (PARM, 0x00010000, PARM)
3628                         Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
3629                         Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
3630                         Store (Zero, GESF)
3631                         Return (SUCC)
3632                     }
3633 
3634                     If (LEqual (GESF, 0x06))
3635                     {
3636                         Store (ITVF, PARM)
3637                         Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
3638                         Store (Zero, GESF)
3639                         Return (SUCC)
3640                     }
3641 
3642                     If (LEqual (GESF, 0x07))
3643                     {
3644                         Store (GIVD, PARM)
3645                         XOr (PARM, 0x01, PARM)
3646                         Or (PARM, ShiftLeft (GMFN, 0x01), PARM)
3647                         Or (PARM, ShiftLeft (0x03, 0x0B), PARM)
3648                         Or (PARM, ShiftLeft (0x03, 0x11), PARM)
3649                         Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
3650                             )), 0x15), PARM, PARM)
3651                         Store (0x01, GESF)
3652                         Return (SUCC)
3653                     }
3654 
3655                     If (LEqual (GESF, 0x0A))
3656                     {
3657                         Store (0x00, PARM)
3658                         If (ISSC)
3659                         {
3660                             Or (PARM, 0x03, PARM)
3661                         }
3662 
3663                         Store (0x00, GESF)
3664                         Return (SUCC)
3665                     }
3666 
3667                     Store (Zero, GESF)
3668                     Return (CRIT)
3669                 }
3670 
3671                 Method (SBCB, 0, Serialized)
3672                 {
3673                     If (LEqual (GESF, 0x00))
3674                     {
3675                         Store (0x0101, PARM)
3676                         Store (Zero, GESF)
3677                         Return (SUCC)
3678                     }
3679 
3680                     If (LEqual (GESF, 0x01))
3681                     {
3682                         Store (Zero, GESF)
3683                         Store (Zero, PARM)
3684                         Return (SUCC)
3685                     }
3686 
3687                     If (LEqual (GESF, 0x03))
3688                     {
3689                         Store (Zero, GESF)
3690                         Store (Zero, PARM)
3691                         Return (SUCC)
3692                     }
3693 
3694                     If (LEqual (GESF, 0x04))
3695                     {
3696                         Store (Zero, GESF)
3697                         Store (Zero, PARM)
3698                         Return (SUCC)
3699                     }
3700 
3701                     If (LEqual (GESF, 0x05))
3702                     {
3703                         Store (Zero, GESF)
3704                         Store (Zero, PARM)
3705                         Return (SUCC)
3706                     }
3707 
3708                     If (LEqual (GESF, 0x06))
3709                     {
3710                         Store (And (PARM, 0x0F), ITVF)
3711                         Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
3712                         Store (Zero, GESF)
3713                         Store (Zero, PARM)
3714                         Return (SUCC)
3715                     }
3716 
3717                     If (LEqual (GESF, 0x07))
3718                     {
3719                         Store (Zero, GESF)
3720                         Store (Zero, PARM)
3721                         Return (SUCC)
3722                     }
3723 
3724                     If (LEqual (GESF, 0x08))
3725                     {
3726                         Store (Zero, GESF)
3727                         Store (Zero, PARM)
3728                         Return (SUCC)
3729                     }
3730 
3731                     If (LEqual (GESF, 0x09))
3732                     {
3733                         And (PARM, 0xFF, IBTT)
3734                         Store (Zero, GESF)
3735                         Store (Zero, PARM)
3736                         Return (SUCC)
3737                     }
3738 
3739                     If (LEqual (GESF, 0x0A))
3740                     {
3741                         And (PARM, 0xFF, IPSC)
3742                         If (And (ShiftRight (PARM, 0x08), 0xFF))
3743                         {
3744                             And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
3745                             Decrement (IPAT)
3746                         }
3747 
3748                         And (ShiftRight (PARM, 0x14), 0x07, IBIA)
3749                         Store (Zero, GESF)
3750                         Store (Zero, PARM)
3751                         Return (SUCC)
3752                     }
3753 
3754                     If (LEqual (GESF, 0x0B))
3755                     {
3756                         And (ShiftRight (PARM, 0x01), 0x01, IF1E)
3757                         If (And (PARM, ShiftLeft (0x0F, 0x0D)))
3758                         {
3759                             And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
3760                         }
3761                         Else
3762                         {
3763                             And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
3764                         }
3765 
3766                         Store (Zero, GESF)
3767                         Store (Zero, PARM)
3768                         Return (SUCC)
3769                     }
3770 
3771                     If (LEqual (GESF, 0x10))
3772                     {
3773                         Store (Zero, GESF)
3774                         Store (Zero, PARM)
3775                         Return (SUCC)
3776                     }
3777 
3778                     If (LEqual (GESF, 0x11))
3779                     {
3780                         Store (ShiftLeft (LIDS, 0x08), PARM)
3781                         Add (PARM, 0x0100, PARM)
3782                         Store (Zero, GESF)
3783                         Return (SUCC)
3784                     }
3785 
3786                     If (LEqual (GESF, 0x12))
3787                     {
3788                         If (And (PARM, 0x01))
3789                         {
3790                             If (LEqual (ShiftRight (PARM, 0x01), 0x01))
3791                             {
3792                                 Store (0x01, ISSC)
3793                             }
3794                             Else
3795                             {
3796                                 Store (Zero, GESF)
3797                                 Return (CRIT)
3798                             }
3799                         }
3800                         Else
3801                         {
3802                             Store (0x00, ISSC)
3803                         }
3804 
3805                         Store (Zero, GESF)
3806                         Store (Zero, PARM)
3807                         Return (SUCC)
3808                     }
3809 
3810                     If (LEqual (GESF, 0x13))
3811                     {
3812                         Store (Zero, GESF)
3813                         Store (Zero, PARM)
3814                         Return (SUCC)
3815                     }
3816 
3817                     If (LEqual (GESF, 0x14))
3818                     {
3819                         And (PARM, 0x0F, PAVP)
3820                         Store (Zero, GESF)
3821                         Store (Zero, PARM)
3822                         Return (SUCC)
3823                     }
3824 
3825                     Store (Zero, GESF)
3826                     Return (SUCC)
3827                 }
3828 
3829                 Method (PDRD, 0, NotSerialized)
3830                 {
3831                     If (LNot (DRDY))
3832                     {
3833                         Sleep (ASLP)
3834                     }
3835 
3836                     Return (LNot (DRDY))
3837                 }
3838 
3839                 Method (PSTS, 0, NotSerialized)
3840                 {
3841                     If (LGreater (CSTS, 0x02))
3842                     {
3843                         Sleep (ASLP)
3844                     }
3845 
3846                     Return (LEqual (CSTS, 0x03))
3847                 }
3848 
3849                 Method (GNOT, 2, NotSerialized)
3850                 {
3851                     If (PDRD ())
3852                     {
3853                         Return (0x01)
3854                     }
3855 
3856                     Store (Arg0, CEVT)
3857                     Store (0x03, CSTS)
3858                     If (LAnd (LEqual (CHPD, 0x00), LEqual (Arg1, 0x00)))
3859                     {
3860                         If (LNotEqual (Arg0, 0x01))
3861                         {
3862                             If (LAnd (\WXPF, LNot (\WVIS)))
3863                             {
3864                                 Notify (\_SB.PCI0, Arg1)
3865                             }
3866                             Else
3867                             {
3868                                 Notify (\_SB.PCI0.VID, Arg1)
3869                             }
3870                         }
3871                     }
3872 
3873                     Notify (\_SB.PCI0.VID, 0x80)
3874                     Return (0x00)
3875                 }
3876 
3877                 Method (GHDS, 1, NotSerialized)
3878                 {
3879                     Store (Arg0, TIDX)
3880                     Return (GNOT (0x01, 0x00))
3881                 }
3882 
3883                 Method (GLID, 1, NotSerialized)
3884                 {
3885                     Store (Arg0, CLID)
3886                     Return (GNOT (0x02, 0x00))
3887                 }
3888 
3889                 Method (GLIS, 1, NotSerialized)
3890                 {
3891                     Store (Arg0, CLID)
3892                     Return (0x00)
3893                 }
3894 
3895                 Method (GDCK, 1, NotSerialized)
3896                 {
3897                     Store (Arg0, CDCK)
3898                     Return (GNOT (0x04, 0x80))
3899                 }
3900 
3901                 Method (GDCS, 1, NotSerialized)
3902                 {
3903                     Store (Arg0, CDCK)
3904                 }
3905 
3906                 Method (PARD, 0, NotSerialized)
3907                 {
3908                     If (LNot (ARDY))
3909                     {
3910                         Sleep (ASLP)
3911                     }
3912 
3913                     Return (LNot (ARDY))
3914                 }
3915 
3916                 Method (AINT, 2, NotSerialized)
3917                 {
3918                     If (LNot (And (TCHE, ShiftLeft (0x01, Arg0))))
3919                     {
3920                         Return (0x01)
3921                     }
3922 
3923                     If (PARD ())
3924                     {
3925                         Return (0x01)
3926                     }
3927 
3928                     If (LEqual (Arg0, 0x02))
3929                     {
3930                         XOr (PFIT, 0x07, PFIT)
3931                         Or (PFIT, 0x80000000, PFIT)
3932                         Store (0x04, ASLC)
3933                     }
3934                     Else
3935                     {
3936                         If (LEqual (Arg0, 0x01))
3937                         {
3938                             Store (Arg1, BCLP)
3939                             Or (BCLP, 0x80000000, BCLP)
3940                             Store (0x0A, ASLC)
3941                         }
3942                         Else
3943                         {
3944                             If (LEqual (Arg0, 0x03))
3945                             {
3946                                 Store (Arg1, PFMB)
3947                                 Or (PFMB, 0x80000100, PFMB)
3948                             }
3949                             Else
3950                             {
3951                                 If (LEqual (Arg0, 0x00))
3952                                 {
3953                                     Store (Arg1, ALSI)
3954                                     Store (0x01, ASLC)
3955                                 }
3956                                 Else
3957                                 {
3958                                     Return (0x01)
3959                                 }
3960                             }
3961                         }
3962                     }
3963 
3964                     Store (0x01, ASLE)
3965                     Return (0x00)
3966                 }
3967             }
3968 
3969             Device (LPC)
3970             {
3971                 Name (_ADR, 0x001F0000)  // _ADR: Address
3972                 Name (_S3D, 0x03)  // _S3D: S3 Device State
3973                 Name (RID, 0x00)
3974                 Device (SIO)
3975                 {
3976                     Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
3977                     Name (_UID, 0x00)  // _UID: Unique ID
3978                     Name (SCRS, ResourceTemplate ()
3979                     {
3980                         IO (Decode16,
3981                             0x0010,             // Range Minimum
3982                             0x0010,             // Range Maximum
3983                             0x01,               // Alignment
3984                             0x10,               // Length
3985                             )
3986                         IO (Decode16,
3987                             0x0090,             // Range Minimum
3988                             0x0090,             // Range Maximum
3989                             0x01,               // Alignment
3990                             0x10,               // Length
3991                             )
3992                         IO (Decode16,
3993                             0x0024,             // Range Minimum
3994                             0x0024,             // Range Maximum
3995                             0x01,               // Alignment
3996                             0x02,               // Length
3997                             )
3998                         IO (Decode16,
3999                             0x0028,             // Range Minimum
4000                             0x0028,             // Range Maximum
4001                             0x01,               // Alignment
4002                             0x02,               // Length
4003                             )
4004                         IO (Decode16,
4005                             0x002C,             // Range Minimum
4006                             0x002C,             // Range Maximum
4007                             0x01,               // Alignment
4008                             0x02,               // Length
4009                             )
4010                         IO (Decode16,
4011                             0x0030,             // Range Minimum
4012                             0x0030,             // Range Maximum
4013                             0x01,               // Alignment
4014                             0x02,               // Length
4015                             )
4016                         IO (Decode16,
4017                             0x0034,             // Range Minimum
4018                             0x0034,             // Range Maximum
4019                             0x01,               // Alignment
4020                             0x02,               // Length
4021                             )
4022                         IO (Decode16,
4023                             0x0038,             // Range Minimum
4024                             0x0038,             // Range Maximum
4025                             0x01,               // Alignment
4026                             0x02,               // Length
4027                             )
4028                         IO (Decode16,
4029                             0x003C,             // Range Minimum
4030                             0x003C,             // Range Maximum
4031                             0x01,               // Alignment
4032                             0x02,               // Length
4033                             )
4034                         IO (Decode16,
4035                             0x00A4,             // Range Minimum
4036                             0x00A4,             // Range Maximum
4037                             0x01,               // Alignment
4038                             0x02,               // Length
4039                             )
4040                         IO (Decode16,
4041                             0x00A8,             // Range Minimum
4042                             0x00A8,             // Range Maximum
4043                             0x01,               // Alignment
4044                             0x02,               // Length
4045                             )
4046                         IO (Decode16,
4047                             0x00AC,             // Range Minimum
4048                             0x00AC,             // Range Maximum
4049                             0x01,               // Alignment
4050                             0x02,               // Length
4051                             )
4052                         IO (Decode16,
4053                             0x00B0,             // Range Minimum
4054                             0x00B0,             // Range Maximum
4055                             0x01,               // Alignment
4056                             0x06,               // Length
4057                             )
4058                         IO (Decode16,
4059                             0x00B8,             // Range Minimum
4060                             0x00B8,             // Range Maximum
4061                             0x01,               // Alignment
4062                             0x02,               // Length
4063                             )
4064                         IO (Decode16,
4065                             0x00BC,             // Range Minimum
4066                             0x00BC,             // Range Maximum
4067                             0x01,               // Alignment
4068                             0x02,               // Length
4069                             )
4070                         IO (Decode16,
4071                             0x0050,             // Range Minimum
4072                             0x0050,             // Range Maximum
4073                             0x01,               // Alignment
4074                             0x04,               // Length
4075                             )
4076                         IO (Decode16,
4077                             0x0072,             // Range Minimum
4078                             0x0072,             // Range Maximum
4079                             0x01,               // Alignment
4080                             0x06,               // Length
4081                             )
4082                         IO (Decode16,
4083                             0x0400,             // Range Minimum
4084                             0x0400,             // Range Maximum
4085                             0x01,               // Alignment
4086                             0x80,               // Length
4087                             )
4088                         IO (Decode16,
4089                             0x0500,             // Range Minimum
4090                             0x0500,             // Range Maximum
4091                             0x01,               // Alignment
4092                             0x80,               // Length
4093                             )
4094                         IO (Decode16,
4095                             0x0800,             // Range Minimum
4096                             0x0800,             // Range Maximum
4097                             0x01,               // Alignment
4098                             0x10,               // Length
4099                             )
4100                         IO (Decode16,
4101                             0x15E0,             // Range Minimum
4102                             0x15E0,             // Range Maximum
4103                             0x01,               // Alignment
4104                             0x10,               // Length
4105                             )
4106                         IO (Decode16,
4107                             0x1600,             // Range Minimum
4108                             0x1600,             // Range Maximum
4109                             0x01,               // Alignment
4110                             0x80,               // Length
4111                             )
4112                         Memory32Fixed (ReadWrite,
4113                             0xF8000000,         // Address Base
4114                             0x04000000,         // Address Length
4115                             )
4116                         Memory32Fixed (ReadWrite,
4117                             0x00000000,         // Address Base
4118                             0x00001000,         // Address Length
4119                             _Y26)
4120                         Memory32Fixed (ReadWrite,
4121                             0xFED1C000,         // Address Base
4122                             0x00004000,         // Address Length
4123                             )
4124                         Memory32Fixed (ReadWrite,
4125                             0xFED10000,         // Address Base
4126                             0x00004000,         // Address Length
4127                             )
4128                         Memory32Fixed (ReadWrite,
4129                             0xFED18000,         // Address Base
4130                             0x00001000,         // Address Length
4131                             )
4132                         Memory32Fixed (ReadWrite,
4133                             0xFED19000,         // Address Base
4134                             0x00001000,         // Address Length
4135                             )
4136                         Memory32Fixed (ReadWrite,
4137                             0xFED45000,         // Address Base
4138                             0x00007000,         // Address Length
4139                             )
4140                     })
4141                     CreateDWordField (SCRS, \_SB.PCI0.LPC.SIO._Y26._BAS, TRMB)  // _BAS: Base Address
4142                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4143                     {
4144                         Store (\TBAB, TRMB)
4145                         If (LEqual (\_SB.PCI0.LPC.TPM._STA (), 0x0F))
4146                         {
4147                             Return (SCRS)
4148                         }
4149                         Else
4150                         {
4151                             Subtract (SizeOf (SCRS), 0x02, Local0)
4152                             Name (BUF0, Buffer (Local0) {})
4153                             Add (Local0, SizeOf (\_SB.PCI0.LPC.TPM.BUF1), Local0)
4154                             Name (BUF1, Buffer (Local0) {})
4155                             Store (SCRS, BUF0)
4156                             Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1)
4157                             Return (BUF1)
4158                         }
4159                     }
4160                 }
4161 
4162                 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
4163                 Field (LPCS, AnyAcc, NoLock, Preserve)
4164                 {
4165                     Offset (0x60), 
4166                     PIRA,   8, 
4167                     PIRB,   8, 
4168                     PIRC,   8, 
4169                     PIRD,   8, 
4170                     SERQ,   8, 
4171                     Offset (0x68), 
4172                     PIRE,   8, 
4173                     PIRF,   8, 
4174                     PIRG,   8, 
4175                     PIRH,   8, 
4176                     Offset (0x80), 
4177                     XU1A,   3, 
4178                         ,   1, 
4179                     XU2A,   3, 
4180                     Offset (0x81), 
4181                     XPA,    2, 
4182                         ,   2, 
4183                     XFA,    1, 
4184                     Offset (0x82), 
4185                     XU1E,   1, 
4186                     XU2E,   1, 
4187                     XPE,    1, 
4188                     XFE,    1, 
4189                     Offset (0x84), 
4190                     XG1E,   1, 
4191                         ,   1, 
4192                     XG1A,   14, 
4193                     Offset (0x88), 
4194                     XG2E,   1, 
4195                         ,   1, 
4196                     XG2A,   14, 
4197                     Offset (0xA0), 
4198                         ,   2, 
4199                     CLKR,   1, 
4200                         ,   7, 
4201                     EXPE,   1, 
4202                     Offset (0xA2), 
4203                     Offset (0xAC), 
4204                     Offset (0xAD), 
4205                     Offset (0xAE), 
4206                     XUSB,   1, 
4207                     Offset (0xB8), 
4208                         ,   12, 
4209                     GR06,   2
4210                 }
4211 
4212                 OperationRegion (LPIO, SystemIO, 0x0500, 0x80)
4213                 Field (LPIO, DWordAcc, NoLock, Preserve)
4214                 {
4215                     Offset (0x0C), 
4216                     Offset (0x0D), 
4217                     Offset (0x0E), 
4218                         ,   6, 
4219                     GLIS,   1, 
4220                     Offset (0x0F), 
4221                     Offset (0x10), 
4222                     Offset (0x2C), 
4223                         ,   6, 
4224                     XHPD,   1, 
4225                     Offset (0x38), 
4226                         ,   6, 
4227                     PIDH,   2, 
4228                     Offset (0x3A), 
4229                     PIDL,   2, 
4230                     Offset (0x48), 
4231                     DOI0,   1, 
4232                     DOI1,   1, 
4233                     DOI2,   1, 
4234                     DOI3,   1
4235                 }
4236 
4237                 OperationRegion (PMIO, SystemIO, 0x0400, 0x80)
4238                 Field (PMIO, AnyAcc, NoLock, Preserve)
4239                 {
4240                     Offset (0x2A), 
4241                         ,   6, 
4242                     XHPE,   1, 
4243                     Offset (0x42), 
4244                         ,   1, 
4245                     SWGE,   1, 
4246                     Offset (0x64), 
4247                         ,   9, 
4248                     SCIS,   1, 
4249                     Offset (0x66)
4250                 }
4251 
4252                 OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
4253                 Field (IO_T, ByteAcc, NoLock, Preserve)
4254                 {
4255                     TRPI,   16, 
4256                     Offset (0x04), 
4257                     Offset (0x06), 
4258                     Offset (0x08), 
4259                     TRP0,   8, 
4260                     Offset (0x0A), 
4261                     Offset (0x0B), 
4262                     Offset (0x0C), 
4263                     Offset (0x0D), 
4264                     Offset (0x0E), 
4265                     Offset (0x0F), 
4266                     Offset (0x10)
4267                 }
4268 
4269                 Device (PIC)
4270                 {
4271                     Name (_HID, EisaId ("PNP0000"))  // _HID: Hardware ID
4272                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4273                     {
4274                         IO (Decode16,
4275                             0x0020,             // Range Minimum
4276                             0x0020,             // Range Maximum
4277                             0x01,               // Alignment
4278                             0x02,               // Length
4279                             )
4280                         IO (Decode16,
4281                             0x00A0,             // Range Minimum
4282                             0x00A0,             // Range Maximum
4283                             0x01,               // Alignment
4284                             0x02,               // Length
4285                             )
4286                         IO (Decode16,
4287                             0x04D0,             // Range Minimum
4288                             0x04D0,             // Range Maximum
4289                             0x01,               // Alignment
4290                             0x02,               // Length
4291                             )
4292                         IRQNoFlags ()
4293                             {2}
4294                     })
4295                 }
4296 
4297                 Device (TIMR)
4298                 {
4299                     Name (_HID, EisaId ("PNP0100"))  // _HID: Hardware ID
4300                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4301                     {
4302                         IO (Decode16,
4303                             0x0040,             // Range Minimum
4304                             0x0040,             // Range Maximum
4305                             0x01,               // Alignment
4306                             0x04,               // Length
4307                             )
4308                         IRQNoFlags ()
4309                             {0}
4310                     })
4311                 }
4312 
4313                 Device (HPET)
4314                 {
4315                     Name (_HID, EisaId ("PNP0103"))  // _HID: Hardware ID
4316                     Method (_STA, 0, NotSerialized)  // _STA: Status
4317                     {
4318                         If (LAnd (\WNTF, LNot (\WXPF)))
4319                         {
4320                             Return (0x00)
4321                         }
4322                         Else
4323                         {
4324                             Return (0x0F)
4325                         }
4326 
4327                         Return (0x00)
4328                     }
4329 
4330                     Name (BUF0, ResourceTemplate ()
4331                     {
4332                         Memory32Fixed (ReadOnly,
4333                             0xFED00000,         // Address Base
4334                             0x00000400,         // Address Length
4335                             _Y27)
4336                     })
4337                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4338                     {
4339                         CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, HPT0)  // _BAS: Base Address
4340                         Store (\HPET, HPT0)
4341                         Return (BUF0)
4342                     }
4343                 }
4344 
4345                 Device (DMAC)
4346                 {
4347                     Name (_HID, EisaId ("PNP0200"))  // _HID: Hardware ID
4348                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4349                     {
4350                         IO (Decode16,
4351                             0x0000,             // Range Minimum
4352                             0x0000,             // Range Maximum
4353                             0x01,               // Alignment
4354                             0x10,               // Length
4355                             )
4356                         IO (Decode16,
4357                             0x0080,             // Range Minimum
4358                             0x0080,             // Range Maximum
4359                             0x01,               // Alignment
4360                             0x10,               // Length
4361                             )
4362                         IO (Decode16,
4363                             0x00C0,             // Range Minimum
4364                             0x00C0,             // Range Maximum
4365                             0x01,               // Alignment
4366                             0x20,               // Length
4367                             )
4368                         DMA (Compatibility, BusMaster, Transfer8_16, )
4369                             {4}
4370                     })
4371                 }
4372 
4373                 Device (SPKR)
4374                 {
4375                     Name (_HID, EisaId ("PNP0800"))  // _HID: Hardware ID
4376                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4377                     {
4378                         IO (Decode16,
4379                             0x0061,             // Range Minimum
4380                             0x0061,             // Range Maximum
4381                             0x01,               // Alignment
4382                             0x01,               // Length
4383                             )
4384                     })
4385                 }
4386 
4387                 Device (FPU)
4388                 {
4389                     Name (_HID, EisaId ("PNP0C04"))  // _HID: Hardware ID
4390                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4391                     {
4392                         IO (Decode16,
4393                             0x00F0,             // Range Minimum
4394                             0x00F0,             // Range Maximum
4395                             0x01,               // Alignment
4396                             0x01,               // Length
4397                             )
4398                         IRQNoFlags ()
4399                             {13}
4400                     })
4401                 }
4402 
4403                 Device (RTC)
4404                 {
4405                     Name (_HID, EisaId ("PNP0B00"))  // _HID: Hardware ID
4406                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4407                     {
4408                         IO (Decode16,
4409                             0x0070,             // Range Minimum
4410                             0x0070,             // Range Maximum
4411                             0x01,               // Alignment
4412                             0x02,               // Length
4413                             )
4414                         IRQNoFlags ()
4415                             {8}
4416                     })
4417                 }
4418 
4419                 Device (KBD)
4420                 {
4421                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
4422                     {
4423                         If (\WIN8)
4424                         {
4425                             Return (0x7100AE30)
4426                         }
4427 
4428                         Return (0x0303D041)
4429                     }
4430 
4431                     Name (_CID, EisaId ("PNP0303"))  // _CID: Compatible ID
4432                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4433                     {
4434                         IO (Decode16,
4435                             0x0060,             // Range Minimum
4436                             0x0060,             // Range Maximum
4437                             0x01,               // Alignment
4438                             0x01,               // Length
4439                             )
4440                         IO (Decode16,
4441                             0x0064,             // Range Minimum
4442                             0x0064,             // Range Maximum
4443                             0x01,               // Alignment
4444                             0x01,               // Length
4445                             )
4446                         IRQNoFlags ()
4447                             {1}
4448                     })
4449                 }
4450 
4451                 Device (MOU)
4452                 {
4453                     Name (_HID, EisaId ("IBM3780"))  // _HID: Hardware ID
4454                     Name (_CID, EisaId ("PNP0F13"))  // _CID: Compatible ID
4455                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
4456                     {
4457                         IRQNoFlags ()
4458                             {12}
4459                     })
4460                     Method (MHID, 0, NotSerialized)
4461                     {
4462                         If (\_SB.PCI0.LPC.PADD)
4463                         {
4464                             Store (0x80374D24, _HID)
4465                         }
4466                         Else
4467                         {
4468                             Store (0x1500AE30, _HID)
4469                         }
4470                     }
4471                 }
4472 
4473                 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4474                 Field (IMGA, ByteAcc, NoLock, Preserve)
4475                 {
4476                     Offset (0x01), 
4477                     Offset (0x02), 
4478                     Offset (0x03), 
4479                     WAKR,   16, 
4480                     Offset (0x0C), 
4481                     GAIX,   8, 
4482                     Offset (0x0E), 
4483                     GADT,   8, 
4484                     Offset (0x10)
4485                 }
4486 
4487                 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4488                 {
4489                     Offset (0x50), 
4490                         ,   3, 
4491                     IVPW,   1, 
4492                     DVPW,   1, 
4493                     BLPL,   1, 
4494                     Offset (0x51), 
4495                     TP4R,   1, 
4496                     PADR,   1, 
4497                     BPAD,   1, 
4498                         ,   1, 
4499                         ,   1, 
4500                     PADD,   1, 
4501                     Offset (0x60), 
4502                     EPWG,   1, 
4503                         ,   1, 
4504                     CSON,   1, 
4505                     DSCI,   1, 
4506                     DSCS,   1, 
4507                     DLAN,   1, 
4508                     Offset (0xC2), 
4509                     GAID,   8
4510                 }
4511 
4512                 Scope (\_SB)
4513                 {
4514                     Name (TCGP, Buffer (0x08)
4515                     {
4516                          0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0
4517                     })
4518                     CreateByteField (TCGP, 0x00, PPRQ)
4519                     CreateByteField (TCGP, 0x01, PPL1)
4520                     CreateByteField (TCGP, 0x02, PPRP)
4521                     CreateByteField (TCGP, 0x03, TPRS)
4522                     CreateByteField (TCGP, 0x04, PPOR)
4523                     CreateByteField (TCGP, 0x05, TPMV)
4524                     CreateByteField (TCGP, 0x06, MOR)
4525                     CreateByteField (TCGP, 0x07, TVEN)
4526                     OperationRegion (TCGC, SystemIO, 0x72, 0x02)
4527                     Field (TCGC, ByteAcc, Lock, Preserve)
4528                     {
4529                         TIDX,   8, 
4530                         TPDA,   8
4531                     }
4532 
4533                     IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
4534                     {
4535                         Offset (0x40), 
4536                         TPP1,   8, 
4537                         PPLO,   8, 
4538                         TPP3,   8
4539                     }
4540 
4541                     OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
4542                     Field (SMIP, WordAcc, NoLock, Preserve)
4543                     {
4544                         SMIT,   8, 
4545                         SMID,   8
4546                     }
4547                 }
4548 
4549                 Device (TPM)
4550                 {
4551                     Name (TMPV, 0x00)
4552                     Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
4553                     {
4554                         If (LEqual (TVID, 0x15D1))
4555                         {
4556                             Return (0x0201D824)
4557                         }
4558 
4559                         If (LOr (LEqual (TVID, 0x1050), LEqual (TVID, 0x100B)))
4560                         {
4561                             Return (0x0010A35C)
4562                         }
4563 
4564                         If (LEqual (TVID, 0x19FA))
4565                         {
4566                             Return (0x0435CF4D)
4567                         }
4568 
4569                         If (LEqual (TDID, 0x1002))
4570                         {
4571                             Return (0x02016D08)
4572                         }
4573 
4574                         If (LEqual (TDID, 0x1001))
4575                         {
4576                             Return (0x01016D08)
4577                         }
4578 
4579                         If (LEqual (TVID, 0x1114))
4580                         {
4581                             Return (0x00128D06)
4582                         }
4583 
4584                         If (LEqual (TVID, 0x104A))
4585                         {
4586                             Return (0x0012AF4D)
4587                         }
4588 
4589                         Return (0x310CD041)
4590                     }
4591 
4592                     Name (_CID, EisaId ("PNP0C31"))  // _CID: Compatible ID
4593                     Name (_UID, 0x01)  // _UID: Unique ID
4594                     OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
4595                     Field (TMMB, ByteAcc, Lock, Preserve)
4596                     {
4597                         ACCS,   8, 
4598                         Offset (0x18), 
4599                         TSTA,   8, 
4600                         TBCA,   8, 
4601                         Offset (0xF00), 
4602                         TVID,   16, 
4603                         TDID,   16
4604                     }
4605 
4606                     Method (_STA, 0, NotSerialized)  // _STA: Status
4607                     {
4608                         If (LEqual (ACCS, 0xFF))
4609                         {
4610                             Return (0x00)
4611                         }
4612                         Else
4613                         {
4614                             If (LEqual (TPME, 0x00))
4615                             {
4616                                 Return (0x00)
4617                             }
4618                         }
4619 
4620                         Return (0x0F)
4621                     }
4622 
4623                     Name (BUF1, ResourceTemplate ()
4624                     {
4625                         Memory32Fixed (ReadOnly,
4626                             0xFED40000,         // Address Base
4627                             0x00005000,         // Address Length
4628                             )
4629                     })
4630                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
4631                     {
4632                         Return (BUF1)
4633                     }
4634 
4635                     Method (UCMP, 2, NotSerialized)
4636                     {
4637                         If (LNotEqual (0x10, SizeOf (Arg0)))
4638                         {
4639                             Return (0x00)
4640                         }
4641 
4642                         If (LNotEqual (0x10, SizeOf (Arg1)))
4643                         {
4644                             Return (0x00)
4645                         }
4646 
4647                         Store (0x00, Local0)
4648                         While (LLess (Local0, 0x10))
4649                         {
4650                             If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
4651                                 Arg1, Local0))))
4652                             {
4653                                 Return (0x00)
4654                             }
4655 
4656                             Increment (Local0)
4657                         }
4658 
4659                         Return (0x01)
4660                     }
4661 
4662                     Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
4663                     {
4664                         Name (TTMP, Buffer (0x01)
4665                         {
4666                              0x00
4667                         })
4668                         CreateByteField (TTMP, 0x00, TMPV)
4669                         If (LEqual (UCMP (Arg0, Buffer (0x10)
4670                                     {
4671                                         /* 0000 */   0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
4672                                         /* 0008 */   0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
4673                                     }), 0x01))
4674                         {
4675                             If (LEqual (Arg2, 0x00))
4676                             {
4677                                 Return (Buffer (0x02)
4678                                 {
4679                                      0xFF, 0x01
4680                                 })
4681                             }
4682 
4683                             If (LEqual (Arg2, 0x01))
4684                             {
4685                                 Return (Buffer (0x04)
4686                                 {
4687                                     "1.2"
4688                                 })
4689                             }
4690 
4691                             If (LEqual (Arg2, 0x02))
4692                             {
4693                                 If (TPRS)
4694                                 {
4695                                     If (LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B))
4696                                     {
4697                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4698                                         Store (0xC1, SMIT)
4699                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4700                                         Return (0x00)
4701                                     }
4702 
4703                                     If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x0E), 
4704                                         LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x12)))
4705                                     {
4706                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4707                                         Store (0xC1, SMIT)
4708                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4709                                         Return (0x00)
4710                                     }
4711 
4712                                     If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LEqual (
4713                                         DerefOf (Index (Arg3, 0x00)), 0x16)))
4714                                     {
4715                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4716                                         Store (0xC1, SMIT)
4717                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4718                                         Return (0x00)
4719                                     }
4720 
4721                                     Return (0x01)
4722                                 }
4723 
4724                                 Return (0x02)
4725                             }
4726 
4727                             If (LEqual (Arg2, 0x03))
4728                             {
4729                                 Name (TMP1, Package (0x02)
4730                                 {
4731                                     0x00, 
4732                                     0xFFFFFFFF
4733                                 })
4734                                 Store (TPP1, TMPV)
4735                                 Store (And (TMPV, PPRQ, TMPV), Index (TMP1, 0x01))
4736                                 Return (TMP1)
4737                             }
4738 
4739                             If (LEqual (Arg2, 0x04))
4740                             {
4741                                 Return (0x02)
4742                             }
4743 
4744                             If (LEqual (Arg2, 0x05))
4745                             {
4746                                 Name (TMP2, Package (0x03)
4747                                 {
4748                                     0x00, 
4749                                     0xFFFFFFFF, 
4750                                     0xFFFFFFFF
4751                                 })
4752                                 Store (\_SB.PPLO, Index (TMP2, 0x01))
4753                                 If (LOr (LOr (LGreater (\_SB.PPLO, 0x16), LEqual (\_SB.PPLO, 0x0C)), LEqual (
4754                                     \_SB.PPLO, 0x0D)))
4755                                 {
4756                                     Store (0xFFFFFFF1, Index (TMP2, 0x02))
4757                                     Return (TMP2)
4758                                 }
4759 
4760                                 If (LEqual (PPRQ, 0xFF))
4761                                 {
4762                                     Store (0xFFFFFFF1, Index (TMP2, 0x02))
4763                                     Return (TMP2)
4764                                 }
4765 
4766                                 Store (TPP3, TMPV)
4767                                 If (And (TMPV, 0x04))
4768                                 {
4769                                     Store (0xFFFFFFF0, Index (TMP2, 0x02))
4770                                     Return (TMP2)
4771                                 }
4772 
4773                                 Store (0x00, Index (TMP2, 0x02))
4774                                 Return (TMP2)
4775                             }
4776 
4777                             If (LEqual (Arg2, 0x06))
4778                             {
4779                                 Return (0x03)
4780                             }
4781 
4782                             If (LEqual (Arg2, 0x07))
4783                             {
4784                                 If (TPRS)
4785                                 {
4786                                     If (LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B))
4787                                     {
4788                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4789                                         Store (0xC1, SMIT)
4790                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4791                                         Return (0x00)
4792                                     }
4793 
4794                                     If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x0E), 
4795                                         LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x12)))
4796                                     {
4797                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4798                                         Store (0xC1, SMIT)
4799                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4800                                         Return (0x00)
4801                                     }
4802 
4803                                     If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LEqual (
4804                                         DerefOf (Index (Arg3, 0x00)), 0x16)))
4805                                     {
4806                                         Store (DerefOf (Index (Arg3, 0x00)), SMID)
4807                                         Store (0xC1, SMIT)
4808                                         Store (DerefOf (Index (Arg3, 0x00)), TPP1)
4809                                         Return (0x00)
4810                                     }
4811 
4812                                     Return (0x01)
4813                                 }
4814 
4815                                 Return (0x02)
4816                             }
4817 
4818                             If (LEqual (Arg2, 0x08))
4819                             {
4820                                 Name (PPIP, 0x00)
4821                                 Name (PPIC, 0x00)
4822                                 Store (TPP3, TMPV)
4823                                 If (And (TMPV, 0x10))
4824                                 {
4825                                     Store (0x01, PPIP)
4826                                 }
4827 
4828                                 If (And (TMPV, 0x20))
4829                                 {
4830                                     Store (0x01, PPIC)
4831                                 }
4832 
4833                                 If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x05))
4834                                 {
4835                                     If (LGreater (PPIC, 0x00))
4836                                     {
4837                                         Return (0x04)
4838                                     }
4839 
4840                                     Return (0x03)
4841                                 }
4842 
4843                                 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x01), 
4844                                     LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x04)))
4845                                 {
4846                                     If (LGreater (PPIP, 0x00))
4847                                     {
4848                                         Return (0x04)
4849                                     }
4850 
4851                                     Return (0x03)
4852                                 }
4853 
4854                                 If (LAnd (LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x06), 
4855                                     LLessEqual (DerefOf (Index (Arg3, 0x00)), 0x0B)))
4856                                 {
4857                                     If (LGreater (PPIP, 0x00))
4858                                     {
4859                                         Return (0x04)
4860                                     }
4861 
4862                                     Return (0x03)
4863                                 }
4864 
4865                                 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0E), LAnd (
4866                                     LGreaterEqual (DerefOf (Index (Arg3, 0x00)), 0x15), LLessEqual (DerefOf (
4867                                     Index (Arg3, 0x00)), 0x16))))
4868                                 {
4869                                     If (LAnd (LGreater (PPIP, 0x00), LGreater (PPIC, 0x00)))
4870                                     {
4871                                         Return (0x04)
4872                                     }
4873 
4874                                     Return (0x03)
4875                                 }
4876 
4877                                 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x10), LEqual (
4878                                     DerefOf (Index (Arg3, 0x00)), 0x12)))
4879                                 {
4880                                     Return (0x03)
4881                                 }
4882 
4883                                 If (LOr (LEqual (DerefOf (Index (Arg3, 0x00)), 0x00), LOr (
4884                                     LEqual (DerefOf (Index (Arg3, 0x00)), 0x0F), LEqual (DerefOf (Index (Arg3, 
4885                                     0x00)), 0x11))))
4886                                 {
4887                                     Return (0x04)
4888                                 }
4889 
4890                                 Return (0x00)
4891                             }
4892 
4893                             Return (0x01)
4894                         }
4895 
4896                         If (LEqual (UCMP (Arg0, Buffer (0x10)
4897                                     {
4898                                         /* 0000 */   0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
4899                                         /* 0008 */   0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
4900                                     }), 0x01))
4901                         {
4902                             If (LEqual (Arg2, 0x00))
4903                             {
4904                                 Return (Buffer (0x01)
4905                                 {
4906                                      0x01
4907                                 })
4908                             }
4909 
4910                             If (LEqual (Arg2, 0x01))
4911                             {
4912                                 If (And (DerefOf (Index (Arg3, 0x00)), 0x01))
4913                                 {
4914                                     Store (0x01, MORD)
4915                                     If (And (DerefOf (Index (Arg3, 0x00)), 0x10))
4916                                     {
4917                                         Store (0x83, SMID)
4918                                         Store (0xC1, SMIT)
4919                                     }
4920                                     Else
4921                                     {
4922                                         Store (0x81, SMID)
4923                                         Store (0xC1, SMIT)
4924                                     }
4925                                 }
4926                                 Else
4927                                 {
4928                                     Store (0x00, MORD)
4929                                     If (And (DerefOf (Index (Arg3, 0x00)), 0x10))
4930                                     {
4931                                         Store (0x82, SMID)
4932                                         Store (0xC1, SMIT)
4933                                     }
4934                                     Else
4935                                     {
4936                                         Store (0x80, SMID)
4937                                         Store (0xC1, SMIT)
4938                                     }
4939                                 }
4940 
4941                                 Return (0x00)
4942                             }
4943 
4944                             Return (0x01)
4945                         }
4946 
4947                         Return (Buffer (0x01)
4948                         {
4949                              0x00
4950                         })
4951                     }
4952 
4953                     Method (CMOR, 0, NotSerialized)
4954                     {
4955                         Store (0x00, MORD)
4956                         Store (0x80, SMID)
4957                         Store (0xC1, SMIT)
4958                     }
4959                 }
4960 
4961                 Device (EC)
4962                 {
4963                     Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
4964                     Name (_UID, 0x00)  // _UID: Unique ID
4965                     Name (_GPE, 0x11)  // _GPE: General Purpose Events
4966                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
4967                     {
4968                         If (LEqual (Arg0, 0x03))
4969                         {
4970                             Store (Arg1, \H8DR)
4971                         }
4972                     }
4973 
4974                     OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4975                     Field (ECOR, ByteAcc, NoLock, Preserve)
4976                     {
4977                         HDBM,   1, 
4978                             ,   1, 
4979                             ,   1, 
4980                         HFNE,   1, 
4981                             ,   1, 
4982                             ,   1, 
4983                         HLDM,   1, 
4984                         Offset (0x01), 
4985                         BBLS,   1, 
4986                         BTCM,   1, 
4987                             ,   1, 
4988                             ,   1, 
4989                             ,   1, 
4990                         HBPR,   1, 
4991                         BTPC,   1, 
4992                         Offset (0x02), 
4993                         HDUE,   1, 
4994                             ,   4, 
4995                         SNLK,   1, 
4996                         Offset (0x03), 
4997                             ,   5, 
4998                         HAUM,   2, 
4999                         Offset (0x05), 
5000                         HSPA,   1, 
5001                         Offset (0x06), 
5002                         HSUN,   8, 
5003                         HSRP,   8, 
5004                         Offset (0x0C), 
5005                         HLCL,   8, 
5006                             ,   4, 
5007                         CALM,   1, 
5008                         Offset (0x0E), 
5009                         HFNS,   2, 
5010                         Offset (0x0F), 
5011                             ,   6, 
5012                         NULS,   1, 
5013                         Offset (0x10), 
5014                         HAM0,   8, 
5015                         HAM1,   8, 
5016                         HAM2,   8, 
5017                         HAM3,   8, 
5018                         HAM4,   8, 
5019                         HAM5,   8, 
5020                         HAM6,   8, 
5021                         HAM7,   8, 
5022                         HAM8,   8, 
5023                         HAM9,   8, 
5024                         HAMA,   8, 
5025                         HAMB,   8, 
5026                         HAMC,   8, 
5027                         HAMD,   8, 
5028                         HAME,   8, 
5029                         HAMF,   8, 
5030                         Offset (0x23), 
5031                         HANT,   8, 
5032                         Offset (0x26), 
5033                             ,   2, 
5034                         HANA,   2, 
5035                         Offset (0x27), 
5036                         Offset (0x2A), 
5037                         HATR,   8, 
5038                         HT0H,   8, 
5039                         HT0L,   8, 
5040                         HT1H,   8, 
5041                         HT1L,   8, 
5042                         HFSP,   8, 
5043                             ,   6, 
5044                         HMUT,   1, 
5045                         Offset (0x31), 
5046                             ,   2, 
5047                         HUWB,   1, 
5048                         Offset (0x32), 
5049                         HWPM,   1, 
5050                         HWLB,   1, 
5051                         HWLO,   1, 
5052                         HWDK,   1, 
5053                         HWFN,   1, 
5054                         HWBT,   1, 
5055                         HWRI,   1, 
5056                         HWBU,   1, 
5057                         HWLU,   1, 
5058                         Offset (0x34), 
5059                             ,   3, 
5060                         PIBS,   1, 
5061                             ,   3, 
5062                         HPLO,   1, 
5063                         Offset (0x36), 
5064                         Offset (0x38), 
5065                         HB0S,   7, 
5066                         HB0A,   1, 
5067                         HB1S,   7, 
5068                         HB1A,   1, 
5069                         HCMU,   1, 
5070                             ,   2, 
5071                         OVRQ,   1, 
5072                         DCBD,   1, 
5073                         DCWL,   1, 
5074                         DCWW,   1, 
5075                         HB1I,   1, 
5076                             ,   1, 
5077                         KBLT,   1, 
5078                         BTPW,   1, 
5079                         BTDT,   1, 
5080                         HUBS,   1, 
5081                         BDPW,   1, 
5082                         BDDT,   1, 
5083                         HUBB,   1, 
5084                         Offset (0x46), 
5085                             ,   1, 
5086                         BTWK,   1, 
5087                         HPLD,   1, 
5088                             ,   1, 
5089                         HPAC,   1, 
5090                         BTST,   1, 
5091                         Offset (0x47), 
5092                         HPBU,   1, 
5093                             ,   1, 
5094                         HBID,   1, 
5095                             ,   3, 
5096                         HBCS,   1, 
5097                         HPNF,   1, 
5098                             ,   1, 
5099                         GSTS,   1, 
5100                             ,   2, 
5101                         HLBU,   1, 
5102                         DOCD,   1, 
5103                         HCBL,   1, 
5104                         Offset (0x49), 
5105                         SLUL,   1, 
5106                         Offset (0x4C), 
5107                         HTMH,   8, 
5108                         HTML,   8, 
5109                         HWAK,   16, 
5110                         HMPR,   8, 
5111                             ,   7, 
5112                         HMDN,   1, 
5113                         Offset (0x78), 
5114                         TMP0,   8, 
5115                         Offset (0x80), 
5116                         Offset (0x81), 
5117                         HIID,   8, 
5118                         Offset (0x83), 
5119                         HFNI,   8, 
5120                         HSPD,   16, 
5121                         Offset (0x88), 
5122                         TSL0,   7, 
5123                         TSR0,   1, 
5124                         TSL1,   7, 
5125                         TSR1,   1, 
5126                         TSL2,   7, 
5127                         TSR2,   1, 
5128                         TSL3,   7, 
5129                         TSR3,   1, 
5130                         Offset (0x8D), 
5131                         HDAA,   3, 
5132                         HDAB,   3, 
5133                         HDAC,   2, 
5134                         Offset (0xB0), 
5135                         HDEN,   32, 
5136                         HDEP,   32, 
5137                         HDEM,   8, 
5138                         HDES,   8, 
5139                         MIAC,   8, 
5140                         PLSL,   8, 
5141                         PLMS,   8, 
5142                         PLLS,   8, 
5143                         PLTU,   8, 
5144                         Offset (0xC8), 
5145                         ATMX,   8, 
5146                         HWAT,   8, 
5147                         Offset (0xCC), 
5148                         PWMH,   8, 
5149                         PWML,   8, 
5150                         Offset (0xED), 
5151                             ,   4, 
5152                         HDDD,   1
5153                     }
5154 
5155                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
5156                     {
5157                         If (\H8DR)
5158                         {
5159                             Store (0x00, HSPA)
5160                         }
5161                         Else
5162                         {
5163                             \MBEC (0x05, 0xFE, 0x00)
5164                         }
5165 
5166                         BINI ()
5167                         \_SB.PCI0.LPC.EC.HKEY.WGIN ()
5168                     }
5169 
5170                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
5171                     {
5172                         IO (Decode16,
5173                             0x0062,             // Range Minimum
5174                             0x0062,             // Range Maximum
5175                             0x01,               // Alignment
5176                             0x01,               // Length
5177                             )
5178                         IO (Decode16,
5179                             0x0066,             // Range Minimum
5180                             0x0066,             // Range Maximum
5181                             0x01,               // Alignment
5182                             0x01,               // Length
5183                             )
5184                     })
5185                     Method (LED, 2, NotSerialized)
5186                     {
5187                         Or (Arg0, Arg1, Local0)
5188                         If (\H8DR)
5189                         {
5190                             Store (Local0, HLCL)
5191                         }
5192                         Else
5193                         {
5194                             \WBEC (0x0C, Local0)
5195                         }
5196                     }
5197 
5198                     Name (BAON, 0x00)
5199                     Name (WBON, 0x00)
5200                     Method (BEEP, 1, NotSerialized)
5201                     {
5202                         If (LEqual (Arg0, 0x05))
5203                         {
5204                             Store (0x00, WBON)
5205                         }
5206 
5207                         Store (WBON, Local2)
5208                         If (BAON)
5209                         {
5210                             If (LEqual (Arg0, 0x00))
5211                             {
5212                                 Store (0x00, BAON)
5213                                 If (WBON)
5214                                 {
5215                                     Store (0x03, Local0)
5216                                     Store (0x08, Local1)
5217                                 }
5218                                 Else
5219                                 {
5220                                     Store (0x00, Local0)
5221                                     Store (0x00, Local1)
5222                                 }
5223                             }
5224                             Else
5225                             {
5226                                 Store (0xFF, Local0)
5227                                 Store (0xFF, Local1)
5228                                 If (LEqual (Arg0, 0x11))
5229                                 {
5230                                     Store (0x00, WBON)
5231                                 }
5232 
5233                                 If (LEqual (Arg0, 0x10))
5234                                 {
5235                                     Store (0x01, WBON)
5236                                 }
5237                             }
5238                         }
5239                         Else
5240                         {
5241                             Store (Arg0, Local0)
5242                             Store (0xFF, Local1)
5243                             If (LEqual (Arg0, 0x0F))
5244                             {
5245                                 Store (Arg0, Local0)
5246                                 Store (0x08, Local1)
5247                                 Store (0x01, BAON)
5248                             }
5249 
5250                             If (LEqual (Arg0, 0x11))
5251                             {
5252                                 Store (0x00, Local0)
5253                                 Store (0x00, Local1)
5254                                 Store (0x00, WBON)
5255                             }
5256 
5257                             If (LEqual (Arg0, 0x10))
5258                             {
5259                                 Store (0x03, Local0)
5260                                 Store (0x08, Local1)
5261                                 Store (0x01, WBON)
5262                             }
5263                         }
5264 
5265                         If (LEqual (Arg0, 0x03))
5266                         {
5267                             Store (0x00, WBON)
5268                             If (Local2)
5269                             {
5270                                 Store (0x07, Local0)
5271                                 If (LOr (LEqual (\SPS, 0x03), LEqual (\SPS, 0x04)))
5272                                 {
5273                                     Store (0x00, Local2)
5274                                     Store (0xFF, Local0)
5275                                     Store (0xFF, Local1)
5276                                 }
5277                             }
5278                         }
5279 
5280                         If (LEqual (Arg0, 0x07))
5281                         {
5282                             If (Local2)
5283                             {
5284                                 Store (0x00, Local2)
5285                                 Store (0xFF, Local0)
5286                                 Store (0xFF, Local1)
5287                             }
5288                         }
5289 
5290                         If (\H8DR)
5291                         {
5292                             If (LAnd (Local2, LNot (WBON)))
5293                             {
5294                                 Store (0x00, HSRP)
5295                                 Store (0x00, HSUN)
5296                                 Sleep (0x64)
5297                             }
5298 
5299                             If (LNotEqual (Local1, 0xFF))
5300                             {
5301                                 Store (Local1, HSRP)
5302                             }
5303 
5304                             If (LNotEqual (Local0, 0xFF))
5305                             {
5306                                 Store (Local0, HSUN)
5307                             }
5308                         }
5309                         Else
5310                         {
5311                             If (LAnd (Local2, LNot (WBON)))
5312                             {
5313                                 \WBEC (0x07, 0x00)
5314                                 \WBEC (0x06, 0x00)
5315                                 Sleep (0x64)
5316                             }
5317 
5318                             If (LNotEqual (Local1, 0xFF))
5319                             {
5320                                 \WBEC (0x07, Local1)
5321                             }
5322 
5323                             If (LNotEqual (Local0, 0xFF))
5324                             {
5325                                 \WBEC (0x06, Local0)
5326                             }
5327                         }
5328 
5329                         If (LEqual (Arg0, 0x03)) {}
5330                         If (LEqual (Arg0, 0x07))
5331                         {
5332                             Sleep (0x01F4)
5333                         }
5334                     }
5335 
5336                     Method (EVNT, 1, NotSerialized)
5337                     {
5338                         If (\H8DR)
5339                         {
5340                             If (Arg0)
5341                             {
5342                                 Or (HAM7, 0x01, HAM7)
5343                                 Or (HAM5, 0x04, HAM5)
5344                             }
5345                             Else
5346                             {
5347                                 And (HAM7, 0xFE, HAM7)
5348                                 And (HAM5, 0xFB, HAM5)
5349                             }
5350                         }
5351                         Else
5352                         {
5353                             If (Arg0)
5354                             {
5355                                 \MBEC (0x17, 0xFF, 0x01)
5356                                 \MBEC (0x15, 0xFF, 0x04)
5357                             }
5358                             Else
5359                             {
5360                                 \MBEC (0x17, 0xFE, 0x00)
5361                                 \MBEC (0x15, 0xFB, 0x00)
5362                             }
5363                         }
5364                     }
5365 
5366                     Name (USPS, 0x00)
5367                     PowerResource (PUBS, 0x03, 0x0000)
5368                     {
5369                         Method (_STA, 0, NotSerialized)  // _STA: Status
5370                         {
5371                             If (\H8DR)
5372                             {
5373                                 Store (HUBS, Local0)
5374                             }
5375                             Else
5376                             {
5377                                 And (\RBEC (0x3B), 0x10, Local0)
5378                             }
5379 
5380                             If (Local0)
5381                             {
5382                                 Return (0x01)
5383                             }
5384                             Else
5385                             {
5386                                 Return (0x00)
5387                             }
5388                         }
5389 
5390                         Method (_ON, 0, NotSerialized)  // _ON_: Power On
5391                         {
5392                             Store (0x64, Local0)
5393                             While (LAnd (USPS, Local0))
5394                             {
5395                                 Sleep (0x01)
5396                                 Decrement (Local0)
5397                             }
5398 
5399                             If (\H8DR)
5400                             {
5401                                 Store (0x01, HUBS)
5402                             }
5403                             Else
5404                             {
5405                                 \MBEC (0x3B, 0xFF, 0x10)
5406                             }
5407                         }
5408 
5409                         Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
5410                         {
5411                             Store (0x01, USPS)
5412                             If (\H8DR)
5413                             {
5414                                 Store (0x00, HUBS)
5415                             }
5416                             Else
5417                             {
5418                                 \MBEC (0x3B, 0xEF, 0x00)
5419                             }
5420 
5421                             Sleep (0x14)
5422                             Store (0x00, USPS)
5423                         }
5424                     }
5425 
5426                     Method (CHKS, 0, NotSerialized)
5427                     {
5428                         Store (0x03E8, Local0)
5429                         While (HMPR)
5430                         {
5431                             Sleep (0x01)
5432                             Decrement (Local0)
5433                             If (LNot (Local0))
5434                             {
5435                                 Return (0x8080)
5436                             }
5437                         }
5438 
5439                         If (HMDN)
5440                         {
5441                             Return (Zero)
5442                         }
5443 
5444                         Return (0x8081)
5445                     }
5446 
5447                     Method (LPMD, 0, NotSerialized)
5448                     {
5449                         Store (0x00, Local0)
5450                         Store (0x00, Local1)
5451                         Store (0x00, Local2)
5452                         If (\H8DR)
5453                         {
5454                             If (HPAC)
5455                             {
5456                                 If (HPLO)
5457                                 {
5458                                     Store (\LPST, Local0)
5459                                 }
5460                                 Else
5461                                 {
5462                                     If (LLess (HWAT, \LPAW))
5463                                     {
5464                                         If (HB0A)
5465                                         {
5466                                             If (LOr (And (HB0S, 0x10), LLess (And (HB0S, 0x07
5467                                                 ), 0x02)))
5468                                             {
5469                                                 Store (0x01, Local1)
5470                                             }
5471                                         }
5472                                         Else
5473                                         {
5474                                             Store (0x01, Local1)
5475                                         }
5476 
5477                                         If (HB1A)
5478                                         {
5479                                             If (LOr (And (HB1S, 0x10), LLess (And (HB1S, 0x07
5480                                                 ), 0x02)))
5481                                             {
5482                                                 Store (0x01, Local2)
5483                                             }
5484                                         }
5485                                         Else
5486                                         {
5487                                             Store (0x01, Local2)
5488                                         }
5489 
5490                                         If (LAnd (Local1, Local2))
5491                                         {
5492                                             Store (\LPST, Local0)
5493                                         }
5494                                     }
5495                                 }
5496                             }
5497                         }
5498                         Else
5499                         {
5500                             If (And (\RBEC (0x46), 0x10))
5501                             {
5502                                 If (And (\RBEC (0x34), 0x80))
5503                                 {
5504                                     Store (\LPST, Local0)
5505                                 }
5506                                 Else
5507                                 {
5508                                     If (LLess (\RBEC (0xC9), \LPAW))
5509                                     {
5510                                         Store (\RBEC (0x38), Local3)
5511                                         If (And (Local3, 0x80))
5512                                         {
5513                                             If (LOr (And (Local3, 0x10), LLess (And (Local3, 0x07
5514                                                 ), 0x02)))
5515                                             {
5516                                                 Store (0x01, Local1)
5517                                             }
5518                                         }
5519                                         Else
5520                                         {
5521                                             Store (0x01, Local2)
5522                                         }
5523 
5524                                         Store (\RBEC (0x39), Local3)
5525                                         If (And (Local3, 0x80))
5526                                         {
5527                                             If (LOr (And (Local3, 0x10), LLess (And (Local3, 0x07
5528                                                 ), 0x02)))
5529                                             {
5530                                                 Store (0x01, Local1)
5531                                             }
5532                                         }
5533                                         Else
5534                                         {
5535                                             Store (0x01, Local2)
5536                                         }
5537 
5538                                         If (LAnd (Local1, Local2))
5539                                         {
5540                                             Store (\LPST, Local0)
5541                                         }
5542                                     }
5543                                 }
5544                             }
5545                         }
5546 
5547                         Return (Local0)
5548                     }
5549 
5550                     Method (CLPM, 0, NotSerialized)
5551                     {
5552                         If (And (\PPMF, 0x01))
5553                         {
5554                             If (\OSPX)
5555                             {
5556                                 \PNTF (0x80)
5557                             }
5558                             Else
5559                             {
5560                                 Store (LPMD (), Local0)
5561                                 If (Local0)
5562                                 {
5563                                     \STEP (0x04)
5564                                 }
5565                                 Else
5566                                 {
5567                                     \STEP (0x05)
5568                                 }
5569                             }
5570                         }
5571                     }
5572 
5573                     Mutex (MCPU, 0x07)
5574                     Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
5575                     {
5576                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5577                         {
5578                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5579                         }
5580                     }
5581 
5582                     Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
5583                     {
5584                         Noop
5585                     }
5586 
5587                     Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
5588                     {
5589                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5590                         {
5591                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5592                         }
5593                     }
5594 
5595                     Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query
5596                     {
5597                         If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5598                         {
5599                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5600                         }
5601                         Else
5602                         {
5603                             Notify (\_SB.SLPB, 0x80)
5604                         }
5605                     }
5606 
5607                     Method (_Q64, 0, NotSerialized)  // _Qxx: EC Query
5608                     {
5609                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5610                         {
5611                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5612                         }
5613                     }
5614 
5615                     Method (_Q65, 0, NotSerialized)  // _Qxx: EC Query
5616                     {
5617                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5618                         {
5619                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5620                         }
5621                     }
5622 
5623                     Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query
5624                     {
5625                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5626                         {
5627                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5628                         }
5629                         Else
5630                         {
5631                             If (LEqual (\VHYB (0x03, 0x00), 0x03))
5632                             {
5633                                 Notify (\_SB.PCI0.VID, 0x80)
5634                                 Return (Zero)
5635                             }
5636 
5637                             If (VIGD)
5638                             {
5639                                 \_SB.PCI0.VID.VSWT ()
5640                             }
5641                             Else
5642                             {
5643                                 \_SB.PCI0.PEG.VID.VSWT ()
5644                             }
5645                         }
5646                     }
5647 
5648                     Method (_Q17, 0, NotSerialized)  // _Qxx: EC Query
5649                     {
5650                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5651                         {
5652                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5653                         }
5654                         Else
5655                         {
5656                             If (LNot (\WNTF))
5657                             {
5658                                 VEXP ()
5659                             }
5660                         }
5661                     }
5662 
5663                     Method (_Q18, 0, NotSerialized)  // _Qxx: EC Query
5664                     {
5665                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5666                         {
5667                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5668                         }
5669 
5670                         Noop
5671                     }
5672 
5673                     Method (_Q66, 0, NotSerialized)  // _Qxx: EC Query
5674                     {
5675                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0200))
5676                         {
5677                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100A)
5678                         }
5679                     }
5680 
5681                     Method (_Q1A, 0, NotSerialized)  // _Qxx: EC Query
5682                     {
5683                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5684                         {
5685                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5686                         }
5687                     }
5688 
5689                     Method (_Q1B, 0, NotSerialized)  // _Qxx: EC Query
5690                     {
5691                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5692                     }
5693 
5694                     Method (_Q62, 0, NotSerialized)  // _Qxx: EC Query
5695                     {
5696                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5697                         {
5698                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5699                         }
5700                     }
5701 
5702                     Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
5703                     {
5704                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5705                         {
5706                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5707                         }
5708                     }
5709 
5710                     Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query
5711                     {
5712                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5713                         {
5714                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5715                         }
5716                     }
5717 
5718                     Method (_Q1F, 0, NotSerialized)  // _Qxx: EC Query
5719                     {
5720                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5721                         {
5722                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5723                         }
5724 
5725                         \UCMS (0x0E)
5726                     }
5727 
5728                     Method (_Q67, 0, NotSerialized)  // _Qxx: EC Query
5729                     {
5730                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00040000))
5731                         {
5732                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1013)
5733                         }
5734                     }
5735 
5736                     Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
5737                     {
5738                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5739                         {
5740                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5741                         }
5742                     }
5743 
5744                     Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
5745                     {
5746                         If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5747                         {
5748                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5749                         }
5750                     }
5751 
5752                     Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query
5753                     {
5754                         If (VIGD)
5755                         {
5756                             If (\WVIS)
5757                             {
5758                                 \VBTD ()
5759                             }
5760 
5761                             \_SB.PCI0.LPC.EC.BRNS ()
5762                         }
5763                         Else
5764                         {
5765                             \UCMS (0x12)
5766                         }
5767 
5768                         If (\_SB.PCI0.PEG.VID.ISOP ())
5769                         {
5770                             Notify (\_SB.PCI0.PEG.VID, 0xDF)
5771                         }
5772 
5773                         Sleep (0x01F4)
5774                         Notify (AC, 0x80)
5775                         Notify (\_TZ.THM0, 0x80)
5776                         If (\WXPF)
5777                         {
5778                             Acquire (MCPU, 0xFFFF)
5779                         }
5780 
5781                         Store (0x01, PWRS)
5782                         If (And (\PPMF, 0x01))
5783                         {
5784                             If (\OSPX)
5785                             {
5786                                 \PNTF (0x80)
5787                             }
5788                         }
5789 
5790                         If (\WXPF)
5791                         {
5792                             Sleep (0x64)
5793                         }
5794 
5795                         If (\OSC4)
5796                         {
5797                             \PNTF (0x81)
5798                         }
5799 
5800                         If (\WXPF)
5801                         {
5802                             Release (MCPU)
5803                         }
5804 
5805                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5806                         ATMC ()
5807                     }
5808 
5809                     Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query
5810                     {
5811                         If (VIGD)
5812                         {
5813                             If (\WVIS)
5814                             {
5815                                 \VBTD ()
5816                             }
5817 
5818                             \_SB.PCI0.LPC.EC.BRNS ()
5819                         }
5820                         Else
5821                         {
5822                             \UCMS (0x12)
5823                         }
5824 
5825                         If (\_SB.PCI0.PEG.VID.ISOP ())
5826                         {
5827                             Notify (\_SB.PCI0.PEG.VID, 0xDF)
5828                         }
5829 
5830                         Sleep (0x01F4)
5831                         Notify (AC, 0x80)
5832                         Notify (\_TZ.THM0, 0x80)
5833                         If (\WXPF)
5834                         {
5835                             Acquire (MCPU, 0xFFFF)
5836                         }
5837 
5838                         Store (0x00, PWRS)
5839                         If (And (\PPMF, 0x01))
5840                         {
5841                             If (\OSPX)
5842                             {
5843                                 \PNTF (0x80)
5844                             }
5845                         }
5846 
5847                         If (\WXPF)
5848                         {
5849                             Sleep (0x64)
5850                         }
5851 
5852                         If (\OSC4)
5853                         {
5854                             \PNTF (0x81)
5855                         }
5856 
5857                         If (\WXPF)
5858                         {
5859                             Release (MCPU)
5860                         }
5861 
5862                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5863                         ATMC ()
5864                     }
5865 
5866                     Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
5867                     {
5868                         \VCMS (0x01, \_SB.LID._LID ())
5869                         If (LEqual (\ILNF, 0x00))
5870                         {
5871                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5872                             If (LEqual (\PLUX, 0x00))
5873                             {
5874                                 If (VIGD)
5875                                 {
5876                                     \_SB.PCI0.VID.GLIS (0x01)
5877                                     \_SB.PCI0.VID.VLOC (0x01)
5878                                 }
5879                                 Else
5880                                 {
5881                                     \_SB.PCI0.PEG.VID.VLOC (0x01)
5882                                 }
5883 
5884                                 Notify (\_SB.LID, 0x80)
5885                             }
5886                         }
5887                     }
5888 
5889                     Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
5890                     {
5891                         \UCMS (0x0D)
5892                         \VCMS (0x01, \_SB.LID._LID ())
5893                         If (LEqual (\ILNF, 0x00))
5894                         {
5895                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5896                             If (LEqual (\PLUX, 0x00))
5897                             {
5898                                 If (VIGD)
5899                                 {
5900                                     \_SB.PCI0.VID.GLIS (0x00)
5901                                 }
5902                                 Else
5903                                 {
5904                                     \_SB.PCI0.PEG.VID.VLOC (0x00)
5905                                 }
5906 
5907                                 Notify (\_SB.LID, 0x80)
5908                             }
5909                         }
5910                     }
5911 
5912                     Method (_Q3D, 0, NotSerialized)  // _Qxx: EC Query
5913                     {
5914                     }
5915 
5916                     Method (_Q48, 0, NotSerialized)  // _Qxx: EC Query
5917                     {
5918                         If (And (\PPMF, 0x01))
5919                         {
5920                             If (\OSPX)
5921                             {
5922                                 \PNTF (0x80)
5923                             }
5924                             Else
5925                             {
5926                                 \STEP (0x04)
5927                             }
5928 
5929                             Store (0x01, \_SB.PCI0.LPC.EC.CALM)
5930                         }
5931                     }
5932 
5933                     Method (_Q49, 0, NotSerialized)  // _Qxx: EC Query
5934                     {
5935                         If (And (\PPMF, 0x01))
5936                         {
5937                             If (\OSPX)
5938                             {
5939                                 \PNTF (0x80)
5940                             }
5941                             Else
5942                             {
5943                                 \STEP (0x05)
5944                             }
5945                         }
5946                     }
5947 
5948                     Method (_Q7F, 0, NotSerialized)  // _Qxx: EC Query
5949                     {
5950                         Fatal (0x01, 0x80010000, 0x02AB)
5951                     }
5952 
5953                     Method (_Q4E, 0, NotSerialized)  // _Qxx: EC Query
5954                     {
5955                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5956                     }
5957 
5958                     Method (_Q4F, 0, NotSerialized)  // _Qxx: EC Query
5959                     {
5960                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5961                     }
5962 
5963                     Method (_Q46, 0, NotSerialized)  // _Qxx: EC Query
5964                     {
5965                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5966                     }
5967 
5968                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
5969                     {
5970                         CLPM ()
5971                         If (HB0A)
5972                         {
5973                             Notify (BAT0, 0x80)
5974                         }
5975 
5976                         If (HB1A)
5977                         {
5978                             Notify (BAT1, 0x80)
5979                         }
5980                     }
5981 
5982                     Method (_Q4A, 0, NotSerialized)  // _Qxx: EC Query
5983                     {
5984                         CLPM ()
5985                         Notify (BAT0, 0x81)
5986                     }
5987 
5988                     Method (_Q4B, 0, NotSerialized)  // _Qxx: EC Query
5989                     {
5990                         Notify (BAT0, 0x80)
5991                     }
5992 
5993                     Method (_Q4C, 0, NotSerialized)  // _Qxx: EC Query
5994                     {
5995                         CLPM ()
5996                         If (HB1A)
5997                         {
5998                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
5999                         }
6000                         Else
6001                         {
6002                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6003                             If (^BAT1.XB1S)
6004                             {
6005                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03)
6006                             }
6007                         }
6008                     }
6009 
6010                     Method (_Q4D, 0, NotSerialized)  // _Qxx: EC Query
6011                     {
6012                         If (LEqual (^BAT1.SBLI, 0x01))
6013                         {
6014                             Sleep (0x0A)
6015                             If (LAnd (HB1A, LEqual (SLUL, 0x00)))
6016                             {
6017                                 Store (0x01, ^BAT1.XB1S)
6018                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01)
6019                             }
6020                         }
6021                         Else
6022                         {
6023                             If (LEqual (SLUL, 0x01))
6024                             {
6025                                 Store (0x00, ^BAT1.XB1S)
6026                                 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03)
6027                             }
6028                         }
6029 
6030                         If (And (^BAT1.B1ST, ^BAT1.XB1S))
6031                         {
6032                             Notify (BAT1, 0x80)
6033                         }
6034                     }
6035 
6036                     Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query
6037                     {
6038                         CLPM ()
6039                         Notify (BAT0, 0x80)
6040                     }
6041 
6042                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
6043                     {
6044                         If (And (^BAT1.B1ST, ^BAT1.XB1S))
6045                         {
6046                             CLPM ()
6047                             Notify (BAT1, 0x80)
6048                         }
6049                     }
6050 
6051                     Method (BATW, 1, NotSerialized)
6052                     {
6053                         Store (\_SB.PCI0.LPC.EC.BAT1.XB1S, Local0)
6054                         If (LAnd (HB1A, LNot (SLUL)))
6055                         {
6056                             Store (0x01, Local1)
6057                         }
6058                         Else
6059                         {
6060                             Store (0x00, Local1)
6061                         }
6062 
6063                         If (XOr (Local0, Local1))
6064                         {
6065                             Store (Local1, \_SB.PCI0.LPC.EC.BAT1.XB1S)
6066                             Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01)
6067                         }
6068                     }
6069 
6070                     Field (ECOR, ByteAcc, NoLock, Preserve)
6071                     {
6072                         Offset (0xA0), 
6073                         SBRC,   16, 
6074                         SBFC,   16, 
6075                         SBAE,   16, 
6076                         SBRS,   16, 
6077                         SBAC,   16, 
6078                         SBVO,   16, 
6079                         SBAF,   16, 
6080                         SBBS,   16
6081                     }
6082 
6083                     Field (ECOR, ByteAcc, NoLock, Preserve)
6084                     {
6085                         Offset (0xA0), 
6086                         SBBM,   16, 
6087                         SBMD,   16, 
6088                         SBCC,   16
6089                     }
6090 
6091                     Field (ECOR, ByteAcc, NoLock, Preserve)
6092                     {
6093                         Offset (0xA0), 
6094                         SBDC,   16, 
6095                         SBDV,   16, 
6096                         SBOM,   16, 
6097                         SBSI,   16, 
6098                         SBDT,   16, 
6099                         SBSN,   16
6100                     }
6101 
6102                     Field (ECOR, ByteAcc, NoLock, Preserve)
6103                     {
6104                         Offset (0xA0), 
6105                         SBCH,   32
6106                     }
6107 
6108                     Field (ECOR, ByteAcc, NoLock, Preserve)
6109                     {
6110                         Offset (0xA0), 
6111                         SBMN,   128
6112                     }
6113 
6114                     Field (ECOR, ByteAcc, NoLock, Preserve)
6115                     {
6116                         Offset (0xA0), 
6117                         SBDN,   128
6118                     }
6119 
6120                     Mutex (BATM, 0x07)
6121                     Method (GBIF, 3, NotSerialized)
6122                     {
6123                         Acquire (BATM, 0xFFFF)
6124                         If (Arg2)
6125                         {
6126                             Or (Arg0, 0x01, HIID)
6127                             Store (SBBM, Local7)
6128                             ShiftRight (Local7, 0x0F, Local7)
6129                             XOr (Local7, 0x01, Index (Arg1, 0x00))
6130                             Store (Arg0, HIID)
6131                             If (Local7)
6132                             {
6133                                 Multiply (SBFC, 0x0A, Local1)
6134                             }
6135                             Else
6136                             {
6137                                 Store (SBFC, Local1)
6138                             }
6139 
6140                             Store (Local1, Index (Arg1, 0x02))
6141                             Or (Arg0, 0x02, HIID)
6142                             If (Local7)
6143                             {
6144                                 Multiply (SBDC, 0x0A, Local0)
6145                             }
6146                             Else
6147                             {
6148                                 Store (SBDC, Local0)
6149                             }
6150 
6151                             Store (Local0, Index (Arg1, 0x01))
6152                             Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
6153                             If (Local7)
6154                             {
6155                                 Store (0xC8, Index (Arg1, 0x06))
6156                             }
6157                             Else
6158                             {
6159                                 If (SBDV)
6160                                 {
6161                                     Divide (0x00030D40, SBDV, Local2, Index (Arg1, 0x06))
6162                                 }
6163                                 Else
6164                                 {
6165                                     Store (0x00, Index (Arg1, 0x06))
6166                                 }
6167                             }
6168 
6169                             Store (SBDV, Index (Arg1, 0x04))
6170                             Store (SBSN, Local0)
6171                             Name (SERN, Buffer (0x06)
6172                             {
6173                                 "     "
6174                             })
6175                             Store (0x04, Local2)
6176                             While (Local0)
6177                             {
6178                                 Divide (Local0, 0x0A, Local1, Local0)
6179                                 Add (Local1, 0x30, Index (SERN, Local2))
6180                                 Decrement (Local2)
6181                             }
6182 
6183                             Store (SERN, Index (Arg1, 0x0A))
6184                             Or (Arg0, 0x06, HIID)
6185                             Store (SBDN, Index (Arg1, 0x09))
6186                             Or (Arg0, 0x04, HIID)
6187                             Name (BTYP, Buffer (0x05)
6188                             {
6189                                  0x00, 0x00, 0x00, 0x00, 0x00
6190                             })
6191                             Store (SBCH, BTYP)
6192                             Store (BTYP, Index (Arg1, 0x0B))
6193                             Or (Arg0, 0x05, HIID)
6194                             Store (SBMN, Index (Arg1, 0x0C))
6195                         }
6196                         Else
6197                         {
6198                             Store (0xFFFFFFFF, Index (Arg1, 0x01))
6199                             Store (0x00, Index (Arg1, 0x05))
6200                             Store (0x00, Index (Arg1, 0x06))
6201                             Store (0xFFFFFFFF, Index (Arg1, 0x02))
6202                         }
6203 
6204                         Release (BATM)
6205                         Return (Arg1)
6206                     }
6207 
6208                     Method (GBST, 4, NotSerialized)
6209                     {
6210                         Acquire (BATM, 0xFFFF)
6211                         If (And (Arg1, 0x20))
6212                         {
6213                             Store (0x02, Local0)
6214                         }
6215                         Else
6216                         {
6217                             If (And (Arg1, 0x40))
6218                             {
6219                                 Store (0x01, Local0)
6220                             }
6221                             Else
6222                             {
6223                                 Store (0x00, Local0)
6224                             }
6225                         }
6226 
6227                         If (And (Arg1, 0x07)) {}
6228                         Else
6229                         {
6230                             Or (Local0, 0x04, Local0)
6231                         }
6232 
6233                         If (LEqual (And (Arg1, 0x07), 0x07))
6234                         {
6235                             Store (0x04, Local0)
6236                             Store (0x00, Local1)
6237                             Store (0x00, Local2)
6238                             Store (0x00, Local3)
6239                         }
6240                         Else
6241                         {
6242                             Store (Arg0, HIID)
6243                             Store (SBVO, Local3)
6244                             If (Arg2)
6245                             {
6246                                 Multiply (SBRC, 0x0A, Local2)
6247                             }
6248                             Else
6249                             {
6250                                 Store (SBRC, Local2)
6251                             }
6252 
6253                             Store (SBAC, Local1)
6254                             If (LGreaterEqual (Local1, 0x8000))
6255                             {
6256                                 If (And (Local0, 0x01))
6257                                 {
6258                                     Subtract (0x00010000, Local1, Local1)
6259                                 }
6260                                 Else
6261                                 {
6262                                     Store (0x00, Local1)
6263                                 }
6264                             }
6265                             Else
6266                             {
6267                                 If (LNot (And (Local0, 0x02)))
6268                                 {
6269                                     Store (0x00, Local1)
6270                                 }
6271                             }
6272 
6273                             If (Arg2)
6274                             {
6275                                 Multiply (Local3, Local1, Local1)
6276                                 Divide (Local1, 0x03E8, Local7, Local1)
6277                             }
6278                         }
6279 
6280                         Store (Local0, Index (Arg3, 0x00))
6281                         Store (Local1, Index (Arg3, 0x01))
6282                         Store (Local2, Index (Arg3, 0x02))
6283                         Store (Local3, Index (Arg3, 0x03))
6284                         Release (BATM)
6285                         Return (Arg3)
6286                     }
6287 
6288                     Device (BAT0)
6289                     {
6290                         Name (_HID, EisaId ("PNP0C0A"))  // _HID: Hardware ID
6291                         Name (_UID, 0x00)  // _UID: Unique ID
6292                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6293                         {
6294                             \_SB
6295                         })
6296                         Name (B0ST, 0x00)
6297                         Name (BT0I, Package (0x0D)
6298                         {
6299                             0x00, 
6300                             0xFFFFFFFF, 
6301                             0xFFFFFFFF, 
6302                             0x01, 
6303                             0x2A30, 
6304                             0x00, 
6305                             0x00, 
6306                             0x01, 
6307                             0x01, 
6308                             "", 
6309                             "", 
6310                             "", 
6311                             ""
6312                         })
6313                         Name (BT0P, Package (0x04) {})
6314                         Method (_STA, 0, NotSerialized)  // _STA: Status
6315                         {
6316                             If (\H8DR)
6317                             {
6318                                 Store (HB0A, B0ST)
6319                             }
6320                             Else
6321                             {
6322                                 If (And (\RBEC (0x38), 0x80))
6323                                 {
6324                                     Store (0x01, B0ST)
6325                                 }
6326                                 Else
6327                                 {
6328                                     Store (0x00, B0ST)
6329                                 }
6330                             }
6331 
6332                             If (B0ST)
6333                             {
6334                                 Return (0x1F)
6335                             }
6336                             Else
6337                             {
6338                                 Return (0x0F)
6339                             }
6340                         }
6341 
6342                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
6343                         {
6344                             Store (0x00, Local7)
6345                             Store (0x0A, Local6)
6346                             While (LAnd (LNot (Local7), Local6))
6347                             {
6348                                 If (HB0A)
6349                                 {
6350                                     If (LEqual (And (HB0S, 0x07), 0x07))
6351                                     {
6352                                         Sleep (0x03E8)
6353                                         Decrement (Local6)
6354                                     }
6355                                     Else
6356                                     {
6357                                         Store (0x01, Local7)
6358                                     }
6359                                 }
6360                                 Else
6361                                 {
6362                                     Store (0x00, Local6)
6363                                 }
6364                             }
6365 
6366                             Return (GBIF (0x00, BT0I, Local7))
6367                         }
6368 
6369                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
6370                         {
6371                             XOr (DerefOf (Index (BT0I, 0x00)), 0x01, Local0)
6372                             Return (GBST (0x00, HB0S, Local0, BT0P))
6373                         }
6374 
6375                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
6376                         {
6377                             And (HAM4, 0xEF, HAM4)
6378                             If (Arg0)
6379                             {
6380                                 Store (Arg0, Local1)
6381                                 If (LNot (DerefOf (Index (BT0I, 0x00))))
6382                                 {
6383                                     Divide (Local1, 0x0A, Local0, Local1)
6384                                 }
6385 
6386                                 And (Local1, 0xFF, HT0L)
6387                                 And (ShiftRight (Local1, 0x08), 0xFF, HT0H)
6388                                 Or (HAM4, 0x10, HAM4)
6389                             }
6390                         }
6391                     }
6392 
6393                     Device (BAT1)
6394                     {
6395                         Name (_HID, EisaId ("PNP0C0A"))  // _HID: Hardware ID
6396                         Name (_UID, 0x01)  // _UID: Unique ID
6397                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6398                         {
6399                             \_SB
6400                         })
6401                         Name (B1ST, 0x00)
6402                         Name (SBLI, 0x01)
6403                         Name (XB1S, 0x00)
6404                         Name (BT1I, Package (0x0D)
6405                         {
6406                             0x00, 
6407                             0xFFFFFFFF, 
6408                             0xFFFFFFFF, 
6409                             0x01, 
6410                             0x2A30, 
6411                             0x00, 
6412                             0x00, 
6413                             0x01, 
6414                             0x01, 
6415                             "", 
6416                             "", 
6417                             "", 
6418                             ""
6419                         })
6420                         Name (BT1P, Package (0x04) {})
6421                         Method (_STA, 0, NotSerialized)  // _STA: Status
6422                         {
6423                             If (\H8DR)
6424                             {
6425                                 If (HB1A)
6426                                 {
6427                                     Store (0x01, B1ST)
6428                                     If (SLUL)
6429                                     {
6430                                         Store (0x01, SBLI)
6431                                         Store (0x00, XB1S)
6432                                     }
6433                                     Else
6434                                     {
6435                                         Store (0x00, SBLI)
6436                                         Store (0x01, XB1S)
6437                                     }
6438                                 }
6439                                 Else
6440                                 {
6441                                     Store (0x00, B1ST)
6442                                     Store (0x01, SBLI)
6443                                     Store (0x00, XB1S)
6444                                 }
6445                             }
6446                             Else
6447                             {
6448                                 If (And (\RBEC (0x39), 0x80))
6449                                 {
6450                                     Store (0x01, B1ST)
6451                                     If (And (\RBEC (0x49), 0x01))
6452                                     {
6453                                         Store (0x01, SBLI)
6454                                         Store (0x00, XB1S)
6455                                     }
6456                                     Else
6457                                     {
6458                                         Store (0x00, SBLI)
6459                                         Store (0x01, XB1S)
6460                                     }
6461                                 }
6462                                 Else
6463                                 {
6464                                     Store (0x00, B1ST)
6465                                     Store (0x01, SBLI)
6466                                     Store (0x00, XB1S)
6467                                 }
6468                             }
6469 
6470                             If (B1ST)
6471                             {
6472                                 If (XB1S)
6473                                 {
6474                                     Return (0x1F)
6475                                 }
6476                                 Else
6477                                 {
6478                                     If (\WNTF)
6479                                     {
6480                                         Return (0x00)
6481                                     }
6482                                     Else
6483                                     {
6484                                         Return (0x1F)
6485                                     }
6486                                 }
6487                             }
6488                             Else
6489                             {
6490                                 If (\WNTF)
6491                                 {
6492                                     Return (0x00)
6493                                 }
6494                                 Else
6495                                 {
6496                                     Return (0x0F)
6497                                 }
6498                             }
6499                         }
6500 
6501                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
6502                         {
6503                             Store (0x00, Local7)
6504                             Store (0x0A, Local6)
6505                             While (LAnd (LNot (Local7), Local6))
6506                             {
6507                                 If (HB1A)
6508                                 {
6509                                     If (LEqual (And (HB1S, 0x07), 0x07))
6510                                     {
6511                                         Sleep (0x03E8)
6512                                         Decrement (Local6)
6513                                     }
6514                                     Else
6515                                     {
6516                                         Store (0x01, Local7)
6517                                     }
6518                                 }
6519                                 Else
6520                                 {
6521                                     Store (0x00, Local6)
6522                                 }
6523                             }
6524 
6525                             Return (GBIF (0x10, BT1I, Local7))
6526                         }
6527 
6528                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
6529                         {
6530                             XOr (DerefOf (Index (BT1I, 0x00)), 0x01, Local0)
6531                             Return (GBST (0x10, HB1S, Local0, BT1P))
6532                         }
6533 
6534                         Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
6535                         {
6536                             And (HAM4, 0xDF, HAM4)
6537                             If (Arg0)
6538                             {
6539                                 Store (Arg0, Local1)
6540                                 If (LNot (DerefOf (Index (BT1I, 0x00))))
6541                                 {
6542                                     Divide (Local1, 0x0A, Local0, Local1)
6543                                 }
6544 
6545                                 And (Local1, 0xFF, HT1L)
6546                                 And (ShiftRight (Local1, 0x08), 0xFF, HT1H)
6547                                 Or (HAM4, 0x20, HAM4)
6548                             }
6549                         }
6550 
6551                         Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
6552                         {
6553                             If (Arg0)
6554                             {
6555                                 Store (0x00, B1ST)
6556                                 Store (0x01, SBLI)
6557                                 Store (0x00, XB1S)
6558                             }
6559                         }
6560                     }
6561 
6562                     Device (AC)
6563                     {
6564                         Name (_HID, "ACPI0003")  // _HID: Hardware ID
6565                         Name (_UID, 0x00)  // _UID: Unique ID
6566                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
6567                         {
6568                             \_SB
6569                         })
6570                         Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
6571                         {
6572                             If (\H8DR)
6573                             {
6574                                 If (HPAC)
6575                                 {
6576                                     If (LLess (HWAT, MIAC))
6577                                     {
6578                                         Return (0x00)
6579                                     }
6580                                     Else
6581                                     {
6582                                         If (DOCD)
6583                                         {
6584                                             If (\_SB.PCI0.LPC.EPWG)
6585                                             {
6586                                                 Return (0x01)
6587                                             }
6588                                             Else
6589                                             {
6590                                                 Return (0x00)
6591                                             }
6592                                         }
6593                                         Else
6594                                         {
6595                                             Return (0x01)
6596                                         }
6597                                     }
6598                                 }
6599                                 Else
6600                                 {
6601                                     Return (0x00)
6602                                 }
6603                             }
6604                             Else
6605                             {
6606                                 If (And (\RBEC (0x46), 0x10))
6607                                 {
6608                                     Return (0x01)
6609                                 }
6610                                 Else
6611                                 {
6612                                     Return (0x00)
6613                                 }
6614                             }
6615                         }
6616 
6617                         Method (_STA, 0, NotSerialized)  // _STA: Status
6618                         {
6619                             Return (0x0F)
6620                         }
6621                     }
6622 
6623                     Device (WGSH)
6624                     {
6625                         Name (_HID, EisaId ("LEN0078"))  // _HID: Hardware ID
6626                         Method (_STA, 0, NotSerialized)  // _STA: Status
6627                         {
6628                             If (\WIN8)
6629                             {
6630                                 Return (0x0F)
6631                             }
6632                             Else
6633                             {
6634                                 Return (0x00)
6635                             }
6636                         }
6637 
6638                         Method (WLSW, 0, NotSerialized)
6639                         {
6640                             Return (\_SB.PCI0.LPC.EC.GSTS)
6641                         }
6642                     }
6643 
6644                     Device (HKEY)
6645                     {
6646                         Name (_HID, EisaId ("LEN0068"))  // _HID: Hardware ID
6647                         Method (_STA, 0, NotSerialized)  // _STA: Status
6648                         {
6649                             Return (0x0F)
6650                         }
6651 
6652                         Method (MHKV, 0, NotSerialized)
6653                         {
6654                             Return (0x0100)
6655                         }
6656 
6657                         Name (DHKC, 0x00)
6658                         Name (DHKB, 0x01)
6659                         Mutex (XDHK, 0x07)
6660                         Name (DHKH, 0x00)
6661                         Name (DHKW, 0x00)
6662                         Name (DHKS, 0x00)
6663                         Name (DHKD, 0x00)
6664                         Name (DHKN, 0x0808)
6665                         Name (DHKT, 0x00)
6666                         Name (DHWW, 0x00)
6667                         Method (MHKA, 0, NotSerialized)
6668                         {
6669                             Return (0x07FFFFFB)
6670                         }
6671 
6672                         Method (MHKN, 0, NotSerialized)
6673                         {
6674                             Return (DHKN)
6675                         }
6676 
6677                         Method (MHKK, 1, NotSerialized)
6678                         {
6679                             If (DHKC)
6680                             {
6681                                 Return (And (DHKN, Arg0))
6682                             }
6683                             Else
6684                             {
6685                                 Return (Zero)
6686                             }
6687                         }
6688 
6689                         Method (MHKM, 2, NotSerialized)
6690                         {
6691                             Acquire (XDHK, 0xFFFF)
6692                             If (LGreater (Arg0, 0x20))
6693                             {
6694                                 Noop
6695                             }
6696                             Else
6697                             {
6698                                 ShiftLeft (One, Decrement (Arg0), Local0)
6699                                 If (And (Local0, 0x07FFFFFB))
6700                                 {
6701                                     If (Arg1)
6702                                     {
6703                                         Or (Local0, DHKN, DHKN)
6704                                     }
6705                                     Else
6706                                     {
6707                                         And (DHKN, XOr (Local0, 0xFFFFFFFF), DHKN)
6708                                     }
6709                                 }
6710                                 Else
6711                                 {
6712                                     Noop
6713                                 }
6714                             }
6715 
6716                             Release (XDHK)
6717                         }
6718 
6719                         Method (MHKS, 0, NotSerialized)
6720                         {
6721                             Notify (\_SB.SLPB, 0x80)
6722                         }
6723 
6724                         Method (MHKC, 1, NotSerialized)
6725                         {
6726                             Store (Arg0, DHKC)
6727                         }
6728 
6729                         Method (MHKP, 0, NotSerialized)
6730                         {
6731                             Acquire (XDHK, 0xFFFF)
6732                             If (DHWW)
6733                             {
6734                                 Store (DHWW, Local1)
6735                                 Store (Zero, DHWW)
6736                             }
6737                             Else
6738                             {
6739                                 If (DHKW)
6740                                 {
6741                                     Store (DHKW, Local1)
6742                                     Store (Zero, DHKW)
6743                                 }
6744                                 Else
6745                                 {
6746                                     If (DHKD)
6747                                     {
6748                                         Store (DHKD, Local1)
6749                                         Store (Zero, DHKD)
6750                                     }
6751                                     Else
6752                                     {
6753                                         If (DHKS)
6754                                         {
6755                                             Store (DHKS, Local1)
6756                                             Store (Zero, DHKS)
6757                                         }
6758                                         Else
6759                                         {
6760                                             If (DHKT)
6761                                             {
6762                                                 Store (DHKT, Local1)
6763                                                 Store (Zero, DHKT)
6764                                             }
6765                                             Else
6766                                             {
6767                                                 Store (DHKH, Local1)
6768                                                 Store (Zero, DHKH)
6769                                             }
6770                                         }
6771                                     }
6772                                 }
6773                             }
6774 
6775                             Release (XDHK)
6776                             Return (Local1)
6777                         }
6778 
6779                         Method (MHKE, 1, NotSerialized)
6780                         {
6781                             Store (Arg0, DHKB)
6782                             Acquire (XDHK, 0xFFFF)
6783                             Store (Zero, DHKH)
6784                             Store (Zero, DHKW)
6785                             Store (Zero, DHKS)
6786                             Store (Zero, DHKD)
6787                             Store (Zero, DHKT)
6788                             Store (Zero, DHWW)
6789                             Release (XDHK)
6790                         }
6791 
6792                         Method (MHKQ, 1, NotSerialized)
6793                         {
6794                             If (DHKB)
6795                             {
6796                                 If (DHKC)
6797                                 {
6798                                     Acquire (XDHK, 0xFFFF)
6799                                     If (LLess (Arg0, 0x1000)) {}
6800                                     Else
6801                                     {
6802                                         If (LLess (Arg0, 0x2000))
6803                                         {
6804                                             Store (Arg0, DHKH)
6805                                         }
6806                                         Else
6807                                         {
6808                                             If (LLess (Arg0, 0x3000))
6809                                             {
6810                                                 Store (Arg0, DHKW)
6811                                             }
6812                                             Else
6813                                             {
6814                                                 If (LLess (Arg0, 0x4000))
6815                                                 {
6816                                                     Store (Arg0, DHKS)
6817                                                 }
6818                                                 Else
6819                                                 {
6820                                                     If (LLess (Arg0, 0x5000))
6821                                                     {
6822                                                         Store (Arg0, DHKD)
6823                                                     }
6824                                                     Else
6825                                                     {
6826                                                         If (LLess (Arg0, 0x6000))
6827                                                         {
6828                                                             Store (Arg0, DHKH)
6829                                                         }
6830                                                         Else
6831                                                         {
6832                                                             If (LLess (Arg0, 0x7000))
6833                                                             {
6834                                                                 Store (Arg0, DHKT)
6835                                                             }
6836                                                             Else
6837                                                             {
6838                                                                 If (LLess (Arg0, 0x8000))
6839                                                                 {
6840                                                                     Store (Arg0, DHWW)
6841                                                                 }
6842                                                                 Else
6843                                                                 {
6844                                                                 }
6845                                                             }
6846                                                         }
6847                                                     }
6848                                                 }
6849                                             }
6850                                         }
6851                                     }
6852 
6853                                     Release (XDHK)
6854                                     Notify (HKEY, 0x80)
6855                                 }
6856                                 Else
6857                                 {
6858                                     If (LEqual (Arg0, 0x1004))
6859                                     {
6860                                         Notify (\_SB.SLPB, 0x80)
6861                                     }
6862                                 }
6863                             }
6864                         }
6865 
6866                         Method (MHKB, 1, NotSerialized)
6867                         {
6868                             If (LEqual (Arg0, 0x00))
6869                             {
6870                                 \_SB.PCI0.LPC.EC.BEEP (0x11)
6871                                 Store (0x00, \LIDB)
6872                             }
6873                             Else
6874                             {
6875                                 If (LEqual (Arg0, 0x01))
6876                                 {
6877                                     \_SB.PCI0.LPC.EC.BEEP (0x10)
6878                                     Store (0x01, \LIDB)
6879                                 }
6880                                 Else
6881                                 {
6882                                 }
6883                             }
6884                         }
6885 
6886                         Method (MHKD, 0, NotSerialized)
6887                         {
6888                             If (LEqual (\PLUX, 0x00))
6889                             {
6890                                 If (VIGD)
6891                                 {
6892                                     \_SB.PCI0.VID.VLOC (0x00)
6893                                 }
6894                                 Else
6895                                 {
6896                                     \_SB.PCI0.PEG.VID.VLOC (0x00)
6897                                 }
6898                             }
6899                         }
6900 
6901                         Method (MHQC, 1, NotSerialized)
6902                         {
6903                             If (\WNTF)
6904                             {
6905                                 If (LEqual (Arg0, 0x00))
6906                                 {
6907                                     Return (\CWAC)
6908                                 }
6909                                 Else
6910                                 {
6911                                     If (LEqual (Arg0, 0x01))
6912                                     {
6913                                         Return (\CWAP)
6914                                     }
6915                                     Else
6916                                     {
6917                                         If (LEqual (Arg0, 0x02))
6918                                         {
6919                                             Return (\CWAT)
6920                                         }
6921                                         Else
6922                                         {
6923                                             Noop
6924                                         }
6925                                     }
6926                                 }
6927                             }
6928                             Else
6929                             {
6930                                 Noop
6931                             }
6932 
6933                             Return (0x00)
6934                         }
6935 
6936                         Method (MHGC, 0, NotSerialized)
6937                         {
6938                             If (\WNTF)
6939                             {
6940                                 Acquire (XDHK, 0xFFFF)
6941                                 If (CKC4 (0x00))
6942                                 {
6943                                     Store (0x03, Local0)
6944                                 }
6945                                 Else
6946                                 {
6947                                     Store (0x04, Local0)
6948                                 }
6949 
6950                                 Release (XDHK)
6951                                 Return (Local0)
6952                             }
6953                             Else
6954                             {
6955                                 Noop
6956                             }
6957 
6958                             Return (0x00)
6959                         }
6960 
6961                         Method (MHSC, 1, NotSerialized)
6962                         {
6963                             If (LAnd (\CWAC, \WNTF))
6964                             {
6965                                 Acquire (XDHK, 0xFFFF)
6966                                 If (\OSC4)
6967                                 {
6968                                     If (LEqual (Arg0, 0x03))
6969                                     {
6970                                         If (LNot (\CWAS))
6971                                         {
6972                                             \PNTF (0x81)
6973                                             Store (0x01, \CWAS)
6974                                         }
6975                                     }
6976                                     Else
6977                                     {
6978                                         If (LEqual (Arg0, 0x04))
6979                                         {
6980                                             If (\CWAS)
6981                                             {
6982                                                 \PNTF (0x81)
6983                                                 Store (0x00, \CWAS)
6984                                             }
6985                                         }
6986                                         Else
6987                                         {
6988                                             Noop
6989                                         }
6990                                     }
6991                                 }
6992 
6993                                 Release (XDHK)
6994                             }
6995                             Else
6996                             {
6997                                 Noop
6998                             }
6999                         }
7000 
7001                         Method (CKC4, 1, NotSerialized)
7002                         {
7003                             Store (0x00, Local0)
7004                             If (\C4WR)
7005                             {
7006                                 If (LNot (\C4AC))
7007                                 {
7008                                     Or (Local0, 0x01, Local0)
7009                                 }
7010                             }
7011 
7012                             If (\C4NA)
7013                             {
7014                                 Or (Local0, 0x02, Local0)
7015                             }
7016 
7017                             If (LAnd (\CWAC, \CWAS))
7018                             {
7019                                 Or (Local0, 0x04, Local0)
7020                             }
7021 
7022                             If (LAnd (\CWUE, \CWUS))
7023                             {
7024                                 Or (Local0, 0x08, Local0)
7025                             }
7026 
7027                             And (Local0, Not (Arg0), Local0)
7028                             Return (Local0)
7029                         }
7030 
7031                         Method (MHQE, 0, NotSerialized)
7032                         {
7033                             Return (\C4WR)
7034                         }
7035 
7036                         Method (MHGE, 0, NotSerialized)
7037                         {
7038                             If (LAnd (\C4WR, \C4AC))
7039                             {
7040                                 Return (0x04)
7041                             }
7042 
7043                             Return (0x03)
7044                         }
7045 
7046                         Method (MHSE, 1, NotSerialized)
7047                         {
7048                             If (\C4WR)
7049                             {
7050                                 Store (\C4AC, Local0)
7051                                 If (LEqual (Arg0, 0x03))
7052                                 {
7053                                     Store (0x00, \C4AC)
7054                                     If (XOr (Local0, \C4AC))
7055                                     {
7056                                         If (\OSC4)
7057                                         {
7058                                             \PNTF (0x81)
7059                                         }
7060                                     }
7061                                 }
7062                                 Else
7063                                 {
7064                                     If (LEqual (Arg0, 0x04))
7065                                     {
7066                                         Store (0x01, \C4AC)
7067                                         If (XOr (Local0, \C4AC))
7068                                         {
7069                                             If (\OSC4)
7070                                             {
7071                                                 \PNTF (0x81)
7072                                             }
7073                                         }
7074                                     }
7075                                 }
7076                             }
7077                         }
7078 
7079                         Method (UAWO, 1, NotSerialized)
7080                         {
7081                             Return (\UAWS (Arg0))
7082                         }
7083 
7084                         Method (MLCG, 1, NotSerialized)
7085                         {
7086                             Store (\KBLS (0x00, 0x00), Local0)
7087                             Return (Local0)
7088                         }
7089 
7090                         Method (MLCS, 1, NotSerialized)
7091                         {
7092                             Store (\KBLS (0x01, Arg0), Local0)
7093                             If (LNot (And (Local0, 0x80000000)))
7094                             {
7095                                 If (And (Arg0, 0x00010000))
7096                                 {
7097                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
7098                                 }
7099                                 Else
7100                                 {
7101                                     If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
7102                                     {
7103                                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
7104                                     }
7105                                 }
7106                             }
7107 
7108                             Return (Local0)
7109                         }
7110 
7111                         Method (DSSG, 1, NotSerialized)
7112                         {
7113                             Or (0x0400, \PDCI, Local0)
7114                             Return (Local0)
7115                         }
7116 
7117                         Method (DSSS, 1, NotSerialized)
7118                         {
7119                             Or (\PDCI, Arg0, \PDCI)
7120                         }
7121 
7122                         Method (SBSG, 1, NotSerialized)
7123                         {
7124                             Return (\SYBC (0x00, 0x00))
7125                         }
7126 
7127                         Method (SBSS, 1, NotSerialized)
7128                         {
7129                             Return (\SYBC (0x01, Arg0))
7130                         }
7131 
7132                         Method (PBLG, 1, NotSerialized)
7133                         {
7134                             Store (\BRLV, Local0)
7135                             Or (Local0, 0x0F00, Local1)
7136                             Return (Local1)
7137                         }
7138 
7139                         Method (PBLS, 1, NotSerialized)
7140                         {
7141                             Store (Arg0, \BRLV)
7142                             If (\VIGD)
7143                             {
7144                                 \_SB.PCI0.LPC.EC.BRNS ()
7145                             }
7146                             Else
7147                             {
7148                                 \VBRC (\BRLV)
7149                             }
7150 
7151                             If (LNot (\NBCF))
7152                             {
7153                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
7154                             }
7155 
7156                             Return (0x00)
7157                         }
7158 
7159                         Method (PMSG, 1, NotSerialized)
7160                         {
7161                             Store (\PRSM (0x00, 0x00), Local0)
7162                             If (LNot (\APIN))
7163                             {
7164                                 If (And (Local0, 0x10))
7165                                 {
7166                                     Store (0x01, \APMD)
7167                                 }
7168                                 Else
7169                                 {
7170                                     Store (0x00, \APMD)
7171                                 }
7172 
7173                                 If (\OSPX)
7174                                 {
7175                                     \PNTF (0x80)
7176                                 }
7177 
7178                                 Store (0x01, \APIN)
7179                             }
7180 
7181                             Return (Local0)
7182                         }
7183 
7184                         Method (PMSS, 1, NotSerialized)
7185                         {
7186                             \PRSM (0x01, Arg0)
7187                             If (LOr (LAnd (LNot (\APMD), And (Arg0, 0x10)), LAnd (
7188                                 \APMD, LNot (And (Arg0, 0x10)))))
7189                             {
7190                                 If (And (Arg0, 0x10))
7191                                 {
7192                                     Store (0x01, \APMD)
7193                                 }
7194                                 Else
7195                                 {
7196                                     Store (0x00, \APMD)
7197                                 }
7198 
7199                                 If (\OSPX)
7200                                 {
7201                                     \PNTF (0x80)
7202                                 }
7203                             }
7204 
7205                             Return (0x00)
7206                         }
7207 
7208                         Method (ISSG, 1, NotSerialized)
7209                         {
7210                             Store (\ISSP, Local0)
7211                             Or (Local0, 0x80, Local0)
7212                             Or (Local0, And (\ISCG, 0x30), Local0)
7213                             Return (Local0)
7214                         }
7215 
7216                         Method (ISSS, 1, NotSerialized)
7217                         {
7218                             Store (Arg0, \ISCG)
7219                             Return (0x00)
7220                         }
7221 
7222                         Method (FFSG, 1, NotSerialized)
7223                         {
7224                             Return (\IFRS (0x00, 0x00))
7225                         }
7226 
7227                         Method (FFSS, 1, NotSerialized)
7228                         {
7229                             \IFRS (0x01, Arg0)
7230                             Return (0x00)
7231                         }
7232                     }
7233 
7234                     Scope (\_SB.PCI0.LPC.EC.HKEY)
7235                     {
7236                         Name (INDV, 0x00)
7237                         Method (MHQI, 0, NotSerialized)
7238                         {
7239                             If (And (\IPMS, 0x01))
7240                             {
7241                                 Or (INDV, 0x01, INDV)
7242                             }
7243 
7244                             If (And (\IPMS, 0x02))
7245                             {
7246                                 Or (INDV, 0x02, INDV)
7247                             }
7248 
7249                             If (And (\IPMS, 0x04))
7250                             {
7251                                 Or (INDV, 0x0100, INDV)
7252                             }
7253 
7254                             If (And (\IPMS, 0x08))
7255                             {
7256                                 Or (INDV, 0x0200, INDV)
7257                             }
7258 
7259                             If (And (\IPMS, 0x10))
7260                             {
7261                                 Or (INDV, 0x04, INDV)
7262                             }
7263 
7264                             Return (INDV)
7265                         }
7266 
7267                         Method (MHGI, 1, NotSerialized)
7268                         {
7269                             Name (RETB, Buffer (0x10) {})
7270                             CreateByteField (RETB, 0x00, MHGS)
7271                             ShiftLeft (0x01, Arg0, Local0)
7272                             If (And (INDV, Local0))
7273                             {
7274                                 If (LEqual (Arg0, 0x00))
7275                                 {
7276                                     CreateField (RETB, 0x08, 0x78, BRBU)
7277                                     Store (\IPMB, BRBU)
7278                                     Store (0x10, MHGS)
7279                                 }
7280                                 Else
7281                                 {
7282                                     If (LEqual (Arg0, 0x01))
7283                                     {
7284                                         CreateField (RETB, 0x08, 0x18, RRBU)
7285                                         Store (\IPMR, RRBU)
7286                                         Store (0x04, MHGS)
7287                                     }
7288                                     Else
7289                                     {
7290                                         If (LEqual (Arg0, 0x08))
7291                                         {
7292                                             CreateField (RETB, 0x10, 0x18, ODBU)
7293                                             CreateByteField (RETB, 0x01, MHGZ)
7294                                             Store (\IPMO, ODBU)
7295                                             If (LEqual (^^BDEV, 0x03))
7296                                             {
7297                                                 If (\H8DR)
7298                                                 {
7299                                                     Store (^^HPBU, Local1)
7300                                                 }
7301                                                 Else
7302                                                 {
7303                                                     And (\RBEC (0x47), 0x01, Local1)
7304                                                 }
7305 
7306                                                 If (LNot (Local1))
7307                                                 {
7308                                                     Or (0x04, MHGZ, MHGZ)
7309                                                 }
7310 
7311                                                 If (LEqual (^^BSTS, 0x00))
7312                                                 {
7313                                                     Or (0x01, MHGZ, MHGZ)
7314                                                     Or (0x02, MHGZ, MHGZ)
7315                                                 }
7316                                             }
7317 
7318                                             Store (0x05, MHGS)
7319                                         }
7320                                         Else
7321                                         {
7322                                             If (LEqual (Arg0, 0x09))
7323                                             {
7324                                                 CreateField (RETB, 0x10, 0x08, AUBU)
7325                                                 Store (\IPMA, AUBU)
7326                                                 Store (0x01, Index (RETB, 0x01))
7327                                                 Store (0x03, MHGS)
7328                                             }
7329                                             Else
7330                                             {
7331                                                 If (LEqual (Arg0, 0x02))
7332                                                 {
7333                                                     Store (\VDYN (0x00, 0x00), Local1)
7334                                                     And (Local1, 0x0F, Index (RETB, 0x02))
7335                                                     ShiftRight (Local1, 0x04, Local1)
7336                                                     And (Local1, 0x0F, Index (RETB, 0x01))
7337                                                     Store (0x03, MHGS)
7338                                                 }
7339                                             }
7340                                         }
7341                                     }
7342                                 }
7343                             }
7344 
7345                             Return (RETB)
7346                         }
7347 
7348                         Method (MHSI, 2, NotSerialized)
7349                         {
7350                             ShiftLeft (0x01, Arg0, Local0)
7351                             If (And (INDV, Local0))
7352                             {
7353                                 If (LEqual (Arg0, 0x08))
7354                                 {
7355                                     If (Arg1)
7356                                     {
7357                                         If (\H8DR)
7358                                         {
7359                                             Store (^^HPBU, Local1)
7360                                         }
7361                                         Else
7362                                         {
7363                                             And (\RBEC (0x47), 0x01, Local1)
7364                                         }
7365 
7366                                         If (LNot (Local1))
7367                                         {
7368                                             Store (^^BGID (0x00), ^^BDEV)
7369                                             ^^NBIN (Local1)
7370                                         }
7371                                     }
7372                                 }
7373                                 Else
7374                                 {
7375                                     If (LEqual (Arg0, 0x02))
7376                                     {
7377                                         \VDYN (0x01, Arg1)
7378                                     }
7379                                 }
7380                             }
7381                         }
7382                     }
7383 
7384                     Scope (\_SB.PCI0.LPC.EC)
7385                     {
7386                         Method (_Q6A, 0, NotSerialized)  // _Qxx: EC Query
7387                         {
7388                             If (HDMC)
7389                             {
7390                                 Noop
7391                             }
7392                             Else
7393                             {
7394                                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
7395                                 {
7396                                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
7397                                 }
7398                             }
7399                         }
7400                     }
7401 
7402                     Scope (\_SB.PCI0.LPC.EC.HKEY)
7403                     {
7404                         Method (MMTG, 0, NotSerialized)
7405                         {
7406                             Store (0x0101, Local0)
7407                             If (HDMC)
7408                             {
7409                                 Or (Local0, 0x00010000, Local0)
7410                             }
7411 
7412                             Return (Local0)
7413                         }
7414 
7415                         Method (MMTS, 1, NotSerialized)
7416                         {
7417                             If (HDMC)
7418                             {
7419                                 Noop
7420                             }
7421                             Else
7422                             {
7423                                 If (LEqual (Arg0, 0x02))
7424                                 {
7425                                     \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
7426                                 }
7427                                 Else
7428                                 {
7429                                     If (LEqual (Arg0, 0x03))
7430                                     {
7431                                         \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
7432                                     }
7433                                     Else
7434                                     {
7435                                         \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
7436                                     }
7437                                 }
7438                             }
7439                         }
7440                     }
7441 
7442                     Scope (\_SB.PCI0.LPC.EC.HKEY)
7443                     {
7444                         Method (PWMC, 0, NotSerialized)
7445                         {
7446                             Return (0x01)
7447                         }
7448 
7449                         Method (PWMG, 0, NotSerialized)
7450                         {
7451                             Store (\_SB.PCI0.LPC.EC.PWMH, Local0)
7452                             ShiftLeft (Local0, 0x08, Local0)
7453                             Or (Local0, \_SB.PCI0.LPC.EC.PWML, Local0)
7454                             Return (Local0)
7455                         }
7456                     }
7457 
7458                     Scope (\_SB.PCI0.LPC.EC)
7459                     {
7460                         Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query
7461                         {
7462                             If (DOCD)
7463                             {
7464                                 Sleep (0x64)
7465                                 If (\_SB.PCI0.LPC.EPWG)
7466                                 {
7467                                     Noop
7468                                 }
7469                                 Else
7470                                 {
7471                                     If (HPAC)
7472                                     {
7473                                         _Q27 ()
7474                                     }
7475                                 }
7476 
7477                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
7478                             }
7479                             Else
7480                             {
7481                                 Sleep (0x64)
7482                                 If (HPAC)
7483                                 {
7484                                     _Q26 ()
7485                                 }
7486 
7487                                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
7488                             }
7489                         }
7490 
7491                         Method (DKID, 0, NotSerialized)
7492                         {
7493                             Store (\_SB.PCI0.LPC.DOI0, Local0)
7494                             Store (\_SB.PCI0.LPC.DOI1, Local1)
7495                             Store (\_SB.PCI0.LPC.DOI2, Local2)
7496                             Or (Local0, ShiftLeft (Local1, 0x01), Local0)
7497                             Or (Local0, ShiftLeft (Local2, 0x02), Local0)
7498                             Return (Local0)
7499                         }
7500                     }
7501 
7502                     Scope (\_SB.PCI0.LPC.EC.HKEY)
7503                     {
7504                         Method (GDKS, 0, NotSerialized)
7505                         {
7506                             Store (0x00, Local0)
7507                             If (LEqual (\_SB.PCI0.LPC.EC.DOCD, 0x01))
7508                             {
7509                                 Or (Local0, 0x01, Local0)
7510                                 Store (\_SB.PCI0.LPC.EC.DKID (), Local1)
7511                                 ShiftLeft (Local1, 0x08, Local1)
7512                                 Or (Local0, Local1, Local0)
7513                             }
7514 
7515                             If (LEqual (\_SB.PCI0.LPC.EC.HB1A, 0x01))
7516                             {
7517                                 If (LEqual (\_SB.PCI0.LPC.EC.SLUL, 0x01))
7518                                 {
7519                                     Or (Local0, 0x04, Local0)
7520                                 }
7521                             }
7522 
7523                             Return (Local0)
7524                         }
7525                     }
7526 
7527                     Scope (\_SB.PCI0.LPC.EC)
7528                     {
7529                         Method (_Q3F, 0, NotSerialized)  // _Qxx: EC Query
7530                         {
7531                             \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
7532                         }
7533                     }
7534 
7535                     Scope (\_SB.PCI0.LPC.EC.HKEY)
7536                     {
7537                         Method (NUMG, 0, NotSerialized)
7538                         {
7539                             Store (0x00, Local0)
7540                             Return (Local0)
7541                         }
7542                     }
7543                 }
7544             }
7545 
7546             Device (PEG)
7547             {
7548                 Name (_ADR, 0x00010000)  // _ADR: Address
7549                 Name (_S3D, 0x03)  // _S3D: S3 Device State
7550                 Name (RID, 0x00)
7551                 Name (LART, Package (0x02)
7552                 {
7553                     Package (0x04)
7554                     {
7555                         0xFFFF, 
7556                         0x00, 
7557                         \_SB.LNKA, 
7558                         0x00
7559                     }, 
7560 
7561                     Package (0x04)
7562                     {
7563                         0xFFFF, 
7564                         0x01, 
7565                         \_SB.LNKB, 
7566                         0x00
7567                     }
7568                 })
7569                 Name (AART, Package (0x02)
7570                 {
7571                     Package (0x04)
7572                     {
7573                         0xFFFF, 
7574                         0x00, 
7575                         0x00, 
7576                         0x10
7577                     }, 
7578 
7579                     Package (0x04)
7580                     {
7581                         0xFFFF, 
7582                         0x01, 
7583                         0x00, 
7584                         0x11
7585                     }
7586                 })
7587                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
7588                 {
7589                     If (\GPIC)
7590                     {
7591                         Return (AART)
7592                     }
7593                     Else
7594                     {
7595                         Return (LART)
7596                     }
7597                 }
7598 
7599                 Mutex (MDGS, 0x07)
7600                 Name (VDEE, 0x01)
7601                 Name (VDDA, Buffer (0x04) {})
7602                 CreateBitField (VDDA, 0x00, VUPC)
7603                 CreateBitField (VDDA, 0x01, VQDL)
7604                 CreateBitField (VDDA, 0x02, VQDC)
7605                 CreateBitField (VDDA, 0x03, VQD0)
7606                 CreateBitField (VDDA, 0x04, VQD1)
7607                 CreateBitField (VDDA, 0x05, VQD2)
7608                 CreateBitField (VDDA, 0x06, VQD3)
7609                 CreateBitField (VDDA, 0x07, VQD4)
7610                 CreateBitField (VDDA, 0x08, VQD5)
7611                 CreateBitField (VDDA, 0x09, VSDL)
7612                 CreateBitField (VDDA, 0x0A, VSDC)
7613                 CreateBitField (VDDA, 0x0B, VSD0)
7614                 CreateBitField (VDDA, 0x0C, VSD1)
7615                 CreateBitField (VDDA, 0x0D, VSD2)
7616                 CreateBitField (VDDA, 0x0E, VSD3)
7617                 CreateBitField (VDDA, 0x0F, VSD4)
7618                 CreateBitField (VDDA, 0x10, VSD5)
7619                 CreateBitField (VDDA, 0x11, MSWT)
7620                 CreateBitField (VDDA, 0x12, VWST)
7621                 Device (VID)
7622                 {
7623                     Name (_ADR, 0x00)  // _ADR: Address
7624                     OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7625                     Field (VPCG, DWordAcc, NoLock, Preserve)
7626                     {
7627                         Offset (0x2C), 
7628                         VSID,   32, 
7629                         Offset (0x40), 
7630                         VIDS,   32, 
7631                         Offset (0x70), 
7632                         VPWR,   8
7633                     }
7634 
7635                     OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7636                     Field (GPPB, ByteAcc, NoLock, Preserve)
7637                     {
7638                         PBCI,   8, 
7639                         PBNP,   8, 
7640                         PBLS,   8, 
7641                         PBCC,   8, 
7642                         PBCR,   32, 
7643                         PBDI,   32, 
7644                         PBDO,   32, 
7645                         PBMR,   32
7646                     }
7647 
7648                     Name (_S3D, 0x03)  // _S3D: S3 Device State
7649                     Name (DGOS, 0x00)
7650                     Method (_INI, 0, NotSerialized)  // _INI: Initialize
7651                     {
7652                         \VUPS (0x02)
7653                         Store (\VCDL, VQDL)
7654                         Store (\VCDC, VQDC)
7655                         Store (\VCDT, VQD0)
7656                         Store (\VCDD, VQD1)
7657                         If (ISOP ())
7658                         {
7659                             \VHYB (0x04, 0x01)
7660                             HPDE (0x01)
7661                         }
7662                     }
7663 
7664                     Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
7665                     {
7666                         If (ISOP ())
7667                         {
7668                             If (DGOS)
7669                             {
7670                                 Store (0x01, \TDNV)
7671                                 Store (0x01, \APMF)
7672                                 If (\APMD)
7673                                 {
7674                                     If (And (\PPMF, 0x01))
7675                                     {
7676                                         If (\OSPX)
7677                                         {
7678                                             \PNTF (0x80)
7679                                         }
7680                                     }
7681                                 }
7682 
7683                                 \VHYB (0x02, 0x00)
7684                                 Sleep (0x64)
7685                                 \VHYB (0x00, 0x01)
7686                                 Sleep (0x0A)
7687                                 \VHYB (0x0A, 0x01)
7688                                 Sleep (0x64)
7689                                 \VHYB (0x02, 0x01)
7690                                 Sleep (0x01)
7691                                 \VHYB (0x08, 0x01)
7692                                 Store (0x0A, Local0)
7693                                 Store (0x32, Local1)
7694                                 While (Local1)
7695                                 {
7696                                     Sleep (Local0)
7697                                     If (\LCHK (0x01))
7698                                     {
7699                                         Break
7700                                     }
7701 
7702                                     Decrement (Local1)
7703                                 }
7704 
7705                                 \VHYB (0x0A, 0x00)
7706                                 \VHYB (0x04, 0x00)
7707                                 \SWTT (0x01)
7708                                 Store (Zero, DGOS)
7709                             }
7710                             Else
7711                             {
7712                                 If (LNotEqual (VSID, 0x21F517AA))
7713                                 {
7714                                     \VHYB (0x04, 0x00)
7715                                 }
7716                             }
7717 
7718                             \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7719                             HPDE (0x00)
7720                         }
7721                         Else
7722                         {
7723                             Store (0x21F617AA, VIDS)
7724                         }
7725                     }
7726 
7727                     Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
7728                     {
7729                         Noop
7730                     }
7731 
7732                     Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
7733                     {
7734                         Noop
7735                     }
7736 
7737                     Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
7738                     {
7739                         If (ISOP ())
7740                         {
7741                             If (LEqual (\_SB.PCI0.PEG.VID.OMPR, 0x03))
7742                             {
7743                                 \SWTT (0x00)
7744                                 \VHYB (0x08, 0x00)
7745                                 Store (0x0A, Local0)
7746                                 Store (0x32, Local1)
7747                                 While (Local1)
7748                                 {
7749                                     Sleep (Local0)
7750                                     If (\LCHK (0x00))
7751                                     {
7752                                         Break
7753                                     }
7754 
7755                                     Decrement (Local1)
7756                                 }
7757 
7758                                 \VHYB (0x02, 0x00)
7759                                 Sleep (0x64)
7760                                 \VHYB (0x00, 0x00)
7761                                 Store (One, DGOS)
7762                                 Store (0x02, \_SB.PCI0.PEG.VID.OMPR)
7763                                 Store (0x00, \TDNV)
7764                                 Store (0x00, \APMF)
7765                                 If (\APMD)
7766                                 {
7767                                     If (And (\PPMF, 0x01))
7768                                     {
7769                                         If (\OSPX)
7770                                         {
7771                                             \PNTF (0x80)
7772                                         }
7773                                     }
7774                                 }
7775 
7776                                 HPDE (0x01)
7777                             }
7778                         }
7779                     }
7780 
7781                     Method (_STA, 0, NotSerialized)  // _STA: Status
7782                     {
7783                         Return (0x0F)
7784                     }
7785 
7786                     Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
7787                     {
7788                         If (\CMPB (Arg0, Buffer (0x10)
7789                                 {
7790                                     /* 0000 */   0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47,
7791                                     /* 0008 */   0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0
7792                                 }))
7793                         {
7794                             Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7795                         }
7796 
7797                         If (\CMPB (Arg0, Buffer (0x10)
7798                                 {
7799                                     /* 0000 */   0x01, 0x2D, 0x13, 0xA3, 0xDA, 0x8C, 0xBA, 0x49,
7800                                     /* 0008 */   0xA5, 0x2E, 0xBC, 0x9D, 0x46, 0xDF, 0x6B, 0x81
7801                                 }))
7802                         {
7803                             Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7804                         }
7805 
7806                         If (\WIN8)
7807                         {
7808                             If (\CMPB (Arg0, Buffer (0x10)
7809                                     {
7810                                         /* 0000 */   0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46,
7811                                         /* 0008 */   0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
7812                                     }))
7813                             {
7814                                 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7815                             }
7816                         }
7817 
7818                         Return (Buffer (0x04)
7819                         {
7820                              0x01, 0x00, 0x00, 0x80
7821                         })
7822                     }
7823 
7824                     Name (_IRC, 0x00)  // _IRC: Inrush Current
7825                     OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7826                     Field (ATRP, AnyAcc, Lock, Preserve)
7827                     {
7828                         IDX0,   262144, 
7829                         IDX1,   262144
7830                     }
7831 
7832                     Method (_ROM, 2, Serialized)  // _ROM: Read-Only Memory
7833                     {
7834                         If (LGreaterEqual (Arg0, 0x8000))
7835                         {
7836                             Return (GETB (Subtract (Arg0, 0x8000), Arg1, IDX1))
7837                         }
7838 
7839                         If (LGreater (Add (Arg0, Arg1), 0x8000))
7840                         {
7841                             Subtract (0x8000, Arg0, Local0)
7842                             Subtract (Arg1, Local0, Local1)
7843                             Store (GETB (Arg0, Local0, IDX0), Local3)
7844                             Store (GETB (0x00, Local1, IDX1), Local4)
7845                             Concatenate (Local3, Local4, Local5)
7846                             Return (Local5)
7847                         }
7848 
7849                         Return (GETB (Arg0, Arg1, IDX0))
7850                     }
7851 
7852                     Method (GETB, 3, Serialized)
7853                     {
7854                         Multiply (Arg0, 0x08, Local0)
7855                         Multiply (Arg1, 0x08, Local1)
7856                         CreateField (Arg2, Local0, Local1, TBF3)
7857                         Return (TBF3)
7858                     }
7859 
7860                     Method (HPDE, 1, NotSerialized)
7861                     {
7862                         If (LEqual (Arg0, 0x00))
7863                         {
7864                             Store (0x00, \_SB.PCI0.LPC.XHPE)
7865                             Store (0x00, \_SB.PCI0.LPC.GR06)
7866                             Store (0x00, \_SB.PCI0.LPC.XHPD)
7867                         }
7868                         Else
7869                         {
7870                             Store (0x01, \_SB.PCI0.LPC.XHPE)
7871                             Store (0x02, \_SB.PCI0.LPC.GR06)
7872                             Store (0x00, \_SB.PCI0.LPC.XHPD)
7873                         }
7874                     }
7875 
7876                     Method (VSWT, 0, NotSerialized)
7877                     {
7878                         If (\WVIS)
7879                         {
7880                             Store (\VEVT (0x07), Local0)
7881                         }
7882                         Else
7883                         {
7884                             Store (\VEVT (0x05), Local0)
7885                         }
7886 
7887                         And (0xFF, Local0, Local1)
7888                         If (Local1)
7889                         {
7890                             ASWT (Local1, 0x01)
7891                         }
7892                     }
7893 
7894                     Method (VLOC, 1, NotSerialized)
7895                     {
7896                         If (LEqual (Arg0, \_SB.LID._LID ()))
7897                         {
7898                             \VSLD (Arg0)
7899                             If (LEqual (And (VPWR, 0x03), 0x00))
7900                             {
7901                                 If (Arg0)
7902                                 {
7903                                     Store (\VEVT (0x01), Local0)
7904                                 }
7905                                 Else
7906                                 {
7907                                     Store (\VEVT (0x02), Local0)
7908                                 }
7909 
7910                                 And (0x0F, Local0, Local1)
7911                                 If (Local1)
7912                                 {
7913                                     ASWT (Local1, 0x00)
7914                                 }
7915                             }
7916                         }
7917                     }
7918 
7919                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
7920                     {
7921                         If (LEqual (Arg0, 0x02))
7922                         {
7923                             Store (0x14, Local0)
7924                             While (Local0)
7925                             {
7926                                 Decrement (Local0)
7927                                 Acquire (MDGS, 0xFFFF)
7928                                 If (LEqual (0x00, MSWT))
7929                                 {
7930                                     Store (0x01, MSWT)
7931                                     Store (0x00, Local0)
7932                                     Store (Arg0, VDEE)
7933                                 }
7934 
7935                                 Release (MDGS)
7936                                 Sleep (0xC8)
7937                             }
7938                         }
7939                         Else
7940                         {
7941                             Acquire (MDGS, 0xFFFF)
7942                             If (LEqual (VDEE, 0x02))
7943                             {
7944                                 Store (0x00, MSWT)
7945                             }
7946 
7947                             If (LGreater (Arg0, 0x02))
7948                             {
7949                                 Store (0x01, VDEE)
7950                             }
7951                             Else
7952                             {
7953                                 Store (Arg0, VDEE)
7954                             }
7955 
7956                             Release (MDGS)
7957                         }
7958                     }
7959 
7960                     Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
7961                     {
7962                         Return (Package (0x08)
7963                         {
7964                             0x0100, 
7965                             0x0114, 
7966                             0x0111, 
7967                             0x0115, 
7968                             0x0112, 
7969                             0x0116, 
7970                             0x0113, 
7971                             0x0110
7972                         })
7973                     }
7974 
7975                     Method (ASWT, 2, NotSerialized)
7976                     {
7977                         If (LEqual (0x01, VDEE))
7978                         {
7979                             And (0x01, Arg1, Local1)
7980                             \VSDS (Arg0, Local1)
7981                         }
7982                         Else
7983                         {
7984                             Store (0x14, Local0)
7985                             While (Local0)
7986                             {
7987                                 Decrement (Local0)
7988                                 Acquire (MDGS, 0xFFFF)
7989                                 If (LEqual (0x00, MSWT))
7990                                 {
7991                                     Store (0x00, Local0)
7992                                     If (And (0x01, Arg1))
7993                                     {
7994                                         Store (0x01, VUPC)
7995                                     }
7996                                     Else
7997                                     {
7998                                         Store (0x00, VUPC)
7999                                     }
8000 
8001                                     If (And (0x01, Arg0))
8002                                     {
8003                                         Store (0x01, VQDL)
8004                                     }
8005                                     Else
8006                                     {
8007                                         Store (0x00, VQDL)
8008                                     }
8009 
8010                                     If (And (0x02, Arg0))
8011                                     {
8012                                         Store (0x01, VQDC)
8013                                     }
8014                                     Else
8015                                     {
8016                                         Store (0x00, VQDC)
8017                                     }
8018 
8019                                     If (And (0x04, Arg0))
8020                                     {
8021                                         Store (0x01, VQD0)
8022                                     }
8023                                     Else
8024                                     {
8025                                         Store (0x00, VQD0)
8026                                     }
8027 
8028                                     If (And (0x08, Arg0))
8029                                     {
8030                                         Store (0x01, VQD1)
8031                                     }
8032                                     Else
8033                                     {
8034                                         Store (0x00, VQD1)
8035                                     }
8036 
8037                                     If (And (0x10, Arg0))
8038                                     {
8039                                         Store (0x01, VQD2)
8040                                     }
8041                                     Else
8042                                     {
8043                                         Store (0x00, VQD2)
8044                                     }
8045 
8046                                     If (And (0x20, Arg0))
8047                                     {
8048                                         Store (0x01, VQD3)
8049                                     }
8050                                     Else
8051                                     {
8052                                         Store (0x00, VQD3)
8053                                     }
8054 
8055                                     If (And (0x40, Arg0))
8056                                     {
8057                                         Store (0x01, VQD4)
8058                                     }
8059                                     Else
8060                                     {
8061                                         Store (0x00, VQD4)
8062                                     }
8063 
8064                                     If (And (0x80, Arg0))
8065                                     {
8066                                         Store (0x01, VQD5)
8067                                     }
8068                                     Else
8069                                     {
8070                                         Store (0x00, VQD5)
8071                                     }
8072                                 }
8073 
8074                                 Release (MDGS)
8075                                 Sleep (0xC8)
8076                             }
8077 
8078                             If (And (0x02, Arg1))
8079                             {
8080                                 Notify (VID, 0x81)
8081                             }
8082                             Else
8083                             {
8084                                 Notify (VID, 0x80)
8085                             }
8086                         }
8087                     }
8088 
8089                     Method (VDSW, 1, NotSerialized)
8090                     {
8091                         If (LEqual (VPWR, 0x00))
8092                         {
8093                             If (Arg0)
8094                             {
8095                                 Store (\VEVT (0x03), Local0)
8096                             }
8097                             Else
8098                             {
8099                                 Store (\VEVT (0x04), Local0)
8100                             }
8101 
8102                             And (0x0F, Local0, Local1)
8103                             If (Local1)
8104                             {
8105                                 ASWT (Local1, 0x00)
8106                             }
8107                         }
8108                     }
8109 
8110                     Device (LCD0)
8111                     {
8112                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8113                         {
8114                             Return (0x0110)
8115                         }
8116 
8117                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8118                         {
8119                             \VUPS (0x00)
8120                             If (\VCDL)
8121                             {
8122                                 Return (0x1F)
8123                             }
8124                             Else
8125                             {
8126                                 Return (0x1D)
8127                             }
8128                         }
8129 
8130                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8131                         {
8132                             Return (VQDL)
8133                         }
8134 
8135                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8136                         {
8137                             And (Arg0, 0x01, VSDL)
8138                             If (And (Arg0, 0x80000000))
8139                             {
8140                                 If (And (Arg0, 0x40000000))
8141                                 {
8142                                     DSWT (0x02)
8143                                 }
8144                                 Else
8145                                 {
8146                                     DSWT (0x01)
8147                                 }
8148                             }
8149                         }
8150 
8151                         Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
8152                         {
8153                             If (ISOP ())
8154                             {
8155                                 Return (0x00)
8156                             }
8157 
8158                             If (LEqual (Arg0, 0x01))
8159                             {
8160                                 Return (\VEDI)
8161                             }
8162                             Else
8163                             {
8164                                 If (LEqual (Arg0, 0x02))
8165                                 {
8166                                     Return (\VEDI)
8167                                 }
8168                             }
8169 
8170                             Return (0x00)
8171                         }
8172                     }
8173 
8174                     Device (CRT0)
8175                     {
8176                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8177                         {
8178                             Return (0x0100)
8179                         }
8180 
8181                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8182                         {
8183                             \VUPS (0x01)
8184                             If (\VCSS)
8185                             {
8186                                 If (\VCDC)
8187                                 {
8188                                     Return (0x1F)
8189                                 }
8190                                 Else
8191                                 {
8192                                     Return (0x1D)
8193                                 }
8194                             }
8195                             Else
8196                             {
8197                                 If (\VCDC)
8198                                 {
8199                                     Return (0x0F)
8200                                 }
8201                                 Else
8202                                 {
8203                                     Return (0x0D)
8204                                 }
8205                             }
8206                         }
8207 
8208                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8209                         {
8210                             Return (VQDC)
8211                         }
8212 
8213                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8214                         {
8215                             And (Arg0, 0x01, VSDC)
8216                             If (And (Arg0, 0x80000000))
8217                             {
8218                                 If (And (Arg0, 0x40000000))
8219                                 {
8220                                     DSWT (0x02)
8221                                 }
8222                                 Else
8223                                 {
8224                                     DSWT (0x01)
8225                                 }
8226                             }
8227                         }
8228                     }
8229 
8230                     Device (DVI0)
8231                     {
8232                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8233                         {
8234                             Return (0x0111)
8235                         }
8236 
8237                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8238                         {
8239                             \VUPS (0x00)
8240                             If (\VCDD)
8241                             {
8242                                 Return (0x1F)
8243                             }
8244                             Else
8245                             {
8246                                 Return (0x1D)
8247                             }
8248                         }
8249 
8250                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8251                         {
8252                             Return (VQD1)
8253                         }
8254 
8255                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8256                         {
8257                             And (Arg0, 0x01, VSD1)
8258                             If (And (Arg0, 0x80000000))
8259                             {
8260                                 If (And (Arg0, 0x40000000))
8261                                 {
8262                                     DSWT (0x02)
8263                                 }
8264                                 Else
8265                                 {
8266                                     DSWT (0x01)
8267                                 }
8268                             }
8269                         }
8270                     }
8271 
8272                     Device (DP0)
8273                     {
8274                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8275                         {
8276                             Return (0x0114)
8277                         }
8278 
8279                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8280                         {
8281                             \VUPS (0x00)
8282                             If (\VCDT)
8283                             {
8284                                 Return (0x1F)
8285                             }
8286                             Else
8287                             {
8288                                 Return (0x1D)
8289                             }
8290                         }
8291 
8292                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8293                         {
8294                             Return (VQD0)
8295                         }
8296 
8297                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8298                         {
8299                             And (Arg0, 0x01, VSD0)
8300                             If (And (Arg0, 0x80000000))
8301                             {
8302                                 If (And (Arg0, 0x40000000))
8303                                 {
8304                                     DSWT (0x02)
8305                                 }
8306                                 Else
8307                                 {
8308                                     DSWT (0x01)
8309                                 }
8310                             }
8311                         }
8312                     }
8313 
8314                     Device (DVI1)
8315                     {
8316                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8317                         {
8318                             Return (0x0112)
8319                         }
8320 
8321                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8322                         {
8323                             \VUPS (0x00)
8324                             If (\VCDD)
8325                             {
8326                                 Return (0x1F)
8327                             }
8328                             Else
8329                             {
8330                                 Return (0x1D)
8331                             }
8332                         }
8333 
8334                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8335                         {
8336                             Return (VQD3)
8337                         }
8338 
8339                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8340                         {
8341                             And (Arg0, 0x01, VSD3)
8342                             If (And (Arg0, 0x80000000))
8343                             {
8344                                 If (And (Arg0, 0x40000000))
8345                                 {
8346                                     DSWT (0x02)
8347                                 }
8348                                 Else
8349                                 {
8350                                     DSWT (0x01)
8351                                 }
8352                             }
8353                         }
8354                     }
8355 
8356                     Device (DP1)
8357                     {
8358                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8359                         {
8360                             Return (0x0115)
8361                         }
8362 
8363                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8364                         {
8365                             \VUPS (0x00)
8366                             If (\VCDT)
8367                             {
8368                                 Return (0x1F)
8369                             }
8370                             Else
8371                             {
8372                                 Return (0x1D)
8373                             }
8374                         }
8375 
8376                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8377                         {
8378                             Return (VQD2)
8379                         }
8380 
8381                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8382                         {
8383                             And (Arg0, 0x01, VSD2)
8384                             If (And (Arg0, 0x80000000))
8385                             {
8386                                 If (And (Arg0, 0x40000000))
8387                                 {
8388                                     DSWT (0x02)
8389                                 }
8390                                 Else
8391                                 {
8392                                     DSWT (0x01)
8393                                 }
8394                             }
8395                         }
8396                     }
8397 
8398                     Device (DVI2)
8399                     {
8400                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8401                         {
8402                             Return (0x0113)
8403                         }
8404 
8405                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8406                         {
8407                             \VUPS (0x00)
8408                             If (\VCDD)
8409                             {
8410                                 Return (0x1F)
8411                             }
8412                             Else
8413                             {
8414                                 Return (0x1D)
8415                             }
8416                         }
8417 
8418                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8419                         {
8420                             Return (VQD5)
8421                         }
8422 
8423                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8424                         {
8425                             And (Arg0, 0x01, VSD5)
8426                             If (And (Arg0, 0x80000000))
8427                             {
8428                                 If (And (Arg0, 0x40000000))
8429                                 {
8430                                     DSWT (0x02)
8431                                 }
8432                                 Else
8433                                 {
8434                                     DSWT (0x01)
8435                                 }
8436                             }
8437                         }
8438                     }
8439 
8440                     Device (DP2)
8441                     {
8442                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
8443                         {
8444                             Return (0x0116)
8445                         }
8446 
8447                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
8448                         {
8449                             \VUPS (0x00)
8450                             If (\VCDT)
8451                             {
8452                                 Return (0x1F)
8453                             }
8454                             Else
8455                             {
8456                                 Return (0x1D)
8457                             }
8458                         }
8459 
8460                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
8461                         {
8462                             Return (VQD4)
8463                         }
8464 
8465                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
8466                         {
8467                             And (Arg0, 0x01, VSD4)
8468                             If (And (Arg0, 0x80000000))
8469                             {
8470                                 If (And (Arg0, 0x40000000))
8471                                 {
8472                                     DSWT (0x02)
8473                                 }
8474                                 Else
8475                                 {
8476                                     DSWT (0x01)
8477                                 }
8478                             }
8479                         }
8480                     }
8481 
8482                     Method (DSWT, 1, NotSerialized)
8483                     {
8484                         If (VSDL)
8485                         {
8486                             Store (0x01, Local0)
8487                         }
8488                         Else
8489                         {
8490                             Store (0x00, Local0)
8491                         }
8492 
8493                         If (VSDC)
8494                         {
8495                             Or (0x02, Local0, Local0)
8496                         }
8497 
8498                         If (VSD0)
8499                         {
8500                             Or (0x08, Local0, Local0)
8501                         }
8502 
8503                         If (Local0)
8504                         {
8505                             If (VUPC)
8506                             {
8507                                 \VSDS (Local0, Arg0)
8508                             }
8509                         }
8510                         Else
8511                         {
8512                             Noop
8513                         }
8514                     }
8515                 }
8516 
8517                 Scope (\_SB.PCI0.PEG.VID)
8518                 {
8519                     Method (NBCI, 4, NotSerialized)
8520                     {
8521                         Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
8522                         Store ("------- NBCI DSM --------", Debug)
8523                         Store (ToInteger (Arg2), _T_0)
8524                         If (LEqual (_T_0, 0x00))
8525                         {
8526                             Store (Buffer (0x04)
8527                                 {
8528                                      0x00, 0x00, 0x00, 0x00
8529                                 }, Local0)
8530                             Divide (0x00, 0x08, Local2, Local1)
8531                             ShiftLeft (0x01, Local2, Local2)
8532                             Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
8533                                 ))
8534                             Divide (0x14, 0x08, Local2, Local1)
8535                             ShiftLeft (0x01, Local2, Local2)
8536                             Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
8537                                 ))
8538                             Return (Local0)
8539                         }
8540                         Else
8541                         {
8542                             If (LEqual (_T_0, 0x14))
8543                             {
8544                                 Store (Package (0x07)
8545                                     {
8546                                         0x0110, 
8547                                         0x0200, 
8548                                         0x00, 
8549                                         0x00, 
8550                                         0x05, 
8551                                         0x01, 
8552                                         Package (0x04)
8553                                         {
8554                                             0xDC, 
8555                                             0x00, 
8556                                             0x03E8, 
8557                                             Package (0x03)
8558                                             {
8559                                                 0x65, 
8560                                                 Package (0x65)
8561                                                 {
8562                                                     0x00, 
8563                                                     0x0A, 
8564                                                     0x14, 
8565                                                     0x1E, 
8566                                                     0x28, 
8567                                                     0x32, 
8568                                                     0x3C, 
8569                                                     0x46, 
8570                                                     0x50, 
8571                                                     0x5A, 
8572                                                     0x64, 
8573                                                     0x6E, 
8574                                                     0x78, 
8575                                                     0x82, 
8576                                                     0x8C, 
8577                                                     0x96, 
8578                                                     0xA0, 
8579                                                     0xAA, 
8580                                                     0xB4, 
8581                                                     0xBE, 
8582                                                     0xC8, 
8583                                                     0xD2, 
8584                                                     0xDC, 
8585                                                     0xE6, 
8586                                                     0xF0, 
8587                                                     0xFA, 
8588                                                     0x0104, 
8589                                                     0x010E, 
8590                                                     0x0118, 
8591                                                     0x0122, 
8592                                                     0x012C, 
8593                                                     0x0136, 
8594                                                     0x0140, 
8595                                                     0x014A, 
8596                                                     0x0154, 
8597                                                     0x015E, 
8598                                                     0x0168, 
8599                                                     0x0172, 
8600                                                     0x017C, 
8601                                                     0x0186, 
8602                                                     0x0190, 
8603                                                     0x019A, 
8604                                                     0x01A4, 
8605                                                     0x01AE, 
8606                                                     0x01B8, 
8607                                                     0x01C2, 
8608                                                     0x01CC, 
8609                                                     0x01D6, 
8610                                                     0x01E0, 
8611                                                     0x01EA, 
8612                                                     0x01F4, 
8613                                                     0x01FE, 
8614                                                     0x0208, 
8615                                                     0x0212, 
8616                                                     0x021C, 
8617                                                     0x0226, 
8618                                                     0x0230, 
8619                                                     0x023A, 
8620                                                     0x0244, 
8621                                                     0x024E, 
8622                                                     0x0258, 
8623                                                     0x0262, 
8624                                                     0x026C, 
8625                                                     0x0276, 
8626                                                     0x0280, 
8627                                                     0x028A, 
8628                                                     0x0294, 
8629                                                     0x029E, 
8630                                                     0x02A8, 
8631                                                     0x02B2, 
8632                                                     0x02BC, 
8633                                                     0x02C6, 
8634                                                     0x02D0, 
8635                                                     0x02DA, 
8636                                                     0x02E4, 
8637                                                     0x02EE, 
8638                                                     0x02F8, 
8639                                                     0x0302, 
8640                                                     0x030C, 
8641                                                     0x0316, 
8642                                                     0x0320, 
8643                                                     0x032A, 
8644                                                     0x0334, 
8645                                                     0x033E, 
8646                                                     0x0348, 
8647                                                     0x0352, 
8648                                                     0x035C, 
8649                                                     0x0366, 
8650                                                     0x0370, 
8651                                                     0x037A, 
8652                                                     0x0384, 
8653                                                     0x038E, 
8654                                                     0x0398, 
8655                                                     0x03A2, 
8656                                                     0x03AC, 
8657                                                     0x03B6, 
8658                                                     0x03C0, 
8659                                                     0x03CA, 
8660                                                     0x03D4, 
8661                                                     0x03DE, 
8662                                                     0x03E8
8663                                                 }, 
8664 
8665                                                 Package (0x65)
8666                                                 {
8667                                                     0x00, 
8668                                                     0x0A, 
8669                                                     0x14, 
8670                                                     0x1E, 
8671                                                     0x28, 
8672                                                     0x32, 
8673                                                     0x3C, 
8674                                                     0x46, 
8675                                                     0x50, 
8676                                                     0x5A, 
8677                                                     0x64, 
8678                                                     0x6E, 
8679                                                     0x78, 
8680                                                     0x82, 
8681                                                     0x8C, 
8682                                                     0x96, 
8683                                                     0xA0, 
8684                                                     0xAA, 
8685                                                     0xB4, 
8686                                                     0xBE, 
8687                                                     0xC8, 
8688                                                     0xD2, 
8689                                                     0xDC, 
8690                                                     0xE6, 
8691                                                     0xF0, 
8692                                                     0xFA, 
8693                                                     0x0104, 
8694                                                     0x010E, 
8695                                                     0x0118, 
8696                                                     0x0122, 
8697                                                     0x012C, 
8698                                                     0x0136, 
8699                                                     0x0140, 
8700                                                     0x014A, 
8701                                                     0x0154, 
8702                                                     0x015E, 
8703                                                     0x0168, 
8704                                                     0x0172, 
8705                                                     0x017C, 
8706                                                     0x0186, 
8707                                                     0x0190, 
8708                                                     0x019A, 
8709                                                     0x01A4, 
8710                                                     0x01AE, 
8711                                                     0x01B8, 
8712                                                     0x01C2, 
8713                                                     0x01CC, 
8714                                                     0x01D6, 
8715                                                     0x01E0, 
8716                                                     0x01EA, 
8717                                                     0x01F4, 
8718                                                     0x01FE, 
8719                                                     0x0208, 
8720                                                     0x0212, 
8721                                                     0x021C, 
8722                                                     0x0226, 
8723                                                     0x0230, 
8724                                                     0x023A, 
8725                                                     0x0244, 
8726                                                     0x024E, 
8727                                                     0x0258, 
8728                                                     0x0262, 
8729                                                     0x026C, 
8730                                                     0x0276, 
8731                                                     0x0280, 
8732                                                     0x028A, 
8733                                                     0x0294, 
8734                                                     0x029E, 
8735                                                     0x02A8, 
8736                                                     0x02B2, 
8737                                                     0x02BC, 
8738                                                     0x02C6, 
8739                                                     0x02D0, 
8740                                                     0x02DA, 
8741                                                     0x02E4, 
8742                                                     0x02EE, 
8743                                                     0x02F8, 
8744                                                     0x0302, 
8745                                                     0x030C, 
8746                                                     0x0316, 
8747                                                     0x0320, 
8748                                                     0x032A, 
8749                                                     0x0334, 
8750                                                     0x033E, 
8751                                                     0x0348, 
8752                                                     0x0352, 
8753                                                     0x035C, 
8754                                                     0x0366, 
8755                                                     0x0370, 
8756                                                     0x037A, 
8757                                                     0x0384, 
8758                                                     0x038E, 
8759                                                     0x0398, 
8760                                                     0x03A2, 
8761                                                     0x03AC, 
8762                                                     0x03B6, 
8763                                                     0x03C0, 
8764                                                     0x03CA, 
8765                                                     0x03D4, 
8766                                                     0x03DE, 
8767                                                     0x03E8
8768                                                 }
8769                                             }
8770                                         }
8771                                     }, Local0)
8772                                 Store (0x00, Local1)
8773                                 While (LLessEqual (Local1, 0x64))
8774                                 {
8775                                     Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTD, \BRTN)), Local1)), 
8776                                         Local2)
8777                                     Multiply (Local2, 0x03E8, Local2)
8778                                     Divide (Local2, 0xFF, Local2, Local3)
8779                                     Store (Local3, Index (DerefOf (Index (DerefOf (Index (DerefOf (Index (Local0, 
8780                                         0x06)), 0x03)), 0x01)), Local1))
8781                                     Increment (Local1)
8782                                 }
8783 
8784                                 Return (Local0)
8785                             }
8786                         }
8787 
8788                         Return (0x80000002)
8789                     }
8790 
8791                     Method (NVSB, 1, NotSerialized)
8792                     {
8793                         Name (CNT, 0x00)
8794                         If (LEqual (PBCC, 0x01))
8795                         {
8796                             If (LEqual (PBMR, 0x00))
8797                             {
8798                                 Store (0x02, PBMR)
8799                                 If (LEqual (PBMR, 0x02))
8800                                 {
8801                                     While (LAnd (LAnd (PBCC, 0xFF), LLess (CNT, 0x0A)))
8802                                     {
8803                                         Increment (CNT)
8804                                         Sleep (0x01)
8805                                     }
8806 
8807                                     If (LEqual (And (PBCR, 0x02), 0x00))
8808                                     {
8809                                         Multiply (Arg0, 0x03E8, Local0)
8810                                         Divide (Local0, 0xFF, Local1, Local2)
8811                                         ShiftLeft (Local2, 0x08, Local2)
8812                                         Store (Local2, PBDI)
8813                                         Store (0x86100000, PBCR)
8814                                     }
8815 
8816                                     Store (0x00, PBMR)
8817                                     Return (0x01)
8818                                 }
8819                             }
8820                         }
8821 
8822                         Return (0x00)
8823                     }
8824                 }
8825 
8826                 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8827                 Field (PEGC, DWordAcc, NoLock, Preserve)
8828                 {
8829                     Offset (0xEC), 
8830                     GMGP,   1, 
8831                     HPGP,   1, 
8832                     PMGP,   1
8833                 }
8834             }
8835 
8836             Device (IGBE)
8837             {
8838                 Name (_ADR, 0x00190000)  // _ADR: Address
8839                 Name (_S3D, 0x03)  // _S3D: S3 Device State
8840                 Name (RID, 0x00)
8841                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
8842                 {
8843                     0x0D, 
8844                     0x04
8845                 })
8846             }
8847 
8848             Device (EXP1)
8849             {
8850                 Name (_ADR, 0x001C0000)  // _ADR: Address
8851                 Name (RID, 0x00)
8852                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8853                 Field (PECS, DWordAcc, NoLock, Preserve)
8854                 {
8855                     Offset (0x5A), 
8856                         ,   3, 
8857                     PDC,    1, 
8858                         ,   2, 
8859                     PDS,    1, 
8860                     Offset (0x5B), 
8861                     Offset (0x62), 
8862                     PS,     1, 
8863                     PP,     1, 
8864                     Offset (0xDB), 
8865                         ,   6, 
8866                     HPCE,   1, 
8867                     PMCE,   1, 
8868                     Offset (0xDF), 
8869                         ,   6, 
8870                     HPCS,   1, 
8871                     PMCS,   1
8872                 }
8873 
8874                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
8875                 {
8876                     Store (PDS, PDSF)
8877                 }
8878 
8879                 Name (LPRT, Package (0x04)
8880                 {
8881                     Package (0x04)
8882                     {
8883                         0xFFFF, 
8884                         0x00, 
8885                         \_SB.LNKA, 
8886                         0x00
8887                     }, 
8888 
8889                     Package (0x04)
8890                     {
8891                         0xFFFF, 
8892                         0x01, 
8893                         \_SB.LNKB, 
8894                         0x00
8895                     }, 
8896 
8897                     Package (0x04)
8898                     {
8899                         0xFFFF, 
8900                         0x02, 
8901                         \_SB.LNKC, 
8902                         0x00
8903                     }, 
8904 
8905                     Package (0x04)
8906                     {
8907                         0xFFFF, 
8908                         0x03, 
8909                         \_SB.LNKD, 
8910                         0x00
8911                     }
8912                 })
8913                 Name (APRT, Package (0x04)
8914                 {
8915                     Package (0x04)
8916                     {
8917                         0xFFFF, 
8918                         0x00, 
8919                         0x00, 
8920                         0x10
8921                     }, 
8922 
8923                     Package (0x04)
8924                     {
8925                         0xFFFF, 
8926                         0x01, 
8927                         0x00, 
8928                         0x11
8929                     }, 
8930 
8931                     Package (0x04)
8932                     {
8933                         0xFFFF, 
8934                         0x02, 
8935                         0x00, 
8936                         0x12
8937                     }, 
8938 
8939                     Package (0x04)
8940                     {
8941                         0xFFFF, 
8942                         0x03, 
8943                         0x00, 
8944                         0x13
8945                     }
8946                 })
8947                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
8948                 {
8949                     If (\GPIC)
8950                     {
8951                         Return (APRT)
8952                     }
8953                     Else
8954                     {
8955                         Return (LPRT)
8956                     }
8957                 }
8958 
8959                 Name (PDSF, 0x00)
8960                 Device (SLOT)
8961                 {
8962                     Name (_ADR, 0x00)  // _ADR: Address
8963                 }
8964             }
8965 
8966             Device (EXP2)
8967             {
8968                 Name (_ADR, 0x001C0001)  // _ADR: Address
8969                 Name (RID, 0x00)
8970                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8971                 Field (PECS, DWordAcc, NoLock, Preserve)
8972                 {
8973                     Offset (0x62), 
8974                     PS,     1, 
8975                     PP,     1, 
8976                     Offset (0xDB), 
8977                         ,   7, 
8978                     PMCE,   1, 
8979                     Offset (0xDF), 
8980                         ,   7, 
8981                     PMCS,   1
8982                 }
8983 
8984                 Name (LPRT, Package (0x04)
8985                 {
8986                     Package (0x04)
8987                     {
8988                         0xFFFF, 
8989                         0x00, 
8990                         \_SB.LNKB, 
8991                         0x00
8992                     }, 
8993 
8994                     Package (0x04)
8995                     {
8996                         0xFFFF, 
8997                         0x01, 
8998                         \_SB.LNKC, 
8999                         0x00
9000                     }, 
9001 
9002                     Package (0x04)
9003                     {
9004                         0xFFFF, 
9005                         0x02, 
9006                         \_SB.LNKD, 
9007                         0x00
9008                     }, 
9009 
9010                     Package (0x04)
9011                     {
9012                         0xFFFF, 
9013                         0x03, 
9014                         \_SB.LNKA, 
9015                         0x00
9016                     }
9017                 })
9018                 Name (APRT, Package (0x04)
9019                 {
9020                     Package (0x04)
9021                     {
9022                         0xFFFF, 
9023                         0x00, 
9024                         0x00, 
9025                         0x11
9026                     }, 
9027 
9028                     Package (0x04)
9029                     {
9030                         0xFFFF, 
9031                         0x01, 
9032                         0x00, 
9033                         0x12
9034                     }, 
9035 
9036                     Package (0x04)
9037                     {
9038                         0xFFFF, 
9039                         0x02, 
9040                         0x00, 
9041                         0x13
9042                     }, 
9043 
9044                     Package (0x04)
9045                     {
9046                         0xFFFF, 
9047                         0x03, 
9048                         0x00, 
9049                         0x10
9050                     }
9051                 })
9052                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
9053                 {
9054                     If (\GPIC)
9055                     {
9056                         Return (APRT)
9057                     }
9058                     Else
9059                     {
9060                         Return (LPRT)
9061                     }
9062                 }
9063             }
9064 
9065             Device (EXP3)
9066             {
9067                 Name (_ADR, 0x001C0002)  // _ADR: Address
9068                 Name (RID, 0x00)
9069                 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
9070                 Field (PECS, DWordAcc, NoLock, Preserve)
9071                 {
9072                     Offset (0x5A), 
9073                         ,   3, 
9074                     PDC,    1, 
9075                         ,   2, 
9076                     PDS,    1, 
9077                     Offset (0x5B), 
9078                     Offset (0x62), 
9079                     PS,     1, 
9080                     PP,     1, 
9081                     Offset (0xDB), 
9082                         ,   6, 
9083                     HPCE,   1, 
9084                     PMCE,   1, 
9085                     Offset (0xDF), 
9086                         ,   6, 
9087                     HPCS,   1, 
9088                     PMCS,   1
9089                 }
9090 
9091                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9092                 {
9093                     Store (PDS, PDSF)
9094                 }
9095 
9096                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
9097                 {
9098                     0x09, 
9099                     0x04
9100                 })
9101                 Name (LPRT, Package (0x04)
9102                 {
9103                     Package (0x04)
9104                     {
9105                         0xFFFF, 
9106                         0x00, 
9107                         \_SB.LNKC, 
9108                         0x00
9109                     }, 
9110 
9111                     Package (0x04)
9112                     {
9113                         0xFFFF, 
9114                         0x01, 
9115                         \_SB.LNKD, 
9116                         0x00
9117                     }, 
9118 
9119                     Package (0x04)
9120                     {
9121                         0xFFFF, 
9122                         0x02, 
9123                         \_SB.LNKA, 
9124                         0x00
9125                     }, 
9126 
9127                     Package (0x04)
9128                     {
9129                         0xFFFF, 
9130                         0x03, 
9131                         \_SB.LNKB, 
9132                         0x00
9133                     }
9134                 })
9135                 Name (APRT, Package (0x04)
9136                 {
9137                     Package (0x04)
9138                     {
9139                         0xFFFF, 
9140                         0x00, 
9141                         0x00, 
9142                         0x12
9143                     }, 
9144 
9145                     Package (0x04)
9146                     {
9147                         0xFFFF, 
9148                         0x01, 
9149                         0x00, 
9150                         0x13
9151                     }, 
9152 
9153                     Package (0x04)
9154                     {
9155                         0xFFFF, 
9156                         0x02, 
9157                         0x00, 
9158                         0x10
9159                     }, 
9160 
9161                     Package (0x04)
9162                     {
9163                         0xFFFF, 
9164                         0x03, 
9165                         0x00, 
9166                         0x11
9167                     }
9168                 })
9169                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
9170                 {
9171                     If (\GPIC)
9172                     {
9173                         Return (APRT)
9174                     }
9175                     Else
9176                     {
9177                         Return (LPRT)
9178                     }
9179                 }
9180 
9181                 Name (PDSF, 0x00)
9182                 Device (SLOT)
9183                 {
9184                     Name (_ADR, 0x00)  // _ADR: Address
9185                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
9186                     {
9187                         Return (0x01)
9188                     }
9189                 }
9190             }
9191 
9192             Device (SAT1)
9193             {
9194                 Name (_ADR, 0x001F0002)  // _ADR: Address
9195                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9196                 Name (RID, 0x00)
9197             }
9198 
9199             Device (SAT2)
9200             {
9201                 Name (_ADR, 0x001F0005)  // _ADR: Address
9202                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9203                 Name (RID, 0x00)
9204             }
9205 
9206             Device (SMBU)
9207             {
9208                 Name (_ADR, 0x001F0003)  // _ADR: Address
9209                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9210                 Name (RID, 0x00)
9211             }
9212 
9213             Device (XHCI)
9214             {
9215                 Name (_ADR, 0x00140000)  // _ADR: Address
9216                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9217                 Name (RID, 0x00)
9218                 OperationRegion (XHCS, PCI_Config, 0x00, 0x0100)
9219                 Field (XHCS, DWordAcc, NoLock, Preserve)
9220                 {
9221                     Offset (0xD0), 
9222                     PR2,    32, 
9223                     PR2M,   32, 
9224                     PR3,    32, 
9225                     PR3M,   32
9226                 }
9227 
9228                 Name (XRST, Zero)
9229                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
9230                 {
9231                     \_SB.PCI0.LPC.EC.PUBS
9232                 })
9233                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
9234                 {
9235                     \_SB.PCI0.LPC.EC.PUBS
9236                 })
9237                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
9238                 {
9239                     \_SB.PCI0.LPC.EC.PUBS
9240                 })
9241                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
9242                 {
9243                     0x0D, 
9244                     0x03, 
9245                     \_SB.PCI0.LPC.EC.PUBS
9246                 })
9247                 Method (CUID, 1, Serialized)
9248                 {
9249                     If (LEqual (Arg0, Buffer (0x10)
9250                             {
9251                                 /* 0000 */   0xA9, 0x12, 0x95, 0x7C, 0x05, 0x17, 0xB4, 0x4C,
9252                                 /* 0008 */   0xAF, 0x7D, 0x50, 0x6A, 0x24, 0x23, 0xAB, 0x71
9253                             }))
9254                     {
9255                         Return (0x01)
9256                     }
9257 
9258                     Return (0x00)
9259                 }
9260 
9261                 Method (POSC, 3, Serialized)
9262                 {
9263                     CreateDWordField (Arg2, 0x00, CDW1)
9264                     If (LNotEqual (Arg0, One))
9265                     {
9266                         Or (CDW1, 0x08, CDW1)
9267                     }
9268 
9269                     If (LEqual (\XHCM, 0x00))
9270                     {
9271                         Or (CDW1, 0x02, CDW1)
9272                         Store (0x00, \_SB.PCI0.LPC.XUSB)
9273                         Store (0x00, XRST)
9274                     }
9275 
9276                     If (LAnd (LNot (And (CDW1, 0x01)), LOr (LEqual (\XHCM, 
9277                         0x02), LEqual (\XHCM, 0x03))))
9278                     {
9279                         SXHC ()
9280                     }
9281 
9282                     Return (Arg2)
9283                 }
9284 
9285                 Method (SXHC, 0, NotSerialized)
9286                 {
9287                     Store (0x01, \_SB.PCI0.LPC.XUSB)
9288                     Store (0x01, XRST)
9289                     Store (0x00, Local0)
9290                     And (PR3, 0xFFFFFFF0, Local0)
9291                     Or (Local0, \XHPM, Local0)
9292                     And (Local0, PR3M, PR3)
9293                     Store (0x00, Local0)
9294                     And (PR2, 0xFFFFFFF0, Local0)
9295                     Or (Local0, \XHPM, Local0)
9296                     And (Local0, PR2M, PR2)
9297                     Store (0x01, \_SB.PCI0.LPC.XUSB)
9298                     Store (0x01, \USBR)
9299                 }
9300 
9301                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9302                 {
9303                     If (\WIN8)
9304                     {
9305                         SXHC ()
9306                     }
9307                 }
9308 
9309                 Device (URTH)
9310                 {
9311                     Name (_ADR, 0x00)  // _ADR: Address
9312                     Device (HSP0)
9313                     {
9314                         Name (_ADR, 0x01)  // _ADR: Address
9315                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9316                         {
9317                             Name (UPCP, Package (0x04)
9318                             {
9319                                 0x00, 
9320                                 0x00, 
9321                                 0x00, 
9322                                 0x00
9323                             })
9324                             CopyObject (\UPC0, UPCP)
9325                             If (LNot (And (PR2, 0x01)))
9326                             {
9327                                 Store (0x00, Index (UPCP, 0x00))
9328                             }
9329 
9330                             Return (UPCP)
9331                         }
9332 
9333                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9334                         {
9335                             Name (PLDP, Buffer (0x10) {})
9336                             Store (\PLD0, PLDP)
9337                             CreateBitField (PLDP, 0x40, VIS)
9338                             If (LNot (And (PR2, 0x01)))
9339                             {
9340                                 And (VIS, 0x00, VIS)
9341                             }
9342 
9343                             Return (PLDP)
9344                         }
9345                     }
9346 
9347                     Device (HSP1)
9348                     {
9349                         Name (_ADR, 0x02)  // _ADR: Address
9350                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9351                         {
9352                             Name (UPCP, Package (0x04)
9353                             {
9354                                 0x00, 
9355                                 0x00, 
9356                                 0x00, 
9357                                 0x00
9358                             })
9359                             CopyObject (\UPC1, UPCP)
9360                             If (LNot (And (PR2, 0x02)))
9361                             {
9362                                 Store (0x00, Index (UPCP, 0x00))
9363                             }
9364 
9365                             Return (UPCP)
9366                         }
9367 
9368                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9369                         {
9370                             Name (PLDP, Buffer (0x10) {})
9371                             Store (\PLD1, PLDP)
9372                             CreateBitField (PLDP, 0x40, VIS)
9373                             If (LNot (And (PR2, 0x02)))
9374                             {
9375                                 And (VIS, 0x00, VIS)
9376                             }
9377 
9378                             Return (PLDP)
9379                         }
9380                     }
9381 
9382                     Device (HSP2)
9383                     {
9384                         Name (_ADR, 0x03)  // _ADR: Address
9385                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9386                         {
9387                             Name (UPCP, Package (0x04)
9388                             {
9389                                 0x00, 
9390                                 0x00, 
9391                                 0x00, 
9392                                 0x00
9393                             })
9394                             CopyObject (\UPC2, UPCP)
9395                             If (LNot (And (PR2, 0x04)))
9396                             {
9397                                 Store (0x00, Index (UPCP, 0x00))
9398                             }
9399 
9400                             Return (UPCP)
9401                         }
9402 
9403                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9404                         {
9405                             Name (PLDP, Buffer (0x10) {})
9406                             Store (\PLD2, PLDP)
9407                             CreateBitField (PLDP, 0x40, VIS)
9408                             If (LNot (And (PR2, 0x04)))
9409                             {
9410                                 And (VIS, 0x00, VIS)
9411                             }
9412 
9413                             Return (PLDP)
9414                         }
9415                     }
9416 
9417                     Device (HSP3)
9418                     {
9419                         Name (_ADR, 0x04)  // _ADR: Address
9420                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9421                         {
9422                             Name (UPCP, Package (0x04)
9423                             {
9424                                 0x00, 
9425                                 0x00, 
9426                                 0x00, 
9427                                 0x00
9428                             })
9429                             CopyObject (\UPC3, UPCP)
9430                             If (LNot (And (PR2, 0x08)))
9431                             {
9432                                 Store (0x00, Index (UPCP, 0x00))
9433                             }
9434 
9435                             Return (UPCP)
9436                         }
9437 
9438                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9439                         {
9440                             Name (PLDP, Buffer (0x10) {})
9441                             Store (\PLD3, PLDP)
9442                             CreateBitField (PLDP, 0x40, VIS)
9443                             If (LNot (And (PR2, 0x08)))
9444                             {
9445                                 And (VIS, 0x00, VIS)
9446                             }
9447 
9448                             Return (PLDP)
9449                         }
9450                     }
9451 
9452                     Device (SSP0)
9453                     {
9454                         Name (_ADR, 0x05)  // _ADR: Address
9455                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9456                         {
9457                             Name (UPCP, Package (0x04)
9458                             {
9459                                 0x00, 
9460                                 0x00, 
9461                                 0x00, 
9462                                 0x00
9463                             })
9464                             CopyObject (\UPC0, UPCP)
9465                             If (LOr (LNot (And (PR2, 0x01)), LNot (And (PR3, 
9466                                 0x01))))
9467                             {
9468                                 Store (0x00, Index (UPCP, 0x00))
9469                             }
9470 
9471                             Return (UPCP)
9472                         }
9473 
9474                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9475                         {
9476                             Name (PLDP, Buffer (0x10) {})
9477                             Store (\PLD0, PLDP)
9478                             CreateBitField (PLDP, 0x40, VIS)
9479                             If (LOr (LNot (And (PR2, 0x01)), LNot (And (PR3, 
9480                                 0x01))))
9481                             {
9482                                 And (VIS, 0x00, VIS)
9483                             }
9484 
9485                             Return (PLDP)
9486                         }
9487                     }
9488 
9489                     Device (SSP1)
9490                     {
9491                         Name (_ADR, 0x06)  // _ADR: Address
9492                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9493                         {
9494                             Name (UPCP, Package (0x04)
9495                             {
9496                                 0x00, 
9497                                 0x00, 
9498                                 0x00, 
9499                                 0x00
9500                             })
9501                             CopyObject (\UPC1, UPCP)
9502                             If (LOr (LNot (And (PR2, 0x02)), LNot (And (PR3, 
9503                                 0x02))))
9504                             {
9505                                 Store (0x00, Index (UPCP, 0x00))
9506                             }
9507 
9508                             Return (UPCP)
9509                         }
9510 
9511                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9512                         {
9513                             Name (PLDP, Buffer (0x10) {})
9514                             Store (\PLD1, PLDP)
9515                             CreateBitField (PLDP, 0x40, VIS)
9516                             If (LOr (LNot (And (PR2, 0x02)), LNot (And (PR3, 
9517                                 0x02))))
9518                             {
9519                                 And (VIS, 0x00, VIS)
9520                             }
9521 
9522                             Return (PLDP)
9523                         }
9524                     }
9525 
9526                     Device (SSP2)
9527                     {
9528                         Name (_ADR, 0x07)  // _ADR: Address
9529                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9530                         {
9531                             Name (UPCP, Package (0x04)
9532                             {
9533                                 0x00, 
9534                                 0x00, 
9535                                 0x00, 
9536                                 0x00
9537                             })
9538                             CopyObject (\UPC2, UPCP)
9539                             If (LOr (LNot (And (PR2, 0x04)), LNot (And (PR3, 
9540                                 0x04))))
9541                             {
9542                                 Store (0x00, Index (UPCP, 0x00))
9543                             }
9544 
9545                             Return (UPCP)
9546                         }
9547 
9548                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9549                         {
9550                             Name (PLDP, Buffer (0x10) {})
9551                             Store (\PLD2, PLDP)
9552                             CreateBitField (PLDP, 0x40, VIS)
9553                             If (LOr (LNot (And (PR2, 0x04)), LNot (And (PR3, 
9554                                 0x04))))
9555                             {
9556                                 And (VIS, 0x00, VIS)
9557                             }
9558 
9559                             Return (PLDP)
9560                         }
9561                     }
9562 
9563                     Device (SSP3)
9564                     {
9565                         Name (_ADR, 0x08)  // _ADR: Address
9566                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9567                         {
9568                             Name (UPCP, Package (0x04)
9569                             {
9570                                 0x00, 
9571                                 0x00, 
9572                                 0x00, 
9573                                 0x00
9574                             })
9575                             CopyObject (\UPC3, UPCP)
9576                             If (LOr (LNot (And (PR2, 0x08)), LNot (And (PR3, 
9577                                 0x08))))
9578                             {
9579                                 Store (0x00, Index (UPCP, 0x00))
9580                             }
9581 
9582                             Return (UPCP)
9583                         }
9584 
9585                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9586                         {
9587                             Name (PLDP, Buffer (0x10) {})
9588                             Store (\PLD3, PLDP)
9589                             CreateBitField (PLDP, 0x40, VIS)
9590                             If (LOr (LNot (And (PR2, 0x08)), LNot (And (PR3, 
9591                                 0x08))))
9592                             {
9593                                 And (VIS, 0x00, VIS)
9594                             }
9595 
9596                             Return (PLDP)
9597                         }
9598                     }
9599                 }
9600             }
9601 
9602             Device (EHC1)
9603             {
9604                 Name (_ADR, 0x001D0000)  // _ADR: Address
9605                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9606                 Name (RID, 0x00)
9607                 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9608                 Field (EHCS, DWordAcc, NoLock, Preserve)
9609                 {
9610                     Offset (0x62), 
9611                     PWKI,   1, 
9612                     PWUC,   8, 
9613                     Offset (0x64)
9614                 }
9615 
9616                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
9617                 {
9618                     \_SB.PCI0.LPC.EC.PUBS
9619                 })
9620                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
9621                 {
9622                     \_SB.PCI0.LPC.EC.PUBS
9623                 })
9624                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
9625                 {
9626                     \_SB.PCI0.LPC.EC.PUBS
9627                 })
9628                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9629                 {
9630                     Store (0x01, PWKI)
9631                     Store (0x23, PWUC)
9632                 }
9633 
9634                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
9635                 {
9636                     0x0D, 
9637                     0x03, 
9638                     \_SB.PCI0.LPC.EC.PUBS
9639                 })
9640                 Device (URTH)
9641                 {
9642                     Name (_ADR, 0x00)  // _ADR: Address
9643                     Device (URMH)
9644                     {
9645                         Name (_ADR, 0x01)  // _ADR: Address
9646                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9647                         {
9648                             Return (\UPCI)
9649                         }
9650 
9651                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9652                         {
9653                             Return (\PLDI)
9654                         }
9655 
9656                         Device (PRT0)
9657                         {
9658                             Name (_ADR, 0x01)  // _ADR: Address
9659                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9660                             {
9661                                 Name (UPCP, Package (0x04)
9662                                 {
9663                                     0x00, 
9664                                     0x00, 
9665                                     0x00, 
9666                                     0x00
9667                                 })
9668                                 CopyObject (\UPC0, UPCP)
9669                                 If (LEqual (\XHCM, 0x00)) {}
9670                                 Else
9671                                 {
9672                                     If (And (\_SB.PCI0.XHCI.PR2, 0x01))
9673                                     {
9674                                         Store (0x00, Index (UPCP, 0x00))
9675                                     }
9676                                 }
9677 
9678                                 Return (UPCP)
9679                             }
9680 
9681                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9682                             {
9683                                 Name (PLDP, Buffer (0x10) {})
9684                                 Store (\PLD0, PLDP)
9685                                 CreateBitField (PLDP, 0x40, VIS)
9686                                 If (LEqual (\XHCM, 0x00)) {}
9687                                 Else
9688                                 {
9689                                     If (And (\_SB.PCI0.XHCI.PR2, 0x01))
9690                                     {
9691                                         And (VIS, 0x00, VIS)
9692                                     }
9693 
9694                                     Return (PLDP)
9695                                 }
9696                             }
9697                         }
9698 
9699                         Device (PRT1)
9700                         {
9701                             Name (_ADR, 0x02)  // _ADR: Address
9702                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9703                             {
9704                                 Name (UPCP, Package (0x04)
9705                                 {
9706                                     0x00, 
9707                                     0x00, 
9708                                     0x00, 
9709                                     0x00
9710                                 })
9711                                 CopyObject (\UPC1, UPCP)
9712                                 If (LEqual (\XHCM, 0x00)) {}
9713                                 Else
9714                                 {
9715                                     If (And (\_SB.PCI0.XHCI.PR2, 0x02))
9716                                     {
9717                                         Store (0x00, Index (UPCP, 0x00))
9718                                     }
9719                                 }
9720 
9721                                 Return (UPCP)
9722                             }
9723 
9724                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9725                             {
9726                                 Name (PLDP, Buffer (0x10) {})
9727                                 Store (\PLD1, PLDP)
9728                                 CreateBitField (PLDP, 0x40, VIS)
9729                                 If (LEqual (\XHCM, 0x00)) {}
9730                                 Else
9731                                 {
9732                                     If (And (\_SB.PCI0.XHCI.PR2, 0x02))
9733                                     {
9734                                         And (VIS, 0x00, VIS)
9735                                     }
9736                                 }
9737 
9738                                 Return (PLDP)
9739                             }
9740                         }
9741 
9742                         Device (PRT2)
9743                         {
9744                             Name (_ADR, 0x03)  // _ADR: Address
9745                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9746                             {
9747                                 Name (UPCP, Package (0x04)
9748                                 {
9749                                     0x00, 
9750                                     0x00, 
9751                                     0x00, 
9752                                     0x00
9753                                 })
9754                                 CopyObject (\UPC2, UPCP)
9755                                 If (LEqual (\XHCM, 0x00)) {}
9756                                 Else
9757                                 {
9758                                     If (And (\_SB.PCI0.XHCI.PR2, 0x04))
9759                                     {
9760                                         Store (0x00, Index (UPCP, 0x00))
9761                                     }
9762                                 }
9763 
9764                                 Return (UPCP)
9765                             }
9766 
9767                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9768                             {
9769                                 Name (PLDP, Buffer (0x10) {})
9770                                 Store (\PLD2, PLDP)
9771                                 CreateBitField (PLDP, 0x40, VIS)
9772                                 If (LEqual (\XHCM, 0x00)) {}
9773                                 Else
9774                                 {
9775                                     If (And (\_SB.PCI0.XHCI.PR2, 0x04))
9776                                     {
9777                                         And (VIS, 0x00, VIS)
9778                                     }
9779                                 }
9780 
9781                                 Return (PLDP)
9782                             }
9783                         }
9784 
9785                         Device (PRT3)
9786                         {
9787                             Name (_ADR, 0x04)  // _ADR: Address
9788                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9789                             {
9790                                 Name (UPCP, Package (0x04)
9791                                 {
9792                                     0x00, 
9793                                     0x00, 
9794                                     0x00, 
9795                                     0x00
9796                                 })
9797                                 CopyObject (\UPC3, UPCP)
9798                                 If (LEqual (\XHCM, 0x00)) {}
9799                                 Else
9800                                 {
9801                                     If (And (\_SB.PCI0.XHCI.PR2, 0x08))
9802                                     {
9803                                         Store (0x00, Index (UPCP, 0x00))
9804                                     }
9805                                 }
9806 
9807                                 Return (UPCP)
9808                             }
9809 
9810                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9811                             {
9812                                 Name (PLDP, Buffer (0x10) {})
9813                                 Store (\PLD3, PLDP)
9814                                 CreateBitField (PLDP, 0x40, VIS)
9815                                 If (LEqual (\XHCM, 0x00)) {}
9816                                 Else
9817                                 {
9818                                     If (And (\_SB.PCI0.XHCI.PR2, 0x08))
9819                                     {
9820                                         And (VIS, 0x00, VIS)
9821                                     }
9822                                 }
9823 
9824                                 Return (PLDP)
9825                             }
9826                         }
9827 
9828                         Device (PRT4)
9829                         {
9830                             Name (_ADR, 0x05)  // _ADR: Address
9831                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9832                             {
9833                                 Return (\UPC4)
9834                             }
9835 
9836                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9837                             {
9838                                 Return (\PLD4)
9839                             }
9840                         }
9841 
9842                         Device (PRT5)
9843                         {
9844                             Name (_ADR, 0x06)  // _ADR: Address
9845                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9846                             {
9847                                 Return (\UPC5)
9848                             }
9849 
9850                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9851                             {
9852                                 Return (\PLD5)
9853                             }
9854                         }
9855 
9856                         Device (PRT6)
9857                         {
9858                             Name (_ADR, 0x07)  // _ADR: Address
9859                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9860                             {
9861                                 Return (\UPC6)
9862                             }
9863 
9864                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9865                             {
9866                                 Return (\PLD6)
9867                             }
9868                         }
9869 
9870                         Device (PRT7)
9871                         {
9872                             Name (_ADR, 0x08)  // _ADR: Address
9873                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9874                             {
9875                                 Return (\UPC7)
9876                             }
9877 
9878                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9879                             {
9880                                 Return (\PLD7)
9881                             }
9882                         }
9883                     }
9884                 }
9885             }
9886 
9887             Device (EHC2)
9888             {
9889                 Name (_ADR, 0x001A0000)  // _ADR: Address
9890                 Name (_S3D, 0x03)  // _S3D: S3 Device State
9891                 Name (RID, 0x00)
9892                 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9893                 Field (EHCS, DWordAcc, NoLock, Preserve)
9894                 {
9895                     Offset (0x62), 
9896                     PWKI,   1, 
9897                     PWUC,   6, 
9898                     Offset (0x64)
9899                 }
9900 
9901                 Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
9902                 {
9903                     \_SB.PCI0.LPC.EC.PUBS
9904                 })
9905                 Name (_PR1, Package (0x01)  // _PR1: Power Resources for D1
9906                 {
9907                     \_SB.PCI0.LPC.EC.PUBS
9908                 })
9909                 Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
9910                 {
9911                     \_SB.PCI0.LPC.EC.PUBS
9912                 })
9913                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
9914                 {
9915                     Store (0x01, PWKI)
9916                     Store (0x13, PWUC)
9917                 }
9918 
9919                 Name (_PRW, Package (0x03)  // _PRW: Power Resources for Wake
9920                 {
9921                     0x0D, 
9922                     0x03, 
9923                     \_SB.PCI0.LPC.EC.PUBS
9924                 })
9925                 Device (URTH)
9926                 {
9927                     Name (_ADR, 0x00)  // _ADR: Address
9928                     Device (URMH)
9929                     {
9930                         Name (_ADR, 0x01)  // _ADR: Address
9931                         Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9932                         {
9933                             Return (\UPCI)
9934                         }
9935 
9936                         Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9937                         {
9938                             Return (\PLDI)
9939                         }
9940 
9941                         Device (PRT8)
9942                         {
9943                             Name (_ADR, 0x01)  // _ADR: Address
9944                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9945                             {
9946                                 Return (\UPCI)
9947                             }
9948 
9949                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9950                             {
9951                                 Return (\PLDI)
9952                             }
9953                         }
9954 
9955                         Device (PRT9)
9956                         {
9957                             Name (_ADR, 0x02)  // _ADR: Address
9958                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9959                             {
9960                                 Return (\UPC9)
9961                             }
9962 
9963                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9964                             {
9965                                 Return (\PLD9)
9966                             }
9967                         }
9968 
9969                         Device (PRTA)
9970                         {
9971                             Name (_ADR, 0x03)  // _ADR: Address
9972                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9973                             {
9974                                 Return (\UPCI)
9975                             }
9976 
9977                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9978                             {
9979                                 Return (\PLDI)
9980                             }
9981                         }
9982 
9983                         Device (PRTB)
9984                         {
9985                             Name (_ADR, 0x04)  // _ADR: Address
9986                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9987                             {
9988                                 Return (\UPCI)
9989                             }
9990 
9991                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9992                             {
9993                                 Return (\PLDI)
9994                             }
9995                         }
9996 
9997                         Device (PRTC)
9998                         {
9999                             Name (_ADR, 0x05)  // _ADR: Address
10000                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10001                             {
10002                                 Return (\UPCI)
10003                             }
10004 
10005                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10006                             {
10007                                 Return (\PLDI)
10008                             }
10009                         }
10010 
10011                         Device (PRTD)
10012                         {
10013                             Name (_ADR, 0x06)  // _ADR: Address
10014                             Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10015                             {
10016                                 Return (\UPCI)
10017                             }
10018 
10019                             Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10020                             {
10021                                 Return (\PLDI)
10022                             }
10023 
10024                             Device (WCAM)
10025                             {
10026                                 Name (_ADR, 0x06)  // _ADR: Address
10027                                 Method (_STA, 0, NotSerialized)  // _STA: Status
10028                                 {
10029                                     If (\WIN8)
10030                                     {
10031                                         Return (0x0F)
10032                                     }
10033                                     Else
10034                                     {
10035                                         Return (0x00)
10036                                     }
10037                                 }
10038 
10039                                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
10040                                 {
10041                                     Return (\UPCI)
10042                                 }
10043 
10044                                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
10045                                 {
10046                                     Return (\PLDC)
10047                                 }
10048                             }
10049                         }
10050                     }
10051                 }
10052             }
10053 
10054             Device (HDEF)
10055             {
10056                 Name (_ADR, 0x001B0000)  // _ADR: Address
10057                 Name (_S3D, 0x03)  // _S3D: S3 Device State
10058                 Name (RID, 0x00)
10059                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
10060                 {
10061                     0x0D, 
10062                     0x04
10063                 })
10064                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
10065                 {
10066                     Noop
10067                 }
10068             }
10069         }
10070 
10071         Scope (\_SB.PCI0.LPC.EC)
10072         {
10073             Name (BDEV, 0xFF)
10074             Name (BSTS, 0x00)
10075             Name (BHKE, 0x00)
10076             Method (_Q2C, 0, NotSerialized)  // _Qxx: EC Query
10077             {
10078                 If (LEqual (BSTS, 0x00))
10079                 {
10080                     Store (BGID (0x00), BDEV)
10081                     NBRE (BDEV)
10082                 }
10083             }
10084 
10085             Method (_Q2D, 0, NotSerialized)  // _Qxx: EC Query
10086             {
10087                 Store (BGID (0x00), BDEV)
10088                 NBIN (BDEV)
10089             }
10090 
10091             Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query
10092             {
10093                 Store (BGID (0x00), Local0)
10094                 If (LEqual (Local0, 0x0F))
10095                 {
10096                     BDIS ()
10097                     \BHDP (0x01, 0x00)
10098                     NBEJ (BDEV)
10099                     Store (Local0, BDEV)
10100                     If (LEqual (\BIDE, 0x03))
10101                     {
10102                         Store (0x00, \_SB.PCI0.SAT1.PRIM.GTME)
10103                         Store (0x00, \_SB.PCI0.SAT1.SCND.GTME)
10104                     }
10105                 }
10106                 Else
10107                 {
10108                     If (HPBU) {}
10109                     Else
10110                     {
10111                         Store (Local0, BDEV)
10112                         NBIN (Local0)
10113                     }
10114                 }
10115             }
10116 
10117             Name (ODEJ, 0x00)
10118             Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query
10119             {
10120                 If (\_SB.PCI0.LPC.CSON)
10121                 {
10122                     Store (0x01, ODEJ)
10123                     Store (BGID (0x00), BDEV)
10124                     NBIN (BDEV)
10125                     Store (0x00, ODEJ)
10126                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3006)
10127                 }
10128             }
10129 
10130             Method (NBRE, 1, NotSerialized)
10131             {
10132                 If (LLess (Arg0, 0x0C))
10133                 {
10134                     If (LEqual (\BIDE, 0x03))
10135                     {
10136                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03)
10137                     }
10138                     Else
10139                     {
10140                         Notify (\_SB.PCI0.SAT1.PRT1, 0x03)
10141                     }
10142                 }
10143             }
10144 
10145             Method (NBEJ, 1, NotSerialized)
10146             {
10147                 If (LEqual (BSTS, 0x00))
10148                 {
10149                     If (LLess (Arg0, 0x0C))
10150                     {
10151                         If (LEqual (\BIDE, 0x03))
10152                         {
10153                             Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01)
10154                         }
10155                         Else
10156                         {
10157                             Notify (\_SB.PCI0.SAT1.PRT1, 0x01)
10158                         }
10159                     }
10160                 }
10161 
10162                 BEEP (0x00)
10163                 Store (0x00, BSTS)
10164             }
10165 
10166             Method (NBIN, 1, NotSerialized)
10167             {
10168                 If (LLess (Arg0, 0x0C))
10169                 {
10170                     BEN (0x01)
10171                     If (LEqual (\BIDE, 0x03))
10172                     {
10173                         Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01)
10174                     }
10175                     Else
10176                     {
10177                         Notify (\_SB.PCI0.SAT1.PRT1, 0x01)
10178                     }
10179                 }
10180 
10181                 BEEP (0x00)
10182                 Store (0x00, BSTS)
10183             }
10184 
10185             Method (BEJ0, 1, NotSerialized)
10186             {
10187                 If (Arg0)
10188                 {
10189                     BDIS ()
10190                     \BHDP (0x01, 0x00)
10191                     Store (0x01, BSTS)
10192                     If (BHKE)
10193                     {
10194                         Store (0x00, BHKE)
10195                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
10196                     }
10197                 }
10198                 Else
10199                 {
10200                     Store (0x00, BSTS)
10201                 }
10202             }
10203 
10204             Method (BEJ3, 1, NotSerialized)
10205             {
10206                 If (Arg0)
10207                 {
10208                     BDIS ()
10209                     Store (0x01, BSTS)
10210                 }
10211                 Else
10212                 {
10213                     Store (0x00, BSTS)
10214                 }
10215             }
10216 
10217             Method (BPTS, 1, NotSerialized)
10218             {
10219                 Store (0x01, HDBM)
10220                 If (LNotEqual (BSTS, 0x00))
10221                 {
10222                     Store (0x0F, BDEV)
10223                     Store (0x00, BSTS)
10224                 }
10225 
10226                 Store (0x00, BHKE)
10227                 BUWK (0x00)
10228             }
10229 
10230             Method (BWAK, 1, NotSerialized)
10231             {
10232                 BUWK (0x00)
10233                 Store (BGID (0x00), Local0)
10234                 If (LEqual (BSTS, 0x00))
10235                 {
10236                     If (LNotEqual (Local0, BDEV))
10237                     {
10238                         NBEJ (BDEV)
10239                         Store (Local0, BDEV)
10240                         NBIN (Local0)
10241                     }
10242                     Else
10243                     {
10244                         If (LOr (\LFDC, LNotEqual (BDEV, 0x0D)))
10245                         {
10246                             If (LNotEqual (Local0, 0x0F))
10247                             {
10248                                 If (HPBU)
10249                                 {
10250                                     If (LLessEqual (Arg0, 0x02)) {}
10251                                     Else
10252                                     {
10253                                         NBRE (Local0)
10254                                     }
10255                                 }
10256                             }
10257                         }
10258                     }
10259                 }
10260 
10261                 If (LLess (BDEV, 0x0C))
10262                 {
10263                     \UBIS (0x00)
10264                 }
10265                 Else
10266                 {
10267                     \UBIS (0x01)
10268                 }
10269             }
10270 
10271             Method (BDIS, 0, NotSerialized)
10272             {
10273                 If (LNot (\_SB.PCI0.LPC.CSON))
10274                 {
10275                     If (LNot (\_SB.PCI0.LPC.GLIS))
10276                     {
10277                         \UBIS (0x01)
10278                     }
10279 
10280                     Store (0x01, \_SB.PCI0.LPC.CSON)
10281                     Store (0x0F, \IDET)
10282                 }
10283             }
10284 
10285             Method (BPON, 1, NotSerialized)
10286             {
10287                 If (\_SB.PCI0.LPC.CSON)
10288                 {
10289                     Store (0x00, \_SB.PCI0.LPC.CSON)
10290                     If (\_SB.PCI0.LPC.GLIS)
10291                     {
10292                         \UBIS (0x00)
10293                     }
10294                 }
10295             }
10296 
10297             Method (BEN, 1, NotSerialized)
10298             {
10299                 If (\_SB.PCI0.LPC.CSON)
10300                 {
10301                     BPON (Arg0)
10302                     If (LAnd (Arg0, LEqual (ODEJ, 0x01)))
10303                     {
10304                         Store (0x09, \_SB.PCI0.LPC.EC.HANT)
10305                     }
10306 
10307                     If (Arg0)
10308                     {
10309                         IRDY ()
10310                     }
10311                 }
10312             }
10313 
10314             Method (BSTA, 1, NotSerialized)
10315             {
10316                 If (\_SB.PCI0.LPC.CSON)
10317                 {
10318                     Return (0x00)
10319                 }
10320 
10321                 BINI ()
10322                 If (LEqual (Arg0, 0x01))
10323                 {
10324                     Return (LLess (BDEV, 0x0C))
10325                 }
10326 
10327                 Return (0x00)
10328             }
10329 
10330             Method (BUWK, 1, NotSerialized)
10331             {
10332                 If (\H8DR)
10333                 {
10334                     If (Arg0)
10335                     {
10336                         Store (0x01, \_SB.PCI0.LPC.EC.HWBU)
10337                     }
10338                     Else
10339                     {
10340                         Store (0x00, \_SB.PCI0.LPC.EC.HWBU)
10341                     }
10342                 }
10343                 Else
10344                 {
10345                     If (Arg0)
10346                     {
10347                         \MBEC (0x32, 0xFF, 0x80)
10348                     }
10349                     Else
10350                     {
10351                         \MBEC (0x32, 0x7F, 0x00)
10352                     }
10353                 }
10354             }
10355 
10356             Method (BINI, 0, NotSerialized)
10357             {
10358                 If (LEqual (BDEV, 0xFF))
10359                 {
10360                     Store (BGID (0x00), BDEV)
10361                 }
10362             }
10363 
10364             Method (BGID, 1, NotSerialized)
10365             {
10366                 If (Arg0)
10367                 {
10368                     Store (0xFF, Local0)
10369                 }
10370                 Else
10371                 {
10372                     If (\H8DR)
10373                     {
10374                         Store (HPBU, Local1)
10375                         Store (HBID, Local2)
10376                     }
10377                     Else
10378                     {
10379                         Store (RBEC (0x47), Local2)
10380                         And (Local2, 0x01, Local1)
10381                         And (Local2, 0x04, Local2)
10382                         ShiftRight (Local2, 0x02, Local2)
10383                     }
10384 
10385                     If (Local2)
10386                     {
10387                         Store (0x0F, Local0)
10388                     }
10389                     Else
10390                     {
10391                         If (HDUB)
10392                         {
10393                             Store (0x0F, Local0)
10394                         }
10395                         Else
10396                         {
10397                             If (LOr (LEqual (\IDET, 0x03), LEqual (\IDET, 0x06)))
10398                             {
10399                                 Store (\IDET, Local0)
10400                             }
10401                             Else
10402                             {
10403                                 Store (0x07, Local0)
10404                             }
10405                         }
10406                     }
10407 
10408                     If (LEqual (Local0, 0x0F)) {}
10409                 }
10410 
10411                 If (LAnd (\HDUB, LLess (Local0, 0x0C)))
10412                 {
10413                     Store (0x0F, Local0)
10414                 }
10415 
10416                 Return (Local0)
10417             }
10418 
10419             Method (IRDY, 0, NotSerialized)
10420             {
10421                 Store (0x01F4, Local0)
10422                 Store (0x3C, Local1)
10423                 Store (Zero, Local2)
10424                 While (Local1)
10425                 {
10426                     Sleep (Local0)
10427                     Store (\BCHK (), Local3)
10428                     If (LNot (Local3))
10429                     {
10430                         Break
10431                     }
10432 
10433                     If (LEqual (Local3, 0x02))
10434                     {
10435                         Store (One, Local2)
10436                         Break
10437                     }
10438 
10439                     Decrement (Local1)
10440                 }
10441 
10442                 Return (Local2)
10443             }
10444         }
10445 
10446         Scope (\_SB.PCI0.LPC.EC)
10447         {
10448             Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query
10449             {
10450                 \UCMS (0x18)
10451             }
10452 
10453             Method (SAUM, 1, NotSerialized)
10454             {
10455                 If (LGreater (Arg0, 0x03))
10456                 {
10457                     Noop
10458                 }
10459                 Else
10460                 {
10461                     If (\H8DR)
10462                     {
10463                         Store (Arg0, HAUM)
10464                     }
10465                     Else
10466                     {
10467                         \MBEC (0x03, 0x9F, ShiftLeft (Arg0, 0x05))
10468                     }
10469                 }
10470             }
10471         }
10472 
10473         Scope (\_SB.PCI0.LPC.EC.HKEY)
10474         {
10475             Method (GSMS, 1, NotSerialized)
10476             {
10477                 Return (\AUDC (0x00, 0x00))
10478             }
10479 
10480             Method (SSMS, 1, NotSerialized)
10481             {
10482                 Return (\AUDC (0x01, And (Arg0, 0x01)))
10483             }
10484 
10485             Method (SHDA, 1, NotSerialized)
10486             {
10487                 Return (\AUDC (0x02, And (Arg0, 0x01)))
10488             }
10489         }
10490 
10491         Scope (\_SB.PCI0.LPC.EC)
10492         {
10493             Name (BRTW, Package (0x12)
10494             {
10495                 0x64, 
10496                 0x64, 
10497                 0x05, 
10498                 0x0A, 
10499                 0x14, 
10500                 0x19, 
10501                 0x1E, 
10502                 0x23, 
10503                 0x28, 
10504                 0x2D, 
10505                 0x32, 
10506                 0x37, 
10507                 0x3C, 
10508                 0x41, 
10509                 0x46, 
10510                 0x50, 
10511                 0x5A, 
10512                 0x64
10513             })
10514             Name (BRTB, Package (0x04)
10515             {
10516                 Package (0x16)
10517                 {
10518                     0x16, 
10519                     0x04, 
10520                     0x03, 
10521                     0x05, 
10522                     0x08, 
10523                     0x0A, 
10524                     0x0D, 
10525                     0x12, 
10526                     0x19, 
10527                     0x21, 
10528                     0x2B, 
10529                     0x38, 
10530                     0x4A, 
10531                     0x61, 
10532                     0x7E, 
10533                     0xA0, 
10534                     0xCC, 
10535                     0xFF, 
10536                     0xDC, 
10537                     0xDC, 
10538                     0x03, 
10539                     0x03
10540                 }, 
10541 
10542                 Package (0x16)
10543                 {
10544                     0x1B, 
10545                     0x04, 
10546                     0x03, 
10547                     0x05, 
10548                     0x08, 
10549                     0x0A, 
10550                     0x0D, 
10551                     0x0F, 
10552                     0x12, 
10553                     0x19, 
10554                     0x22, 
10555                     0x2E, 
10556                     0x3E, 
10557                     0x54, 
10558                     0x6E, 
10559                     0x93, 
10560                     0xC1, 
10561                     0xFF, 
10562                     0xDC, 
10563                     0xDC, 
10564                     0x03, 
10565                     0x03
10566                 }, 
10567 
10568                 Package (0x16)
10569                 {
10570                     0x14, 
10571                     0x04, 
10572                     0x04, 
10573                     0x07, 
10574                     0x09, 
10575                     0x0C, 
10576                     0x10, 
10577                     0x15, 
10578                     0x1C, 
10579                     0x25, 
10580                     0x32, 
10581                     0x40, 
10582                     0x53, 
10583                     0x6E, 
10584                     0x94, 
10585                     0xC6, 
10586                     0xE1, 
10587                     0xFF, 
10588                     0xDC, 
10589                     0xDC, 
10590                     0x04, 
10591                     0x04
10592                 }, 
10593 
10594                 Package (0x16)
10595                 {
10596                     0x00, 
10597                     0x04, 
10598                     0x04, 
10599                     0x07, 
10600                     0x09, 
10601                     0x0C, 
10602                     0x10, 
10603                     0x15, 
10604                     0x1C, 
10605                     0x25, 
10606                     0x32, 
10607                     0x40, 
10608                     0x50, 
10609                     0x64, 
10610                     0x82, 
10611                     0xA5, 
10612                     0xCD, 
10613                     0xFF, 
10614                     0xDC, 
10615                     0xDC, 
10616                     0x04, 
10617                     0x04
10618                 }
10619             })
10620             Name (BRTD, Package (0x04)
10621             {
10622                 Package (0x65)
10623                 {
10624                     0x03, 
10625                     0x04, 
10626                     0x05, 
10627                     0x06, 
10628                     0x07, 
10629                     0x08, 
10630                     0x09, 
10631                     0x0A, 
10632                     0x0B, 
10633                     0x0C, 
10634                     0x0D, 
10635                     0x0E, 
10636                     0x0F, 
10637                     0x10, 
10638                     0x11, 
10639                     0x12, 
10640                     0x13, 
10641                     0x14, 
10642                     0x15, 
10643                     0x16, 
10644                     0x17, 
10645                     0x18, 
10646                     0x19, 
10647                     0x1A, 
10648                     0x1C, 
10649                     0x1D, 
10650                     0x1F, 
10651                     0x21, 
10652                     0x22, 
10653                     0x24, 
10654                     0x26, 
10655                     0x28, 
10656                     0x2A, 
10657                     0x2C, 
10658                     0x2E, 
10659                     0x30, 
10660                     0x33, 
10661                     0x35, 
10662                     0x37, 
10663                     0x3A, 
10664                     0x3C, 
10665                     0x3F, 
10666                     0x41, 
10667                     0x44, 
10668                     0x46, 
10669                     0x49, 
10670                     0x4C, 
10671                     0x4F, 
10672                     0x51, 
10673                     0x54, 
10674                     0x57, 
10675                     0x5A, 
10676                     0x5D, 
10677                     0x61, 
10678                     0x64, 
10679                     0x67, 
10680                     0x6A, 
10681                     0x6E, 
10682                     0x71, 
10683                     0x75, 
10684                     0x78, 
10685                     0x7C, 
10686                     0x80, 
10687                     0x83, 
10688                     0x87, 
10689                     0x8B, 
10690                     0x8F, 
10691                     0x93, 
10692                     0x97, 
10693                     0x9B, 
10694                     0x9F, 
10695                     0xA3, 
10696                     0xA8, 
10697                     0xAC, 
10698                     0xB0, 
10699                     0xB5, 
10700                     0xB9, 
10701                     0xBE, 
10702                     0xC3, 
10703                     0xC7, 
10704                     0xCC, 
10705                     0xCE, 
10706                     0xD1, 
10707                     0xD3, 
10708                     0xD6, 
10709                     0xD8, 
10710                     0xDB, 
10711                     0xDD, 
10712                     0xE0, 
10713                     0xE2, 
10714                     0xE5, 
10715                     0xE7, 
10716                     0xEA, 
10717                     0xEC, 
10718                     0xEF, 
10719                     0xF2, 
10720                     0xF4, 
10721                     0xF7, 
10722                     0xFA, 
10723                     0xFC, 
10724                     0xFF
10725                 }, 
10726 
10727                 Package (0x65)
10728                 {
10729                     0x03, 
10730                     0x04, 
10731                     0x05, 
10732                     0x06, 
10733                     0x07, 
10734                     0x08, 
10735                     0x09, 
10736                     0x0A, 
10737                     0x0B, 
10738                     0x0C, 
10739                     0x0D, 
10740                     0x0E, 
10741                     0x0F, 
10742                     0x10, 
10743                     0x11, 
10744                     0x12, 
10745                     0x13, 
10746                     0x14, 
10747                     0x15, 
10748                     0x16, 
10749                     0x17, 
10750                     0x18, 
10751                     0x19, 
10752                     0x1A, 
10753                     0x1B, 
10754                     0x1C, 
10755                     0x1D, 
10756                     0x1E, 
10757                     0x1F, 
10758                     0x20, 
10759                     0x21, 
10760                     0x22, 
10761                     0x23, 
10762                     0x25, 
10763                     0x26, 
10764                     0x28, 
10765                     0x2A, 
10766                     0x2C, 
10767                     0x2E, 
10768                     0x2F, 
10769                     0x31, 
10770                     0x33, 
10771                     0x35, 
10772                     0x37, 
10773                     0x3A, 
10774                     0x3C, 
10775                     0x3E, 
10776                     0x40, 
10777                     0x42, 
10778                     0x45, 
10779                     0x47, 
10780                     0x4A, 
10781                     0x4C, 
10782                     0x4E, 
10783                     0x51, 
10784                     0x54, 
10785                     0x56, 
10786                     0x59, 
10787                     0x5C, 
10788                     0x5E, 
10789                     0x61, 
10790                     0x64, 
10791                     0x67, 
10792                     0x6A, 
10793                     0x6D, 
10794                     0x70, 
10795                     0x73, 
10796                     0x76, 
10797                     0x79, 
10798                     0x7D, 
10799                     0x80, 
10800                     0x83, 
10801                     0x86, 
10802                     0x8A, 
10803                     0x8D, 
10804                     0x91, 
10805                     0x94, 
10806                     0x98, 
10807                     0x9C, 
10808                     0x9F, 
10809                     0xA3, 
10810                     0xA7, 
10811                     0xAB, 
10812                     0xAF, 
10813                     0xB4, 
10814                     0xB8, 
10815                     0xBC, 
10816                     0xC1, 
10817                     0xC5, 
10818                     0xCA, 
10819                     0xCE, 
10820                     0xD3, 
10821                     0xD8, 
10822                     0xDC, 
10823                     0xE1, 
10824                     0xE6, 
10825                     0xEB, 
10826                     0xF0, 
10827                     0xF5, 
10828                     0xFA, 
10829                     0xFF
10830                 }, 
10831 
10832                 Package (0x65)
10833                 {
10834                     0x03, 
10835                     0x04, 
10836                     0x05, 
10837                     0x06, 
10838                     0x07, 
10839                     0x08, 
10840                     0x09, 
10841                     0x0A, 
10842                     0x0B, 
10843                     0x0C, 
10844                     0x0D, 
10845                     0x0E, 
10846                     0x0F, 
10847                     0x10, 
10848                     0x11, 
10849                     0x12, 
10850                     0x13, 
10851                     0x14, 
10852                     0x15, 
10853                     0x16, 
10854                     0x17, 
10855                     0x18, 
10856                     0x19, 
10857                     0x1A, 
10858                     0x1C, 
10859                     0x1D, 
10860                     0x1F, 
10861                     0x21, 
10862                     0x22, 
10863                     0x24, 
10864                     0x26, 
10865                     0x28, 
10866                     0x2A, 
10867                     0x2C, 
10868                     0x2E, 
10869                     0x30, 
10870                     0x33, 
10871                     0x35, 
10872                     0x37, 
10873                     0x3A, 
10874                     0x3C, 
10875                     0x3F, 
10876                     0x41, 
10877                     0x44, 
10878                     0x46, 
10879                     0x49, 
10880                     0x4C, 
10881                     0x4F, 
10882                     0x51, 
10883                     0x54, 
10884                     0x57, 
10885                     0x5A, 
10886                     0x5D, 
10887                     0x61, 
10888                     0x64, 
10889                     0x67, 
10890                     0x6A, 
10891                     0x6E, 
10892                     0x71, 
10893                     0x75, 
10894                     0x78, 
10895                     0x7C, 
10896                     0x80, 
10897                     0x83, 
10898                     0x87, 
10899                     0x8B, 
10900                     0x8F, 
10901                     0x93, 
10902                     0x97, 
10903                     0x9B, 
10904                     0x9F, 
10905                     0xA3, 
10906                     0xA8, 
10907                     0xAC, 
10908                     0xB0, 
10909                     0xB5, 
10910                     0xB9, 
10911                     0xBE, 
10912                     0xC3, 
10913                     0xC7, 
10914                     0xCC, 
10915                     0xCE, 
10916                     0xD1, 
10917                     0xD3, 
10918                     0xD6, 
10919                     0xD8, 
10920                     0xDB, 
10921                     0xDD, 
10922                     0xE0, 
10923                     0xE2, 
10924                     0xE5, 
10925                     0xE7, 
10926                     0xEA, 
10927                     0xEC, 
10928                     0xEF, 
10929                     0xF2, 
10930                     0xF4, 
10931                     0xF7, 
10932                     0xFA, 
10933                     0xFC, 
10934                     0xFF
10935                 }, 
10936 
10937                 Package (0x65)
10938                 {
10939                     0x03, 
10940                     0x04, 
10941                     0x05, 
10942                     0x06, 
10943                     0x07, 
10944                     0x08, 
10945                     0x09, 
10946                     0x0A, 
10947                     0x0B, 
10948                     0x0C, 
10949                     0x0D, 
10950                     0x0E, 
10951                     0x0F, 
10952                     0x10, 
10953                     0x11, 
10954                     0x12, 
10955                     0x13, 
10956                     0x14, 
10957                     0x15, 
10958                     0x16, 
10959                     0x17, 
10960                     0x18, 
10961                     0x19, 
10962                     0x1A, 
10963                     0x1C, 
10964                     0x1D, 
10965                     0x1F, 
10966                     0x21, 
10967                     0x22, 
10968                     0x24, 
10969                     0x26, 
10970                     0x28, 
10971                     0x2A, 
10972                     0x2C, 
10973                     0x2E, 
10974                     0x30, 
10975                     0x33, 
10976                     0x35, 
10977                     0x37, 
10978                     0x3A, 
10979                     0x3C, 
10980                     0x3F, 
10981                     0x41, 
10982                     0x44, 
10983                     0x46, 
10984                     0x49, 
10985                     0x4C, 
10986                     0x4F, 
10987                     0x51, 
10988                     0x54, 
10989                     0x57, 
10990                     0x5A, 
10991                     0x5D, 
10992                     0x61, 
10993                     0x64, 
10994                     0x67, 
10995                     0x6A, 
10996                     0x6E, 
10997                     0x71, 
10998                     0x75, 
10999                     0x78, 
11000                     0x7C, 
11001                     0x80, 
11002                     0x83, 
11003                     0x87, 
11004                     0x8B, 
11005                     0x8F, 
11006                     0x93, 
11007                     0x97, 
11008                     0x9B, 
11009                     0x9F, 
11010                     0xA3, 
11011                     0xA8, 
11012                     0xAC, 
11013                     0xB0, 
11014                     0xB5, 
11015                     0xB9, 
11016                     0xBE, 
11017                     0xC3, 
11018                     0xC7, 
11019                     0xCC, 
11020                     0xCE, 
11021                     0xD1, 
11022                     0xD3, 
11023                     0xD6, 
11024                     0xD8, 
11025                     0xDB, 
11026                     0xDD, 
11027                     0xE0, 
11028                     0xE2, 
11029                     0xE5, 
11030                     0xE7, 
11031                     0xEA, 
11032                     0xEC, 
11033                     0xEF, 
11034                     0xF2, 
11035                     0xF4, 
11036                     0xF7, 
11037                     0xFA, 
11038                     0xFC, 
11039                     0xFF
11040                 }
11041             })
11042             Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
11043             {
11044                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
11045                 {
11046                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
11047                 }
11048 
11049                 If (\NBCF)
11050                 {
11051                     If (\VIGD)
11052                     {
11053                         Notify (\_SB.PCI0.VID.LCD0, 0x86)
11054                     }
11055                     Else
11056                     {
11057                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86)
11058                     }
11059                 }
11060                 Else
11061                 {
11062                     Store (\BRLV, Local0)
11063                     If (LNotEqual (Local0, 0x0F))
11064                     {
11065                         Increment (Local0)
11066                         Store (Local0, \BRLV)
11067                     }
11068 
11069                     If (\VIGD)
11070                     {
11071                         \UCMS (0x16)
11072                         \_SB.PCI0.LPC.EC.BRNS ()
11073                     }
11074                     Else
11075                     {
11076                         \VBRC (Local0)
11077                     }
11078 
11079                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11080                 }
11081             }
11082 
11083             Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
11084             {
11085                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
11086                 {
11087                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
11088                 }
11089 
11090                 If (\NBCF)
11091                 {
11092                     If (\VIGD)
11093                     {
11094                         Notify (\_SB.PCI0.VID.LCD0, 0x87)
11095                     }
11096                     Else
11097                     {
11098                         Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87)
11099                     }
11100                 }
11101                 Else
11102                 {
11103                     Store (\BRLV, Local0)
11104                     If (Local0)
11105                     {
11106                         Decrement (Local0)
11107                         Store (Local0, \BRLV)
11108                     }
11109 
11110                     If (\VIGD)
11111                     {
11112                         \UCMS (0x16)
11113                         \_SB.PCI0.LPC.EC.BRNS ()
11114                     }
11115                     Else
11116                     {
11117                         \VBRC (Local0)
11118                     }
11119 
11120                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11121                 }
11122 
11123                 Return (Zero)
11124             }
11125 
11126             Method (BRNS, 0, NotSerialized)
11127             {
11128                 Add (\BRLV, 0x02, Local0)
11129                 Store (\BRTN, Local3)
11130                 If (\_SB.PCI0.VID.DRDY)
11131                 {
11132                     If (LEqual (0x00, Local0))
11133                     {
11134                         Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x14)), 
11135                             Local1)
11136                         Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x12)), 
11137                             Local2)
11138                     }
11139                     Else
11140                     {
11141                         Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x15)), 
11142                             Local1)
11143                         Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), 0x13)), 
11144                             Local2)
11145                     }
11146 
11147                     Or (Local1, ShiftLeft (Local2, 0x09), Local2)
11148                     \_SB.PCI0.VID.AINT (0x03, Local2)
11149                     Store (DerefOf (Index (DerefOf (Index (BRTB, Local3)), Local0)), 
11150                         Local2)
11151                     \_SB.PCI0.VID.AINT (0x01, Local2)
11152                 }
11153                 Else
11154                 {
11155                     \UCMS (0x12)
11156                 }
11157             }
11158 
11159             Method (BRCF, 1, NotSerialized)
11160             {
11161                 If (LLess (Arg0, 0x00))
11162                 {
11163                     Return (0x00)
11164                 }
11165 
11166                 If (LGreater (Arg0, 0x64))
11167                 {
11168                     Return (0x0F)
11169                 }
11170 
11171                 Add (Arg0, 0x03, Local0)
11172                 Multiply (Local0, 0x0F, Local0)
11173                 Divide (Local0, 0x64, Local0, Local1)
11174                 Return (Local1)
11175             }
11176 
11177             Method (BRCD, 1, NotSerialized)
11178             {
11179                 Store (DerefOf (Index (DerefOf (Index (BRTD, \BRTN)), Arg0)), 
11180                     Local0)
11181                 Return (Local0)
11182             }
11183         }
11184 
11185         Scope (\_SB.PCI0.LPC.EC)
11186         {
11187             Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query
11188             {
11189                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
11190                 {
11191                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
11192                 }
11193 
11194                 \UCMS (0x03)
11195             }
11196         }
11197 
11198         Scope (\_SB.PCI0.LPC.EC)
11199         {
11200             Method (_Q63, 0, NotSerialized)  // _Qxx: EC Query
11201             {
11202                 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
11203                 {
11204                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
11205                 }
11206 
11207                 \UCMS (0x0B)
11208             }
11209         }
11210 
11211         Scope (\_SB.PCI0.LPC.EC)
11212         {
11213             Method (_Q70, 0, NotSerialized)  // _Qxx: EC Query
11214             {
11215                 FNST ()
11216             }
11217 
11218             Method (_Q72, 0, NotSerialized)  // _Qxx: EC Query
11219             {
11220                 FNST ()
11221             }
11222 
11223             Method (_Q73, 0, NotSerialized)  // _Qxx: EC Query
11224             {
11225                 FNST ()
11226             }
11227 
11228             Method (FNST, 0, NotSerialized)
11229             {
11230                 If (\H8DR)
11231                 {
11232                     Store (HFNS, Local0)
11233                     Store (HFNE, Local1)
11234                 }
11235                 Else
11236                 {
11237                     And (\RBEC (0x0E), 0x03, Local0)
11238                     And (\RBEC (0x00), 0x08, Local1)
11239                 }
11240 
11241                 If (Local1)
11242                 {
11243                     If (LEqual (Local0, 0x00))
11244                     {
11245                         \UCMS (0x11)
11246                     }
11247 
11248                     If (LEqual (Local0, 0x01))
11249                     {
11250                         \UCMS (0x0F)
11251                     }
11252 
11253                     If (LEqual (Local0, 0x02))
11254                     {
11255                         \UCMS (0x10)
11256                     }
11257 
11258                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
11259                 }
11260             }
11261         }
11262 
11263         Scope (\_SB.PCI0.LPC.EC.HKEY)
11264         {
11265             Method (GHSL, 1, NotSerialized)
11266             {
11267                 Return (\FNSC (0x00, 0x00))
11268             }
11269 
11270             Method (SHSL, 1, NotSerialized)
11271             {
11272                 Return (\FNSC (0x01, And (Arg0, 0x01)))
11273             }
11274         }
11275 
11276         Scope (\_SB.PCI0.LPC.EC.HKEY)
11277         {
11278             Name (WGFL, 0x00)
11279             Method (WSIF, 0, NotSerialized)
11280             {
11281                 Return (0x00)
11282             }
11283 
11284             Method (WLSW, 0, NotSerialized)
11285             {
11286                 Return (\_SB.PCI0.LPC.EC.GSTS)
11287             }
11288 
11289             Method (GWAN, 0, NotSerialized)
11290             {
11291                 Store (0x00, Local0)
11292                 If (And (WGFL, 0x01))
11293                 {
11294                     Or (Local0, 0x01, Local0)
11295                 }
11296 
11297                 If (And (WGFL, 0x08))
11298                 {
11299                     Return (Local0)
11300                 }
11301 
11302                 If (WPWS ())
11303                 {
11304                     Or (Local0, 0x02, Local0)
11305                 }
11306 
11307                 Or (Local0, 0x04, Local0)
11308                 Return (Local0)
11309             }
11310 
11311             Method (SWAN, 1, NotSerialized)
11312             {
11313                 If (And (Arg0, 0x02))
11314                 {
11315                     WPWC (0x01)
11316                 }
11317                 Else
11318                 {
11319                     WPWC (0x00)
11320                 }
11321             }
11322 
11323             Method (GBDC, 0, NotSerialized)
11324             {
11325                 Store (0x00, Local0)
11326                 If (And (WGFL, 0x10))
11327                 {
11328                     Or (Local0, 0x01, Local0)
11329                 }
11330 
11331                 If (And (WGFL, 0x80))
11332                 {
11333                     Return (Local0)
11334                 }
11335 
11336                 If (BPWS ())
11337                 {
11338                     Or (Local0, 0x02, Local0)
11339                 }
11340 
11341                 Or (Local0, 0x04, Local0)
11342                 Return (Local0)
11343             }
11344 
11345             Method (SBDC, 1, NotSerialized)
11346             {
11347                 If (And (Arg0, 0x02))
11348                 {
11349                     BPWC (0x01)
11350                 }
11351                 Else
11352                 {
11353                     BPWC (0x00)
11354                 }
11355             }
11356 
11357             Method (WPWS, 0, NotSerialized)
11358             {
11359                 If (\H8DR)
11360                 {
11361                     Store (\_SB.PCI0.LPC.EC.DCWW, Local0)
11362                 }
11363                 Else
11364                 {
11365                     Store (ShiftRight (And (\RBEC (0x3A), 0x40), 0x06), Local0)
11366                 }
11367 
11368                 Return (Local0)
11369             }
11370 
11371             Method (WPWC, 1, NotSerialized)
11372             {
11373                 If (LAnd (Arg0, LAnd (And (WGFL, 0x01), LNot (And (
11374                     WGFL, 0x08)))))
11375                 {
11376                     If (\H8DR)
11377                     {
11378                         Store (One, \_SB.PCI0.LPC.EC.DCWW)
11379                     }
11380                     Else
11381                     {
11382                         \MBEC (0x3A, 0xFF, 0x40)
11383                     }
11384 
11385                     Or (WGFL, 0x02, WGFL)
11386                 }
11387                 Else
11388                 {
11389                     If (\H8DR)
11390                     {
11391                         Store (Zero, \_SB.PCI0.LPC.EC.DCWW)
11392                     }
11393                     Else
11394                     {
11395                         \MBEC (0x3A, 0xBF, 0x00)
11396                     }
11397 
11398                     And (WGFL, Not (0x02), WGFL)
11399                 }
11400             }
11401 
11402             Method (BPWS, 0, NotSerialized)
11403             {
11404                 If (\H8DR)
11405                 {
11406                     Store (\_SB.PCI0.LPC.EC.DCBD, Local0)
11407                 }
11408                 Else
11409                 {
11410                     Store (ShiftRight (And (\RBEC (0x3A), 0x10), 0x04), Local0)
11411                 }
11412 
11413                 Return (Local0)
11414             }
11415 
11416             Method (BPWC, 1, NotSerialized)
11417             {
11418                 If (LAnd (Arg0, LAnd (And (WGFL, 0x10), LNot (And (
11419                     WGFL, 0x80)))))
11420                 {
11421                     If (\H8DR)
11422                     {
11423                         Store (One, \_SB.PCI0.LPC.EC.DCBD)
11424                     }
11425                     Else
11426                     {
11427                         \MBEC (0x3A, 0xFF, 0x10)
11428                     }
11429 
11430                     Or (WGFL, 0x20, WGFL)
11431                 }
11432                 Else
11433                 {
11434                     If (\H8DR)
11435                     {
11436                         Store (Zero, \_SB.PCI0.LPC.EC.DCBD)
11437                     }
11438                     Else
11439                     {
11440                         \MBEC (0x3A, 0xEF, 0x00)
11441                     }
11442 
11443                     And (WGFL, Not (0x20), WGFL)
11444                 }
11445             }
11446 
11447             Method (WGIN, 0, NotSerialized)
11448             {
11449                 Store (0x00, WGFL)
11450                 Store (\WGSV (0x01), WGFL)
11451                 If (\WIN8)
11452                 {
11453                     If (LAnd (WGFL, 0x10))
11454                     {
11455                         BPWC (0x01)
11456                     }
11457                 }
11458 
11459                 If (WPWS ())
11460                 {
11461                     Or (WGFL, 0x02, WGFL)
11462                 }
11463 
11464                 If (BPWS ())
11465                 {
11466                     Or (WGFL, 0x20, WGFL)
11467                 }
11468             }
11469 
11470             Method (WGPS, 1, NotSerialized)
11471             {
11472                 If (LGreaterEqual (Arg0, 0x04))
11473                 {
11474                     \BLTH (0x05)
11475                 }
11476             }
11477 
11478             Method (WGWK, 1, NotSerialized)
11479             {
11480                 If (And (WGFL, 0x20))
11481                 {
11482                     BPWC (0x01)
11483                 }
11484 
11485                 If (And (WGFL, 0x02))
11486                 {
11487                     WPWC (0x01)
11488                 }
11489             }
11490         }
11491 
11492         Scope (\_SB.PCI0.LPC.EC)
11493         {
11494             Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query
11495             {
11496                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
11497                 If (\WIN8)
11498                 {
11499                     Notify (\_SB.PCI0.LPC.EC.WGSH, 0x80)
11500                 }
11501             }
11502         }
11503 
11504         Device (WMI1)
11505         {
11506             Name (_HID, EisaId ("PNP0C14"))  // _HID: Hardware ID
11507             Name (_UID, 0x01)  // _UID: Unique ID
11508             Name (_WDG, Buffer (0xB4)
11509             {
11510                 /* 0000 */   0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46,
11511                 /* 0008 */   0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7,
11512                 /* 0010 */   0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98,
11513                 /* 0018 */   0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25,
11514                 /* 0020 */   0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06,
11515                 /* 0028 */   0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D,
11516                 /* 0030 */   0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3,
11517                 /* 0038 */   0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74,
11518                 /* 0040 */   0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E,
11519                 /* 0048 */   0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06,
11520                 /* 0050 */   0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44,
11521                 /* 0058 */   0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D,
11522                 /* 0060 */   0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A,
11523                 /* 0068 */   0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A,
11524                 /* 0070 */   0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01,
11525                 /* 0078 */   0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B,
11526                 /* 0080 */   0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7,
11527                 /* 0088 */   0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73,
11528                 /* 0090 */   0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6,
11529                 /* 0098 */   0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06,
11530                 /* 00A0 */   0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
11531                 /* 00A8 */   0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
11532                 /* 00B0 */   0x42, 0x41, 0x01, 0x00
11533             })
11534             Name (RETN, Package (0x05)
11535             {
11536                 "Success", 
11537                 "Not Supported", 
11538                 "Invalid Parameter", 
11539                 "Access Denied", 
11540                 "System Busy"
11541             })
11542             Name (ITEM, Package (0x51)
11543             {
11544                 Package (0x02)
11545                 {
11546                     0x0E, 
11547                     "WakeOnLAN"
11548                 }, 
11549 
11550                 Package (0x02)
11551                 {
11552                     0x00, 
11553                     "EthernetLANOptionROM"
11554                 }, 
11555 
11556                 Package (0x02)
11557                 {
11558                     0x00, 
11559                     "USBBIOSSupport"
11560                 }, 
11561 
11562                 Package (0x02)
11563                 {
11564                     0x00, 
11565                     "AlwaysOnUSB"
11566                 }, 
11567 
11568                 Package (0x02)
11569                 {
11570                     0x01, 
11571                     "TrackPoint"
11572                 }, 
11573 
11574                 Package (0x02)
11575                 {
11576                     0x01, 
11577                     "TouchPad"
11578                 }, 
11579 
11580                 Package (0x02)
11581                 {
11582                     0x00, 
11583                     "FnKeyLock"
11584                 }, 
11585 
11586                 Package (0x02)
11587                 {
11588                     0x04, 
11589                     "ThinkPadNumLock"
11590                 }, 
11591 
11592                 Package (0x02)
11593                 {
11594                     0x0C, 
11595                     "PowerOnNumLock"
11596                 }, 
11597 
11598                 Package (0x02)
11599                 {
11600                     0x05, 
11601                     "BootDisplayDevice"
11602                 }, 
11603 
11604                 Package (0x02)
11605                 {
11606                     0x00, 
11607                     "SpeedStep"
11608                 }, 
11609 
11610                 Package (0x02)
11611                 {
11612                     0x09, 
11613                     "AdaptiveThermalManagementAC"
11614                 }, 
11615 
11616                 Package (0x02)
11617                 {
11618                     0x09, 
11619                     "AdaptiveThermalManagementBattery"
11620                 }, 
11621 
11622                 Package (0x02)
11623                 {
11624                     0x06, 
11625                     "CDROMSpeed"
11626                 }, 
11627 
11628                 Package (0x02)
11629                 {
11630                     0x01, 
11631                     "CPUPowerManagement"
11632                 }, 
11633 
11634                 Package (0x02)
11635                 {
11636                     0x00, 
11637                     "PowerControlBeep"
11638                 }, 
11639 
11640                 Package (0x02)
11641                 {
11642                     0x00, 
11643                     "LowBatteryAlarm"
11644                 }, 
11645 
11646                 Package (0x02)
11647                 {
11648                     0x00, 
11649                     "PasswordBeep"
11650                 }, 
11651 
11652                 Package (0x02)
11653                 {
11654                     0x00, 
11655                     "KeyboardBeep"
11656                 }, 
11657 
11658                 Package (0x02)
11659                 {
11660                     0x00, 
11661                     "ExtendedMemoryTest"
11662                 }, 
11663 
11664                 Package (0x02)
11665                 {
11666                     0x07, 
11667                     "SATAControllerMode"
11668                 }, 
11669 
11670                 Package (0x02)
11671                 {
11672                     0x00, 
11673                     "CoreMultiProcessing"
11674                 }, 
11675 
11676                 Package (0x02)
11677                 {
11678                     0x00, 
11679                     "VirtualizationTechnology"
11680                 }, 
11681 
11682                 Package (0x02)
11683                 {
11684                     0x00, 
11685                     "LockBIOSSetting"
11686                 }, 
11687 
11688                 Package (0x02)
11689                 {
11690                     0x0B, 
11691                     "MinimumPasswordLength"
11692                 }, 
11693 
11694                 Package (0x02)
11695                 {
11696                     0x00, 
11697                     "BIOSPasswordAtUnattendedBoot"
11698                 }, 
11699 
11700                 Package (0x02)
11701                 {
11702                     0x00, 
11703                     "FingerprintPredesktopAuthentication"
11704                 }, 
11705 
11706                 Package (0x02)
11707                 {
11708                     0x08, 
11709                     "FingerprintReaderPriority"
11710                 }, 
11711 
11712                 Package (0x02)
11713                 {
11714                     0x03, 
11715                     "FingerprintSecurityMode"
11716                 }, 
11717 
11718                 Package (0x02)
11719                 {
11720                     0x02, 
11721                     "SecurityChip"
11722                 }, 
11723 
11724                 Package (0x02)
11725                 {
11726                     0x00, 
11727                     "BIOSUpdateByEndUsers"
11728                 }, 
11729 
11730                 Package (0x02)
11731                 {
11732                     0x00, 
11733                     "DataExecutionPrevention"
11734                 }, 
11735 
11736                 Package (0x02)
11737                 {
11738                     0x00, 
11739                     "EthernetLANAccess"
11740                 }, 
11741 
11742                 Package (0x02)
11743                 {
11744                     0x00, 
11745                     "WirelessLANAccess"
11746                 }, 
11747 
11748                 Package (0x02)
11749                 {
11750                     0x00, 
11751                     "WirelessWANAccess"
11752                 }, 
11753 
11754                 Package (0x02)
11755                 {
11756                     0x00, 
11757                     "BluetoothAccess"
11758                 }, 
11759 
11760                 Package (0x02)
11761                 {
11762                     0x00, 
11763                     "WirelessUSBAccess"
11764                 }, 
11765 
11766                 Package (0x02)
11767                 {
11768                     0x00, 
11769                     "ModemAccess"
11770                 }, 
11771 
11772                 Package (0x02)
11773                 {
11774                     0x00, 
11775                     "USBPortAccess"
11776                 }, 
11777 
11778                 Package (0x02)
11779                 {
11780                     0x00, 
11781                     "IEEE1394Access"
11782                 }, 
11783 
11784                 Package (0x02)
11785                 {
11786                     0x00, 
11787                     "ExpressCardAccess"
11788                 }, 
11789 
11790                 Package (0x02)
11791                 {
11792                     0x00, 
11793                     "PCIExpressSlotAccess"
11794                 }, 
11795 
11796                 Package (0x02)
11797                 {
11798                     0x00, 
11799                     "UltrabayAccess"
11800                 }, 
11801 
11802                 Package (0x02)
11803                 {
11804                     0x00, 
11805                     "MemoryCardSlotAccess"
11806                 }, 
11807 
11808                 Package (0x02)
11809                 {
11810                     0x00, 
11811                     "SmartCardSlotAccess"
11812                 }, 
11813 
11814                 Package (0x02)
11815                 {
11816                     0x00, 
11817                     "IntegratedCameraAccess"
11818                 }, 
11819 
11820                 Package (0x02)
11821                 {
11822                     0x00, 
11823                     "MicrophoneAccess"
11824                 }, 
11825 
11826                 Package (0x02)
11827                 {
11828                     0x0A, 
11829                     "BootMode"
11830                 }, 
11831 
11832                 Package (0x02)
11833                 {
11834                     0x00, 
11835                     "StartupOptionKeys"
11836                 }, 
11837 
11838                 Package (0x02)
11839                 {
11840                     0x00, 
11841                     "BootDeviceListF12Option"
11842                 }, 
11843 
11844                 Package (0x02)
11845                 {
11846                     0x64, 
11847                     "BootOrder"
11848                 }, 
11849 
11850                 Package (0x02)
11851                 {
11852                     0x00, 
11853                     "WiMAXAccess"
11854                 }, 
11855 
11856                 Package (0x02)
11857                 {
11858                     0x0D, 
11859                     "GraphicsDevice"
11860                 }, 
11861 
11862                 Package (0x02)
11863                 {
11864                     0x00, 
11865                     "TXTFeature"
11866                 }, 
11867 
11868                 Package (0x02)
11869                 {
11870                     0x00, 
11871                     "VTdFeature"
11872                 }, 
11873 
11874                 Package (0x02)
11875                 {
11876                     0x0F, 
11877                     "AMTControl"
11878                 }, 
11879 
11880                 Package (0x02)
11881                 {
11882                     0x00, 
11883                     "FingerprintPasswordAuthentication"
11884                 }, 
11885 
11886                 Package (0x02)
11887                 {
11888                     0x00, 
11889                     "FingerprintReaderAccess"
11890                 }, 
11891 
11892                 Package (0x02)
11893                 {
11894                     0x00, 
11895                     "OsDetectionForSwitchableGraphics"
11896                 }, 
11897 
11898                 Package (0x02)
11899                 {
11900                     0x0F, 
11901                     "ComputraceModuleActivation"
11902                 }, 
11903 
11904                 Package (0x02)
11905                 {
11906                     0x01, 
11907                     "PCIExpressPowerManagement"
11908                 }, 
11909 
11910                 Package (0x02)
11911                 {
11912                     0x0F, 
11913                     "ATpModuleActivation"
11914                 }, 
11915 
11916                 Package (0x02)
11917                 {
11918                     0x00, 
11919                     "eSATAPortAccess"
11920                 }, 
11921 
11922                 Package (0x02)
11923                 {
11924                     0x00, 
11925                     "HardwarePasswordManager"
11926                 }, 
11927 
11928                 Package (0x02)
11929                 {
11930                     0x00, 
11931                     "HyperThreadingTechnology"
11932                 }, 
11933 
11934                 Package (0x02)
11935                 {
11936                     0x00, 
11937                     "FnCtrlKeySwap"
11938                 }, 
11939 
11940                 Package (0x02)
11941                 {
11942                     0x00, 
11943                     "BIOSPasswordAtReboot"
11944                 }, 
11945 
11946                 Package (0x02)
11947                 {
11948                     0x00, 
11949                     "OnByAcAttach"
11950                 }, 
11951 
11952                 Package (0x02)
11953                 {
11954                     0x64, 
11955                     "NetworkBoot"
11956                 }, 
11957 
11958                 Package (0x02)
11959                 {
11960                     0x00, 
11961                     "BootOrderLock"
11962                 }, 
11963 
11964                 Package (0x02)
11965                 {
11966                     0x10, 
11967                     "USB30Mode"
11968                 }, 
11969 
11970                 Package (0x02)
11971                 {
11972                     0x11, 
11973                     "ExpressCardSpeed"
11974                 }, 
11975 
11976                 Package (0x02)
11977                 {
11978                     0x00, 
11979                     "RapidStartTechnology"
11980                 }, 
11981 
11982                 Package (0x02)
11983                 {
11984                     0x12, 
11985                     "KeyboardIllumination"
11986                 }, 
11987 
11988                 Package (0x02)
11989                 {
11990                     0x00, 
11991                     "IPv4NetworkStack"
11992                 }, 
11993 
11994                 Package (0x02)
11995                 {
11996                     0x00, 
11997                     "IPv6NetworkStack"
11998                 }, 
11999 
12000                 Package (0x02)
12001                 {
12002                     0x13, 
12003                     "UefiPxeBootPriority"
12004                 }, 
12005 
12006                 Package (0x02)
12007                 {
12008                     0x00, 
12009                     "PhysicalPresenceForTpmProvision"
12010                 }, 
12011 
12012                 Package (0x02)
12013                 {
12014                     0x00, 
12015                     "PhysicalPresenceForTpmClear"
12016                 }, 
12017 
12018                 Package (0x02)
12019                 {
12020                     0x00, 
12021                     "SecureRollBackPrevention"
12022                 }, 
12023 
12024                 Package (0x02)
12025                 {
12026                     0x00, 
12027                     "SecureBoot"
12028                 }
12029             })
12030             Name (VSEL, Package (0x14)
12031             {
12032                 Package (0x02)
12033                 {
12034                     "Disable", 
12035                     "Enable"
12036                 }, 
12037 
12038                 Package (0x02)
12039                 {
12040                     "Disable", 
12041                     "Automatic"
12042                 }, 
12043 
12044                 Package (0x03)
12045                 {
12046                     "Active", 
12047                     "Inactive", 
12048                     "Disable"
12049                 }, 
12050 
12051                 Package (0x02)
12052                 {
12053                     "Normal", 
12054                     "High"
12055                 }, 
12056 
12057                 Package (0x02)
12058                 {
12059                     "Independent", 
12060                     "Synchronized"
12061                 }, 
12062 
12063                 Package (0x05)
12064                 {
12065                     "LCD", 
12066                     "VGA", 
12067                     "Digital", 
12068                     "Digital1onDock", 
12069                     "Digital2onDock"
12070                 }, 
12071 
12072                 Package (0x03)
12073                 {
12074                     "High", 
12075                     "Normal", 
12076                     "Silent"
12077                 }, 
12078 
12079                 Package (0x02)
12080                 {
12081                     "Compatibility", 
12082                     "AHCI"
12083                 }, 
12084 
12085                 Package (0x02)
12086                 {
12087                     "External", 
12088                     "InternalOnly"
12089                 }, 
12090 
12091                 Package (0x02)
12092                 {
12093                     "MaximizePerformance", 
12094                     "Balanced"
12095                 }, 
12096 
12097                 Package (0x02)
12098                 {
12099                     "Quick", 
12100                     "Diagnostics"
12101                 }, 
12102 
12103                 Package (0x0A)
12104                 {
12105                     "Disable", 
12106                     "4", 
12107                     "5", 
12108                     "6", 
12109                     "7", 
12110                     "8", 
12111                     "9", 
12112                     "10", 
12113                     "11", 
12114                     "12"
12115                 }, 
12116 
12117                 Package (0x03)
12118                 {
12119                     "Auto", 
12120                     "On", 
12121                     "Off"
12122                 }, 
12123 
12124                 Package (0x03)
12125                 {
12126                     "IntegratedGfx", 
12127                     "DiscreteGfx", 
12128                     "SwitchableGfx"
12129                 }, 
12130 
12131                 Package (0x04)
12132                 {
12133                     "Disable", 
12134                     "ACOnly", 
12135                     "ACandBattery", 
12136                     "Enable"
12137                 }, 
12138 
12139                 Package (0x03)
12140                 {
12141                     "Disable", 
12142                     "Enable", 
12143                     "Disable"
12144                 }, 
12145 
12146                 Package (0x03)
12147                 {
12148                     "Disable", 
12149                     "Enable", 
12150                     "Automatic"
12151                 }, 
12152 
12153                 Package (0x02)
12154                 {
12155                     "Generation1", 
12156                     "Automatic"
12157                 }, 
12158 
12159                 Package (0x03)
12160                 {
12161                     "ThinkLightOnly", 
12162                     "BacklightOnly", 
12163                     "Both"
12164                 }, 
12165 
12166                 Package (0x02)
12167                 {
12168                     "IPv4First", 
12169                     "IPv6First"
12170                 }
12171             })
12172             Name (VLST, Package (0x0F)
12173             {
12174                 "HDD0", 
12175                 "HDD1", 
12176                 "HDD2", 
12177                 "HDD3", 
12178                 "HDD4", 
12179                 "PCILAN", 
12180                 "ATAPICD0", 
12181                 "ATAPICD1", 
12182                 "ATAPICD2", 
12183                 "USBFDD", 
12184                 "USBCD", 
12185                 "USBHDD", 
12186                 "OtherHDD", 
12187                 "OtherCD", 
12188                 "NODEV"
12189             })
12190             Name (PENC, Package (0x02)
12191             {
12192                 "ascii", 
12193                 "scancode"
12194             })
12195             Name (PKBD, Package (0x03)
12196             {
12197                 "us", 
12198                 "fr", 
12199                 "gr"
12200             })
12201             Name (PTYP, Package (0x08)
12202             {
12203                 "pap", 
12204                 "pop", 
12205                 "uhdp1", 
12206                 "mhdp1", 
12207                 "uhdp2", 
12208                 "mhdp2", 
12209                 "uhdp3", 
12210                 "mhdp3"
12211             })
12212             Mutex (MWMI, 0x07)
12213             Name (PCFG, Buffer (0x18) {})
12214             Name (IBUF, Buffer (0x0100) {})
12215             Name (ILEN, 0x00)
12216             Name (PSTR, Buffer (0x81) {})
12217             Method (WQA0, 1, NotSerialized)
12218             {
12219                 Acquire (MWMI, 0xFFFF)
12220                 If (LNotEqual (\WMIS (0x00, Arg0), 0x00))
12221                 {
12222                     Release (MWMI)
12223                     Return ("")
12224                 }
12225 
12226                 Store (DerefOf (Index (ITEM, \WITM)), Local0)
12227                 Store (DerefOf (Index (Local0, 0x00)), Local1)
12228                 Store (DerefOf (Index (Local0, 0x01)), Local2)
12229                 If (LLess (Local1, 0x64))
12230                 {
12231                     Concatenate (Local2, ",", Local6)
12232                     Store (DerefOf (Index (VSEL, Local1)), Local3)
12233                     Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
12234                 }
12235                 Else
12236                 {
12237                     Store (SizeOf (VLST), Local3)
12238                     If (LLessEqual (\WLS0, Local3))
12239                     {
12240                         Concatenate (Local2, ",", Local7)
12241                         Concatenate (Local7, DerefOf (Index (VLST, \WLS0)), Local2)
12242                     }
12243 
12244                     If (LLessEqual (\WLS1, Local3))
12245                     {
12246                         Concatenate (Local2, ":", Local7)
12247                         Concatenate (Local7, DerefOf (Index (VLST, \WLS1)), Local2)
12248                     }
12249 
12250                     If (LLessEqual (\WLS2, Local3))
12251                     {
12252                         Concatenate (Local2, ":", Local7)
12253                         Concatenate (Local7, DerefOf (Index (VLST, \WLS2)), Local2)
12254                     }
12255 
12256                     If (LLessEqual (\WLS3, Local3))
12257                     {
12258                         Concatenate (Local2, ":", Local7)
12259                         Concatenate (Local7, DerefOf (Index (VLST, \WLS3)), Local2)
12260                     }
12261 
12262                     If (LLessEqual (\WLS4, Local3))
12263                     {
12264                         Concatenate (Local2, ":", Local7)
12265                         Concatenate (Local7, DerefOf (Index (VLST, \WLS4)), Local2)
12266                     }
12267 
12268                     If (LLessEqual (\WLS5, Local3))
12269                     {
12270                         Concatenate (Local2, ":", Local7)
12271                         Concatenate (Local7, DerefOf (Index (VLST, \WLS5)), Local2)
12272                     }
12273 
12274                     If (LLessEqual (\WLS6, Local3))
12275                     {
12276                         Concatenate (Local2, ":", Local7)
12277                         Concatenate (Local7, DerefOf (Index (VLST, \WLS6)), Local2)
12278                     }
12279 
12280                     If (LLessEqual (\WLS7, Local3))
12281                     {
12282                         Concatenate (Local2, ":", Local7)
12283                         Concatenate (Local7, DerefOf (Index (VLST, \WLS7)), Local2)
12284                     }
12285 
12286                     If (LLessEqual (\WLS8, Local3))
12287                     {
12288                         Concatenate (Local2, ":", Local7)
12289                         Concatenate (Local7, DerefOf (Index (VLST, \WLS8)), Local2)
12290                     }
12291 
12292                     If (LLessEqual (\WLS9, Local3))
12293                     {
12294                         Concatenate (Local2, ":", Local7)
12295                         Concatenate (Local7, DerefOf (Index (VLST, \WLS9)), Local2)
12296                     }
12297 
12298                     If (LLessEqual (\WLSA, Local3))
12299                     {
12300                         Concatenate (Local2, ":", Local7)
12301                         Concatenate (Local7, DerefOf (Index (VLST, \WLSA)), Local2)
12302                     }
12303 
12304                     If (LLessEqual (\WLSB, Local3))
12305                     {
12306                         Concatenate (Local2, ":", Local7)
12307                         Concatenate (Local7, DerefOf (Index (VLST, \WLSB)), Local2)
12308                     }
12309 
12310                     If (LLessEqual (\WLSC, Local3))
12311                     {
12312                         Concatenate (Local2, ":", Local7)
12313                         Concatenate (Local7, DerefOf (Index (VLST, \WLSC)), Local2)
12314                     }
12315 
12316                     If (LLessEqual (\WLSD, Local3))
12317                     {
12318                         Concatenate (Local2, ":", Local7)
12319                         Concatenate (Local7, DerefOf (Index (VLST, \WLSD)), Local2)
12320                     }
12321 
12322                     Store (Local2, Local7)
12323                 }
12324 
12325                 Release (MWMI)
12326                 Return (Local7)
12327             }
12328 
12329             Method (WMA1, 3, NotSerialized)
12330             {
12331                 Acquire (MWMI, 0xFFFF)
12332                 If (LEqual (SizeOf (Arg2), 0x00))
12333                 {
12334                     Store (0x02, Local0)
12335                 }
12336                 Else
12337                 {
12338                     Store (CARG (Arg2), Local0)
12339                     If (LEqual (Local0, 0x00))
12340                     {
12341                         Store (WSET (ITEM, VSEL), Local0)
12342                         If (LEqual (Local0, 0x00))
12343                         {
12344                             Store (\WMIS (0x01, 0x00), Local0)
12345                         }
12346                     }
12347                 }
12348 
12349                 Release (MWMI)
12350                 Return (DerefOf (Index (RETN, Local0)))
12351             }
12352 
12353             Method (WMA2, 3, NotSerialized)
12354             {
12355                 Acquire (MWMI, 0xFFFF)
12356                 Store (CARG (Arg2), Local0)
12357                 If (LEqual (Local0, 0x00))
12358                 {
12359                     If (LNotEqual (ILEN, 0x00))
12360                     {
12361                         Store (CPAS (IBUF, 0x00), Local0)
12362                     }
12363 
12364                     If (LEqual (Local0, 0x00))
12365                     {
12366                         Store (\WMIS (0x02, 0x00), Local0)
12367                     }
12368                 }
12369 
12370                 Release (MWMI)
12371                 Return (DerefOf (Index (RETN, Local0)))
12372             }
12373 
12374             Method (WMA3, 3, NotSerialized)
12375             {
12376                 Acquire (MWMI, 0xFFFF)
12377                 Store (CARG (Arg2), Local0)
12378                 If (LEqual (Local0, 0x00))
12379                 {
12380                     If (LNotEqual (ILEN, 0x00))
12381                     {
12382                         Store (CPAS (IBUF, 0x00), Local0)
12383                     }
12384 
12385                     If (LEqual (Local0, 0x00))
12386                     {
12387                         Store (\WMIS (0x03, 0x00), Local0)
12388                     }
12389                 }
12390 
12391                 Release (MWMI)
12392                 Return (DerefOf (Index (RETN, Local0)))
12393             }
12394 
12395             Method (WMA4, 3, NotSerialized)
12396             {
12397                 Acquire (MWMI, 0xFFFF)
12398                 Store (CARG (Arg2), Local0)
12399                 If (LEqual (Local0, 0x00))
12400                 {
12401                     If (LNotEqual (ILEN, 0x00))
12402                     {
12403                         Store (CPAS (IBUF, 0x00), Local0)
12404                     }
12405 
12406                     If (LEqual (Local0, 0x00))
12407                     {
12408                         Store (\WMIS (0x04, 0x00), Local0)
12409                     }
12410                 }
12411 
12412                 Release (MWMI)
12413                 Return (DerefOf (Index (RETN, Local0)))
12414             }
12415 
12416             Method (WQA5, 1, NotSerialized)
12417             {
12418                 Acquire (MWMI, 0xFFFF)
12419                 Store (\WMIS (0x05, 0x00), Local0)
12420                 Store (\WSPM, Index (PCFG, 0x00))
12421                 Store (\WSPS, Index (PCFG, 0x04))
12422                 Store (\WSMN, Index (PCFG, 0x08))
12423                 Store (\WSMX, Index (PCFG, 0x0C))
12424                 Store (\WSEN, Index (PCFG, 0x10))
12425                 Store (\WSKB, Index (PCFG, 0x14))
12426                 Release (MWMI)
12427                 Return (PCFG)
12428             }
12429 
12430             Method (WMA6, 3, NotSerialized)
12431             {
12432                 Acquire (MWMI, 0xFFFF)
12433                 If (LEqual (SizeOf (Arg2), 0x00))
12434                 {
12435                     Store (0x02, Local0)
12436                 }
12437                 Else
12438                 {
12439                     Store (CARG (Arg2), Local0)
12440                     If (LEqual (Local0, 0x00))
12441                     {
12442                         If (LNotEqual (ILEN, 0x00))
12443                         {
12444                             Store (SPAS (IBUF), Local0)
12445                         }
12446 
12447                         If (LEqual (Local0, 0x00))
12448                         {
12449                             Store (\WMIS (0x06, 0x00), Local0)
12450                         }
12451                     }
12452                 }
12453 
12454                 Release (MWMI)
12455                 Return (DerefOf (Index (RETN, Local0)))
12456             }
12457 
12458             Method (WMA7, 3, NotSerialized)
12459             {
12460                 If (LEqual (SizeOf (Arg2), 0x00))
12461                 {
12462                     Return ("")
12463                 }
12464 
12465                 Store (CARG (Arg2), Local0)
12466                 If (LEqual (Local0, 0x00))
12467                 {
12468                     Store (GITM (IBUF, ITEM), Local1)
12469                     If (LEqual (Local1, Ones))
12470                     {
12471                         Return ("")
12472                     }
12473 
12474                     Store (DerefOf (Index (ITEM, Local1)), Local0)
12475                     Store (DerefOf (Index (Local0, 0x00)), Local1)
12476                     If (LLess (Local1, 0x64))
12477                     {
12478                         Store (DerefOf (Index (VSEL, Local1)), Local3)
12479                         Store (DerefOf (Index (Local3, 0x00)), Local2)
12480                         Store (SizeOf (Local3), Local4)
12481                         Store (0x01, Local5)
12482                         While (LLess (Local5, Local4))
12483                         {
12484                             Store (DerefOf (Index (Local3, Local5)), Local6)
12485                             If (LNotEqual (SizeOf (Local6), 0x00))
12486                             {
12487                                 Concatenate (Local2, ",", Local7)
12488                                 Concatenate (Local7, Local6, Local2)
12489                             }
12490 
12491                             Increment (Local5)
12492                         }
12493                     }
12494                     Else
12495                     {
12496                         Store (DerefOf (Index (VLST, 0x00)), Local2)
12497                         Store (SizeOf (VLST), Local4)
12498                         Store (0x01, Local5)
12499                         While (LLess (Local5, Local4))
12500                         {
12501                             Store (DerefOf (Index (VLST, Local5)), Local6)
12502                             Concatenate (Local2, ",", Local7)
12503                             Concatenate (Local7, Local6, Local2)
12504                             Increment (Local5)
12505                         }
12506                     }
12507                 }
12508 
12509                 Return (Local2)
12510             }
12511 
12512             Method (CARG, 1, NotSerialized)
12513             {
12514                 Store (SizeOf (Arg0), Local0)
12515                 If (LEqual (Local0, 0x00))
12516                 {
12517                     Store (0x00, IBUF)
12518                     Store (0x00, ILEN)
12519                     Return (0x00)
12520                 }
12521 
12522                 If (LNotEqual (ObjectType (Arg0), 0x02))
12523                 {
12524                     Return (0x02)
12525                 }
12526 
12527                 If (LGreaterEqual (Local0, 0xFF))
12528                 {
12529                     Return (0x02)
12530                 }
12531 
12532                 Store (Arg0, IBUF)
12533                 Decrement (Local0)
12534                 Store (DerefOf (Index (IBUF, Local0)), Local1)
12535                 If (LOr (LEqual (Local1, 0x3B), LEqual (Local1, 0x2A)))
12536                 {
12537                     Store (0x00, Index (IBUF, Local0))
12538                     Store (Local0, ILEN)
12539                 }
12540                 Else
12541                 {
12542                     Store (SizeOf (Arg0), ILEN)
12543                 }
12544 
12545                 Return (0x00)
12546             }
12547 
12548             Method (SCMP, 3, NotSerialized)
12549             {
12550                 Store (SizeOf (Arg0), Local0)
12551                 If (LEqual (Local0, 0x00))
12552                 {
12553                     Return (0x00)
12554                 }
12555 
12556                 Increment (Local0)
12557                 Name (STR1, Buffer (Local0) {})
12558                 Store (Arg0, STR1)
12559                 Decrement (Local0)
12560                 Store (0x00, Local1)
12561                 Store (Arg2, Local2)
12562                 While (LLess (Local1, Local0))
12563                 {
12564                     Store (DerefOf (Index (STR1, Local1)), Local3)
12565                     Store (DerefOf (Index (Arg1, Local2)), Local4)
12566                     If (LNotEqual (Local3, Local4))
12567                     {
12568                         Return (0x00)
12569                     }
12570 
12571                     Increment (Local1)
12572                     Increment (Local2)
12573                 }
12574 
12575                 Store (DerefOf (Index (Arg1, Local2)), Local4)
12576                 If (LEqual (Local4, 0x00))
12577                 {
12578                     Return (0x01)
12579                 }
12580 
12581                 If (LOr (LEqual (Local4, 0x2C), LEqual (Local4, 0x3A)))
12582                 {
12583                     Return (0x01)
12584                 }
12585 
12586                 Return (0x00)
12587             }
12588 
12589             Method (GITM, 2, NotSerialized)
12590             {
12591                 Store (0x00, Local0)
12592                 Store (SizeOf (Arg1), Local1)
12593                 While (LLess (Local0, Local1))
12594                 {
12595                     Store (DerefOf (Index (DerefOf (Index (Arg1, Local0)), 0x01)), 
12596                         Local3)
12597                     If (SCMP (Local3, Arg0, 0x00))
12598                     {
12599                         Return (Local0)
12600                     }
12601 
12602                     Increment (Local0)
12603                 }
12604 
12605                 Return (Ones)
12606             }
12607 
12608             Method (GSEL, 3, NotSerialized)
12609             {
12610                 Store (0x00, Local0)
12611                 Store (SizeOf (Arg0), Local1)
12612                 While (LLess (Local0, Local1))
12613                 {
12614                     Store (DerefOf (Index (Arg0, Local0)), Local2)
12615                     If (SCMP (Local2, Arg1, Arg2))
12616                     {
12617                         Return (Local0)
12618                     }
12619 
12620                     Increment (Local0)
12621                 }
12622 
12623                 Return (Ones)
12624             }
12625 
12626             Method (SLEN, 2, NotSerialized)
12627             {
12628                 Store (DerefOf (Index (Arg0, Arg1)), Local0)
12629                 Return (SizeOf (Local0))
12630             }
12631 
12632             Method (CLRP, 0, NotSerialized)
12633             {
12634                 Store (0x00, \WPAS)
12635                 Store (0x00, \WPNW)
12636             }
12637 
12638             Method (GPAS, 2, NotSerialized)
12639             {
12640                 Store (Arg1, Local0)
12641                 Store (0x00, Local1)
12642                 While (LLessEqual (Local1, 0x80))
12643                 {
12644                     Store (DerefOf (Index (Arg0, Local0)), Local2)
12645                     If (LOr (LEqual (Local2, 0x2C), LEqual (Local2, 0x00)))
12646                     {
12647                         Store (0x00, Index (PSTR, Local1))
12648                         Return (Local1)
12649                     }
12650 
12651                     Store (Local2, Index (PSTR, Local1))
12652                     Increment (Local0)
12653                     Increment (Local1)
12654                 }
12655 
12656                 Store (0x00, Index (PSTR, Local1))
12657                 Return (Ones)
12658             }
12659 
12660             Method (CPAS, 2, NotSerialized)
12661             {
12662                 CLRP ()
12663                 Store (Arg1, Local0)
12664                 Store (GPAS (Arg0, Local0), Local1)
12665                 If (LEqual (Local1, Ones))
12666                 {
12667                     Return (0x02)
12668                 }
12669 
12670                 If (LEqual (Local1, 0x00))
12671                 {
12672                     Return (0x02)
12673                 }
12674 
12675                 Store (PSTR, \WPAS)
12676                 Add (Local0, Local1, Local0)
12677                 Increment (Local0)
12678                 Store (GSEL (PENC, Arg0, Local0), Local6)
12679                 If (LEqual (Local6, Ones))
12680                 {
12681                     Return (0x02)
12682                 }
12683 
12684                 Store (Local6, \WENC)
12685                 If (LEqual (Local6, 0x00))
12686                 {
12687                     Add (Local0, SLEN (PENC, 0x00), Local0)
12688                     If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12689                     {
12690                         Return (0x02)
12691                     }
12692 
12693                     Increment (Local0)
12694                     Store (GSEL (PKBD, Arg0, Local0), Local6)
12695                     If (LEqual (Local6, Ones))
12696                     {
12697                         Return (0x02)
12698                     }
12699 
12700                     Store (Local6, \WKBD)
12701                 }
12702 
12703                 Return (0x00)
12704             }
12705 
12706             Method (SPAS, 1, NotSerialized)
12707             {
12708                 CLRP ()
12709                 Store (GSEL (PTYP, Arg0, 0x00), Local6)
12710                 If (LEqual (Local6, Ones))
12711                 {
12712                     Return (0x02)
12713                 }
12714 
12715                 Store (Local6, \WPTY)
12716                 Store (SLEN (PTYP, Local6), Local0)
12717                 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12718                 {
12719                     Return (0x02)
12720                 }
12721 
12722                 Increment (Local0)
12723                 Store (GPAS (Arg0, Local0), Local1)
12724                 If (LOr (LEqual (Local1, Ones), LEqual (Local1, 0x00)))
12725                 {
12726                     Return (0x02)
12727                 }
12728 
12729                 Store (PSTR, \WPAS)
12730                 Add (Local0, Local1, Local0)
12731                 If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12732                 {
12733                     Return (0x02)
12734                 }
12735 
12736                 Increment (Local0)
12737                 Store (GPAS (Arg0, Local0), Local1)
12738                 If (LEqual (Local1, Ones))
12739                 {
12740                     Return (0x02)
12741                 }
12742 
12743                 If (LEqual (Local1, 0x00))
12744                 {
12745                     Store (0x00, PSTR)
12746                 }
12747 
12748                 Store (PSTR, \WPNW)
12749                 Add (Local0, Local1, Local0)
12750                 Increment (Local0)
12751                 Store (GSEL (PENC, Arg0, Local0), Local6)
12752                 If (LEqual (Local6, Ones))
12753                 {
12754                     Return (0x02)
12755                 }
12756 
12757                 Store (Local6, \WENC)
12758                 If (LEqual (Local6, 0x00))
12759                 {
12760                     Add (Local0, SLEN (PENC, 0x00), Local0)
12761                     If (LNotEqual (DerefOf (Index (Arg0, Local0)), 0x2C))
12762                     {
12763                         Return (0x02)
12764                     }
12765 
12766                     Increment (Local0)
12767                     Store (GSEL (PKBD, Arg0, Local0), Local6)
12768                     If (LEqual (Local6, Ones))
12769                     {
12770                         Return (0x02)
12771                     }
12772 
12773                     Store (Local6, \WKBD)
12774                 }
12775 
12776                 Return (0x00)
12777             }
12778 
12779             Method (WSET, 2, NotSerialized)
12780             {
12781                 Store (ILEN, Local0)
12782                 Increment (Local0)
12783                 Store (GITM (IBUF, Arg0), Local1)
12784                 If (LEqual (Local1, Ones))
12785                 {
12786                     Return (0x02)
12787                 }
12788 
12789                 Store (Local1, \WITM)
12790                 Store (DerefOf (Index (Arg0, Local1)), Local3)
12791                 Store (DerefOf (Index (Local3, 0x01)), Local4)
12792                 Store (SizeOf (Local4), Local2)
12793                 Increment (Local2)
12794                 Store (DerefOf (Index (Local3, 0x00)), Local4)
12795                 If (LLess (Local4, 0x64))
12796                 {
12797                     Store (DerefOf (Index (Arg1, Local4)), Local5)
12798                     Store (GSEL (Local5, IBUF, Local2), Local6)
12799                     If (LEqual (Local6, Ones))
12800                     {
12801                         Return (0x02)
12802                     }
12803 
12804                     Store (Local6, \WSEL)
12805                     Add (Local2, SLEN (Local5, Local6), Local2)
12806                     Store (DerefOf (Index (IBUF, Local2)), Local4)
12807                 }
12808                 Else
12809                 {
12810                     Store (0x3F, \WLS0)
12811                     Store (0x3F, \WLS1)
12812                     Store (0x3F, \WLS2)
12813                     Store (0x3F, \WLS3)
12814                     Store (0x3F, \WLS4)
12815                     Store (0x3F, \WLS5)
12816                     Store (0x3F, \WLS6)
12817                     Store (0x3F, \WLS7)
12818                     Store (0x3F, \WLS8)
12819                     Store (0x3F, \WLS9)
12820                     Store (0x3F, \WLSA)
12821                     Store (0x3F, \WLSB)
12822                     Store (0x3F, \WLSC)
12823                     Store (0x3F, \WLSD)
12824                     Store (GSEL (VLST, IBUF, Local2), Local6)
12825                     If (LEqual (Local6, Ones))
12826                     {
12827                         Return (0x02)
12828                     }
12829 
12830                     Store (Local6, \WLS0)
12831                     Add (Local2, SLEN (VLST, Local6), Local2)
12832                     Store (DerefOf (Index (IBUF, Local2)), Local4)
12833                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12834                     {
12835                         Increment (Local2)
12836                         Store (GSEL (VLST, IBUF, Local2), Local6)
12837                         If (LEqual (Local6, Ones))
12838                         {
12839                             Return (0x02)
12840                         }
12841 
12842                         Store (Local6, \WLS1)
12843                         Add (Local2, SLEN (VLST, Local6), Local2)
12844                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12845                     }
12846 
12847                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12848                     {
12849                         Increment (Local2)
12850                         Store (GSEL (VLST, IBUF, Local2), Local6)
12851                         If (LEqual (Local6, Ones))
12852                         {
12853                             Return (0x02)
12854                         }
12855 
12856                         Store (Local6, \WLS2)
12857                         Add (Local2, SLEN (VLST, Local6), Local2)
12858                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12859                     }
12860 
12861                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12862                     {
12863                         Increment (Local2)
12864                         Store (GSEL (VLST, IBUF, Local2), Local6)
12865                         If (LEqual (Local6, Ones))
12866                         {
12867                             Return (0x02)
12868                         }
12869 
12870                         Store (Local6, \WLS3)
12871                         Add (Local2, SLEN (VLST, Local6), Local2)
12872                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12873                     }
12874 
12875                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12876                     {
12877                         Increment (Local2)
12878                         Store (GSEL (VLST, IBUF, Local2), Local6)
12879                         If (LEqual (Local6, Ones))
12880                         {
12881                             Return (0x02)
12882                         }
12883 
12884                         Store (Local6, \WLS4)
12885                         Add (Local2, SLEN (VLST, Local6), Local2)
12886                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12887                     }
12888 
12889                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12890                     {
12891                         Increment (Local2)
12892                         Store (GSEL (VLST, IBUF, Local2), Local6)
12893                         If (LEqual (Local6, Ones))
12894                         {
12895                             Return (0x02)
12896                         }
12897 
12898                         Store (Local6, \WLS5)
12899                         Add (Local2, SLEN (VLST, Local6), Local2)
12900                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12901                     }
12902 
12903                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12904                     {
12905                         Increment (Local2)
12906                         Store (GSEL (VLST, IBUF, Local2), Local6)
12907                         If (LEqual (Local6, Ones))
12908                         {
12909                             Return (0x02)
12910                         }
12911 
12912                         Store (Local6, \WLS6)
12913                         Add (Local2, SLEN (VLST, Local6), Local2)
12914                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12915                     }
12916 
12917                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12918                     {
12919                         Increment (Local2)
12920                         Store (GSEL (VLST, IBUF, Local2), Local6)
12921                         If (LEqual (Local6, Ones))
12922                         {
12923                             Return (0x02)
12924                         }
12925 
12926                         Store (Local6, \WLS7)
12927                         Add (Local2, SLEN (VLST, Local6), Local2)
12928                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12929                     }
12930 
12931                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12932                     {
12933                         Increment (Local2)
12934                         Store (GSEL (VLST, IBUF, Local2), Local6)
12935                         If (LEqual (Local6, Ones))
12936                         {
12937                             Return (0x02)
12938                         }
12939 
12940                         Store (Local6, \WLS8)
12941                         Add (Local2, SLEN (VLST, Local6), Local2)
12942                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12943                     }
12944 
12945                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12946                     {
12947                         Increment (Local2)
12948                         Store (GSEL (VLST, IBUF, Local2), Local6)
12949                         If (LEqual (Local6, Ones))
12950                         {
12951                             Return (0x02)
12952                         }
12953 
12954                         Store (Local6, \WLS9)
12955                         Add (Local2, SLEN (VLST, Local6), Local2)
12956                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12957                     }
12958 
12959                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12960                     {
12961                         Increment (Local2)
12962                         Store (GSEL (VLST, IBUF, Local2), Local6)
12963                         If (LEqual (Local6, Ones))
12964                         {
12965                             Return (0x02)
12966                         }
12967 
12968                         Store (Local6, \WLSA)
12969                         Add (Local2, SLEN (VLST, Local6), Local2)
12970                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12971                     }
12972 
12973                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12974                     {
12975                         Increment (Local2)
12976                         Store (GSEL (VLST, IBUF, Local2), Local6)
12977                         If (LEqual (Local6, Ones))
12978                         {
12979                             Return (0x02)
12980                         }
12981 
12982                         Store (Local6, \WLSB)
12983                         Add (Local2, SLEN (VLST, Local6), Local2)
12984                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12985                     }
12986 
12987                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
12988                     {
12989                         Increment (Local2)
12990                         Store (GSEL (VLST, IBUF, Local2), Local6)
12991                         If (LEqual (Local6, Ones))
12992                         {
12993                             Return (0x02)
12994                         }
12995 
12996                         Store (Local6, \WLSC)
12997                         Add (Local2, SLEN (VLST, Local6), Local2)
12998                         Store (DerefOf (Index (IBUF, Local2)), Local4)
12999                     }
13000 
13001                     If (LAnd (LLess (Local2, Local0), LEqual (Local4, 0x3A)))
13002                     {
13003                         Increment (Local2)
13004                         Store (GSEL (VLST, IBUF, Local2), Local6)
13005                         If (LEqual (Local6, Ones))
13006                         {
13007                             Return (0x02)
13008                         }
13009 
13010                         Store (Local6, \WLSD)
13011                         Add (Local2, SLEN (VLST, Local6), Local2)
13012                         Store (DerefOf (Index (IBUF, Local2)), Local4)
13013                     }
13014                 }
13015 
13016                 If (LAnd (LEqual (Local4, 0x2C), LLess (Local2, Local0)))
13017                 {
13018                     Increment (Local2)
13019                     Store (CPAS (IBUF, Local2), Local0)
13020                     If (LNotEqual (Local0, 0x00))
13021                     {
13022                         Return (Local0)
13023                     }
13024                 }
13025 
13026                 Return (0x00)
13027             }
13028 
13029             Name (WQBA, Buffer (0x089D)
13030             {
13031                 /* 0000 */   0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
13032                 /* 0008 */   0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00,
13033                 /* 0010 */   0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
13034                 /* 0018 */   0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42,
13035                 /* 0020 */   0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B,
13036                 /* 0028 */   0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41,
13037                 /* 0030 */   0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,
13038                 /* 0038 */   0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,
13039                 /* 0040 */   0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,
13040                 /* 0048 */   0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84,
13041                 /* 0050 */   0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,
13042                 /* 0058 */   0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7,
13043                 /* 0060 */   0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8,
13044                 /* 0068 */   0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30,
13045                 /* 0070 */   0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D,
13046                 /* 0078 */   0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18,
13047                 /* 0080 */   0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9,
13048                 /* 0088 */   0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94,
13049                 /* 0090 */   0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B,
13050                 /* 0098 */   0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E,
13051                 /* 00A0 */   0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00,
13052                 /* 00A8 */   0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E,
13053                 /* 00B0 */   0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D,
13054                 /* 00B8 */   0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A,
13055                 /* 00C0 */   0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91,
13056                 /* 00C8 */   0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86,
13057                 /* 00D0 */   0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68,
13058                 /* 00D8 */   0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1,
13059                 /* 00E0 */   0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28,
13060                 /* 00E8 */   0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C,
13061                 /* 00F0 */   0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04,
13062                 /* 00F8 */   0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C,
13063                 /* 0100 */   0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C,
13064                 /* 0108 */   0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56,
13065                 /* 0110 */   0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A,
13066                 /* 0118 */   0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02,
13067                 /* 0120 */   0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94,
13068                 /* 0128 */   0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A,
13069                 /* 0130 */   0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB,
13070                 /* 0138 */   0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40,
13071                 /* 0140 */   0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28,
13072                 /* 0148 */   0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE,
13073                 /* 0150 */   0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4,
13074                 /* 0158 */   0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50,
13075                 /* 0160 */   0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD,
13076                 /* 0168 */   0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4,
13077                 /* 0170 */   0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E,
13078                 /* 0178 */   0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E,
13079                 /* 0180 */   0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47,
13080                 /* 0188 */   0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA,
13081                 /* 0190 */   0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F,
13082                 /* 0198 */   0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8,
13083                 /* 01A0 */   0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE,
13084                 /* 01A8 */   0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3,
13085                 /* 01B0 */   0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60,
13086                 /* 01B8 */   0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9,
13087                 /* 01C0 */   0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74,
13088                 /* 01C8 */   0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2,
13089                 /* 01D0 */   0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97,
13090                 /* 01D8 */   0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B,
13091                 /* 01E0 */   0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39,
13092                 /* 01E8 */   0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0,
13093                 /* 01F0 */   0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C,
13094                 /* 01F8 */   0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05,
13095                 /* 0200 */   0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A,
13096                 /* 0208 */   0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0,
13097                 /* 0210 */   0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61,
13098                 /* 0218 */   0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B,
13099                 /* 0220 */   0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05,
13100                 /* 0228 */   0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17,
13101                 /* 0230 */   0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2,
13102                 /* 0238 */   0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B,
13103                 /* 0240 */   0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30,
13104                 /* 0248 */   0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20,
13105                 /* 0250 */   0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F,
13106                 /* 0258 */   0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C,
13107                 /* 0260 */   0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01,
13108                 /* 0268 */   0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE,
13109                 /* 0270 */   0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6,
13110                 /* 0278 */   0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C,
13111                 /* 0280 */   0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A,
13112                 /* 0288 */   0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99,
13113                 /* 0290 */   0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C,
13114                 /* 0298 */   0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04,
13115                 /* 02A0 */   0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E,
13116                 /* 02A8 */   0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF,
13117                 /* 02B0 */   0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C,
13118                 /* 02B8 */   0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01,
13119                 /* 02C0 */   0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4,
13120                 /* 02C8 */   0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA,
13121                 /* 02D0 */   0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E,
13122                 /* 02D8 */   0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87,
13123                 /* 02E0 */   0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C,
13124                 /* 02E8 */   0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07,
13125                 /* 02F0 */   0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C,
13126                 /* 02F8 */   0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63,
13127                 /* 0300 */   0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3,
13128                 /* 0308 */   0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E,
13129                 /* 0310 */   0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01,
13130                 /* 0318 */   0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E,
13131                 /* 0320 */   0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3,
13132                 /* 0328 */   0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15,
13133                 /* 0330 */   0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9,
13134                 /* 0338 */   0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6,
13135                 /* 0340 */   0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A,
13136                 /* 0348 */   0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7,
13137                 /* 0350 */   0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7,
13138                 /* 0358 */   0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31,
13139                 /* 0360 */   0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF,
13140                 /* 0368 */   0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24,
13141                 /* 0370 */   0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B,
13142                 /* 0378 */   0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64,
13143                 /* 0380 */   0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF,
13144                 /* 0388 */   0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99,
13145                 /* 0390 */   0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC,
13146                 /* 0398 */   0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF,
13147                 /* 03A0 */   0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0,
13148                 /* 03A8 */   0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40,
13149                 /* 03B0 */   0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF,
13150                 /* 03B8 */   0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B,
13151                 /* 03C0 */   0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2,
13152                 /* 03C8 */   0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E,
13153                 /* 03D0 */   0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF,
13154                 /* 03D8 */   0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30,
13155                 /* 03E0 */   0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B,
13156                 /* 03E8 */   0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD,
13157                 /* 03F0 */   0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7,
13158                 /* 03F8 */   0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70,
13159                 /* 0400 */   0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B,
13160                 /* 0408 */   0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34,
13161                 /* 0410 */   0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37,
13162                 /* 0418 */   0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8,
13163                 /* 0420 */   0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C,
13164                 /* 0428 */   0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07,
13165                 /* 0430 */   0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF,
13166                 /* 0438 */   0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B,
13167                 /* 0440 */   0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B,
13168                 /* 0448 */   0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72,
13169                 /* 0450 */   0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A,
13170                 /* 0458 */   0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94,
13171                 /* 0460 */   0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF,
13172                 /* 0468 */   0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C,
13173                 /* 0470 */   0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9,
13174                 /* 0478 */   0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93,
13175                 /* 0480 */   0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2,
13176                 /* 0488 */   0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD,
13177                 /* 0490 */   0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58,
13178                 /* 0498 */   0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0,
13179                 /* 04A0 */   0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C,
13180                 /* 04A8 */   0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26,
13181                 /* 04B0 */   0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F,
13182                 /* 04B8 */   0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8,
13183                 /* 04C0 */   0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE,
13184                 /* 04C8 */   0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0,
13185                 /* 04D0 */   0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96,
13186                 /* 04D8 */   0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A,
13187                 /* 04E0 */   0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E,
13188                 /* 04E8 */   0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7,
13189                 /* 04F0 */   0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43,
13190                 /* 04F8 */   0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD,
13191                 /* 0500 */   0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC,
13192                 /* 0508 */   0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A,
13193                 /* 0510 */   0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0,
13194                 /* 0518 */   0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1,
13195                 /* 0520 */   0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64,
13196                 /* 0528 */   0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65,
13197                 /* 0530 */   0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3,
13198                 /* 0538 */   0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE,
13199                 /* 0540 */   0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D,
13200                 /* 0548 */   0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C,
13201                 /* 0550 */   0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1,
13202                 /* 0558 */   0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F,
13203                 /* 0560 */   0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65,
13204                 /* 0568 */   0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F,
13205                 /* 0570 */   0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7,
13206                 /* 0578 */   0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C,
13207                 /* 0580 */   0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0,
13208                 /* 0588 */   0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16,
13209                 /* 0590 */   0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4,
13210                 /* 0598 */   0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89,
13211                 /* 05A0 */   0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1,
13212                 /* 05A8 */   0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4,
13213                 /* 05B0 */   0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF,
13214                 /* 05B8 */   0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13,
13215                 /* 05C0 */   0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77,
13216                 /* 05C8 */   0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB,
13217                 /* 05D0 */   0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70,
13218                 /* 05D8 */   0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC,
13219                 /* 05E0 */   0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0,
13220                 /* 05E8 */   0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34,
13221                 /* 05F0 */   0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34,
13222                 /* 05F8 */   0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B,
13223                 /* 0600 */   0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04,
13224                 /* 0608 */   0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D,
13225                 /* 0610 */   0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E,
13226                 /* 0618 */   0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27,
13227                 /* 0620 */   0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A,
13228                 /* 0628 */   0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E,
13229                 /* 0630 */   0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42,
13230                 /* 0638 */   0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA,
13231                 /* 0640 */   0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E,
13232                 /* 0648 */   0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C,
13233                 /* 0650 */   0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00,
13234                 /* 0658 */   0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80,
13235                 /* 0660 */   0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D,
13236                 /* 0668 */   0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0,
13237                 /* 0670 */   0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E,
13238                 /* 0678 */   0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2,
13239                 /* 0680 */   0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36,
13240                 /* 0688 */   0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9,
13241                 /* 0690 */   0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0,
13242                 /* 0698 */   0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83,
13243                 /* 06A0 */   0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F,
13244                 /* 06A8 */   0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29,
13245                 /* 06B0 */   0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44,
13246                 /* 06B8 */   0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1,
13247                 /* 06C0 */   0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF,
13248                 /* 06C8 */   0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8,
13249                 /* 06D0 */   0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF,
13250                 /* 06D8 */   0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF,
13251                 /* 06E0 */   0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4,
13252                 /* 06E8 */   0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A,
13253                 /* 06F0 */   0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08,
13254                 /* 06F8 */   0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28,
13255                 /* 0700 */   0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6,
13256                 /* 0708 */   0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F,
13257                 /* 0710 */   0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0,
13258                 /* 0718 */   0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B,
13259                 /* 0720 */   0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31,
13260                 /* 0728 */   0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4,
13261                 /* 0730 */   0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88,
13262                 /* 0738 */   0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57,
13263                 /* 0740 */   0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77,
13264                 /* 0748 */   0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8,
13265                 /* 0750 */   0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38,
13266                 /* 0758 */   0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D,
13267                 /* 0760 */   0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE,
13268                 /* 0768 */   0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42,
13269                 /* 0770 */   0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6,
13270                 /* 0778 */   0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14,
13271                 /* 0780 */   0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4,
13272                 /* 0788 */   0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79,
13273                 /* 0790 */   0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86,
13274                 /* 0798 */   0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F,
13275                 /* 07A0 */   0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D,
13276                 /* 07A8 */   0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A,
13277                 /* 07B0 */   0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63,
13278                 /* 07B8 */   0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B,
13279                 /* 07C0 */   0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B,
13280                 /* 07C8 */   0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0,
13281                 /* 07D0 */   0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71,
13282                 /* 07D8 */   0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63,
13283                 /* 07E0 */   0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58,
13284                 /* 07E8 */   0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB,
13285                 /* 07F0 */   0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B,
13286                 /* 07F8 */   0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46,
13287                 /* 0800 */   0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74,
13288                 /* 0808 */   0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20,
13289                 /* 0810 */   0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40,
13290                 /* 0818 */   0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80,
13291                 /* 0820 */   0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32,
13292                 /* 0828 */   0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1,
13293                 /* 0830 */   0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C,
13294                 /* 0838 */   0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7,
13295                 /* 0840 */   0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52,
13296                 /* 0848 */   0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44,
13297                 /* 0850 */   0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08,
13298                 /* 0858 */   0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4,
13299                 /* 0860 */   0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4,
13300                 /* 0868 */   0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C,
13301                 /* 0870 */   0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44,
13302                 /* 0878 */   0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02,
13303                 /* 0880 */   0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58,
13304                 /* 0888 */   0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14,
13305                 /* 0890 */   0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75,
13306                 /* 0898 */   0x82, 0x08, 0xC8, 0xFF, 0x7F
13307             })
13308         }
13309 
13310         Device (WMI2)
13311         {
13312             Name (_HID, EisaId ("PNP0C14"))  // _HID: Hardware ID
13313             Name (_UID, 0x02)  // _UID: Unique ID
13314             Name (_WDG, Buffer (0x64)
13315             {
13316                 /* 0000 */   0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E,
13317                 /* 0008 */   0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA,
13318                 /* 0010 */   0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2,
13319                 /* 0018 */   0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52,
13320                 /* 0020 */   0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02,
13321                 /* 0028 */   0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45,
13322                 /* 0030 */   0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF,
13323                 /* 0038 */   0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F,
13324                 /* 0040 */   0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79,
13325                 /* 0048 */   0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06,
13326                 /* 0050 */   0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
13327                 /* 0058 */   0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
13328                 /* 0060 */   0x42, 0x42, 0x01, 0x00
13329             })
13330             Name (PREL, Buffer (0x08)
13331             {
13332                  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
13333             })
13334             Method (WQA7, 1, NotSerialized)
13335             {
13336                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13337                 \WMIS (0x07, 0x00)
13338                 Store (\WLS0, Index (PREL, 0x00))
13339                 Store (\WLS1, Index (PREL, 0x01))
13340                 Store (\WLS2, Index (PREL, 0x02))
13341                 Store (\WLS3, Index (PREL, 0x03))
13342                 Store (\WLS4, Index (PREL, 0x04))
13343                 Store (\WLS5, Index (PREL, 0x05))
13344                 Store (\WLS6, Index (PREL, 0x06))
13345                 Store (\WLS7, Index (PREL, 0x07))
13346                 Release (\_SB.WMI1.MWMI)
13347                 Return (PREL)
13348             }
13349 
13350             Method (WMA8, 3, NotSerialized)
13351             {
13352                 CreateByteField (Arg2, 0x00, PRE0)
13353                 CreateByteField (Arg2, 0x01, PRE1)
13354                 CreateByteField (Arg2, 0x02, PRE2)
13355                 CreateByteField (Arg2, 0x03, PRE3)
13356                 CreateByteField (Arg2, 0x04, PRE4)
13357                 CreateByteField (Arg2, 0x05, PRE5)
13358                 CreateByteField (Arg2, 0x06, PRE6)
13359                 CreateByteField (Arg2, 0x07, PRE7)
13360                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13361                 Store (PRE0, \WLS0)
13362                 Store (PRE1, \WLS1)
13363                 Store (PRE2, \WLS2)
13364                 Store (PRE3, \WLS3)
13365                 Store (PRE4, \WLS4)
13366                 Store (PRE5, \WLS5)
13367                 Store (PRE6, \WLS6)
13368                 Store (PRE7, \WLS7)
13369                 \WMIS (0x08, 0x00)
13370                 Release (\_SB.WMI1.MWMI)
13371             }
13372 
13373             Name (ITEM, Package (0x05)
13374             {
13375                 Package (0x02)
13376                 {
13377                     0x00, 
13378                     "InhibitEnteringThinkPadSetup"
13379                 }, 
13380 
13381                 Package (0x02)
13382                 {
13383                     0x00, 
13384                     "MTMSerialConcatenation"
13385                 }, 
13386 
13387                 Package (0x02)
13388                 {
13389                     0x00, 
13390                     "SwapProductName"
13391                 }, 
13392 
13393                 Package (0x02)
13394                 {
13395                     0x00, 
13396                     "ComputraceMsgDisable"
13397                 }, 
13398 
13399                 Package (0x02)
13400                 {
13401                     0x00, 
13402                     "AtpMsgDisable"
13403                 }
13404             })
13405             Name (VSEL, Package (0x02)
13406             {
13407                 Package (0x02)
13408                 {
13409                     "Disable", 
13410                     "Enable"
13411                 }, 
13412 
13413                 Package (0x02)
13414                 {
13415                     "Off", 
13416                     "On"
13417                 }
13418             })
13419             Method (WQA9, 1, NotSerialized)
13420             {
13421                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13422                 If (LNotEqual (\WMIS (0x09, Arg0), 0x00))
13423                 {
13424                     Release (\_SB.WMI1.MWMI)
13425                     Return ("")
13426                 }
13427 
13428                 Store (DerefOf (Index (ITEM, \WITM)), Local0)
13429                 Store (DerefOf (Index (Local0, 0x00)), Local1)
13430                 Store (DerefOf (Index (Local0, 0x01)), Local2)
13431                 Concatenate (Local2, ",", Local6)
13432                 Store (DerefOf (Index (VSEL, Local1)), Local3)
13433                 Concatenate (Local6, DerefOf (Index (Local3, \WSEL)), Local7)
13434                 Release (\_SB.WMI1.MWMI)
13435                 Return (Local7)
13436             }
13437 
13438             Method (WMAA, 3, NotSerialized)
13439             {
13440                 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13441                 If (LEqual (SizeOf (Arg2), 0x00))
13442                 {
13443                     Store (0x02, Local0)
13444                 }
13445                 Else
13446                 {
13447                     Store (\_SB.WMI1.CARG (Arg2), Local0)
13448                     If (LEqual (Local0, 0x00))
13449                     {
13450                         Store (\_SB.WMI1.WSET (ITEM, VSEL), Local0)
13451                         If (LEqual (Local0, 0x00))
13452                         {
13453                             Store (\WMIS (0x0A, 0x00), Local0)
13454                         }
13455                     }
13456                 }
13457 
13458                 Release (\_SB.WMI1.MWMI)
13459                 Return (DerefOf (Index (\_SB.WMI1.RETN, Local0)))
13460             }
13461 
13462             Name (WQBB, Buffer (0x0538)
13463             {
13464                 /* 0000 */   0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
13465                 /* 0008 */   0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00,
13466                 /* 0010 */   0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
13467                 /* 0018 */   0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42,
13468                 /* 0020 */   0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B,
13469                 /* 0028 */   0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41,
13470                 /* 0030 */   0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02,
13471                 /* 0038 */   0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5,
13472                 /* 0040 */   0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F,
13473                 /* 0048 */   0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84,
13474                 /* 0050 */   0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F,
13475                 /* 0058 */   0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0,
13476                 /* 0060 */   0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00,
13477                 /* 0068 */   0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4,
13478                 /* 0070 */   0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80,
13479                 /* 0078 */   0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48,
13480                 /* 0080 */   0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04,
13481                 /* 0088 */   0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07,
13482                 /* 0090 */   0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83,
13483                 /* 0098 */   0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20,
13484                 /* 00A0 */   0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C,
13485                 /* 00A8 */   0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D,
13486                 /* 00B0 */   0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63,
13487                 /* 00B8 */   0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0,
13488                 /* 00C0 */   0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3,
13489                 /* 00C8 */   0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B,
13490                 /* 00D0 */   0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6,
13491                 /* 00D8 */   0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09,
13492                 /* 00E0 */   0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90,
13493                 /* 00E8 */   0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C,
13494                 /* 00F0 */   0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C,
13495                 /* 00F8 */   0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D,
13496                 /* 0100 */   0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3,
13497                 /* 0108 */   0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C,
13498                 /* 0110 */   0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04,
13499                 /* 0118 */   0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF,
13500                 /* 0120 */   0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23,
13501                 /* 0128 */   0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26,
13502                 /* 0130 */   0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48,
13503                 /* 0138 */   0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09,
13504                 /* 0140 */   0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE,
13505                 /* 0148 */   0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44,
13506                 /* 0150 */   0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15,
13507                 /* 0158 */   0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31,
13508                 /* 0160 */   0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3,
13509                 /* 0168 */   0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3,
13510                 /* 0170 */   0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7,
13511                 /* 0178 */   0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23,
13512                 /* 0180 */   0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51,
13513                 /* 0188 */   0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6,
13514                 /* 0190 */   0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86,
13515                 /* 0198 */   0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08,
13516                 /* 01A0 */   0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83,
13517                 /* 01A8 */   0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A,
13518                 /* 01B0 */   0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1,
13519                 /* 01B8 */   0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA,
13520                 /* 01C0 */   0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0,
13521                 /* 01C8 */   0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE,
13522                 /* 01D0 */   0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE,
13523                 /* 01D8 */   0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F,
13524                 /* 01E0 */   0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69,
13525                 /* 01E8 */   0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90,
13526                 /* 01F0 */   0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85,
13527                 /* 01F8 */   0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08,
13528                 /* 0200 */   0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09,
13529                 /* 0208 */   0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04,
13530                 /* 0210 */   0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7,
13531                 /* 0218 */   0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13,
13532                 /* 0220 */   0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E,
13533                 /* 0228 */   0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F,
13534                 /* 0230 */   0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1,
13535                 /* 0238 */   0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA,
13536                 /* 0240 */   0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0,
13537                 /* 0248 */   0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC,
13538                 /* 0250 */   0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80,
13539                 /* 0258 */   0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50,
13540                 /* 0260 */   0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC,
13541                 /* 0268 */   0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7,
13542                 /* 0270 */   0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60,
13543                 /* 0278 */   0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D,
13544                 /* 0280 */   0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52,
13545                 /* 0288 */   0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07,
13546                 /* 0290 */   0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23,
13547                 /* 0298 */   0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14,
13548                 /* 02A0 */   0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E,
13549                 /* 02A8 */   0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81,
13550                 /* 02B0 */   0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06,
13551                 /* 02B8 */   0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73,
13552                 /* 02C0 */   0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91,
13553                 /* 02C8 */   0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22,
13554                 /* 02D0 */   0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A,
13555                 /* 02D8 */   0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88,
13556                 /* 02E0 */   0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86,
13557                 /* 02E8 */   0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0,
13558                 /* 02F0 */   0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4,
13559                 /* 02F8 */   0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44,
13560                 /* 0300 */   0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE,
13561                 /* 0308 */   0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70,
13562                 /* 0310 */   0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03,
13563                 /* 0318 */   0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09,
13564                 /* 0320 */   0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8,
13565                 /* 0328 */   0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7,
13566                 /* 0330 */   0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF,
13567                 /* 0338 */   0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72,
13568                 /* 0340 */   0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17,
13569                 /* 0348 */   0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15,
13570                 /* 0350 */   0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A,
13571                 /* 0358 */   0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0,
13572                 /* 0360 */   0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67,
13573                 /* 0368 */   0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30,
13574                 /* 0370 */   0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A,
13575                 /* 0378 */   0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22,
13576                 /* 0380 */   0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55,
13577                 /* 0388 */   0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9,
13578                 /* 0390 */   0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02,
13579                 /* 0398 */   0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03,
13580                 /* 03A0 */   0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12,
13581                 /* 03A8 */   0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83,
13582                 /* 03B0 */   0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C,
13583                 /* 03B8 */   0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07,
13584                 /* 03C0 */   0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81,
13585                 /* 03C8 */   0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0,
13586                 /* 03D0 */   0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0,
13587                 /* 03D8 */   0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0,
13588                 /* 03E0 */   0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0,
13589                 /* 03E8 */   0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29,
13590                 /* 03F0 */   0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF,
13591                 /* 03F8 */   0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33,
13592                 /* 0400 */   0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21,
13593                 /* 0408 */   0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF,
13594                 /* 0410 */   0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27,
13595                 /* 0418 */   0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24,
13596                 /* 0420 */   0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78,
13597                 /* 0428 */   0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75,
13598                 /* 0430 */   0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02,
13599                 /* 0438 */   0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29,
13600                 /* 0440 */   0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15,
13601                 /* 0448 */   0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44,
13602                 /* 0450 */   0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43,
13603                 /* 0458 */   0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06,
13604                 /* 0460 */   0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03,
13605                 /* 0468 */   0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54,
13606                 /* 0470 */   0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E,
13607                 /* 0478 */   0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28,
13608                 /* 0480 */   0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69,
13609                 /* 0488 */   0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF,
13610                 /* 0490 */   0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79,
13611                 /* 0498 */   0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78,
13612                 /* 04A0 */   0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB,
13613                 /* 04A8 */   0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37,
13614                 /* 04B0 */   0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE,
13615                 /* 04B8 */   0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB,
13616                 /* 04C0 */   0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B,
13617                 /* 04C8 */   0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F,
13618                 /* 04D0 */   0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9,
13619                 /* 04D8 */   0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,
13620                 /* 04E0 */   0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4,
13621                 /* 04E8 */   0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B,
13622                 /* 04F0 */   0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02,
13623                 /* 04F8 */   0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10,
13624                 /* 0500 */   0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20,
13625                 /* 0508 */   0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49,
13626                 /* 0510 */   0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25,
13627                 /* 0518 */   0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A,
13628                 /* 0520 */   0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5,
13629                 /* 0528 */   0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D,
13630                 /* 0530 */   0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07
13631             })
13632         }
13633 
13634         Scope (\_SB.PCI0.LPC.EC.HKEY)
13635         {
13636             Mutex (BFWM, 0x07)
13637             Method (MHCF, 1, NotSerialized)
13638             {
13639                 Store (\BFWC (Arg0), Local0)
13640                 Return (Local0)
13641             }
13642 
13643             Method (MHPF, 1, NotSerialized)
13644             {
13645                 Name (RETB, Buffer (0x25) {})
13646                 Acquire (BFWM, 0xFFFF)
13647                 If (LLessEqual (SizeOf (Arg0), 0x25))
13648                 {
13649                     Store (Arg0, \BFWB)
13650                     If (\BFWP ())
13651                     {
13652                         \_SB.PCI0.LPC.EC.CHKS ()
13653                         \BFWL ()
13654                     }
13655 
13656                     Store (\BFWB, RETB)
13657                 }
13658 
13659                 Release (BFWM)
13660                 Return (RETB)
13661             }
13662 
13663             Method (MHIF, 1, NotSerialized)
13664             {
13665                 Name (RETB, Buffer (0x0A) {})
13666                 Acquire (BFWM, 0xFFFF)
13667                 \BFWG (Arg0)
13668                 Store (\BFWB, RETB)
13669                 Release (BFWM)
13670                 Return (RETB)
13671             }
13672 
13673             Method (MHDM, 1, NotSerialized)
13674             {
13675                 \BDMC (Arg0)
13676             }
13677         }
13678 
13679         Scope (\_SB.PCI0.LPC.EC.HKEY)
13680         {
13681             Method (PSSG, 1, NotSerialized)
13682             {
13683                 Return (\PSIF (0x00, 0x00))
13684             }
13685 
13686             Method (PSSS, 1, NotSerialized)
13687             {
13688                 Return (\PSIF (0x01, Arg0))
13689             }
13690 
13691             Method (PSBS, 1, NotSerialized)
13692             {
13693                 Return (\PSIF (0x02, Arg0))
13694             }
13695 
13696             Method (BICG, 1, NotSerialized)
13697             {
13698                 Return (\PSIF (0x03, Arg0))
13699             }
13700 
13701             Method (BICS, 1, NotSerialized)
13702             {
13703                 Return (\PSIF (0x04, Arg0))
13704             }
13705 
13706             Method (BCTG, 1, NotSerialized)
13707             {
13708                 Return (\PSIF (0x05, Arg0))
13709             }
13710 
13711             Method (BCCS, 1, NotSerialized)
13712             {
13713                 Return (\PSIF (0x06, Arg0))
13714             }
13715 
13716             Method (BCSG, 1, NotSerialized)
13717             {
13718                 Return (\PSIF (0x07, Arg0))
13719             }
13720 
13721             Method (BCSS, 1, NotSerialized)
13722             {
13723                 Return (\PSIF (0x08, Arg0))
13724             }
13725 
13726             Method (BDSG, 1, NotSerialized)
13727             {
13728                 Return (\PSIF (0x09, Arg0))
13729             }
13730 
13731             Method (BDSS, 1, NotSerialized)
13732             {
13733                 Return (\PSIF (0x0A, Arg0))
13734             }
13735         }
13736 
13737         Scope (\_SB.PCI0.LPC.EC.HKEY)
13738         {
13739             Method (GILN, 0, NotSerialized)
13740             {
13741                 Return (Or (0x02, \ILNF))
13742             }
13743 
13744             Method (SILN, 1, NotSerialized)
13745             {
13746                 If (LEqual (0x01, Arg0))
13747                 {
13748                     Store (0x01, \ILNF)
13749                     Store (0x00, BBLS)
13750                     Return (0x00)
13751                 }
13752                 Else
13753                 {
13754                     If (LEqual (0x02, Arg0))
13755                     {
13756                         Store (0x00, \ILNF)
13757                         Store (0x01, BBLS)
13758                         Return (0x00)
13759                     }
13760                     Else
13761                     {
13762                         Return (0x01)
13763                     }
13764                 }
13765             }
13766 
13767             Method (GLSI, 0, NotSerialized)
13768             {
13769                 If (\H8DR)
13770                 {
13771                     Return (Add (0x02, \_SB.PCI0.LPC.EC.HPLD))
13772                 }
13773                 Else
13774                 {
13775                     If (And (\RBEC (0x46), 0x04))
13776                     {
13777                         Return (0x03)
13778                     }
13779                     Else
13780                     {
13781                         Return (0x02)
13782                     }
13783                 }
13784             }
13785         }
13786 
13787         Scope (\_SB.PCI0.LPC.EC.HKEY)
13788         {
13789             Method (GDLN, 0, NotSerialized)
13790             {
13791                 Return (Or (0x02, \PLUX))
13792             }
13793 
13794             Method (SDLN, 1, NotSerialized)
13795             {
13796                 If (LEqual (0x01, Arg0))
13797                 {
13798                     Store (0x01, \PLUX)
13799                     Return (0x00)
13800                 }
13801                 Else
13802                 {
13803                     If (LEqual (0x02, Arg0))
13804                     {
13805                         Store (0x00, \PLUX)
13806                         Return (0x00)
13807                     }
13808                     Else
13809                     {
13810                         Return (0x01)
13811                     }
13812                 }
13813             }
13814         }
13815 
13816         Name (\VHCC, 0x00)
13817         Scope (\_SB.PCI0.PEG.VID)
13818         {
13819             Method (ISOP, 0, NotSerialized)
13820             {
13821                 Return (LAnd (VDSP, LAnd (VIGD, VDSC)))
13822             }
13823         }
13824 
13825         Scope (\_SB.PCI0)
13826         {
13827             Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
13828         }
13829 
13830         Scope (\_SB.PCI0.PEG.VID)
13831         {
13832             Method (GOBT, 1, NotSerialized)
13833             {
13834                 Name (OPVK, Buffer (0xE6)
13835                 {
13836                     /* 0000 */   0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2,
13837                     /* 0008 */   0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00,
13838                     /* 0010 */   0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35,
13839                     /* 0018 */   0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75,
13840                     /* 0020 */   0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44,
13841                     /* 0028 */   0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,
13842                     /* 0030 */   0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74,
13843                     /* 0038 */   0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61,
13844                     /* 0040 */   0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65,
13845                     /* 0048 */   0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66,
13846                     /* 0050 */   0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32,
13847                     /* 0058 */   0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32,
13848                     /* 0060 */   0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20,
13849                     /* 0068 */   0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27,
13850                     /* 0070 */   0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42,
13851                     /* 0078 */   0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22,
13852                     /* 0080 */   0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F,
13853                     /* 0088 */   0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48,
13854                     /* 0090 */   0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50,
13855                     /* 0098 */   0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D,
13856                     /* 00A0 */   0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67,
13857                     /* 00A8 */   0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20,
13858                     /* 00B0 */   0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43,
13859                     /* 00B8 */   0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69,
13860                     /* 00C0 */   0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52,
13861                     /* 00C8 */   0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65,
13862                     /* 00D0 */   0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31,
13863                     /* 00D8 */   0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36,
13864                     /* 00E0 */   0x39, 0x38, 0x35, 0x28, 0x52, 0x29
13865                 })
13866                 CreateWordField (Arg0, 0x02, USRG)
13867                 If (LEqual (USRG, 0x564B))
13868                 {
13869                     Return (OPVK)
13870                 }
13871 
13872                 Return (Zero)
13873             }
13874         }
13875 
13876         Scope (\_SB.PCI0.PEG.VID)
13877         {
13878             Name (OMPR, 0x02)
13879             Name (HDAS, 0x00)
13880             Method (NVOP, 4, NotSerialized)
13881             {
13882                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
13883                 Store ("------- NV OPTIMUS DSM --------", Debug)
13884                 If (LNotEqual (Arg1, 0x0100))
13885                 {
13886                     Return (0x80000001)
13887                 }
13888 
13889                 Store (ToInteger (Arg2), _T_0)
13890                 If (LEqual (_T_0, 0x00))
13891                 {
13892                     Store (Buffer (0x04)
13893                         {
13894                              0x00, 0x00, 0x00, 0x00
13895                         }, Local0)
13896                     Divide (0x00, 0x08, Local2, Local1)
13897                     ShiftLeft (0x01, Local2, Local2)
13898                     Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13899                         ))
13900                     Divide (0x1A, 0x08, Local2, Local1)
13901                     ShiftLeft (0x01, Local2, Local2)
13902                     Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13903                         ))
13904                     Divide (0x1B, 0x08, Local2, Local1)
13905                     ShiftLeft (0x01, Local2, Local2)
13906                     Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13907                         ))
13908                     Divide (0x10, 0x08, Local2, Local1)
13909                     ShiftLeft (0x01, Local2, Local2)
13910                     Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
13911                         ))
13912                     Return (Local0)
13913                 }
13914                 Else
13915                 {
13916                     If (LEqual (_T_0, 0x1A))
13917                     {
13918                         CreateField (Arg3, 0x18, 0x02, OPCE)
13919                         CreateField (Arg3, 0x00, 0x01, FLCH)
13920                         If (ToInteger (FLCH))
13921                         {
13922                             Store (OPCE, OMPR)
13923                         }
13924 
13925                         Store (Buffer (0x04)
13926                             {
13927                                  0x00, 0x00, 0x00, 0x00
13928                             }, Local0)
13929                         CreateField (Local0, 0x00, 0x01, OPEN)
13930                         CreateField (Local0, 0x03, 0x02, CGCS)
13931                         CreateField (Local0, 0x06, 0x01, SHPC)
13932                         CreateField (Local0, 0x18, 0x03, DGPC)
13933                         CreateField (Local0, 0x1B, 0x02, HDAC)
13934                         Store (One, OPEN)
13935                         Store (One, SHPC)
13936                         Store (One, DGPC)
13937                         If (\_SB.PCI0.PEG.VID._STA ())
13938                         {
13939                             Store (0x03, CGCS)
13940                         }
13941 
13942                         Store (0x02, HDAC)
13943                         Return (Local0)
13944                     }
13945                     Else
13946                     {
13947                         If (LEqual (_T_0, 0x1B))
13948                         {
13949                             CreateField (Arg3, 0x00, 0x01, HDAU)
13950                             CreateField (Arg3, 0x01, 0x01, HDAR)
13951                             Store (Buffer (0x04)
13952                                 {
13953                                      0x00, 0x00, 0x00, 0x00
13954                                 }, Local0)
13955                             CreateField (Local0, 0x02, 0x02, RQGS)
13956                             CreateField (Local0, 0x04, 0x01, PWST)
13957                             Store (One, PWST)
13958                             If (LAnd (\_SB.PCI0.LPC.EC.DOCD, \_SB.PCI0.LPC.EC.AC._PSR ()))
13959                             {
13960                                 Store (One, RQGS)
13961                             }
13962                             Else
13963                             {
13964                                 Store (Zero, RQGS)
13965                             }
13966 
13967                             If (ToInteger (HDAR))
13968                             {
13969                                 Store (ToInteger (HDAU), HDAS)
13970                             }
13971 
13972                             Return (Local0)
13973                         }
13974                         Else
13975                         {
13976                             If (LEqual (_T_0, 0x10))
13977                             {
13978                                 Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
13979                             }
13980                         }
13981                     }
13982                 }
13983 
13984                 Return (0x80000002)
13985             }
13986         }
13987 
13988         Scope (\)
13989         {
13990             Method (CMPB, 2, NotSerialized)
13991             {
13992                 Store (SizeOf (Arg0), Local1)
13993                 If (LNotEqual (Local1, SizeOf (Arg1)))
13994                 {
13995                     Return (0x00)
13996                 }
13997 
13998                 Store (0x00, Local0)
13999                 While (LLess (Local0, Local1))
14000                 {
14001                     If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
14002                         Arg1, Local0))))
14003                     {
14004                         Return (0x00)
14005                     }
14006 
14007                     Increment (Local0)
14008                 }
14009 
14010                 Return (0x01)
14011             }
14012         }
14013 
14014         Scope (\_SB.PCI0.PEG.VID)
14015         {
14016             Name (CPPC, 0x00)
14017             Method (NVPS, 4, NotSerialized)
14018             {
14019                 Name (_T_1, Zero)  // _T_x: Emitted by ASL Compiler
14020                 Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
14021                 Store ("------- NV GPS DSM --------", Debug)
14022                 Store (ToInteger (Arg2), _T_0)
14023                 If (LEqual (_T_0, 0x00))
14024                 {
14025                     Store (Buffer (0x08)
14026                         {
14027                              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
14028                         }, Local0)
14029                     Store (Buffer (0x07)
14030                         {
14031                              0x00, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF
14032                         }, Local3)
14033                     Store (Zero, Local4)
14034                     Store (DerefOf (Index (Local3, Local4)), Local5)
14035                     While (LNotEqual (Local5, 0xFF))
14036                     {
14037                         Divide (Local5, 0x08, Local2, Local1)
14038                         ShiftLeft (0x01, Local2, Local2)
14039                         Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1
14040                             ))
14041                         Increment (Local4)
14042                         Store (DerefOf (Index (Local3, Local4)), Local5)
14043                     }
14044 
14045                     Return (Local0)
14046                 }
14047                 Else
14048                 {
14049                     If (LEqual (_T_0, 0x20))
14050                     {
14051                         Store (Buffer (0x04)
14052                             {
14053                                  0x00, 0x00, 0x00, 0x00
14054                             }, Local0)
14055                         CreateField (Local0, 0x18, 0x01, CUIT)
14056                         CreateField (Local0, 0x1E, 0x01, PSER)
14057                         Store (One, CUIT)
14058                         Store (One, PSER)
14059                         Return (Local0)
14060                     }
14061                     Else
14062                     {
14063                         If (LEqual (_T_0, 0x21))
14064                         {
14065                             Return (\_PR.CPU0._PSS)
14066                         }
14067                         Else
14068                         {
14069                             If (LEqual (_T_0, 0x22))
14070                             {
14071                                 CreateField (Arg3, 0x00, 0x08, PPCV)
14072                                 Store (PPCV, CPPC)
14073                                 \PNTF (0x80)
14074                                 Return (Buffer (0x04)
14075                                 {
14076                                      0x00, 0x00, 0x00, 0x00
14077                                 })
14078                             }
14079                             Else
14080                             {
14081                                 If (LEqual (_T_0, 0x23))
14082                                 {
14083                                     Store (Buffer (0x04)
14084                                         {
14085                                              0x00, 0x00, 0x00, 0x00
14086                                         }, Local0)
14087                                     Store (CPPC, Index (Local0, 0x00))
14088                                     Return (Local0)
14089                                 }
14090                                 Else
14091                                 {
14092                                     If (LEqual (_T_0, 0x2A))
14093                                     {
14094                                         Store (Buffer (0x24)
14095                                             {
14096                                                 /* 0000 */   0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
14097                                                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14098                                                 /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14099                                                 /* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14100                                                 /* 0020 */   0x00, 0x00, 0x00, 0x00
14101                                             }, Local0)
14102                                         Store (DerefOf (Index (Arg3, 0x00)), Index (Local0, 0x00))
14103                                         CreateField (Arg3, 0x00, 0x04, QTYP)
14104                                         Store (ToInteger (QTYP), _T_1)
14105                                         If (LEqual (_T_1, 0x00))
14106                                         {
14107                                             Store (\_SB.PCI0.LPC.EC.TMP0, Local1)
14108                                             Store (And (Local1, 0xFF), Index (Local0, 0x0C))
14109                                             Return (Local0)
14110                                         }
14111                                         Else
14112                                         {
14113                                             If (LEqual (_T_1, 0x01))
14114                                             {
14115                                                 Store (0x08, Index (Local0, 0x0D))
14116                                                 Store (0x03, Index (Local0, 0x01))
14117                                                 Return (Local0)
14118                                             }
14119                                             Else
14120                                             {
14121                                                 If (LEqual (_T_1, 0x02))
14122                                                 {
14123                                                     Store (Zero, Index (Local0, 0x01))
14124                                                     Return (Local0)
14125                                                 }
14126                                             }
14127                                         }
14128                                     }
14129                                 }
14130                             }
14131                         }
14132                     }
14133                 }
14134 
14135                 Return (Buffer (0x04)
14136                 {
14137                      0x02, 0x00, 0x00, 0x80
14138                 })
14139             }
14140         }
14141     }
14142 
14143     Scope (\_SB.PCI0.EHC2.URTH.URMH.PRTC)
14144     {
14145         Name (_EJD, "\\_SB.GDCK")  // _EJD: Ejection Dependent Device
14146     }
14147 
14148     Scope (\_SB.PCI0.EHC1.URTH.URMH.PRT5)
14149     {
14150         Name (_EJD, "\\_SB.PCI0.EXP3.SLOT")  // _EJD: Ejection Dependent Device
14151     }
14152 
14153     Scope (\_SB.PCI0.EXP3.SLOT)
14154     {
14155         Name (_EJD, "\\_SB.PCI0.EHC1.URTH.URMH.PRT5")  // _EJD: Ejection Dependent Device
14156     }
14157 
14158     Name (\_S0, Package (0x04)  // _S0_: S0 System State
14159     {
14160         0x00, 
14161         0x00, 
14162         0x00, 
14163         0x00
14164     })
14165     Name (\_S3, Package (0x04)  // _S3_: S3 System State
14166     {
14167         0x05, 
14168         0x05, 
14169         0x00, 
14170         0x00
14171     })
14172     Name (\_S4, Package (0x04)  // _S4_: S4 System State
14173     {
14174         0x06, 
14175         0x06, 
14176         0x00, 
14177         0x00
14178     })
14179     Name (\_S5, Package (0x04)  // _S5_: S5 System State
14180     {
14181         0x07, 
14182         0x07, 
14183         0x00, 
14184         0x00
14185     })
14186     Method (\_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
14187     {
14188         Store (0x01, Local0)
14189         If (LEqual (Arg0, \SPS))
14190         {
14191             Store (0x00, Local0)
14192         }
14193 
14194         If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
14195         {
14196             Store (0x00, Local0)
14197         }
14198 
14199         If (Local0)
14200         {
14201             Store (Arg0, \SPS)
14202             \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
14203             If (\_SB.PCI0.LPC.EC.KBLT)
14204             {
14205                 \UCMS (0x0D)
14206             }
14207 
14208             If (LEqual (Arg0, 0x01))
14209             {
14210                 Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
14211                 Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
14212                 Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
14213             }
14214 
14215             If (LEqual (Arg0, 0x03))
14216             {
14217                 \VVPD (0x03)
14218                 \TRAP ()
14219                 Store (\_SB.PCI0.LPC.EC.AC._PSR (), \ACST)
14220                 Store (0x00, \APIN)
14221             }
14222 
14223             If (LEqual (Arg0, 0x04))
14224             {
14225                 If (VDSP)
14226                 {
14227                     Store (Zero, SHA1)
14228                 }
14229 
14230                 If (XPFG)
14231                 {
14232                     If (VDSC)
14233                     {
14234                         Store (0x01, SVHC)
14235                     }
14236                 }
14237 
14238                 \_SB.SLPB._PSW (0x00)
14239                 \TRAP ()
14240                 \_SB.PCI0.LPC.TPM.CMOR ()
14241                 \AWON (0x04)
14242                 Store (0x00, \APIN)
14243             }
14244 
14245             If (LEqual (Arg0, 0x05))
14246             {
14247                 \TRAP ()
14248                 \_SB.PCI0.LPC.TPM.CMOR ()
14249                 \AWON (0x05)
14250             }
14251 
14252             \_SB.PCI0.LPC.EC.BPTS (Arg0)
14253             If (LGreaterEqual (Arg0, 0x04))
14254             {
14255                 Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
14256             }
14257             Else
14258             {
14259                 Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
14260             }
14261 
14262             If (LNotEqual (Arg0, 0x05))
14263             {
14264                 Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
14265                 Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14266                 Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14267             }
14268 
14269             \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
14270         }
14271     }
14272 
14273     Name (WAKI, Package (0x02)
14274     {
14275         0x00, 
14276         0x00
14277     })
14278     Method (\_WAK, 1, NotSerialized)  // _WAK: Wake
14279     {
14280         If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x05)))
14281         {
14282             Return (WAKI)
14283         }
14284 
14285         Store (0x00, \SPS)
14286         Store (0x00, \_SB.PCI0.LPC.EC.HCMU)
14287         \_SB.PCI0.LPC.EC.EVNT (0x01)
14288         \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
14289         \_SB.PCI0.LPC.EC.FNST ()
14290         \UCMS (0x0D)
14291         Store (0x00, \LIDB)
14292         If (LEqual (Arg0, 0x01))
14293         {
14294             Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
14295         }
14296 
14297         If (LEqual (Arg0, 0x03))
14298         {
14299             \NVSS (0x00)
14300             Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
14301             If (\OSC4)
14302             {
14303                 \PNTF (0x81)
14304             }
14305 
14306             If (LNotEqual (\ACST, \_SB.PCI0.LPC.EC.AC._PSR ()))
14307             {
14308                 \_SB.PCI0.LPC.EC.ATMC ()
14309             }
14310 
14311             If (\SCRM)
14312             {
14313                 Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14314                 If (\MTAU)
14315                 {
14316                     Store (0x03E8, Local2)
14317                     While (LAnd (\_SB.PCI0.LPC.EC.PIBS, Local2))
14318                     {
14319                         Sleep (0x01)
14320                         Decrement (Local2)
14321                     }
14322 
14323                     If (Local2)
14324                     {
14325                         Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14326                         Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14327                         Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14328                         Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14329                     }
14330                 }
14331             }
14332 
14333             If (LEqual (\ISWK, 0x01))
14334             {
14335                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14336                 {
14337                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
14338                 }
14339             }
14340 
14341             If (\VIGD)
14342             {
14343                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14344                 If (\WVIS)
14345                 {
14346                     \VBTD ()
14347                 }
14348             }
14349             Else
14350             {
14351                 If (\WVIS)
14352                 {
14353                     \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14354                     \VBTD ()
14355                 }
14356             }
14357 
14358             \VCMS (0x01, \_SB.LID._LID ())
14359             \AWON (0x00)
14360             If (\CMPR)
14361             {
14362                 Notify (\_SB.SLPB, 0x02)
14363                 Store (0x00, \CMPR)
14364             }
14365 
14366             If (LOr (\USBR, \_SB.PCI0.XHCI.XRST))
14367             {
14368                 If (LOr (LEqual (\XHCM, 0x02), LEqual (\XHCM, 0x03)))
14369                 {
14370                     Store (0x00, Local0)
14371                     And (\_SB.PCI0.XHCI.PR3, 0xFFFFFFF0, Local0)
14372                     Or (Local0, \XHPM, Local0)
14373                     And (Local0, \_SB.PCI0.XHCI.PR3M, \_SB.PCI0.XHCI.PR3)
14374                     Store (0x00, Local0)
14375                     And (\_SB.PCI0.XHCI.PR2, 0xFFFFFFF0, Local0)
14376                     Or (Local0, \XHPM, Local0)
14377                     And (Local0, \_SB.PCI0.XHCI.PR2M, \_SB.PCI0.XHCI.PR2)
14378                 }
14379             }
14380         }
14381 
14382         If (LEqual (Arg0, 0x04))
14383         {
14384             \NVSS (0x00)
14385             Store (0x00, \_SB.PCI0.LPC.EC.HSPA)
14386             Store (\_SB.PCI0.LPC.EC.AC._PSR (), \PWRS)
14387             If (\OSC4)
14388             {
14389                 \PNTF (0x81)
14390             }
14391 
14392             \_SB.PCI0.LPC.EC.ATMC ()
14393             If (\SCRM)
14394             {
14395                 Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14396                 If (\MTAU)
14397                 {
14398                     Store (0x03E8, Local2)
14399                     While (LAnd (\_SB.PCI0.LPC.EC.PIBS, Local2))
14400                     {
14401                         Sleep (0x01)
14402                         Decrement (Local2)
14403                     }
14404 
14405                     If (Local2)
14406                     {
14407                         Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14408                         Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14409                         Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14410                         Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14411                     }
14412                 }
14413             }
14414 
14415             If (XPFG)
14416             {
14417                 If (VDSC)
14418                 {
14419                     Store (0x00, SVHC)
14420                 }
14421             }
14422 
14423             If (LNot (\NBCF))
14424             {
14425                 If (\VIGD)
14426                 {
14427                     \_SB.PCI0.LPC.EC.BRNS ()
14428                 }
14429                 Else
14430                 {
14431                     \VBRC (\BRLV)
14432                 }
14433             }
14434 
14435             If (LEqual (\ISWK, 0x02))
14436             {
14437                 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14438                 {
14439                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
14440                 }
14441             }
14442 
14443             If (\_SB.PCI0.XHCI.XRST)
14444             {
14445                 If (LOr (LEqual (\XHCM, 0x02), LEqual (\XHCM, 0x03)))
14446                 {
14447                     Store (0x00, Local0)
14448                     And (\_SB.PCI0.XHCI.PR3, 0xFFFFFFF0, Local0)
14449                     Or (Local0, \XHPM, Local0)
14450                     And (Local0, \_SB.PCI0.XHCI.PR3M, \_SB.PCI0.XHCI.PR3)
14451                     Store (0x00, Local0)
14452                     And (\_SB.PCI0.XHCI.PR2, 0xFFFFFFF0, Local0)
14453                     Or (Local0, \XHPM, Local0)
14454                 }
14455             }
14456         }
14457 
14458         If (XOr (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF))
14459         {
14460             Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14461             Notify (\_SB.PCI0.EXP1, 0x00)
14462         }
14463 
14464         If (XOr (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF))
14465         {
14466             Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14467             Notify (\_SB.PCI0.EXP3, 0x00)
14468         }
14469 
14470         \_SB.PCI0.LPC.EC.BATW (Arg0)
14471         \_SB.PCI0.LPC.EC.BWAK (Arg0)
14472         \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
14473         Notify (\_TZ.THM0, 0x80)
14474         \VSLD (\_SB.LID._LID ())
14475         If (\VIGD)
14476         {
14477             \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14478         }
14479         Else
14480         {
14481             If (\WVIS)
14482             {
14483                 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14484             }
14485         }
14486 
14487         If (LLess (Arg0, 0x04))
14488         {
14489             If (And (\RRBF, 0x02))
14490             {
14491                 ShiftLeft (Arg0, 0x08, Local0)
14492                 Store (Or (0x2013, Local0), Local0)
14493                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
14494             }
14495         }
14496 
14497         If (LEqual (Arg0, 0x04))
14498         {
14499             Store (0x00, Local0)
14500             Store (\CSUM (0x00), Local1)
14501             If (LNotEqual (Local1, \CHKC))
14502             {
14503                 Store (0x01, Local0)
14504                 Store (Local1, \CHKC)
14505             }
14506 
14507             Store (\CSUM (0x01), Local1)
14508             If (LNotEqual (Local1, \CHKE))
14509             {
14510                 Store (0x01, Local0)
14511                 Store (Local1, \CHKE)
14512             }
14513 
14514             If (Local0)
14515             {
14516                 Notify (\_SB, 0x00)
14517             }
14518         }
14519 
14520         Store (Zero, \RRBF)
14521         Return (WAKI)
14522     }
14523 
14524     Scope (\_SI)
14525     {
14526         Method (_SST, 1, NotSerialized)  // _SST: System Status
14527         {
14528             If (LEqual (Arg0, 0x00))
14529             {
14530                 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
14531                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14532             }
14533 
14534             If (LEqual (Arg0, 0x01))
14535             {
14536                 If (LOr (\SPS, \WNTF))
14537                 {
14538                     \_SB.PCI0.LPC.EC.BEEP (0x05)
14539                 }
14540 
14541                 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14542                 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14543             }
14544 
14545             If (LEqual (Arg0, 0x02))
14546             {
14547                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14548                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14549             }
14550 
14551             If (LEqual (Arg0, 0x03))
14552             {
14553                 If (LGreater (\SPS, 0x03))
14554                 {
14555                     \_SB.PCI0.LPC.EC.BEEP (0x07)
14556                 }
14557                 Else
14558                 {
14559                     If (LEqual (\SPS, 0x03))
14560                     {
14561                         \_SB.PCI0.LPC.EC.BEEP (0x03)
14562                     }
14563                     Else
14564                     {
14565                         \_SB.PCI0.LPC.EC.BEEP (0x04)
14566                     }
14567                 }
14568 
14569                 If (LEqual (\SPS, 0x03)) {}
14570                 Else
14571                 {
14572                     \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14573                 }
14574 
14575                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14576                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14577             }
14578 
14579             If (LEqual (Arg0, 0x04))
14580             {
14581                 \_SB.PCI0.LPC.EC.BEEP (0x03)
14582                 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14583                 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14584             }
14585         }
14586     }
14587 
14588     Scope (\_GPE)
14589     {
14590         Method (_L1D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14591         {
14592             Store (\_SB.PCI0.LPC.EC.HWAK, Local0)
14593             Store (Local0, \RRBF)
14594             Sleep (0x0A)
14595             If (And (Local0, 0x02)) {}
14596             If (And (Local0, 0x04))
14597             {
14598                 Notify (\_SB.LID, 0x02)
14599             }
14600 
14601             If (And (Local0, 0x08))
14602             {
14603                 Notify (\_SB.SLPB, 0x02)
14604             }
14605 
14606             If (And (Local0, 0x10))
14607             {
14608                 Notify (\_SB.SLPB, 0x02)
14609             }
14610 
14611             If (And (Local0, 0x40)) {}
14612             If (And (Local0, 0x80))
14613             {
14614                 Notify (\_SB.SLPB, 0x02)
14615             }
14616         }
14617 
14618         Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14619         {
14620             If (\_SB.PCI0.EXP1.PS)
14621             {
14622                 Store (0x01, \_SB.PCI0.EXP1.PS)
14623                 Store (0x01, \_SB.PCI0.EXP1.PMCS)
14624                 Notify (\_SB.PCI0.EXP1, 0x02)
14625             }
14626 
14627             If (\_SB.PCI0.EXP2.PS)
14628             {
14629                 Store (0x01, \_SB.PCI0.EXP2.PS)
14630                 Store (0x01, \_SB.PCI0.EXP2.PMCS)
14631                 Notify (\_SB.PCI0.EXP2, 0x02)
14632             }
14633 
14634             If (\_SB.PCI0.EXP3.PS)
14635             {
14636                 Store (0x01, \_SB.PCI0.EXP3.PS)
14637                 Store (0x01, \_SB.PCI0.EXP3.PMCS)
14638                 Notify (\_SB.PCI0.EXP3, 0x02)
14639             }
14640         }
14641 
14642         Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14643         {
14644             If (\_SB.PCI0.EXP1.HPCS)
14645             {
14646                 Sleep (0x64)
14647                 Store (0x01, \_SB.PCI0.EXP1.HPCS)
14648                 If (\_SB.PCI0.EXP1.PDC)
14649                 {
14650                     Store (0x01, \_SB.PCI0.EXP1.PDC)
14651                     Store (\_SB.PCI0.EXP1.PDS, \_SB.PCI0.EXP1.PDSF)
14652                     Notify (\_SB.PCI0.EXP1, 0x00)
14653                 }
14654             }
14655 
14656             If (\_SB.PCI0.EXP3.HPCS)
14657             {
14658                 Sleep (0x64)
14659                 Store (0x01, \_SB.PCI0.EXP3.HPCS)
14660                 If (\_SB.PCI0.EXP3.PDC)
14661                 {
14662                     Store (0x01, \_SB.PCI0.EXP3.PDC)
14663                     Store (\_SB.PCI0.EXP3.PDS, \_SB.PCI0.EXP3.PDSF)
14664                     Notify (\_SB.PCI0.EXP3, 0x00)
14665                 }
14666             }
14667         }
14668 
14669         Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14670         {
14671             Store (0x00, \_SB.PCI0.LPC.SWGE)
14672             If (LAnd (\CWUE, And (\SWGP, 0x02)))
14673             {
14674                 And (\SWGP, Not (0x02), \SWGP)
14675                 If (\OSC4)
14676                 {
14677                     \PNTF (0x81)
14678                 }
14679             }
14680         }
14681 
14682         Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14683         {
14684             If (\_SB.PCI0.VID.GSSE)
14685             {
14686                 \_SB.PCI0.VID.GSCI ()
14687             }
14688             Else
14689             {
14690                 Store (0x01, \_SB.PCI0.LPC.SCIS)
14691             }
14692         }
14693 
14694         Method (_L16, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
14695         {
14696             If (\_SB.PCI0.PEG.VID.ISOP ())
14697             {
14698                 If (LNot (\_SB.PCI0.LPC.XHPD))
14699                 {
14700                     Notify (\_SB.PCI0.PEG.VID, 0x81)
14701                 }
14702             }
14703 
14704             XOr (\_SB.PCI0.LPC.XHPD, 0x01, \_SB.PCI0.LPC.XHPD)
14705         }
14706     }
14707 
14708     Scope (\_SB.PCI0.LPC.EC.HKEY)
14709     {
14710         Method (MHQT, 1, NotSerialized)
14711         {
14712             If (LAnd (\WNTF, \TATC))
14713             {
14714                 If (LEqual (Arg0, 0x00))
14715                 {
14716                     Store (\TATC, Local0)
14717                     Return (Local0)
14718                 }
14719                 Else
14720                 {
14721                     If (LEqual (Arg0, 0x01))
14722                     {
14723                         Store (\TDFA, Local0)
14724                         Add (Local0, ShiftLeft (\TDTA, 0x04), Local0)
14725                         Add (Local0, ShiftLeft (\TDFD, 0x08), Local0)
14726                         Add (Local0, ShiftLeft (\TDTD, 0x0C), Local0)
14727                         Add (Local0, ShiftLeft (\TNFT, 0x10), Local0)
14728                         Add (Local0, ShiftLeft (\TNTT, 0x14), Local0)
14729                         Return (Local0)
14730                     }
14731                     Else
14732                     {
14733                         If (LEqual (Arg0, 0x02))
14734                         {
14735                             Store (\TCFA, Local0)
14736                             Add (Local0, ShiftLeft (\TCTA, 0x04), Local0)
14737                             Add (Local0, ShiftLeft (\TCFD, 0x08), Local0)
14738                             Add (Local0, ShiftLeft (\TCTD, 0x0C), Local0)
14739                             Return (Local0)
14740                         }
14741                         Else
14742                         {
14743                             If (LEqual (Arg0, 0x03)) {}
14744                             Else
14745                             {
14746                                 If (LEqual (Arg0, 0x04))
14747                                 {
14748                                     Store (\TATW, Local0)
14749                                     Return (Local0)
14750                                 }
14751                                 Else
14752                                 {
14753                                     Noop
14754                                 }
14755                             }
14756                         }
14757                     }
14758                 }
14759             }
14760 
14761             Return (0x00)
14762         }
14763 
14764         Method (MHAT, 1, NotSerialized)
14765         {
14766             If (LAnd (\WNTF, \TATC))
14767             {
14768                 Store (And (Arg0, 0xFF), Local0)
14769                 If (LNot (ATMV (Local0)))
14770                 {
14771                     Return (0x00)
14772                 }
14773 
14774                 Store (And (ShiftRight (Arg0, 0x08), 0xFF), Local0)
14775                 If (LNot (ATMV (Local0)))
14776                 {
14777                     Return (0x00)
14778                 }
14779 
14780                 Store (And (Arg0, 0x0F), \TCFA)
14781                 Store (And (ShiftRight (Arg0, 0x04), 0x0F), \TCTA)
14782                 Store (And (ShiftRight (Arg0, 0x08), 0x0F), \TCFD)
14783                 Store (And (ShiftRight (Arg0, 0x0C), 0x0F), \TCTD)
14784                 ATMC ()
14785                 If (And (\PPMF, 0x80))
14786                 {
14787                     Store (\FTPS, Local1)
14788                     If (And (Arg0, 0x00010000))
14789                     {
14790                         Store (0x01, \FTPS)
14791                     }
14792                     Else
14793                     {
14794                         Store (0x00, \FTPS)
14795                     }
14796 
14797                     If (XOr (\FTPS, Local1))
14798                     {
14799                         If (\OSPX)
14800                         {
14801                             \PNTF (0x80)
14802                         }
14803                     }
14804                 }
14805 
14806                 Store (\SCRM, Local2)
14807                 If (And (Arg0, 0x00040000))
14808                 {
14809                     Store (0x01, \SCRM)
14810                     Store (0x07, \_SB.PCI0.LPC.EC.HFSP)
14811                 }
14812                 Else
14813                 {
14814                     Store (0x00, \SCRM)
14815                     Store (0x80, \_SB.PCI0.LPC.EC.HFSP)
14816                 }
14817 
14818                 Store (\ETAU, Local3)
14819                 If (And (Arg0, 0x00020000))
14820                 {
14821                     Store (0x01, \ETAU)
14822                 }
14823                 Else
14824                 {
14825                     Store (0x00, \ETAU)
14826                 }
14827 
14828                 If (\MTAU)
14829                 {
14830                     If (LOr (XOr (\SCRM, Local2), XOr (\ETAU, Local3)))
14831                     {
14832                         Store (0x03E8, Local4)
14833                         While (\_SB.PCI0.LPC.EC.PIBS)
14834                         {
14835                             Sleep (0x01)
14836                             Decrement (Local4)
14837                             If (LNot (Local4))
14838                             {
14839                                 Return (0x00)
14840                             }
14841                         }
14842 
14843                         Store (0x01, \_SB.PCI0.LPC.EC.PLSL)
14844                         If (And (Arg0, 0x00060000))
14845                         {
14846                             Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
14847                         }
14848                         Else
14849                         {
14850                             Store (0x1C, \_SB.PCI0.LPC.EC.PLTU)
14851                         }
14852 
14853                         Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
14854                         Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
14855                     }
14856                 }
14857 
14858                 Return (0x01)
14859             }
14860 
14861             Return (0x00)
14862         }
14863 
14864         Method (MHGT, 1, NotSerialized)
14865         {
14866             If (LAnd (\WNTF, \TATC))
14867             {
14868                 Store (0x01000000, Local0)
14869                 If (And (\PPMF, 0x80))
14870                 {
14871                     Or (Local0, 0x08000000, Local0)
14872                 }
14873 
14874                 If (\SCRM)
14875                 {
14876                     Or (Local0, 0x10000000, Local0)
14877                 }
14878 
14879                 If (\ETAU)
14880                 {
14881                     Or (Local0, 0x04000000, Local0)
14882                 }
14883 
14884                 If (\FTPS)
14885                 {
14886                     Or (Local0, 0x02000000, Local0)
14887                 }
14888 
14889                 Add (Local0, ShiftLeft (\TSFT, 0x10), Local0)
14890                 Add (Local0, ShiftLeft (\TSTT, 0x14), Local0)
14891                 Store (And (Arg0, 0xFF), Local1)
14892                 If (LNot (ATMV (Local1)))
14893                 {
14894                     Or (Local0, 0xFFFF, Local0)
14895                     Return (Local0)
14896                 }
14897 
14898                 Store (And (Arg0, 0x0F), Local1)
14899                 If (LEqual (Local1, 0x00))
14900                 {
14901                     Add (Local0, \TIF0, Local0)
14902                 }
14903                 Else
14904                 {
14905                     If (LEqual (Local1, 0x01))
14906                     {
14907                         Add (Local0, \TIF1, Local0)
14908                     }
14909                     Else
14910                     {
14911                         If (LEqual (Local1, 0x02))
14912                         {
14913                             Add (Local0, \TIF2, Local0)
14914                         }
14915                         Else
14916                         {
14917                             Add (Local0, 0xFF, Local0)
14918                         }
14919                     }
14920                 }
14921 
14922                 Store (And (ShiftRight (Arg0, 0x04), 0x0F), Local1)
14923                 If (LEqual (Local1, 0x00))
14924                 {
14925                     Add (Local0, ShiftLeft (\TIT0, 0x08), Local0)
14926                 }
14927                 Else
14928                 {
14929                     If (LEqual (Local1, 0x01))
14930                     {
14931                         Add (Local0, ShiftLeft (\TIT1, 0x08), Local0)
14932                     }
14933                     Else
14934                     {
14935                         If (LEqual (Local1, 0x02))
14936                         {
14937                             Add (Local0, ShiftLeft (\TIT2, 0x08), Local0)
14938                         }
14939                         Else
14940                         {
14941                             Add (Local0, ShiftLeft (0xFF, 0x08), Local0)
14942                         }
14943                     }
14944                 }
14945 
14946                 Return (Local0)
14947             }
14948 
14949             Return (0x00)
14950         }
14951 
14952         Method (ATMV, 1, NotSerialized)
14953         {
14954             Store (And (Arg0, 0x0F), Local1)
14955             Store (\TNFT, Local0)
14956             If (LGreaterEqual (Local1, Local0))
14957             {
14958                 Return (0x00)
14959             }
14960 
14961             Store (And (ShiftRight (Arg0, 0x04), 0x0F), Local2)
14962             Store (\TNTT, Local0)
14963             If (LGreaterEqual (Local2, Local0))
14964             {
14965                 Return (0x00)
14966             }
14967 
14968             If (\TATL)
14969             {
14970                 If (XOr (Local1, Local2))
14971                 {
14972                     Return (0x00)
14973                 }
14974             }
14975 
14976             Return (0x01)
14977         }
14978 
14979         Method (MHCT, 1, NotSerialized)
14980         {
14981             Store (0x00, Local0)
14982             If (\SPEN)
14983             {
14984                 Store (\LWST, Local0)
14985                 Increment (Local0)
14986                 ShiftLeft (Local0, 0x08, Local0)
14987             }
14988 
14989             Store (0x08, Local1)
14990             ShiftLeft (Local1, 0x08, Local1)
14991             If (LEqual (Arg0, 0xFFFFFFFF))
14992             {
14993                 Or (Local1, \TPCR, Local1)
14994                 If (\SPEN)
14995                 {
14996                     Or (Local0, \PPCR, Local0)
14997                     If (LNot (LAnd (\PPMF, 0x02000000)))
14998                     {
14999                         Or (Local1, 0x80, Local1)
15000                     }
15001 
15002                     If (LNot (LAnd (\PPMF, 0x08000000)))
15003                     {
15004                         Or (Local1, 0x40, Local1)
15005                     }
15006                 }
15007                 Else
15008                 {
15009                     Or (Local1, 0xC0, Local1)
15010                 }
15011             }
15012             Else
15013             {
15014                 If (LAnd (\OSPX, \SPEN))
15015                 {
15016                     And (Arg0, 0x00FF0000, Local2)
15017                     ShiftRight (Local2, 0x10, Local2)
15018                     Or (Local0, Local2, Local0)
15019                     If (XOr (Local2, \PPCR))
15020                     {
15021                         Store (Local2, \PPCA)
15022                         \PNTF (0x80)
15023                     }
15024                 }
15025 
15026                 If (\WVIS)
15027                 {
15028                     And (Arg0, 0x1F, Local2)
15029                     Or (Local1, Local2, Local1)
15030                     If (XOr (Local2, \TPCR))
15031                     {
15032                         Store (Local2, \TPCA)
15033                         \PNTF (0x82)
15034                     }
15035                 }
15036             }
15037 
15038             ShiftLeft (Local0, 0x10, Local0)
15039             Or (Local0, Local1, Local0)
15040             Return (Local0)
15041         }
15042     }
15043 
15044     Scope (\_SB.PCI0.LPC.EC)
15045     {
15046         Method (ATMC, 0, NotSerialized)
15047         {
15048             If (LAnd (\WNTF, \TATC))
15049             {
15050                 If (HPAC)
15051                 {
15052                     Store (\TCFA, Local0)
15053                     Store (\TCTA, Local1)
15054                     Store (Or (ShiftLeft (Local1, 0x04), Local0), Local2)
15055                     XOr (Local2, ATMX, Local3)
15056                     Store (Local2, ATMX)
15057                     If (LEqual (\TCTA, 0x00))
15058                     {
15059                         Store (\TCR0, \TCRT)
15060                         Store (\TPS0, \TPSV)
15061                     }
15062                     Else
15063                     {
15064                         If (LEqual (\TCTA, 0x01))
15065                         {
15066                             Store (\TCR1, \TCRT)
15067                             Store (\TPS1, \TPSV)
15068                         }
15069                         Else
15070                         {
15071                         }
15072                     }
15073                 }
15074                 Else
15075                 {
15076                     Store (\TCFD, Local0)
15077                     Store (\TCTD, Local1)
15078                     Store (Or (ShiftLeft (Local1, 0x04), Local0), Local2)
15079                     XOr (Local2, ATMX, Local3)
15080                     Store (Local2, ATMX)
15081                     If (LEqual (\TCTD, 0x00))
15082                     {
15083                         Store (\TCR0, \TCRT)
15084                         Store (\TPS0, \TPSV)
15085                     }
15086                     Else
15087                     {
15088                         If (LEqual (\TCTD, 0x01))
15089                         {
15090                             Store (\TCR1, \TCRT)
15091                             Store (\TPS1, \TPSV)
15092                         }
15093                         Else
15094                         {
15095                         }
15096                     }
15097                 }
15098 
15099                 If (Local3)
15100                 {
15101                     If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15102                     {
15103                         \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15104                     }
15105                 }
15106 
15107                 Notify (\_TZ.THM0, 0x81)
15108             }
15109         }
15110     }
15111 
15112     Scope (\_TZ)
15113     {
15114         ThermalZone (THM0)
15115         {
15116             Method (_CRT, 0, NotSerialized)  // _CRT: Critical Temperature
15117             {
15118                 Return (\TCRT)
15119             }
15120 
15121             Method (_TMP, 0, NotSerialized)  // _TMP: Temperature
15122             {
15123                 If (\H8DR)
15124                 {
15125                     Store (\_SB.PCI0.LPC.EC.TMP0, Local0)
15126                     Store (\_SB.PCI0.LPC.EC.TSL2, Local1)
15127                     Store (\_SB.PCI0.LPC.EC.TSL3, Local2)
15128                 }
15129                 Else
15130                 {
15131                     Store (\RBEC (0x78), Local0)
15132                     Store (And (\RBEC (0x8A), 0x7F), Local1)
15133                     Store (And (\RBEC (0x8B), 0x7F), Local2)
15134                 }
15135 
15136                 If (LEqual (Local0, 0x80))
15137                 {
15138                     Store (0x30, Local0)
15139                 }
15140 
15141                 Or (ShiftLeft (\_SB.PCI0.LPC.PIDH, 0x02), \_SB.PCI0.LPC.PIDL, Local3)
15142                 If (LLess (Local3, 0x03))
15143                 {
15144                     And (Local2, 0xF7, Local2)
15145                 }
15146 
15147                 If (Local2)
15148                 {
15149                     \TSDL ()
15150                     Return (C2K (0x80))
15151                 }
15152 
15153                 If (LNot (\_SB.PCI0.LPC.EC.HKEY.DHKC))
15154                 {
15155                     If (Local1)
15156                     {
15157                         \TSDL ()
15158                         Return (C2K (0x80))
15159                     }
15160                 }
15161 
15162                 Return (C2K (Local0))
15163             }
15164         }
15165 
15166         Method (C2K, 1, NotSerialized)
15167         {
15168             Add (Multiply (Arg0, 0x0A), 0x0AAC, Local0)
15169             If (LLessEqual (Local0, 0x0AAC))
15170             {
15171                 Store (0x0BB8, Local0)
15172             }
15173 
15174             If (LGreater (Local0, 0x0FAC))
15175             {
15176                 Store (0x0BB8, Local0)
15177             }
15178 
15179             Return (Local0)
15180         }
15181     }
15182 
15183     Scope (\_SB.PCI0.LPC.EC)
15184     {
15185         Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
15186         {
15187             Notify (\_TZ.THM0, 0x80)
15188             If (\H8DR)
15189             {
15190                 Store (\_SB.PCI0.LPC.EC.TSL2, Local1)
15191             }
15192             Else
15193             {
15194                 Store (And (\RBEC (0x8A), 0x7F), Local1)
15195             }
15196 
15197             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15198             {
15199                 If (Local1)
15200                 {
15201                     \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
15202                 }
15203             }
15204 
15205             If (VIGD)
15206             {
15207                 Noop
15208             }
15209             Else
15210             {
15211                 \VTHR ()
15212             }
15213 
15214             If (And (\PPMF, 0x01))
15215             {
15216                 If (\OSPX)
15217                 {
15218                     \PNTF (0x80)
15219                 }
15220                 Else
15221                 {
15222                     Store (And (\_SB.PCI0.LPC.EC.TSL0, 0x77), Local2)
15223                     If (Local2)
15224                     {
15225                         \STEP (0x09)
15226                     }
15227                     Else
15228                     {
15229                         \STEP (0x0A)
15230                     }
15231                 }
15232             }
15233         }
15234     }
15235 
15236     Name (GPIC, 0x00)
15237     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
15238     {
15239         Store (Arg0, \GPIC)
15240     }
15241 
15242     OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
15243     Field (SMI0, ByteAcc, NoLock, Preserve)
15244     {
15245         APMC,   8
15246     }
15247 
15248     Field (MNVS, AnyAcc, NoLock, Preserve)
15249     {
15250         Offset (0xFC0), 
15251         CMD,    8, 
15252         ERR,    32, 
15253         PAR0,   32, 
15254         PAR1,   32, 
15255         PAR2,   32, 
15256         PAR3,   32
15257     }
15258 
15259     Mutex (MSMI, 0x07)
15260     Method (SMI, 5, NotSerialized)
15261     {
15262         Acquire (MSMI, 0xFFFF)
15263         Store (Arg0, CMD)
15264         Store (0x01, ERR)
15265         Store (Arg1, PAR0)
15266         Store (Arg2, PAR1)
15267         Store (Arg3, PAR2)
15268         Store (Arg4, PAR3)
15269         Store (0xF5, APMC)
15270         While (LEqual (ERR, 0x01))
15271         {
15272             Sleep (0x01)
15273             Store (0xF5, APMC)
15274         }
15275 
15276         Store (PAR0, Local0)
15277         Release (MSMI)
15278         Return (Local0)
15279     }
15280 
15281     Method (RPCI, 1, NotSerialized)
15282     {
15283         Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
15284     }
15285 
15286     Method (WPCI, 2, NotSerialized)
15287     {
15288         SMI (0x00, 0x01, Arg0, Arg1, 0x00)
15289     }
15290 
15291     Method (MPCI, 3, NotSerialized)
15292     {
15293         SMI (0x00, 0x02, Arg0, Arg1, Arg2)
15294     }
15295 
15296     Method (RBEC, 1, NotSerialized)
15297     {
15298         Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
15299     }
15300 
15301     Method (WBEC, 2, NotSerialized)
15302     {
15303         SMI (0x00, 0x04, Arg0, Arg1, 0x00)
15304     }
15305 
15306     Method (MBEC, 3, NotSerialized)
15307     {
15308         SMI (0x00, 0x05, Arg0, Arg1, Arg2)
15309     }
15310 
15311     Method (RISA, 1, NotSerialized)
15312     {
15313         Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
15314     }
15315 
15316     Method (WISA, 2, NotSerialized)
15317     {
15318         SMI (0x00, 0x07, Arg0, Arg1, 0x00)
15319     }
15320 
15321     Method (MISA, 3, NotSerialized)
15322     {
15323         SMI (0x00, 0x08, Arg0, Arg1, Arg2)
15324     }
15325 
15326     Method (VEXP, 0, NotSerialized)
15327     {
15328         SMI (0x01, 0x00, 0x00, 0x00, 0x00)
15329     }
15330 
15331     Method (VUPS, 1, NotSerialized)
15332     {
15333         SMI (0x01, 0x01, Arg0, 0x00, 0x00)
15334     }
15335 
15336     Method (VSDS, 2, NotSerialized)
15337     {
15338         SMI (0x01, 0x02, Arg0, Arg1, 0x00)
15339     }
15340 
15341     Method (VDDC, 0, NotSerialized)
15342     {
15343         SMI (0x01, 0x03, 0x00, 0x00, 0x00)
15344     }
15345 
15346     Method (VVPD, 1, NotSerialized)
15347     {
15348         SMI (0x01, 0x04, Arg0, 0x00, 0x00)
15349     }
15350 
15351     Method (VNRS, 1, NotSerialized)
15352     {
15353         SMI (0x01, 0x05, Arg0, 0x00, 0x00)
15354     }
15355 
15356     Method (GLPW, 0, NotSerialized)
15357     {
15358         Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
15359     }
15360 
15361     Method (VSLD, 1, NotSerialized)
15362     {
15363         SMI (0x01, 0x07, Arg0, 0x00, 0x00)
15364     }
15365 
15366     Method (VEVT, 1, NotSerialized)
15367     {
15368         Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
15369     }
15370 
15371     Method (VTHR, 0, NotSerialized)
15372     {
15373         Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
15374     }
15375 
15376     Method (VBRC, 1, NotSerialized)
15377     {
15378         SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
15379     }
15380 
15381     Method (VBRG, 0, NotSerialized)
15382     {
15383         Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
15384     }
15385 
15386     Method (VCMS, 2, NotSerialized)
15387     {
15388         Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
15389     }
15390 
15391     Method (VBTD, 0, NotSerialized)
15392     {
15393         Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
15394     }
15395 
15396     Method (VHYB, 2, NotSerialized)
15397     {
15398         Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
15399     }
15400 
15401     Method (VDYN, 2, NotSerialized)
15402     {
15403         Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
15404     }
15405 
15406     Method (UCMS, 1, NotSerialized)
15407     {
15408         Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
15409     }
15410 
15411     Method (BHDP, 2, NotSerialized)
15412     {
15413         Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
15414     }
15415 
15416     Method (STEP, 1, NotSerialized)
15417     {
15418         SMI (0x04, Arg0, 0x00, 0x00, 0x00)
15419     }
15420 
15421     Method (TRAP, 0, NotSerialized)
15422     {
15423         SMI (0x05, 0x00, 0x00, 0x00, 0x00)
15424     }
15425 
15426     Method (CBRI, 0, NotSerialized)
15427     {
15428         SMI (0x05, 0x01, 0x00, 0x00, 0x00)
15429     }
15430 
15431     Method (BCHK, 0, NotSerialized)
15432     {
15433         Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
15434     }
15435 
15436     Method (BYRS, 0, NotSerialized)
15437     {
15438         SMI (0x05, 0x05, 0x00, 0x00, 0x00)
15439     }
15440 
15441     Method (LCHK, 1, NotSerialized)
15442     {
15443         Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
15444     }
15445 
15446     Method (BLTH, 1, NotSerialized)
15447     {
15448         Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
15449     }
15450 
15451     Method (PRSM, 2, NotSerialized)
15452     {
15453         Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
15454     }
15455 
15456     Method (IFRS, 2, NotSerialized)
15457     {
15458         Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
15459     }
15460 
15461     Method (TDPC, 1, NotSerialized)
15462     {
15463         Return (SMI (0x07, 0x02, Arg0, 0x00, 0x00))
15464     }
15465 
15466     Method (WGSV, 1, NotSerialized)
15467     {
15468         Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
15469     }
15470 
15471     Method (SWTT, 1, NotSerialized)
15472     {
15473         If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
15474         {
15475             If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15476             {
15477                 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15478             }
15479         }
15480     }
15481 
15482     Method (TSDL, 0, NotSerialized)
15483     {
15484         Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
15485     }
15486 
15487     Method (TPHY, 1, NotSerialized)
15488     {
15489         SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
15490     }
15491 
15492     Method (CSUM, 1, NotSerialized)
15493     {
15494         Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
15495     }
15496 
15497     Method (NVSS, 1, NotSerialized)
15498     {
15499         Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
15500     }
15501 
15502     Method (WMIS, 2, NotSerialized)
15503     {
15504         Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
15505     }
15506 
15507     Method (AWON, 1, NotSerialized)
15508     {
15509         Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
15510     }
15511 
15512     Method (PMON, 2, NotSerialized)
15513     {
15514         Store (SizeOf (Arg0), Local0)
15515         Name (TSTR, Buffer (Local0) {})
15516         Store (Arg0, TSTR)
15517         Store (TSTR, \DBGS)
15518         SMI (0x11, Arg1, 0x00, 0x00, 0x00)
15519     }
15520 
15521     Method (UAWS, 1, NotSerialized)
15522     {
15523         Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
15524     }
15525 
15526     Method (BFWC, 1, NotSerialized)
15527     {
15528         Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
15529     }
15530 
15531     Method (BFWP, 0, NotSerialized)
15532     {
15533         Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
15534     }
15535 
15536     Method (BFWL, 0, NotSerialized)
15537     {
15538         SMI (0x14, 0x02, 0x00, 0x00, 0x00)
15539     }
15540 
15541     Method (BFWG, 1, NotSerialized)
15542     {
15543         SMI (0x14, 0x03, Arg0, 0x00, 0x00)
15544     }
15545 
15546     Method (BDMC, 1, NotSerialized)
15547     {
15548         SMI (0x14, 0x04, Arg0, 0x00, 0x00)
15549     }
15550 
15551     Method (PSIF, 2, NotSerialized)
15552     {
15553         Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
15554     }
15555 
15556     Method (FNSC, 2, NotSerialized)
15557     {
15558         Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
15559     }
15560 
15561     Method (AUDC, 2, NotSerialized)
15562     {
15563         Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
15564     }
15565 
15566     Method (SYBC, 2, NotSerialized)
15567     {
15568         Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
15569     }
15570 
15571     Method (KBLS, 2, NotSerialized)
15572     {
15573         Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
15574     }
15575 
15576     Method (UBIS, 1, NotSerialized)
15577     {
15578         Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
15579     }
15580 
15581     Method (DPIO, 2, NotSerialized)
15582     {
15583         If (LNot (Arg0))
15584         {
15585             Return (0x00)
15586         }
15587 
15588         If (LGreater (Arg0, 0xF0))
15589         {
15590             Return (0x00)
15591         }
15592 
15593         If (LGreater (Arg0, 0xB4))
15594         {
15595             If (Arg1)
15596             {
15597                 Return (0x02)
15598             }
15599             Else
15600             {
15601                 Return (0x01)
15602             }
15603         }
15604 
15605         If (LGreater (Arg0, 0x78))
15606         {
15607             Return (0x03)
15608         }
15609 
15610         Return (0x04)
15611     }
15612 
15613     Method (DUDM, 2, NotSerialized)
15614     {
15615         If (LNot (Arg1))
15616         {
15617             Return (0xFF)
15618         }
15619 
15620         If (LGreater (Arg0, 0x5A))
15621         {
15622             Return (0x00)
15623         }
15624 
15625         If (LGreater (Arg0, 0x3C))
15626         {
15627             Return (0x01)
15628         }
15629 
15630         If (LGreater (Arg0, 0x2D))
15631         {
15632             Return (0x02)
15633         }
15634 
15635         If (LGreater (Arg0, 0x1E))
15636         {
15637             Return (0x03)
15638         }
15639 
15640         If (LGreater (Arg0, 0x14))
15641         {
15642             Return (0x04)
15643         }
15644 
15645         Return (0x05)
15646     }
15647 
15648     Method (DMDM, 2, NotSerialized)
15649     {
15650         If (Arg1)
15651         {
15652             Return (0x00)
15653         }
15654 
15655         If (LNot (Arg0))
15656         {
15657             Return (0x00)
15658         }
15659 
15660         If (LGreater (Arg0, 0x96))
15661         {
15662             Return (0x01)
15663         }
15664 
15665         If (LGreater (Arg0, 0x78))
15666         {
15667             Return (0x02)
15668         }
15669 
15670         Return (0x03)
15671     }
15672 
15673     Method (UUDM, 2, NotSerialized)
15674     {
15675         If (LNot (And (Arg0, 0x04)))
15676         {
15677             Return (0x00)
15678         }
15679 
15680         If (And (Arg1, 0x20))
15681         {
15682             Return (0x14)
15683         }
15684 
15685         If (And (Arg1, 0x10))
15686         {
15687             Return (0x1E)
15688         }
15689 
15690         If (And (Arg1, 0x08))
15691         {
15692             Return (0x2D)
15693         }
15694 
15695         If (And (Arg1, 0x04))
15696         {
15697             Return (0x3C)
15698         }
15699 
15700         If (And (Arg1, 0x02))
15701         {
15702             Return (0x5A)
15703         }
15704 
15705         If (And (Arg1, 0x01))
15706         {
15707             Return (0x78)
15708         }
15709 
15710         Return (0x00)
15711     }
15712 
15713     Method (UMDM, 4, NotSerialized)
15714     {
15715         If (LNot (And (Arg0, 0x02)))
15716         {
15717             Return (0x00)
15718         }
15719 
15720         If (And (Arg1, 0x04))
15721         {
15722             Return (Arg3)
15723         }
15724 
15725         If (And (Arg1, 0x02))
15726         {
15727             If (LLessEqual (Arg3, 0x78))
15728             {
15729                 Return (0xB4)
15730             }
15731             Else
15732             {
15733                 Return (Arg3)
15734             }
15735         }
15736 
15737         If (And (Arg2, 0x04))
15738         {
15739             If (LLessEqual (Arg3, 0xB4))
15740             {
15741                 Return (0xF0)
15742             }
15743             Else
15744             {
15745                 Return (Arg3)
15746             }
15747         }
15748 
15749         Return (0x00)
15750     }
15751 
15752     Method (UPIO, 4, NotSerialized)
15753     {
15754         If (LNot (And (Arg0, 0x02)))
15755         {
15756             If (LEqual (Arg2, 0x02))
15757             {
15758                 Return (0xF0)
15759             }
15760             Else
15761             {
15762                 Return (0x0384)
15763             }
15764         }
15765 
15766         If (And (Arg1, 0x02))
15767         {
15768             Return (Arg3)
15769         }
15770 
15771         If (And (Arg1, 0x01))
15772         {
15773             If (LLessEqual (Arg3, 0x78))
15774             {
15775                 Return (0xB4)
15776             }
15777             Else
15778             {
15779                 Return (Arg3)
15780             }
15781         }
15782 
15783         If (LEqual (Arg2, 0x02))
15784         {
15785             Return (0xF0)
15786         }
15787         Else
15788         {
15789             Return (0x0384)
15790         }
15791     }
15792 
15793     Method (FDMA, 2, NotSerialized)
15794     {
15795         If (LNotEqual (Arg1, 0xFF))
15796         {
15797             Return (Or (Arg1, 0x40))
15798         }
15799 
15800         If (LGreaterEqual (Arg0, 0x03))
15801         {
15802             Return (Or (Subtract (Arg0, 0x02), 0x20))
15803         }
15804 
15805         If (Arg0)
15806         {
15807             Return (0x12)
15808         }
15809 
15810         Return (0x00)
15811     }
15812 
15813     Method (FPIO, 1, NotSerialized)
15814     {
15815         If (LGreaterEqual (Arg0, 0x03))
15816         {
15817             Return (Or (Arg0, 0x08))
15818         }
15819 
15820         If (LEqual (Arg0, 0x01))
15821         {
15822             Return (0x01)
15823         }
15824 
15825         Return (0x00)
15826     }
15827 
15828     Method (SCMP, 2, NotSerialized)
15829     {
15830         Store (SizeOf (Arg0), Local0)
15831         If (LNotEqual (Local0, SizeOf (Arg1)))
15832         {
15833             Return (One)
15834         }
15835 
15836         Increment (Local0)
15837         Name (STR1, Buffer (Local0) {})
15838         Name (STR2, Buffer (Local0) {})
15839         Store (Arg0, STR1)
15840         Store (Arg1, STR2)
15841         Store (Zero, Local1)
15842         While (LLess (Local1, Local0))
15843         {
15844             Store (DerefOf (Index (STR1, Local1)), Local2)
15845             Store (DerefOf (Index (STR2, Local1)), Local3)
15846             If (LNotEqual (Local2, Local3))
15847             {
15848                 Return (One)
15849             }
15850 
15851             Increment (Local1)
15852         }
15853 
15854         Return (Zero)
15855     }
15856 
15857     Name (SPS, 0x00)
15858     Name (OSIF, 0x00)
15859     Name (WNTF, 0x00)
15860     Name (WXPF, 0x00)
15861     Name (WVIS, 0x00)
15862     Name (WIN7, 0x00)
15863     Name (WIN8, 0x00)
15864     Name (WSPV, 0x00)
15865     Name (LNUX, 0x00)
15866     Name (H8DR, 0x00)
15867     Name (MEMX, 0x00)
15868     Name (ACST, 0x00)
15869     Name (FMBL, 0x01)
15870     Name (FDTP, 0x02)
15871     Name (FUPS, 0x03)
15872     Name (FNID, 0x00)
15873     Name (RRBF, 0x00)
15874     Name (NBCF, 0x00)
15875     Name (APIN, 0x00)
15876     Scope (\)
15877     {
15878         Method (KOU2, 0, NotSerialized)
15879         {
15880             Stall (0x64)
15881         }
15882     }
15883 
15884     Scope (\_SB.PCI0.VID.LCD0)
15885     {
15886         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
15887         {
15888             If (\WVIS)
15889             {
15890                 Store (0x01, \NBCF)
15891             }
15892 
15893             If (\WIN8)
15894             {
15895                 Return (Package (0x67)
15896                 {
15897                     0x64, 
15898                     0x64, 
15899                     0x00, 
15900                     0x01, 
15901                     0x02, 
15902                     0x03, 
15903                     0x04, 
15904                     0x05, 
15905                     0x06, 
15906                     0x07, 
15907                     0x08, 
15908                     0x09, 
15909                     0x0A, 
15910                     0x0B, 
15911                     0x0C, 
15912                     0x0D, 
15913                     0x0E, 
15914                     0x0F, 
15915                     0x10, 
15916                     0x11, 
15917                     0x12, 
15918                     0x13, 
15919                     0x14, 
15920                     0x15, 
15921                     0x16, 
15922                     0x17, 
15923                     0x18, 
15924                     0x19, 
15925                     0x1A, 
15926                     0x1B, 
15927                     0x1C, 
15928                     0x1D, 
15929                     0x1E, 
15930                     0x1F, 
15931                     0x20, 
15932                     0x21, 
15933                     0x22, 
15934                     0x23, 
15935                     0x24, 
15936                     0x25, 
15937                     0x26, 
15938                     0x27, 
15939                     0x28, 
15940                     0x29, 
15941                     0x2A, 
15942                     0x2B, 
15943                     0x2C, 
15944                     0x2D, 
15945                     0x2E, 
15946                     0x2F, 
15947                     0x30, 
15948                     0x31, 
15949                     0x32, 
15950                     0x33, 
15951                     0x34, 
15952                     0x35, 
15953                     0x36, 
15954                     0x37, 
15955                     0x38, 
15956                     0x39, 
15957                     0x3A, 
15958                     0x3B, 
15959                     0x3C, 
15960                     0x3D, 
15961                     0x3E, 
15962                     0x3F, 
15963                     0x40, 
15964                     0x41, 
15965                     0x42, 
15966                     0x43, 
15967                     0x44, 
15968                     0x45, 
15969                     0x46, 
15970                     0x47, 
15971                     0x48, 
15972                     0x49, 
15973                     0x4A, 
15974                     0x4B, 
15975                     0x4C, 
15976                     0x4D, 
15977                     0x4E, 
15978                     0x4F, 
15979                     0x50, 
15980                     0x51, 
15981                     0x52, 
15982                     0x53, 
15983                     0x54, 
15984                     0x55, 
15985                     0x56, 
15986                     0x57, 
15987                     0x58, 
15988                     0x59, 
15989                     0x5A, 
15990                     0x5B, 
15991                     0x5C, 
15992                     0x5D, 
15993                     0x5E, 
15994                     0x5F, 
15995                     0x60, 
15996                     0x61, 
15997                     0x62, 
15998                     0x63, 
15999                     0x64
16000                 })
16001             }
16002 
16003             Return (\_SB.PCI0.LPC.EC.BRTW)
16004         }
16005 
16006         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
16007         {
16008             Store (Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02), Local0)
16009             If (LNotEqual (Local0, Ones))
16010             {
16011                 Subtract (Local0, 0x02, Local1)
16012                 Store (Local1, \BRLV)
16013                 \_SB.PCI0.LPC.EC.BRNS ()
16014                 \UCMS (0x16)
16015             }
16016         }
16017 
16018         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
16019         {
16020             Store (\BRLV, Local0)
16021             Add (Local0, 0x02, Local1)
16022             If (LLessEqual (Local1, 0x11))
16023             {
16024                 Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
16025             }
16026             Else
16027             {
16028                 Return (Zero)
16029             }
16030         }
16031     }
16032 
16033     Scope (\_SB.PCI0.PEG.VID.LCD0)
16034     {
16035         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
16036         {
16037             If (\WVIS)
16038             {
16039                 Store (0x01, \NBCF)
16040             }
16041 
16042             If (\WIN8)
16043             {
16044                 Return (Package (0x67)
16045                 {
16046                     0x64, 
16047                     0x64, 
16048                     0x00, 
16049                     0x01, 
16050                     0x02, 
16051                     0x03, 
16052                     0x04, 
16053                     0x05, 
16054                     0x06, 
16055                     0x07, 
16056                     0x08, 
16057                     0x09, 
16058                     0x0A, 
16059                     0x0B, 
16060                     0x0C, 
16061                     0x0D, 
16062                     0x0E, 
16063                     0x0F, 
16064                     0x10, 
16065                     0x11, 
16066                     0x12, 
16067                     0x13, 
16068                     0x14, 
16069                     0x15, 
16070                     0x16, 
16071                     0x17, 
16072                     0x18, 
16073                     0x19, 
16074                     0x1A, 
16075                     0x1B, 
16076                     0x1C, 
16077                     0x1D, 
16078                     0x1E, 
16079                     0x1F, 
16080                     0x20, 
16081                     0x21, 
16082                     0x22, 
16083                     0x23, 
16084                     0x24, 
16085                     0x25, 
16086                     0x26, 
16087                     0x27, 
16088                     0x28, 
16089                     0x29, 
16090                     0x2A, 
16091                     0x2B, 
16092                     0x2C, 
16093                     0x2D, 
16094                     0x2E, 
16095                     0x2F, 
16096                     0x30, 
16097                     0x31, 
16098                     0x32, 
16099                     0x33, 
16100                     0x34, 
16101                     0x35, 
16102                     0x36, 
16103                     0x37, 
16104                     0x38, 
16105                     0x39, 
16106                     0x3A, 
16107                     0x3B, 
16108                     0x3C, 
16109                     0x3D, 
16110                     0x3E, 
16111                     0x3F, 
16112                     0x40, 
16113                     0x41, 
16114                     0x42, 
16115                     0x43, 
16116                     0x44, 
16117                     0x45, 
16118                     0x46, 
16119                     0x47, 
16120                     0x48, 
16121                     0x49, 
16122                     0x4A, 
16123                     0x4B, 
16124                     0x4C, 
16125                     0x4D, 
16126                     0x4E, 
16127                     0x4F, 
16128                     0x50, 
16129                     0x51, 
16130                     0x52, 
16131                     0x53, 
16132                     0x54, 
16133                     0x55, 
16134                     0x56, 
16135                     0x57, 
16136                     0x58, 
16137                     0x59, 
16138                     0x5A, 
16139                     0x5B, 
16140                     0x5C, 
16141                     0x5D, 
16142                     0x5E, 
16143                     0x5F, 
16144                     0x60, 
16145                     0x61, 
16146                     0x62, 
16147                     0x63, 
16148                     0x64
16149                 })
16150             }
16151 
16152             Return (\_SB.PCI0.LPC.EC.BRTW)
16153         }
16154 
16155         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
16156         {
16157             If (LAnd (LNotEqual (\WIN7, 0x00), \_SB.PCI0.PEG.VID.ISOP ()))
16158             {
16159                 \_SB.PCI0.VID.LCD0._BCM (Arg0)
16160             }
16161             Else
16162             {
16163                 If (\NBCF)
16164                 {
16165                     Store (Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02), Local0)
16166                     If (LNotEqual (Local0, Ones))
16167                     {
16168                         Subtract (Local0, 0x02, Local1)
16169                         \VBRC (Local1)
16170                         Store (Local1, \BRLV)
16171                     }
16172                 }
16173             }
16174         }
16175 
16176         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
16177         {
16178             If (LAnd (LNotEqual (\WIN7, 0x00), \_SB.PCI0.PEG.VID.ISOP ()))
16179             {
16180                 Return (\_SB.PCI0.VID.LCD0._BQC ())
16181             }
16182             Else
16183             {
16184                 Store (\BRLV, Local0)
16185                 Add (Local0, 0x02, Local1)
16186                 If (LLessEqual (Local1, 0x11))
16187                 {
16188                     Return (DerefOf (Index (\_SB.PCI0.LPC.EC.BRTW, Local1)))
16189                 }
16190                 Else
16191                 {
16192                     Return (Zero)
16193                 }
16194             }
16195         }
16196     }
16197 
16198     Scope (\)
16199     {
16200         Method (KOU1, 0, NotSerialized)
16201         {
16202             Stall (0x64)
16203         }
16204     }
16205 
16206     Scope (\_SB.PCI0.SAT1)
16207     {
16208         Device (PRT0)
16209         {
16210             Name (DIP0, 0x00)
16211             Name (HDTF, Buffer (0x0E)
16212             {
16213                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16214                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16215             })
16216             Name (ERTF, Buffer (0x15)
16217             {
16218                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16219                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16220                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16221             })
16222             Name (HPTF, Buffer (0x15)
16223             {
16224                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16225                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16226                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16227             })
16228             Name (HXTF, Buffer (0x1C)
16229             {
16230                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16231                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16232                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16233                 /* 0018 */   0x00, 0x00, 0xA0, 0xEF
16234             })
16235             Name (DDTF, Buffer (0x0E)
16236             {
16237                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16238                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16239             })
16240             CreateByteField (DDTF, 0x01, DTAT)
16241             CreateByteField (DDTF, 0x08, DTFT)
16242             Name (DGTF, Buffer (0x15)
16243             {
16244                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16245                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16246                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16247             })
16248             CreateByteField (DGTF, 0x01, GTAT)
16249             CreateByteField (DGTF, 0x08, GTFT)
16250             Name (_ADR, 0xFFFF)  // _ADR: Address
16251             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16252             {
16253                 Store (0x00, DIP0)
16254                 If (LEqual (SizeOf (Arg0), 0x0200))
16255                 {
16256                     CreateWordField (Arg0, 0x9C, M078)
16257                     If (LAnd (\DPP0, And (M078, 0x08)))
16258                     {
16259                         Store (0x01, DIP0)
16260                     }
16261                 }
16262             }
16263 
16264             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16265             {
16266                 If (DIP0)
16267                 {
16268                     Return (HPTF)
16269                 }
16270 
16271                 Return (HDTF)
16272             }
16273         }
16274 
16275         Device (PRT1)
16276         {
16277             Name (DIP0, 0x00)
16278             Name (HDTF, Buffer (0x0E)
16279             {
16280                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16281                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16282             })
16283             Name (ERTF, Buffer (0x15)
16284             {
16285                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16286                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16287                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16288             })
16289             Name (HPTF, Buffer (0x15)
16290             {
16291                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16292                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16293                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16294             })
16295             Name (HXTF, Buffer (0x1C)
16296             {
16297                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16298                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16299                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16300                 /* 0018 */   0x00, 0x00, 0xA0, 0xEF
16301             })
16302             Name (DDTF, Buffer (0x0E)
16303             {
16304                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16305                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16306             })
16307             CreateByteField (DDTF, 0x01, DTAT)
16308             CreateByteField (DDTF, 0x08, DTFT)
16309             Name (DGTF, Buffer (0x15)
16310             {
16311                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16312                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16313                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16314             })
16315             CreateByteField (DGTF, 0x01, GTAT)
16316             CreateByteField (DGTF, 0x08, GTFT)
16317             Method (_EJ0, 1, NotSerialized)  // _EJx: Eject Device
16318             {
16319                 \_SB.PCI0.LPC.EC.BEJ0 (Arg0)
16320             }
16321 
16322             Method (_STA, 0, NotSerialized)  // _STA: Status
16323             {
16324                 If (\_SB.PCI0.LPC.EC.BSTA (0x01))
16325                 {
16326                     Return (0x0F)
16327                 }
16328                 Else
16329                 {
16330                     Return (0x00)
16331                 }
16332             }
16333 
16334             Name (_PLD, Buffer (0x10)  // _PLD: Physical Location of Device
16335             {
16336                 /* 0000 */   0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16337                 /* 0008 */   0x59, 0x11, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00
16338                 /*           Revision : 01     */
16339                 /*        IgnoreColor : 01     */
16340                 /*              Color : 000000 */
16341                 /*              Width : 0000   */
16342                 /*             Height : 0000   */
16343                 /*        UserVisible : 01     */
16344                 /*               Dock : 00     */
16345                 /*                Lid : 00     */
16346                 /*              Panel : 03     */
16347                 /*   VerticalPosition : 01     */
16348                 /* HorizontalPosition : 01     */
16349                 /*              Shape : 04     */
16350                 /*   GroupOrientation : 00     */
16351                 /*         GroupToken : 00     */
16352                 /*      GroupPosition : 00     */
16353                 /*                Bay : 01     */
16354                 /*          Ejectable : 01     */
16355                 /*  OspmEjectRequired : 01     */
16356                 /*      CabinetNumber : 00     */
16357                 /*     CardCageNumber : 00     */
16358                 /*          Reference : 00     */
16359                 /*           Rotation : 00     */
16360                 /*              Order : 00     */
16361                 /*     VerticalOffset : 0000   */
16362                 /*   HorizontalOffset : 0000   */
16363             })
16364             Name (_ADR, 0x0001FFFF)  // _ADR: Address
16365             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16366             {
16367                 Store (0x00, DIP0)
16368                 If (LEqual (SizeOf (Arg0), 0x0200))
16369                 {
16370                     CreateWordField (Arg0, 0x9C, M078)
16371                     CreateWordField (Arg0, 0x00, M000)
16372                     If (And (M000, 0xC000))
16373                     {
16374                         If (LNot (And (M000, 0x4000)))
16375                         {
16376                             Store (0x03, \IDET)
16377                             Store (0x03, \_SB.PCI0.LPC.EC.BDEV)
16378                         }
16379                     }
16380                     Else
16381                     {
16382                         Store (0x06, \IDET)
16383                         Store (0x06, \_SB.PCI0.LPC.EC.BDEV)
16384                     }
16385 
16386                     If (LAnd (\DPP1, And (M078, 0x08)))
16387                     {
16388                         Store (0x01, DIP0)
16389                     }
16390                 }
16391             }
16392 
16393             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16394             {
16395                 Store (\_SB.PCI0.LPC.EC.BGID (0x00), Local0)
16396                 If (LEqual (Local0, 0x07))
16397                 {
16398                     Store (0x06, Local0)
16399                 }
16400 
16401                 If (LEqual (Local0, 0x06))
16402                 {
16403                     If (DIP0)
16404                     {
16405                         Return (HPTF)
16406                     }
16407 
16408                     Return (HDTF)
16409                 }
16410 
16411                 If (DIP0)
16412                 {
16413                     Store (\CDFL, GTFT)
16414                     Store (\CDAH, GTAT)
16415                     Return (DGTF)
16416                 }
16417 
16418                 Store (\CDFL, DTFT)
16419                 Store (\CDAH, DTAT)
16420                 Return (DDTF)
16421             }
16422         }
16423 
16424         Device (PRT2)
16425         {
16426             Name (DIP0, 0x00)
16427             Name (HDTF, Buffer (0x0E)
16428             {
16429                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16430                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16431             })
16432             Name (ERTF, Buffer (0x15)
16433             {
16434                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16435                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16436                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16437             })
16438             Name (HPTF, Buffer (0x15)
16439             {
16440                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16441                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16442                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16443             })
16444             Name (HXTF, Buffer (0x1C)
16445             {
16446                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16447                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16448                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16449                 /* 0018 */   0x00, 0x00, 0xA0, 0xEF
16450             })
16451             Name (DDTF, Buffer (0x0E)
16452             {
16453                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16454                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16455             })
16456             CreateByteField (DDTF, 0x01, DTAT)
16457             CreateByteField (DDTF, 0x08, DTFT)
16458             Name (DGTF, Buffer (0x15)
16459             {
16460                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16461                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16462                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16463             })
16464             CreateByteField (DGTF, 0x01, GTAT)
16465             CreateByteField (DGTF, 0x08, GTFT)
16466             Name (_ADR, 0x0002FFFF)  // _ADR: Address
16467             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16468             {
16469                 Store (0x00, DIP0)
16470                 If (LEqual (SizeOf (Arg0), 0x0200))
16471                 {
16472                     CreateWordField (Arg0, 0x9C, M078)
16473                     If (LAnd (\DPP2, And (M078, 0x08)))
16474                     {
16475                         Store (0x01, DIP0)
16476                     }
16477                 }
16478             }
16479 
16480             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16481             {
16482                 If (DIP0)
16483                 {
16484                     Return (HPTF)
16485                 }
16486 
16487                 Return (HDTF)
16488             }
16489         }
16490 
16491         Device (PRT3)
16492         {
16493             Name (DIP0, 0x00)
16494             Name (HDTF, Buffer (0x0E)
16495             {
16496                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16497                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16498             })
16499             Name (ERTF, Buffer (0x15)
16500             {
16501                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16502                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16503                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16504             })
16505             Name (HPTF, Buffer (0x15)
16506             {
16507                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16508                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16509                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16510             })
16511             Name (HXTF, Buffer (0x1C)
16512             {
16513                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16514                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16515                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16516                 /* 0018 */   0x00, 0x00, 0xA0, 0xEF
16517             })
16518             Name (DDTF, Buffer (0x0E)
16519             {
16520                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16521                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16522             })
16523             CreateByteField (DDTF, 0x01, DTAT)
16524             CreateByteField (DDTF, 0x08, DTFT)
16525             Name (DGTF, Buffer (0x15)
16526             {
16527                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16528                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16529                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16530             })
16531             CreateByteField (DGTF, 0x01, GTAT)
16532             CreateByteField (DGTF, 0x08, GTFT)
16533             Name (_ADR, 0x0003FFFF)  // _ADR: Address
16534             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16535             {
16536                 Store (0x00, DIP0)
16537                 If (LEqual (SizeOf (Arg0), 0x0200))
16538                 {
16539                     CreateWordField (Arg0, 0x9C, M078)
16540                     If (LAnd (\DPP3, And (M078, 0x08)))
16541                     {
16542                         Store (0x01, DIP0)
16543                     }
16544                 }
16545             }
16546 
16547             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16548             {
16549                 If (DIP0)
16550                 {
16551                     Return (HPTF)
16552                 }
16553 
16554                 Return (HDTF)
16555             }
16556         }
16557 
16558         Device (PRT4)
16559         {
16560             Name (DIP0, 0x00)
16561             Name (HDTF, Buffer (0x0E)
16562             {
16563                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16564                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
16565             })
16566             Name (ERTF, Buffer (0x15)
16567             {
16568                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16569                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16570                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16571             })
16572             Name (HPTF, Buffer (0x15)
16573             {
16574                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16575                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03,
16576                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16577             })
16578             Name (HXTF, Buffer (0x1C)
16579             {
16580                 /* 0000 */   0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00,
16581                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00,
16582                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00,
16583                 /* 0018 */   0x00, 0x00, 0xA0, 0xEF
16584             })
16585             Name (DDTF, Buffer (0x0E)
16586             {
16587                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16588                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3
16589             })
16590             CreateByteField (DDTF, 0x01, DTAT)
16591             CreateByteField (DDTF, 0x08, DTFT)
16592             Name (DGTF, Buffer (0x15)
16593             {
16594                 /* 0000 */   0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00,
16595                 /* 0008 */   0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03,
16596                 /* 0010 */   0x00, 0x00, 0x00, 0xA0, 0xEF
16597             })
16598             CreateByteField (DGTF, 0x01, GTAT)
16599             CreateByteField (DGTF, 0x08, GTFT)
16600             Name (_ADR, 0x0004FFFF)  // _ADR: Address
16601             Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
16602             {
16603                 Store (0x00, DIP0)
16604                 If (LEqual (SizeOf (Arg0), 0x0200))
16605                 {
16606                     CreateWordField (Arg0, 0x9C, M078)
16607                     If (LAnd (\DPP4, And (M078, 0x08)))
16608                     {
16609                         Store (0x01, DIP0)
16610                     }
16611                 }
16612             }
16613 
16614             Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
16615             {
16616                 If (DIP0)
16617                 {
16618                     Return (HPTF)
16619                 }
16620 
16621                 Return (HDTF)
16622             }
16623         }
16624     }
16625 
16626     Scope (\_PR.CPU0)
16627     {
16628         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilites
16629         {
16630             Store (Zero, Local0)
16631             Store (\_SB.PCI0.LPC.EC.LPMD (), Local0)
16632             If (LNot (Local0))
16633             {
16634                 If (LOr (LAnd (\_SB.PCI0.LPC.EC.AC._PSR (), \TCFA), LAnd (LNot (\_SB.PCI0.LPC.EC.AC._PSR ()), \TCFD)))
16635                 {
16636                     If (And (\_SB.PCI0.LPC.EC.TSL0, 0x76))
16637                     {
16638                         Store (\LWST, Local0)
16639                     }
16640                 }
16641                 Else
16642                 {
16643                     If (And (\_SB.PCI0.LPC.EC.TSL0, 0x77))
16644                     {
16645                         Store (\LWST, Local0)
16646                     }
16647                 }
16648 
16649                 If (LNot (Local0))
16650                 {
16651                     If (LOr (\PPCA, \FTPS))
16652                     {
16653                         If (LLessEqual (\FTPS, \PPCA))
16654                         {
16655                             Store (\PPCA, Local0)
16656                         }
16657                         Else
16658                         {
16659                             Store (\FTPS, Local0)
16660                         }
16661                     }
16662                 }
16663             }
16664 
16665             If (LGreater (\_SB.PCI0.PEG.VID.CPPC, Local0))
16666             {
16667                 Store (\_SB.PCI0.PEG.VID.CPPC, Local0)
16668             }
16669 
16670             If (\APMD)
16671             {
16672                 If (LOr (\APMF, \_SB.PCI0.LPC.IVPW))
16673                 {
16674                     Store (\LWST, Local0)
16675                 }
16676                 Else
16677                 {
16678                     If (LNot (Local0))
16679                     {
16680                         If (And (\PPMF, 0x80))
16681                         {
16682                             Store (One, Local0)
16683                         }
16684                     }
16685                 }
16686             }
16687 
16688             If (LOr (LAnd (\GFPL, LNot (Local0)), LAnd (LNot (\GFPL), Local0)))
16689             {
16690                 Store (0x03E8, Local1)
16691                 While (\_SB.PCI0.LPC.EC.PIBS)
16692                 {
16693                     Sleep (One)
16694                     Decrement (Local1)
16695                     If (LNot (Local1))
16696                     {
16697                         Store (Local0, \PPCR)
16698                         Return (Local0)
16699                     }
16700                 }
16701 
16702                 If (Local0)
16703                 {
16704                     If (LNot (\GFPL))
16705                     {
16706                         Store (One, \GFPL)
16707                         Store (0x04, \_SB.PCI0.LPC.EC.PLSL)
16708                         Store (One, \_SB.PCI0.LPC.EC.PLTU)
16709                         Store (0x0D, \_SB.PCI0.LPC.EC.PLLS)
16710                         Store (Zero, \_SB.PCI0.LPC.EC.PLMS)
16711                     }
16712                 }
16713                 Else
16714                 {
16715                     If (\GFPL)
16716                     {
16717                         Store (Zero, \GFPL)
16718                         Store (0x04, \_SB.PCI0.LPC.EC.PLSL)
16719                         If (\MTAU)
16720                         {
16721                             Store (\MTAU, \_SB.PCI0.LPC.EC.PLTU)
16722                         }
16723                         Else
16724                         {
16725                             Store (0x1C, \_SB.PCI0.LPC.EC.PLTU)
16726                         }
16727 
16728                         Store (\PL1L, \_SB.PCI0.LPC.EC.PLLS)
16729                         Store (\PL1M, \_SB.PCI0.LPC.EC.PLMS)
16730                     }
16731                 }
16732             }
16733 
16734             If (LNot (Local0))
16735             {
16736                 If (LNot (\_SB.PCI0.LPC.EC.AC._PSR ()))
16737                 {
16738                     If (LAnd (LEqual (\VIGD, One), LEqual (\VDSC, Zero)))
16739                     {
16740                         Noop
16741                     }
16742                     Else
16743                     {
16744                         If (LOr (\TDNV, \_SB.PCI0.LPC.IVPW))
16745                         {
16746                             If (\CPUC)
16747                             {
16748                                 Noop
16749                             }
16750                             Else
16751                             {
16752                                 Store (\LPST, Local0)
16753                             }
16754                         }
16755                     }
16756                 }
16757             }
16758 
16759             Store (Local0, \PPCR)
16760             Return (Local0)
16761         }
16762 
16763         Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
16764         {
16765             If (LAnd (And (CFGD, One), And (PDC0, One)))
16766             {
16767                 Return (Package (0x02)
16768                 {
16769                     ResourceTemplate ()
16770                     {
16771                         Register (FFixedHW, 
16772                             0x00,               // Bit Width
16773                             0x00,               // Bit Offset
16774                             0x0000000000000000, // Address
16775                             ,)
16776                     }, 
16777 
16778                     ResourceTemplate ()
16779                     {
16780                         Register (FFixedHW, 
16781                             0x00,               // Bit Width
16782                             0x00,               // Bit Offset
16783                             0x0000000000000000, // Address
16784                             ,)
16785                     }
16786                 })
16787             }
16788 
16789             Return (Package (0x02)
16790             {
16791                 ResourceTemplate ()
16792                 {
16793                     Register (SystemIO, 
16794                         0x10,               // Bit Width
16795                         0x00,               // Bit Offset
16796                         0x0000000000000800, // Address
16797                         ,)
16798                 }, 
16799 
16800                 ResourceTemplate ()
16801                 {
16802                     Register (SystemIO, 
16803                         0x08,               // Bit Width
16804                         0x00,               // Bit Offset
16805                         0x00000000000000B3, // Address
16806                         ,)
16807                 }
16808             })
16809         }
16810 
16811         Method (XPSS, 0, NotSerialized)
16812         {
16813             If (And (PDC0, One))
16814             {
16815                 Return (NPSS)
16816             }
16817 
16818             Return (SPSS)
16819         }
16820 
16821         Name (SPSS, Package (0x10)
16822         {
16823             Package (0x06)
16824             {
16825                 0x00000A29, 
16826                 0x000088B8, 
16827                 0x0000006E, 
16828                 0x0000000A, 
16829                 0x00000083, 
16830                 0x00000000
16831             }, 
16832 
16833             Package (0x06)
16834             {
16835                 0x00000A28, 
16836                 0x000088B8, 
16837                 0x0000006E, 
16838                 0x0000000A, 
16839                 0x00000183, 
16840                 0x00000001
16841             }, 
16842 
16843             Package (0x06)
16844             {
16845                 0x000009C4, 
16846                 0x000081C2, 
16847                 0x0000006E, 
16848                 0x0000000A, 
16849                 0x00000283, 
16850                 0x00000002
16851             }, 
16852 
16853             Package (0x06)
16854             {
16855                 0x00000960, 
16856                 0x00007AEE, 
16857                 0x0000006E, 
16858                 0x0000000A, 
16859                 0x00000383, 
16860                 0x00000003
16861             }, 
16862 
16863             Package (0x06)
16864             {
16865                 0x000008FC, 
16866                 0x0000743B, 
16867                 0x0000006E, 
16868                 0x0000000A, 
16869                 0x00000483, 
16870                 0x00000004
16871             }, 
16872 
16873             Package (0x06)
16874             {
16875                 0x00000898, 
16876                 0x00006DAA, 
16877                 0x0000006E, 
16878                 0x0000000A, 
16879                 0x00000583, 
16880                 0x00000005
16881             }, 
16882 
16883             Package (0x06)
16884             {
16885                 0x00000834, 
16886                 0x0000673A, 
16887                 0x0000006E, 
16888                 0x0000000A, 
16889                 0x00000683, 
16890                 0x00000006
16891             }, 
16892 
16893             Package (0x06)
16894             {
16895                 0x000007D0, 
16896                 0x000060F0, 
16897                 0x0000006E, 
16898                 0x0000000A, 
16899                 0x00000783, 
16900                 0x00000007
16901             }, 
16902 
16903             Package (0x06)
16904             {
16905                 0x0000076C, 
16906                 0x00005C04, 
16907                 0x0000006E, 
16908                 0x0000000A, 
16909                 0x00000883, 
16910                 0x00000008
16911             }, 
16912 
16913             Package (0x06)
16914             {
16915                 0x00000708, 
16916                 0x000055F2, 
16917                 0x0000006E, 
16918                 0x0000000A, 
16919                 0x00000983, 
16920                 0x00000009
16921             }, 
16922 
16923             Package (0x06)
16924             {
16925                 0x000006A4, 
16926                 0x00005000, 
16927                 0x0000006E, 
16928                 0x0000000A, 
16929                 0x00000A83, 
16930                 0x0000000A
16931             }, 
16932 
16933             Package (0x06)
16934             {
16935                 0x00000640, 
16936                 0x00004A2D, 
16937                 0x0000006E, 
16938                 0x0000000A, 
16939                 0x00000B83, 
16940                 0x0000000B
16941             }, 
16942 
16943             Package (0x06)
16944             {
16945                 0x000005DC, 
16946                 0x0000447E, 
16947                 0x0000006E, 
16948                 0x0000000A, 
16949                 0x00000C83, 
16950                 0x0000000C
16951             }, 
16952 
16953             Package (0x06)
16954             {
16955                 0x00000578, 
16956                 0x00003EEA, 
16957                 0x0000006E, 
16958                 0x0000000A, 
16959                 0x00000D83, 
16960                 0x0000000D
16961             }, 
16962 
16963             Package (0x06)
16964             {
16965                 0x00000514, 
16966                 0x00003AA1, 
16967                 0x0000006E, 
16968                 0x0000000A, 
16969                 0x00000E83, 
16970                 0x0000000E
16971             }, 
16972 
16973             Package (0x06)
16974             {
16975                 0x000004B0, 
16976                 0x00003546, 
16977                 0x0000006E, 
16978                 0x0000000A, 
16979                 0x00000F83, 
16980                 0x0000000F
16981             }
16982         })
16983         Package (0x06)
16984         {
16985             0x80000000, 
16986             0x80000000, 
16987             0x80000000, 
16988             0x80000000, 
16989             0x80000000, 
16990             0x80000000
16991         }
16992 
16993         Package (0x06)
16994         {
16995             0x80000000, 
16996             0x80000000, 
16997             0x80000000, 
16998             0x80000000, 
16999             0x80000000, 
17000             0x80000000
17001         }
17002 
17003         Package (0x06)
17004         {
17005             0x80000000, 
17006             0x80000000, 
17007             0x80000000, 
17008             0x80000000, 
17009             0x80000000, 
17010             0x80000000
17011         }
17012 
17013         Package (0x06)
17014         {
17015             0x80000000, 
17016             0x80000000, 
17017             0x80000000, 
17018             0x80000000, 
17019             0x80000000, 
17020             0x80000000
17021         }
17022 
17023         Package (0x06)
17024         {
17025             0x80000000, 
17026             0x80000000, 
17027             0x80000000, 
17028             0x80000000, 
17029             0x80000000, 
17030             0x80000000
17031         }
17032 
17033         Package (0x06)
17034         {
17035             0x80000000, 
17036             0x80000000, 
17037             0x80000000, 
17038             0x80000000, 
17039             0x80000000, 
17040             0x80000000
17041         }
17042 
17043         Package (0x06)
17044         {
17045             0x80000000, 
17046             0x80000000, 
17047             0x80000000, 
17048             0x80000000, 
17049             0x80000000, 
17050             0x80000000
17051         }
17052 
17053         Package (0x06)
17054         {
17055             0x80000000, 
17056             0x80000000, 
17057             0x80000000, 
17058             0x80000000, 
17059             0x80000000, 
17060             0x80000000
17061         }
17062 
17063         Package (0x06)
17064         {
17065             0x80000000, 
17066             0x80000000, 
17067             0x80000000, 
17068             0x80000000, 
17069             0x80000000, 
17070             0x80000000
17071         }
17072 
17073         Package (0x06)
17074         {
17075             0x80000000, 
17076             0x80000000, 
17077             0x80000000, 
17078             0x80000000, 
17079             0x80000000, 
17080             0x80000000
17081         }
17082 
17083         Package (0x06)
17084         {
17085             0x80000000, 
17086             0x80000000, 
17087             0x80000000, 
17088             0x80000000, 
17089             0x80000000, 
17090             0x80000000
17091         }
17092 
17093         Package (0x06)
17094         {
17095             0x80000000, 
17096             0x80000000, 
17097             0x80000000, 
17098             0x80000000, 
17099             0x80000000, 
17100             0x80000000
17101         }
17102 
17103         Package (0x06)
17104         {
17105             0x80000000, 
17106             0x80000000, 
17107             0x80000000, 
17108             0x80000000, 
17109             0x80000000, 
17110             0x80000000
17111         }
17112 
17113         Package (0x06)
17114         {
17115             0x80000000, 
17116             0x80000000, 
17117             0x80000000, 
17118             0x80000000, 
17119             0x80000000, 
17120             0x80000000
17121         }
17122 
17123         Package (0x06)
17124         {
17125             0x80000000, 
17126             0x80000000, 
17127             0x80000000, 
17128             0x80000000, 
17129             0x80000000, 
17130             0x80000000
17131         }
17132 
17133         Package (0x06)
17134         {
17135             0x80000000, 
17136             0x80000000, 
17137             0x80000000, 
17138             0x80000000, 
17139             0x80000000, 
17140             0x80000000
17141         }
17142 
17143         Name (_PSS, Package (0x10)  // _PSS: Performance Supported States
17144         {
17145             Package (0x06)
17146             {
17147                 0x00000A29, 
17148                 0x000088B8, 
17149                 0x0000000A, 
17150                 0x0000000A, 
17151                 0x00002100, 
17152                 0x00002100
17153             }, 
17154 
17155             Package (0x06)
17156             {
17157                 0x00000A28, 
17158                 0x000088B8, 
17159                 0x0000000A, 
17160                 0x0000000A, 
17161                 0x00001A00, 
17162                 0x00001A00
17163             }, 
17164 
17165             Package (0x06)
17166             {
17167                 0x000009C4, 
17168                 0x000081C2, 
17169                 0x0000000A, 
17170                 0x0000000A, 
17171                 0x00001900, 
17172                 0x00001900
17173             }, 
17174 
17175             Package (0x06)
17176             {
17177                 0x00000960, 
17178                 0x00007AEE, 
17179                 0x0000000A, 
17180                 0x0000000A, 
17181                 0x00001800, 
17182                 0x00001800
17183             }, 
17184 
17185             Package (0x06)
17186             {
17187                 0x000008FC, 
17188                 0x0000743B, 
17189                 0x0000000A, 
17190                 0x0000000A, 
17191                 0x00001700, 
17192                 0x00001700
17193             }, 
17194 
17195             Package (0x06)
17196             {
17197                 0x00000898, 
17198                 0x00006DAA, 
17199                 0x0000000A, 
17200                 0x0000000A, 
17201                 0x00001600, 
17202                 0x00001600
17203             }, 
17204 
17205             Package (0x06)
17206             {
17207                 0x00000834, 
17208                 0x0000673A, 
17209                 0x0000000A, 
17210                 0x0000000A, 
17211                 0x00001500, 
17212                 0x00001500
17213             }, 
17214 
17215             Package (0x06)
17216             {
17217                 0x000007D0, 
17218                 0x000060F0, 
17219                 0x0000000A, 
17220                 0x0000000A, 
17221                 0x00001400, 
17222                 0x00001400
17223             }, 
17224 
17225             Package (0x06)
17226             {
17227                 0x0000076C, 
17228                 0x00005C04, 
17229                 0x0000000A, 
17230                 0x0000000A, 
17231                 0x00001300, 
17232                 0x00001300
17233             }, 
17234 
17235             Package (0x06)
17236             {
17237                 0x00000708, 
17238                 0x000055F2, 
17239                 0x0000000A, 
17240                 0x0000000A, 
17241                 0x00001200, 
17242                 0x00001200
17243             }, 
17244 
17245             Package (0x06)
17246             {
17247                 0x000006A4, 
17248                 0x00005000, 
17249                 0x0000000A, 
17250                 0x0000000A, 
17251                 0x00001100, 
17252                 0x00001100
17253             }, 
17254 
17255             Package (0x06)
17256             {
17257                 0x00000640, 
17258                 0x00004A2D, 
17259                 0x0000000A, 
17260                 0x0000000A, 
17261                 0x00001000, 
17262                 0x00001000
17263             }, 
17264 
17265             Package (0x06)
17266             {
17267                 0x000005DC, 
17268                 0x0000447E, 
17269                 0x0000000A, 
17270                 0x0000000A, 
17271                 0x00000F00, 
17272                 0x00000F00
17273             }, 
17274 
17275             Package (0x06)
17276             {
17277                 0x00000578, 
17278                 0x00003EEA, 
17279                 0x0000000A, 
17280                 0x0000000A, 
17281                 0x00000E00, 
17282                 0x00000E00
17283             }, 
17284 
17285             Package (0x06)
17286             {
17287                 0x00000514, 
17288                 0x00003AA1, 
17289                 0x0000000A, 
17290                 0x0000000A, 
17291                 0x00000D00, 
17292                 0x00000D00
17293             }, 
17294 
17295             Package (0x06)
17296             {
17297                 0x000004B0, 
17298                 0x00003546, 
17299                 0x0000000A, 
17300                 0x0000000A, 
17301                 0x00000C00, 
17302                 0x00000C00
17303             }
17304         })
17305         Package (0x06)
17306         {
17307             0x80000000, 
17308             0x80000000, 
17309             0x80000000, 
17310             0x80000000, 
17311             0x80000000, 
17312             0x80000000
17313         }
17314 
17315         Package (0x06)
17316         {
17317             0x80000000, 
17318             0x80000000, 
17319             0x80000000, 
17320             0x80000000, 
17321             0x80000000, 
17322             0x80000000
17323         }
17324 
17325         Package (0x06)
17326         {
17327             0x80000000, 
17328             0x80000000, 
17329             0x80000000, 
17330             0x80000000, 
17331             0x80000000, 
17332             0x80000000
17333         }
17334 
17335         Package (0x06)
17336         {
17337             0x80000000, 
17338             0x80000000, 
17339             0x80000000, 
17340             0x80000000, 
17341             0x80000000, 
17342             0x80000000
17343         }
17344 
17345         Package (0x06)
17346         {
17347             0x80000000, 
17348             0x80000000, 
17349             0x80000000, 
17350             0x80000000, 
17351             0x80000000, 
17352             0x80000000
17353         }
17354 
17355         Package (0x06)
17356         {
17357             0x80000000, 
17358             0x80000000, 
17359             0x80000000, 
17360             0x80000000, 
17361             0x80000000, 
17362             0x80000000
17363         }
17364 
17365         Package (0x06)
17366         {
17367             0x80000000, 
17368             0x80000000, 
17369             0x80000000, 
17370             0x80000000, 
17371             0x80000000, 
17372             0x80000000
17373         }
17374 
17375         Package (0x06)
17376         {
17377             0x80000000, 
17378             0x80000000, 
17379             0x80000000, 
17380             0x80000000, 
17381             0x80000000, 
17382             0x80000000
17383         }
17384 
17385         Package (0x06)
17386         {
17387             0x80000000, 
17388             0x80000000, 
17389             0x80000000, 
17390             0x80000000, 
17391             0x80000000, 
17392             0x80000000
17393         }
17394 
17395         Package (0x06)
17396         {
17397             0x80000000, 
17398             0x80000000, 
17399             0x80000000, 
17400             0x80000000, 
17401             0x80000000, 
17402             0x80000000
17403         }
17404 
17405         Package (0x06)
17406         {
17407             0x80000000, 
17408             0x80000000, 
17409             0x80000000, 
17410             0x80000000, 
17411             0x80000000, 
17412             0x80000000
17413         }
17414 
17415         Package (0x06)
17416         {
17417             0x80000000, 
17418             0x80000000, 
17419             0x80000000, 
17420             0x80000000, 
17421             0x80000000, 
17422             0x80000000
17423         }
17424 
17425         Package (0x06)
17426         {
17427             0x80000000, 
17428             0x80000000, 
17429             0x80000000, 
17430             0x80000000, 
17431             0x80000000, 
17432             0x80000000
17433         }
17434 
17435         Package (0x06)
17436         {
17437             0x80000000, 
17438             0x80000000, 
17439             0x80000000, 
17440             0x80000000, 
17441             0x80000000, 
17442             0x80000000
17443         }
17444 
17445         Package (0x06)
17446         {
17447             0x80000000, 
17448             0x80000000, 
17449             0x80000000, 
17450             0x80000000, 
17451             0x80000000, 
17452             0x80000000
17453         }
17454 
17455         Package (0x06)
17456         {
17457             0x80000000, 
17458             0x80000000, 
17459             0x80000000, 
17460             0x80000000, 
17461             0x80000000, 
17462             0x80000000
17463         }
17464 
17465         Name (PSDF, Zero)
17466         Method (_PSD, 0, NotSerialized)  // _PSD: Power State Dependencies
17467         {
17468             If (LNot (PSDF))
17469             {
17470                 Store (TCNT, Index (DerefOf (Index (HPSD, Zero)), 0x04))
17471                 Store (TCNT, Index (DerefOf (Index (SPSD, Zero)), 0x04))
17472                 Store (Ones, PSDF)
17473             }
17474 
17475             If (And (PDC0, 0x0800))
17476             {
17477                 Return (HPSD)
17478             }
17479 
17480             Return (SPSD)
17481         }
17482 
17483         Name (HPSD, Package (0x01)
17484         {
17485             Package (0x05)
17486             {
17487                 0x05, 
17488                 Zero, 
17489                 Zero, 
17490                 0xFE, 
17491                 0x80
17492             }
17493         })
17494         Name (SPSD, Package (0x01)
17495         {
17496             Package (0x05)
17497             {
17498                 0x05, 
17499                 Zero, 
17500                 Zero, 
17501                 0xFC, 
17502                 0x80
17503             }
17504         })
17505     }
17506 
17507     Scope (\)
17508     {
17509         Name (SSDT, Package (0x0C)
17510         {
17511             "CPU0IST ", 
17512             0xD367E018, 
17513             0x00000CB5, 
17514             "APIST   ", 
17515             0xDAE3BA98, 
17516             0x00000303, 
17517             "CPU0CST ", 
17518             0xDAE3A018, 
17519             0x00000A01, 
17520             "APCST   ", 
17521             0xDAE39D98, 
17522             0x00000119
17523         })
17524         Name (CFGD, 0x0066F6FF)
17525         Name (\PDC0, 0x80000000)
17526         Name (\PDC1, 0x80000000)
17527         Name (\PDC2, 0x80000000)
17528         Name (\PDC3, 0x80000000)
17529         Name (\PDC4, 0x80000000)
17530         Name (\PDC5, 0x80000000)
17531         Name (\PDC6, 0x80000000)
17532         Name (\PDC7, 0x80000000)
17533         Name (\SDTL, Zero)
17534     }
17535 
17536     Scope (\_PR)
17537     {
17538         OperationRegion (PPMT, SystemMemory, 0xDAF58F98, 0x0029)
17539         Field (PPMT, AnyAcc, Lock, Preserve)
17540         {
17541             PGRV,   8, 
17542             Offset (0x06), 
17543             ACRT,   8, 
17544             APSV,   8, 
17545             AAC0,   8, 
17546             CPID,   32, 
17547             CPPC,   8, 
17548             CCTP,   8, 
17549             CLVL,   8, 
17550             CBMI,   8, 
17551             PL10,   16, 
17552             PL20,   16, 
17553             PLW0,   8, 
17554             CTC0,   8, 
17555             TAR0,   8, 
17556             PPC0,   8, 
17557             PL11,   16, 
17558             PL21,   16, 
17559             PLW1,   8, 
17560             CTC1,   8, 
17561             TAR1,   8, 
17562             PPC1,   8, 
17563             PL12,   16, 
17564             PL22,   16, 
17565             PLW2,   8, 
17566             CTC2,   8, 
17567             TAR2,   8, 
17568             PPC2,   8
17569         }
17570     }
17571 
17572     Scope (\_PR.CPU0)
17573     {
17574         Name (HI0, Zero)
17575         Name (HC0, Zero)
17576         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17577         {
17578             Store (CPDC (Arg0), Local0)
17579             GCAP (Local0)
17580             Return (Local0)
17581         }
17582 
17583         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17584         {
17585             Store (COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17586             GCAP (Local0)
17587             Return (Local0)
17588         }
17589 
17590         Method (CPDC, 1, NotSerialized)
17591         {
17592             CreateDWordField (Arg0, Zero, REVS)
17593             CreateDWordField (Arg0, 0x04, SIZE)
17594             Store (SizeOf (Arg0), Local0)
17595             Store (Subtract (Local0, 0x08), Local1)
17596             CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
17597             Name (STS0, Buffer (0x04)
17598             {
17599                  0x00, 0x00, 0x00, 0x00
17600             })
17601             Concatenate (STS0, TEMP, Local2)
17602             Return (COSC (Buffer (0x10)
17603                 {
17604                     /* 0000 */   0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
17605                     /* 0008 */   0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
17606                 }, REVS, SIZE, Local2))
17607         }
17608 
17609         Method (COSC, 4, NotSerialized)
17610         {
17611             CreateDWordField (Arg3, Zero, STS0)
17612             CreateDWordField (Arg3, 0x04, CAP0)
17613             CreateDWordField (Arg0, Zero, IID0)
17614             CreateDWordField (Arg0, 0x04, IID1)
17615             CreateDWordField (Arg0, 0x08, IID2)
17616             CreateDWordField (Arg0, 0x0C, IID3)
17617             Name (UID0, Buffer (0x10)
17618             {
17619                 /* 0000 */   0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
17620                 /* 0008 */   0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
17621             })
17622             CreateDWordField (UID0, Zero, EID0)
17623             CreateDWordField (UID0, 0x04, EID1)
17624             CreateDWordField (UID0, 0x08, EID2)
17625             CreateDWordField (UID0, 0x0C, EID3)
17626             If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
17627                 LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
17628             {
17629                 Store (0x06, STS0)
17630                 Return (Arg3)
17631             }
17632 
17633             If (LNotEqual (Arg1, One))
17634             {
17635                 Store (0x0A, STS0)
17636                 Return (Arg3)
17637             }
17638 
17639             Return (Arg3)
17640         }
17641 
17642         Method (GCAP, 1, NotSerialized)
17643         {
17644             CreateDWordField (Arg0, Zero, STS0)
17645             CreateDWordField (Arg0, 0x04, CAP0)
17646             If (LOr (LEqual (STS0, 0x06), LEqual (STS0, 0x0A)))
17647             {
17648                 Return (Zero)
17649             }
17650 
17651             If (And (STS0, One))
17652             {
17653                 And (CAP0, 0x0BFF, CAP0)
17654                 Return (Zero)
17655             }
17656 
17657             Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
17658             If (And (CFGD, 0x3E))
17659             {
17660                 If (LAnd (LAnd (And (CFGD, 0x0400), And (PDC0, 0x18
17661                     )), LNot (And (SDTL, 0x02))))
17662                 {
17663                     Or (SDTL, 0x02, SDTL)
17664                     OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
17665                         )))
17666                     Load (CST0, HC0)
17667                 }
17668             }
17669 
17670             Return (Zero)
17671         }
17672     }
17673 
17674     Scope (\_PR.CPU1)
17675     {
17676         Name (HI1, Zero)
17677         Name (HC1, Zero)
17678         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17679         {
17680             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17681             GCAP (Local0)
17682             Return (Local0)
17683         }
17684 
17685         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17686         {
17687             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17688             GCAP (Local0)
17689             Return (Local0)
17690         }
17691 
17692         Method (GCAP, 1, NotSerialized)
17693         {
17694             CreateDWordField (Arg0, Zero, STS1)
17695             CreateDWordField (Arg0, 0x04, CAP1)
17696             If (LOr (LEqual (STS1, 0x06), LEqual (STS1, 0x0A)))
17697             {
17698                 Return (Zero)
17699             }
17700 
17701             If (And (STS1, One))
17702             {
17703                 And (CAP1, 0x0BFF, CAP1)
17704                 Return (Zero)
17705             }
17706 
17707             Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
17708             If (LEqual (And (PDC1, 0x09), 0x09))
17709             {
17710                 APPT ()
17711             }
17712 
17713             If (And (PDC1, 0x18))
17714             {
17715                 APCT ()
17716             }
17717 
17718             Store (PDC1, PDC0)
17719             Return (Zero)
17720         }
17721 
17722         Method (APCT, 0, NotSerialized)
17723         {
17724             If (LAnd (And (CFGD, 0x2E), LNot (And (SDTL, 0x20
17725                 ))))
17726             {
17727                 Or (SDTL, 0x20, SDTL)
17728                 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
17729                     )))
17730                 Load (CST1, HC1)
17731             }
17732         }
17733 
17734         Method (APPT, 0, NotSerialized)
17735         {
17736             If (LAnd (And (CFGD, One), LNot (And (SDTL, 0x10
17737                 ))))
17738             {
17739                 Or (SDTL, 0x10, SDTL)
17740                 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
17741                     )))
17742                 Load (IST1, HI1)
17743             }
17744         }
17745     }
17746 
17747     Scope (\_PR.CPU2)
17748     {
17749         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17750         {
17751             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17752             GCAP (Local0)
17753             Return (Local0)
17754         }
17755 
17756         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17757         {
17758             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17759             GCAP (Local0)
17760             Return (Local0)
17761         }
17762 
17763         Method (GCAP, 1, NotSerialized)
17764         {
17765             CreateDWordField (Arg0, Zero, STS2)
17766             CreateDWordField (Arg0, 0x04, CAP2)
17767             If (LOr (LEqual (STS2, 0x06), LEqual (STS2, 0x0A)))
17768             {
17769                 Return (Zero)
17770             }
17771 
17772             If (And (STS2, One))
17773             {
17774                 And (CAP2, 0x0BFF, CAP2)
17775                 Return (Zero)
17776             }
17777 
17778             Or (And (PDC2, 0x7FFFFFFF), CAP2, PDC2)
17779             If (LEqual (And (PDC2, 0x09), 0x09))
17780             {
17781                 \_PR.CPU1.APPT ()
17782             }
17783 
17784             If (And (PDC2, 0x18))
17785             {
17786                 \_PR.CPU1.APCT ()
17787             }
17788 
17789             Store (PDC2, PDC0)
17790             Return (Zero)
17791         }
17792     }
17793 
17794     Scope (\_PR.CPU3)
17795     {
17796         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17797         {
17798             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17799             GCAP (Local0)
17800             Return (Local0)
17801         }
17802 
17803         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17804         {
17805             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17806             GCAP (Local0)
17807             Return (Local0)
17808         }
17809 
17810         Method (GCAP, 1, NotSerialized)
17811         {
17812             CreateDWordField (Arg0, Zero, STS3)
17813             CreateDWordField (Arg0, 0x04, CAP3)
17814             If (LOr (LEqual (STS3, 0x06), LEqual (STS3, 0x0A)))
17815             {
17816                 Return (Zero)
17817             }
17818 
17819             If (And (STS3, One))
17820             {
17821                 And (CAP3, 0x0BFF, CAP3)
17822                 Return (Zero)
17823             }
17824 
17825             Or (And (PDC3, 0x7FFFFFFF), CAP3, PDC3)
17826             If (LEqual (And (PDC3, 0x09), 0x09))
17827             {
17828                 \_PR.CPU1.APPT ()
17829             }
17830 
17831             If (And (PDC3, 0x18))
17832             {
17833                 \_PR.CPU1.APCT ()
17834             }
17835 
17836             Store (PDC3, PDC0)
17837             Return (Zero)
17838         }
17839     }
17840 
17841     Scope (\_PR.CPU4)
17842     {
17843         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17844         {
17845             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17846             GCAP (Local0)
17847             Return (Local0)
17848         }
17849 
17850         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17851         {
17852             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17853             GCAP (Local0)
17854             Return (Local0)
17855         }
17856 
17857         Method (GCAP, 1, NotSerialized)
17858         {
17859             CreateDWordField (Arg0, Zero, STS4)
17860             CreateDWordField (Arg0, 0x04, CAP4)
17861             If (LOr (LEqual (STS4, 0x06), LEqual (STS4, 0x0A)))
17862             {
17863                 Return (Zero)
17864             }
17865 
17866             If (And (STS4, One))
17867             {
17868                 And (CAP4, 0x0BFF, CAP4)
17869                 Return (Zero)
17870             }
17871 
17872             Or (And (PDC4, 0x7FFFFFFF), CAP4, PDC4)
17873             If (LEqual (And (PDC4, 0x09), 0x09))
17874             {
17875                 \_PR.CPU1.APPT ()
17876             }
17877 
17878             If (And (PDC4, 0x18))
17879             {
17880                 \_PR.CPU1.APCT ()
17881             }
17882 
17883             Store (PDC4, PDC0)
17884             Return (Zero)
17885         }
17886     }
17887 
17888     Scope (\_PR.CPU5)
17889     {
17890         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17891         {
17892             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17893             GCAP (Local0)
17894             Return (Local0)
17895         }
17896 
17897         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17898         {
17899             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17900             GCAP (Local0)
17901             Return (Local0)
17902         }
17903 
17904         Method (GCAP, 1, NotSerialized)
17905         {
17906             CreateDWordField (Arg0, Zero, STS5)
17907             CreateDWordField (Arg0, 0x04, CAP5)
17908             If (LOr (LEqual (STS5, 0x06), LEqual (STS5, 0x0A)))
17909             {
17910                 Return (Zero)
17911             }
17912 
17913             If (And (STS5, One))
17914             {
17915                 And (CAP5, 0x0BFF, CAP5)
17916                 Return (Zero)
17917             }
17918 
17919             Or (And (PDC5, 0x7FFFFFFF), CAP5, PDC5)
17920             If (LEqual (And (PDC5, 0x09), 0x09))
17921             {
17922                 \_PR.CPU1.APPT ()
17923             }
17924 
17925             If (And (PDC5, 0x18))
17926             {
17927                 \_PR.CPU1.APCT ()
17928             }
17929 
17930             Store (PDC5, PDC0)
17931             Return (Zero)
17932         }
17933     }
17934 
17935     Scope (\_PR.CPU6)
17936     {
17937         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17938         {
17939             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17940             GCAP (Local0)
17941             Return (Local0)
17942         }
17943 
17944         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17945         {
17946             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17947             GCAP (Local0)
17948             Return (Local0)
17949         }
17950 
17951         Method (GCAP, 1, NotSerialized)
17952         {
17953             CreateDWordField (Arg0, Zero, STS6)
17954             CreateDWordField (Arg0, 0x04, CAP6)
17955             If (LOr (LEqual (STS6, 0x06), LEqual (STS6, 0x0A)))
17956             {
17957                 Return (Zero)
17958             }
17959 
17960             If (And (STS6, One))
17961             {
17962                 And (CAP6, 0x0BFF, CAP6)
17963                 Return (Zero)
17964             }
17965 
17966             Or (And (PDC6, 0x7FFFFFFF), CAP6, PDC6)
17967             If (LEqual (And (PDC6, 0x09), 0x09))
17968             {
17969                 \_PR.CPU1.APPT ()
17970             }
17971 
17972             If (And (PDC6, 0x18))
17973             {
17974                 \_PR.CPU1.APCT ()
17975             }
17976 
17977             Store (PDC6, PDC0)
17978             Return (Zero)
17979         }
17980     }
17981 
17982     Scope (\_PR.CPU7)
17983     {
17984         Method (_PDC, 1, NotSerialized)  // _PDC: Processor Driver Capabilities
17985         {
17986             Store (\_PR.CPU0.CPDC (Arg0), Local0)
17987             GCAP (Local0)
17988             Return (Local0)
17989         }
17990 
17991         Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
17992         {
17993             Store (\_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3), Local0)
17994             GCAP (Local0)
17995             Return (Local0)
17996         }
17997 
17998         Method (GCAP, 1, NotSerialized)
17999         {
18000             CreateDWordField (Arg0, Zero, STS7)
18001             CreateDWordField (Arg0, 0x04, CAP7)
18002             If (LOr (LEqual (STS7, 0x06), LEqual (STS7, 0x0A)))
18003             {
18004                 Return (Zero)
18005             }
18006 
18007             If (And (STS7, One))
18008             {
18009                 And (CAP7, 0x0BFF, CAP7)
18010                 Return (Zero)
18011             }
18012 
18013             Or (And (PDC7, 0x7FFFFFFF), CAP7, PDC7)
18014             If (LEqual (And (PDC7, 0x09), 0x09))
18015             {
18016                 \_PR.CPU1.APPT ()
18017             }
18018 
18019             If (And (PDC7, 0x18))
18020             {
18021                 \_PR.CPU1.APCT ()
18022             }
18023 
18024             Store (PDC7, PDC0)
18025             Return (Zero)
18026         }
18027     }
18028 }

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] (2014-09-22T16:35:40+0000, 597.3 KB) [[attachment:acpidump.txt]]
  • [get | view] (2014-09-22T16:35:53+0000, 8.1 KB) [[attachment:devinfo.txt]]
  • [get | view] (2014-09-22T16:38:29+0000, 9.5 KB) [[attachment:dmesg.boot.txt]]
  • [get | view] (2014-09-22T16:38:35+0000, 1.8 KB) [[attachment:dmesg.sleep_wake.txt]]
  • [get | view] (2014-09-22T16:35:22+0000, 3.7 KB) [[attachment:pciconf.txt]]
 All files | Selected Files: delete move to page copy to page

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