Attachment 'acpidump.out.txt'

Download

   1 /*
   2   RSD PTR: OEM=ALASKA, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000d7db4728, length=36, cksum=187
   4  */
   5 /*
   6   XSDT: Length=300, Revision=1, Checksum=25,
   7 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
   8 	Creator ID=AMI, Creator Revision=0x1000013
   9 	Entries={ 0x00000000d2d4e000, 0x00000000d2d58000, 0x00000000d2d57000, 0x00000000d2d4f000, 0x00000000d2d3f000, 0x00000000d2d3e000, 0x00000000d2d3d000, 0x00000000d2d32000, 0x00000000d2d31000, 0x00000000d2d30000, 0x00000000d2d2a000, 0x00000000d2d29000, 0x00000000d2d28000, 0x00000000d2d26000, 0x00000000d2d24000, 0x00000000d2d22000, 0x00000000d2d21000, 0x00000000d2d19000, 0x00000000d2d18000, 0x00000000d2d17000, 0x00000000d2d16000, 0x00000000d2d15000, 0x00000000d2d13000, 0x00000000d2d12000, 0x00000000d2d08000, 0x00000000d2d02000, 0x00000000d2d01000, 0x00000000d2d00000, 0x00000000d2cff000, 0x00000000d2cfe000, 0x00000000d2cfd000, 0x00000000d2cfc000, 0x00000000d2cfa000 }
  10  */
  11 /*
  12   FACP: Length=276, Revision=6, Checksum=10,
  13 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  14 	Creator ID=AMI, Creator Revision=0x10013
  15  	FACS=0xd7d82000, DSDT=0xd2d40000
  16 	INT_MODEL=PIC
  17 	Preferred_PM_Profile=Mobile (2)
  18 	SCI_INT=9
  19 	SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0x0
  21 	PM1a_EVT_BLK=0x800-0x803
  22 	PM1a_CNT_BLK=0x804-0x805
  23 	PM2_CNT_BLK=0xb4-0xb4
  24 	PM_TMR_BLK=0x808-0x80b
  25 	GPE0_BLK=0x820-0x827
  26 	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
  27 	FLUSH_SIZE=1024, FLUSH_STRIDE=16
  28 	DUTY_OFFSET=1, DUTY_WIDTH=3
  29 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  30 	IAPC_BOOT_ARCH=
  31 	Flags={WBINVD,C1_SUPPORTED,C2_MP_SUPPORTED,POWER_BUTTON,SLEEP_BUTTON,S4_RTC_WAKE,32BIT_TIMER,RESET_REGISTER,PCI_EXPRESS_WAKE,PLATFORM_CLOCK,LOW_POWER_S0}
  32 	RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xbe
  33 	X_FACS=0x0000000000000000, X_DSDT=0x00000000d2d40000
  34 	X_PM1a_EVT_BLK=0x800:0[32] (IO)
  35 	X_PM1a_CNT_BLK=0x804:0[16] (IO)
  36 	X_PM2_CNT_BLK=0xb4:0[8] (IO)
  37 	X_PM_TMR_BLK=0x808:0[32] (IO)
  38 	X_GPE0_BLK=0x820:0[64] (IO)
  39  */
  40 /*
  41   DSDT: Length=55691, Revision=2, Checksum=221,
  42 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  43 	Creator ID=INTL, Creator Revision=0x20200717
  44  */
  45 /*
  46   SSDT: Length=1395, Revision=1, Checksum=130,
  47 	OEMID=AMD, OEM Table ID=ACDC, OEM Revision=0x1,
  48 	Creator ID=INTL, Creator Revision=0x20200717
  49  */
  50 /*
  51   SSDT: Length=460, Revision=1, Checksum=239,
  52 	OEMID=AMD, OEM Table ID=STD3, OEM Revision=0x1,
  53 	Creator ID=INTL, Creator Revision=0x20200717
  54  */
  55 /*
  56   SSDT: Length=32603, Revision=2, Checksum=174,
  57 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x2,
  58 	Creator ID=MSFT, Creator Revision=0x2000002
  59  */
  60 /*
  61   FIDT: Length=156, Revision=1, Checksum=219,
  62 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  63 	Creator ID=AMI, Creator Revision=0x10013
  64  */
  65 /*
  66   MCFG: Length=60, Revision=1, Checksum=132,
  67 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  68 	Creator ID=MSFT, Creator Revision=0x10013
  69 
  70 	Base Address=0x00000000e0000000
  71 	Segment Group=0x0000
  72 	Start Bus=0
  73 	End Bus=255
  74  */
  75 /*
  76   FPDT: Length=68, Revision=1, Checksum=13,
  77 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  78 	Creator ID=AMI, Creator Revision=0x1000013
  79  */
  80 /*
  81   VFCT: Length=44676, Revision=1, Checksum=153,
  82 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1,
  83 	Creator ID=AMD, Creator Revision=0x31504f47
  84  */
  85 /*
  86   BGRT: Length=56, Revision=1, Checksum=205,
  87 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
  88 	Creator ID=AMI, Creator Revision=0x10013
  89  */
  90 /*
  91   TPM2: Length=76, Revision=4, Checksum=138,
  92 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1,
  93 	Creator ID=AMI, Creator Revision=0x0
  94 		ControlArea=fd210510
  95 		StartMethod=2
  96  */
  97 /*
  98   SSDT: Length=21332, Revision=2, Checksum=247,
  99 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 100 	Creator ID=AMD, Creator Revision=0x1
 101  */
 102 /*
 103   CRAT: Length=3816, Revision=1, Checksum=149,
 104 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 105 	Creator ID=AMD, Creator Revision=0x1
 106  */
 107 /*
 108   CDIT: Length=41, Revision=1, Checksum=231,
 109 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 110 	Creator ID=AMD, Creator Revision=0x1
 111  */
 112 /*
 113   SSDT: Length=5528, Revision=1, Checksum=13,
 114 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 115 	Creator ID=INTL, Creator Revision=0x20200717
 116  */
 117 /*
 118   SSDT: Length=5836, Revision=1, Checksum=103,
 119 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 120 	Creator ID=INTL, Creator Revision=0x20200717
 121  */
 122 /*
 123   SSDT: Length=4742, Revision=1, Checksum=186,
 124 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 125 	Creator ID=INTL, Creator Revision=0x20200717
 126  */
 127 /*
 128   SSDT: Length=211, Revision=1, Checksum=164,
 129 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 130 	Creator ID=INTL, Creator Revision=0x20200717
 131  */
 132 /*
 133   SSDT: Length=32445, Revision=1, Checksum=84,
 134 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 135 	Creator ID=INTL, Creator Revision=0x20200717
 136  */
 137 /*
 138   WSMT: Length=40, Revision=1, Checksum=101,
 139 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
 140 	Creator ID=AMI, Creator Revision=0x10013
 141  */
 142 /*
 143   APIC: Length=232, Revision=5, Checksum=9,
 144 	OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
 145 	Creator ID=AMI, Creator Revision=0x10013
 146 	Local APIC ADDR=0xfee00000
 147 	Flags={PC-AT}
 148 
 149 	Type=Local APIC
 150 	ACPI CPU=1
 151 	Flags={ENABLED}
 152 	APIC ID=0
 153 
 154 	Type=Local APIC
 155 	ACPI CPU=2
 156 	Flags={ENABLED}
 157 	APIC ID=1
 158 
 159 	Type=Local APIC
 160 	ACPI CPU=3
 161 	Flags={ENABLED}
 162 	APIC ID=2
 163 
 164 	Type=Local APIC
 165 	ACPI CPU=4
 166 	Flags={ENABLED}
 167 	APIC ID=3
 168 
 169 	Type=Local APIC
 170 	ACPI CPU=5
 171 	Flags={ENABLED}
 172 	APIC ID=4
 173 
 174 	Type=Local APIC
 175 	ACPI CPU=6
 176 	Flags={ENABLED}
 177 	APIC ID=5
 178 
 179 	Type=Local APIC
 180 	ACPI CPU=7
 181 	Flags={ENABLED}
 182 	APIC ID=6
 183 
 184 	Type=Local APIC
 185 	ACPI CPU=8
 186 	Flags={ENABLED}
 187 	APIC ID=7
 188 
 189 	Type=Local APIC
 190 	ACPI CPU=9
 191 	Flags={ENABLED}
 192 	APIC ID=8
 193 
 194 	Type=Local APIC
 195 	ACPI CPU=10
 196 	Flags={ENABLED}
 197 	APIC ID=9
 198 
 199 	Type=Local APIC
 200 	ACPI CPU=11
 201 	Flags={ENABLED}
 202 	APIC ID=10
 203 
 204 	Type=Local APIC
 205 	ACPI CPU=12
 206 	Flags={ENABLED}
 207 	APIC ID=11
 208 
 209 	Type=Local APIC
 210 	ACPI CPU=13
 211 	Flags={ENABLED}
 212 	APIC ID=12
 213 
 214 	Type=Local APIC
 215 	ACPI CPU=14
 216 	Flags={ENABLED}
 217 	APIC ID=13
 218 
 219 	Type=Local APIC
 220 	ACPI CPU=15
 221 	Flags={ENABLED}
 222 	APIC ID=14
 223 
 224 	Type=Local APIC
 225 	ACPI CPU=16
 226 	Flags={ENABLED}
 227 	APIC ID=15
 228 
 229 	Type=Local APIC NMI
 230 	ACPI CPU=ALL
 231 	LINT Pin=1
 232 	Flags={Polarity=active-hi, Trigger=edge}
 233 
 234 	Type=IO APIC
 235 	APIC ID=33
 236 	INT BASE=0
 237 	ADDR=0x00000000fec00000
 238 
 239 	Type=IO APIC
 240 	APIC ID=34
 241 	INT BASE=24
 242 	ADDR=0x00000000fec01000
 243 
 244 	Type=INT Override
 245 	BUS=0
 246 	IRQ=0
 247 	INTR=2
 248 	Flags={Polarity=conforming, Trigger=conforming}
 249 
 250 	Type=INT Override
 251 	BUS=0
 252 	IRQ=1
 253 	INTR=1
 254 	Flags={Polarity=active-hi, Trigger=edge}
 255 
 256 	Type=INT Override
 257 	BUS=0
 258 	IRQ=9
 259 	INTR=9
 260 	Flags={Polarity=active-lo, Trigger=level}
 261  */
 262 /*
 263   IVRS: Length=420, Revision=2, Checksum=181,
 264 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 265 	Creator ID=AMD, Creator Revision=0x1
 266  */
 267 /*
 268   SSDT: Length=1999, Revision=1, Checksum=115,
 269 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 270 	Creator ID=INTL, Creator Revision=0x20200717
 271  */
 272 /*
 273   SSDT: Length=4253, Revision=1, Checksum=117,
 274 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 275 	Creator ID=INTL, Creator Revision=0x20200717
 276  */
 277 /*
 278   SSDT: Length=1882, Revision=1, Checksum=127,
 279 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 280 	Creator ID=INTL, Creator Revision=0x20200717
 281  */
 282 /*
 283   SSDT: Length=38001, Revision=1, Checksum=199,
 284 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 285 	Creator ID=INTL, Creator Revision=0x20200717
 286  */
 287 /*
 288   SSDT: Length=20506, Revision=1, Checksum=2,
 289 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 290 	Creator ID=INTL, Creator Revision=0x20200717
 291  */
 292 /*
 293   SSDT: Length=2599, Revision=1, Checksum=125,
 294 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 295 	Creator ID=INTL, Creator Revision=0x20200717
 296  */
 297 /*
 298   SSDT: Length=141, Revision=1, Checksum=7,
 299 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 300 	Creator ID=INTL, Creator Revision=0x20200717
 301  */
 302 /*
 303   SSDT: Length=1810, Revision=1, Checksum=20,
 304 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 305 	Creator ID=INTL, Creator Revision=0x20200717
 306  */
 307 /*
 308   SSDT: Length=1810, Revision=1, Checksum=10,
 309 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 310 	Creator ID=INTL, Creator Revision=0x20200717
 311  */
 312 /*
 313   SSDT: Length=2234, Revision=1, Checksum=218,
 314 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 315 	Creator ID=INTL, Creator Revision=0x20200717
 316  */
 317 /*
 318   SSDT: Length=87, Revision=1, Checksum=207,
 319 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 320 	Creator ID=INTL, Creator Revision=0x20200717
 321  */
 322 /*
 323   SSDT: Length=5407, Revision=1, Checksum=196,
 324 	OEMID=AMD, OEM Table ID=AmdTable, OEM Revision=0x1,
 325 	Creator ID=INTL, Creator Revision=0x20200717
 326  */
 327 /*
 328  * Intel ACPI Component Architecture
 329  * AML/ASL+ Disassembler version 20221020 (64-bit version)
 330  * Copyright (c) 2000 - 2022 Intel Corporation
 331  * 
 332  * Disassembling to symbolic ASL+ operators
 333  *
 334  * Disassembly of /tmp/acpidump.vvnC5z/acpdump.din, Tue Apr  9 13:14:51 2024
 335  *
 336  * Original Table Header:
 337  *     Signature        "DSDT"
 338  *     Length           0x0003AA58 (240216)
 339  *     Revision         0x02
 340  *     Checksum         0xB6
 341  *     OEM ID           "ALASKA"
 342  *     OEM Table ID     "A M I "
 343  *     OEM Revision     0x01072009 (17244169)
 344  *     Compiler ID      "INTL"
 345  *     Compiler Version 0x20200717 (538969879)
 346  */
 347 DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
 348 {
 349     External (_ADR, IntObj)
 350     External (_GPE, DeviceObj)
 351     External (_GPE.AIE0, MethodObj)    // 0 Arguments
 352     External (_GPE.AIE1, MethodObj)    // 0 Arguments
 353     External (_GPE.AIE2, MethodObj)    // 0 Arguments
 354     External (_GPE.AIE3, MethodObj)    // 0 Arguments
 355     External (_GPE.BIE0, MethodObj)    // 0 Arguments
 356     External (_GPE.BIE1, MethodObj)    // 0 Arguments
 357     External (_GPE.BIE2, MethodObj)    // 0 Arguments
 358     External (_GPE.BIE3, MethodObj)    // 0 Arguments
 359     External (_GPE.PTS0, MethodObj)    // 1 Arguments
 360     External (_GPE.PTS1, MethodObj)    // 1 Arguments
 361     External (_GPE.PTS2, MethodObj)    // 1 Arguments
 362     External (_GPE.PTS3, MethodObj)    // 1 Arguments
 363     External (_GPE.SP00, MethodObj)    // 0 Arguments
 364     External (_GPE.SP01, MethodObj)    // 0 Arguments
 365     External (_GPE.SP02, MethodObj)    // 0 Arguments
 366     External (_GPE.SP03, MethodObj)    // 0 Arguments
 367     External (_GPE.SP04, MethodObj)    // 0 Arguments
 368     External (_GPE.SP05, MethodObj)    // 0 Arguments
 369     External (_GPE.SP06, MethodObj)    // 0 Arguments
 370     External (_GPE.SP07, MethodObj)    // 0 Arguments
 371     External (_GPE.SP10, MethodObj)    // 0 Arguments
 372     External (_GPE.SP11, MethodObj)    // 0 Arguments
 373     External (_GPE.SP12, MethodObj)    // 0 Arguments
 374     External (_GPE.SP13, MethodObj)    // 0 Arguments
 375     External (_GPE.SP14, MethodObj)    // 0 Arguments
 376     External (_GPE.SP15, MethodObj)    // 0 Arguments
 377     External (_GPE.SP16, MethodObj)    // 0 Arguments
 378     External (_GPE.SP17, MethodObj)    // 0 Arguments
 379     External (_GPE.SP20, MethodObj)    // 0 Arguments
 380     External (_GPE.SP21, MethodObj)    // 0 Arguments
 381     External (_GPE.SP22, MethodObj)    // 0 Arguments
 382     External (_GPE.SP23, MethodObj)    // 0 Arguments
 383     External (_GPE.SP24, MethodObj)    // 0 Arguments
 384     External (_GPE.SP25, MethodObj)    // 0 Arguments
 385     External (_GPE.SP26, MethodObj)    // 0 Arguments
 386     External (_GPE.SP27, MethodObj)    // 0 Arguments
 387     External (_GPE.SP30, MethodObj)    // 0 Arguments
 388     External (_GPE.SP31, MethodObj)    // 0 Arguments
 389     External (_GPE.SP32, MethodObj)    // 0 Arguments
 390     External (_GPE.SP33, MethodObj)    // 0 Arguments
 391     External (_GPE.SP34, MethodObj)    // 0 Arguments
 392     External (_GPE.SP35, MethodObj)    // 0 Arguments
 393     External (_GPE.SP36, MethodObj)    // 0 Arguments
 394     External (_GPE.SP37, MethodObj)    // 0 Arguments
 395     External (_GPE.SP40, MethodObj)    // 0 Arguments
 396     External (_GPE.SP41, MethodObj)    // 0 Arguments
 397     External (_GPE.SP42, MethodObj)    // 0 Arguments
 398     External (_GPE.SP43, MethodObj)    // 0 Arguments
 399     External (_GPE.SP44, MethodObj)    // 0 Arguments
 400     External (_GPE.SP45, MethodObj)    // 0 Arguments
 401     External (_GPE.SP46, MethodObj)    // 0 Arguments
 402     External (_GPE.SP47, MethodObj)    // 0 Arguments
 403     External (_GPE.SP50, MethodObj)    // 0 Arguments
 404     External (_GPE.SP51, MethodObj)    // 0 Arguments
 405     External (_GPE.SP52, MethodObj)    // 0 Arguments
 406     External (_GPE.SP53, MethodObj)    // 0 Arguments
 407     External (_GPE.SP54, MethodObj)    // 0 Arguments
 408     External (_GPE.SP55, MethodObj)    // 0 Arguments
 409     External (_GPE.SP56, MethodObj)    // 0 Arguments
 410     External (_GPE.SP57, MethodObj)    // 0 Arguments
 411     External (_GPE.SP60, MethodObj)    // 0 Arguments
 412     External (_GPE.SP61, MethodObj)    // 0 Arguments
 413     External (_GPE.SP62, MethodObj)    // 0 Arguments
 414     External (_GPE.SP63, MethodObj)    // 0 Arguments
 415     External (_GPE.SP64, MethodObj)    // 0 Arguments
 416     External (_GPE.SP65, MethodObj)    // 0 Arguments
 417     External (_GPE.SP66, MethodObj)    // 0 Arguments
 418     External (_GPE.SP67, MethodObj)    // 0 Arguments
 419     External (_GPE.SP70, MethodObj)    // 0 Arguments
 420     External (_GPE.SP71, MethodObj)    // 0 Arguments
 421     External (_GPE.SP72, MethodObj)    // 0 Arguments
 422     External (_GPE.SP73, MethodObj)    // 0 Arguments
 423     External (_GPE.SP74, MethodObj)    // 0 Arguments
 424     External (_GPE.SP75, MethodObj)    // 0 Arguments
 425     External (_GPE.SP76, MethodObj)    // 0 Arguments
 426     External (_GPE.SP77, MethodObj)    // 0 Arguments
 427     External (_GPE.WAK0, MethodObj)    // 1 Arguments
 428     External (_GPE.WAK1, MethodObj)    // 1 Arguments
 429     External (_GPE.WAK2, MethodObj)    // 1 Arguments
 430     External (_GPE.WAK3, MethodObj)    // 1 Arguments
 431     External (_SB_.ALIB, MethodObj)    // 2 Arguments
 432     External (_SB_.AM00, MutexObj)
 433     External (_SB_.APTS, MethodObj)    // 1 Arguments
 434     External (_SB_.APX4, MethodObj)    // 0 Arguments
 435     External (_SB_.APX7, MethodObj)    // 2 Arguments
 436     External (_SB_.APX8, MethodObj)    // 1 Arguments
 437     External (_SB_.APXA, MethodObj)    // 1 Arguments
 438     External (_SB_.APXE, MethodObj)    // 3 Arguments
 439     External (_SB_.AWAK, MethodObj)    // 1 Arguments
 440     External (_SB_.CK17, MethodObj)    // 0 Arguments
 441     External (_SB_.GPIO, DeviceObj)
 442     External (_SB_.IPTS, MethodObj)    // 1 Arguments
 443     External (_SB_.IWAK, MethodObj)    // 1 Arguments
 444     External (_SB_.LID_._LID, MethodObj)    // 0 Arguments
 445     External (_SB_.M263, MethodObj)    // 1 Arguments
 446     External (_SB_.M264, MethodObj)    // 1 Arguments
 447     External (_SB_.M284, MethodObj)    // 1 Arguments
 448     External (_SB_.OPTS, MethodObj)    // 1 Arguments
 449     External (_SB_.OWAK, MethodObj)    // 1 Arguments
 450     External (_SB_.PCI0, DeviceObj)
 451     External (_SB_.PCI0.DADR, IntObj)
 452     External (_SB_.PCI0.EBUS, IntObj)
 453     External (_SB_.PCI0.GP11, DeviceObj)
 454     External (_SB_.PCI0.GP12, DeviceObj)
 455     External (_SB_.PCI0.GP17, DeviceObj)
 456     External (_SB_.PCI0.GP17.ACP_, DeviceObj)
 457     External (_SB_.PCI0.GP17.AZAL, DeviceObj)
 458     External (_SB_.PCI0.GP17.HDAU, DeviceObj)
 459     External (_SB_.PCI0.GP17.MP2C, DeviceObj)
 460     External (_SB_.PCI0.GP17.VGA_, DeviceObj)
 461     External (_SB_.PCI0.GP17.VGA_.AFN0, MethodObj)    // 0 Arguments
 462     External (_SB_.PCI0.GP17.VGA_.AFN1, MethodObj)    // 1 Arguments
 463     External (_SB_.PCI0.GP17.VGA_.AFN2, MethodObj)    // 2 Arguments
 464     External (_SB_.PCI0.GP17.VGA_.AFN3, MethodObj)    // 2 Arguments
 465     External (_SB_.PCI0.GP17.VGA_.AFN4, MethodObj)    // 1 Arguments
 466     External (_SB_.PCI0.GP17.VGA_.AFN5, MethodObj)    // 0 Arguments
 467     External (_SB_.PCI0.GP17.VGA_.AFN6, MethodObj)    // 0 Arguments
 468     External (_SB_.PCI0.GP17.VGA_.AFN7, MethodObj)    // 1 Arguments
 469     External (_SB_.PCI0.GP17.VGA_.AFN8, MethodObj)    // 0 Arguments
 470     External (_SB_.PCI0.GP17.VGA_.AFNC, MethodObj)    // 2 Arguments
 471     External (_SB_.PCI0.GP17.VGA_.M460, MethodObj)    // 7 Arguments
 472     External (_SB_.PCI0.GP17.XHC0, DeviceObj)
 473     External (_SB_.PCI0.GP17.XHC1, DeviceObj)
 474     External (_SB_.PCI0.GP18.SATA, DeviceObj)
 475     External (_SB_.PCI0.GP19, DeviceObj)
 476     External (_SB_.PCI0.GP19.NHI0, DeviceObj)
 477     External (_SB_.PCI0.GP19.NHI1, DeviceObj)
 478     External (_SB_.PCI0.GP19.XHC2, DeviceObj)
 479     External (_SB_.PCI0.GP19.XHC3, DeviceObj)
 480     External (_SB_.PCI0.GP19.XHC3.RHUB.PRT2, DeviceObj)
 481     External (_SB_.PCI0.GP19.XHC4, DeviceObj)
 482     External (_SB_.PCI0.GP19.XHC4.RHUB.PRT2, DeviceObj)
 483     External (_SB_.PCI0.GPP0, DeviceObj)
 484     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN0, MethodObj)    // 0 Arguments
 485     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN1, MethodObj)    // 1 Arguments
 486     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN2, MethodObj)    // 2 Arguments
 487     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN3, MethodObj)    // 2 Arguments
 488     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN4, MethodObj)    // 1 Arguments
 489     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN5, MethodObj)    // 0 Arguments
 490     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN6, MethodObj)    // 0 Arguments
 491     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN7, MethodObj)    // 1 Arguments
 492     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFN8, MethodObj)    // 0 Arguments
 493     External (_SB_.PCI0.GPP0.SWUS.SWDS.VGA_.AFNC, MethodObj)    // 2 Arguments
 494     External (_SB_.PCI0.GPP0.VGA_.AFN0, MethodObj)    // 0 Arguments
 495     External (_SB_.PCI0.GPP0.VGA_.AFN1, MethodObj)    // 1 Arguments
 496     External (_SB_.PCI0.GPP0.VGA_.AFN2, MethodObj)    // 2 Arguments
 497     External (_SB_.PCI0.GPP0.VGA_.AFN3, MethodObj)    // 2 Arguments
 498     External (_SB_.PCI0.GPP0.VGA_.AFN4, MethodObj)    // 1 Arguments
 499     External (_SB_.PCI0.GPP0.VGA_.AFN5, MethodObj)    // 0 Arguments
 500     External (_SB_.PCI0.GPP0.VGA_.AFN6, MethodObj)    // 0 Arguments
 501     External (_SB_.PCI0.GPP0.VGA_.AFN7, MethodObj)    // 1 Arguments
 502     External (_SB_.PCI0.GPP0.VGA_.AFN8, MethodObj)    // 0 Arguments
 503     External (_SB_.PCI0.GPP0.VGA_.AFNC, MethodObj)    // 2 Arguments
 504     External (_SB_.PCI0.GPP1, DeviceObj)
 505     External (_SB_.PCI0.GPP2, DeviceObj)
 506     External (_SB_.PCI0.GPP2.WWAN, DeviceObj)
 507     External (_SB_.PCI0.GPP3, DeviceObj)
 508     External (_SB_.PCI0.GPP4, DeviceObj)
 509     External (_SB_.PCI0.GPP5, DeviceObj)
 510     External (_SB_.PCI0.GPP5._ADR, IntObj)
 511     External (_SB_.PCI0.GPP5.PWDI, MethodObj)    // 0 Arguments
 512     External (_SB_.PCI0.GPP5.PWEN, MethodObj)    // 0 Arguments
 513     External (_SB_.PCI0.GPP5.RTL8, DeviceObj)
 514     External (_SB_.PCI0.GPP6, DeviceObj)
 515     External (_SB_.PCI0.GPP6._ADR, IntObj)
 516     External (_SB_.PCI0.GPP6.PWDI, MethodObj)    // 0 Arguments
 517     External (_SB_.PCI0.GPP6.PWEN, MethodObj)    // 0 Arguments
 518     External (_SB_.PCI0.GPP6.WLAN, DeviceObj)
 519     External (_SB_.PCI0.GPP7, DeviceObj)
 520     External (_SB_.PCI0.GPP7.DEV0, DeviceObj)
 521     External (_SB_.PCI0.PTBR.PTST.TPTS, MethodObj)    // 1 Arguments
 522     External (_SB_.PCI0.PTBR.PTST.TWAK, MethodObj)    // 1 Arguments
 523     External (_SB_.PCI0.RPCF, MethodObj)    // 0 Arguments
 524     External (_SB_.PCI0.RPRM, MethodObj)    // 2 Arguments
 525     External (_SB_.PCI0.SBRG.H_EC.ADP1._PSR, MethodObj)    // 0 Arguments
 526     External (_SB_.PCI0.SBRG.H_EC.CRMD, IntObj)
 527     External (_SB_.PCI0.SBRG.H_EC.E003, IntObj)
 528     External (_SB_.PCI0.SBRG.H_EC.ECMT, MutexObj)
 529     External (_SB_.PCI0.SBRG.H_EC.RTSC, IntObj)
 530     External (_SB_.PCI0.SBRG.H_EC.SCRT, IntObj)
 531     External (_SB_.PCI0.SBRG.H_EC.TSRC, FieldUnitObj)
 532     External (_SB_.PCI0.SBRG.H_EC.WFAG, IntObj)
 533     External (_SB_.PCI0.SPCF, MethodObj)    // 1 Arguments
 534     External (_SB_.PCI0.SPCH, MethodObj)    // 2 Arguments
 535     External (_SB_.PCI0.UPWD, MethodObj)    // 0 Arguments
 536     External (_SB_.PCXX.GPXX.SAXX.TPTS, MethodObj)    // 1 Arguments
 537     External (_SB_.PCXX.GPXX.SAXX.TWAK, MethodObj)    // 1 Arguments
 538     External (_SB_.PCXX.SAXX.TPTS, MethodObj)    // 1 Arguments
 539     External (_SB_.PCXX.SAXX.TWAK, MethodObj)    // 1 Arguments
 540     External (_SB_.PLTF, DeviceObj)
 541     External (_SB_.PLTF.P000, DeviceObj)
 542     External (_SB_.PLTF.P001, DeviceObj)
 543     External (_SB_.PLTF.P002, DeviceObj)
 544     External (_SB_.PLTF.P003, DeviceObj)
 545     External (_SB_.PLTF.P004, DeviceObj)
 546     External (_SB_.PLTF.P005, DeviceObj)
 547     External (_SB_.PLTF.P006, DeviceObj)
 548     External (_SB_.PLTF.P007, DeviceObj)
 549     External (_SB_.PLTF.P008, DeviceObj)
 550     External (_SB_.PLTF.P009, DeviceObj)
 551     External (_SB_.PLTF.P00A, DeviceObj)
 552     External (_SB_.PLTF.P00B, DeviceObj)
 553     External (_SB_.PLTF.P00C, DeviceObj)
 554     External (_SB_.PLTF.P00D, DeviceObj)
 555     External (_SB_.PLTF.P00E, DeviceObj)
 556     External (_SB_.PLTF.P00F, DeviceObj)
 557     External (_SB_.PMF_, DeviceObj)
 558     External (_SB_.PRME, IntObj)
 559     External (_SB_.PWRB, DeviceObj)
 560     External (_SB_.WMI_.DGMF, IntObj)
 561     External (AFN4, MethodObj)    // 1 Arguments
 562     External (ALIB, MethodObj)    // 2 Arguments
 563     External (CRBI, UnknownObj)
 564     External (DDEP, IntObj)
 565     External (DGMF, IntObj)
 566     External (DIMS, IntObj)
 567     External (F0D3, IntObj)
 568     External (F1D3, IntObj)
 569     External (F3D3, IntObj)
 570     External (F5D3, IntObj)
 571     External (F6D3, IntObj)
 572     External (G0D3, IntObj)
 573     External (G3D3, IntObj)
 574     External (G5D3, IntObj)
 575     External (H0D3, IntObj)
 576     External (M000, MethodObj)    // 1 Arguments
 577     External (M011, MethodObj)    // 4 Arguments
 578     External (M012, MethodObj)    // 5 Arguments
 579     External (M013, MethodObj)    // 4 Arguments
 580     External (M017, MethodObj)    // 6 Arguments
 581     External (M019, MethodObj)    // 4 Arguments
 582     External (M020, MethodObj)    // 5 Arguments
 583     External (M021, MethodObj)    // 4 Arguments
 584     External (M023, MethodObj)    // 3 Arguments
 585     External (M024, MethodObj)    // 3 Arguments
 586     External (M025, MethodObj)    // 4 Arguments
 587     External (M026, MethodObj)    // 3 Arguments
 588     External (M037, DeviceObj)
 589     External (M043, MethodObj)    // 3 Arguments
 590     External (M045, MethodObj)    // 0 Arguments
 591     External (M046, IntObj)
 592     External (M049, MethodObj)    // 2 Arguments
 593     External (M050, DeviceObj)
 594     External (M051, DeviceObj)
 595     External (M052, DeviceObj)
 596     External (M053, DeviceObj)
 597     External (M054, DeviceObj)
 598     External (M055, DeviceObj)
 599     External (M056, DeviceObj)
 600     External (M057, DeviceObj)
 601     External (M058, DeviceObj)
 602     External (M059, DeviceObj)
 603     External (M062, DeviceObj)
 604     External (M068, DeviceObj)
 605     External (M069, DeviceObj)
 606     External (M070, DeviceObj)
 607     External (M071, DeviceObj)
 608     External (M072, DeviceObj)
 609     External (M074, DeviceObj)
 610     External (M075, DeviceObj)
 611     External (M076, DeviceObj)
 612     External (M077, DeviceObj)
 613     External (M078, DeviceObj)
 614     External (M079, DeviceObj)
 615     External (M080, DeviceObj)
 616     External (M081, DeviceObj)
 617     External (M082, FieldUnitObj)
 618     External (M083, FieldUnitObj)
 619     External (M084, FieldUnitObj)
 620     External (M085, FieldUnitObj)
 621     External (M086, FieldUnitObj)
 622     External (M087, FieldUnitObj)
 623     External (M088, FieldUnitObj)
 624     External (M089, FieldUnitObj)
 625     External (M090, FieldUnitObj)
 626     External (M091, FieldUnitObj)
 627     External (M092, FieldUnitObj)
 628     External (M093, FieldUnitObj)
 629     External (M094, FieldUnitObj)
 630     External (M095, FieldUnitObj)
 631     External (M096, FieldUnitObj)
 632     External (M097, FieldUnitObj)
 633     External (M098, FieldUnitObj)
 634     External (M099, FieldUnitObj)
 635     External (M100, FieldUnitObj)
 636     External (M101, FieldUnitObj)
 637     External (M102, FieldUnitObj)
 638     External (M103, FieldUnitObj)
 639     External (M104, FieldUnitObj)
 640     External (M105, FieldUnitObj)
 641     External (M106, FieldUnitObj)
 642     External (M107, FieldUnitObj)
 643     External (M108, FieldUnitObj)
 644     External (M109, FieldUnitObj)
 645     External (M110, FieldUnitObj)
 646     External (M111, MethodObj)    // 2 Arguments
 647     External (M112, MethodObj)    // 2 Arguments
 648     External (M113, MethodObj)    // 1 Arguments
 649     External (M115, BuffObj)
 650     External (M116, BuffFieldObj)
 651     External (M117, BuffFieldObj)
 652     External (M118, BuffFieldObj)
 653     External (M119, BuffFieldObj)
 654     External (M120, BuffFieldObj)
 655     External (M122, FieldUnitObj)
 656     External (M127, DeviceObj)
 657     External (M128, FieldUnitObj)
 658     External (M131, FieldUnitObj)
 659     External (M132, FieldUnitObj)
 660     External (M133, FieldUnitObj)
 661     External (M134, FieldUnitObj)
 662     External (M135, FieldUnitObj)
 663     External (M136, FieldUnitObj)
 664     External (M220, FieldUnitObj)
 665     External (M221, FieldUnitObj)
 666     External (M226, FieldUnitObj)
 667     External (M227, DeviceObj)
 668     External (M229, FieldUnitObj)
 669     External (M231, FieldUnitObj)
 670     External (M232, MethodObj)    // 3 Arguments
 671     External (M233, FieldUnitObj)
 672     External (M235, FieldUnitObj)
 673     External (M23A, FieldUnitObj)
 674     External (M249, MethodObj)    // 4 Arguments
 675     External (M250, MethodObj)    // 5 Arguments
 676     External (M251, FieldUnitObj)
 677     External (M276, MethodObj)    // 0 Arguments
 678     External (M277, MethodObj)    // 0 Arguments
 679     External (M280, FieldUnitObj)
 680     External (M290, FieldUnitObj)
 681     External (M310, FieldUnitObj)
 682     External (M31C, FieldUnitObj)
 683     External (M320, FieldUnitObj)
 684     External (M321, FieldUnitObj)
 685     External (M322, FieldUnitObj)
 686     External (M323, FieldUnitObj)
 687     External (M324, FieldUnitObj)
 688     External (M325, FieldUnitObj)
 689     External (M326, FieldUnitObj)
 690     External (M327, FieldUnitObj)
 691     External (M328, FieldUnitObj)
 692     External (M329, DeviceObj)
 693     External (M32A, DeviceObj)
 694     External (M32B, DeviceObj)
 695     External (M330, DeviceObj)
 696     External (M331, FieldUnitObj)
 697     External (M378, FieldUnitObj)
 698     External (M379, FieldUnitObj)
 699     External (M380, FieldUnitObj)
 700     External (M381, FieldUnitObj)
 701     External (M382, FieldUnitObj)
 702     External (M383, FieldUnitObj)
 703     External (M384, FieldUnitObj)
 704     External (M385, FieldUnitObj)
 705     External (M386, FieldUnitObj)
 706     External (M387, FieldUnitObj)
 707     External (M388, FieldUnitObj)
 708     External (M389, FieldUnitObj)
 709     External (M390, FieldUnitObj)
 710     External (M391, FieldUnitObj)
 711     External (M392, FieldUnitObj)
 712     External (M404, DeviceObj)
 713     External (M408, MutexObj)
 714     External (M414, FieldUnitObj)
 715     External (M444, FieldUnitObj)
 716     External (M449, FieldUnitObj)
 717     External (M453, FieldUnitObj)
 718     External (M454, FieldUnitObj)
 719     External (M455, FieldUnitObj)
 720     External (M456, FieldUnitObj)
 721     External (M457, FieldUnitObj)
 722     External (M460, MethodObj)    // 7 Arguments
 723     External (M4C0, FieldUnitObj)
 724     External (M4F0, FieldUnitObj)
 725     External (MOEM, MethodObj)    // 3 Arguments
 726     External (MPTS, MethodObj)    // 1 Arguments
 727     External (MWAK, MethodObj)    // 1 Arguments
 728     External (NFPC, MethodObj)    // 0 Arguments
 729     External (P1D3, IntObj)
 730     External (P3D3, IntObj)
 731     External (P4D3, IntObj)
 732     External (P_OF, MethodObj)    // 0 Arguments
 733     External (P_ON, MethodObj)    // 0 Arguments
 734     External (PPS0, MethodObj)    // 0 Arguments
 735     External (PPS3, MethodObj)    // 0 Arguments
 736     External (PSTA, MethodObj)    // 0 Arguments
 737     External (SDSW, MethodObj)    // 3 Arguments
 738     External (SINI, MethodObj)    // 0 Arguments
 739     External (SREG, MethodObj)    // 2 Arguments
 740     External (SSTA, MethodObj)    // 0 Arguments
 741 
 742     Name (PEBL, 0x10000000)
 743     Name (NBTS, 0x5000)
 744     Name (CPVD, One)
 745     Name (SMBB, 0x0B20)
 746     Name (SMBL, 0x20)
 747     Name (SMB0, 0x0B00)
 748     Name (SMBM, 0x10)
 749     Name (PMBS, 0x0800)
 750     Name (PMLN, 0xA0)
 751     Name (SMIO, 0xB2)
 752     Name (APCB, 0xFEC00000)
 753     Name (APCL, 0x1000)
 754     Name (HPTB, 0xFED00000)
 755     Name (WDTB, Zero)
 756     Name (WDTL, Zero)
 757     Name (GIOB, 0xFED81500)
 758     Name (IOMB, 0xFED80D00)
 759     Name (SSMB, 0xFED80200)
 760     Name (UTDB, Zero)
 761     Name (ASSB, Zero)
 762     Name (AOTB, Zero)
 763     Name (AAXB, Zero)
 764     Name (PEHP, One)
 765     Name (SHPC, One)
 766     Name (PEPM, One)
 767     Name (PEER, One)
 768     Name (PECS, One)
 769     Name (ITKE, Zero)
 770     Name (PEBS, 0xE0000000)
 771     Name (PELN, 0x10000000)
 772     Name (CSMI, 0x61)
 773     Name (DSSP, Zero)
 774     Name (FHPP, One)
 775     Name (SMIA, 0xB2)
 776     Name (SMIB, 0xB3)
 777     Name (OFST, 0x35)
 778     Name (TRST, 0x02)
 779     Name (TCMF, Zero)
 780     Name (TMF1, Zero)
 781     Name (TMF2, Zero)
 782     Name (TMF3, Zero)
 783     Name (TTPF, Zero)
 784     Name (DTPT, Zero)
 785     Name (TTDP, One)
 786     Name (TPMB, 0xD2CC2000)
 787     Name (TPBS, 0x4000)
 788     Name (TPMC, 0xD2CC6000)
 789     Name (TPCS, 0x4000)
 790     Name (TPMM, 0xFD210510)
 791     Name (FTPM, 0xFD210510)
 792     Name (PPIM, 0xD7DB6D18)
 793     Name (PPIL, 0x1C)
 794     Name (TPMF, One)
 795     Name (PPIV, One)
 796     Name (AMDT, 0x01)
 797     Name (MBEC, Zero)
 798     Name (NBTP, 0xFEC00000)
 799     Name (PSPL, 0x00006D60)
 800     Name (PFPL, 0x000084D0)
 801     Name (PSWP, 0x00006D60)
 802     Name (PSMP, 0x00006D60)
 803     Name (BSPL, 0x00006D60)
 804     Name (BFPL, 0x000084D0)
 805     Name (BSWP, 0x00006D60)
 806     Name (BSMP, 0x00006D60)
 807     Name (LSPL, 0x00006D60)
 808     Name (LFPL, 0x000084D0)
 809     Name (LSWP, 0x00006D60)
 810     Name (LSMP, 0x00006D60)
 811     Name (ADSL, 0x00003A98)
 812     Name (ADPL, 0x00003A98)
 813     Name (ADWP, 0x00003A98)
 814     Name (ADMP, 0x00003A98)
 815     Name (PDSL, 0x00006D60)
 816     Name (PDPL, 0x000084D0)
 817     Name (PDWP, 0x00006D60)
 818     Name (PDMP, 0x00006D60)
 819     Name (AAAU, 0x199A)
 820     Name (AAGU, 0x0000)
 821     Name (STLA, 0x6400)
 822     Name (STLG, 0x0000)
 823     Name (ERCF, 0x0062)
 824     Name (ERRC, 0x07AE)
 825     Name (STM1, 0x011C)
 826     Name (STM2, 0x0237)
 827     Name (STM3, 0x0000)
 828     Name (STM4, 0x0000)
 829     Name (STM5, 0x0000)
 830     Name (STM6, 0x0000)
 831     Name (STCA, 0x0BBF)
 832     Name (STGU, 0x0000)
 833     Name (TDCV, 0x0000C350)
 834     Name (EDCV, 0x0000FDE8)
 835     Name (BPSL, 0x00002710)
 836     Name (BPPL, 0x00002710)
 837     Name (BPWP, 0x00002710)
 838     Name (BPMP, 0x00002710)
 839     Name (B2SL, 0x00002710)
 840     Name (B2PL, 0x00002710)
 841     Name (B2WP, 0x00002710)
 842     Name (B2MP, 0x00002710)
 843     Name (TDCS, 0x000032C8)
 844     Name (EDCS, 0x00004268)
 845     Name (ADVD, 0x1234)
 846     Name (ADDD, 0x1234)
 847     Name (DGMF, 0x0000)
 848     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
 849     {
 850         If (Arg0)
 851         {
 852             \_SB.DSPI ()
 853             \_SB.PCI0.NAPE ()
 854         }
 855 
 856         PXXX (Arg0)
 857     }
 858 
 859     OperationRegion (DEB0, SystemIO, 0x80, 0x04)
 860     Field (DEB0, DWordAcc, NoLock, Preserve)
 861     {
 862         DBG8,   32
 863     }
 864 
 865     Name (PICM, Zero)
 866     Method (PXXX, 1, NotSerialized)
 867     {
 868         If (Arg0)
 869         {
 870             DBGX = 0xAA
 871         }
 872         Else
 873         {
 874             DBGX = 0xAC
 875         }
 876 
 877         PICM = Arg0
 878     }
 879 
 880     Name (OSVR, Ones)
 881     Method (OSFL, 0, NotSerialized)
 882     {
 883         If ((OSVR != Ones))
 884         {
 885             Return (OSVR) /* \OSVR */
 886         }
 887 
 888         If ((PICM == Zero))
 889         {
 890             DBGX = 0xAC
 891         }
 892 
 893         OSVR = 0x03
 894         If (CondRefOf (\_OSI, Local0))
 895         {
 896             If (_OSI ("Windows 2001"))
 897             {
 898                 OSVR = 0x04
 899             }
 900 
 901             If (_OSI ("Windows 2001.1"))
 902             {
 903                 OSVR = 0x05
 904             }
 905 
 906             If (_OSI ("FreeBSD"))
 907             {
 908                 OSVR = 0x06
 909             }
 910 
 911             If (_OSI ("HP-UX"))
 912             {
 913                 OSVR = 0x07
 914             }
 915 
 916             If (_OSI ("OpenVMS"))
 917             {
 918                 OSVR = 0x08
 919             }
 920 
 921             If (_OSI ("Windows 2001 SP1"))
 922             {
 923                 OSVR = 0x09
 924             }
 925 
 926             If (_OSI ("Windows 2001 SP2"))
 927             {
 928                 OSVR = 0x0A
 929             }
 930 
 931             If (_OSI ("Windows 2001 SP3"))
 932             {
 933                 OSVR = 0x0B
 934             }
 935 
 936             If (_OSI ("Windows 2006"))
 937             {
 938                 OSVR = 0x0C
 939             }
 940 
 941             If (_OSI ("Windows 2006 SP1"))
 942             {
 943                 OSVR = 0x0D
 944             }
 945 
 946             If (_OSI ("Windows 2009"))
 947             {
 948                 OSVR = 0x0E
 949             }
 950 
 951             If (_OSI ("Windows 2012"))
 952             {
 953                 OSVR = 0x0F
 954             }
 955 
 956             If (_OSI ("Windows 2013"))
 957             {
 958                 OSVR = 0x10
 959             }
 960         }
 961         Else
 962         {
 963             If (MCTH (_OS, "Microsoft Windows NT"))
 964             {
 965                 OSVR = Zero
 966             }
 967 
 968             If (MCTH (_OS, "Microsoft Windows"))
 969             {
 970                 OSVR = One
 971             }
 972 
 973             If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
 974             {
 975                 OSVR = 0x02
 976             }
 977 
 978             If (MCTH (_OS, "Linux"))
 979             {
 980                 OSVR = 0x03
 981             }
 982 
 983             If (MCTH (_OS, "FreeBSD"))
 984             {
 985                 OSVR = 0x06
 986             }
 987 
 988             If (MCTH (_OS, "HP-UX"))
 989             {
 990                 OSVR = 0x07
 991             }
 992 
 993             If (MCTH (_OS, "OpenVMS"))
 994             {
 995                 OSVR = 0x08
 996             }
 997         }
 998 
 999         Return (OSVR) /* \OSVR */
1000     }
1001 
1002     Method (MCTH, 2, NotSerialized)
1003     {
1004         If ((SizeOf (Arg0) < SizeOf (Arg1)))
1005         {
1006             Return (Zero)
1007         }
1008 
1009         Local0 = (SizeOf (Arg0) + One)
1010         Name (BUF0, Buffer (Local0){})
1011         Name (BUF1, Buffer (Local0){})
1012         BUF0 = Arg0
1013         BUF1 = Arg1
1014         While (Local0)
1015         {
1016             Local0--
1017             If ((DerefOf (BUF0 [Local0]) != DerefOf (BUF1 [Local0]
1018                 )))
1019             {
1020                 Return (Zero)
1021             }
1022         }
1023 
1024         Return (One)
1025     }
1026 
1027     Name (PRWP, Package (0x02)
1028     {
1029         Zero, 
1030         Zero
1031     })
1032     Method (GPRW, 2, NotSerialized)
1033     {
1034         PRWP [Zero] = Arg0
1035         Local0 = (SS1 << One)
1036         Local0 |= (SS2 << 0x02)
1037         Local0 |= (SS3 << 0x03)
1038         Local0 |= (SS4 << 0x04)
1039         If (((One << Arg1) & Local0))
1040         {
1041             PRWP [One] = Arg1
1042         }
1043         Else
1044         {
1045             Local0 >>= One
1046             If (((OSFL () == One) || (OSFL () == 0x02)))
1047             {
1048                 FindSetLeftBit (Local0, PRWP [One])
1049             }
1050             Else
1051             {
1052                 FindSetRightBit (Local0, PRWP [One])
1053             }
1054         }
1055 
1056         If ((DAS3 == Zero))
1057         {
1058             If ((Arg1 <= 0x03))
1059             {
1060                 PRWP [One] = Zero
1061             }
1062         }
1063 
1064         Return (PRWP) /* \PRWP */
1065     }
1066 
1067     Name (WAKP, Package (0x02)
1068     {
1069         Zero, 
1070         Zero
1071     })
1072     Method (UPWP, 1, NotSerialized)
1073     {
1074         If (DerefOf (WAKP [Zero]))
1075         {
1076             WAKP [One] = Zero
1077         }
1078         Else
1079         {
1080             WAKP [One] = Arg0
1081         }
1082     }
1083 
1084     OperationRegion (DEB3, SystemIO, 0x80, One)
1085     Field (DEB3, ByteAcc, NoLock, Preserve)
1086     {
1087         DBGX,   8
1088     }
1089 
1090     OperationRegion (DEB1, SystemIO, 0x90, 0x02)
1091     Field (DEB1, WordAcc, NoLock, Preserve)
1092     {
1093         DBG9,   16
1094     }
1095 
1096     Name (SS1, Zero)
1097     Name (SS2, Zero)
1098     Name (SS3, Zero)
1099     Name (SS4, One)
1100     Name (IOST, 0xFFFF)
1101     Name (TOPM, 0x00000000)
1102     Name (ROMS, 0xFFE00000)
1103     Name (VGAF, One)
1104     OperationRegion (GNVS, SystemMemory, 0xD7DB6D98, 0x0D)
1105     Field (GNVS, AnyAcc, Lock, Preserve)
1106     {
1107         CNSB,   8, 
1108         RDHW,   8, 
1109         DAS3,   8, 
1110         ALST,   8, 
1111         BLTH,   8, 
1112         NFCS,   8, 
1113         MWTT,   8, 
1114         DPTC,   8, 
1115         WOVS,   8, 
1116         THPN,   8, 
1117         THPD,   8, 
1118         RV2I,   8, 
1119         ISDS,   8
1120     }
1121 
1122     OperationRegion (DEB2, SystemIO, 0x80, 0x04)
1123     Field (DEB2, DWordAcc, NoLock, Preserve)
1124     {
1125         P80H,   32
1126     }
1127 
1128     Name (OSTY, Ones)
1129     OperationRegion (ACMS, SystemIO, 0x72, 0x02)
1130     Field (ACMS, ByteAcc, NoLock, Preserve)
1131     {
1132         ACMX,   8, 
1133         ACMA,   8
1134     }
1135 
1136     IndexField (ACMX, ACMA, ByteAcc, NoLock, Preserve)
1137     {
1138         Offset (0xB9), 
1139         IMEN,   8
1140     }
1141 
1142     OperationRegion (PSMI, SystemIO, SMIO, 0x02)
1143     Field (PSMI, ByteAcc, NoLock, Preserve)
1144     {
1145         APMC,   8, 
1146         APMD,   8
1147     }
1148 
1149     OperationRegion (PMRG, SystemMemory, 0xFED80300, 0x0100)
1150     Field (PMRG, AnyAcc, NoLock, Preserve)
1151     {
1152             ,   6, 
1153         HPEN,   1, 
1154         Offset (0x60), 
1155         P1EB,   16, 
1156         Offset (0xF0), 
1157             ,   3, 
1158         RSTU,   1
1159     }
1160 
1161     OperationRegion (GSMG, SystemMemory, 0xFED81500, 0x03FF)
1162     Field (GSMG, AnyAcc, NoLock, Preserve)
1163     {
1164         Offset (0x5C), 
1165         Offset (0x5E), 
1166         GS23,   1, 
1167             ,   5, 
1168         GV23,   1, 
1169         GE23,   1, 
1170         Offset (0xA0), 
1171         Offset (0xA2), 
1172         GS40,   1, 
1173             ,   5, 
1174         GV40,   1, 
1175         GE40,   1
1176     }
1177 
1178     OperationRegion (GSMM, SystemMemory, 0xFED80000, 0x1000)
1179     Field (GSMM, AnyAcc, NoLock, Preserve)
1180     {
1181         Offset (0x288), 
1182             ,   1, 
1183         CLPS,   1, 
1184         Offset (0x296), 
1185             ,   7, 
1186         TMSE,   1, 
1187         Offset (0x2B0), 
1188             ,   2, 
1189         SLPS,   2
1190     }
1191 
1192     OperationRegion (PMI2, SystemMemory, 0xFED80300, 0x0100)
1193     Field (PMI2, AnyAcc, NoLock, Preserve)
1194     {
1195         Offset (0xBB), 
1196             ,   6, 
1197         PWDE,   1, 
1198         Offset (0xBC)
1199     }
1200 
1201     OperationRegion (P1E0, SystemIO, P1EB, 0x04)
1202     Field (P1E0, ByteAcc, NoLock, Preserve)
1203     {
1204         Offset (0x01), 
1205             ,   6, 
1206         PEWS,   1, 
1207         WSTA,   1, 
1208         Offset (0x03), 
1209             ,   6, 
1210         PEWD,   1
1211     }
1212 
1213     OperationRegion (IOCC, SystemIO, PMBS, 0x80)
1214     Field (IOCC, ByteAcc, NoLock, Preserve)
1215     {
1216         Offset (0x01), 
1217             ,   2, 
1218         RTCS,   1
1219     }
1220 
1221     Method (SPTS, 1, NotSerialized)
1222     {
1223         P80H = Arg0
1224         If ((Arg0 == 0x03))
1225         {
1226             RSTU = Zero
1227         }
1228 
1229         CLPS = One
1230         SLPS = One
1231         PEWS = PEWS /* \PEWS */
1232         If ((Arg0 == 0x03))
1233         {
1234             SLPS = One
1235         }
1236 
1237         If ((Arg0 == 0x04))
1238         {
1239             SLPS = One
1240             RSTU = One
1241             \_SB.PCI0.SBRG.H_EC.WFAG = 0xFF
1242             \_SB.PCI0.SBRG.H_EC.CRMD = 0xFF
1243             \_SB.PCI0.SBRG.H_EC.E003 = Zero
1244         }
1245 
1246         If ((Arg0 == 0x05))
1247         {
1248             PWDE = One
1249         }
1250     }
1251 
1252     Method (SWAK, 1, NotSerialized)
1253     {
1254         If ((Arg0 == 0x03))
1255         {
1256             RSTU = One
1257         }
1258 
1259         PEWS = PEWS /* \PEWS */
1260         PEWD = Zero
1261         If (PICM)
1262         {
1263             \_SB.DSPI ()
1264         }
1265 
1266         If (TMSE)
1267         {
1268             TMSE = Zero
1269         }
1270 
1271         If ((Arg0 == 0x03))
1272         {
1273             Notify (\_SB.PWRB, 0x02) // Device Wake
1274         }
1275 
1276         If ((Arg0 == 0x04))
1277         {
1278             Notify (\_SB.PWRB, 0x02) // Device Wake
1279         }
1280     }
1281 
1282     Scope (_GPE)
1283     {
1284     }
1285 
1286     OperationRegion (OGNV, SystemMemory, 0xD7DB6E98, 0x0110)
1287     Field (OGNV, AnyAcc, Lock, Preserve)
1288     {
1289         WOLV,   8, 
1290         POWF,   8, 
1291         EDMI,   16, 
1292         EDPI,   16, 
1293         EDDA,   2048, 
1294         RES1,   8, 
1295         RES2,   72
1296     }
1297 
1298     Scope (_SB)
1299     {
1300         Name (PRSA, ResourceTemplate ()
1301         {
1302             IRQ (Level, ActiveLow, Shared, )
1303                 {4,5,6,10,11,14,15}
1304         })
1305         Alias (PRSA, PRSB)
1306         Alias (PRSA, PRSC)
1307         Alias (PRSA, PRSD)
1308         Alias (PRSA, PRSE)
1309         Alias (PRSA, PRSF)
1310         Alias (PRSA, PRSG)
1311         Alias (PRSA, PRSH)
1312         Name (PD10, Package (0x04)
1313         {
1314             Package (0x04)
1315             {
1316                 0xFFFF, 
1317                 Zero, 
1318                 LNKA, 
1319                 Zero
1320             }, 
1321 
1322             Package (0x04)
1323             {
1324                 0xFFFF, 
1325                 One, 
1326                 LNKB, 
1327                 Zero
1328             }, 
1329 
1330             Package (0x04)
1331             {
1332                 0xFFFF, 
1333                 0x02, 
1334                 LNKC, 
1335                 Zero
1336             }, 
1337 
1338             Package (0x04)
1339             {
1340                 0xFFFF, 
1341                 0x03, 
1342                 LNKD, 
1343                 Zero
1344             }
1345         })
1346         Name (AR10, Package (0x04)
1347         {
1348             Package (0x04)
1349             {
1350                 0xFFFF, 
1351                 Zero, 
1352                 Zero, 
1353                 0x18
1354             }, 
1355 
1356             Package (0x04)
1357             {
1358                 0xFFFF, 
1359                 One, 
1360                 Zero, 
1361                 0x19
1362             }, 
1363 
1364             Package (0x04)
1365             {
1366                 0xFFFF, 
1367                 0x02, 
1368                 Zero, 
1369                 0x1A
1370             }, 
1371 
1372             Package (0x04)
1373             {
1374                 0xFFFF, 
1375                 0x03, 
1376                 Zero, 
1377                 0x1B
1378             }
1379         })
1380         Name (PD16, Package (0x04)
1381         {
1382             Package (0x04)
1383             {
1384                 0xFFFF, 
1385                 Zero, 
1386                 LNKE, 
1387                 Zero
1388             }, 
1389 
1390             Package (0x04)
1391             {
1392                 0xFFFF, 
1393                 One, 
1394                 LNKF, 
1395                 Zero
1396             }, 
1397 
1398             Package (0x04)
1399             {
1400                 0xFFFF, 
1401                 0x02, 
1402                 LNKG, 
1403                 Zero
1404             }, 
1405 
1406             Package (0x04)
1407             {
1408                 0xFFFF, 
1409                 0x03, 
1410                 LNKH, 
1411                 Zero
1412             }
1413         })
1414         Name (AR16, Package (0x04)
1415         {
1416             Package (0x04)
1417             {
1418                 0xFFFF, 
1419                 Zero, 
1420                 Zero, 
1421                 0x24
1422             }, 
1423 
1424             Package (0x04)
1425             {
1426                 0xFFFF, 
1427                 One, 
1428                 Zero, 
1429                 0x25
1430             }, 
1431 
1432             Package (0x04)
1433             {
1434                 0xFFFF, 
1435                 0x02, 
1436                 Zero, 
1437                 0x26
1438             }, 
1439 
1440             Package (0x04)
1441             {
1442                 0xFFFF, 
1443                 0x03, 
1444                 Zero, 
1445                 0x27
1446             }
1447         })
1448         Name (PD18, Package (0x04)
1449         {
1450             Package (0x04)
1451             {
1452                 0xFFFF, 
1453                 Zero, 
1454                 LNKA, 
1455                 Zero
1456             }, 
1457 
1458             Package (0x04)
1459             {
1460                 0xFFFF, 
1461                 One, 
1462                 LNKB, 
1463                 Zero
1464             }, 
1465 
1466             Package (0x04)
1467             {
1468                 0xFFFF, 
1469                 0x02, 
1470                 LNKC, 
1471                 Zero
1472             }, 
1473 
1474             Package (0x04)
1475             {
1476                 0xFFFF, 
1477                 0x03, 
1478                 LNKD, 
1479                 Zero
1480             }
1481         })
1482         Name (AR18, Package (0x04)
1483         {
1484             Package (0x04)
1485             {
1486                 0xFFFF, 
1487                 Zero, 
1488                 Zero, 
1489                 0x28
1490             }, 
1491 
1492             Package (0x04)
1493             {
1494                 0xFFFF, 
1495                 One, 
1496                 Zero, 
1497                 0x29
1498             }, 
1499 
1500             Package (0x04)
1501             {
1502                 0xFFFF, 
1503                 0x02, 
1504                 Zero, 
1505                 0x2A
1506             }, 
1507 
1508             Package (0x04)
1509             {
1510                 0xFFFF, 
1511                 0x03, 
1512                 Zero, 
1513                 0x2B
1514             }
1515         })
1516         Name (PD22, Package (0x04)
1517         {
1518             Package (0x04)
1519             {
1520                 0xFFFF, 
1521                 Zero, 
1522                 LNKE, 
1523                 Zero
1524             }, 
1525 
1526             Package (0x04)
1527             {
1528                 0xFFFF, 
1529                 One, 
1530                 LNKF, 
1531                 Zero
1532             }, 
1533 
1534             Package (0x04)
1535             {
1536                 0xFFFF, 
1537                 0x02, 
1538                 LNKG, 
1539                 Zero
1540             }, 
1541 
1542             Package (0x04)
1543             {
1544                 0xFFFF, 
1545                 0x03, 
1546                 LNKH, 
1547                 Zero
1548             }
1549         })
1550         Name (AR22, Package (0x04)
1551         {
1552             Package (0x04)
1553             {
1554                 0xFFFF, 
1555                 Zero, 
1556                 Zero, 
1557                 0x2C
1558             }, 
1559 
1560             Package (0x04)
1561             {
1562                 0xFFFF, 
1563                 One, 
1564                 Zero, 
1565                 0x2D
1566             }, 
1567 
1568             Package (0x04)
1569             {
1570                 0xFFFF, 
1571                 0x02, 
1572                 Zero, 
1573                 0x2E
1574             }, 
1575 
1576             Package (0x04)
1577             {
1578                 0xFFFF, 
1579                 0x03, 
1580                 Zero, 
1581                 0x2F
1582             }
1583         })
1584         Name (PD24, Package (0x04)
1585         {
1586             Package (0x04)
1587             {
1588                 0xFFFF, 
1589                 Zero, 
1590                 LNKG, 
1591                 Zero
1592             }, 
1593 
1594             Package (0x04)
1595             {
1596                 0xFFFF, 
1597                 One, 
1598                 LNKH, 
1599                 Zero
1600             }, 
1601 
1602             Package (0x04)
1603             {
1604                 0xFFFF, 
1605                 0x02, 
1606                 LNKE, 
1607                 Zero
1608             }, 
1609 
1610             Package (0x04)
1611             {
1612                 0xFFFF, 
1613                 0x03, 
1614                 LNKF, 
1615                 Zero
1616             }
1617         })
1618         Name (AR24, Package (0x04)
1619         {
1620             Package (0x04)
1621             {
1622                 0xFFFF, 
1623                 Zero, 
1624                 Zero, 
1625                 0x2E
1626             }, 
1627 
1628             Package (0x04)
1629             {
1630                 0xFFFF, 
1631                 One, 
1632                 Zero, 
1633                 0x2F
1634             }, 
1635 
1636             Package (0x04)
1637             {
1638                 0xFFFF, 
1639                 0x02, 
1640                 Zero, 
1641                 0x2C
1642             }, 
1643 
1644             Package (0x04)
1645             {
1646                 0xFFFF, 
1647                 0x03, 
1648                 Zero, 
1649                 0x2D
1650             }
1651         })
1652         Name (PD26, Package (0x04)
1653         {
1654             Package (0x04)
1655             {
1656                 0xFFFF, 
1657                 Zero, 
1658                 LNKG, 
1659                 Zero
1660             }, 
1661 
1662             Package (0x04)
1663             {
1664                 0xFFFF, 
1665                 One, 
1666                 LNKH, 
1667                 Zero
1668             }, 
1669 
1670             Package (0x04)
1671             {
1672                 0xFFFF, 
1673                 0x02, 
1674                 LNKE, 
1675                 Zero
1676             }, 
1677 
1678             Package (0x04)
1679             {
1680                 0xFFFF, 
1681                 0x03, 
1682                 LNKF, 
1683                 Zero
1684             }
1685         })
1686         Name (AR26, Package (0x04)
1687         {
1688             Package (0x04)
1689             {
1690                 0xFFFF, 
1691                 Zero, 
1692                 Zero, 
1693                 0x2E
1694             }, 
1695 
1696             Package (0x04)
1697             {
1698                 0xFFFF, 
1699                 One, 
1700                 Zero, 
1701                 0x2F
1702             }, 
1703 
1704             Package (0x04)
1705             {
1706                 0xFFFF, 
1707                 0x02, 
1708                 Zero, 
1709                 0x2C
1710             }, 
1711 
1712             Package (0x04)
1713             {
1714                 0xFFFF, 
1715                 0x03, 
1716                 Zero, 
1717                 0x2D
1718             }
1719         })
1720         Name (PD28, Package (0x04)
1721         {
1722             Package (0x04)
1723             {
1724                 0xFFFF, 
1725                 Zero, 
1726                 LNKC, 
1727                 Zero
1728             }, 
1729 
1730             Package (0x04)
1731             {
1732                 0xFFFF, 
1733                 One, 
1734                 LNKD, 
1735                 Zero
1736             }, 
1737 
1738             Package (0x04)
1739             {
1740                 0xFFFF, 
1741                 0x02, 
1742                 LNKA, 
1743                 Zero
1744             }, 
1745 
1746             Package (0x04)
1747             {
1748                 0xFFFF, 
1749                 0x03, 
1750                 LNKB, 
1751                 Zero
1752             }
1753         })
1754         Name (AR28, Package (0x04)
1755         {
1756             Package (0x04)
1757             {
1758                 0xFFFF, 
1759                 Zero, 
1760                 Zero, 
1761                 0x2A
1762             }, 
1763 
1764             Package (0x04)
1765             {
1766                 0xFFFF, 
1767                 One, 
1768                 Zero, 
1769                 0x2B
1770             }, 
1771 
1772             Package (0x04)
1773             {
1774                 0xFFFF, 
1775                 0x02, 
1776                 Zero, 
1777                 0x28
1778             }, 
1779 
1780             Package (0x04)
1781             {
1782                 0xFFFF, 
1783                 0x03, 
1784                 Zero, 
1785                 0x29
1786             }
1787         })
1788         Name (PD2A, Package (0x04)
1789         {
1790             Package (0x04)
1791             {
1792                 0xFFFF, 
1793                 Zero, 
1794                 LNKG, 
1795                 Zero
1796             }, 
1797 
1798             Package (0x04)
1799             {
1800                 0xFFFF, 
1801                 One, 
1802                 LNKH, 
1803                 Zero
1804             }, 
1805 
1806             Package (0x04)
1807             {
1808                 0xFFFF, 
1809                 0x02, 
1810                 LNKE, 
1811                 Zero
1812             }, 
1813 
1814             Package (0x04)
1815             {
1816                 0xFFFF, 
1817                 0x03, 
1818                 LNKF, 
1819                 Zero
1820             }
1821         })
1822         Name (AR2A, Package (0x04)
1823         {
1824             Package (0x04)
1825             {
1826                 0xFFFF, 
1827                 Zero, 
1828                 Zero, 
1829                 0x26
1830             }, 
1831 
1832             Package (0x04)
1833             {
1834                 0xFFFF, 
1835                 One, 
1836                 Zero, 
1837                 0x27
1838             }, 
1839 
1840             Package (0x04)
1841             {
1842                 0xFFFF, 
1843                 0x02, 
1844                 Zero, 
1845                 0x24
1846             }, 
1847 
1848             Package (0x04)
1849             {
1850                 0xFFFF, 
1851                 0x03, 
1852                 Zero, 
1853                 0x25
1854             }
1855         })
1856         Name (PD30, Package (0x04)
1857         {
1858             Package (0x04)
1859             {
1860                 0xFFFF, 
1861                 Zero, 
1862                 LNKA, 
1863                 Zero
1864             }, 
1865 
1866             Package (0x04)
1867             {
1868                 0xFFFF, 
1869                 One, 
1870                 LNKB, 
1871                 Zero
1872             }, 
1873 
1874             Package (0x04)
1875             {
1876                 0xFFFF, 
1877                 0x02, 
1878                 LNKC, 
1879                 Zero
1880             }, 
1881 
1882             Package (0x04)
1883             {
1884                 0xFFFF, 
1885                 0x03, 
1886                 LNKD, 
1887                 Zero
1888             }
1889         })
1890         Name (AR30, Package (0x04)
1891         {
1892             Package (0x04)
1893             {
1894                 0xFFFF, 
1895                 Zero, 
1896                 Zero, 
1897                 0x18
1898             }, 
1899 
1900             Package (0x04)
1901             {
1902                 0xFFFF, 
1903                 One, 
1904                 Zero, 
1905                 0x19
1906             }, 
1907 
1908             Package (0x04)
1909             {
1910                 0xFFFF, 
1911                 0x02, 
1912                 Zero, 
1913                 0x1A
1914             }, 
1915 
1916             Package (0x04)
1917             {
1918                 0xFFFF, 
1919                 0x03, 
1920                 Zero, 
1921                 0x1B
1922             }
1923         })
1924         Name (PD60, Package (0x04)
1925         {
1926             Package (0x04)
1927             {
1928                 0xFFFF, 
1929                 Zero, 
1930                 LNKA, 
1931                 Zero
1932             }, 
1933 
1934             Package (0x04)
1935             {
1936                 0xFFFF, 
1937                 One, 
1938                 LNKB, 
1939                 Zero
1940             }, 
1941 
1942             Package (0x04)
1943             {
1944                 0xFFFF, 
1945                 0x02, 
1946                 LNKC, 
1947                 Zero
1948             }, 
1949 
1950             Package (0x04)
1951             {
1952                 0xFFFF, 
1953                 0x03, 
1954                 LNKD, 
1955                 Zero
1956             }
1957         })
1958         Name (AR60, Package (0x04)
1959         {
1960             Package (0x04)
1961             {
1962                 0xFFFF, 
1963                 Zero, 
1964                 Zero, 
1965                 0x18
1966             }, 
1967 
1968             Package (0x04)
1969             {
1970                 0xFFFF, 
1971                 One, 
1972                 Zero, 
1973                 0x19
1974             }, 
1975 
1976             Package (0x04)
1977             {
1978                 0xFFFF, 
1979                 0x02, 
1980                 Zero, 
1981                 0x1A
1982             }, 
1983 
1984             Package (0x04)
1985             {
1986                 0xFFFF, 
1987                 0x03, 
1988                 Zero, 
1989                 0x1B
1990             }
1991         })
1992         Name (PD90, Package (0x04)
1993         {
1994             Package (0x04)
1995             {
1996                 0xFFFF, 
1997                 Zero, 
1998                 LNKC, 
1999                 Zero
2000             }, 
2001 
2002             Package (0x04)
2003             {
2004                 0xFFFF, 
2005                 One, 
2006                 LNKD, 
2007                 Zero
2008             }, 
2009 
2010             Package (0x04)
2011             {
2012                 0xFFFF, 
2013                 0x02, 
2014                 LNKA, 
2015                 Zero
2016             }, 
2017 
2018             Package (0x04)
2019             {
2020                 0xFFFF, 
2021                 0x03, 
2022                 LNKB, 
2023                 Zero
2024             }
2025         })
2026         Name (AR90, Package (0x04)
2027         {
2028             Package (0x04)
2029             {
2030                 0xFFFF, 
2031                 Zero, 
2032                 Zero, 
2033                 0x22
2034             }, 
2035 
2036             Package (0x04)
2037             {
2038                 0xFFFF, 
2039                 One, 
2040                 Zero, 
2041                 0x23
2042             }, 
2043 
2044             Package (0x04)
2045             {
2046                 0xFFFF, 
2047                 0x02, 
2048                 Zero, 
2049                 0x20
2050             }, 
2051 
2052             Package (0x04)
2053             {
2054                 0xFFFF, 
2055                 0x03, 
2056                 Zero, 
2057                 0x21
2058             }
2059         })
2060         Name (PD92, Package (0x04)
2061         {
2062             Package (0x04)
2063             {
2064                 0xFFFF, 
2065                 Zero, 
2066                 LNKG, 
2067                 Zero
2068             }, 
2069 
2070             Package (0x04)
2071             {
2072                 0xFFFF, 
2073                 One, 
2074                 LNKH, 
2075                 Zero
2076             }, 
2077 
2078             Package (0x04)
2079             {
2080                 0xFFFF, 
2081                 0x02, 
2082                 LNKE, 
2083                 Zero
2084             }, 
2085 
2086             Package (0x04)
2087             {
2088                 0xFFFF, 
2089                 0x03, 
2090                 LNKF, 
2091                 Zero
2092             }
2093         })
2094         Name (AR92, Package (0x04)
2095         {
2096             Package (0x04)
2097             {
2098                 0xFFFF, 
2099                 Zero, 
2100                 Zero, 
2101                 0x1E
2102             }, 
2103 
2104             Package (0x04)
2105             {
2106                 0xFFFF, 
2107                 One, 
2108                 Zero, 
2109                 0x1F
2110             }, 
2111 
2112             Package (0x04)
2113             {
2114                 0xFFFF, 
2115                 0x02, 
2116                 Zero, 
2117                 0x1C
2118             }, 
2119 
2120             Package (0x04)
2121             {
2122                 0xFFFF, 
2123                 0x03, 
2124                 Zero, 
2125                 0x1D
2126             }
2127         })
2128         Name (PD94, Package (0x04)
2129         {
2130             Package (0x04)
2131             {
2132                 0xFFFF, 
2133                 Zero, 
2134                 LNKC, 
2135                 Zero
2136             }, 
2137 
2138             Package (0x04)
2139             {
2140                 0xFFFF, 
2141                 One, 
2142                 LNKD, 
2143                 Zero
2144             }, 
2145 
2146             Package (0x04)
2147             {
2148                 0xFFFF, 
2149                 0x02, 
2150                 LNKA, 
2151                 Zero
2152             }, 
2153 
2154             Package (0x04)
2155             {
2156                 0xFFFF, 
2157                 0x03, 
2158                 LNKB, 
2159                 Zero
2160             }
2161         })
2162         Name (AR94, Package (0x04)
2163         {
2164             Package (0x04)
2165             {
2166                 0xFFFF, 
2167                 Zero, 
2168                 Zero, 
2169                 0x1A
2170             }, 
2171 
2172             Package (0x04)
2173             {
2174                 0xFFFF, 
2175                 One, 
2176                 Zero, 
2177                 0x1B
2178             }, 
2179 
2180             Package (0x04)
2181             {
2182                 0xFFFF, 
2183                 0x02, 
2184                 Zero, 
2185                 0x18
2186             }, 
2187 
2188             Package (0x04)
2189             {
2190                 0xFFFF, 
2191                 0x03, 
2192                 Zero, 
2193                 0x19
2194             }
2195         })
2196         Name (PD00, Package (0x04)
2197         {
2198             Package (0x04)
2199             {
2200                 0x0014FFFF, 
2201                 Zero, 
2202                 LNKA, 
2203                 Zero
2204             }, 
2205 
2206             Package (0x04)
2207             {
2208                 0x0014FFFF, 
2209                 One, 
2210                 LNKB, 
2211                 Zero
2212             }, 
2213 
2214             Package (0x04)
2215             {
2216                 0x0014FFFF, 
2217                 0x02, 
2218                 LNKC, 
2219                 Zero
2220             }, 
2221 
2222             Package (0x04)
2223             {
2224                 0x0014FFFF, 
2225                 0x03, 
2226                 LNKD, 
2227                 Zero
2228             }
2229         })
2230         Name (AR00, Package (0x04)
2231         {
2232             Package (0x04)
2233             {
2234                 0x0014FFFF, 
2235                 Zero, 
2236                 Zero, 
2237                 0x10
2238             }, 
2239 
2240             Package (0x04)
2241             {
2242                 0x0014FFFF, 
2243                 One, 
2244                 Zero, 
2245                 0x11
2246             }, 
2247 
2248             Package (0x04)
2249             {
2250                 0x0014FFFF, 
2251                 0x02, 
2252                 Zero, 
2253                 0x12
2254             }, 
2255 
2256             Package (0x04)
2257             {
2258                 0x0014FFFF, 
2259                 0x03, 
2260                 Zero, 
2261                 0x13
2262             }
2263         })
2264         Name (PD12, Package (0x04)
2265         {
2266             Package (0x04)
2267             {
2268                 0xFFFF, 
2269                 Zero, 
2270                 LNKE, 
2271                 Zero
2272             }, 
2273 
2274             Package (0x04)
2275             {
2276                 0xFFFF, 
2277                 One, 
2278                 LNKF, 
2279                 Zero
2280             }, 
2281 
2282             Package (0x04)
2283             {
2284                 0xFFFF, 
2285                 0x02, 
2286                 LNKG, 
2287                 Zero
2288             }, 
2289 
2290             Package (0x04)
2291             {
2292                 0xFFFF, 
2293                 0x03, 
2294                 LNKH, 
2295                 Zero
2296             }
2297         })
2298         Name (AR12, Package (0x04)
2299         {
2300             Package (0x04)
2301             {
2302                 0xFFFF, 
2303                 Zero, 
2304                 Zero, 
2305                 0x1C
2306             }, 
2307 
2308             Package (0x04)
2309             {
2310                 0xFFFF, 
2311                 One, 
2312                 Zero, 
2313                 0x1D
2314             }, 
2315 
2316             Package (0x04)
2317             {
2318                 0xFFFF, 
2319                 0x02, 
2320                 Zero, 
2321                 0x1E
2322             }, 
2323 
2324             Package (0x04)
2325             {
2326                 0xFFFF, 
2327                 0x03, 
2328                 Zero, 
2329                 0x1F
2330             }
2331         })
2332         Name (PD14, Package (0x04)
2333         {
2334             Package (0x04)
2335             {
2336                 0xFFFF, 
2337                 Zero, 
2338                 LNKA, 
2339                 Zero
2340             }, 
2341 
2342             Package (0x04)
2343             {
2344                 0xFFFF, 
2345                 One, 
2346                 LNKB, 
2347                 Zero
2348             }, 
2349 
2350             Package (0x04)
2351             {
2352                 0xFFFF, 
2353                 0x02, 
2354                 LNKC, 
2355                 Zero
2356             }, 
2357 
2358             Package (0x04)
2359             {
2360                 0xFFFF, 
2361                 0x03, 
2362                 LNKD, 
2363                 Zero
2364             }
2365         })
2366         Name (AR14, Package (0x04)
2367         {
2368             Package (0x04)
2369             {
2370                 0xFFFF, 
2371                 Zero, 
2372                 Zero, 
2373                 0x20
2374             }, 
2375 
2376             Package (0x04)
2377             {
2378                 0xFFFF, 
2379                 One, 
2380                 Zero, 
2381                 0x21
2382             }, 
2383 
2384             Package (0x04)
2385             {
2386                 0xFFFF, 
2387                 0x02, 
2388                 Zero, 
2389                 0x22
2390             }, 
2391 
2392             Package (0x04)
2393             {
2394                 0xFFFF, 
2395                 0x03, 
2396                 Zero, 
2397                 0x23
2398             }
2399         })
2400     }
2401 
2402     Scope (_SB)
2403     {
2404         Device (PCI0)
2405         {
2406             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
2407             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
2408             Name (_ADR, Zero)  // _ADR: Address
2409             Method (^BN00, 0, NotSerialized)
2410             {
2411                 Return (Zero)
2412             }
2413 
2414             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
2415             {
2416                 Return (BN00 ())
2417             }
2418 
2419             Name (_UID, Zero)  // _UID: Unique ID
2420             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2421             {
2422                 If (PICM)
2423                 {
2424                     Return (AR00) /* \_SB_.AR00 */
2425                 }
2426 
2427                 Return (PD00) /* \_SB_.PD00 */
2428             }
2429 
2430             Device (AMDN)
2431             {
2432                 Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
2433                 Name (_UID, 0xC8)  // _UID: Unique ID
2434                 Name (_STA, 0x0F)  // _STA: Status
2435                 Name (NPTR, ResourceTemplate ()
2436                 {
2437                     Memory32Fixed (ReadWrite,
2438                         0x00000000,         // Address Base
2439                         0x00000000,         // Address Length
2440                         _Y00)
2441                 })
2442                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
2443                 {
2444                     CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y00._LEN, PL)  // _LEN: Length
2445                     CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y00._BAS, PB)  // _BAS: Base Address
2446                     PB = PEBS /* \PEBS */
2447                     PL = PEBL /* \PEBL */
2448                     Return (NPTR) /* \_SB_.PCI0.AMDN.NPTR */
2449                 }
2450             }
2451 
2452             Method (NPTS, 1, NotSerialized)
2453             {
2454                 APTS (Arg0)
2455             }
2456 
2457             Method (NWAK, 1, NotSerialized)
2458             {
2459                 AWAK (Arg0)
2460             }
2461 
2462             Name (CPRB, One)
2463             Name (LVGA, 0x01)
2464             Name (STAV, 0x0F)
2465             Name (BRB, 0x0000)
2466             Name (BRL, 0x0100)
2467             Name (IOB, 0x1000)
2468             Name (IOL, 0xF000)
2469             Name (MBB, 0xE0000000)
2470             Name (MBL, 0x1D000000)
2471             Name (MAB, 0x0000000820000000)
2472             Name (MAL, 0x00000077E0000000)
2473             Name (MAM, 0x0000007FFFFFFFFF)
2474             Name (CRS1, ResourceTemplate ()
2475             {
2476                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2477                     0x0000,             // Granularity
2478                     0x0000,             // Range Minimum
2479                     0x007F,             // Range Maximum
2480                     0x0000,             // Translation Offset
2481                     0x0080,             // Length
2482                     ,, _Y01)
2483                 IO (Decode16,
2484                     0x0CF8,             // Range Minimum
2485                     0x0CF8,             // Range Maximum
2486                     0x01,               // Alignment
2487                     0x08,               // Length
2488                     )
2489                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2490                     0x0000,             // Granularity
2491                     0x0000,             // Range Minimum
2492                     0x03AF,             // Range Maximum
2493                     0x0000,             // Translation Offset
2494                     0x03B0,             // Length
2495                     ,, , TypeStatic, DenseTranslation)
2496                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2497                     0x0000,             // Granularity
2498                     0x03E0,             // Range Minimum
2499                     0x0CF7,             // Range Maximum
2500                     0x0000,             // Translation Offset
2501                     0x0918,             // Length
2502                     ,, , TypeStatic, DenseTranslation)
2503                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2504                     0x0000,             // Granularity
2505                     0x0000,             // Range Minimum
2506                     0x0000,             // Range Maximum
2507                     0x0000,             // Translation Offset
2508                     0x0000,             // Length
2509                     ,, _Y03, TypeStatic, DenseTranslation)
2510                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2511                     0x0000,             // Granularity
2512                     0x0D00,             // Range Minimum
2513                     0x0FFF,             // Range Maximum
2514                     0x0000,             // Translation Offset
2515                     0x0300,             // Length
2516                     ,, _Y02, TypeStatic, DenseTranslation)
2517                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2518                     0x00000000,         // Granularity
2519                     0x00000000,         // Range Minimum
2520                     0x00000000,         // Range Maximum
2521                     0x00000000,         // Translation Offset
2522                     0x00000000,         // Length
2523                     ,, _Y04, AddressRangeMemory, TypeStatic)
2524                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
2525                     0x00000000,         // Granularity
2526                     0x000C0000,         // Range Minimum
2527                     0x000DFFFF,         // Range Maximum
2528                     0x00000000,         // Translation Offset
2529                     0x00020000,         // Length
2530                     ,, , AddressRangeMemory, TypeStatic)
2531                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2532                     0x00000000,         // Granularity
2533                     0x02000000,         // Range Minimum
2534                     0xFFDFFFFF,         // Range Maximum
2535                     0x00000000,         // Translation Offset
2536                     0xFDE00000,         // Length
2537                     ,, _Y05, AddressRangeMemory, TypeStatic)
2538                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2539                     0x00000000,         // Granularity
2540                     0x02000000,         // Range Minimum
2541                     0xFFDFFFFF,         // Range Maximum
2542                     0x00000000,         // Translation Offset
2543                     0xFDE00000,         // Length
2544                     ,, _Y06, AddressRangeMemory, TypeStatic)
2545                 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2546                     0x0000000000000000, // Granularity
2547                     0x0000000000000000, // Range Minimum
2548                     0x0000000000000000, // Range Maximum
2549                     0x0000000000000000, // Translation Offset
2550                     0x0000000000000000, // Length
2551                     ,, _Y07, AddressRangeMemory, TypeStatic)
2552             })
2553             Name (CRS2, ResourceTemplate ()
2554             {
2555                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2556                     0x0000,             // Granularity
2557                     0x0080,             // Range Minimum
2558                     0x00FF,             // Range Maximum
2559                     0x0000,             // Translation Offset
2560                     0x0080,             // Length
2561                     ,, _Y08)
2562                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2563                     0x0000,             // Granularity
2564                     0x0000,             // Range Minimum
2565                     0x0000,             // Range Maximum
2566                     0x0000,             // Translation Offset
2567                     0x0000,             // Length
2568                     ,, _Y0A, TypeStatic, DenseTranslation)
2569                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2570                     0x0000,             // Granularity
2571                     0x0000,             // Range Minimum
2572                     0x0000,             // Range Maximum
2573                     0x0000,             // Translation Offset
2574                     0x0000,             // Length
2575                     ,, _Y09, TypeStatic, DenseTranslation)
2576                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2577                     0x00000000,         // Granularity
2578                     0x00000000,         // Range Minimum
2579                     0x00000000,         // Range Maximum
2580                     0x00000000,         // Translation Offset
2581                     0x00000000,         // Length
2582                     ,, _Y0B, AddressRangeMemory, TypeStatic)
2583                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2584                     0x00000000,         // Granularity
2585                     0x80000000,         // Range Minimum
2586                     0xFFFFFFFF,         // Range Maximum
2587                     0x00000000,         // Translation Offset
2588                     0x80000000,         // Length
2589                     ,, _Y0C, AddressRangeMemory, TypeStatic)
2590                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2591                     0x00000000,         // Granularity
2592                     0x80000000,         // Range Minimum
2593                     0xFFFFFFFF,         // Range Maximum
2594                     0x00000000,         // Translation Offset
2595                     0x80000000,         // Length
2596                     ,, _Y0D, AddressRangeMemory, TypeStatic)
2597                 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2598                     0x0000000000000000, // Granularity
2599                     0x0000000000000000, // Range Minimum
2600                     0x0000000000000000, // Range Maximum
2601                     0x0000000000000000, // Translation Offset
2602                     0x0000000000000000, // Length
2603                     ,, _Y0E, AddressRangeMemory, TypeStatic)
2604             })
2605             Method (_STA, 0, NotSerialized)  // _STA: Status
2606             {
2607                 Return (STAV) /* \_SB_.PCI0.STAV */
2608             }
2609 
2610             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
2611             {
2612                 DBG8 = 0x25
2613                 If (CPRB)
2614                 {
2615                     CreateWordField (CRS1, \_SB.PCI0._Y01._MIN, MIN0)  // _MIN: Minimum Base Address
2616                     CreateWordField (CRS1, \_SB.PCI0._Y01._MAX, MAX0)  // _MAX: Maximum Base Address
2617                     CreateWordField (CRS1, \_SB.PCI0._Y01._LEN, LEN0)  // _LEN: Length
2618                     MIN0 = BRB /* \_SB_.PCI0.BRB_ */
2619                     LEN0 = BRL /* \_SB_.PCI0.BRL_ */
2620                     Local0 = LEN0 /* \_SB_.PCI0._CRS.LEN0 */
2621                     MAX0 = (MIN0 + Local0--)
2622                     CreateWordField (CRS1, \_SB.PCI0._Y02._MIN, MIN1)  // _MIN: Minimum Base Address
2623                     CreateWordField (CRS1, \_SB.PCI0._Y02._MAX, MAX1)  // _MAX: Maximum Base Address
2624                     CreateWordField (CRS1, \_SB.PCI0._Y02._LEN, LEN1)  // _LEN: Length
2625                     If ((IOB == 0x1000))
2626                     {
2627                         Local0 = IOL /* \_SB_.PCI0.IOL_ */
2628                         MAX1 = (IOB + Local0--)
2629                         Local0 = (MAX1 - MIN1) /* \_SB_.PCI0._CRS.MIN1 */
2630                         LEN1 = (Local0 + One)
2631                     }
2632                     Else
2633                     {
2634                         MIN1 = IOB /* \_SB_.PCI0.IOB_ */
2635                         LEN1 = IOL /* \_SB_.PCI0.IOL_ */
2636                         Local0 = LEN1 /* \_SB_.PCI0._CRS.LEN1 */
2637                         MAX1 = (MIN1 + Local0--)
2638                     }
2639 
2640                     If (((LVGA == One) || (LVGA == 0x55)))
2641                     {
2642                         If (VGAF)
2643                         {
2644                             CreateWordField (CRS1, \_SB.PCI0._Y03._MIN, IMN1)  // _MIN: Minimum Base Address
2645                             CreateWordField (CRS1, \_SB.PCI0._Y03._MAX, IMX1)  // _MAX: Maximum Base Address
2646                             CreateWordField (CRS1, \_SB.PCI0._Y03._LEN, ILN1)  // _LEN: Length
2647                             IMN1 = 0x03B0
2648                             IMX1 = 0x03DF
2649                             ILN1 = 0x30
2650                             CreateDWordField (CRS1, \_SB.PCI0._Y04._MIN, VMN1)  // _MIN: Minimum Base Address
2651                             CreateDWordField (CRS1, \_SB.PCI0._Y04._MAX, VMX1)  // _MAX: Maximum Base Address
2652                             CreateDWordField (CRS1, \_SB.PCI0._Y04._LEN, VLN1)  // _LEN: Length
2653                             VMN1 = 0x000A0000
2654                             VMX1 = 0x000BFFFF
2655                             VLN1 = 0x00020000
2656                             VGAF = Zero
2657                         }
2658                     }
2659 
2660                     CreateDWordField (CRS1, \_SB.PCI0._Y05._MIN, MIN3)  // _MIN: Minimum Base Address
2661                     CreateDWordField (CRS1, \_SB.PCI0._Y05._MAX, MAX3)  // _MAX: Maximum Base Address
2662                     CreateDWordField (CRS1, \_SB.PCI0._Y05._LEN, LEN3)  // _LEN: Length
2663                     CreateDWordField (CRS1, \_SB.PCI0._Y06._MIN, MIN7)  // _MIN: Minimum Base Address
2664                     CreateDWordField (CRS1, \_SB.PCI0._Y06._MAX, MAX7)  // _MAX: Maximum Base Address
2665                     CreateDWordField (CRS1, \_SB.PCI0._Y06._LEN, LEN7)  // _LEN: Length
2666                     Local0 = (MBB + MBL) /* \_SB_.PCI0.MBL_ */
2667                     If ((Local0 < NBTP))
2668                     {
2669                         MIN3 = MBB /* \_SB_.PCI0.MBB_ */
2670                         LEN3 = MBL /* \_SB_.PCI0.MBL_ */
2671                         Local0 = LEN3 /* \_SB_.PCI0._CRS.LEN3 */
2672                         MAX3 = (MIN3 + Local0--)
2673                         MIN7 = Zero
2674                         MAX7 = Zero
2675                         LEN7 = Zero
2676                     }
2677                     Else
2678                     {
2679                         MIN3 = MBB /* \_SB_.PCI0.MBB_ */
2680                         LEN3 = (NBTP - MBB)
2681                         Local0 = LEN3 /* \_SB_.PCI0._CRS.LEN3 */
2682                         MAX3 = (MIN3 + Local0--)
2683                         If (((MBL - LEN3) < 0x00200000))
2684                         {
2685                             MIN7 = Zero
2686                             MAX7 = Zero
2687                             LEN7 = Zero
2688                         }
2689                         Else
2690                         {
2691                             MIN7 = 0xFEE00000
2692                             Local0 = (0xFEE00000 - NBTP)
2693                             LEN7 = (MBL - Local0)
2694                             LEN7 = (LEN7 - LEN3)
2695                             Local0 = LEN7 /* \_SB_.PCI0._CRS.LEN7 */
2696                             MAX7 = (MIN7 + Local0--)
2697                         }
2698                     }
2699 
2700                     If (MAL)
2701                     {
2702                         CreateQWordField (CRS1, \_SB.PCI0._Y07._MIN, MN8)  // _MIN: Minimum Base Address
2703                         CreateQWordField (CRS1, \_SB.PCI0._Y07._MAX, MX8)  // _MAX: Maximum Base Address
2704                         CreateQWordField (CRS1, \_SB.PCI0._Y07._LEN, LN8)  // _LEN: Length
2705                         MN8 = MAB /* \_SB_.PCI0.MAB_ */
2706                         LN8 = MAL /* \_SB_.PCI0.MAL_ */
2707                         MX8 = MAM /* \_SB_.PCI0.MAM_ */
2708                     }
2709 
2710                     DBG8 = 0x24
2711                     Return (CRS1) /* \_SB_.PCI0.CRS1 */
2712                 }
2713                 Else
2714                 {
2715                     CreateWordField (CRS2, \_SB.PCI0._Y08._MIN, MIN2)  // _MIN: Minimum Base Address
2716                     CreateWordField (CRS2, \_SB.PCI0._Y08._MAX, MAX2)  // _MAX: Maximum Base Address
2717                     CreateWordField (CRS2, \_SB.PCI0._Y08._LEN, LEN2)  // _LEN: Length
2718                     MIN2 = BRB /* \_SB_.PCI0.BRB_ */
2719                     LEN2 = BRL /* \_SB_.PCI0.BRL_ */
2720                     Local1 = LEN2 /* \_SB_.PCI0._CRS.LEN2 */
2721                     MAX2 = (MIN2 + Local1--)
2722                     CreateWordField (CRS2, \_SB.PCI0._Y09._MIN, MIN4)  // _MIN: Minimum Base Address
2723                     CreateWordField (CRS2, \_SB.PCI0._Y09._MAX, MAX4)  // _MAX: Maximum Base Address
2724                     CreateWordField (CRS2, \_SB.PCI0._Y09._LEN, LEN4)  // _LEN: Length
2725                     MIN4 = IOB /* \_SB_.PCI0.IOB_ */
2726                     LEN4 = IOL /* \_SB_.PCI0.IOL_ */
2727                     Local1 = LEN4 /* \_SB_.PCI0._CRS.LEN4 */
2728                     MAX4 = (MIN4 + Local1--)
2729                     If (LVGA)
2730                     {
2731                         CreateWordField (CRS2, \_SB.PCI0._Y0A._MIN, IMN2)  // _MIN: Minimum Base Address
2732                         CreateWordField (CRS2, \_SB.PCI0._Y0A._MAX, IMX2)  // _MAX: Maximum Base Address
2733                         CreateWordField (CRS2, \_SB.PCI0._Y0A._LEN, ILN2)  // _LEN: Length
2734                         IMN2 = 0x03B0
2735                         IMX2 = 0x03DF
2736                         ILN2 = 0x30
2737                         CreateDWordField (CRS2, \_SB.PCI0._Y0B._MIN, VMN2)  // _MIN: Minimum Base Address
2738                         CreateDWordField (CRS2, \_SB.PCI0._Y0B._MAX, VMX2)  // _MAX: Maximum Base Address
2739                         CreateDWordField (CRS2, \_SB.PCI0._Y0B._LEN, VLN2)  // _LEN: Length
2740                         VMN2 = 0x000A0000
2741                         VMX2 = 0x000BFFFF
2742                         VLN2 = 0x00020000
2743                     }
2744 
2745                     CreateDWordField (CRS2, \_SB.PCI0._Y0C._MIN, MIN5)  // _MIN: Minimum Base Address
2746                     CreateDWordField (CRS2, \_SB.PCI0._Y0C._MAX, MAX5)  // _MAX: Maximum Base Address
2747                     CreateDWordField (CRS2, \_SB.PCI0._Y0C._LEN, LEN5)  // _LEN: Length
2748                     MIN5 = MBB /* \_SB_.PCI0.MBB_ */
2749                     LEN5 = (NBTP - MBB)
2750                     Local1 = LEN5 /* \_SB_.PCI0._CRS.LEN5 */
2751                     MAX5 = (MIN5 + Local1--)
2752                     CreateDWordField (CRS2, \_SB.PCI0._Y0D._MIN, MIN6)  // _MIN: Minimum Base Address
2753                     CreateDWordField (CRS2, \_SB.PCI0._Y0D._MAX, MAX6)  // _MAX: Maximum Base Address
2754                     CreateDWordField (CRS2, \_SB.PCI0._Y0D._LEN, LEN6)  // _LEN: Length
2755                     MIN6 = (NBTP + NBTS) /* \NBTS */
2756                     LEN6 = (MBL - NBTS)
2757                     LEN6 = (LEN6 - LEN5)
2758                     Local0 = LEN6 /* \_SB_.PCI0._CRS.LEN6 */
2759                     MAX6 = (MIN6 + Local0--)
2760                     If (MAL)
2761                     {
2762                         CreateQWordField (CRS2, \_SB.PCI0._Y0E._MIN, MN9)  // _MIN: Minimum Base Address
2763                         CreateQWordField (CRS2, \_SB.PCI0._Y0E._MAX, MX9)  // _MAX: Maximum Base Address
2764                         CreateQWordField (CRS2, \_SB.PCI0._Y0E._LEN, LN9)  // _LEN: Length
2765                         MN9 = MAB /* \_SB_.PCI0.MAB_ */
2766                         LN9 = MAL /* \_SB_.PCI0.MAL_ */
2767                         MX9 = MAM /* \_SB_.PCI0.MAM_ */
2768                     }
2769 
2770                     DBG8 = 0x23
2771                     Return (CRS2) /* \_SB_.PCI0.CRS2 */
2772                 }
2773             }
2774 
2775             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
2776             {
2777                 Name (SUPP, Zero)
2778                 Name (CTRL, Zero)
2779                 CreateDWordField (Arg3, Zero, CDW1)
2780                 CreateDWordField (Arg3, 0x04, CDW2)
2781                 CreateDWordField (Arg3, 0x08, CDW3)
2782                 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2783                 {
2784                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2785                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2786                     If (((SUPP & 0x16) != 0x16))
2787                     {
2788                         CTRL &= 0x1E
2789                     }
2790 
2791                     If (!PEHP)
2792                     {
2793                         CTRL &= 0x1E
2794                     }
2795 
2796                     If (!SHPC)
2797                     {
2798                         CTRL &= 0x1D
2799                     }
2800 
2801                     If (!PEPM)
2802                     {
2803                         CTRL &= 0x1B
2804                     }
2805 
2806                     If (!PEER)
2807                     {
2808                         CTRL &= 0x15
2809                     }
2810 
2811                     If (!PECS)
2812                     {
2813                         CTRL &= 0x0F
2814                     }
2815 
2816                     If ((Arg1 != One))
2817                     {
2818                         CDW1 |= 0x08
2819                     }
2820 
2821                     If ((CDW3 != CTRL))
2822                     {
2823                         CDW1 |= 0x10
2824                     }
2825 
2826                     CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */
2827                     Return (Arg3)
2828                 }
2829                 Else
2830                 {
2831                     CDW1 |= 0x04
2832                     Return (Arg3)
2833                 }
2834             }
2835 
2836             Mutex (NAPM, 0x00)
2837             Method (NAPE, 0, NotSerialized)
2838             {
2839                 Acquire (NAPM, 0xFFFF)
2840                 DBG8 = 0x11
2841                 Local0 = (PEBS + 0xB8)
2842                 OperationRegion (VARM, SystemMemory, Local0, 0x08)
2843                 Field (VARM, DWordAcc, NoLock, Preserve)
2844                 {
2845                     NAPX,   32, 
2846                     NAPD,   32
2847                 }
2848 
2849                 Local1 = NAPX /* \_SB_.PCI0.NAPE.NAPX */
2850                 NAPX = 0x14300000
2851                 Local0 = NAPD /* \_SB_.PCI0.NAPE.NAPD */
2852                 Local0 &= 0xFFFFFFEF
2853                 NAPD = Local0
2854                 NAPX = Local1
2855                 DBG8 = 0x12
2856                 Release (NAPM)
2857             }
2858 
2859             Device (IOMA)
2860             {
2861                 Name (_ADR, 0x02)  // _ADR: Address
2862             }
2863 
2864             Device (D003)
2865             {
2866                 Name (_ADR, Zero)  // _ADR: Address
2867             }
2868 
2869             Device (GPP0)
2870             {
2871                 Name (_ADR, 0x00010001)  // _ADR: Address
2872                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
2873                 {
2874                     Return (GPRW (0x08, 0x04))
2875                 }
2876 
2877                 Method (MPRW, 0, NotSerialized)
2878                 {
2879                     Return (GPRW (0x08, Zero))
2880                 }
2881 
2882                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2883                 {
2884                     If (PICM)
2885                     {
2886                         Return (AR10) /* \_SB_.AR10 */
2887                     }
2888 
2889                     Return (PD10) /* \_SB_.PD10 */
2890                 }
2891 
2892                 Device (D005)
2893                 {
2894                     Name (_ADR, 0xFF)  // _ADR: Address
2895                 }
2896             }
2897 
2898             Device (GPP3)
2899             {
2900                 Name (_ADR, 0x00010004)  // _ADR: Address
2901                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2902                 {
2903                     If (PICM)
2904                     {
2905                         Return (AR16) /* \_SB_.AR16 */
2906                     }
2907 
2908                     Return (PD16) /* \_SB_.PD16 */
2909                 }
2910 
2911                 Device (D007)
2912                 {
2913                     Name (_ADR, 0xFF)  // _ADR: Address
2914                 }
2915             }
2916 
2917             Device (GPP4)
2918             {
2919                 Name (_ADR, 0x00010005)  // _ADR: Address
2920                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2921                 {
2922                     If (PICM)
2923                     {
2924                         Return (AR18) /* \_SB_.AR18 */
2925                     }
2926 
2927                     Return (PD18) /* \_SB_.PD18 */
2928                 }
2929 
2930                 Device (D009)
2931                 {
2932                     Name (_ADR, 0xFF)  // _ADR: Address
2933                 }
2934             }
2935 
2936             Device (GPP5)
2937             {
2938                 Name (_ADR, 0x00020001)  // _ADR: Address
2939                 Method (RHRW, 0, NotSerialized)
2940                 {
2941                     Return (GPRW (0x0F, 0x04))
2942                 }
2943             }
2944 
2945             Device (GPP6)
2946             {
2947                 Name (_ADR, 0x00020002)  // _ADR: Address
2948                 Method (RHRW, 0, NotSerialized)
2949                 {
2950                     Return (GPRW (0x0E, 0x04))
2951                 }
2952 
2953                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2954                 {
2955                     If (PICM)
2956                     {
2957                         Return (AR22) /* \_SB_.AR22 */
2958                     }
2959 
2960                     Return (PD22) /* \_SB_.PD22 */
2961                 }
2962 
2963                 Device (D00C)
2964                 {
2965                     Name (_ADR, 0xFF)  // _ADR: Address
2966                 }
2967             }
2968 
2969             Device (GPP7)
2970             {
2971                 Name (_ADR, 0x00020003)  // _ADR: Address
2972                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2973                 {
2974                     If (PICM)
2975                     {
2976                         Return (AR24) /* \_SB_.AR24 */
2977                     }
2978 
2979                     Return (PD24) /* \_SB_.PD24 */
2980                 }
2981 
2982                 Device (D00E)
2983                 {
2984                     Name (_ADR, 0xFF)  // _ADR: Address
2985                 }
2986             }
2987 
2988             Device (GPP8)
2989             {
2990                 Name (_ADR, 0x00020004)  // _ADR: Address
2991                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2992                 {
2993                     If (PICM)
2994                     {
2995                         Return (AR26) /* \_SB_.AR26 */
2996                     }
2997 
2998                     Return (PD26) /* \_SB_.PD26 */
2999                 }
3000 
3001                 Device (D010)
3002                 {
3003                     Name (_ADR, 0xFF)  // _ADR: Address
3004                 }
3005             }
3006 
3007             Device (GPP9)
3008             {
3009                 Name (_ADR, 0x00020005)  // _ADR: Address
3010                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3011                 {
3012                     If (PICM)
3013                     {
3014                         Return (AR28) /* \_SB_.AR28 */
3015                     }
3016 
3017                     Return (PD28) /* \_SB_.PD28 */
3018                 }
3019 
3020                 Device (D012)
3021                 {
3022                     Name (_ADR, 0xFF)  // _ADR: Address
3023                 }
3024             }
3025 
3026             Device (GP10)
3027             {
3028                 Name (_ADR, 0x00020006)  // _ADR: Address
3029                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3030                 {
3031                     If (PICM)
3032                     {
3033                         Return (AR2A) /* \_SB_.AR2A */
3034                     }
3035 
3036                     Return (PD2A) /* \_SB_.PD2A */
3037                 }
3038 
3039                 Device (D014)
3040                 {
3041                     Name (_ADR, 0xFF)  // _ADR: Address
3042                 }
3043             }
3044 
3045             Device (GP11)
3046             {
3047                 Name (_ADR, 0x00030001)  // _ADR: Address
3048                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3049                 {
3050                     If (PICM)
3051                     {
3052                         Return (AR30) /* \_SB_.AR30 */
3053                     }
3054 
3055                     Return (PD30) /* \_SB_.PD30 */
3056                 }
3057 
3058                 Device (D016)
3059                 {
3060                     Name (_ADR, 0xFF)  // _ADR: Address
3061                 }
3062             }
3063 
3064             Device (GP12)
3065             {
3066                 Name (_ADR, 0x00040001)  // _ADR: Address
3067                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3068                 {
3069                     If (PICM)
3070                     {
3071                         Return (AR60) /* \_SB_.AR60 */
3072                     }
3073 
3074                     Return (PD60) /* \_SB_.PD60 */
3075                 }
3076 
3077                 Device (D018)
3078                 {
3079                     Name (_ADR, 0xFF)  // _ADR: Address
3080                 }
3081             }
3082 
3083             Device (GP17)
3084             {
3085                 Name (_ADR, 0x00080001)  // _ADR: Address
3086                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3087                 {
3088                     If (PICM)
3089                     {
3090                         Return (AR90) /* \_SB_.AR90 */
3091                     }
3092 
3093                     Return (PD90) /* \_SB_.PD90 */
3094                 }
3095 
3096                 Device (VGA)
3097                 {
3098                     Name (_ADR, Zero)  // _ADR: Address
3099                     Name (AF7E, 0x80000001)
3100                     Name (DOSA, Zero)
3101                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
3102                     {
3103                         DOSA = Arg0
3104                     }
3105 
3106                     Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
3107                     {
3108                         M460 ("PLA-ASL-\\_SB.PCI0.GP17.VGA._DOD\n", Zero, Zero, Zero, Zero, Zero, Zero)
3109                         Return (Package (0x07)
3110                         {
3111                             0x00010110, 
3112                             0x00010210, 
3113                             0x00010220, 
3114                             0x00010230, 
3115                             0x00010240, 
3116                             0x00031000, 
3117                             0x00032000
3118                         })
3119                     }
3120 
3121                     Device (LCD)
3122                     {
3123                         Name (_ADR, 0x0110)  // _ADR: Address
3124                         Name (BCLB, Package (0x34)
3125                         {
3126                             0x5A, 
3127                             0x3C, 
3128                             0x02, 
3129                             0x04, 
3130                             0x06, 
3131                             0x08, 
3132                             0x0A, 
3133                             0x0C, 
3134                             0x0E, 
3135                             0x10, 
3136                             0x12, 
3137                             0x14, 
3138                             0x16, 
3139                             0x18, 
3140                             0x1A, 
3141                             0x1C, 
3142                             0x1E, 
3143                             0x20, 
3144                             0x22, 
3145                             0x24, 
3146                             0x26, 
3147                             0x28, 
3148                             0x2A, 
3149                             0x2C, 
3150                             0x2E, 
3151                             0x30, 
3152                             0x32, 
3153                             0x34, 
3154                             0x36, 
3155                             0x38, 
3156                             0x3A, 
3157                             0x3C, 
3158                             0x3E, 
3159                             0x40, 
3160                             0x42, 
3161                             0x44, 
3162                             0x46, 
3163                             0x48, 
3164                             0x4A, 
3165                             0x4C, 
3166                             0x4E, 
3167                             0x50, 
3168                             0x52, 
3169                             0x54, 
3170                             0x56, 
3171                             0x58, 
3172                             0x5A, 
3173                             0x5C, 
3174                             0x5E, 
3175                             0x60, 
3176                             0x62, 
3177                             0x64
3178                         })
3179                         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
3180                         {
3181                             M460 ("PLA-ASL-\\_SB.PCI0.GP17.VGA.LCD._BCL\n", Zero, Zero, Zero, Zero, Zero, Zero)
3182                             Return (BCLB) /* \_SB_.PCI0.GP17.VGA_.LCD_.BCLB */
3183                         }
3184 
3185                         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
3186                         {
3187                             If ((AF7E == 0x80000001))
3188                             {
3189                                 M460 ("PLA-ASL-\\_SB.PCI0.GP17.VGA.LCD._BCM Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
3190                                 Divide ((Arg0 * 0xFF), 0x64, Local1, Local0)
3191                                 AFN7 (Local0)
3192                             }
3193                         }
3194                     }
3195                 }
3196 
3197                 Device (HDAU)
3198                 {
3199                     Name (_ADR, One)  // _ADR: Address
3200                 }
3201 
3202                 Device (ACP)
3203                 {
3204                     Name (_ADR, 0x05)  // _ADR: Address
3205                 }
3206 
3207                 Device (AZAL)
3208                 {
3209                     Name (_ADR, 0x06)  // _ADR: Address
3210                 }
3211 
3212                 Device (MP2C)
3213                 {
3214                     Name (_ADR, 0x07)  // _ADR: Address
3215                 }
3216 
3217                 Device (XHC0)
3218                 {
3219                     Name (_ADR, 0x03)  // _ADR: Address
3220                 }
3221 
3222                 Device (XHC1)
3223                 {
3224                     Name (_ADR, 0x04)  // _ADR: Address
3225                 }
3226 
3227                 Device (APSP)
3228                 {
3229                     Name (_ADR, 0x02)  // _ADR: Address
3230                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3231                     Name (PSPA, 0xFD000000)
3232                     Name (LENA, 0x01000000)
3233                     Name (PSPB, 0x00000000)
3234                     Name (LENB, 0x00000000)
3235                     Name (_STA, 0x0F)  // _STA: Status
3236                     Name (CRS, ResourceTemplate ()
3237                     {
3238                         Memory32Fixed (ReadWrite,
3239                             0x00000000,         // Address Base
3240                             0x00000000,         // Address Length
3241                             _Y0F)
3242                         Memory32Fixed (ReadWrite,
3243                             0x00000000,         // Address Base
3244                             0x00000000,         // Address Length
3245                             _Y10)
3246                     })
3247                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3248                     {
3249                         CreateDWordField (CRS, \_SB.PCI0.GP17.APSP._Y0F._BAS, ABAS)  // _BAS: Base Address
3250                         CreateDWordField (CRS, \_SB.PCI0.GP17.APSP._Y0F._LEN, ALEN)  // _LEN: Length
3251                         CreateDWordField (CRS, \_SB.PCI0.GP17.APSP._Y10._BAS, BBAS)  // _BAS: Base Address
3252                         CreateDWordField (CRS, \_SB.PCI0.GP17.APSP._Y10._LEN, BLEN)  // _LEN: Length
3253                         ABAS = PSPA /* \_SB_.PCI0.GP17.APSP.PSPA */
3254                         ALEN = LENA /* \_SB_.PCI0.GP17.APSP.LENA */
3255                         BBAS = PSPB /* \_SB_.PCI0.GP17.APSP.PSPB */
3256                         BLEN = LENB /* \_SB_.PCI0.GP17.APSP.LENB */
3257                         Return (CRS) /* \_SB_.PCI0.GP17.APSP.CRS_ */
3258                     }
3259                 }
3260             }
3261 
3262             Device (GP18)
3263             {
3264                 Name (_ADR, 0x00080002)  // _ADR: Address
3265                 Method (RHRW, 0, NotSerialized)
3266                 {
3267                     Return (GPRW (0x08, 0x04))
3268                 }
3269 
3270                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3271                 {
3272                     If (PICM)
3273                     {
3274                         Return (AR92) /* \_SB_.AR92 */
3275                     }
3276 
3277                     Return (PD92) /* \_SB_.PD92 */
3278                 }
3279 
3280                 Device (SATA)
3281                 {
3282                     Name (_ADR, Zero)  // _ADR: Address
3283                 }
3284             }
3285 
3286             Device (GP19)
3287             {
3288                 Name (_ADR, 0x00080003)  // _ADR: Address
3289                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3290                 {
3291                     If (PICM)
3292                     {
3293                         Return (AR94) /* \_SB_.AR94 */
3294                     }
3295 
3296                     Return (PD94) /* \_SB_.PD94 */
3297                 }
3298 
3299                 Device (XHC2)
3300                 {
3301                     Name (_ADR, Zero)  // _ADR: Address
3302                 }
3303 
3304                 Device (XHC3)
3305                 {
3306                     Name (_ADR, 0x03)  // _ADR: Address
3307                 }
3308 
3309                 Device (XHC4)
3310                 {
3311                     Name (_ADR, 0x04)  // _ADR: Address
3312                 }
3313 
3314                 Device (NHI0)
3315                 {
3316                     Name (_ADR, 0x05)  // _ADR: Address
3317                 }
3318 
3319                 Device (NHI1)
3320                 {
3321                     Name (_ADR, 0x06)  // _ADR: Address
3322                 }
3323 
3324                 Device (D033)
3325                 {
3326                     Name (_ADR, 0x02)  // _ADR: Address
3327                 }
3328             }
3329 
3330             Device (D027)
3331             {
3332                 Name (_ADR, 0x00140000)  // _ADR: Address
3333             }
3334 
3335             Device (SBRG)
3336             {
3337                 Name (_ADR, 0x00140003)  // _ADR: Address
3338                 Device (PIC)
3339                 {
3340                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
3341                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3342                     {
3343                         IO (Decode16,
3344                             0x0020,             // Range Minimum
3345                             0x0020,             // Range Maximum
3346                             0x00,               // Alignment
3347                             0x02,               // Length
3348                             )
3349                         IO (Decode16,
3350                             0x00A0,             // Range Minimum
3351                             0x00A0,             // Range Maximum
3352                             0x00,               // Alignment
3353                             0x02,               // Length
3354                             )
3355                         IRQNoFlags ()
3356                             {2}
3357                     })
3358                 }
3359 
3360                 Device (DMAD)
3361                 {
3362                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
3363                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3364                     {
3365                         DMA (Compatibility, BusMaster, Transfer8, )
3366                             {4}
3367                         IO (Decode16,
3368                             0x0000,             // Range Minimum
3369                             0x0000,             // Range Maximum
3370                             0x00,               // Alignment
3371                             0x10,               // Length
3372                             )
3373                         IO (Decode16,
3374                             0x0081,             // Range Minimum
3375                             0x0081,             // Range Maximum
3376                             0x00,               // Alignment
3377                             0x03,               // Length
3378                             )
3379                         IO (Decode16,
3380                             0x0087,             // Range Minimum
3381                             0x0087,             // Range Maximum
3382                             0x00,               // Alignment
3383                             0x01,               // Length
3384                             )
3385                         IO (Decode16,
3386                             0x0089,             // Range Minimum
3387                             0x0089,             // Range Maximum
3388                             0x00,               // Alignment
3389                             0x03,               // Length
3390                             )
3391                         IO (Decode16,
3392                             0x008F,             // Range Minimum
3393                             0x008F,             // Range Maximum
3394                             0x00,               // Alignment
3395                             0x01,               // Length
3396                             )
3397                         IO (Decode16,
3398                             0x00C0,             // Range Minimum
3399                             0x00C0,             // Range Maximum
3400                             0x00,               // Alignment
3401                             0x20,               // Length
3402                             )
3403                     })
3404                 }
3405 
3406                 Device (TMR)
3407                 {
3408                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
3409                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3410                     {
3411                         IO (Decode16,
3412                             0x0040,             // Range Minimum
3413                             0x0040,             // Range Maximum
3414                             0x00,               // Alignment
3415                             0x04,               // Length
3416                             )
3417                         IRQNoFlags ()
3418                             {0}
3419                     })
3420                 }
3421 
3422                 Device (RTC0)
3423                 {
3424                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
3425                     Name (BUF0, ResourceTemplate ()
3426                     {
3427                         IO (Decode16,
3428                             0x0070,             // Range Minimum
3429                             0x0070,             // Range Maximum
3430                             0x00,               // Alignment
3431                             0x02,               // Length
3432                             )
3433                     })
3434                     Name (BUF1, ResourceTemplate ()
3435                     {
3436                         IO (Decode16,
3437                             0x0070,             // Range Minimum
3438                             0x0070,             // Range Maximum
3439                             0x00,               // Alignment
3440                             0x02,               // Length
3441                             )
3442                         IRQNoFlags ()
3443                             {8}
3444                     })
3445                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
3446                     {
3447                         If ((HPEN == One))
3448                         {
3449                             Return (BUF0) /* \_SB_.PCI0.SBRG.RTC0.BUF0 */
3450                         }
3451 
3452                         Return (BUF1) /* \_SB_.PCI0.SBRG.RTC0.BUF1 */
3453                     }
3454                 }
3455 
3456                 Device (SPKR)
3457                 {
3458                     Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */)  // _HID: Hardware ID
3459                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
3460                     {
3461                         IO (Decode16,
3462                             0x0061,             // Range Minimum
3463                             0x0061,             // Range Maximum
3464                             0x00,               // Alignment
3465                             0x01,               // Length
3466                             )
3467                     })
3468                 }
3469 
3470                 OperationRegion (SMI0, SystemIO, SMIO, One)
3471                 Field (SMI0, ByteAcc, NoLock, Preserve)
3472                 {
3473                     SMIC,   8
3474                 }
3475 
3476                 Scope (\_SB)
3477                 {
3478                     Scope (PCI0)
3479                     {
3480                         Device (S900)
3481                         {
3482                             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
3483                             Name (_UID, 0x0700)  // _UID: Unique ID
3484                             Name (_STA, 0x0F)  // _STA: Status
3485                             Name (CRS, ResourceTemplate ()
3486                             {
3487                                 IO (Decode16,
3488                                     0x0010,             // Range Minimum
3489                                     0x0010,             // Range Maximum
3490                                     0x00,               // Alignment
3491                                     0x10,               // Length
3492                                     )
3493                                 IO (Decode16,
3494                                     0x0022,             // Range Minimum
3495                                     0x0022,             // Range Maximum
3496                                     0x00,               // Alignment
3497                                     0x1E,               // Length
3498                                     )
3499                                 IO (Decode16,
3500                                     0x0063,             // Range Minimum
3501                                     0x0063,             // Range Maximum
3502                                     0x00,               // Alignment
3503                                     0x01,               // Length
3504                                     )
3505                                 IO (Decode16,
3506                                     0x0065,             // Range Minimum
3507                                     0x0065,             // Range Maximum
3508                                     0x00,               // Alignment
3509                                     0x01,               // Length
3510                                     )
3511                                 IO (Decode16,
3512                                     0x0067,             // Range Minimum
3513                                     0x0067,             // Range Maximum
3514                                     0x00,               // Alignment
3515                                     0x09,               // Length
3516                                     )
3517                                 IO (Decode16,
3518                                     0x0072,             // Range Minimum
3519                                     0x0072,             // Range Maximum
3520                                     0x00,               // Alignment
3521                                     0x0E,               // Length
3522                                     )
3523                                 IO (Decode16,
3524                                     0x0080,             // Range Minimum
3525                                     0x0080,             // Range Maximum
3526                                     0x00,               // Alignment
3527                                     0x01,               // Length
3528                                     )
3529                                 IO (Decode16,
3530                                     0x0084,             // Range Minimum
3531                                     0x0084,             // Range Maximum
3532                                     0x00,               // Alignment
3533                                     0x03,               // Length
3534                                     )
3535                                 IO (Decode16,
3536                                     0x0088,             // Range Minimum
3537                                     0x0088,             // Range Maximum
3538                                     0x00,               // Alignment
3539                                     0x01,               // Length
3540                                     )
3541                                 IO (Decode16,
3542                                     0x008C,             // Range Minimum
3543                                     0x008C,             // Range Maximum
3544                                     0x00,               // Alignment
3545                                     0x03,               // Length
3546                                     )
3547                                 IO (Decode16,
3548                                     0x0090,             // Range Minimum
3549                                     0x0090,             // Range Maximum
3550                                     0x00,               // Alignment
3551                                     0x10,               // Length
3552                                     )
3553                                 IO (Decode16,
3554                                     0x00A2,             // Range Minimum
3555                                     0x00A2,             // Range Maximum
3556                                     0x00,               // Alignment
3557                                     0x1E,               // Length
3558                                     )
3559                                 IO (Decode16,
3560                                     0x00B1,             // Range Minimum
3561                                     0x00B1,             // Range Maximum
3562                                     0x00,               // Alignment
3563                                     0x01,               // Length
3564                                     )
3565                                 IO (Decode16,
3566                                     0x00E0,             // Range Minimum
3567                                     0x00E0,             // Range Maximum
3568                                     0x00,               // Alignment
3569                                     0x10,               // Length
3570                                     )
3571                                 IO (Decode16,
3572                                     0x04D0,             // Range Minimum
3573                                     0x04D0,             // Range Maximum
3574                                     0x00,               // Alignment
3575                                     0x02,               // Length
3576                                     )
3577                                 IO (Decode16,
3578                                     0x040B,             // Range Minimum
3579                                     0x040B,             // Range Maximum
3580                                     0x00,               // Alignment
3581                                     0x01,               // Length
3582                                     )
3583                                 IO (Decode16,
3584                                     0x04D6,             // Range Minimum
3585                                     0x04D6,             // Range Maximum
3586                                     0x00,               // Alignment
3587                                     0x01,               // Length
3588                                     )
3589                                 IO (Decode16,
3590                                     0x0C00,             // Range Minimum
3591                                     0x0C00,             // Range Maximum
3592                                     0x00,               // Alignment
3593                                     0x02,               // Length
3594                                     )
3595                                 IO (Decode16,
3596                                     0x0C14,             // Range Minimum
3597                                     0x0C14,             // Range Maximum
3598                                     0x00,               // Alignment
3599                                     0x01,               // Length
3600                                     )
3601                                 IO (Decode16,
3602                                     0x0C50,             // Range Minimum
3603                                     0x0C50,             // Range Maximum
3604                                     0x00,               // Alignment
3605                                     0x02,               // Length
3606                                     )
3607                                 IO (Decode16,
3608                                     0x0C52,             // Range Minimum
3609                                     0x0C52,             // Range Maximum
3610                                     0x00,               // Alignment
3611                                     0x01,               // Length
3612                                     )
3613                                 IO (Decode16,
3614                                     0x0C6C,             // Range Minimum
3615                                     0x0C6C,             // Range Maximum
3616                                     0x00,               // Alignment
3617                                     0x01,               // Length
3618                                     )
3619                                 IO (Decode16,
3620                                     0x0C6F,             // Range Minimum
3621                                     0x0C6F,             // Range Maximum
3622                                     0x00,               // Alignment
3623                                     0x01,               // Length
3624                                     )
3625                                 IO (Decode16,
3626                                     0x0CD0,             // Range Minimum
3627                                     0x0CD0,             // Range Maximum
3628                                     0x00,               // Alignment
3629                                     0x02,               // Length
3630                                     )
3631                                 IO (Decode16,
3632                                     0x0CD2,             // Range Minimum
3633                                     0x0CD2,             // Range Maximum
3634                                     0x00,               // Alignment
3635                                     0x02,               // Length
3636                                     )
3637                                 IO (Decode16,
3638                                     0x0CD4,             // Range Minimum
3639                                     0x0CD4,             // Range Maximum
3640                                     0x00,               // Alignment
3641                                     0x02,               // Length
3642                                     )
3643                                 IO (Decode16,
3644                                     0x0CD6,             // Range Minimum
3645                                     0x0CD6,             // Range Maximum
3646                                     0x00,               // Alignment
3647                                     0x02,               // Length
3648                                     )
3649                                 IO (Decode16,
3650                                     0x0CD8,             // Range Minimum
3651                                     0x0CD8,             // Range Maximum
3652                                     0x00,               // Alignment
3653                                     0x08,               // Length
3654                                     )
3655                                 IO (Decode16,
3656                                     0x0000,             // Range Minimum
3657                                     0x0000,             // Range Maximum
3658                                     0x00,               // Alignment
3659                                     0x00,               // Length
3660                                     _Y11)
3661                                 IO (Decode16,
3662                                     0x0000,             // Range Minimum
3663                                     0x0000,             // Range Maximum
3664                                     0x00,               // Alignment
3665                                     0x00,               // Length
3666                                     _Y13)
3667                                 IO (Decode16,
3668                                     0x0000,             // Range Minimum
3669                                     0x0000,             // Range Maximum
3670                                     0x00,               // Alignment
3671                                     0x00,               // Length
3672                                     _Y12)
3673                                 IO (Decode16,
3674                                     0x0900,             // Range Minimum
3675                                     0x0900,             // Range Maximum
3676                                     0x00,               // Alignment
3677                                     0x10,               // Length
3678                                     )
3679                                 IO (Decode16,
3680                                     0x0910,             // Range Minimum
3681                                     0x0910,             // Range Maximum
3682                                     0x00,               // Alignment
3683                                     0x10,               // Length
3684                                     )
3685                                 IO (Decode16,
3686                                     0x0060,             // Range Minimum
3687                                     0x0060,             // Range Maximum
3688                                     0x00,               // Alignment
3689                                     0x00,               // Length
3690                                     )
3691                                 IO (Decode16,
3692                                     0x0064,             // Range Minimum
3693                                     0x0064,             // Range Maximum
3694                                     0x00,               // Alignment
3695                                     0x00,               // Length
3696                                     )
3697                                 Memory32Fixed (ReadWrite,
3698                                     0x00000000,         // Address Base
3699                                     0x00000000,         // Address Length
3700                                     _Y14)
3701                                 Memory32Fixed (ReadWrite,
3702                                     0xFEC01000,         // Address Base
3703                                     0x00001000,         // Address Length
3704                                     )
3705                                 Memory32Fixed (ReadWrite,
3706                                     0xFEDC0000,         // Address Base
3707                                     0x00001000,         // Address Length
3708                                     )
3709                                 Memory32Fixed (ReadWrite,
3710                                     0xFEE00000,         // Address Base
3711                                     0x00001000,         // Address Length
3712                                     )
3713                                 Memory32Fixed (ReadWrite,
3714                                     0xFED80000,         // Address Base
3715                                     0x00010000,         // Address Length
3716                                     )
3717                                 Memory32Fixed (ReadWrite,
3718                                     0x00000000,         // Address Base
3719                                     0x00000000,         // Address Length
3720                                     _Y15)
3721                                 Memory32Fixed (ReadWrite,
3722                                     0x00000000,         // Address Base
3723                                     0x00000000,         // Address Length
3724                                     _Y16)
3725                                 Memory32Fixed (ReadWrite,
3726                                     0x00000000,         // Address Base
3727                                     0x00000000,         // Address Length
3728                                     _Y17)
3729                             })
3730                             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
3731                             {
3732                                 CreateWordField (CRS, \_SB.PCI0.S900._Y11._MIN, PBB)  // _MIN: Minimum Base Address
3733                                 CreateWordField (CRS, \_SB.PCI0.S900._Y11._MAX, PBH)  // _MAX: Maximum Base Address
3734                                 CreateByteField (CRS, \_SB.PCI0.S900._Y11._LEN, PML)  // _LEN: Length
3735                                 PBB = PMBS /* \PMBS */
3736                                 PBH = PMBS /* \PMBS */
3737                                 PML = PMLN /* \PMLN */
3738                                 If (SMBB)
3739                                 {
3740                                     CreateWordField (CRS, \_SB.PCI0.S900._Y12._MIN, SMB1)  // _MIN: Minimum Base Address
3741                                     CreateWordField (CRS, \_SB.PCI0.S900._Y12._MAX, SMH1)  // _MAX: Maximum Base Address
3742                                     CreateByteField (CRS, \_SB.PCI0.S900._Y12._LEN, SML1)  // _LEN: Length
3743                                     SMB1 = SMBB /* \SMBB */
3744                                     SMH1 = SMBB /* \SMBB */
3745                                     SML1 = SMBL /* \SMBL */
3746                                     CreateWordField (CRS, \_SB.PCI0.S900._Y13._MIN, SMBZ)  // _MIN: Minimum Base Address
3747                                     CreateWordField (CRS, \_SB.PCI0.S900._Y13._MAX, SMH0)  // _MAX: Maximum Base Address
3748                                     CreateByteField (CRS, \_SB.PCI0.S900._Y13._LEN, SML0)  // _LEN: Length
3749                                     SMBZ = SMB0 /* \SMB0 */
3750                                     SMH0 = SMB0 /* \SMB0 */
3751                                     SML0 = SMBM /* \SMBM */
3752                                 }
3753 
3754                                 If (APCB)
3755                                 {
3756                                     CreateDWordField (CRS, \_SB.PCI0.S900._Y14._BAS, APB)  // _BAS: Base Address
3757                                     CreateDWordField (CRS, \_SB.PCI0.S900._Y14._LEN, APL)  // _LEN: Length
3758                                     APB = APCB /* \APCB */
3759                                     APL = APCL /* \APCL */
3760                                 }
3761 
3762                                 CreateDWordField (CRS, \_SB.PCI0.S900._Y15._BAS, SPIB)  // _BAS: Base Address
3763                                 CreateDWordField (CRS, \_SB.PCI0.S900._Y15._LEN, SPIL)  // _LEN: Length
3764                                 SPIB = 0xFEC10000
3765                                 SPIL = 0x1000
3766                                 If (WDTB)
3767                                 {
3768                                     CreateDWordField (CRS, \_SB.PCI0.S900._Y16._BAS, WDTB)  // _BAS: Base Address
3769                                     CreateDWordField (CRS, \_SB.PCI0.S900._Y16._LEN, WDTL)  // _LEN: Length
3770                                     WDTB = \WDTB
3771                                     WDTL = \WDTL
3772                                 }
3773 
3774                                 CreateDWordField (CRS, \_SB.PCI0.S900._Y17._BAS, ROMB)  // _BAS: Base Address
3775                                 CreateDWordField (CRS, \_SB.PCI0.S900._Y17._LEN, ROML)  // _LEN: Length
3776                                 ROMB = 0xFF000000
3777                                 ROML = 0x01000000
3778                                 Return (CRS) /* \_SB_.PCI0.S900.CRS_ */
3779                             }
3780                         }
3781                     }
3782                 }
3783 
3784                 Scope (\_SB)
3785                 {
3786                     Scope (PCI0)
3787                     {
3788                         Scope (SBRG)
3789                         {
3790                             Method (RRIO, 4, NotSerialized)
3791                             {
3792                                 Debug = "RRIO"
3793                             }
3794 
3795                             Method (RDMA, 3, NotSerialized)
3796                             {
3797                                 Debug = "rDMA"
3798                             }
3799                         }
3800                     }
3801                 }
3802             }
3803 
3804             Device (D02A)
3805             {
3806                 Name (_ADR, 0x00140006)  // _ADR: Address
3807             }
3808 
3809             Device (GPP1)
3810             {
3811                 Name (_ADR, 0x00010002)  // _ADR: Address
3812                 Method (RHRW, 0, NotSerialized)
3813                 {
3814                     Return (GPRW (0x0C, 0x04))
3815                 }
3816 
3817                 Method (MPRW, 0, NotSerialized)
3818                 {
3819                     Return (GPRW (0x0C, Zero))
3820                 }
3821 
3822                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3823                 {
3824                     If (PICM)
3825                     {
3826                         Return (AR12) /* \_SB_.AR12 */
3827                     }
3828 
3829                     Return (PD12) /* \_SB_.PD12 */
3830                 }
3831 
3832                 Device (RTL8)
3833                 {
3834                     Name (_ADR, Zero)  // _ADR: Address
3835                 }
3836             }
3837 
3838             Device (GPP2)
3839             {
3840                 Name (_ADR, 0x00010003)  // _ADR: Address
3841                 Method (RHRW, 0, NotSerialized)
3842                 {
3843                     Return (GPRW (0x0D, 0x04))
3844                 }
3845 
3846                 Method (MPRW, 0, NotSerialized)
3847                 {
3848                     Return (GPRW (0x0E, Zero))
3849                 }
3850 
3851                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
3852                 {
3853                     If (PICM)
3854                     {
3855                         Return (AR14) /* \_SB_.AR14 */
3856                     }
3857 
3858                     Return (PD14) /* \_SB_.PD14 */
3859                 }
3860 
3861                 Device (WLAN)
3862                 {
3863                     Name (_ADR, Zero)  // _ADR: Address
3864                 }
3865             }
3866         }
3867     }
3868 
3869     Scope (_GPE)
3870     {
3871         Method (XL08, 0, NotSerialized)
3872         {
3873             Notify (\_SB.PCI0.GPP0, 0x02) // Device Wake
3874             Notify (\_SB.PCI0.GP18, 0x02) // Device Wake
3875             Notify (\_SB.PWRB, 0x02) // Device Wake
3876         }
3877 
3878         Method (XL0F, 0, NotSerialized)
3879         {
3880             Notify (\_SB.PCI0.GPP5, 0x02) // Device Wake
3881             Notify (\_SB.PWRB, 0x02) // Device Wake
3882         }
3883 
3884         Method (XL0E, 0, NotSerialized)
3885         {
3886             Notify (\_SB.PCI0.GPP6, 0x02) // Device Wake
3887             Notify (\_SB.PWRB, 0x02) // Device Wake
3888         }
3889 
3890         Method (_L0C, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
3891         {
3892             Notify (\_SB.PCI0.GPP1, 0x02) // Device Wake
3893             Notify (\_SB.PWRB, 0x02) // Device Wake
3894         }
3895 
3896         Method (XL0D, 0, NotSerialized)
3897         {
3898             Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
3899             Notify (\_SB.PWRB, 0x02) // Device Wake
3900         }
3901     }
3902 
3903     Scope (_SB)
3904     {
3905         Device (PWRB)
3906         {
3907             Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
3908             Name (_UID, 0xAA)  // _UID: Unique ID
3909             Name (_STA, 0x0B)  // _STA: Status
3910         }
3911     }
3912 
3913     Name (_S0, Package (0x04)  // _S0_: S0 System State
3914     {
3915         Zero, 
3916         Zero, 
3917         Zero, 
3918         Zero
3919     })
3920     Name (XS3, Package (0x04)
3921     {
3922         0x03, 
3923         Zero, 
3924         Zero, 
3925         Zero
3926     })
3927     Name (_S4, Package (0x04)  // _S4_: S4 System State
3928     {
3929         0x04, 
3930         Zero, 
3931         Zero, 
3932         Zero
3933     })
3934     Name (_S5, Package (0x04)  // _S5_: S5 System State
3935     {
3936         0x05, 
3937         Zero, 
3938         Zero, 
3939         Zero
3940     })
3941     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
3942     {
3943         If (Arg0)
3944         {
3945             M250 (Zero, Zero, Zero, 0x13F01308, One)
3946             \_SB.TPM.TPTS (Arg0)
3947             SPTS (Arg0)
3948             MPTS (Arg0)
3949             \_SB.PCI0.NPTS (Arg0)
3950         }
3951     }
3952 
3953     Method (_WAK, 1, NotSerialized)  // _WAK: Wake
3954     {
3955         DBG8 = (Arg0 << 0x04)
3956         \_SB.PCI0.NWAK (Arg0)
3957         If (((Arg0 == 0x03) || (Arg0 == 0x04)))
3958         {
3959             If ((PICM != Zero))
3960             {
3961                 \_SB.PCI0.NAPE ()
3962             }
3963         }
3964 
3965         MWAK (Arg0)
3966         DBG8 = (Arg0 << 0x04)
3967         SWAK (Arg0)
3968         \_SB.PCI0.SBRG.H_EC.ADP1.ACDC = 0xFF
3969         M250 (Zero, Zero, Zero, 0x13F01308, Zero)
3970         Return (WAKP) /* \WAKP */
3971     }
3972 
3973     Scope (_SB)
3974     {
3975         Device (PLTF)
3976         {
3977             Name (_HID, "ACPI0010" /* Processor Container Device */)  // _HID: Hardware ID
3978             Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */)  // _CID: Compatible ID
3979             Name (_UID, One)  // _UID: Unique ID
3980             Device (P000)
3981             {
3982                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
3983                 Name (_UID, One)  // _UID: Unique ID
3984             }
3985 
3986             Device (P001)
3987             {
3988                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
3989                 Name (_UID, 0x02)  // _UID: Unique ID
3990             }
3991 
3992             Device (P002)
3993             {
3994                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
3995                 Name (_UID, 0x03)  // _UID: Unique ID
3996             }
3997 
3998             Device (P003)
3999             {
4000                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4001                 Name (_UID, 0x04)  // _UID: Unique ID
4002             }
4003 
4004             Device (P004)
4005             {
4006                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4007                 Name (_UID, 0x05)  // _UID: Unique ID
4008             }
4009 
4010             Device (P005)
4011             {
4012                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4013                 Name (_UID, 0x06)  // _UID: Unique ID
4014             }
4015 
4016             Device (P006)
4017             {
4018                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4019                 Name (_UID, 0x07)  // _UID: Unique ID
4020             }
4021 
4022             Device (P007)
4023             {
4024                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4025                 Name (_UID, 0x08)  // _UID: Unique ID
4026             }
4027 
4028             Device (P008)
4029             {
4030                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4031                 Name (_UID, 0x09)  // _UID: Unique ID
4032             }
4033 
4034             Device (P009)
4035             {
4036                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4037                 Name (_UID, 0x0A)  // _UID: Unique ID
4038             }
4039 
4040             Device (P00A)
4041             {
4042                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4043                 Name (_UID, 0x0B)  // _UID: Unique ID
4044             }
4045 
4046             Device (P00B)
4047             {
4048                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4049                 Name (_UID, 0x0C)  // _UID: Unique ID
4050             }
4051 
4052             Device (P00C)
4053             {
4054                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4055                 Name (_UID, 0x0D)  // _UID: Unique ID
4056             }
4057 
4058             Device (P00D)
4059             {
4060                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4061                 Name (_UID, 0x0E)  // _UID: Unique ID
4062             }
4063 
4064             Device (P00E)
4065             {
4066                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4067                 Name (_UID, 0x0F)  // _UID: Unique ID
4068             }
4069 
4070             Device (P00F)
4071             {
4072                 Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
4073                 Name (_UID, 0x10)  // _UID: Unique ID
4074             }
4075         }
4076     }
4077 
4078     Scope (_SB)
4079     {
4080         OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
4081         Field (PIRQ, ByteAcc, NoLock, Preserve)
4082         {
4083             PIDX,   8, 
4084             PDAT,   8
4085         }
4086 
4087         IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
4088         {
4089             PIRA,   8, 
4090             PIRB,   8, 
4091             PIRC,   8, 
4092             PIRD,   8, 
4093             PIRE,   8, 
4094             PIRF,   8, 
4095             PIRG,   8, 
4096             PIRH,   8, 
4097             Offset (0x0C), 
4098             SIRA,   8, 
4099             SIRB,   8, 
4100             SIRC,   8, 
4101             SIRD,   8, 
4102             PIRS,   8, 
4103             Offset (0x13), 
4104             HDAD,   8, 
4105             Offset (0x17), 
4106             SDCL,   8, 
4107             Offset (0x1A), 
4108             SDIO,   8, 
4109             Offset (0x30), 
4110             USB1,   8, 
4111             Offset (0x34), 
4112             USB3,   8, 
4113             Offset (0x41), 
4114             SATA,   8, 
4115             Offset (0x62), 
4116             GIOC,   8, 
4117             Offset (0x70), 
4118             I2C0,   8, 
4119             I2C1,   8, 
4120             I2C2,   8, 
4121             I2C3,   8, 
4122             URT0,   8, 
4123             URT1,   8, 
4124             Offset (0x80), 
4125             AIRA,   8, 
4126             AIRB,   8, 
4127             AIRC,   8, 
4128             AIRD,   8, 
4129             AIRE,   8, 
4130             AIRF,   8, 
4131             AIRG,   8, 
4132             AIRH,   8
4133         }
4134 
4135         OperationRegion (KBDD, SystemIO, 0x64, One)
4136         Field (KBDD, ByteAcc, NoLock, Preserve)
4137         {
4138             PD64,   8
4139         }
4140 
4141         Method (DSPI, 0, NotSerialized)
4142         {
4143             INTA (0x1F)
4144             INTB (0x1F)
4145             INTC (0x1F)
4146             INTD (0x1F)
4147             Local1 = PD64 /* \_SB_.PD64 */
4148             PIRE = 0x1F
4149             PIRF = 0x1F
4150             PIRG = 0x1F
4151             PIRH = 0x1F
4152             Local1 = PD64 /* \_SB_.PD64 */
4153             AIRA = 0x10
4154             AIRB = 0x11
4155             AIRC = 0x12
4156             AIRD = 0x13
4157             AIRE = 0x14
4158             AIRF = 0x15
4159             AIRG = 0x16
4160             AIRH = 0x17
4161         }
4162 
4163         Method (INTA, 1, NotSerialized)
4164         {
4165             PIRA = Arg0
4166             HDAD = Arg0
4167         }
4168 
4169         Method (INTB, 1, NotSerialized)
4170         {
4171             PIRB = Arg0
4172         }
4173 
4174         Method (INTC, 1, NotSerialized)
4175         {
4176             PIRC = Arg0
4177             USB1 = Arg0
4178             USB3 = Arg0
4179         }
4180 
4181         Method (INTD, 1, NotSerialized)
4182         {
4183             PIRD = Arg0
4184             SATA = Arg0
4185         }
4186 
4187         Name (BUFA, ResourceTemplate ()
4188         {
4189             IRQ (Level, ActiveLow, Shared, )
4190                 {15}
4191         })
4192         Name (IPRA, ResourceTemplate ()
4193         {
4194             IRQ (Level, ActiveLow, Shared, )
4195                 {5,10,11}
4196         })
4197         Name (IPRB, ResourceTemplate ()
4198         {
4199             IRQ (Level, ActiveLow, Shared, )
4200                 {5,10,11}
4201         })
4202         Name (IPRC, ResourceTemplate ()
4203         {
4204             IRQ (Level, ActiveLow, Shared, )
4205                 {5,10,11}
4206         })
4207         Name (IPRD, ResourceTemplate ()
4208         {
4209             IRQ (Level, ActiveLow, Shared, )
4210                 {5,10,11}
4211         })
4212         Device (LNKA)
4213         {
4214             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4215             Name (_UID, One)  // _UID: Unique ID
4216             Method (_STA, 0, NotSerialized)  // _STA: Status
4217             {
4218                 If (PIRA)
4219                 {
4220                     Return (0x0B)
4221                 }
4222                 Else
4223                 {
4224                     Return (0x09)
4225                 }
4226             }
4227 
4228             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4229             {
4230                 Return (PRSA) /* \_SB_.PRSA */
4231             }
4232 
4233             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4234             {
4235                 INTA (0x1F)
4236             }
4237 
4238             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4239             {
4240                 CreateWordField (BUFA, One, IRQX)
4241                 IRQX = (One << PIRA) /* \_SB_.PIRA */
4242                 Return (BUFA) /* \_SB_.BUFA */
4243             }
4244 
4245             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4246             {
4247                 CreateWordField (Arg0, One, IRA)
4248                 FindSetRightBit (IRA, Local0)
4249                 Local0--
4250                 INTA (Local0)
4251             }
4252         }
4253 
4254         Device (LNKB)
4255         {
4256             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4257             Name (_UID, 0x02)  // _UID: Unique ID
4258             Method (_STA, 0, NotSerialized)  // _STA: Status
4259             {
4260                 If (PIRB)
4261                 {
4262                     Return (0x0B)
4263                 }
4264                 Else
4265                 {
4266                     Return (0x09)
4267                 }
4268             }
4269 
4270             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4271             {
4272                 Return (PRSB) /* \_SB_.PRSB */
4273             }
4274 
4275             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4276             {
4277                 INTB (0x1F)
4278             }
4279 
4280             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4281             {
4282                 CreateWordField (BUFA, One, IRQX)
4283                 IRQX = (One << PIRB) /* \_SB_.PIRB */
4284                 Return (BUFA) /* \_SB_.BUFA */
4285             }
4286 
4287             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4288             {
4289                 CreateWordField (Arg0, One, IRA)
4290                 FindSetRightBit (IRA, Local0)
4291                 Local0--
4292                 INTB (Local0)
4293             }
4294         }
4295 
4296         Device (LNKC)
4297         {
4298             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4299             Name (_UID, 0x03)  // _UID: Unique ID
4300             Method (_STA, 0, NotSerialized)  // _STA: Status
4301             {
4302                 If (PIRC)
4303                 {
4304                     Return (0x0B)
4305                 }
4306                 Else
4307                 {
4308                     Return (0x09)
4309                 }
4310             }
4311 
4312             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4313             {
4314                 Return (PRSC) /* \_SB_.PRSC */
4315             }
4316 
4317             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4318             {
4319                 INTC (0x1F)
4320             }
4321 
4322             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4323             {
4324                 CreateWordField (BUFA, One, IRQX)
4325                 IRQX = (One << PIRC) /* \_SB_.PIRC */
4326                 Return (BUFA) /* \_SB_.BUFA */
4327             }
4328 
4329             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4330             {
4331                 CreateWordField (Arg0, One, IRA)
4332                 FindSetRightBit (IRA, Local0)
4333                 Local0--
4334                 INTC (Local0)
4335             }
4336         }
4337 
4338         Device (LNKD)
4339         {
4340             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4341             Name (_UID, 0x04)  // _UID: Unique ID
4342             Method (_STA, 0, NotSerialized)  // _STA: Status
4343             {
4344                 If (PIRD)
4345                 {
4346                     Return (0x0B)
4347                 }
4348                 Else
4349                 {
4350                     Return (0x09)
4351                 }
4352             }
4353 
4354             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4355             {
4356                 Return (PRSD) /* \_SB_.PRSD */
4357             }
4358 
4359             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4360             {
4361                 INTD (0x1F)
4362             }
4363 
4364             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4365             {
4366                 CreateWordField (BUFA, One, IRQX)
4367                 IRQX = (One << PIRD) /* \_SB_.PIRD */
4368                 Return (BUFA) /* \_SB_.BUFA */
4369             }
4370 
4371             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4372             {
4373                 CreateWordField (Arg0, One, IRA)
4374                 FindSetRightBit (IRA, Local0)
4375                 Local0--
4376                 INTD (Local0)
4377             }
4378         }
4379 
4380         Device (LNKE)
4381         {
4382             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4383             Name (_UID, 0x05)  // _UID: Unique ID
4384             Method (_STA, 0, NotSerialized)  // _STA: Status
4385             {
4386                 If (PIRE)
4387                 {
4388                     Return (0x0B)
4389                 }
4390                 Else
4391                 {
4392                     Return (0x09)
4393                 }
4394             }
4395 
4396             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4397             {
4398                 Return (PRSE) /* \_SB_.PRSE */
4399             }
4400 
4401             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4402             {
4403                 PIRE = 0x1F
4404             }
4405 
4406             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4407             {
4408                 CreateWordField (BUFA, One, IRQX)
4409                 IRQX = (One << PIRE) /* \_SB_.PIRE */
4410                 Return (BUFA) /* \_SB_.BUFA */
4411             }
4412 
4413             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4414             {
4415                 CreateWordField (Arg0, One, IRA)
4416                 FindSetRightBit (PIRE, Local0)
4417                 Local0--
4418                 PIRE = Local0
4419             }
4420         }
4421 
4422         Device (LNKF)
4423         {
4424             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4425             Name (_UID, 0x06)  // _UID: Unique ID
4426             Method (_STA, 0, NotSerialized)  // _STA: Status
4427             {
4428                 If (PIRF)
4429                 {
4430                     Return (0x0B)
4431                 }
4432                 Else
4433                 {
4434                     Return (0x09)
4435                 }
4436             }
4437 
4438             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4439             {
4440                 Return (PRSF) /* \_SB_.PRSF */
4441             }
4442 
4443             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4444             {
4445                 PIRF = 0x1F
4446             }
4447 
4448             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4449             {
4450                 CreateWordField (BUFA, One, IRQX)
4451                 IRQX = (One << PIRF) /* \_SB_.PIRF */
4452                 Return (BUFA) /* \_SB_.BUFA */
4453             }
4454 
4455             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4456             {
4457                 CreateWordField (Arg0, One, IRA)
4458                 FindSetRightBit (IRA, Local0)
4459                 Local0--
4460                 PIRF = Local0
4461             }
4462         }
4463 
4464         Device (LNKG)
4465         {
4466             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4467             Name (_UID, 0x07)  // _UID: Unique ID
4468             Method (_STA, 0, NotSerialized)  // _STA: Status
4469             {
4470                 If (PIRG)
4471                 {
4472                     Return (0x0B)
4473                 }
4474                 Else
4475                 {
4476                     Return (0x09)
4477                 }
4478             }
4479 
4480             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4481             {
4482                 Return (PRSG) /* \_SB_.PRSG */
4483             }
4484 
4485             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4486             {
4487                 PIRG = 0x1F
4488             }
4489 
4490             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4491             {
4492                 CreateWordField (BUFA, One, IRQX)
4493                 IRQX = (One << PIRG) /* \_SB_.PIRG */
4494                 Return (BUFA) /* \_SB_.BUFA */
4495             }
4496 
4497             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4498             {
4499                 CreateWordField (Arg0, One, IRA)
4500                 FindSetRightBit (IRA, Local0)
4501                 Local0--
4502                 PIRG = Local0
4503             }
4504         }
4505 
4506         Device (LNKH)
4507         {
4508             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
4509             Name (_UID, 0x08)  // _UID: Unique ID
4510             Method (_STA, 0, NotSerialized)  // _STA: Status
4511             {
4512                 If (PIRH)
4513                 {
4514                     Return (0x0B)
4515                 }
4516                 Else
4517                 {
4518                     Return (0x09)
4519                 }
4520             }
4521 
4522             Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
4523             {
4524                 Return (PRSH) /* \_SB_.PRSH */
4525             }
4526 
4527             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
4528             {
4529                 PIRH = 0x1F
4530             }
4531 
4532             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4533             {
4534                 CreateWordField (BUFA, One, IRQX)
4535                 IRQX = (One << PIRH) /* \_SB_.PIRH */
4536                 Return (BUFA) /* \_SB_.BUFA */
4537             }
4538 
4539             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
4540             {
4541                 CreateWordField (Arg0, One, IRA)
4542                 FindSetRightBit (IRA, Local0)
4543                 Local0--
4544                 PIRH = Local0
4545             }
4546         }
4547     }
4548 
4549     Name (OSTB, Ones)
4550     Name (TPOS, Zero)
4551     Name (LINX, Zero)
4552     Name (OSSP, Zero)
4553     Method (SEQL, 2, Serialized)
4554     {
4555         Local0 = SizeOf (Arg0)
4556         Local1 = SizeOf (Arg1)
4557         If ((Local0 != Local1))
4558         {
4559             Return (Zero)
4560         }
4561 
4562         Name (BUF0, Buffer (Local0){})
4563         BUF0 = Arg0
4564         Name (BUF1, Buffer (Local0){})
4565         BUF1 = Arg1
4566         Local2 = Zero
4567         While ((Local2 < Local0))
4568         {
4569             Local3 = DerefOf (BUF0 [Local2])
4570             Local4 = DerefOf (BUF1 [Local2])
4571             If ((Local3 != Local4))
4572             {
4573                 Return (Zero)
4574             }
4575 
4576             Local2++
4577         }
4578 
4579         Return (One)
4580     }
4581 
4582     Method (OSTP, 0, NotSerialized)
4583     {
4584         If ((OSTB == Ones))
4585         {
4586             If (CondRefOf (\_OSI, Local0))
4587             {
4588                 OSTB = Zero
4589                 TPOS = Zero
4590                 If (_OSI ("Windows 2001"))
4591                 {
4592                     OSTB = 0x08
4593                     TPOS = 0x08
4594                 }
4595 
4596                 If (_OSI ("Windows 2001.1"))
4597                 {
4598                     OSTB = 0x20
4599                     TPOS = 0x20
4600                 }
4601 
4602                 If (_OSI ("Windows 2001 SP1"))
4603                 {
4604                     OSTB = 0x10
4605                     TPOS = 0x10
4606                 }
4607 
4608                 If (_OSI ("Windows 2001 SP2"))
4609                 {
4610                     OSTB = 0x11
4611                     TPOS = 0x11
4612                 }
4613 
4614                 If (_OSI ("Windows 2001 SP3"))
4615                 {
4616                     OSTB = 0x12
4617                     TPOS = 0x12
4618                 }
4619 
4620                 If (_OSI ("Windows 2006"))
4621                 {
4622                     OSTB = 0x40
4623                     TPOS = 0x40
4624                 }
4625 
4626                 If (_OSI ("Windows 2006 SP1"))
4627                 {
4628                     OSTB = 0x41
4629                     TPOS = 0x41
4630                     OSSP = One
4631                 }
4632 
4633                 If (_OSI ("Windows 2009"))
4634                 {
4635                     OSSP = One
4636                     OSTB = 0x50
4637                     TPOS = 0x50
4638                 }
4639 
4640                 If (_OSI ("Windows 2012"))
4641                 {
4642                     OSSP = One
4643                     OSTB = 0x60
4644                     TPOS = 0x60
4645                 }
4646 
4647                 If (_OSI ("Windows 2013"))
4648                 {
4649                     OSSP = One
4650                     OSTB = 0x61
4651                     TPOS = 0x61
4652                 }
4653 
4654                 If (_OSI ("Windows 2015"))
4655                 {
4656                     OSSP = One
4657                     OSTB = 0x70
4658                     TPOS = 0x70
4659                 }
4660 
4661                 If (_OSI ("Linux"))
4662                 {
4663                     LINX = One
4664                     OSTB = 0x80
4665                     TPOS = 0x80
4666                 }
4667             }
4668             ElseIf (CondRefOf (\_OS, Local0))
4669             {
4670                 If (SEQL (_OS, "Microsoft Windows"))
4671                 {
4672                     OSTB = One
4673                     TPOS = One
4674                 }
4675                 ElseIf (SEQL (_OS, "Microsoft WindowsME: Millennium Edition"))
4676                 {
4677                     OSTB = 0x02
4678                     TPOS = 0x02
4679                 }
4680                 ElseIf (SEQL (_OS, "Microsoft Windows NT"))
4681                 {
4682                     OSTB = 0x04
4683                     TPOS = 0x04
4684                 }
4685                 Else
4686                 {
4687                     OSTB = Zero
4688                     TPOS = Zero
4689                 }
4690             }
4691             Else
4692             {
4693                 OSTB = Zero
4694                 TPOS = Zero
4695             }
4696         }
4697 
4698         Return (OSTB) /* \OSTB */
4699     }
4700 
4701     Scope (_SB.PCI0)
4702     {
4703         Method (_INI, 0, NotSerialized)  // _INI: Initialize
4704         {
4705             If ((PICM != Zero))
4706             {
4707                 DSPI ()
4708                 NAPE ()
4709             }
4710 
4711             OSTP ()
4712             OSFL ()
4713         }
4714     }
4715 
4716     Device (HPET)
4717     {
4718         Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
4719         Method (_STA, 0, NotSerialized)  // _STA: Status
4720         {
4721             If ((HPEN == One))
4722             {
4723                 If ((OSVR >= 0x0C))
4724                 {
4725                     Return (0x0F)
4726                 }
4727 
4728                 HPEN = Zero
4729                 Return (One)
4730             }
4731 
4732             Return (One)
4733         }
4734 
4735         Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
4736         {
4737             Name (BUF0, ResourceTemplate ()
4738             {
4739                 IRQNoFlags ()
4740                     {0}
4741                 IRQNoFlags ()
4742                     {8}
4743                 Memory32Fixed (ReadOnly,
4744                     0xFED00000,         // Address Base
4745                     0x00000400,         // Address Length
4746                     )
4747             })
4748             Return (BUF0) /* \HPET._CRS.BUF0 */
4749         }
4750     }
4751 
4752     Name (TSOS, 0x75)
4753     Name (UR0I, 0x03)
4754     Name (UR1I, 0x04)
4755     Name (UR2I, 0x03)
4756     Name (UR3I, 0x04)
4757     Name (UR4I, 0x0F)
4758     Name (IC0I, 0x0A)
4759     Name (IC1I, 0x0B)
4760     Name (IC2I, 0x04)
4761     Name (IC3I, 0x06)
4762     Name (IC4I, 0x0E)
4763     If (CondRefOf (\_OSI))
4764     {
4765         If (_OSI ("Windows 2009"))
4766         {
4767             TSOS = 0x50
4768         }
4769 
4770         If (_OSI ("Windows 2015"))
4771         {
4772             TSOS = 0x70
4773         }
4774     }
4775 
4776     Scope (_SB)
4777     {
4778         OperationRegion (SMIC, SystemMemory, 0xFED80000, 0x00800000)
4779         Field (SMIC, ByteAcc, NoLock, Preserve)
4780         {
4781             Offset (0x36A), 
4782             SMIB,   8
4783         }
4784 
4785         OperationRegion (SSMI, SystemIO, SMIB, 0x02)
4786         Field (SSMI, AnyAcc, NoLock, Preserve)
4787         {
4788             SMIW,   16
4789         }
4790 
4791         OperationRegion (ECMC, SystemIO, 0x72, 0x02)
4792         Field (ECMC, AnyAcc, NoLock, Preserve)
4793         {
4794             ECMI,   8, 
4795             ECMD,   8
4796         }
4797 
4798         IndexField (ECMI, ECMD, ByteAcc, NoLock, Preserve)
4799         {
4800             Offset (0x08), 
4801             FRTB,   32
4802         }
4803 
4804         OperationRegion (FRTP, SystemMemory, FRTB, 0x0100)
4805         Field (FRTP, AnyAcc, NoLock, Preserve)
4806         {
4807             PEBA,   32, 
4808                 ,   5, 
4809             IC0E,   1, 
4810             IC1E,   1, 
4811             IC2E,   1, 
4812             IC3E,   1, 
4813             IC4E,   1, 
4814             IC5E,   1, 
4815             UT0E,   1, 
4816             UT1E,   1, 
4817             I31E,   1, 
4818             I32E,   1, 
4819             I33E,   1, 
4820             UT2E,   1, 
4821                 ,   1, 
4822             EMMD,   2, 
4823             UT4E,   1, 
4824             I30E,   1, 
4825                 ,   1, 
4826             XHCE,   1, 
4827                 ,   1, 
4828                 ,   1, 
4829             UT3E,   1, 
4830             ESPI,   1, 
4831                 ,   1, 
4832             HFPE,   1, 
4833             HD0E,   1, 
4834             HD2E,   1, 
4835             PCEF,   1, 
4836                 ,   4, 
4837             IC0D,   1, 
4838             IC1D,   1, 
4839             IC2D,   1, 
4840             IC3D,   1, 
4841             IC4D,   1, 
4842             IC5D,   1, 
4843             UT0D,   1, 
4844             UT1D,   1, 
4845             I31D,   1, 
4846             I32D,   1, 
4847             I33D,   1, 
4848             UT2D,   1, 
4849                 ,   1, 
4850             EHCD,   1, 
4851                 ,   1, 
4852             UT4D,   1, 
4853             I30D,   1, 
4854                 ,   1, 
4855             XHCD,   1, 
4856             SD_D,   1, 
4857                 ,   1, 
4858             UT3D,   1, 
4859                 ,   1, 
4860             STD3,   1, 
4861                 ,   1, 
4862             US4D,   1, 
4863             S03D,   1, 
4864             UT0O,   1, 
4865             UT1O,   1, 
4866             UT2O,   1, 
4867             UT3O,   1, 
4868             Offset (0x1C), 
4869             I30M,   1, 
4870             I31M,   1, 
4871             I32M,   1, 
4872             I33M,   1
4873         }
4874 
4875         OperationRegion (FCFG, SystemMemory, PEBA, 0x01000000)
4876         Field (FCFG, DWordAcc, NoLock, Preserve)
4877         {
4878             Offset (0xA3078), 
4879                 ,   2, 
4880             LDQ0,   1, 
4881             Offset (0xA30CB), 
4882                 ,   7, 
4883             AUSS,   1
4884         }
4885 
4886         OperationRegion (IOMX, SystemMemory, 0xFED80D00, 0x0100)
4887         Field (IOMX, AnyAcc, NoLock, Preserve)
4888         {
4889             Offset (0x15), 
4890             IM15,   8, 
4891             IM16,   8, 
4892             Offset (0x1F), 
4893             IM1F,   8, 
4894             IM20,   8, 
4895             Offset (0x44), 
4896             IM44,   8, 
4897             Offset (0x46), 
4898             IM46,   8, 
4899             Offset (0x4A), 
4900             IM4A,   8, 
4901             IM4B,   8, 
4902             Offset (0x57), 
4903             IM57,   8, 
4904             IM58,   8, 
4905             Offset (0x68), 
4906             IM68,   8, 
4907             IM69,   8, 
4908             IM6A,   8, 
4909             IM6B,   8, 
4910             Offset (0x6D), 
4911             IM6D,   8
4912         }
4913 
4914         OperationRegion (FACR, SystemMemory, 0xFED81E00, 0x0100)
4915         Field (FACR, AnyAcc, NoLock, Preserve)
4916         {
4917             Offset (0x80), 
4918                 ,   28, 
4919             RD28,   1, 
4920                 ,   1, 
4921             RQTY,   1, 
4922             Offset (0x84), 
4923                 ,   28, 
4924             SD28,   1, 
4925                 ,   1, 
4926             Offset (0xA0), 
4927             PG1A,   1
4928         }
4929 
4930         OperationRegion (LUIE, SystemMemory, 0xFEDC0020, 0x04)
4931         Field (LUIE, AnyAcc, NoLock, Preserve)
4932         {
4933             IER0,   1, 
4934             IER1,   1, 
4935             IER2,   1, 
4936             IER3,   1, 
4937             UOL0,   1, 
4938             UOL1,   1, 
4939             UOL2,   1, 
4940             UOL3,   1, 
4941             WUR0,   2, 
4942             WUR1,   2, 
4943             WUR2,   2, 
4944             WUR3,   2
4945         }
4946 
4947         Method (FRUI, 2, Serialized)
4948         {
4949             If ((Arg0 == Zero))
4950             {
4951                 Arg1 = IUA0 /* \_SB_.IUA0 */
4952             }
4953 
4954             If ((Arg0 == One))
4955             {
4956                 Arg1 = IUA1 /* \_SB_.IUA1 */
4957             }
4958 
4959             If ((Arg0 == 0x02))
4960             {
4961                 Arg1 = IUA2 /* \_SB_.IUA2 */
4962             }
4963 
4964             If ((Arg0 == 0x03))
4965             {
4966                 Arg1 = IUA3 /* \_SB_.IUA3 */
4967             }
4968         }
4969 
4970         Method (FUIO, 1, Serialized)
4971         {
4972             If ((IER0 == One))
4973             {
4974                 If ((WUR0 == Arg0))
4975                 {
4976                     Return (Zero)
4977                 }
4978             }
4979 
4980             If ((IER1 == One))
4981             {
4982                 If ((WUR1 == Arg0))
4983                 {
4984                     Return (One)
4985                 }
4986             }
4987 
4988             If ((IER2 == One))
4989             {
4990                 If ((WUR2 == Arg0))
4991                 {
4992                     Return (0x02)
4993                 }
4994             }
4995 
4996             If ((IER3 == One))
4997             {
4998                 If ((WUR3 == Arg0))
4999                 {
5000                     Return (0x03)
5001                 }
5002             }
5003 
5004             Return (0x0F)
5005         }
5006 
5007         Method (SRAD, 2, Serialized)
5008         {
5009             Local0 = (Arg0 << One)
5010             Local0 += 0xFED81E40
5011             OperationRegion (ADCR, SystemMemory, Local0, 0x02)
5012             Field (ADCR, ByteAcc, NoLock, Preserve)
5013             {
5014                 ADTD,   2, 
5015                 ADPS,   1, 
5016                 ADPD,   1, 
5017                 ADSO,   1, 
5018                 ADSC,   1, 
5019                 ADSR,   1, 
5020                 ADIS,   1, 
5021                 ADDS,   3
5022             }
5023 
5024             ADIS = One
5025             ADSR = Zero
5026             Stall (Arg1)
5027             ADSR = One
5028             ADIS = Zero
5029             Stall (Arg1)
5030         }
5031 
5032         Method (DSAD, 2, Serialized)
5033         {
5034             Local0 = (Arg0 << One)
5035             Local0 += 0xFED81E40
5036             OperationRegion (ADCR, SystemMemory, Local0, 0x02)
5037             Field (ADCR, ByteAcc, NoLock, Preserve)
5038             {
5039                 ADTD,   2, 
5040                 ADPS,   1, 
5041                 ADPD,   1, 
5042                 ADSO,   1, 
5043                 ADSC,   1, 
5044                 ADSR,   1, 
5045                 ADIS,   1, 
5046                 ADDS,   3
5047             }
5048 
5049             If ((Arg1 != ADTD))
5050             {
5051                 If ((Arg1 == Zero))
5052                 {
5053                     ADTD = Zero
5054                     ADPD = One
5055                     Local0 = ADDS /* \_SB_.DSAD.ADDS */
5056                     While ((Local0 != 0x07))
5057                     {
5058                         Local0 = ADDS /* \_SB_.DSAD.ADDS */
5059                     }
5060                 }
5061 
5062                 If ((Arg1 == 0x03))
5063                 {
5064                     ADPD = Zero
5065                     Local0 = ADDS /* \_SB_.DSAD.ADDS */
5066                     While ((Local0 != Zero))
5067                     {
5068                         Local0 = ADDS /* \_SB_.DSAD.ADDS */
5069                     }
5070 
5071                     ADTD = 0x03
5072                 }
5073             }
5074         }
5075 
5076         Method (HSAD, 2, Serialized)
5077         {
5078             Local3 = (One << Arg0)
5079             Local0 = (Arg0 << One)
5080             Local0 += 0xFED81E40
5081             OperationRegion (ADCR, SystemMemory, Local0, 0x02)
5082             Field (ADCR, ByteAcc, NoLock, Preserve)
5083             {
5084                 ADTD,   2, 
5085                 ADPS,   1, 
5086                 ADPD,   1, 
5087                 ADSO,   1, 
5088                 ADSC,   1, 
5089                 ADSR,   1, 
5090                 ADIS,   1, 
5091                 ADDS,   3
5092             }
5093 
5094             If ((Arg1 != ADTD))
5095             {
5096                 If ((Arg1 == Zero))
5097                 {
5098                     PG1A = One
5099                     ADTD = Zero
5100                     ADPD = One
5101                     Local0 = ADDS /* \_SB_.HSAD.ADDS */
5102                     While ((Local0 != 0x07))
5103                     {
5104                         Local0 = ADDS /* \_SB_.HSAD.ADDS */
5105                     }
5106 
5107                     RQTY = One
5108                     RD28 = One
5109                     Local0 = SD28 /* \_SB_.SD28 */
5110                     While (!Local0)
5111                     {
5112                         Local0 = SD28 /* \_SB_.SD28 */
5113                     }
5114                 }
5115 
5116                 If ((Arg1 == 0x03))
5117                 {
5118                     RQTY = Zero
5119                     RD28 = One
5120                     Local0 = SD28 /* \_SB_.SD28 */
5121                     While (Local0)
5122                     {
5123                         Local0 = SD28 /* \_SB_.SD28 */
5124                     }
5125 
5126                     ADPD = Zero
5127                     Local0 = ADDS /* \_SB_.HSAD.ADDS */
5128                     While ((Local0 != Zero))
5129                     {
5130                         Local0 = ADDS /* \_SB_.HSAD.ADDS */
5131                     }
5132 
5133                     ADTD = 0x03
5134                     PG1A = Zero
5135                 }
5136             }
5137         }
5138 
5139         OperationRegion (FPIC, SystemIO, 0x0C00, 0x02)
5140         Field (FPIC, AnyAcc, NoLock, Preserve)
5141         {
5142             FPII,   8, 
5143             FPID,   8
5144         }
5145 
5146         IndexField (FPII, FPID, ByteAcc, NoLock, Preserve)
5147         {
5148             Offset (0xF4), 
5149             IUA0,   8, 
5150             IUA1,   8, 
5151             Offset (0xF8), 
5152             IUA2,   8, 
5153             IUA3,   8
5154         }
5155 
5156         Device (HFP1)
5157         {
5158             Name (_HID, "AMDI0060")  // _HID: Hardware ID
5159             Name (_UID, Zero)  // _UID: Unique ID
5160             Method (_STA, 0, NotSerialized)  // _STA: Status
5161             {
5162                 If (HFPE)
5163                 {
5164                     Return (0x0F)
5165                 }
5166                 Else
5167                 {
5168                     Return (Zero)
5169                 }
5170             }
5171 
5172             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
5173             {
5174                 Name (RBUF, ResourceTemplate ()
5175                 {
5176                     Memory32Fixed (ReadWrite,
5177                         0xFEC11000,         // Address Base
5178                         0x00000100,         // Address Length
5179                         )
5180                 })
5181                 Return (RBUF) /* \_SB_.HFP1._CRS.RBUF */
5182             }
5183         }
5184 
5185         Device (HID0)
5186         {
5187             Name (_HID, "AMDI0063")  // _HID: Hardware ID
5188             Name (_UID, Zero)  // _UID: Unique ID
5189             Method (_STA, 0, NotSerialized)  // _STA: Status
5190             {
5191                 If (HD0E)
5192                 {
5193                     Return (0x0F)
5194                 }
5195                 Else
5196                 {
5197                     Return (Zero)
5198                 }
5199             }
5200 
5201             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
5202             {
5203                 Name (RBUF, ResourceTemplate ()
5204                 {
5205                     Memory32Fixed (ReadWrite,
5206                         0xFEC13000,         // Address Base
5207                         0x00000200,         // Address Length
5208                         )
5209                     GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
5210                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
5211                         )
5212                         {   // Pin list
5213                             0x00AB
5214                         }
5215                 })
5216                 Return (RBUF) /* \_SB_.HID0._CRS.RBUF */
5217             }
5218         }
5219 
5220         Device (HID2)
5221         {
5222             Name (_HID, "AMDI0063")  // _HID: Hardware ID
5223             Name (_UID, 0x02)  // _UID: Unique ID
5224             Method (_STA, 0, NotSerialized)  // _STA: Status
5225             {
5226                 If (HD2E)
5227                 {
5228                     Return (0x0F)
5229                 }
5230                 Else
5231                 {
5232                     Return (Zero)
5233                 }
5234             }
5235 
5236             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
5237             {
5238                 Name (RBUF, ResourceTemplate ()
5239                 {
5240                     Memory32Fixed (ReadWrite,
5241                         0xFEC12000,         // Address Base
5242                         0x00000200,         // Address Length
5243                         )
5244                     GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
5245                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
5246                         )
5247                         {   // Pin list
5248                             0x00AB
5249                         }
5250                 })
5251                 Return (RBUF) /* \_SB_.HID2._CRS.RBUF */
5252             }
5253         }
5254 
5255         Device (GPIO)
5256         {
5257             Name (_HID, "AMDI0030")  // _HID: Hardware ID
5258             Name (_CID, "AMDI0030")  // _CID: Compatible ID
5259             Name (_UID, Zero)  // _UID: Unique ID
5260             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
5261             {
5262                 Name (RBUF, ResourceTemplate ()
5263                 {
5264                     Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
5265                     {
5266                         0x00000007,
5267                     }
5268                     Memory32Fixed (ReadWrite,
5269                         0xFED81500,         // Address Base
5270                         0x00000400,         // Address Length
5271                         )
5272                 })
5273                 Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
5274             }
5275 
5276             Method (_STA, 0, NotSerialized)  // _STA: Status
5277             {
5278                 If ((TSOS >= 0x70))
5279                 {
5280                     Return (0x0F)
5281                 }
5282                 Else
5283                 {
5284                     Return (Zero)
5285                 }
5286             }
5287         }
5288 
5289         Device (PPKG)
5290         {
5291             Name (_HID, "AMDI0052")  // _HID: Hardware ID
5292             Method (_STA, 0, NotSerialized)  // _STA: Status
5293             {
5294                 Return (0x0F)
5295             }
5296         }
5297 
5298         Device (FUR0)
5299         {
5300             Method (_HID, 0, Serialized)  // _HID: Hardware ID
5301             {
5302                 If ((UT0O == One))
5303                 {
5304                     Return ("AMDIX020")
5305                 }
5306 
5307                 Return ("AMDI0020")
5308             }
5309 
5310             Name (_UID, Zero)  // _UID: Unique ID
5311             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5312             {
5313                 Name (BUF0, ResourceTemplate ()
5314                 {
5315                     IRQ (Edge, ActiveHigh, Exclusive, )
5316                         {3}
5317                     Memory32Fixed (ReadWrite,
5318                         0xFEDC9000,         // Address Base
5319                         0x00001000,         // Address Length
5320                         )
5321                     Memory32Fixed (ReadWrite,
5322                         0xFEDC7000,         // Address Base
5323                         0x00001000,         // Address Length
5324                         )
5325                 })
5326                 CreateWordField (BUF0, One, IRQW)
5327                 IRQW = (One << (UR0I & 0x0F))
5328                 Return (BUF0) /* \_SB_.FUR0._CRS.BUF0 */
5329             }
5330 
5331             Method (_STA, 0, NotSerialized)  // _STA: Status
5332             {
5333                 If ((TSOS >= 0x70))
5334                 {
5335                     If ((UT0E == One))
5336                     {
5337                         If ((FUIO (Zero) != 0x0F))
5338                         {
5339                             Return (Zero)
5340                         }
5341 
5342                         Return (0x0F)
5343                     }
5344 
5345                     Return (Zero)
5346                 }
5347                 Else
5348                 {
5349                     Return (Zero)
5350                 }
5351             }
5352 
5353             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5354             {
5355                 If ((UT0D && UT0E))
5356                 {
5357                     Return (0x04)
5358                 }
5359                 Else
5360                 {
5361                     Return (Zero)
5362                 }
5363             }
5364 
5365             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5366             {
5367                 If ((UT0D && UT0E))
5368                 {
5369                     DSAD (0x0B, Zero)
5370                 }
5371             }
5372 
5373             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5374             {
5375                 If ((UT0D && UT0E))
5376                 {
5377                     DSAD (0x0B, 0x03)
5378                 }
5379             }
5380         }
5381 
5382         Device (FUR1)
5383         {
5384             Method (_HID, 0, Serialized)  // _HID: Hardware ID
5385             {
5386                 If ((UT1O == One))
5387                 {
5388                     Return ("AMDIX020")
5389                 }
5390 
5391                 Return ("AMDI0020")
5392             }
5393 
5394             Name (_UID, One)  // _UID: Unique ID
5395             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5396             {
5397                 Name (BUF0, ResourceTemplate ()
5398                 {
5399                     IRQ (Edge, ActiveHigh, Exclusive, )
5400                         {4}
5401                     Memory32Fixed (ReadWrite,
5402                         0xFEDCA000,         // Address Base
5403                         0x00001000,         // Address Length
5404                         )
5405                     Memory32Fixed (ReadWrite,
5406                         0xFEDC8000,         // Address Base
5407                         0x00001000,         // Address Length
5408                         )
5409                 })
5410                 CreateWordField (BUF0, One, IRQW)
5411                 IRQW = (One << (UR1I & 0x0F))
5412                 Return (BUF0) /* \_SB_.FUR1._CRS.BUF0 */
5413             }
5414 
5415             Method (_STA, 0, NotSerialized)  // _STA: Status
5416             {
5417                 If ((TSOS >= 0x70))
5418                 {
5419                     If ((UT1E == One))
5420                     {
5421                         If ((FUIO (One) != 0x0F))
5422                         {
5423                             Return (Zero)
5424                         }
5425 
5426                         Return (0x0F)
5427                     }
5428 
5429                     Return (Zero)
5430                 }
5431                 Else
5432                 {
5433                     Return (Zero)
5434                 }
5435             }
5436 
5437             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5438             {
5439                 If ((UT1D && UT1E))
5440                 {
5441                     Return (0x04)
5442                 }
5443                 Else
5444                 {
5445                     Return (Zero)
5446                 }
5447             }
5448 
5449             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5450             {
5451                 If ((UT1D && UT1E))
5452                 {
5453                     DSAD (0x0C, Zero)
5454                 }
5455             }
5456 
5457             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5458             {
5459                 If ((UT1D && UT1E))
5460                 {
5461                     DSAD (0x0C, 0x03)
5462                 }
5463             }
5464         }
5465 
5466         Device (FUR2)
5467         {
5468             Method (_HID, 0, Serialized)  // _HID: Hardware ID
5469             {
5470                 If ((UT2O == One))
5471                 {
5472                     Return ("AMDIX020")
5473                 }
5474 
5475                 Return ("AMDI0020")
5476             }
5477 
5478             Name (_UID, 0x02)  // _UID: Unique ID
5479             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5480             {
5481                 Name (BUF0, ResourceTemplate ()
5482                 {
5483                     IRQ (Edge, ActiveHigh, Exclusive, )
5484                         {3}
5485                     Memory32Fixed (ReadWrite,
5486                         0xFEDCE000,         // Address Base
5487                         0x00001000,         // Address Length
5488                         )
5489                     Memory32Fixed (ReadWrite,
5490                         0xFEDCC000,         // Address Base
5491                         0x00001000,         // Address Length
5492                         )
5493                 })
5494                 CreateWordField (BUF0, One, IRQW)
5495                 IRQW = (One << (UR2I & 0x0F))
5496                 Return (BUF0) /* \_SB_.FUR2._CRS.BUF0 */
5497             }
5498 
5499             Method (_STA, 0, NotSerialized)  // _STA: Status
5500             {
5501                 If ((TSOS >= 0x70))
5502                 {
5503                     If ((UT2E == One))
5504                     {
5505                         If ((FUIO (0x02) != 0x0F))
5506                         {
5507                             Return (Zero)
5508                         }
5509 
5510                         Return (0x0F)
5511                     }
5512 
5513                     Return (Zero)
5514                 }
5515                 Else
5516                 {
5517                     Return (Zero)
5518                 }
5519             }
5520 
5521             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5522             {
5523                 If ((UT2D && UT2E))
5524                 {
5525                     Return (0x04)
5526                 }
5527                 Else
5528                 {
5529                     Return (Zero)
5530                 }
5531             }
5532 
5533             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5534             {
5535                 If ((UT2D && UT2E))
5536                 {
5537                     DSAD (0x10, Zero)
5538                 }
5539             }
5540 
5541             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5542             {
5543                 If ((UT2D && UT2E))
5544                 {
5545                     DSAD (0x10, 0x03)
5546                 }
5547             }
5548         }
5549 
5550         Device (FUR3)
5551         {
5552             Method (_HID, 0, Serialized)  // _HID: Hardware ID
5553             {
5554                 If ((UT3O == One))
5555                 {
5556                     Return ("AMDIX020")
5557                 }
5558 
5559                 Return ("AMDI0020")
5560             }
5561 
5562             Name (_UID, 0x03)  // _UID: Unique ID
5563             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5564             {
5565                 Name (BUF0, ResourceTemplate ()
5566                 {
5567                     IRQ (Edge, ActiveHigh, Exclusive, )
5568                         {4}
5569                     Memory32Fixed (ReadWrite,
5570                         0xFEDCF000,         // Address Base
5571                         0x00001000,         // Address Length
5572                         )
5573                     Memory32Fixed (ReadWrite,
5574                         0xFEDCD000,         // Address Base
5575                         0x00001000,         // Address Length
5576                         )
5577                 })
5578                 CreateWordField (BUF0, One, IRQW)
5579                 IRQW = (One << (UR3I & 0x0F))
5580                 Return (BUF0) /* \_SB_.FUR3._CRS.BUF0 */
5581             }
5582 
5583             Method (_STA, 0, NotSerialized)  // _STA: Status
5584             {
5585                 If ((TSOS >= 0x70))
5586                 {
5587                     If ((UT3E == One))
5588                     {
5589                         If ((FUIO (0x03) != 0x0F))
5590                         {
5591                             Return (Zero)
5592                         }
5593 
5594                         Return (0x0F)
5595                     }
5596 
5597                     Return (Zero)
5598                 }
5599                 Else
5600                 {
5601                     Return (Zero)
5602                 }
5603             }
5604 
5605             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5606             {
5607                 If ((UT3D && UT3E))
5608                 {
5609                     Return (0x04)
5610                 }
5611                 Else
5612                 {
5613                     Return (Zero)
5614                 }
5615             }
5616 
5617             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5618             {
5619                 If ((UT3D && UT3E))
5620                 {
5621                     DSAD (0x1A, Zero)
5622                 }
5623             }
5624 
5625             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5626             {
5627                 If ((UT3D && UT3E))
5628                 {
5629                     DSAD (0x1A, 0x03)
5630                 }
5631             }
5632         }
5633 
5634         Device (FUR4)
5635         {
5636             Name (_HID, "AMDI0020")  // _HID: Hardware ID
5637             Name (_UID, 0x04)  // _UID: Unique ID
5638             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5639             {
5640                 Name (BUF0, ResourceTemplate ()
5641                 {
5642                     IRQ (Edge, ActiveHigh, Exclusive, )
5643                         {15}
5644                     Memory32Fixed (ReadWrite,
5645                         0xFEDD1000,         // Address Base
5646                         0x00001000,         // Address Length
5647                         )
5648                     Memory32Fixed (ReadWrite,
5649                         0xFEDD0000,         // Address Base
5650                         0x00001000,         // Address Length
5651                         )
5652                 })
5653                 CreateWordField (BUF0, One, IRQW)
5654                 IRQW = (One << (UR4I & 0x0F))
5655                 Return (BUF0) /* \_SB_.FUR4._CRS.BUF0 */
5656             }
5657 
5658             Method (_STA, 0, NotSerialized)  // _STA: Status
5659             {
5660                 If ((TSOS >= 0x70))
5661                 {
5662                     If ((UT4E == One))
5663                     {
5664                         Return (0x0F)
5665                     }
5666 
5667                     Return (Zero)
5668                 }
5669                 Else
5670                 {
5671                     Return (Zero)
5672                 }
5673             }
5674 
5675             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5676             {
5677                 If ((UT4D && UT4E))
5678                 {
5679                     Return (0x04)
5680                 }
5681                 Else
5682                 {
5683                     Return (Zero)
5684                 }
5685             }
5686 
5687             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5688             {
5689                 If ((UT4D && UT4E))
5690                 {
5691                     DSAD (0x14, Zero)
5692                 }
5693             }
5694 
5695             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5696             {
5697                 If ((UT4D && UT4E))
5698                 {
5699                     DSAD (0x14, 0x03)
5700                 }
5701             }
5702         }
5703 
5704         Device (I2CA)
5705         {
5706             Name (_HID, "AMDI0010")  // _HID: Hardware ID
5707             Name (_UID, Zero)  // _UID: Unique ID
5708             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5709             {
5710                 Name (BUF0, ResourceTemplate ()
5711                 {
5712                     IRQ (Edge, ActiveHigh, Exclusive, )
5713                         {10}
5714                     Memory32Fixed (ReadWrite,
5715                         0xFEDC2000,         // Address Base
5716                         0x00001000,         // Address Length
5717                         )
5718                 })
5719                 CreateWordField (BUF0, One, IRQW)
5720                 IRQW = (One << (IC0I & 0x0F))
5721                 Return (BUF0) /* \_SB_.I2CA._CRS.BUF0 */
5722             }
5723 
5724             Method (_STA, 0, NotSerialized)  // _STA: Status
5725             {
5726                 If ((TSOS >= 0x70))
5727                 {
5728                     If ((IC0E == One))
5729                     {
5730                         Return (0x0F)
5731                     }
5732 
5733                     Return (Zero)
5734                 }
5735                 Else
5736                 {
5737                     Return (Zero)
5738                 }
5739             }
5740 
5741             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5742             {
5743                 If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
5744                 {
5745                     Switch (ToInteger (Arg2))
5746                     {
5747                         Case (Zero)
5748                         {
5749                             Return (Buffer (One)
5750                             {
5751                                  0x03                                             // .
5752                             })
5753                         }
5754                         Case (One)
5755                         {
5756                             Return (Buffer (0x04)
5757                             {
5758                                  0xE5, 0x00, 0x6A, 0x00                           // ..j.
5759                             })
5760                         }
5761 
5762                     }
5763                 }
5764                 Else
5765                 {
5766                     Return (Buffer (One)
5767                     {
5768                          0x00                                             // .
5769                     })
5770                 }
5771             }
5772 
5773             Method (RSET, 0, NotSerialized)
5774             {
5775                 SRAD (0x05, 0xC8)
5776             }
5777 
5778             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5779             {
5780                 If ((IC0D && IC0E))
5781                 {
5782                     Return (0x04)
5783                 }
5784                 Else
5785                 {
5786                     Return (Zero)
5787                 }
5788             }
5789 
5790             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5791             {
5792                 If ((IC0D && IC0E))
5793                 {
5794                     DSAD (0x05, Zero)
5795                 }
5796             }
5797 
5798             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5799             {
5800                 If ((IC0D && IC0E))
5801                 {
5802                     DSAD (0x05, 0x03)
5803                 }
5804             }
5805         }
5806 
5807         Device (I2CB)
5808         {
5809             Name (_HID, "AMDI0010")  // _HID: Hardware ID
5810             Name (_UID, One)  // _UID: Unique ID
5811             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5812             {
5813                 Name (BUF0, ResourceTemplate ()
5814                 {
5815                     IRQ (Edge, ActiveHigh, Exclusive, )
5816                         {11}
5817                     Memory32Fixed (ReadWrite,
5818                         0xFEDC3000,         // Address Base
5819                         0x00001000,         // Address Length
5820                         )
5821                 })
5822                 CreateWordField (BUF0, One, IRQW)
5823                 IRQW = (One << (IC1I & 0x0F))
5824                 Return (BUF0) /* \_SB_.I2CB._CRS.BUF0 */
5825             }
5826 
5827             Method (_STA, 0, NotSerialized)  // _STA: Status
5828             {
5829                 If ((TSOS >= 0x70))
5830                 {
5831                     If ((IC1E == One))
5832                     {
5833                         Return (0x0F)
5834                     }
5835 
5836                     Return (Zero)
5837                 }
5838                 Else
5839                 {
5840                     Return (Zero)
5841                 }
5842             }
5843 
5844             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5845             {
5846                 If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
5847                 {
5848                     Switch (ToInteger (Arg2))
5849                     {
5850                         Case (Zero)
5851                         {
5852                             Return (Buffer (One)
5853                             {
5854                                  0x03                                             // .
5855                             })
5856                         }
5857                         Case (One)
5858                         {
5859                             Return (Buffer (0x04)
5860                             {
5861                                  0xE5, 0x00, 0x6A, 0x00                           // ..j.
5862                             })
5863                         }
5864 
5865                     }
5866                 }
5867                 Else
5868                 {
5869                     Return (Buffer (One)
5870                     {
5871                          0x00                                             // .
5872                     })
5873                 }
5874             }
5875 
5876             Method (RSET, 0, NotSerialized)
5877             {
5878                 SRAD (0x06, 0xC8)
5879             }
5880 
5881             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5882             {
5883                 If ((IC1D && IC1E))
5884                 {
5885                     Return (0x04)
5886                 }
5887                 Else
5888                 {
5889                     Return (Zero)
5890                 }
5891             }
5892 
5893             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5894             {
5895                 If ((IC1D && IC1E))
5896                 {
5897                     DSAD (0x06, Zero)
5898                 }
5899             }
5900 
5901             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
5902             {
5903                 If ((IC1D && IC1E))
5904                 {
5905                     DSAD (0x06, 0x03)
5906                 }
5907             }
5908         }
5909 
5910         Device (I2CC)
5911         {
5912             Name (_HID, "AMDI0010")  // _HID: Hardware ID
5913             Name (_UID, 0x02)  // _UID: Unique ID
5914             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
5915             {
5916                 Name (BUF0, ResourceTemplate ()
5917                 {
5918                     IRQ (Edge, ActiveHigh, Exclusive, )
5919                         {4}
5920                     Memory32Fixed (ReadWrite,
5921                         0xFEDC4000,         // Address Base
5922                         0x00001000,         // Address Length
5923                         )
5924                 })
5925                 CreateWordField (BUF0, One, IRQW)
5926                 IRQW = (One << (IC2I & 0x0F))
5927                 Return (BUF0) /* \_SB_.I2CC._CRS.BUF0 */
5928             }
5929 
5930             Method (_STA, 0, NotSerialized)  // _STA: Status
5931             {
5932                 If ((TSOS >= 0x70))
5933                 {
5934                     If ((IC2E == One))
5935                     {
5936                         Return (0x0F)
5937                     }
5938 
5939                     Return (Zero)
5940                 }
5941                 Else
5942                 {
5943                     Return (Zero)
5944                 }
5945             }
5946 
5947             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
5948             {
5949                 If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
5950                 {
5951                     Switch (ToInteger (Arg2))
5952                     {
5953                         Case (Zero)
5954                         {
5955                             Return (Buffer (One)
5956                             {
5957                                  0x03                                             // .
5958                             })
5959                         }
5960                         Case (One)
5961                         {
5962                             Return (Buffer (0x04)
5963                             {
5964                                  0xE5, 0x00, 0x6A, 0x00                           // ..j.
5965                             })
5966                         }
5967 
5968                     }
5969                 }
5970                 Else
5971                 {
5972                     Return (Buffer (One)
5973                     {
5974                          0x00                                             // .
5975                     })
5976                 }
5977             }
5978 
5979             Method (RSET, 0, NotSerialized)
5980             {
5981                 SRAD (0x07, 0xC8)
5982             }
5983 
5984             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
5985             {
5986                 If ((IC2D && IC2E))
5987                 {
5988                     Return (0x04)
5989                 }
5990                 Else
5991                 {
5992                     Return (Zero)
5993                 }
5994             }
5995 
5996             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
5997             {
5998                 If ((IC2D && IC2E))
5999                 {
6000                     DSAD (0x07, Zero)
6001                 }
6002             }
6003 
6004             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6005             {
6006                 If ((IC2D && IC2E))
6007                 {
6008                     DSAD (0x07, 0x03)
6009                 }
6010             }
6011         }
6012 
6013         Device (I2CD)
6014         {
6015             Name (_HID, "AMDI0010")  // _HID: Hardware ID
6016             Name (_UID, 0x03)  // _UID: Unique ID
6017             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6018             {
6019                 Name (BUF0, ResourceTemplate ()
6020                 {
6021                     IRQ (Edge, ActiveHigh, Exclusive, )
6022                         {6}
6023                     Memory32Fixed (ReadWrite,
6024                         0xFEDC5000,         // Address Base
6025                         0x00001000,         // Address Length
6026                         )
6027                 })
6028                 CreateWordField (BUF0, One, IRQW)
6029                 IRQW = (One << (IC3I & 0x0F))
6030                 Return (BUF0) /* \_SB_.I2CD._CRS.BUF0 */
6031             }
6032 
6033             Method (_STA, 0, NotSerialized)  // _STA: Status
6034             {
6035                 If ((TSOS >= 0x70))
6036                 {
6037                     If ((IC3E == One))
6038                     {
6039                         Return (0x0F)
6040                     }
6041 
6042                     Return (Zero)
6043                 }
6044                 Else
6045                 {
6046                     Return (Zero)
6047                 }
6048             }
6049 
6050             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
6051             {
6052                 If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
6053                 {
6054                     Switch (ToInteger (Arg2))
6055                     {
6056                         Case (Zero)
6057                         {
6058                             Return (Buffer (One)
6059                             {
6060                                  0x03                                             // .
6061                             })
6062                         }
6063                         Case (One)
6064                         {
6065                             Return (Buffer (0x04)
6066                             {
6067                                  0xE5, 0x00, 0x6A, 0x00                           // ..j.
6068                             })
6069                         }
6070 
6071                     }
6072                 }
6073                 Else
6074                 {
6075                     Return (Buffer (One)
6076                     {
6077                          0x00                                             // .
6078                     })
6079                 }
6080             }
6081 
6082             Method (RSET, 0, NotSerialized)
6083             {
6084                 SRAD (0x08, 0xC8)
6085             }
6086 
6087             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
6088             {
6089                 If ((IC3D && IC3E))
6090                 {
6091                     Return (0x04)
6092                 }
6093                 Else
6094                 {
6095                     Return (Zero)
6096                 }
6097             }
6098 
6099             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
6100             {
6101                 If ((IC3D && IC3E))
6102                 {
6103                     DSAD (0x08, Zero)
6104                 }
6105             }
6106 
6107             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6108             {
6109                 If ((IC3D && IC3E))
6110                 {
6111                     DSAD (0x08, 0x03)
6112                 }
6113             }
6114         }
6115 
6116         Name (I3ID, "AMDI0015")
6117         Name (I2ID, "AMDI0016")
6118         Device (I3CA)
6119         {
6120             Method (_HID, 0, Serialized)  // _HID: Hardware ID
6121             {
6122                 If ((I30M == Zero))
6123                 {
6124                     Return (I3ID) /* \_SB_.I3ID */
6125                 }
6126                 Else
6127                 {
6128                     Return (I2ID) /* \_SB_.I2ID */
6129                 }
6130             }
6131 
6132             Name (_UID, Zero)  // _UID: Unique ID
6133             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6134             {
6135                 Name (BUF0, ResourceTemplate ()
6136                 {
6137                     IRQ (Edge, ActiveHigh, Exclusive, )
6138                         {10}
6139                     Memory32Fixed (ReadWrite,
6140                         0xFEDD2000,         // Address Base
6141                         0x00001000,         // Address Length
6142                         )
6143                 })
6144                 CreateWordField (BUF0, One, IRQW)
6145                 IRQW = (One << (IC0I & 0x0F))
6146                 Return (BUF0) /* \_SB_.I3CA._CRS.BUF0 */
6147             }
6148 
6149             Method (_STA, 0, NotSerialized)  // _STA: Status
6150             {
6151                 If ((TSOS >= 0x70))
6152                 {
6153                     If ((I30E == One))
6154                     {
6155                         Return (0x0F)
6156                     }
6157 
6158                     Return (Zero)
6159                 }
6160                 Else
6161                 {
6162                     Return (Zero)
6163                 }
6164             }
6165 
6166             Method (RSET, 0, NotSerialized)
6167             {
6168                 SRAD (0x15, 0xC8)
6169             }
6170 
6171             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
6172             {
6173                 If ((I30D && I30E))
6174                 {
6175                     Return (0x04)
6176                 }
6177                 Else
6178                 {
6179                     Return (Zero)
6180                 }
6181             }
6182 
6183             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
6184             {
6185                 If ((I30D && I30E))
6186                 {
6187                     DSAD (0x15, Zero)
6188                 }
6189             }
6190 
6191             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6192             {
6193                 If ((I30D && I30E))
6194                 {
6195                     DSAD (0x15, 0x03)
6196                 }
6197             }
6198         }
6199 
6200         Device (I3CB)
6201         {
6202             Method (_HID, 0, Serialized)  // _HID: Hardware ID
6203             {
6204                 If ((I31M == Zero))
6205                 {
6206                     Return (I3ID) /* \_SB_.I3ID */
6207                 }
6208                 Else
6209                 {
6210                     Return (I2ID) /* \_SB_.I2ID */
6211                 }
6212             }
6213 
6214             Name (_UID, One)  // _UID: Unique ID
6215             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6216             {
6217                 Name (BUF0, ResourceTemplate ()
6218                 {
6219                     IRQ (Edge, ActiveHigh, Exclusive, )
6220                         {11}
6221                     Memory32Fixed (ReadWrite,
6222                         0xFEDD3000,         // Address Base
6223                         0x00001000,         // Address Length
6224                         )
6225                 })
6226                 CreateWordField (BUF0, One, IRQW)
6227                 IRQW = (One << (IC1I & 0x0F))
6228                 Return (BUF0) /* \_SB_.I3CB._CRS.BUF0 */
6229             }
6230 
6231             Method (_STA, 0, NotSerialized)  // _STA: Status
6232             {
6233                 If ((TSOS >= 0x70))
6234                 {
6235                     If ((I31E == One))
6236                     {
6237                         Return (0x0F)
6238                     }
6239 
6240                     Return (Zero)
6241                 }
6242                 Else
6243                 {
6244                     Return (Zero)
6245                 }
6246             }
6247 
6248             Method (RSET, 0, NotSerialized)
6249             {
6250                 SRAD (0x0D, 0xC8)
6251             }
6252 
6253             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
6254             {
6255                 If ((I31D && I31E))
6256                 {
6257                     Return (0x04)
6258                 }
6259                 Else
6260                 {
6261                     Return (Zero)
6262                 }
6263             }
6264 
6265             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
6266             {
6267                 If ((I31D && I31E))
6268                 {
6269                     DSAD (0x0D, Zero)
6270                 }
6271             }
6272 
6273             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6274             {
6275                 If ((I31D && I31E))
6276                 {
6277                     DSAD (0x0D, 0x03)
6278                 }
6279             }
6280         }
6281 
6282         Device (I3CC)
6283         {
6284             Method (_HID, 0, Serialized)  // _HID: Hardware ID
6285             {
6286                 If ((I32M == Zero))
6287                 {
6288                     Return (I3ID) /* \_SB_.I3ID */
6289                 }
6290                 Else
6291                 {
6292                     Return (I2ID) /* \_SB_.I2ID */
6293                 }
6294             }
6295 
6296             Name (_UID, 0x02)  // _UID: Unique ID
6297             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6298             {
6299                 Name (BUF0, ResourceTemplate ()
6300                 {
6301                     IRQ (Edge, ActiveHigh, Exclusive, )
6302                         {4}
6303                     Memory32Fixed (ReadWrite,
6304                         0xFEDD4000,         // Address Base
6305                         0x00001000,         // Address Length
6306                         )
6307                 })
6308                 CreateWordField (BUF0, One, IRQW)
6309                 IRQW = (One << (IC2I & 0x0F))
6310                 Return (BUF0) /* \_SB_.I3CC._CRS.BUF0 */
6311             }
6312 
6313             Method (_STA, 0, NotSerialized)  // _STA: Status
6314             {
6315                 If ((TSOS >= 0x70))
6316                 {
6317                     If ((I32E == One))
6318                     {
6319                         Return (0x0F)
6320                     }
6321 
6322                     Return (Zero)
6323                 }
6324                 Else
6325                 {
6326                     Return (Zero)
6327                 }
6328             }
6329 
6330             Method (RSET, 0, NotSerialized)
6331             {
6332                 SRAD (0x0E, 0xC8)
6333             }
6334 
6335             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
6336             {
6337                 If ((I32D && I32E))
6338                 {
6339                     Return (0x04)
6340                 }
6341                 Else
6342                 {
6343                     Return (Zero)
6344                 }
6345             }
6346 
6347             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
6348             {
6349                 If ((I32D && I32E))
6350                 {
6351                     DSAD (0x0E, Zero)
6352                 }
6353             }
6354 
6355             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6356             {
6357                 If ((I32D && I32E))
6358                 {
6359                     DSAD (0x0E, 0x03)
6360                 }
6361             }
6362         }
6363 
6364         Device (I3CD)
6365         {
6366             Method (_HID, 0, Serialized)  // _HID: Hardware ID
6367             {
6368                 If ((I33M == Zero))
6369                 {
6370                     Return (I3ID) /* \_SB_.I3ID */
6371                 }
6372                 Else
6373                 {
6374                     Return (I2ID) /* \_SB_.I2ID */
6375                 }
6376             }
6377 
6378             Name (_UID, 0x03)  // _UID: Unique ID
6379             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6380             {
6381                 Name (BUF0, ResourceTemplate ()
6382                 {
6383                     IRQ (Edge, ActiveHigh, Exclusive, )
6384                         {6}
6385                     Memory32Fixed (ReadWrite,
6386                         0xFEDD6000,         // Address Base
6387                         0x00001000,         // Address Length
6388                         )
6389                 })
6390                 CreateWordField (BUF0, One, IRQW)
6391                 IRQW = (One << (IC3I & 0x0F))
6392                 Return (BUF0) /* \_SB_.I3CD._CRS.BUF0 */
6393             }
6394 
6395             Method (_STA, 0, NotSerialized)  // _STA: Status
6396             {
6397                 If ((TSOS >= 0x70))
6398                 {
6399                     If ((I33E == One))
6400                     {
6401                         Return (0x0F)
6402                     }
6403 
6404                     Return (Zero)
6405                 }
6406                 Else
6407                 {
6408                     Return (Zero)
6409                 }
6410             }
6411 
6412             Method (RSET, 0, NotSerialized)
6413             {
6414                 SRAD (0x0F, 0xC8)
6415             }
6416 
6417             Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
6418             {
6419                 If ((I33D && I33E))
6420                 {
6421                     Return (0x04)
6422                 }
6423                 Else
6424                 {
6425                     Return (Zero)
6426                 }
6427             }
6428 
6429             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
6430             {
6431                 If ((I33D && I33E))
6432                 {
6433                     DSAD (0x0F, Zero)
6434                 }
6435             }
6436 
6437             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
6438             {
6439                 If ((I33D && I33E))
6440                 {
6441                     DSAD (0x0F, 0x03)
6442                 }
6443             }
6444         }
6445     }
6446 
6447     Scope (_SB.PCI0)
6448     {
6449         Device (UAR1)
6450         {
6451             Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */)  // _HID: Hardware ID
6452             Name (_UID, One)  // _UID: Unique ID
6453             Name (_DDN, "COM1")  // _DDN: DOS Device Name
6454             Method (_STA, 0, NotSerialized)  // _STA: Status
6455             {
6456                 If ((FUIO (Zero) != 0x0F))
6457                 {
6458                     Return (0x0F)
6459                 }
6460 
6461                 Return (Zero)
6462             }
6463 
6464             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6465             {
6466                 Name (BUF0, ResourceTemplate ()
6467                 {
6468                     IO (Decode16,
6469                         0x02E8,             // Range Minimum
6470                         0x02E8,             // Range Maximum
6471                         0x01,               // Alignment
6472                         0x08,               // Length
6473                         _Y18)
6474                     IRQNoFlags (_Y19)
6475                         {3}
6476                 })
6477                 CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y18._MIN, IOLO)  // _MIN: Minimum Base Address
6478                 CreateByteField (BUF0, 0x03, IOHI)
6479                 CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y18._MAX, IORL)  // _MAX: Maximum Base Address
6480                 CreateByteField (BUF0, 0x05, IORH)
6481                 CreateWordField (BUF0, \_SB.PCI0.UAR1._CRS._Y19._INT, IRQL)  // _INT: Interrupts
6482                 Local0 = FUIO (Zero)
6483                 Switch (ToInteger (Local0))
6484                 {
6485                     Case (Zero)
6486                     {
6487                         IOLO = 0xE8
6488                         IOHI = 0x02
6489                         IORL = 0xE8
6490                         IORH = 0x02
6491                     }
6492                     Case (One)
6493                     {
6494                         IOLO = 0xF8
6495                         IOHI = 0x02
6496                         IORL = 0xF8
6497                         IORH = 0x02
6498                     }
6499                     Case (0x02)
6500                     {
6501                         IOLO = 0xE8
6502                         IOHI = 0x03
6503                         IORL = 0xE8
6504                         IORH = 0x03
6505                     }
6506                     Case (0x03)
6507                     {
6508                         IOLO = 0xF8
6509                         IOHI = 0x03
6510                         IORL = 0xF8
6511                         IORH = 0x03
6512                     }
6513 
6514                 }
6515 
6516                 Local1 = IUA0 /* \_SB_.IUA0 */
6517                 IRQL = (One << (Local1 & 0x0F))
6518                 Return (BUF0) /* \_SB_.PCI0.UAR1._CRS.BUF0 */
6519             }
6520         }
6521 
6522         Device (UAR2)
6523         {
6524             Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */)  // _HID: Hardware ID
6525             Name (_UID, 0x02)  // _UID: Unique ID
6526             Name (_DDN, "COM2")  // _DDN: DOS Device Name
6527             Method (_STA, 0, NotSerialized)  // _STA: Status
6528             {
6529                 If ((FUIO (One) != 0x0F))
6530                 {
6531                     Return (0x0F)
6532                 }
6533 
6534                 Return (Zero)
6535             }
6536 
6537             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6538             {
6539                 Name (BUF0, ResourceTemplate ()
6540                 {
6541                     IO (Decode16,
6542                         0x02F8,             // Range Minimum
6543                         0x02F8,             // Range Maximum
6544                         0x01,               // Alignment
6545                         0x08,               // Length
6546                         _Y1A)
6547                     IRQNoFlags (_Y1B)
6548                         {4}
6549                 })
6550                 CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y1A._MIN, IOLO)  // _MIN: Minimum Base Address
6551                 CreateByteField (BUF0, 0x03, IOHI)
6552                 CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y1A._MAX, IORL)  // _MAX: Maximum Base Address
6553                 CreateByteField (BUF0, 0x05, IORH)
6554                 CreateWordField (BUF0, \_SB.PCI0.UAR2._CRS._Y1B._INT, IRQL)  // _INT: Interrupts
6555                 Local0 = FUIO (One)
6556                 Switch (ToInteger (Local0))
6557                 {
6558                     Case (Zero)
6559                     {
6560                         IOLO = 0xE8
6561                         IOHI = 0x02
6562                         IORL = 0xE8
6563                         IORH = 0x02
6564                     }
6565                     Case (One)
6566                     {
6567                         IOLO = 0xF8
6568                         IOHI = 0x02
6569                         IORL = 0xF8
6570                         IORH = 0x02
6571                     }
6572                     Case (0x02)
6573                     {
6574                         IOLO = 0xE8
6575                         IOHI = 0x03
6576                         IORL = 0xE8
6577                         IORH = 0x03
6578                     }
6579                     Case (0x03)
6580                     {
6581                         IOLO = 0xF8
6582                         IOHI = 0x03
6583                         IORL = 0xF8
6584                         IORH = 0x03
6585                     }
6586 
6587                 }
6588 
6589                 Local1 = IUA1 /* \_SB_.IUA1 */
6590                 IRQL = (One << (Local1 & 0x0F))
6591                 Return (BUF0) /* \_SB_.PCI0.UAR2._CRS.BUF0 */
6592             }
6593         }
6594 
6595         Device (UAR3)
6596         {
6597             Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */)  // _HID: Hardware ID
6598             Name (_UID, 0x03)  // _UID: Unique ID
6599             Name (_DDN, "COM3")  // _DDN: DOS Device Name
6600             Method (_STA, 0, NotSerialized)  // _STA: Status
6601             {
6602                 If ((FUIO (0x02) != 0x0F))
6603                 {
6604                     Return (0x0F)
6605                 }
6606 
6607                 Return (Zero)
6608             }
6609 
6610             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6611             {
6612                 Name (BUF0, ResourceTemplate ()
6613                 {
6614                     IO (Decode16,
6615                         0x03E8,             // Range Minimum
6616                         0x03E8,             // Range Maximum
6617                         0x01,               // Alignment
6618                         0x08,               // Length
6619                         _Y1C)
6620                     IRQNoFlags (_Y1D)
6621                         {3}
6622                 })
6623                 CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y1C._MIN, IOLO)  // _MIN: Minimum Base Address
6624                 CreateByteField (BUF0, 0x03, IOHI)
6625                 CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y1C._MAX, IORL)  // _MAX: Maximum Base Address
6626                 CreateByteField (BUF0, 0x05, IORH)
6627                 CreateWordField (BUF0, \_SB.PCI0.UAR3._CRS._Y1D._INT, IRQL)  // _INT: Interrupts
6628                 Local0 = FUIO (0x02)
6629                 Switch (ToInteger (Local0))
6630                 {
6631                     Case (Zero)
6632                     {
6633                         IOLO = 0xE8
6634                         IOHI = 0x02
6635                         IORL = 0xE8
6636                         IORH = 0x02
6637                     }
6638                     Case (One)
6639                     {
6640                         IOLO = 0xF8
6641                         IOHI = 0x02
6642                         IORL = 0xF8
6643                         IORH = 0x02
6644                     }
6645                     Case (0x02)
6646                     {
6647                         IOLO = 0xE8
6648                         IOHI = 0x03
6649                         IORL = 0xE8
6650                         IORH = 0x03
6651                     }
6652                     Case (0x03)
6653                     {
6654                         IOLO = 0xF8
6655                         IOHI = 0x03
6656                         IORL = 0xF8
6657                         IORH = 0x03
6658                     }
6659 
6660                 }
6661 
6662                 Local1 = IUA2 /* \_SB_.IUA2 */
6663                 IRQL = (One << (Local1 & 0x0F))
6664                 Return (BUF0) /* \_SB_.PCI0.UAR3._CRS.BUF0 */
6665             }
6666         }
6667 
6668         Device (UAR4)
6669         {
6670             Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */)  // _HID: Hardware ID
6671             Name (_UID, 0x04)  // _UID: Unique ID
6672             Name (_DDN, "COM4")  // _DDN: DOS Device Name
6673             Method (_STA, 0, NotSerialized)  // _STA: Status
6674             {
6675                 If ((FUIO (0x03) != 0x0F))
6676                 {
6677                     Return (0x0F)
6678                 }
6679 
6680                 Return (Zero)
6681             }
6682 
6683             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6684             {
6685                 Name (BUF0, ResourceTemplate ()
6686                 {
6687                     IO (Decode16,
6688                         0x03F8,             // Range Minimum
6689                         0x03F8,             // Range Maximum
6690                         0x01,               // Alignment
6691                         0x08,               // Length
6692                         _Y1E)
6693                     IRQNoFlags (_Y1F)
6694                         {4}
6695                 })
6696                 CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y1E._MIN, IOLO)  // _MIN: Minimum Base Address
6697                 CreateByteField (BUF0, 0x03, IOHI)
6698                 CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y1E._MAX, IORL)  // _MAX: Maximum Base Address
6699                 CreateByteField (BUF0, 0x05, IORH)
6700                 CreateWordField (BUF0, \_SB.PCI0.UAR4._CRS._Y1F._INT, IRQL)  // _INT: Interrupts
6701                 Local0 = FUIO (0x03)
6702                 Switch (ToInteger (Local0))
6703                 {
6704                     Case (Zero)
6705                     {
6706                         IOLO = 0xE8
6707                         IOHI = 0x02
6708                         IORL = 0xE8
6709                         IORH = 0x02
6710                     }
6711                     Case (One)
6712                     {
6713                         IOLO = 0xF8
6714                         IOHI = 0x02
6715                         IORL = 0xF8
6716                         IORH = 0x02
6717                     }
6718                     Case (0x02)
6719                     {
6720                         IOLO = 0xE8
6721                         IOHI = 0x03
6722                         IORL = 0xE8
6723                         IORH = 0x03
6724                     }
6725                     Case (0x03)
6726                     {
6727                         IOLO = 0xF8
6728                         IOHI = 0x03
6729                         IORL = 0xF8
6730                         IORH = 0x03
6731                     }
6732 
6733                 }
6734 
6735                 Local1 = IUA3 /* \_SB_.IUA3 */
6736                 IRQL = (One << (Local1 & 0x0F))
6737                 Return (BUF0) /* \_SB_.PCI0.UAR4._CRS.BUF0 */
6738             }
6739         }
6740     }
6741 
6742     Device (_SB.TPM)
6743     {
6744         Name (TMRQ, 0xFFFFFFFF)
6745         Name (TLVL, 0xFFFFFFFF)
6746         Name (HPMB, 0xFFFFFFFF)
6747         Name (HPML, 0xFFFFFFFF)
6748         Name (ITRV, 0xFFFFFFFF)
6749         Name (ILVV, 0xFFFFFFFF)
6750         Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
6751         {
6752             If (TCMF)
6753             {
6754                 Return (0x01013469)
6755             }
6756             ElseIf ((TTDP == Zero))
6757             {
6758                 Return (0x310CD041)
6759             }
6760             Else
6761             {
6762                 Return ("MSFT0101")
6763             }
6764         }
6765 
6766         OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
6767         Field (TMMB, ByteAcc, Lock, Preserve)
6768         {
6769             ACC0,   8, 
6770             Offset (0x08), 
6771             INTE,   32, 
6772             INTV,   8, 
6773             Offset (0x10), 
6774             INTS,   32, 
6775             INTF,   32, 
6776             TSTS,   32, 
6777             Offset (0x24), 
6778             FIFO,   32, 
6779             Offset (0x30), 
6780             IDTF,   32, 
6781             Offset (0x4C), 
6782             SCMD,   32
6783         }
6784 
6785         Method (_STR, 0, NotSerialized)  // _STR: Description String
6786         {
6787             If ((TTDP == Zero))
6788             {
6789                 Return (Unicode ("TPM 1.2 Device"))
6790             }
6791             Else
6792             {
6793                 Return (Unicode ("TPM 2.0 Device"))
6794             }
6795         }
6796 
6797         Name (_UID, One)  // _UID: Unique ID
6798         Name (CRST, ResourceTemplate ()
6799         {
6800             Memory32Fixed (ReadOnly,
6801                 0x00000000,         // Address Base
6802                 0x00001000,         // Address Length
6803                 _Y20)
6804             Memory32Fixed (ReadOnly,
6805                 0xFED70000,         // Address Base
6806                 0x00001000,         // Address Length
6807                 _Y21)
6808         })
6809         Name (CRSD, ResourceTemplate ()
6810         {
6811             Memory32Fixed (ReadWrite,
6812                 0xFED40000,         // Address Base
6813                 0x00005000,         // Address Length
6814                 _Y22)
6815         })
6816         Name (CRID, ResourceTemplate ()
6817         {
6818             Memory32Fixed (ReadWrite,
6819                 0xFED40000,         // Address Base
6820                 0x00005000,         // Address Length
6821                 _Y23)
6822         })
6823         Name (CREI, ResourceTemplate ()
6824         {
6825             Memory32Fixed (ReadWrite,
6826                 0xFED40000,         // Address Base
6827                 0x00005000,         // Address Length
6828                 )
6829             GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
6830                 "\\_SB.GPIO", 0x00, ResourceConsumer, _Y24,
6831                 )
6832                 {   // Pin list
6833                     0x0000
6834                 }
6835         })
6836         Name (CRSI, ResourceTemplate ()
6837         {
6838             Memory32Fixed (ReadWrite,
6839                 0x00000000,         // Address Base
6840                 0x00000000,         // Address Length
6841                 _Y25)
6842         })
6843         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
6844         {
6845             If ((AMDT == One))
6846             {
6847                 CreateDWordField (CRST, \_SB.TPM._Y20._BAS, MTFB)  // _BAS: Base Address
6848                 CreateDWordField (CRST, \_SB.TPM._Y20._LEN, LTFB)  // _LEN: Length
6849                 MTFB = TPMB /* \TPMB */
6850                 LTFB = TPBS /* \TPBS */
6851                 CreateDWordField (CRST, \_SB.TPM._Y21._BAS, MTFC)  // _BAS: Base Address
6852                 CreateDWordField (CRST, \_SB.TPM._Y21._LEN, LTFC)  // _LEN: Length
6853                 MTFC = TPMC /* \TPMC */
6854                 LTFC = TPCS /* \TPCS */
6855                 Return (CRST) /* \_SB_.TPM_.CRST */
6856             }
6857             Else
6858             {
6859                 If ((DTPT == One))
6860                 {
6861                     CreateDWordField (CRSD, \_SB.TPM._Y22._BAS, MTFE)  // _BAS: Base Address
6862                     CreateDWordField (CRSD, \_SB.TPM._Y22._LEN, LTFE)  // _LEN: Length
6863                     MTFE = 0xFED40000
6864                     LTFE = 0x5000
6865                     Return (CRSD) /* \_SB_.TPM_.CRSD */
6866                 }
6867                 ElseIf ((TTPF == One))
6868                 {
6869                     If (((TMRQ == Zero) && (TMRQ != 0xFFFFFFFF)))
6870                     {
6871                         CreateDWordField (CRID, \_SB.TPM._Y23._BAS, MTFD)  // _BAS: Base Address
6872                         CreateDWordField (CRID, \_SB.TPM._Y23._LEN, LTFD)  // _LEN: Length
6873                         MTFD = 0xFED40000
6874                         LTFD = 0x5000
6875                         Return (CRID) /* \_SB_.TPM_.CRID */
6876                     }
6877                     Else
6878                     {
6879                         CreateWordField (CREI, 0x23, LIRQ)
6880                         CreateBitField (CREI, \_SB.TPM._Y24._POL, LLVL)  // _POL: Polarity
6881                         LIRQ = TMRQ /* \_SB_.TPM_.TMRQ */
6882                         LLVL = TLVL /* \_SB_.TPM_.TLVL */
6883                         Return (CREI) /* \_SB_.TPM_.CREI */
6884                     }
6885                 }
6886                 ElseIf ((TTPF == Zero))
6887                 {
6888                     If ((AMDT == 0x02))
6889                     {
6890                         If (((HPMB != Zero) && (HPMB != 0xFFFFFFFF)))
6891                         {
6892                             CreateDWordField (CRSI, \_SB.TPM._Y25._BAS, HSPB)  // _BAS: Base Address
6893                             CreateDWordField (CRSI, \_SB.TPM._Y25._LEN, HSPL)  // _LEN: Length
6894                             HSPB = HPMB /* \_SB_.TPM_.HPMB */
6895                             HSPL = HPML /* \_SB_.TPM_.HPML */
6896                         }
6897 
6898                         Return (CRSI) /* \_SB_.TPM_.CRSI */
6899                     }
6900 
6901                     CreateDWordField (CRST, \_SB.TPM._Y21._BAS, MTFF)  // _BAS: Base Address
6902                     MTFF = FTPM /* \FTPM */
6903                     Return (CRST) /* \_SB_.TPM_.CRST */
6904                 }
6905 
6906                 MTFE = Zero
6907                 LTFE = Zero
6908                 Return (CRID) /* \_SB_.TPM_.CRID */
6909             }
6910 
6911             Return (CRID) /* \_SB_.TPM_.CRID */
6912         }
6913 
6914         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
6915         {
6916             If (((TMRQ != Zero) && (TMRQ != 0xFFFFFFFF)))
6917             {
6918                 If ((AMDT == 0x02)){}
6919                 Else
6920                 {
6921                     CreateWordField (Arg0, 0x23, IRQ0)
6922                     CreateWordField (CREI, 0x23, LIRQ)
6923                     LIRQ = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
6924                     TMRQ = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
6925                     CreateBitField (Arg0, 0x98, ITRG)
6926                     CreateBitField (CREI, \_SB.TPM._Y24._MOD, LTRG)  // _MOD: Mode
6927                     LTRG = ITRG /* \_SB_.TPM_._SRS.ITRG */
6928                     ITRV = ITRG /* \_SB_.TPM_._SRS.ITRG */
6929                     CreateBitField (Arg0, 0x99, ILVL)
6930                     CreateBitField (CREI, \_SB.TPM._Y24._POL, LLVL)  // _POL: Polarity
6931                     LLVL = ILVL /* \_SB_.TPM_._SRS.ILVL */
6932                     ILVV = ILVL /* \_SB_.TPM_._SRS.ILVL */
6933                 }
6934 
6935                 If ((((IDTF & 0x0F) == Zero) || ((IDTF & 0x0F
6936                     ) == 0x0F)))
6937                 {
6938                     If ((IRQ0 < 0x10))
6939                     {
6940                         INTV = (IRQ0 & 0x0F)
6941                     }
6942 
6943                     If ((ITRV == One))
6944                     {
6945                         INTE |= 0x10
6946                     }
6947                     Else
6948                     {
6949                         INTE &= 0xFFFFFFEF
6950                     }
6951 
6952                     If ((ILVV == Zero))
6953                     {
6954                         INTE |= 0x08
6955                     }
6956                     Else
6957                     {
6958                         INTE &= 0xFFFFFFF7
6959                     }
6960                 }
6961             }
6962         }
6963 
6964         OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
6965         Field (CRBD, AnyAcc, NoLock, Preserve)
6966         {
6967             Offset (0x04), 
6968             HERR,   32, 
6969             Offset (0x40), 
6970             HCMD,   32, 
6971             HSTS,   32
6972         }
6973 
6974         Method (_STA, 0, NotSerialized)  // _STA: Status
6975         {
6976             If ((TTDP == Zero))
6977             {
6978                 If (TPMF)
6979                 {
6980                     Return (0x0F)
6981                 }
6982 
6983                 Return (Zero)
6984             }
6985             ElseIf ((TTDP == One))
6986             {
6987                 If (TPMF)
6988                 {
6989                     Return (0x0F)
6990                 }
6991 
6992                 Return (Zero)
6993             }
6994 
6995             Return (Zero)
6996         }
6997 
6998         Method (STRT, 3, Serialized)
6999         {
7000             OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
7001             Field (TPMR, AnyAcc, NoLock, Preserve)
7002             {
7003                 Offset (0x04), 
7004                 FERR,   32, 
7005                 Offset (0x0C), 
7006                 BEGN,   32
7007             }
7008 
7009             Name (TIMR, Zero)
7010             If ((ToInteger (Arg0) != Zero)){}
7011             Switch (ToInteger (Arg1))
7012             {
7013                 Case (Zero)
7014                 {
7015                     Return (Buffer (One)
7016                     {
7017                          0x03                                             // .
7018                     })
7019                 }
7020                 Case (One)
7021                 {
7022                     TIMR = Zero
7023                     If ((AMDT == One))
7024                     {
7025                         While (((BEGN == One) && (TIMR < 0x0200)))
7026                         {
7027                             If ((BEGN == One))
7028                             {
7029                                 Sleep (One)
7030                                 TIMR++
7031                             }
7032                         }
7033                     }
7034                     ElseIf ((((HSTS & 0x02) | (HSTS & One)
7035                         ) == 0x03))
7036                     {
7037                         HCMD = One
7038                     }
7039                     Else
7040                     {
7041                         FERR = One
7042                         BEGN = Zero
7043                     }
7044 
7045                     Return (Zero)
7046                 }
7047 
7048             }
7049 
7050             Return (One)
7051         }
7052 
7053         Method (CRYF, 3, Serialized)
7054         {
7055             If ((ToInteger (Arg0) != One)){}
7056             Switch (ToInteger (Arg1))
7057             {
7058                 Case (Zero)
7059                 {
7060                     Return (Buffer (One)
7061                     {
7062                          0x03                                             // .
7063                     })
7064                 }
7065                 Case (One)
7066                 {
7067                     Name (TPMV, Package (0x02)
7068                     {
7069                         One, 
7070                         Package (0x02)
7071                         {
7072                             One, 
7073                             0x20
7074                         }
7075                     })
7076                     If ((_STA () == Zero))
7077                     {
7078                         Return (Package (0x01)
7079                         {
7080                             Zero
7081                         })
7082                     }
7083 
7084                     Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */
7085                 }
7086 
7087             }
7088 
7089             Return (Buffer (One)
7090             {
7091                  0x00                                             // .
7092             })
7093         }
7094     }
7095 
7096     Scope (_SB.TPM)
7097     {
7098         OperationRegion (TSMI, SystemIO, SMIA, 0x02)
7099         Field (TSMI, WordAcc, NoLock, Preserve)
7100         {
7101             SMI,    16
7102         }
7103 
7104         OperationRegion (ATNV, SystemMemory, PPIM, PPIL)
7105         Field (ATNV, AnyAcc, NoLock, Preserve)
7106         {
7107             RQST,   32, 
7108             RCNT,   32, 
7109             ERRO,   32, 
7110             FLAG,   32, 
7111             MISC,   32, 
7112             OPTN,   32, 
7113             SRSP,   32
7114         }
7115 
7116         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
7117         {
7118             If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */))
7119             {
7120                 Switch (ToInteger (Arg2))
7121                 {
7122                     Case (Zero)
7123                     {
7124                         Return (Buffer (0x02)
7125                         {
7126                              0xFF, 0x01                                       // ..
7127                         })
7128                     }
7129                     Case (One)
7130                     {
7131                         If ((PPIV == Zero))
7132                         {
7133                             Return ("1.2")
7134                         }
7135                         Else
7136                         {
7137                             Return ("1.3")
7138                         }
7139                     }
7140                     Case (0x02)
7141                     {
7142                         RQST = DerefOf (Arg3 [Zero])
7143                         SRSP = Zero
7144                         FLAG = 0x02
7145                         TMF1 = OFST /* \OFST */
7146                         SRSP = Zero
7147                         SMI = TMF1 /* \TMF1 */
7148                         Return (SRSP) /* \_SB_.TPM_.SRSP */
7149                     }
7150                     Case (0x03)
7151                     {
7152                         Name (PPI1, Package (0x02)
7153                         {
7154                             Zero, 
7155                             Zero
7156                         })
7157                         PPI1 [One] = RQST /* \_SB_.TPM_.RQST */
7158                         Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */
7159                     }
7160                     Case (0x04)
7161                     {
7162                         Return (TRST) /* \TRST */
7163                     }
7164                     Case (0x05)
7165                     {
7166                         Name (PPI2, Package (0x03)
7167                         {
7168                             Zero, 
7169                             Zero, 
7170                             Zero
7171                         })
7172                         SRSP = Zero
7173                         FLAG = 0x05
7174                         SMI = OFST /* \OFST */
7175                         PPI2 [One] = RCNT /* \_SB_.TPM_.RCNT */
7176                         PPI2 [0x02] = ERRO /* \_SB_.TPM_.ERRO */
7177                         Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
7178                     }
7179                     Case (0x06)
7180                     {
7181                         Return (0x03)
7182                     }
7183                     Case (0x07)
7184                     {
7185                         RQST = DerefOf (Arg3 [Zero])
7186                         FLAG = 0x07
7187                         OPTN = Zero
7188                         If ((RQST == 0x17))
7189                         {
7190                             ToInteger (DerefOf (Arg3 [One]), OPTN) /* \_SB_.TPM_.OPTN */
7191                         }
7192 
7193                         TMF1 = OFST /* \OFST */
7194                         SRSP = Zero
7195                         SMI = TMF1 /* \TMF1 */
7196                         Return (SRSP) /* \_SB_.TPM_.SRSP */
7197                     }
7198                     Case (0x08)
7199                     {
7200                         RQST = DerefOf (Arg3 [Zero])
7201                         FLAG = 0x08
7202                         TMF1 = OFST /* \OFST */
7203                         SRSP = Zero
7204                         SMI = TMF1 /* \TMF1 */
7205                         Return (SRSP) /* \_SB_.TPM_.SRSP */
7206                     }
7207                     Default
7208                     {
7209                     }
7210 
7211                 }
7212             }
7213             ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d") /* Unknown UUID */))
7214             {
7215                 Switch (ToInteger (Arg2))
7216                 {
7217                     Case (Zero)
7218                     {
7219                         Return (Buffer (One)
7220                         {
7221                              0x03                                             // .
7222                         })
7223                     }
7224                     Case (One)
7225                     {
7226                         RQST = DerefOf (Arg3 [Zero])
7227                         FLAG = 0x09
7228                         TMF1 = OFST /* \OFST */
7229                         SRSP = Zero
7230                         SMI = TMF1 /* \TMF1 */
7231                         Return (SRSP) /* \_SB_.TPM_.SRSP */
7232                     }
7233                     Default
7234                     {
7235                     }
7236 
7237                 }
7238             }
7239 
7240             If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8") /* Unknown UUID */))
7241             {
7242                 Return (CRYF (Arg1, Arg2, Arg3))
7243             }
7244 
7245             If ((Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4") /* Unknown UUID */))
7246             {
7247                 Return (STRT (Arg1, Arg2, Arg3))
7248             }
7249 
7250             Return (Buffer (One)
7251             {
7252                  0x00                                             // .
7253             })
7254         }
7255 
7256         Method (TPTS, 1, Serialized)
7257         {
7258             Switch (ToInteger (Arg0))
7259             {
7260                 Case (0x04)
7261                 {
7262                     RQST = Zero
7263                     FLAG = 0x09
7264                     SRSP = Zero
7265                     SMI = OFST /* \OFST */
7266                 }
7267                 Case (0x05)
7268                 {
7269                     RQST = Zero
7270                     FLAG = 0x09
7271                     SRSP = Zero
7272                     SMI = OFST /* \OFST */
7273                 }
7274 
7275             }
7276 
7277             Sleep (0x012C)
7278         }
7279     }
7280 
7281     Scope (_SB.PCI0)
7282     {
7283         Name (NBRI, Zero)
7284         Name (NBAR, Zero)
7285         Name (NCMD, Zero)
7286         Name (PXDC, Zero)
7287         Name (PXLC, Zero)
7288         Name (PXD2, Zero)
7289         Method (PXCR, 3, Serialized)
7290         {
7291             M460 ("PLA-ASL-_SB.PCI0.GPPX.PXCR\n", Zero, Zero, Zero, Zero, Zero, Zero)
7292             Local0 = Zero
7293             Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
7294             While ((Local1 != Zero))
7295             {
7296                 Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
7297                 If (((Local2 == Zero) || (Local2 == 0xFF)))
7298                 {
7299                     Break
7300                 }
7301 
7302                 If ((Local2 == 0x10))
7303                 {
7304                     Local0 = Local1
7305                     Break
7306                 }
7307 
7308                 Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
7309             }
7310 
7311             Return (Local0)
7312         }
7313 
7314         Method (SPCF, 1, NotSerialized)
7315         {
7316             M460 ("PLA-ASL-_SB.PCI0.GPPX.SPCF\n", Zero, Zero, Zero, Zero, Zero, Zero)
7317             Local0 = M019 (Zero, (Arg0 >> 0x10), (Arg0 & 0xFF), 
7318                 0x18)
7319             NBRI = ((Local0 & 0xFF00) >> 0x08)
7320             NCMD = M019 (NBRI, Zero, Zero, 0x04)
7321             NBAR = M019 (NBRI, Zero, Zero, 0x10)
7322             Local1 = PXCR (NBRI, Zero, Zero)
7323             PXDC = M019 (NBRI, Zero, Zero, (Local1 + 0x08))
7324             PXLC = M019 (NBRI, Zero, Zero, (Local1 + 0x10))
7325             PXD2 = M019 (NBRI, Zero, Zero, (Local1 + 0x28))
7326         }
7327 
7328         Method (RPCF, 0, NotSerialized)
7329         {
7330             M460 ("PLA-ASL-_SB.PCI0.GPPX.RPCF\n", Zero, Zero, Zero, Zero, Zero, Zero)
7331             Local1 = PXCR (NBRI, Zero, Zero)
7332             M020 (NBRI, Zero, Zero, (Local1 + 0x08), PXDC)
7333             M020 (NBRI, Zero, Zero, (Local1 + 0x10), (PXLC & 0xFFFFFEFC))
7334             M020 (NBRI, Zero, Zero, (Local1 + 0x28), PXD2)
7335             M020 (NBRI, Zero, Zero, 0x10, NBAR)
7336             M020 (NBRI, Zero, Zero, 0x04, 0x06)
7337         }
7338 
7339         Method (UPWD, 0, NotSerialized)
7340         {
7341             M460 ("PLA-ASL-_SB.PCI0.UPWD\n", Zero, Zero, Zero, Zero, Zero, Zero)
7342             OperationRegion (PSMI, SystemIO, 0xB2, 0x02)
7343             Field (PSMI, ByteAcc, NoLock, Preserve)
7344             {
7345                 SMIC,   8, 
7346                 SMID,   8
7347             }
7348 
7349             SMIC = 0xD1
7350             SMIC = 0xD8
7351         }
7352     }
7353 
7354     Scope (_SB.PCI0.GP19)
7355     {
7356         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
7357         {
7358             If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
7359             {
7360                 Switch (ToInteger (Arg2))
7361                 {
7362                     Case (Zero)
7363                     {
7364                         Return (Buffer (One)
7365                         {
7366                              0xFF                                             // .
7367                         })
7368                     }
7369                     Case (0x05)
7370                     {
7371                         Return (Zero)
7372                     }
7373                     Default
7374                     {
7375                         Return (Zero)
7376                     }
7377 
7378                 }
7379             }
7380             Else
7381             {
7382                 Return (Buffer (One)
7383                 {
7384                      0x00                                             // .
7385                 })
7386             }
7387         }
7388     }
7389 
7390     Scope (_SB.PCI0.SBRG)
7391     {
7392         Device (H_EC)
7393         {
7394             Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
7395             Name (ECFG, Zero)
7396             Name (WIBT, Zero)
7397             Name (_UID, One)  // _UID: Unique ID
7398             Name (APST, Zero)
7399             Name (NPMF, Zero)
7400             Name (_GPE, 0x05)  // _GPE: General Purpose Events
7401             Name (B1CC, Zero)
7402             Name (B2CC, Zero)
7403             Name (B2ST, Zero)
7404             Name (CFAN, Zero)
7405             Name (CMDR, Zero)
7406             Name (DOCK, Zero)
7407             Name (EJET, Zero)
7408             Name (MCAP, Zero)
7409             Name (PLMX, Zero)
7410             Name (PECH, Zero)
7411             Name (PECL, Zero)
7412             Name (PENV, Zero)
7413             Name (PINV, Zero)
7414             Name (PPSH, Zero)
7415             Name (PPSL, Zero)
7416             Name (PSTP, Zero)
7417             Name (RPWR, Zero)
7418             Name (LIDS, Zero)
7419             Name (SLPC, Zero)
7420             Name (VPWR, Zero)
7421             Name (WTMS, Zero)
7422             Name (AWT2, Zero)
7423             Name (AWT1, Zero)
7424             Name (AWT0, Zero)
7425             Name (DLED, Zero)
7426             Name (IBT1, Zero)
7427             Name (ECAV, One)
7428             Name (SPT2, Zero)
7429             Name (PB10, Zero)
7430             Name (IWCW, Zero)
7431             Name (IWCR, Zero)
7432             Name (PVOL, Zero)
7433             Name (OKEC, Zero)
7434             Name (SCRT, Zero)
7435             Method (_REG, 2, NotSerialized)  // _REG: Region Availability
7436             {
7437                 SSD1 = One
7438                 SSD2 = One
7439                 WOLE = WOLV /* \WOLV */
7440                 If ((Arg0 == 0x03))
7441                 {
7442                     OKEC = Arg1
7443                 }
7444             }
7445 
7446             Mutex (ECMT, 0x00)
7447             Mutex (Z009, 0x00)
7448             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
7449             {
7450                 Name (BFFR, ResourceTemplate ()
7451                 {
7452                     IO (Decode16,
7453                         0x0062,             // Range Minimum
7454                         0x0062,             // Range Maximum
7455                         0x00,               // Alignment
7456                         0x01,               // Length
7457                         )
7458                     IO (Decode16,
7459                         0x0066,             // Range Minimum
7460                         0x0066,             // Range Maximum
7461                         0x00,               // Alignment
7462                         0x01,               // Length
7463                         )
7464                 })
7465                 Return (BFFR) /* \_SB_.PCI0.SBRG.H_EC._CRS.BFFR */
7466             }
7467 
7468             Method (_STA, 0, NotSerialized)  // _STA: Status
7469             {
7470                 Return (0x0F)
7471             }
7472 
7473             OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
7474             Field (ECF2, ByteAcc, NoLock, Preserve)
7475             {
7476                 XXX0,   8, 
7477                 XXX1,   8, 
7478                 XXX2,   8, 
7479                 Offset (0x07), 
7480                 SHIP,   8, 
7481                 Offset (0x0C), 
7482                 ECBY,   8, 
7483                 Offset (0x11), 
7484                 KBCD,   8, 
7485                 Offset (0x20), 
7486                 RCMD,   8, 
7487                 RCST,   8, 
7488                 TESR,   8, 
7489                 Offset (0x38), 
7490                 RTSC,   8, 
7491                 Offset (0x40), 
7492                 SSD1,   4, 
7493                 SSD2,   4, 
7494                 Offset (0x4B), 
7495                 FNS1,   8, 
7496                 Offset (0x4F), 
7497                 FNS2,   8, 
7498                 Offset (0x62), 
7499                 TSR2,   8, 
7500                 TSI,    4, 
7501                 HYST,   4, 
7502                 TSHT,   8, 
7503                 TSLT,   8, 
7504                 TSSR,   8, 
7505                 CHGR,   16, 
7506                 Offset (0x6A), 
7507                 TBAT,   8, 
7508                 Offset (0x70), 
7509                 TSRC,   8, 
7510                 Offset (0x72), 
7511                 TSR1,   8, 
7512                 TSR3,   8, 
7513                 TS4H,   8, 
7514                 TS4L,   8, 
7515                 Offset (0x7C), 
7516                 PWMD,   8, 
7517                 DGTP,   8, 
7518                 RESV,   4, 
7519                 GPUS,   1, 
7520                     ,   1, 
7521                 NTTE,   1, 
7522                 Offset (0x7F), 
7523                 LSTE,   1, 
7524                 Offset (0x80), 
7525                 ECWR,   8, 
7526                 XX10,   8, 
7527                 XX11,   16, 
7528                 B1DC,   16, 
7529                 B1FV,   16, 
7530                 B1FC,   16, 
7531                 XX15,   16, 
7532                 B1ST,   8, 
7533                 B1CR,   16, 
7534                 B1RC,   16, 
7535                 B1VT,   16, 
7536                 BPCN,   8, 
7537                 Offset (0x95), 
7538                 BACC,   16, 
7539                 Offset (0xA7), 
7540                 WOLE,   1, 
7541                 BYCF,   1, 
7542                 Offset (0xA8), 
7543                 Offset (0xA9), 
7544                 AIPO,   1, 
7545                 LOPO,   1, 
7546                 Offset (0xAA), 
7547                 Offset (0xC0), 
7548                 VER1,   8, 
7549                 VER2,   8, 
7550                 RSV1,   8, 
7551                 RSV2,   8, 
7552                 CCI0,   8, 
7553                 CCI1,   8, 
7554                 CCI2,   8, 
7555                 CCI3,   8, 
7556                 CTL0,   8, 
7557                 CTL1,   8, 
7558                 CTL2,   8, 
7559                 CTL3,   8, 
7560                 CTL4,   8, 
7561                 CTL5,   8, 
7562                 CTL6,   8, 
7563                 CTL7,   8, 
7564                 MGI0,   8, 
7565                 MGI1,   8, 
7566                 MGI2,   8, 
7567                 MGI3,   8, 
7568                 MGI4,   8, 
7569                 MGI5,   8, 
7570                 MGI6,   8, 
7571                 MGI7,   8, 
7572                 MGI8,   8, 
7573                 MGI9,   8, 
7574                 MGIA,   8, 
7575                 MGIB,   8, 
7576                 MGIC,   8, 
7577                 MGID,   8, 
7578                 MGIE,   8, 
7579                 MGIF,   8, 
7580                 MGO0,   8, 
7581                 MGO1,   8, 
7582                 MGO2,   8, 
7583                 MGO3,   8, 
7584                 MGO4,   8, 
7585                 MGO5,   8, 
7586                 MGO6,   8, 
7587                 MGO7,   8, 
7588                 MGO8,   8, 
7589                 MGO9,   8, 
7590                 MGOA,   8, 
7591                 MGOB,   8, 
7592                 MGOC,   8, 
7593                 MGOD,   8, 
7594                 MGOE,   8, 
7595                 MGOF,   8, 
7596                     ,   3, 
7597                 TPCC,   1, 
7598                     ,   2, 
7599                 DRMD,   1, 
7600                 Offset (0xF1)
7601             }
7602 
7603             Method (_Q54, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
7604             {
7605             }
7606 
7607             Method (_QD5, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
7608             {
7609             }
7610 
7611             Method (_QD6, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
7612             {
7613             }
7614 
7615             Method (SECC, 1, NotSerialized)
7616             {
7617                 RCMD = Arg0
7618             }
7619 
7620             Method (ECMD, 1, Serialized)
7621             {
7622                 SECC (Arg0)
7623             }
7624 
7625             Method (ECWT, 2, Serialized)
7626             {
7627                 Local0 = Acquire (ECMT, 0x03E8)
7628                 If ((Local0 == Zero))
7629                 {
7630                     If (ECAV)
7631                     {
7632                         Arg1 = Arg0
7633                     }
7634 
7635                     Release (ECMT)
7636                 }
7637             }
7638 
7639             Method (ECRD, 1, Serialized)
7640             {
7641                 Local0 = Acquire (ECMT, 0x03E8)
7642                 If ((Local0 == Zero))
7643                 {
7644                     If (ECAV)
7645                     {
7646                         Local1 = DerefOf (Arg0)
7647                         Release (ECMT)
7648                         Return (Local1)
7649                     }
7650                     Else
7651                     {
7652                         Release (ECMT)
7653                     }
7654                 }
7655             }
7656 
7657             Name (CRMD, 0xFF)
7658             Name (WFAG, 0xFF)
7659             Name (E003, Zero)
7660             Name (E009, Zero)
7661             Method (E005, 0, Serialized)
7662             {
7663                 E002 (0x20, AAAU)
7664                 E002 (0x21, AAGU)
7665                 E002 (0x22, STLA)
7666                 E002 (0x23, STLG)
7667                 E002 (0x24, ERCF)
7668                 E002 (0x25, ERRC)
7669                 E002 (0x26, STM1)
7670                 E002 (0x27, STM2)
7671                 E002 (0x28, STM3)
7672                 E002 (0x29, STM4)
7673                 E002 (0x2A, STM5)
7674                 E002 (0x2B, STM6)
7675                 E002 (0x2C, STCA)
7676                 E002 (0x2D, STGU)
7677             }
7678 
7679             Method (E006, 0, Serialized)
7680             {
7681                 E002 (0x0B, TDCV)
7682                 E002 (0x0C, EDCV)
7683                 E002 (0x0E, TDCS)
7684                 E002 (0x11, EDCS)
7685             }
7686 
7687             Method (E002, 2, Serialized)
7688             {
7689                 If ((POWF == One))
7690                 {
7691                     Name (CSP2, Buffer (0x07){})
7692                     CreateWordField (CSP2, Zero, N464)
7693                     CreateByteField (CSP2, 0x02, N465)
7694                     CreateDWordField (CSP2, 0x03, N466)
7695                     N464 = 0x07
7696                     N465 = Arg0
7697                     N466 = Arg1
7698                     ALIB (0x0C, CSP2)
7699                     Sleep (0x0A)
7700                 }
7701             }
7702 
7703             Method (E001, 0, NotSerialized)
7704             {
7705                 Debug = "*** PmfPowerLimitNotify ***"
7706                 Debug = E003 /* \_SB_.PCI0.SBRG.H_EC.E003 */
7707                 If ((E003 & 0x10))
7708                 {
7709                     If ((E003 & 0x20))
7710                     {
7711                         Return (Zero)
7712                     }
7713                     Else
7714                     {
7715                         If ((E009 & 0x02))
7716                         {
7717                             E002 (0x13, B2SL)
7718                             E002 (0x06, B2PL)
7719                             E002 (0x07, B2WP)
7720                             E002 (0x2E, B2MP)
7721                             E003 |= 0x20
7722                             Return (Zero)
7723                         }
7724 
7725                         If ((E009 & 0x04))
7726                         {
7727                             E002 (0x13, PDSL)
7728                             E002 (0x06, PDPL)
7729                             E002 (0x07, PDWP)
7730                             E002 (0x2E, PDMP)
7731                             E003 |= 0x20
7732                             Return (Zero)
7733                         }
7734 
7735                         E002 (0x13, BPSL)
7736                         E002 (0x06, BPPL)
7737                         E002 (0x07, BPWP)
7738                         E002 (0x2E, BPMP)
7739                         E003 |= 0x20
7740                         Return (Zero)
7741                     }
7742                 }
7743 
7744                 If ((E003 & 0x08))
7745                 {
7746                     If ((E003 & One))
7747                     {
7748                         If ((ECWR & One))
7749                         {
7750                             E002 (0x13, PSPL)
7751                             E002 (0x06, PFPL)
7752                             E002 (0x07, PSWP)
7753                             E002 (0x2E, PSMP)
7754                             PWMD = 0x02
7755                         }
7756                         Else
7757                         {
7758                             E002 (0x13, ADSL)
7759                             E002 (0x06, ADPL)
7760                             E002 (0x07, ADWP)
7761                             E002 (0x2E, ADMP)
7762                             PWMD = 0x02
7763                         }
7764                     }
7765 
7766                     If ((E003 & 0x02))
7767                     {
7768                         If ((ECWR & One))
7769                         {
7770                             E002 (0x13, BSPL)
7771                             E002 (0x06, BFPL)
7772                             E002 (0x07, BSWP)
7773                             E002 (0x2E, BSMP)
7774                             PWMD = One
7775                         }
7776                         Else
7777                         {
7778                             E002 (0x13, ADSL)
7779                             E002 (0x06, ADPL)
7780                             E002 (0x07, ADWP)
7781                             E002 (0x2E, ADMP)
7782                             PWMD = One
7783                         }
7784                     }
7785 
7786                     If ((E003 & 0x04))
7787                     {
7788                         If ((ECWR & One))
7789                         {
7790                             E002 (0x13, LSPL)
7791                             E002 (0x06, LFPL)
7792                             E002 (0x07, LSWP)
7793                             E002 (0x2E, LSMP)
7794                             PWMD = Zero
7795                         }
7796                         Else
7797                         {
7798                             E002 (0x13, ADSL)
7799                             E002 (0x06, ADPL)
7800                             E002 (0x07, ADWP)
7801                             E002 (0x2E, ADMP)
7802                             PWMD = Zero
7803                         }
7804                     }
7805                 }
7806             }
7807 
7808             Method (E004, 0, NotSerialized)
7809             {
7810                 Debug = "*** NoPmfPowerLimitNotify ***"
7811                 Debug = E003 /* \_SB_.PCI0.SBRG.H_EC.E003 */
7812                 If ((POWF == One))
7813                 {
7814                     If ((E003 & 0x10))
7815                     {
7816                         If ((E009 & 0x02))
7817                         {
7818                             E002 (0x13, B2SL)
7819                             E002 (0x06, B2PL)
7820                             E002 (0x07, B2WP)
7821                             E002 (0x2E, B2MP)
7822                             E003 |= 0x20
7823                             Return (Zero)
7824                         }
7825 
7826                         If ((E009 & 0x04))
7827                         {
7828                             E002 (0x13, PDSL)
7829                             E002 (0x06, PDPL)
7830                             E002 (0x07, PDWP)
7831                             E002 (0x2E, PDMP)
7832                             E003 |= 0x20
7833                             Return (Zero)
7834                         }
7835 
7836                         E002 (0x13, BPSL)
7837                         E002 (0x06, BPPL)
7838                         E002 (0x07, BPWP)
7839                         E002 (0x2E, BPMP)
7840                         E003 |= 0x20
7841                         Return (Zero)
7842                     }
7843                 }
7844 
7845                 If ((ECWR & One))
7846                 {
7847                     E002 (0x13, PSPL)
7848                     E002 (0x06, PFPL)
7849                     E002 (0x07, PSWP)
7850                     E002 (0x2E, PSMP)
7851                 }
7852                 Else
7853                 {
7854                     P80H = 0xDC
7855                     If ((POWF == One))
7856                     {
7857                         If ((BPCN >= 0x1E))
7858                         {
7859                             E002 (0x13, ADSL)
7860                             E002 (0x06, ADPL)
7861                             E002 (0x07, ADWP)
7862                             E002 (0x2E, ADMP)
7863                         }
7864                         Else
7865                         {
7866                             E002 (0x13, LSPL)
7867                             E002 (0x06, LFPL)
7868                             E002 (0x07, LSWP)
7869                             E002 (0x2E, LSMP)
7870                         }
7871                     }
7872                 }
7873             }
7874 
7875             Method (E000, 0, NotSerialized)
7876             {
7877                 E003 &= 0x20
7878                 If (CondRefOf (\_SB.PMF))
7879                 {
7880                     NPMF = Zero
7881                     If (((CRMD == 0xFF) | (CRMD == Zero)))
7882                     {
7883                         CRMD = PRME /* \_SB_.PRME */
7884                         If ((CRMD != Zero))
7885                         {
7886                             CRMD |= 0x80
7887                         }
7888                     }
7889 
7890                     If (((CRMD != 0xFF) & (CRMD != Zero)))
7891                     {
7892                         If ((CRMD != PRME))
7893                         {
7894                             CRMD = PRME /* \_SB_.PRME */
7895                             E003 |= 0x08
7896                         }
7897 
7898                         If (((CRMD == One) || (CRMD == 0x10)))
7899                         {
7900                             E003 |= One
7901                         }
7902 
7903                         If (((CRMD == 0x02) || (CRMD == 0x20)))
7904                         {
7905                             E003 |= 0x02
7906                         }
7907 
7908                         If (((CRMD == 0x04) || (CRMD == 0x40)))
7909                         {
7910                             E003 |= 0x04
7911                         }
7912                     }
7913                     Else
7914                     {
7915                         NPMF = One
7916                     }
7917                 }
7918                 Else
7919                 {
7920                     NPMF = One
7921                 }
7922 
7923                 If ((ECWR & One))
7924                 {
7925                     If ((ECWR & 0x08))
7926                     {
7927                         E003 |= 0x10
7928                         E009 |= 0x04
7929                     }
7930                     Else
7931                     {
7932                         E003 &= 0xFFFFFFFFFFFFFFDF
7933                         E009 &= 0xFFFFFFFFFFFFFFFB
7934                         E003 |= 0x08
7935                     }
7936                 }
7937                 Else
7938                 {
7939                 }
7940 
7941                 If ((E009 & 0x03))
7942                 {
7943                     E003 |= 0x10
7944                 }
7945                 ElseIf ((E003 & 0x10)){}
7946                 Else
7947                 {
7948                     E003 &= 0xFFFFFFFFFFFFFFDF
7949                 }
7950 
7951                 Debug = "*** SyncPowerMode ***"
7952                 Debug = E003 /* \_SB_.PCI0.SBRG.H_EC.E003 */
7953             }
7954 
7955             Device (ADP1)
7956             {
7957                 Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
7958                 Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
7959                 {
7960                     _SB
7961                 })
7962                 Name (XX00, Buffer (0x03){})
7963                 Name (ACDC, 0xFF)
7964                 Method (_STA, 0, NotSerialized)  // _STA: Status
7965                 {
7966                     Return (0x0F)
7967                 }
7968 
7969                 Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
7970                 {
7971                     Local0 = One
7972                     If (!Acquire (Z009, 0x012C))
7973                     {
7974                         Local0 = (ECWR & One)
7975                         CreateWordField (XX00, Zero, SSIZ)
7976                         CreateByteField (XX00, 0x02, ACDS)
7977                         SSIZ = 0x03
7978                         E000 ()
7979                         If ((NPMF == Zero))
7980                         {
7981                             E001 ()
7982                         }
7983 
7984                         If ((Local0 != ACDC))
7985                         {
7986                             If ((NPMF != Zero))
7987                             {
7988                                 E004 ()
7989                             }
7990 
7991                             If (Local0)
7992                             {
7993                                 P80H = 0xAC
7994                                 AFN4 (One)
7995                                 ACDS = Zero
7996                             }
7997                             Else
7998                             {
7999                                 P80H = 0xDC
8000                                 AFN4 (0x02)
8001                                 ACDS = One
8002                             }
8003 
8004                             ALIB (One, XX00)
8005                             ACDC = Local0
8006                         }
8007 
8008                         If ((WFAG != One))
8009                         {
8010                             E005 ()
8011                             E006 ()
8012                             M250 (Zero, Zero, Zero, 0x19A00484, One)
8013                             M250 (Zero, Zero, Zero, 0x19A00480, 0x0300)
8014                             WFAG = One
8015                         }
8016 
8017                         Release (Z009)
8018                     }
8019 
8020                     Return (Local0)
8021                 }
8022             }
8023 
8024             Device (BAT0)
8025             {
8026                 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
8027                 Name (_UID, One)  // _UID: Unique ID
8028                 Method (_STA, 0, NotSerialized)  // _STA: Status
8029                 {
8030                     If ((ECWR & 0x02))
8031                     {
8032                         Return (0x1F)
8033                     }
8034 
8035                     Return (0x0B)
8036                 }
8037 
8038                 Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
8039                 {
8040                     If ((CMSR (0x51) == 0xB1))
8041                     {
8042                         Name (BPK1, Package (0x0D)
8043                         {
8044                             Zero, 
8045                             Ones, 
8046                             Ones, 
8047                             One, 
8048                             Ones, 
8049                             Zero, 
8050                             Zero, 
8051                             0x64, 
8052                             Zero, 
8053                             "Li-ion Real Battery", 
8054                             "123456789", 
8055                             "Lion", 
8056                             "MEDION"
8057                         })
8058                         BPK1 [One] = ((B1DC * B1FV) / 0x03E8)
8059                         BPK1 [0x02] = ((B1DC * B1FV) / 0x03E8)
8060                         If (B1FC)
8061                         {
8062                             BPK1 [0x05] = (((B1FC * B1FV) / 0x03E8
8063                                 ) / 0x0A)
8064                             BPK1 [0x06] = (((B1FC * B1FV) / 0x03E8
8065                                 ) / 0x19)
8066                             BPK1 [0x07] = (((B1DC * B1FV) / 0x03E8
8067                                 ) / 0x64)
8068                         }
8069 
8070                         Return (BPK1) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPK1 */
8071                     }
8072                     ElseIf ((CMSR (0x51) == 0xB4))
8073                     {
8074                         Name (BPK4, Package (0x0D)
8075                         {
8076                             Zero, 
8077                             Ones, 
8078                             Ones, 
8079                             One, 
8080                             Ones, 
8081                             Zero, 
8082                             Zero, 
8083                             0x64, 
8084                             Zero, 
8085                             "Li-ion Real Battery", 
8086                             "123456789", 
8087                             "Lion", 
8088                             "Wortmann_AG"
8089                         })
8090                         BPK4 [One] = ((B1DC * B1FV) / 0x03E8)
8091                         BPK4 [0x02] = ((B1DC * B1FV) / 0x03E8)
8092                         If (B1FC)
8093                         {
8094                             BPK4 [0x05] = (((B1FC * B1FV) / 0x03E8
8095                                 ) / 0x0A)
8096                             BPK4 [0x06] = (((B1FC * B1FV) / 0x03E8
8097                                 ) / 0x19)
8098                             BPK4 [0x07] = (((B1DC * B1FV) / 0x03E8
8099                                 ) / 0x64)
8100                         }
8101 
8102                         Return (BPK4) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPK4 */
8103                     }
8104                     ElseIf ((CMSR (0x51) == 0xB5))
8105                     {
8106                         Name (BPK5, Package (0x0D)
8107                         {
8108                             Zero, 
8109                             Ones, 
8110                             Ones, 
8111                             One, 
8112                             Ones, 
8113                             Zero, 
8114                             Zero, 
8115                             0x64, 
8116                             Zero, 
8117                             "Li-ion Real Battery", 
8118                             "123456789", 
8119                             "Lion", 
8120                             "extracomputer"
8121                         })
8122                         BPK5 [One] = ((B1DC * B1FV) / 0x03E8)
8123                         BPK5 [0x02] = ((B1DC * B1FV) / 0x03E8)
8124                         If (B1FC)
8125                         {
8126                             BPK5 [0x05] = (((B1FC * B1FV) / 0x03E8
8127                                 ) / 0x0A)
8128                             BPK5 [0x06] = (((B1FC * B1FV) / 0x03E8
8129                                 ) / 0x19)
8130                             BPK5 [0x07] = (((B1DC * B1FV) / 0x03E8
8131                                 ) / 0x64)
8132                         }
8133 
8134                         Return (BPK5) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPK5 */
8135                     }
8136                     ElseIf ((CMSR (0x51) == 0xB8))
8137                     {
8138                         Name (BPK8, Package (0x0D)
8139                         {
8140                             Zero, 
8141                             Ones, 
8142                             Ones, 
8143                             One, 
8144                             Ones, 
8145                             Zero, 
8146                             Zero, 
8147                             0x64, 
8148                             Zero, 
8149                             "Li-ion Real Battery", 
8150                             "123456789", 
8151                             "Lion", 
8152                             "powerinternational"
8153                         })
8154                         BPK8 [One] = ((B1DC * B1FV) / 0x03E8)
8155                         BPK8 [0x02] = ((B1DC * B1FV) / 0x03E8)
8156                         If (B1FC)
8157                         {
8158                             BPK8 [0x05] = (((B1FC * B1FV) / 0x03E8
8159                                 ) / 0x0A)
8160                             BPK8 [0x06] = (((B1FC * B1FV) / 0x03E8
8161                                 ) / 0x19)
8162                             BPK8 [0x07] = (((B1DC * B1FV) / 0x03E8
8163                                 ) / 0x64)
8164                         }
8165 
8166                         Return (BPK8) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPK8 */
8167                     }
8168                     ElseIf ((CMSR (0x51) == 0xB9))
8169                     {
8170                         Name (BPK9, Package (0x0D)
8171                         {
8172                             Zero, 
8173                             Ones, 
8174                             Ones, 
8175                             One, 
8176                             Ones, 
8177                             Zero, 
8178                             Zero, 
8179                             0x64, 
8180                             Zero, 
8181                             "Li-ion Real Battery", 
8182                             "123456789", 
8183                             "Lion", 
8184                             "olidata"
8185                         })
8186                         BPK9 [One] = ((B1DC * B1FV) / 0x03E8)
8187                         BPK9 [0x02] = ((B1DC * B1FV) / 0x03E8)
8188                         If (B1FC)
8189                         {
8190                             BPK9 [0x05] = (((B1FC * B1FV) / 0x03E8
8191                                 ) / 0x0A)
8192                             BPK9 [0x06] = (((B1FC * B1FV) / 0x03E8
8193                                 ) / 0x19)
8194                             BPK9 [0x07] = (((B1DC * B1FV) / 0x03E8
8195                                 ) / 0x64)
8196                         }
8197 
8198                         Return (BPK9) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPK9 */
8199                     }
8200                     Else
8201                     {
8202                         Name (BPKA, Package (0x0D)
8203                         {
8204                             Zero, 
8205                             Ones, 
8206                             Ones, 
8207                             One, 
8208                             Ones, 
8209                             Zero, 
8210                             Zero, 
8211                             0x64, 
8212                             Zero, 
8213                             "Li-ion Real Battery", 
8214                             "123456789", 
8215                             "Lion", 
8216                             "AMD Battery"
8217                         })
8218                         BPKA [One] = ((B1DC * B1FV) / 0x03E8)
8219                         BPKA [0x02] = ((B1DC * B1FV) / 0x03E8)
8220                         BPKA [0x08] = BACC /* \_SB_.PCI0.SBRG.H_EC.BACC */
8221                         If (B1FC)
8222                         {
8223                             BPKA [0x05] = (((B1FC * B1FV) / 0x03E8
8224                                 ) / 0x0A)
8225                             BPKA [0x06] = (((B1FC * B1FV) / 0x03E8
8226                                 ) / 0x19)
8227                             BPKA [0x07] = (((B1DC * B1FV) / 0x03E8
8228                                 ) / 0x64)
8229                         }
8230 
8231                         Return (BPKA) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BIF.BPKA */
8232                     }
8233                 }
8234 
8235                 Method (_BST, 0, NotSerialized)  // _BST: Battery Status
8236                 {
8237                     Name (PKG1, Package (0x04)
8238                     {
8239                         Ones, 
8240                         Ones, 
8241                         Ones, 
8242                         Ones
8243                     })
8244                     PKG1 [Zero] = (B1ST & 0x07)
8245                     If ((B1ST & One))
8246                     {
8247                         Local0 = (B1CR * B1FV)
8248                         Local0 = (Local0 / 0x03E8)
8249                         PKG1 [One] = Local0
8250                     }
8251                     Else
8252                     {
8253                         Local0 = (B1CR * B1FV)
8254                         Local0 = (Local0 / 0x03E8)
8255                         PKG1 [One] = Local0
8256                     }
8257 
8258                     Local1 = (B1DC * BPCN)
8259                     If (BYCF)
8260                     {
8261                         Local1 = (B1DC * 0x64)
8262                     }
8263 
8264                     Local1 = (Local1 / 0x64)
8265                     Local2 = ((Local1 * B1FV) / 0x03E8)
8266                     PKG1 [0x02] = Local2
8267                     PKG1 [0x03] = B1VT /* \_SB_.PCI0.SBRG.H_EC.B1VT */
8268                     Return (PKG1) /* \_SB_.PCI0.SBRG.H_EC.BAT0._BST.PKG1 */
8269                 }
8270 
8271                 Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
8272                 {
8273                     Return (_SB) /* \_SB_ */
8274                 }
8275             }
8276 
8277             Method (_Q06, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8278             {
8279                 Notify (^^^GP17.VGA.LCD, 0x87) // Device-Specific
8280             }
8281 
8282             Method (_Q07, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8283             {
8284                 Notify (^^^GP17.VGA.LCD, 0x86) // Device-Specific
8285             }
8286 
8287             Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8288             {
8289             }
8290 
8291             Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8292             {
8293             }
8294 
8295             Method (_Q42, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8296             {
8297             }
8298 
8299             Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8300             {
8301             }
8302 
8303             Method (_Q0A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8304             {
8305                 Sleep (0x01F4)
8306                 Notify (BAT0, 0x81) // Information Change
8307                 Sleep (0x01F4)
8308                 Notify (ADP1, 0x80) // Status Change
8309             }
8310 
8311             Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8312             {
8313                 Sleep (0x01F4)
8314                 Notify (BAT0, 0x81) // Information Change
8315                 Sleep (0x01F4)
8316                 Notify (BAT0, 0x80) // Status Change
8317             }
8318 
8319             Method (_Q0C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8320             {
8321                 LIDS = Zero
8322                 Notify (LID0, 0x80) // Status Change
8323             }
8324 
8325             Method (_Q0D, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8326             {
8327                 LIDS = One
8328                 Notify (LID0, 0x80) // Status Change
8329             }
8330 
8331             Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8332             {
8333                 NTTE = One
8334                 E009 = One
8335                 E003 &= 0xFFFFFFFFFFFFFFDF
8336                 ^ADP1._PSR ()
8337             }
8338 
8339             Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8340             {
8341                 NTTE = One
8342                 E009 = Zero
8343                 ^ADP1._PSR ()
8344             }
8345 
8346             Method (_Q20, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8347             {
8348                 ^^^^WMI.EVNT = One
8349                 Notify (WMI, 0xD0) // Hardware-Specific
8350                 CMSW (0x40, 0x20)
8351             }
8352 
8353             Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8354             {
8355                 ^^^^WMI.EVNT = 0x03
8356                 Notify (WMI, 0xD0) // Hardware-Specific
8357                 CMSW (0x40, 0x21)
8358             }
8359 
8360             Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8361             {
8362                 ^^^^WMI.EVNT = 0x04
8363                 Notify (WMI, 0xD0) // Hardware-Specific
8364                 CMSW (0x40, 0x21)
8365             }
8366 
8367             Method (_Q23, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8368             {
8369                 ^^^^WMI.EVNT = 0x07
8370                 Notify (WMI, 0xD0) // Hardware-Specific
8371                 CMSW (0x40, 0x23)
8372             }
8373 
8374             Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8375             {
8376                 ^^^^WMI.EVNT = 0x06
8377                 Notify (WMI, 0xD0) // Hardware-Specific
8378                 CMSW (0x40, 0x24)
8379             }
8380 
8381             Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8382             {
8383                 ^^^^WMI.QEKE ()
8384                 Notify (WMI, 0xD0) // Hardware-Specific
8385                 CMSW (0x40, 0x25)
8386             }
8387 
8388             Method (_Q26, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8389             {
8390                 ^^^^WMI.QEKE ()
8391                 Notify (WMI, 0xD0) // Hardware-Specific
8392                 CMSW (0x4A, 0x26)
8393             }
8394 
8395             Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8396             {
8397                 ^^^^WMI.EVNT = 0x08
8398                 Notify (WMI, 0xD0) // Hardware-Specific
8399                 CMSW (0x40, 0x27)
8400             }
8401 
8402             Method (_Q28, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8403             {
8404                 ^^^^WMI.EVNT = 0x09
8405                 Notify (WMI, 0xD0) // Hardware-Specific
8406                 CMSW (0x40, 0x28)
8407             }
8408 
8409             Method (_Q61, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
8410             {
8411                 M232 (0xC0, 0x04, 0x10)
8412                 M232 (0xC0, 0x05, 0x10)
8413                 M232 (0xC0, 0x06, 0x10)
8414                 Sleep (0x0A)
8415                 If ((SCRT != Zero))
8416                 {
8417                     SCRT--
8418                     RTSC = 0x0A
8419                 }
8420                 Else
8421                 {
8422                     RTSC = Zero
8423                 }
8424             }
8425 
8426             Name (PSEV, Package (0x02)
8427             {
8428                 Package (0x08)
8429                 {
8430                     Zero, 
8431                     One, 
8432                     0x02, 
8433                     0x03, 
8434                     0x04, 
8435                     0x05, 
8436                     0x06, 
8437                     0x08
8438                 }, 
8439 
8440                 Package (0x08)
8441                 {
8442                     Zero, 
8443                     One, 
8444                     0x02, 
8445                     0x03, 
8446                     0x04, 
8447                     0x05, 
8448                     0x07, 
8449                     0x09
8450                 }
8451             })
8452             Device (LID0)
8453             {
8454                 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
8455                 Method (_STA, 0, NotSerialized)  // _STA: Status
8456                 {
8457                     Return (0x0F)
8458                 }
8459 
8460                 Name (RHRW, Package (0x02)
8461                 {
8462                     0x16, 
8463                     0x04
8464                 })
8465                 Method (_LID, 0, NotSerialized)  // _LID: Lid Status
8466                 {
8467                     If ((ECRD (RefOf (LSTE)) == One))
8468                     {
8469                         Return (One)
8470                     }
8471                     Else
8472                     {
8473                         Return (Zero)
8474                     }
8475                 }
8476             }
8477 
8478             Device (CIND)
8479             {
8480                 Name (_HID, "INT33D3" /* Intel GPIO Buttons */)  // _HID: Hardware ID
8481                 Name (_CID, "PNP0C60" /* Display Sensor Device */)  // _CID: Compatible ID
8482                 Method (_STA, 0, Serialized)  // _STA: Status
8483                 {
8484                     Return (0x0F)
8485                 }
8486             }
8487 
8488             Device (DIND)
8489             {
8490                 Name (_HID, "INT33D4" /* Intel GPIO Buttons */)  // _HID: Hardware ID
8491                 Name (_CID, "PNP0C70" /* Dock Sensor Device */)  // _CID: Compatible ID
8492                 Method (_STA, 0, Serialized)  // _STA: Status
8493                 {
8494                     Return (Zero)
8495                 }
8496             }
8497 
8498             Method (ECNT, 1, Serialized)
8499             {
8500                 Return (Zero)
8501             }
8502         }
8503 
8504         Device (PS2K)
8505         {
8506             Name (_HID, "MSFT0001")  // _HID: Hardware ID
8507             Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
8508             Method (_STA, 0, NotSerialized)  // _STA: Status
8509             {
8510                 Return (0x0F)
8511             }
8512 
8513             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
8514             {
8515                 IO (Decode16,
8516                     0x0060,             // Range Minimum
8517                     0x0060,             // Range Maximum
8518                     0x00,               // Alignment
8519                     0x01,               // Length
8520                     )
8521                 IO (Decode16,
8522                     0x0064,             // Range Minimum
8523                     0x0064,             // Range Maximum
8524                     0x00,               // Alignment
8525                     0x01,               // Length
8526                     )
8527                 IRQNoFlags ()
8528                     {1}
8529             })
8530             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
8531             {
8532                 StartDependentFn (0x00, 0x00)
8533                 {
8534                     IO (Decode16,
8535                         0x0060,             // Range Minimum
8536                         0x0060,             // Range Maximum
8537                         0x00,               // Alignment
8538                         0x01,               // Length
8539                         )
8540                     IO (Decode16,
8541                         0x0064,             // Range Minimum
8542                         0x0064,             // Range Maximum
8543                         0x00,               // Alignment
8544                         0x01,               // Length
8545                         )
8546                     IRQNoFlags ()
8547                         {1}
8548                 }
8549                 EndDependentFn ()
8550             })
8551             Method (E007, 1, Serialized)
8552             {
8553                 Local0 = Arg0
8554                 OperationRegion (VARI, SystemIO, Local0, One)
8555                 Field (VARI, ByteAcc, NoLock, Preserve)
8556                 {
8557                     VARO,   8
8558                 }
8559 
8560                 Local1 = VARO /* \_SB_.PCI0.SBRG.PS2K.E007.VARO */
8561                 Return (Local1)
8562             }
8563 
8564             Method (E008, 2, Serialized)
8565             {
8566                 Local0 = Arg0
8567                 OperationRegion (VARI, SystemIO, Local0, One)
8568                 Field (VARI, ByteAcc, NoLock, Preserve)
8569                 {
8570                     VARO,   8
8571                 }
8572 
8573                 Local1 = Arg1
8574                 VARO = Local1
8575             }
8576         }
8577     }
8578 
8579     Device (_SB.PCI0.DOCK)
8580     {
8581         Name (_HID, "ABCD0000")  // _HID: Hardware ID
8582         Name (_CID, EisaId ("PNP0C15") /* Docking Station */)  // _CID: Compatible ID
8583         Name (_UID, 0x02)  // _UID: Unique ID
8584         Method (_STA, 0, NotSerialized)  // _STA: Status
8585         {
8586             Return (Zero)
8587         }
8588     }
8589 
8590     Scope (_SB.PCI0.GP17.XHC0)
8591     {
8592         Device (RHUB)
8593         {
8594             Name (_ADR, Zero)  // _ADR: Address
8595             Device (PRT1)
8596             {
8597                 Name (_ADR, One)  // _ADR: Address
8598                 Name (UPC1, Package (0x04)
8599                 {
8600                     Zero, 
8601                     Zero, 
8602                     Zero, 
8603                     Zero
8604                 })
8605                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8606                 {
8607                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT1._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8608                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT1.UPC1 */
8609                 }
8610 
8611                 Name (PLD1, Package (0x01)
8612                 {
8613                     Buffer (0x14)
8614                     {
8615                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8616                         /* 0008 */  0x00, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00,  // ........
8617                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8618                     }
8619                 })
8620                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8621                 {
8622                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT1_PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8623                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT1.PLD1 */
8624                 }
8625             }
8626 
8627             Device (PRT2)
8628             {
8629                 Name (_ADR, 0x02)  // _ADR: Address
8630                 Name (UPC1, Package (0x04)
8631                 {
8632                     Zero, 
8633                     Zero, 
8634                     Zero, 
8635                     Zero
8636                 })
8637                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8638                 {
8639                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT2._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8640                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT2.UPC1 */
8641                 }
8642 
8643                 Name (PLD1, Package (0x01)
8644                 {
8645                     Buffer (0x14)
8646                     {
8647                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8648                         /* 0008 */  0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,  // ........
8649                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8650                     }
8651                 })
8652                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8653                 {
8654                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT2._PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8655                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT2.PLD1 */
8656                 }
8657             }
8658 
8659             Device (PRT3)
8660             {
8661                 Name (_ADR, 0x03)  // _ADR: Address
8662                 Name (UPC1, Package (0x04)
8663                 {
8664                     0xFF, 
8665                     Zero, 
8666                     Zero, 
8667                     Zero
8668                 })
8669                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8670                 {
8671                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT3._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8672                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.UPC1 */
8673                 }
8674 
8675                 Name (PLD1, Package (0x01)
8676                 {
8677                     Buffer (0x14)
8678                     {
8679                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8680                         /* 0008 */  0x00, 0x00, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00,  // ........
8681                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8682                     }
8683                 })
8684                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8685                 {
8686                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT3._PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8687                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PLD1 */
8688                 }
8689             }
8690 
8691             Device (PRT4)
8692             {
8693                 Name (_ADR, 0x04)  // _ADR: Address
8694                 Name (UPC1, Package (0x04)
8695                 {
8696                     0xFF, 
8697                     Zero, 
8698                     Zero, 
8699                     Zero
8700                 })
8701                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8702                 {
8703                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT4._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8704                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT4.UPC1 */
8705                 }
8706 
8707                 Name (PLD1, Package (0x01)
8708                 {
8709                     Buffer (0x14)
8710                     {
8711                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8712                         /* 0008 */  0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00,  // ........
8713                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8714                     }
8715                 })
8716                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8717                 {
8718                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT4._PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8719                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT4.PLD1 */
8720                 }
8721             }
8722 
8723             Device (PRT5)
8724             {
8725                 Name (_ADR, 0x05)  // _ADR: Address
8726                 Name (UPC1, Package (0x04)
8727                 {
8728                     Zero, 
8729                     Zero, 
8730                     Zero, 
8731                     Zero
8732                 })
8733                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8734                 {
8735                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT5._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8736                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT5.UPC1 */
8737                 }
8738 
8739                 Name (PLD1, Package (0x01)
8740                 {
8741                     Buffer (0x14)
8742                     {
8743                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8744                         /* 0008 */  0x00, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00,  // ........
8745                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8746                     }
8747                 })
8748                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8749                 {
8750                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT5._PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8751                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT5.PLD1 */
8752                 }
8753             }
8754 
8755             Device (PRT6)
8756             {
8757                 Name (_ADR, 0x06)  // _ADR: Address
8758                 Name (UPC1, Package (0x04)
8759                 {
8760                     Zero, 
8761                     Zero, 
8762                     Zero, 
8763                     Zero
8764                 })
8765                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8766                 {
8767                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT6._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8768                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT6.UPC1 */
8769                 }
8770 
8771                 Name (PLD1, Package (0x01)
8772                 {
8773                     Buffer (0x14)
8774                     {
8775                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8776                         /* 0008 */  0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,  // ........
8777                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8778                     }
8779                 })
8780                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8781                 {
8782                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC0.RHUB.PRT6._PLD\n", Zero, Zero, Zero, Zero, Zero, Zero)
8783                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT6.PLD1 */
8784                 }
8785             }
8786         }
8787     }
8788 
8789     Scope (_SB.PCI0.GP17.XHC1)
8790     {
8791         Device (RHUB)
8792         {
8793             Name (_ADR, Zero)  // _ADR: Address
8794             Device (PRT1)
8795             {
8796                 Name (_ADR, One)  // _ADR: Address
8797                 Name (UPC1, Package (0x04)
8798                 {
8799                     0xFF, 
8800                     0x09, 
8801                     Zero, 
8802                     Zero
8803                 })
8804                 Name (PLD1, Package (0x01)
8805                 {
8806                     Buffer (0x14)
8807                     {
8808                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8809                         /* 0008 */  0x01, 0x00, 0x80, 0x02, 0x03, 0x00, 0x00, 0x00,  // ........
8810                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8811                     }
8812                 })
8813                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8814                 {
8815                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT1.UPC1 */
8816                 }
8817 
8818                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8819                 {
8820                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT1.PLD1 */
8821                 }
8822             }
8823 
8824             Device (PRT2)
8825             {
8826                 Name (_ADR, 0x02)  // _ADR: Address
8827                 Name (UPC1, Package (0x04)
8828                 {
8829                     0xFF, 
8830                     0x03, 
8831                     Zero, 
8832                     Zero
8833                 })
8834                 Name (PLD1, Package (0x01)
8835                 {
8836                     Buffer (0x14)
8837                     {
8838                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8839                         /* 0008 */  0x01, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,  // ........
8840                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8841                     }
8842                 })
8843                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8844                 {
8845                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT2.UPC1 */
8846                 }
8847 
8848                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8849                 {
8850                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT2.PLD1 */
8851                 }
8852             }
8853 
8854             Device (PRT3)
8855             {
8856                 Name (_ADR, 0x03)  // _ADR: Address
8857                 Name (UPC1, Package (0x04)
8858                 {
8859                     Zero, 
8860                     0xFF, 
8861                     Zero, 
8862                     Zero
8863                 })
8864                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8865                 {
8866                     M460 ("PLA-ASL-\\_SB.PCI0.GP17.XHC1.RHUB._UPC\n", Zero, Zero, Zero, Zero, Zero, Zero)
8867                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT3.UPC1 */
8868                 }
8869 
8870                 Name (PLD1, Package (0x01)
8871                 {
8872                     Buffer (0x14)
8873                     {
8874                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8875                         /* 0008 */  0x01, 0x00, 0x80, 0x03, 0x03, 0x00, 0x00, 0x00,  // ........
8876                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8877                     }
8878                 })
8879                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8880                 {
8881                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT3.PLD1 */
8882                 }
8883             }
8884 
8885             Device (PRT4)
8886             {
8887                 Name (_ADR, 0x04)  // _ADR: Address
8888                 Name (UPC1, Package (0x04)
8889                 {
8890                     0xFF, 
8891                     0x09, 
8892                     Zero, 
8893                     Zero
8894                 })
8895                 Name (PLD1, Package (0x01)
8896                 {
8897                     Buffer (0x14)
8898                     {
8899                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8900                         /* 0008 */  0x01, 0x00, 0x80, 0x02, 0x03, 0x00, 0x00, 0x00,  // ........
8901                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8902                     }
8903                 })
8904                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8905                 {
8906                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT4.UPC1 */
8907                 }
8908 
8909                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8910                 {
8911                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT4.PLD1 */
8912                 }
8913             }
8914 
8915             Device (PRT5)
8916             {
8917                 Name (_ADR, 0x05)  // _ADR: Address
8918                 Name (UPC1, Package (0x04)
8919                 {
8920                     0xFF, 
8921                     0x03, 
8922                     Zero, 
8923                     Zero
8924                 })
8925                 Name (PLD1, Package (0x01)
8926                 {
8927                     Buffer (0x14)
8928                     {
8929                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8930                         /* 0008 */  0x01, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00,  // ........
8931                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8932                     }
8933                 })
8934                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8935                 {
8936                     Return (UPC1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT5.UPC1 */
8937                 }
8938 
8939                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8940                 {
8941                     Return (PLD1) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT5.PLD1 */
8942                 }
8943             }
8944         }
8945     }
8946 
8947     Scope (_SB.PCI0.GP19.XHC2)
8948     {
8949         Device (RHUB)
8950         {
8951             Name (_ADR, Zero)  // _ADR: Address
8952             Device (PRT1)
8953             {
8954                 Name (_ADR, One)  // _ADR: Address
8955                 Name (UPC1, Package (0x04)
8956                 {
8957                     0xFF, 
8958                     Zero, 
8959                     Zero, 
8960                     Zero
8961                 })
8962                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
8963                 {
8964                     Return (UPC1) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1.UPC1 */
8965                 }
8966 
8967                 Name (PLD1, Package (0x01)
8968                 {
8969                     Buffer (0x14)
8970                     {
8971                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8972                         /* 0008 */  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // ........
8973                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
8974                     }
8975                 })
8976                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8977                 {
8978                     Return (PLD1) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1.PLD1 */
8979                 }
8980 
8981                 Device (CAM0)
8982                 {
8983                     Name (_ADR, One)  // _ADR: Address
8984                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
8985                     {
8986                         Name (PLDP, Package (0x01)
8987                         {
8988                             Buffer (0x14)
8989                             {
8990                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
8991                                 /* 0008 */  0x24, 0x1D, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // $.......
8992                                 /* 0010 */  0xE1, 0x00, 0xAF, 0x00                           // ....
8993                             }
8994                         })
8995                         Return (PLDP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1.CAM0._PLD.PLDP */
8996                     }
8997                 }
8998 
8999                 Device (CAM1)
9000                 {
9001                     Name (_ADR, 0x03)  // _ADR: Address
9002                     Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9003                     {
9004                         Name (PLDP, Package (0x01)
9005                         {
9006                             Buffer (0x14)
9007                             {
9008                                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9009                                 /* 0008 */  0x24, 0x1D, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // $.......
9010                                 /* 0010 */  0xE1, 0x00, 0xAF, 0x00                           // ....
9011                             }
9012                         })
9013                         Return (PLDP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1.CAM1._PLD.PLDP */
9014                     }
9015                 }
9016             }
9017 
9018             Device (PRT2)
9019             {
9020                 Name (_ADR, 0x02)  // _ADR: Address
9021                 Name (UPC1, Package (0x04)
9022                 {
9023                     Zero, 
9024                     Zero, 
9025                     Zero, 
9026                     Zero
9027                 })
9028                 Name (PLD1, Package (0x01)
9029                 {
9030                     Buffer (0x14)
9031                     {
9032                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9033                         /* 0008 */  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // ........
9034                         /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
9035                     }
9036                 })
9037                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9038                 {
9039                     Return (UPC1) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT2.UPC1 */
9040                 }
9041 
9042                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9043                 {
9044                     Return (PLD1) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT2.PLD1 */
9045                 }
9046             }
9047         }
9048     }
9049 
9050     Scope (_SB.PCI0.GP19.XHC3)
9051     {
9052         Device (RHUB)
9053         {
9054             Name (_ADR, Zero)  // _ADR: Address
9055             Device (PRT1)
9056             {
9057                 Name (_ADR, One)  // _ADR: Address
9058                 Name (UPC1, Package (0x04)
9059                 {
9060                     0xFF, 
9061                     0x09, 
9062                     Zero, 
9063                     Zero
9064                 })
9065                 Name (PLD1, Package (0x01)
9066                 {
9067                     Buffer (0x14)
9068                     {
9069                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9070                         /* 0008 */  0x69, 0x90, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00,  // i.......
9071                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
9072                     }
9073                 })
9074                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9075                 {
9076                     Return (UPC1) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT1.UPC1 */
9077                 }
9078 
9079                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9080                 {
9081                     Return (PLD1) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT1.PLD1 */
9082                 }
9083             }
9084 
9085             Device (PRT2)
9086             {
9087                 Name (_ADR, 0x02)  // _ADR: Address
9088                 Name (UPC2, Package (0x04)
9089                 {
9090                     0xFF, 
9091                     0x09, 
9092                     Zero, 
9093                     Zero
9094                 })
9095                 Name (PLD2, Package (0x01)
9096                 {
9097                     Buffer (0x14)
9098                     {
9099                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9100                         /* 0008 */  0x69, 0x90, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00,  // i.......
9101                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
9102                     }
9103                 })
9104                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9105                 {
9106                     Return (UPC2) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT2.UPC2 */
9107                 }
9108 
9109                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9110                 {
9111                     Return (PLD2) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT2.PLD2 */
9112                 }
9113             }
9114         }
9115     }
9116 
9117     Scope (_SB.PCI0.GP19.XHC4)
9118     {
9119         Device (RHUB)
9120         {
9121             Name (_ADR, Zero)  // _ADR: Address
9122             Device (PRT1)
9123             {
9124                 Name (_ADR, One)  // _ADR: Address
9125                 Name (UPC3, Package (0x04)
9126                 {
9127                     0xFF, 
9128                     Zero, 
9129                     Zero, 
9130                     Zero
9131                 })
9132                 Name (PLD3, Package (0x01)
9133                 {
9134                     Buffer (0x14)
9135                     {
9136                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9137                         /* 0008 */  0x69, 0x90, 0x80, 0x05, 0x01, 0x00, 0x00, 0x00,  // i.......
9138                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
9139                     }
9140                 })
9141                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9142                 {
9143                     Return (UPC3) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT1.UPC3 */
9144                 }
9145 
9146                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9147                 {
9148                     Return (PLD3) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT1.PLD3 */
9149                 }
9150             }
9151 
9152             Device (PRT2)
9153             {
9154                 Name (_ADR, 0x02)  // _ADR: Address
9155                 Name (UPC4, Package (0x04)
9156                 {
9157                     0xFF, 
9158                     0x03, 
9159                     Zero, 
9160                     Zero
9161                 })
9162                 Name (PLD4, Package (0x01)
9163                 {
9164                     Buffer (0x14)
9165                     {
9166                         /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
9167                         /* 0008 */  0x69, 0x90, 0x80, 0x05, 0x01, 0x00, 0x00, 0x00,  // i.......
9168                         /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
9169                     }
9170                 })
9171                 Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
9172                 {
9173                     Return (UPC4) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT2.UPC4 */
9174                 }
9175 
9176                 Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
9177                 {
9178                     Return (PLD4) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT2.PLD4 */
9179                 }
9180             }
9181         }
9182     }
9183 
9184     Method (TPST, 1, Serialized)
9185     {
9186         Local0 = (Arg0 + 0xB0000000)
9187         OperationRegion (VARM, SystemIO, 0x80, 0x04)
9188         Field (VARM, DWordAcc, NoLock, Preserve)
9189         {
9190             VARR,   32
9191         }
9192 
9193         VARR = Local0
9194     }
9195 
9196     Scope (_SB.PCI0.GPP2.WLAN)
9197     {
9198     }
9199 
9200     Scope (_SB.I2CA)
9201     {
9202         Device (WTP1)
9203         {
9204             Name (_ADR, Zero)  // _ADR: Address
9205             Name (_HID, "STK0001")  // _HID: Hardware ID
9206             Name (_CID, "SPBTestKMDF")  // _CID: Compatible ID
9207             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9208             {
9209                 Name (RBUF, ResourceTemplate ()
9210                 {
9211                     I2cSerialBusV2 (0x007F, ControllerInitiated, 0x000186A0,
9212                         AddressingMode7Bit, "\\_SB.I2CA",
9213                         0x00, ResourceConsumer, , Exclusive,
9214                         )
9215                 })
9216                 Return (RBUF) /* \_SB_.I2CA.WTP1._CRS.RBUF */
9217             }
9218 
9219             Method (_STA, 0, NotSerialized)  // _STA: Status
9220             {
9221                 If ((MWTT == One))
9222                 {
9223                     Return (0x0F)
9224                 }
9225                 Else
9226                 {
9227                     Return (Zero)
9228                 }
9229             }
9230         }
9231 
9232         Device (MTP1)
9233         {
9234             Name (_HID, "STK0001")  // _HID: Hardware ID
9235             Name (_CID, "WITTTest")  // _CID: Compatible ID
9236             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9237             {
9238                 Name (RBUF, ResourceTemplate ()
9239                 {
9240                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9241                         AddressingMode7Bit, "\\_SB_.I2CA",
9242                         0x00, ResourceConsumer, , Exclusive,
9243                         )
9244                 })
9245                 Return (RBUF) /* \_SB_.I2CA.MTP1._CRS.RBUF */
9246             }
9247 
9248             Method (_STA, 0, NotSerialized)  // _STA: Status
9249             {
9250                 If ((MWTT == Zero))
9251                 {
9252                     Return (0x0F)
9253                 }
9254                 Else
9255                 {
9256                     Return (Zero)
9257                 }
9258             }
9259         }
9260 
9261         Device (WTP2)
9262         {
9263             Name (_ADR, Zero)  // _ADR: Address
9264             Name (_HID, "STK0002")  // _HID: Hardware ID
9265             Name (_CID, "SPBTestKMDF")  // _CID: Compatible ID
9266             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9267             {
9268                 Name (RBUF, ResourceTemplate ()
9269                 {
9270                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9271                         AddressingMode7Bit, "\\_SB.I2CA",
9272                         0x00, ResourceConsumer, , Exclusive,
9273                         )
9274                 })
9275                 Return (RBUF) /* \_SB_.I2CA.WTP2._CRS.RBUF */
9276             }
9277 
9278             Method (_STA, 0, NotSerialized)  // _STA: Status
9279             {
9280                 If ((MWTT == One))
9281                 {
9282                     Return (0x0F)
9283                 }
9284                 Else
9285                 {
9286                     Return (Zero)
9287                 }
9288             }
9289         }
9290 
9291         Device (MTP2)
9292         {
9293             Name (_HID, "STK0002")  // _HID: Hardware ID
9294             Name (_CID, "WITTTest")  // _CID: Compatible ID
9295             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9296             {
9297                 Name (RBUF, ResourceTemplate ()
9298                 {
9299                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9300                         AddressingMode7Bit, "\\_SB_.I2CA",
9301                         0x00, ResourceConsumer, , Exclusive,
9302                         )
9303                 })
9304                 Return (RBUF) /* \_SB_.I2CA.MTP2._CRS.RBUF */
9305             }
9306 
9307             Method (_STA, 0, NotSerialized)  // _STA: Status
9308             {
9309                 If ((MWTT == Zero))
9310                 {
9311                     Return (0x0F)
9312                 }
9313                 Else
9314                 {
9315                     Return (Zero)
9316                 }
9317             }
9318         }
9319 
9320         Device (WTP3)
9321         {
9322             Name (_ADR, Zero)  // _ADR: Address
9323             Name (_HID, "STK0003")  // _HID: Hardware ID
9324             Name (_CID, "SPBTestKMDF")  // _CID: Compatible ID
9325             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9326             {
9327                 Name (RBUF, ResourceTemplate ()
9328                 {
9329                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9330                         AddressingMode7Bit, "\\_SB.I2CA",
9331                         0x00, ResourceConsumer, , Exclusive,
9332                         )
9333                 })
9334                 Return (RBUF) /* \_SB_.I2CA.WTP3._CRS.RBUF */
9335             }
9336 
9337             Method (_STA, 0, NotSerialized)  // _STA: Status
9338             {
9339                 If ((MWTT == One))
9340                 {
9341                     Return (0x0F)
9342                 }
9343                 Else
9344                 {
9345                     Return (Zero)
9346                 }
9347             }
9348         }
9349 
9350         Device (MTP3)
9351         {
9352             Name (_HID, "STK0003")  // _HID: Hardware ID
9353             Name (_CID, "WITTTest")  // _CID: Compatible ID
9354             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9355             {
9356                 Name (RBUF, ResourceTemplate ()
9357                 {
9358                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9359                         AddressingMode7Bit, "\\_SB_.I2CA",
9360                         0x00, ResourceConsumer, , Exclusive,
9361                         )
9362                 })
9363                 Return (RBUF) /* \_SB_.I2CA.MTP3._CRS.RBUF */
9364             }
9365 
9366             Method (_STA, 0, NotSerialized)  // _STA: Status
9367             {
9368                 If ((MWTT == Zero))
9369                 {
9370                     Return (0x0F)
9371                 }
9372                 Else
9373                 {
9374                     Return (Zero)
9375                 }
9376             }
9377         }
9378 
9379         Device (WTP4)
9380         {
9381             Name (_ADR, Zero)  // _ADR: Address
9382             Name (_HID, "STK0004")  // _HID: Hardware ID
9383             Name (_CID, "SPBTestKMDF")  // _CID: Compatible ID
9384             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9385             {
9386                 Name (RBUF, ResourceTemplate ()
9387                 {
9388                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9389                         AddressingMode7Bit, "\\_SB.I2CA",
9390                         0x00, ResourceConsumer, , Exclusive,
9391                         )
9392                 })
9393                 Return (RBUF) /* \_SB_.I2CA.WTP4._CRS.RBUF */
9394             }
9395 
9396             Method (_STA, 0, NotSerialized)  // _STA: Status
9397             {
9398                 If ((MWTT == One))
9399                 {
9400                     Return (0x0F)
9401                 }
9402                 Else
9403                 {
9404                     Return (Zero)
9405                 }
9406             }
9407         }
9408 
9409         Device (MTP4)
9410         {
9411             Name (_HID, "STK0004")  // _HID: Hardware ID
9412             Name (_CID, "WITTTest")  // _CID: Compatible ID
9413             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9414             {
9415                 Name (RBUF, ResourceTemplate ()
9416                 {
9417                     I2cSerialBusV2 (0x0014, ControllerInitiated, 0x000222E0,
9418                         AddressingMode7Bit, "\\_SB_.I2CA",
9419                         0x00, ResourceConsumer, , Exclusive,
9420                         )
9421                 })
9422                 Return (RBUF) /* \_SB_.I2CA.MTP4._CRS.RBUF */
9423             }
9424 
9425             Method (_STA, 0, NotSerialized)  // _STA: Status
9426             {
9427                 If ((MWTT == Zero))
9428                 {
9429                     Return (0x0F)
9430                 }
9431                 Else
9432                 {
9433                     Return (Zero)
9434                 }
9435             }
9436         }
9437 
9438         Device (MTP5)
9439         {
9440             Name (_HID, "STK0005")  // _HID: Hardware ID
9441             Name (_CID, "WITTTest")  // _CID: Compatible ID
9442             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9443             {
9444                 Name (RBUF, ResourceTemplate ()
9445                 {
9446                     I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00053020,
9447                         AddressingMode7Bit, "\\_SB_.I2CA",
9448                         0x00, ResourceConsumer, , Exclusive,
9449                         )
9450                 })
9451                 Return (RBUF) /* \_SB_.I2CA.MTP5._CRS.RBUF */
9452             }
9453 
9454             Method (_STA, 0, NotSerialized)  // _STA: Status
9455             {
9456                 If ((MWTT == Zero))
9457                 {
9458                     Return (0x0F)
9459                 }
9460                 Else
9461                 {
9462                     Return (Zero)
9463                 }
9464             }
9465         }
9466     }
9467 
9468     Scope (_SB.I2CB)
9469     {
9470         Device (WT21)
9471         {
9472             Name (_ADR, Zero)  // _ADR: Address
9473             Name (_HID, "STK00012")  // _HID: Hardware ID
9474             Name (_CID, "SPBTestKMDF2")  // _CID: Compatible ID
9475             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9476             {
9477                 Name (RBUF, ResourceTemplate ()
9478                 {
9479                     I2cSerialBusV2 (0x007F, ControllerInitiated, 0x000186A0,
9480                         AddressingMode7Bit, "\\_SB.I2CB",
9481                         0x00, ResourceConsumer, , Exclusive,
9482                         )
9483                 })
9484                 Return (RBUF) /* \_SB_.I2CB.WT21._CRS.RBUF */
9485             }
9486 
9487             Method (_STA, 0, NotSerialized)  // _STA: Status
9488             {
9489                 If ((MWTT == One))
9490                 {
9491                     Return (0x0F)
9492                 }
9493                 Else
9494                 {
9495                     Return (Zero)
9496                 }
9497             }
9498         }
9499 
9500         Device (MT21)
9501         {
9502             Name (_HID, "STK00012")  // _HID: Hardware ID
9503             Name (_CID, "WITTTest")  // _CID: Compatible ID
9504             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9505             {
9506                 Name (RBUF, ResourceTemplate ()
9507                 {
9508                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9509                         AddressingMode7Bit, "\\_SB_.I2CB",
9510                         0x00, ResourceConsumer, , Exclusive,
9511                         )
9512                 })
9513                 Return (RBUF) /* \_SB_.I2CB.MT21._CRS.RBUF */
9514             }
9515 
9516             Method (_STA, 0, NotSerialized)  // _STA: Status
9517             {
9518                 If ((MWTT == Zero))
9519                 {
9520                     Return (0x0F)
9521                 }
9522                 Else
9523                 {
9524                     Return (Zero)
9525                 }
9526             }
9527         }
9528 
9529         Device (WT22)
9530         {
9531             Name (_ADR, Zero)  // _ADR: Address
9532             Name (_HID, "STK00022")  // _HID: Hardware ID
9533             Name (_CID, "SPBTestKMDF2")  // _CID: Compatible ID
9534             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9535             {
9536                 Name (RBUF, ResourceTemplate ()
9537                 {
9538                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9539                         AddressingMode7Bit, "\\_SB.I2CB",
9540                         0x00, ResourceConsumer, , Exclusive,
9541                         )
9542                 })
9543                 Return (RBUF) /* \_SB_.I2CB.WT22._CRS.RBUF */
9544             }
9545 
9546             Method (_STA, 0, NotSerialized)  // _STA: Status
9547             {
9548                 If ((MWTT == One))
9549                 {
9550                     Return (0x0F)
9551                 }
9552                 Else
9553                 {
9554                     Return (Zero)
9555                 }
9556             }
9557         }
9558 
9559         Device (MT22)
9560         {
9561             Name (_HID, "STK00022")  // _HID: Hardware ID
9562             Name (_CID, "WITTTest")  // _CID: Compatible ID
9563             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9564             {
9565                 Name (RBUF, ResourceTemplate ()
9566                 {
9567                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9568                         AddressingMode7Bit, "\\_SB_.I2CB",
9569                         0x00, ResourceConsumer, , Exclusive,
9570                         )
9571                 })
9572                 Return (RBUF) /* \_SB_.I2CB.MT22._CRS.RBUF */
9573             }
9574 
9575             Method (_STA, 0, NotSerialized)  // _STA: Status
9576             {
9577                 If ((MWTT == Zero))
9578                 {
9579                     Return (0x0F)
9580                 }
9581                 Else
9582                 {
9583                     Return (Zero)
9584                 }
9585             }
9586         }
9587 
9588         Device (WT23)
9589         {
9590             Name (_ADR, Zero)  // _ADR: Address
9591             Name (_HID, "STK00032")  // _HID: Hardware ID
9592             Name (_CID, "SPBTestKMDF2")  // _CID: Compatible ID
9593             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9594             {
9595                 Name (RBUF, ResourceTemplate ()
9596                 {
9597                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9598                         AddressingMode7Bit, "\\_SB.I2CB",
9599                         0x00, ResourceConsumer, , Exclusive,
9600                         )
9601                 })
9602                 Return (RBUF) /* \_SB_.I2CB.WT23._CRS.RBUF */
9603             }
9604 
9605             Method (_STA, 0, NotSerialized)  // _STA: Status
9606             {
9607                 If ((MWTT == One))
9608                 {
9609                     Return (0x0F)
9610                 }
9611                 Else
9612                 {
9613                     Return (Zero)
9614                 }
9615             }
9616         }
9617 
9618         Device (MT23)
9619         {
9620             Name (_HID, "STK00032")  // _HID: Hardware ID
9621             Name (_CID, "WITTTest")  // _CID: Compatible ID
9622             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9623             {
9624                 Name (RBUF, ResourceTemplate ()
9625                 {
9626                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9627                         AddressingMode7Bit, "\\_SB_.I2CB",
9628                         0x00, ResourceConsumer, , Exclusive,
9629                         )
9630                 })
9631                 Return (RBUF) /* \_SB_.I2CB.MT23._CRS.RBUF */
9632             }
9633 
9634             Method (_STA, 0, NotSerialized)  // _STA: Status
9635             {
9636                 If ((MWTT == Zero))
9637                 {
9638                     Return (0x0F)
9639                 }
9640                 Else
9641                 {
9642                     Return (Zero)
9643                 }
9644             }
9645         }
9646 
9647         Device (WT24)
9648         {
9649             Name (_ADR, Zero)  // _ADR: Address
9650             Name (_HID, "STK00042")  // _HID: Hardware ID
9651             Name (_CID, "SPBTestKMDF2")  // _CID: Compatible ID
9652             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9653             {
9654                 Name (RBUF, ResourceTemplate ()
9655                 {
9656                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9657                         AddressingMode7Bit, "\\_SB.I2CB",
9658                         0x00, ResourceConsumer, , Exclusive,
9659                         )
9660                 })
9661                 Return (RBUF) /* \_SB_.I2CB.WT24._CRS.RBUF */
9662             }
9663 
9664             Method (_STA, 0, NotSerialized)  // _STA: Status
9665             {
9666                 If ((MWTT == One))
9667                 {
9668                     Return (0x0F)
9669                 }
9670                 Else
9671                 {
9672                     Return (Zero)
9673                 }
9674             }
9675         }
9676 
9677         Device (MT24)
9678         {
9679             Name (_HID, "STK00042")  // _HID: Hardware ID
9680             Name (_CID, "WITTTest")  // _CID: Compatible ID
9681             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9682             {
9683                 Name (RBUF, ResourceTemplate ()
9684                 {
9685                     I2cSerialBusV2 (0x0014, ControllerInitiated, 0x000222E0,
9686                         AddressingMode7Bit, "\\_SB_.I2CB",
9687                         0x00, ResourceConsumer, , Exclusive,
9688                         )
9689                 })
9690                 Return (RBUF) /* \_SB_.I2CB.MT24._CRS.RBUF */
9691             }
9692 
9693             Method (_STA, 0, NotSerialized)  // _STA: Status
9694             {
9695                 If ((MWTT == Zero))
9696                 {
9697                     Return (0x0F)
9698                 }
9699                 Else
9700                 {
9701                     Return (Zero)
9702                 }
9703             }
9704         }
9705 
9706         Device (MT25)
9707         {
9708             Name (_HID, "STK00052")  // _HID: Hardware ID
9709             Name (_CID, "WITTTest")  // _CID: Compatible ID
9710             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9711             {
9712                 Name (RBUF, ResourceTemplate ()
9713                 {
9714                     I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00053020,
9715                         AddressingMode7Bit, "\\_SB_.I2CB",
9716                         0x00, ResourceConsumer, , Exclusive,
9717                         )
9718                 })
9719                 Return (RBUF) /* \_SB_.I2CB.MT25._CRS.RBUF */
9720             }
9721 
9722             Method (_STA, 0, NotSerialized)  // _STA: Status
9723             {
9724                 If ((MWTT == Zero))
9725                 {
9726                     Return (0x0F)
9727                 }
9728                 Else
9729                 {
9730                     Return (Zero)
9731                 }
9732             }
9733         }
9734     }
9735 
9736     Scope (_SB.I2CC)
9737     {
9738         Device (WT31)
9739         {
9740             Name (_ADR, Zero)  // _ADR: Address
9741             Name (_HID, "STK00013")  // _HID: Hardware ID
9742             Name (_CID, "SPBTestKMDF3")  // _CID: Compatible ID
9743             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9744             {
9745                 Name (RBUF, ResourceTemplate ()
9746                 {
9747                     I2cSerialBusV2 (0x007F, ControllerInitiated, 0x000186A0,
9748                         AddressingMode7Bit, "\\_SB.I2CC",
9749                         0x00, ResourceConsumer, , Exclusive,
9750                         )
9751                 })
9752                 Return (RBUF) /* \_SB_.I2CC.WT31._CRS.RBUF */
9753             }
9754 
9755             Method (_STA, 0, NotSerialized)  // _STA: Status
9756             {
9757                 If ((MWTT == One))
9758                 {
9759                     Return (0x0F)
9760                 }
9761                 Else
9762                 {
9763                     Return (Zero)
9764                 }
9765             }
9766         }
9767 
9768         Device (MT31)
9769         {
9770             Name (_HID, "STK00013")  // _HID: Hardware ID
9771             Name (_CID, "WITTTest")  // _CID: Compatible ID
9772             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9773             {
9774                 Name (RBUF, ResourceTemplate ()
9775                 {
9776                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9777                         AddressingMode7Bit, "\\_SB_.I2CC",
9778                         0x00, ResourceConsumer, , Exclusive,
9779                         )
9780                 })
9781                 Return (RBUF) /* \_SB_.I2CC.MT31._CRS.RBUF */
9782             }
9783 
9784             Method (_STA, 0, NotSerialized)  // _STA: Status
9785             {
9786                 If ((MWTT == Zero))
9787                 {
9788                     Return (0x0F)
9789                 }
9790                 Else
9791                 {
9792                     Return (Zero)
9793                 }
9794             }
9795         }
9796 
9797         Device (WT32)
9798         {
9799             Name (_ADR, Zero)  // _ADR: Address
9800             Name (_HID, "STK00023")  // _HID: Hardware ID
9801             Name (_CID, "SPBTestKMDF3")  // _CID: Compatible ID
9802             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9803             {
9804                 Name (RBUF, ResourceTemplate ()
9805                 {
9806                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
9807                         AddressingMode7Bit, "\\_SB.I2CC",
9808                         0x00, ResourceConsumer, , Exclusive,
9809                         )
9810                 })
9811                 Return (RBUF) /* \_SB_.I2CC.WT32._CRS.RBUF */
9812             }
9813 
9814             Method (_STA, 0, NotSerialized)  // _STA: Status
9815             {
9816                 If ((MWTT == One))
9817                 {
9818                     Return (0x0F)
9819                 }
9820                 Else
9821                 {
9822                     Return (Zero)
9823                 }
9824             }
9825         }
9826 
9827         Device (MT32)
9828         {
9829             Name (_HID, "STK00023")  // _HID: Hardware ID
9830             Name (_CID, "WITTTest")  // _CID: Compatible ID
9831             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9832             {
9833                 Name (RBUF, ResourceTemplate ()
9834                 {
9835                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9836                         AddressingMode7Bit, "\\_SB_.I2CC",
9837                         0x00, ResourceConsumer, , Exclusive,
9838                         )
9839                 })
9840                 Return (RBUF) /* \_SB_.I2CC.MT32._CRS.RBUF */
9841             }
9842 
9843             Method (_STA, 0, NotSerialized)  // _STA: Status
9844             {
9845                 If ((MWTT == Zero))
9846                 {
9847                     Return (0x0F)
9848                 }
9849                 Else
9850                 {
9851                     Return (Zero)
9852                 }
9853             }
9854         }
9855 
9856         Device (WT33)
9857         {
9858             Name (_ADR, Zero)  // _ADR: Address
9859             Name (_HID, "STK00033")  // _HID: Hardware ID
9860             Name (_CID, "SPBTestKMDF3")  // _CID: Compatible ID
9861             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9862             {
9863                 Name (RBUF, ResourceTemplate ()
9864                 {
9865                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
9866                         AddressingMode7Bit, "\\_SB.I2CC",
9867                         0x00, ResourceConsumer, , Exclusive,
9868                         )
9869                 })
9870                 Return (RBUF) /* \_SB_.I2CC.WT33._CRS.RBUF */
9871             }
9872 
9873             Method (_STA, 0, NotSerialized)  // _STA: Status
9874             {
9875                 If ((MWTT == One))
9876                 {
9877                     Return (0x0F)
9878                 }
9879                 Else
9880                 {
9881                     Return (Zero)
9882                 }
9883             }
9884         }
9885 
9886         Device (MT33)
9887         {
9888             Name (_HID, "STK00033")  // _HID: Hardware ID
9889             Name (_CID, "WITTTest")  // _CID: Compatible ID
9890             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9891             {
9892                 Name (RBUF, ResourceTemplate ()
9893                 {
9894                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9895                         AddressingMode7Bit, "\\_SB_.I2CC",
9896                         0x00, ResourceConsumer, , Exclusive,
9897                         )
9898                 })
9899                 Return (RBUF) /* \_SB_.I2CC.MT33._CRS.RBUF */
9900             }
9901 
9902             Method (_STA, 0, NotSerialized)  // _STA: Status
9903             {
9904                 If ((MWTT == Zero))
9905                 {
9906                     Return (0x0F)
9907                 }
9908                 Else
9909                 {
9910                     Return (Zero)
9911                 }
9912             }
9913         }
9914 
9915         Device (WT34)
9916         {
9917             Name (_ADR, Zero)  // _ADR: Address
9918             Name (_HID, "STK00043")  // _HID: Hardware ID
9919             Name (_CID, "SPBTestKMDF3")  // _CID: Compatible ID
9920             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9921             {
9922                 Name (RBUF, ResourceTemplate ()
9923                 {
9924                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
9925                         AddressingMode7Bit, "\\_SB.I2CC",
9926                         0x00, ResourceConsumer, , Exclusive,
9927                         )
9928                 })
9929                 Return (RBUF) /* \_SB_.I2CC.WT34._CRS.RBUF */
9930             }
9931 
9932             Method (_STA, 0, NotSerialized)  // _STA: Status
9933             {
9934                 If ((MWTT == One))
9935                 {
9936                     Return (0x0F)
9937                 }
9938                 Else
9939                 {
9940                     Return (Zero)
9941                 }
9942             }
9943         }
9944 
9945         Device (MT34)
9946         {
9947             Name (_HID, "STK00043")  // _HID: Hardware ID
9948             Name (_CID, "WITTTest")  // _CID: Compatible ID
9949             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9950             {
9951                 Name (RBUF, ResourceTemplate ()
9952                 {
9953                     I2cSerialBusV2 (0x0014, ControllerInitiated, 0x000222E0,
9954                         AddressingMode7Bit, "\\_SB_.I2CC",
9955                         0x00, ResourceConsumer, , Exclusive,
9956                         )
9957                 })
9958                 Return (RBUF) /* \_SB_.I2CC.MT34._CRS.RBUF */
9959             }
9960 
9961             Method (_STA, 0, NotSerialized)  // _STA: Status
9962             {
9963                 If ((MWTT == Zero))
9964                 {
9965                     Return (0x0F)
9966                 }
9967                 Else
9968                 {
9969                     Return (Zero)
9970                 }
9971             }
9972         }
9973 
9974         Device (MT35)
9975         {
9976             Name (_HID, "STK00053")  // _HID: Hardware ID
9977             Name (_CID, "WITTTest")  // _CID: Compatible ID
9978             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
9979             {
9980                 Name (RBUF, ResourceTemplate ()
9981                 {
9982                     I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00053020,
9983                         AddressingMode7Bit, "\\_SB_.I2CC",
9984                         0x00, ResourceConsumer, , Exclusive,
9985                         )
9986                 })
9987                 Return (RBUF) /* \_SB_.I2CC.MT35._CRS.RBUF */
9988             }
9989 
9990             Method (_STA, 0, NotSerialized)  // _STA: Status
9991             {
9992                 If ((MWTT == Zero))
9993                 {
9994                     Return (0x0F)
9995                 }
9996                 Else
9997                 {
9998                     Return (Zero)
9999                 }
10000             }
10001         }
10002     }
10003 
10004     Scope (_SB.I2CD)
10005     {
10006         Device (WT41)
10007         {
10008             Name (_ADR, Zero)  // _ADR: Address
10009             Name (_HID, "STK00014")  // _HID: Hardware ID
10010             Name (_CID, "SPBTestKMDF4")  // _CID: Compatible ID
10011             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10012             {
10013                 Name (RBUF, ResourceTemplate ()
10014                 {
10015                     I2cSerialBusV2 (0x007F, ControllerInitiated, 0x000186A0,
10016                         AddressingMode7Bit, "\\_SB.I2CD",
10017                         0x00, ResourceConsumer, , Exclusive,
10018                         )
10019                 })
10020                 Return (RBUF) /* \_SB_.I2CD.WT41._CRS.RBUF */
10021             }
10022 
10023             Method (_STA, 0, NotSerialized)  // _STA: Status
10024             {
10025                 If ((MWTT == One))
10026                 {
10027                     Return (0x0F)
10028                 }
10029                 Else
10030                 {
10031                     Return (Zero)
10032                 }
10033             }
10034         }
10035 
10036         Device (MT41)
10037         {
10038             Name (_HID, "STK00014")  // _HID: Hardware ID
10039             Name (_CID, "WITTTest")  // _CID: Compatible ID
10040             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10041             {
10042                 Name (RBUF, ResourceTemplate ()
10043                 {
10044                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
10045                         AddressingMode7Bit, "\\_SB_.I2CD",
10046                         0x00, ResourceConsumer, , Exclusive,
10047                         )
10048                 })
10049                 Return (RBUF) /* \_SB_.I2CD.MT41._CRS.RBUF */
10050             }
10051 
10052             Method (_STA, 0, NotSerialized)  // _STA: Status
10053             {
10054                 If ((MWTT == Zero))
10055                 {
10056                     Return (0x0F)
10057                 }
10058                 Else
10059                 {
10060                     Return (Zero)
10061                 }
10062             }
10063         }
10064 
10065         Device (WT42)
10066         {
10067             Name (_ADR, Zero)  // _ADR: Address
10068             Name (_HID, "STK00024")  // _HID: Hardware ID
10069             Name (_CID, "SPBTestKMDF4")  // _CID: Compatible ID
10070             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10071             {
10072                 Name (RBUF, ResourceTemplate ()
10073                 {
10074                     I2cSerialBusV2 (0x0011, ControllerInitiated, 0x000186A0,
10075                         AddressingMode7Bit, "\\_SB.I2CD",
10076                         0x00, ResourceConsumer, , Exclusive,
10077                         )
10078                 })
10079                 Return (RBUF) /* \_SB_.I2CD.WT42._CRS.RBUF */
10080             }
10081 
10082             Method (_STA, 0, NotSerialized)  // _STA: Status
10083             {
10084                 If ((MWTT == One))
10085                 {
10086                     Return (0x0F)
10087                 }
10088                 Else
10089                 {
10090                     Return (Zero)
10091                 }
10092             }
10093         }
10094 
10095         Device (MT42)
10096         {
10097             Name (_HID, "STK00024")  // _HID: Hardware ID
10098             Name (_CID, "WITTTest")  // _CID: Compatible ID
10099             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10100             {
10101                 Name (RBUF, ResourceTemplate ()
10102                 {
10103                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
10104                         AddressingMode7Bit, "\\_SB_.I2CD",
10105                         0x00, ResourceConsumer, , Exclusive,
10106                         )
10107                 })
10108                 Return (RBUF) /* \_SB_.I2CD.MT42._CRS.RBUF */
10109             }
10110 
10111             Method (_STA, 0, NotSerialized)  // _STA: Status
10112             {
10113                 If ((MWTT == Zero))
10114                 {
10115                     Return (0x0F)
10116                 }
10117                 Else
10118                 {
10119                     Return (Zero)
10120                 }
10121             }
10122         }
10123 
10124         Device (WT43)
10125         {
10126             Name (_ADR, Zero)  // _ADR: Address
10127             Name (_HID, "STK00034")  // _HID: Hardware ID
10128             Name (_CID, "SPBTestKMDF4")  // _CID: Compatible ID
10129             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10130             {
10131                 Name (RBUF, ResourceTemplate ()
10132                 {
10133                     I2cSerialBusV2 (0x0012, ControllerInitiated, 0x00061A80,
10134                         AddressingMode7Bit, "\\_SB.I2CD",
10135                         0x00, ResourceConsumer, , Exclusive,
10136                         )
10137                 })
10138                 Return (RBUF) /* \_SB_.I2CD.WT43._CRS.RBUF */
10139             }
10140 
10141             Method (_STA, 0, NotSerialized)  // _STA: Status
10142             {
10143                 If ((MWTT == One))
10144                 {
10145                     Return (0x0F)
10146                 }
10147                 Else
10148                 {
10149                     Return (Zero)
10150                 }
10151             }
10152         }
10153 
10154         Device (MT43)
10155         {
10156             Name (_HID, "STK00034")  // _HID: Hardware ID
10157             Name (_CID, "WITTTest")  // _CID: Compatible ID
10158             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10159             {
10160                 Name (RBUF, ResourceTemplate ()
10161                 {
10162                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
10163                         AddressingMode7Bit, "\\_SB_.I2CD",
10164                         0x00, ResourceConsumer, , Exclusive,
10165                         )
10166                 })
10167                 Return (RBUF) /* \_SB_.I2CD.MT43._CRS.RBUF */
10168             }
10169 
10170             Method (_STA, 0, NotSerialized)  // _STA: Status
10171             {
10172                 If ((MWTT == Zero))
10173                 {
10174                     Return (0x0F)
10175                 }
10176                 Else
10177                 {
10178                     Return (Zero)
10179                 }
10180             }
10181         }
10182 
10183         Device (WT44)
10184         {
10185             Name (_ADR, Zero)  // _ADR: Address
10186             Name (_HID, "STK00044")  // _HID: Hardware ID
10187             Name (_CID, "SPBTestKMDF4")  // _CID: Compatible ID
10188             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10189             {
10190                 Name (RBUF, ResourceTemplate ()
10191                 {
10192                     I2cSerialBusV2 (0x0013, ControllerInitiated, 0x000F4240,
10193                         AddressingMode7Bit, "\\_SB.I2CD",
10194                         0x00, ResourceConsumer, , Exclusive,
10195                         )
10196                 })
10197                 Return (RBUF) /* \_SB_.I2CD.WT44._CRS.RBUF */
10198             }
10199 
10200             Method (_STA, 0, NotSerialized)  // _STA: Status
10201             {
10202                 If ((MWTT == One))
10203                 {
10204                     Return (0x0F)
10205                 }
10206                 Else
10207                 {
10208                     Return (Zero)
10209                 }
10210             }
10211         }
10212 
10213         Device (MT44)
10214         {
10215             Name (_HID, "STK00044")  // _HID: Hardware ID
10216             Name (_CID, "WITTTest")  // _CID: Compatible ID
10217             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10218             {
10219                 Name (RBUF, ResourceTemplate ()
10220                 {
10221                     I2cSerialBusV2 (0x0014, ControllerInitiated, 0x000222E0,
10222                         AddressingMode7Bit, "\\_SB_.I2CD",
10223                         0x00, ResourceConsumer, , Exclusive,
10224                         )
10225                 })
10226                 Return (RBUF) /* \_SB_.I2CD.MT44._CRS.RBUF */
10227             }
10228 
10229             Method (_STA, 0, NotSerialized)  // _STA: Status
10230             {
10231                 If ((MWTT == Zero))
10232                 {
10233                     Return (0x0F)
10234                 }
10235                 Else
10236                 {
10237                     Return (Zero)
10238                 }
10239             }
10240         }
10241 
10242         Device (MT45)
10243         {
10244             Name (_HID, "STK00054")  // _HID: Hardware ID
10245             Name (_CID, "WITTTest")  // _CID: Compatible ID
10246             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10247             {
10248                 Name (RBUF, ResourceTemplate ()
10249                 {
10250                     I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00053020,
10251                         AddressingMode7Bit, "\\_SB_.I2CD",
10252                         0x00, ResourceConsumer, , Exclusive,
10253                         )
10254                 })
10255                 Return (RBUF) /* \_SB_.I2CD.MT45._CRS.RBUF */
10256             }
10257 
10258             Method (_STA, 0, NotSerialized)  // _STA: Status
10259             {
10260                 If ((MWTT == Zero))
10261                 {
10262                     Return (0x0F)
10263                 }
10264                 Else
10265                 {
10266                     Return (Zero)
10267                 }
10268             }
10269         }
10270     }
10271 
10272     Scope (_SB.I2CA)
10273     {
10274         Device (NFC1)
10275         {
10276             Name (_HID, EisaId ("NXP8013"))  // _HID: Hardware ID
10277             Name (_UID, One)  // _UID: Unique ID
10278             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10279             {
10280                 Name (RBUF, ResourceTemplate ()
10281                 {
10282                     I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
10283                         AddressingMode7Bit, "\\_SB.I2CA",
10284                         0x00, ResourceConsumer, , Exclusive,
10285                         )
10286                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
10287                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10288                         )
10289                         {   // Pin list
10290                             0x005B
10291                         }
10292                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10293                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10294                         )
10295                         {   // Pin list
10296                             0x0099
10297                         }
10298                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10299                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10300                         )
10301                         {   // Pin list
10302                             0x009A
10303                         }
10304                 })
10305                 Return (RBUF) /* \_SB_.I2CA.NFC1._CRS.RBUF */
10306             }
10307 
10308             Method (_STA, 0, NotSerialized)  // _STA: Status
10309             {
10310                 If (((TPOS >= 0x60) & (NFCS == Zero)))
10311                 {
10312                     Return (0x0F)
10313                 }
10314                 Else
10315                 {
10316                     Return (Zero)
10317                 }
10318             }
10319         }
10320     }
10321 
10322     Scope (_SB.I2CB)
10323     {
10324         Device (NFC1)
10325         {
10326             Name (_HID, EisaId ("NXP8013"))  // _HID: Hardware ID
10327             Name (_UID, 0x02)  // _UID: Unique ID
10328             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10329             {
10330                 Name (RBUF, ResourceTemplate ()
10331                 {
10332                     I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
10333                         AddressingMode7Bit, "\\_SB.I2CB",
10334                         0x00, ResourceConsumer, , Exclusive,
10335                         )
10336                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
10337                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10338                         )
10339                         {   // Pin list
10340                             0x005B
10341                         }
10342                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10343                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10344                         )
10345                         {   // Pin list
10346                             0x0099
10347                         }
10348                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10349                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10350                         )
10351                         {   // Pin list
10352                             0x009A
10353                         }
10354                 })
10355                 Return (RBUF) /* \_SB_.I2CB.NFC1._CRS.RBUF */
10356             }
10357 
10358             Method (_STA, 0, NotSerialized)  // _STA: Status
10359             {
10360                 If (((TPOS >= 0x60) & (NFCS == One)))
10361                 {
10362                     Return (0x0F)
10363                 }
10364                 Else
10365                 {
10366                     Return (Zero)
10367                 }
10368             }
10369         }
10370     }
10371 
10372     Scope (_SB.I2CC)
10373     {
10374         Device (NFC1)
10375         {
10376             Name (_HID, EisaId ("NXP8013"))  // _HID: Hardware ID
10377             Name (_UID, 0x03)  // _UID: Unique ID
10378             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10379             {
10380                 Name (RBUF, ResourceTemplate ()
10381                 {
10382                     I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
10383                         AddressingMode7Bit, "\\_SB.I2CC",
10384                         0x00, ResourceConsumer, , Exclusive,
10385                         )
10386                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
10387                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10388                         )
10389                         {   // Pin list
10390                             0x005B
10391                         }
10392                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10393                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10394                         )
10395                         {   // Pin list
10396                             0x0099
10397                         }
10398                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10399                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10400                         )
10401                         {   // Pin list
10402                             0x009A
10403                         }
10404                 })
10405                 Return (RBUF) /* \_SB_.I2CC.NFC1._CRS.RBUF */
10406             }
10407 
10408             Method (_STA, 0, NotSerialized)  // _STA: Status
10409             {
10410                 If (((TPOS >= 0x60) & (NFCS == 0x02)))
10411                 {
10412                     Return (0x0F)
10413                 }
10414                 Else
10415                 {
10416                     Return (Zero)
10417                 }
10418             }
10419         }
10420     }
10421 
10422     Scope (_SB.I2CD)
10423     {
10424         Device (NFC1)
10425         {
10426             Name (_HID, EisaId ("NXP8013"))  // _HID: Hardware ID
10427             Name (_UID, 0x04)  // _UID: Unique ID
10428             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10429             {
10430                 Name (RBUF, ResourceTemplate ()
10431                 {
10432                     I2cSerialBusV2 (0x0029, ControllerInitiated, 0x00061A80,
10433                         AddressingMode7Bit, "\\_SB.I2CD",
10434                         0x00, ResourceConsumer, , Exclusive,
10435                         )
10436                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
10437                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10438                         )
10439                         {   // Pin list
10440                             0x005B
10441                         }
10442                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10443                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10444                         )
10445                         {   // Pin list
10446                             0x0099
10447                         }
10448                     GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
10449                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10450                         )
10451                         {   // Pin list
10452                             0x009A
10453                         }
10454                 })
10455                 Return (RBUF) /* \_SB_.I2CD.NFC1._CRS.RBUF */
10456             }
10457 
10458             Method (_STA, 0, NotSerialized)  // _STA: Status
10459             {
10460                 If (((TPOS >= 0x60) & (NFCS == 0x03)))
10461                 {
10462                     Return (0x0F)
10463                 }
10464                 Else
10465                 {
10466                     Return (Zero)
10467                 }
10468             }
10469         }
10470     }
10471 
10472     Scope (_SB.I2CA)
10473     {
10474         Device (TPNL)
10475         {
10476             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10477             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10478             Name (_UID, One)  // _UID: Unique ID
10479             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10480             {
10481                 Name (RBUF, ResourceTemplate ()
10482                 {
10483                     I2cSerialBusV2 (0x004A, ControllerInitiated, 0x000F4240,
10484                         AddressingMode7Bit, "\\_SB.I2CA",
10485                         0x00, ResourceConsumer, , Exclusive,
10486                         )
10487                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10488                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10489                         )
10490                         {   // Pin list
10491                             0x0020
10492                         }
10493                 })
10494                 Return (RBUF) /* \_SB_.I2CA.TPNL._CRS.RBUF */
10495             }
10496 
10497             Method (_STA, 0, NotSerialized)  // _STA: Status
10498             {
10499                 If (((TPOS >= 0x60) & (THPN == Zero)))
10500                 {
10501                     Return (0x0F)
10502                 }
10503                 Else
10504                 {
10505                     Return (Zero)
10506                 }
10507             }
10508 
10509             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
10510             {
10511                 If (Arg0){}
10512                 Else
10513                 {
10514                 }
10515             }
10516 
10517             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10518             {
10519             }
10520 
10521             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10522             {
10523             }
10524 
10525             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10526             {
10527                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
10528                 {
10529                     Switch (ToInteger (Arg2))
10530                     {
10531                         Case (Zero)
10532                         {
10533                             Switch (ToInteger (Arg1))
10534                             {
10535                                 Case (One)
10536                                 {
10537                                     Return (Buffer (One)
10538                                     {
10539                                          0x03                                             // .
10540                                     })
10541                                 }
10542                                 Default
10543                                 {
10544                                     Return (Buffer (One)
10545                                     {
10546                                          0x00                                             // .
10547                                     })
10548                                 }
10549 
10550                             }
10551                         }
10552                         Case (One)
10553                         {
10554                             Return (Zero)
10555                         }
10556                         Default
10557                         {
10558                             Return (Zero)
10559                         }
10560 
10561                     }
10562                 }
10563                 Else
10564                 {
10565                     Return (Buffer (One)
10566                     {
10567                          0x00                                             // .
10568                     })
10569                 }
10570             }
10571         }
10572 
10573         Device (ELAN)
10574         {
10575             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10576             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10577             Name (_UID, One)  // _UID: Unique ID
10578             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10579             {
10580                 Name (RBUF, ResourceTemplate ()
10581                 {
10582                     I2cSerialBusV2 (0x0010, ControllerInitiated, 0x000F4240,
10583                         AddressingMode7Bit, "\\_SB.I2CA",
10584                         0x00, ResourceConsumer, , Exclusive,
10585                         )
10586                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10587                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10588                         )
10589                         {   // Pin list
10590                             0x0020
10591                         }
10592                 })
10593                 Return (RBUF) /* \_SB_.I2CA.ELAN._CRS.RBUF */
10594             }
10595 
10596             Method (_STA, 0, NotSerialized)  // _STA: Status
10597             {
10598                 If (((TPOS >= 0x60) & (THPN == 0x10)))
10599                 {
10600                     Return (0x0F)
10601                 }
10602                 Else
10603                 {
10604                     Return (Zero)
10605                 }
10606             }
10607 
10608             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
10609             {
10610                 If (Arg0){}
10611                 Else
10612                 {
10613                 }
10614             }
10615 
10616             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10617             {
10618             }
10619 
10620             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10621             {
10622             }
10623 
10624             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10625             {
10626                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
10627                 {
10628                     Switch (ToInteger (Arg2))
10629                     {
10630                         Case (Zero)
10631                         {
10632                             Switch (ToInteger (Arg1))
10633                             {
10634                                 Case (One)
10635                                 {
10636                                     Return (Buffer (One)
10637                                     {
10638                                          0x03                                             // .
10639                                     })
10640                                 }
10641                                 Default
10642                                 {
10643                                     Return (Buffer (One)
10644                                     {
10645                                          0x00                                             // .
10646                                     })
10647                                 }
10648 
10649                             }
10650                         }
10651                         Case (One)
10652                         {
10653                             Return (One)
10654                         }
10655                         Default
10656                         {
10657                             Return (Zero)
10658                         }
10659 
10660                     }
10661                 }
10662                 Else
10663                 {
10664                     Return (Buffer (One)
10665                     {
10666                          0x00                                             // .
10667                     })
10668                 }
10669             }
10670         }
10671     }
10672 
10673     Scope (_SB.I2CB)
10674     {
10675         Device (TPNL)
10676         {
10677             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10678             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10679             Name (_UID, 0x02)  // _UID: Unique ID
10680             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10681             {
10682                 Name (RBUF, ResourceTemplate ()
10683                 {
10684                     I2cSerialBusV2 (0x004A, ControllerInitiated, 0x000F4240,
10685                         AddressingMode7Bit, "\\_SB.I2CB",
10686                         0x00, ResourceConsumer, , Exclusive,
10687                         )
10688                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10689                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10690                         )
10691                         {   // Pin list
10692                             0x0020
10693                         }
10694                 })
10695                 Return (RBUF) /* \_SB_.I2CB.TPNL._CRS.RBUF */
10696             }
10697 
10698             Method (_STA, 0, NotSerialized)  // _STA: Status
10699             {
10700                 If (((TPOS >= 0x60) & (THPN == One)))
10701                 {
10702                     Return (0x0F)
10703                 }
10704                 Else
10705                 {
10706                     Return (Zero)
10707                 }
10708             }
10709 
10710             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
10711             {
10712                 If (Arg0){}
10713                 Else
10714                 {
10715                 }
10716             }
10717 
10718             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10719             {
10720             }
10721 
10722             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10723             {
10724             }
10725 
10726             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10727             {
10728                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
10729                 {
10730                     Switch (ToInteger (Arg2))
10731                     {
10732                         Case (Zero)
10733                         {
10734                             Switch (ToInteger (Arg1))
10735                             {
10736                                 Case (One)
10737                                 {
10738                                     Return (Buffer (One)
10739                                     {
10740                                          0x03                                             // .
10741                                     })
10742                                 }
10743                                 Default
10744                                 {
10745                                     Return (Buffer (One)
10746                                     {
10747                                          0x00                                             // .
10748                                     })
10749                                 }
10750 
10751                             }
10752                         }
10753                         Case (One)
10754                         {
10755                             Return (Zero)
10756                         }
10757                         Default
10758                         {
10759                             Return (Zero)
10760                         }
10761 
10762                     }
10763                 }
10764                 Else
10765                 {
10766                     Return (Buffer (One)
10767                     {
10768                          0x00                                             // .
10769                     })
10770                 }
10771             }
10772         }
10773 
10774         Device (ELAN)
10775         {
10776             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10777             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10778             Name (_UID, One)  // _UID: Unique ID
10779             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10780             {
10781                 Name (RBUF, ResourceTemplate ()
10782                 {
10783                     I2cSerialBusV2 (0x0010, ControllerInitiated, 0x000F4240,
10784                         AddressingMode7Bit, "\\_SB.I2CB",
10785                         0x00, ResourceConsumer, , Exclusive,
10786                         )
10787                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10788                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10789                         )
10790                         {   // Pin list
10791                             0x0020
10792                         }
10793                 })
10794                 Return (RBUF) /* \_SB_.I2CB.ELAN._CRS.RBUF */
10795             }
10796 
10797             Method (_STA, 0, NotSerialized)  // _STA: Status
10798             {
10799                 If (((TPOS >= 0x60) & (THPN == 0x11)))
10800                 {
10801                     Return (0x0F)
10802                 }
10803                 Else
10804                 {
10805                     Return (Zero)
10806                 }
10807             }
10808 
10809             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
10810             {
10811                 If (Arg0){}
10812                 Else
10813                 {
10814                 }
10815             }
10816 
10817             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10818             {
10819             }
10820 
10821             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10822             {
10823             }
10824 
10825             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10826             {
10827                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
10828                 {
10829                     Switch (ToInteger (Arg2))
10830                     {
10831                         Case (Zero)
10832                         {
10833                             Switch (ToInteger (Arg1))
10834                             {
10835                                 Case (One)
10836                                 {
10837                                     Return (Buffer (One)
10838                                     {
10839                                          0x03                                             // .
10840                                     })
10841                                 }
10842                                 Default
10843                                 {
10844                                     Return (Buffer (One)
10845                                     {
10846                                          0x00                                             // .
10847                                     })
10848                                 }
10849 
10850                             }
10851                         }
10852                         Case (One)
10853                         {
10854                             Return (One)
10855                         }
10856                         Default
10857                         {
10858                             Return (Zero)
10859                         }
10860 
10861                     }
10862                 }
10863                 Else
10864                 {
10865                     Return (Buffer (One)
10866                     {
10867                          0x00                                             // .
10868                     })
10869                 }
10870             }
10871         }
10872     }
10873 
10874     Scope (_SB.I2CC)
10875     {
10876         Device (TPNL)
10877         {
10878             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10879             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10880             Name (_UID, 0x03)  // _UID: Unique ID
10881             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10882             {
10883                 Name (RBUF, ResourceTemplate ()
10884                 {
10885                     I2cSerialBusV2 (0x004A, ControllerInitiated, 0x000F4240,
10886                         AddressingMode7Bit, "\\_SB.I2CC",
10887                         0x00, ResourceConsumer, , Exclusive,
10888                         )
10889                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10890                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10891                         )
10892                         {   // Pin list
10893                             0x0020
10894                         }
10895                 })
10896                 Return (RBUF) /* \_SB_.I2CC.TPNL._CRS.RBUF */
10897             }
10898 
10899             Method (_STA, 0, NotSerialized)  // _STA: Status
10900             {
10901                 If (((TPOS >= 0x60) & (THPN == 0x02)))
10902                 {
10903                     Return (0x0F)
10904                 }
10905                 Else
10906                 {
10907                     Return (Zero)
10908                 }
10909             }
10910 
10911             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
10912             {
10913                 If (Arg0){}
10914                 Else
10915                 {
10916                 }
10917             }
10918 
10919             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
10920             {
10921             }
10922 
10923             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
10924             {
10925             }
10926 
10927             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
10928             {
10929                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
10930                 {
10931                     Switch (ToInteger (Arg2))
10932                     {
10933                         Case (Zero)
10934                         {
10935                             Switch (ToInteger (Arg1))
10936                             {
10937                                 Case (One)
10938                                 {
10939                                     Return (Buffer (One)
10940                                     {
10941                                          0x03                                             // .
10942                                     })
10943                                 }
10944                                 Default
10945                                 {
10946                                     Return (Buffer (One)
10947                                     {
10948                                          0x00                                             // .
10949                                     })
10950                                 }
10951 
10952                             }
10953                         }
10954                         Case (One)
10955                         {
10956                             Return (Zero)
10957                         }
10958                         Default
10959                         {
10960                             Return (Zero)
10961                         }
10962 
10963                     }
10964                 }
10965                 Else
10966                 {
10967                     Return (Buffer (One)
10968                     {
10969                          0x00                                             // .
10970                     })
10971                 }
10972             }
10973         }
10974 
10975         Device (ELAN)
10976         {
10977             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
10978             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
10979             Name (_UID, One)  // _UID: Unique ID
10980             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
10981             {
10982                 Name (RBUF, ResourceTemplate ()
10983                 {
10984                     I2cSerialBusV2 (0x0010, ControllerInitiated, 0x000F4240,
10985                         AddressingMode7Bit, "\\_SB.I2CC",
10986                         0x00, ResourceConsumer, , Exclusive,
10987                         )
10988                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
10989                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
10990                         )
10991                         {   // Pin list
10992                             0x0020
10993                         }
10994                 })
10995                 Return (RBUF) /* \_SB_.I2CC.ELAN._CRS.RBUF */
10996             }
10997 
10998             Method (_STA, 0, NotSerialized)  // _STA: Status
10999             {
11000                 If (((TPOS >= 0x60) & (THPN == 0x12)))
11001                 {
11002                     Return (0x0F)
11003                 }
11004                 Else
11005                 {
11006                     Return (Zero)
11007                 }
11008             }
11009 
11010             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11011             {
11012                 If (Arg0){}
11013                 Else
11014                 {
11015                 }
11016             }
11017 
11018             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11019             {
11020             }
11021 
11022             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11023             {
11024             }
11025 
11026             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11027             {
11028                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11029                 {
11030                     Switch (ToInteger (Arg2))
11031                     {
11032                         Case (Zero)
11033                         {
11034                             Switch (ToInteger (Arg1))
11035                             {
11036                                 Case (One)
11037                                 {
11038                                     Return (Buffer (One)
11039                                     {
11040                                          0x03                                             // .
11041                                     })
11042                                 }
11043                                 Default
11044                                 {
11045                                     Return (Buffer (One)
11046                                     {
11047                                          0x00                                             // .
11048                                     })
11049                                 }
11050 
11051                             }
11052                         }
11053                         Case (One)
11054                         {
11055                             Return (One)
11056                         }
11057                         Default
11058                         {
11059                             Return (Zero)
11060                         }
11061 
11062                     }
11063                 }
11064                 Else
11065                 {
11066                     Return (Buffer (One)
11067                     {
11068                          0x00                                             // .
11069                     })
11070                 }
11071             }
11072         }
11073     }
11074 
11075     Scope (_SB.I2CD)
11076     {
11077         Device (TPNL)
11078         {
11079             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11080             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11081             Name (_UID, 0x04)  // _UID: Unique ID
11082             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11083             {
11084                 Name (RBUF, ResourceTemplate ()
11085                 {
11086                     I2cSerialBusV2 (0x004A, ControllerInitiated, 0x000F4240,
11087                         AddressingMode7Bit, "\\_SB.I2CD",
11088                         0x00, ResourceConsumer, , Exclusive,
11089                         )
11090                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
11091                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11092                         )
11093                         {   // Pin list
11094                             0x0008
11095                         }
11096                 })
11097                 Return (RBUF) /* \_SB_.I2CD.TPNL._CRS.RBUF */
11098             }
11099 
11100             Method (_STA, 0, NotSerialized)  // _STA: Status
11101             {
11102                 If (((TPOS >= 0x60) & (THPN == 0x03)))
11103                 {
11104                     Return (0x0F)
11105                 }
11106                 Else
11107                 {
11108                     Return (Zero)
11109                 }
11110             }
11111 
11112             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11113             {
11114                 If (Arg0){}
11115                 Else
11116                 {
11117                 }
11118             }
11119 
11120             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11121             {
11122             }
11123 
11124             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11125             {
11126             }
11127 
11128             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11129             {
11130                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11131                 {
11132                     Switch (ToInteger (Arg2))
11133                     {
11134                         Case (Zero)
11135                         {
11136                             Switch (ToInteger (Arg1))
11137                             {
11138                                 Case (One)
11139                                 {
11140                                     Return (Buffer (One)
11141                                     {
11142                                          0x03                                             // .
11143                                     })
11144                                 }
11145                                 Default
11146                                 {
11147                                     Return (Buffer (One)
11148                                     {
11149                                          0x00                                             // .
11150                                     })
11151                                 }
11152 
11153                             }
11154                         }
11155                         Case (One)
11156                         {
11157                             Return (Zero)
11158                         }
11159                         Default
11160                         {
11161                             Return (Zero)
11162                         }
11163 
11164                     }
11165                 }
11166                 Else
11167                 {
11168                     Return (Buffer (One)
11169                     {
11170                          0x00                                             // .
11171                     })
11172                 }
11173             }
11174         }
11175 
11176         Device (ELAN)
11177         {
11178             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11179             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11180             Name (_UID, One)  // _UID: Unique ID
11181             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11182             {
11183                 Name (RBUF, ResourceTemplate ()
11184                 {
11185                     I2cSerialBusV2 (0x0010, ControllerInitiated, 0x000F4240,
11186                         AddressingMode7Bit, "\\_SB.I2CD",
11187                         0x00, ResourceConsumer, , Exclusive,
11188                         )
11189                     GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
11190                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11191                         )
11192                         {   // Pin list
11193                             0x0008
11194                         }
11195                 })
11196                 Return (RBUF) /* \_SB_.I2CD.ELAN._CRS.RBUF */
11197             }
11198 
11199             Method (_STA, 0, NotSerialized)  // _STA: Status
11200             {
11201                 If (((TPOS >= 0x60) & (THPN == 0x13)))
11202                 {
11203                     Return (0x0F)
11204                 }
11205                 Else
11206                 {
11207                     Return (Zero)
11208                 }
11209             }
11210 
11211             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11212             {
11213                 If (Arg0){}
11214                 Else
11215                 {
11216                 }
11217             }
11218 
11219             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11220             {
11221             }
11222 
11223             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11224             {
11225             }
11226 
11227             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11228             {
11229                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11230                 {
11231                     Switch (ToInteger (Arg2))
11232                     {
11233                         Case (Zero)
11234                         {
11235                             Switch (ToInteger (Arg1))
11236                             {
11237                                 Case (One)
11238                                 {
11239                                     Return (Buffer (One)
11240                                     {
11241                                          0x03                                             // .
11242                                     })
11243                                 }
11244                                 Default
11245                                 {
11246                                     Return (Buffer (One)
11247                                     {
11248                                          0x00                                             // .
11249                                     })
11250                                 }
11251 
11252                             }
11253                         }
11254                         Case (One)
11255                         {
11256                             Return (One)
11257                         }
11258                         Default
11259                         {
11260                             Return (Zero)
11261                         }
11262 
11263                     }
11264                 }
11265                 Else
11266                 {
11267                     Return (Buffer (One)
11268                     {
11269                          0x00                                             // .
11270                     })
11271                 }
11272             }
11273         }
11274     }
11275 
11276     Scope (_SB.I2CA)
11277     {
11278         Device (TPDD)
11279         {
11280             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11281             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11282             Name (_UID, 0x05)  // _UID: Unique ID
11283             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11284             {
11285                 Name (RBUF, ResourceTemplate ()
11286                 {
11287                     I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
11288                         AddressingMode7Bit, "\\_SB.I2CA",
11289                         0x00, ResourceConsumer, , Exclusive,
11290                         )
11291                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
11292                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11293                         )
11294                         {   // Pin list
11295                             0x0008
11296                         }
11297                 })
11298                 Return (RBUF) /* \_SB_.I2CA.TPDD._CRS.RBUF */
11299             }
11300 
11301             Method (_STA, 0, NotSerialized)  // _STA: Status
11302             {
11303                 If (((TPOS >= 0x60) & (THPD == Zero)))
11304                 {
11305                     Return (0x0F)
11306                 }
11307                 Else
11308                 {
11309                     Return (Zero)
11310                 }
11311             }
11312 
11313             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11314             {
11315                 If (Arg0){}
11316                 Else
11317                 {
11318                 }
11319             }
11320 
11321             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11322             {
11323             }
11324 
11325             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11326             {
11327             }
11328 
11329             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11330             {
11331                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11332                 {
11333                     Switch (ToInteger (Arg2))
11334                     {
11335                         Case (Zero)
11336                         {
11337                             Switch (ToInteger (Arg1))
11338                             {
11339                                 Case (One)
11340                                 {
11341                                     Return (Buffer (One)
11342                                     {
11343                                          0x03                                             // .
11344                                     })
11345                                 }
11346                                 Default
11347                                 {
11348                                     Return (Buffer (One)
11349                                     {
11350                                          0x00                                             // .
11351                                     })
11352                                 }
11353 
11354                             }
11355                         }
11356                         Case (One)
11357                         {
11358                             Return (0x20)
11359                         }
11360                         Default
11361                         {
11362                             Return (Zero)
11363                         }
11364 
11365                     }
11366                 }
11367                 Else
11368                 {
11369                     Return (Buffer (One)
11370                     {
11371                          0x00                                             // .
11372                     })
11373                 }
11374             }
11375         }
11376     }
11377 
11378     Scope (_SB.I2CB)
11379     {
11380         Device (TPDD)
11381         {
11382             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11383             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11384             Name (_UID, 0x06)  // _UID: Unique ID
11385             Name (TPHA, 0x20)
11386             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11387             {
11388                 Name (TPRS, ResourceTemplate ()
11389                 {
11390                     I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
11391                         AddressingMode7Bit, "\\_SB.I2CB",
11392                         0x00, ResourceConsumer, , Exclusive,
11393                         )
11394                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
11395                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11396                         )
11397                         {   // Pin list
11398                             0x0008
11399                         }
11400                 })
11401                 Return (TPRS) /* \_SB_.I2CB.TPDD._CRS.TPRS */
11402             }
11403 
11404             Method (_STA, 0, NotSerialized)  // _STA: Status
11405             {
11406                 If (((TPOS >= 0x60) & (THPD == One)))
11407                 {
11408                     Return (0x0F)
11409                 }
11410                 Else
11411                 {
11412                     Return (Zero)
11413                 }
11414             }
11415 
11416             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11417             {
11418                 If (Arg0){}
11419                 Else
11420                 {
11421                 }
11422             }
11423 
11424             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11425             {
11426             }
11427 
11428             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11429             {
11430             }
11431 
11432             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11433             {
11434                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11435                 {
11436                     Switch (ToInteger (Arg2))
11437                     {
11438                         Case (Zero)
11439                         {
11440                             Switch (ToInteger (Arg1))
11441                             {
11442                                 Case (One)
11443                                 {
11444                                     Return (Buffer (One)
11445                                     {
11446                                          0x03                                             // .
11447                                     })
11448                                 }
11449                                 Default
11450                                 {
11451                                     Return (Buffer (One)
11452                                     {
11453                                          0x00                                             // .
11454                                     })
11455                                 }
11456 
11457                             }
11458                         }
11459                         Case (One)
11460                         {
11461                             Return (TPHA) /* \_SB_.I2CB.TPDD.TPHA */
11462                         }
11463                         Default
11464                         {
11465                             Return (Zero)
11466                         }
11467 
11468                     }
11469                 }
11470                 Else
11471                 {
11472                     Return (Buffer (One)
11473                     {
11474                          0x00                                             // .
11475                     })
11476                 }
11477             }
11478         }
11479     }
11480 
11481     Scope (_SB.I2CC)
11482     {
11483         Device (TPDD)
11484         {
11485             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11486             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11487             Name (_UID, 0x07)  // _UID: Unique ID
11488             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11489             {
11490                 Name (RBUF, ResourceTemplate ()
11491                 {
11492                     I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
11493                         AddressingMode7Bit, "\\_SB.I2CC",
11494                         0x00, ResourceConsumer, , Exclusive,
11495                         )
11496                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
11497                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11498                         )
11499                         {   // Pin list
11500                             0x0008
11501                         }
11502                 })
11503                 Return (RBUF) /* \_SB_.I2CC.TPDD._CRS.RBUF */
11504             }
11505 
11506             Method (_STA, 0, NotSerialized)  // _STA: Status
11507             {
11508                 If (((TPOS >= 0x60) & (THPD == 0x02)))
11509                 {
11510                     Return (0x0F)
11511                 }
11512                 Else
11513                 {
11514                     Return (Zero)
11515                 }
11516             }
11517 
11518             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11519             {
11520                 If (Arg0){}
11521                 Else
11522                 {
11523                 }
11524             }
11525 
11526             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11527             {
11528             }
11529 
11530             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11531             {
11532             }
11533 
11534             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11535             {
11536                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11537                 {
11538                     Switch (ToInteger (Arg2))
11539                     {
11540                         Case (Zero)
11541                         {
11542                             Switch (ToInteger (Arg1))
11543                             {
11544                                 Case (One)
11545                                 {
11546                                     Return (Buffer (One)
11547                                     {
11548                                          0x03                                             // .
11549                                     })
11550                                 }
11551                                 Default
11552                                 {
11553                                     Return (Buffer (One)
11554                                     {
11555                                          0x00                                             // .
11556                                     })
11557                                 }
11558 
11559                             }
11560                         }
11561                         Case (One)
11562                         {
11563                             Return (0x20)
11564                         }
11565                         Default
11566                         {
11567                             Return (Zero)
11568                         }
11569 
11570                     }
11571                 }
11572                 Else
11573                 {
11574                     Return (Buffer (One)
11575                     {
11576                          0x00                                             // .
11577                     })
11578                 }
11579             }
11580         }
11581     }
11582 
11583     Scope (_SB.I2CD)
11584     {
11585         Device (TPDD)
11586         {
11587             Name (_HID, EisaId ("PNP0C50") /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
11588             Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
11589             Name (_UID, 0x08)  // _UID: Unique ID
11590             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
11591             {
11592                 Name (RBUF, ResourceTemplate ()
11593                 {
11594                     I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,
11595                         AddressingMode7Bit, "\\_SB.I2CD",
11596                         0x00, ResourceConsumer, , Exclusive,
11597                         )
11598                     GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
11599                         "\\_SB.GPIO", 0x00, ResourceConsumer, ,
11600                         )
11601                         {   // Pin list
11602                             0x0008
11603                         }
11604                 })
11605                 Return (RBUF) /* \_SB_.I2CD.TPDD._CRS.RBUF */
11606             }
11607 
11608             Method (_STA, 0, NotSerialized)  // _STA: Status
11609             {
11610                 If (((TPOS >= 0x60) & (THPD == 0x03)))
11611                 {
11612                     Return (0x0F)
11613                 }
11614                 Else
11615                 {
11616                     Return (Zero)
11617                 }
11618             }
11619 
11620             Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
11621             {
11622                 If (Arg0){}
11623                 Else
11624                 {
11625                 }
11626             }
11627 
11628             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
11629             {
11630             }
11631 
11632             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
11633             {
11634             }
11635 
11636             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
11637             {
11638                 If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
11639                 {
11640                     Switch (ToInteger (Arg2))
11641                     {
11642                         Case (Zero)
11643                         {
11644                             Switch (ToInteger (Arg1))
11645                             {
11646                                 Case (One)
11647                                 {
11648                                     Return (Buffer (One)
11649                                     {
11650                                          0x03                                             // .
11651                                     })
11652                                 }
11653                                 Default
11654                                 {
11655                                     Return (Buffer (One)
11656                                     {
11657                                          0x00                                             // .
11658                                     })
11659                                 }
11660 
11661                             }
11662                         }
11663                         Case (One)
11664                         {
11665                             Return (0x20)
11666                         }
11667                         Default
11668                         {
11669                             Return (Zero)
11670                         }
11671 
11672                     }
11673                 }
11674                 Else
11675                 {
11676                     Return (Buffer (One)
11677                     {
11678                          0x00                                             // .
11679                     })
11680                 }
11681             }
11682         }
11683     }
11684 
11685     Scope (_SB)
11686     {
11687         OperationRegion (DEB0, SystemIO, 0x72, 0x02)
11688         Field (DEB0, ByteAcc, NoLock, Preserve)
11689         {
11690             CMS0,   8, 
11691             CMS1,   8
11692         }
11693 
11694         Method (CMSW, 2, NotSerialized)
11695         {
11696             CMS0 = Arg0
11697             Sleep (One)
11698             CMS1 = Arg1
11699             Sleep (One)
11700         }
11701 
11702         Method (CMSR, 1, NotSerialized)
11703         {
11704             CMS0 = Arg0
11705             Sleep (One)
11706             Local0 = CMS1 /* \_SB_.CMS1 */
11707             Sleep (One)
11708             Return (Local0)
11709         }
11710 
11711         Method (CMW4, 2, NotSerialized)
11712         {
11713             Local0 = (Arg1 & 0xFF000000)
11714             Local0 >>= 0x18
11715             CMSW ((Arg0 + Zero), Local0)
11716             Local0 = (Arg1 & 0x00FF0000)
11717             Local0 >>= 0x10
11718             CMSW ((Arg0 + One), Local0)
11719             Local0 = (Arg1 & 0xFF00)
11720             Local0 >>= 0x08
11721             CMSW ((Arg0 + 0x02), Local0)
11722             Local0 = (Arg1 & 0xFF)
11723             Local0 >>= Zero
11724             CMSW ((Arg0 + 0x03), Local0)
11725         }
11726     }
11727 
11728     Scope (_SB)
11729     {
11730         OperationRegion (PRT0, SystemIO, 0x80, 0x02)
11731         Field (PRT0, WordAcc, Lock, Preserve)
11732         {
11733             P80B,   16
11734         }
11735 
11736         OperationRegion (ECDL, SystemIO, 0x62, 0x06)
11737         Field (ECDL, ByteAcc, Lock, Preserve)
11738         {
11739             ECDP,   8, 
11740             Offset (0x04), 
11741             ECCP,   8
11742         }
11743 
11744         OperationRegion (MRAM, SystemMemory, 0xFEFF0600, 0x0100)
11745         Field (MRAM, AnyAcc, NoLock, Preserve)
11746         {
11747             EPFG,   8, 
11748             ECMB,   8, 
11749             ESTS,   8, 
11750             ELEN,   8, 
11751             Offset (0x10), 
11752             EDTA,   1920
11753         }
11754 
11755         Method (DELT, 1, NotSerialized)
11756         {
11757             Local1 = Arg0
11758             While (Local1)
11759             {
11760                 Local1--
11761                 Stall (0x32)
11762             }
11763         }
11764 
11765         Method (WAEC, 0, NotSerialized)
11766         {
11767             Local3 = 0x1388
11768             While (Local3)
11769             {
11770                 If ((EPFG == Zero))
11771                 {
11772                     Break
11773                 }
11774 
11775                 Local3--
11776                 Stall (0x0A)
11777             }
11778         }
11779 
11780         Device (WMI)
11781         {
11782             Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
11783             Name (_UID, Zero)  // _UID: Unique ID
11784             Name (EVNT, Zero)
11785             Name (KBTE, Zero)
11786             Name (KBMX, Zero)
11787             Name (_WDG, Buffer (0x64)
11788             {
11789                 /* 0000 */  0xA6, 0xBA, 0xC9, 0x80, 0x48, 0xAC, 0x38, 0x45,  // ....H.8E
11790                 /* 0008 */  0x92, 0x34, 0x9F, 0x81, 0xA5, 0x5E, 0x7C, 0x85,  // .4...^|.
11791                 /* 0010 */  0x41, 0x42, 0x01, 0x02, 0xFA, 0x86, 0xA7, 0x96,  // AB......
11792                 /* 0018 */  0x0C, 0x69, 0xFB, 0x48, 0x9E, 0xB3, 0xFA, 0x9B,  // .i.H....
11793                 /* 0020 */  0xC3, 0xD9, 0x23, 0x00, 0xD0, 0x00, 0x01, 0x08,  // ..#.....
11794                 /* 0028 */  0xBB, 0xD7, 0xBE, 0xB8, 0x3D, 0x3F, 0x71, 0x4C,  // ....=?qL
11795                 /* 0030 */  0x95, 0x3D, 0x6D, 0x41, 0x72, 0xF2, 0x7A, 0x63,  // .=mAr.zc
11796                 /* 0038 */  0x42, 0x42, 0x01, 0x02, 0x99, 0x49, 0x17, 0x1F,  // BB...I..
11797                 /* 0040 */  0x4E, 0x3A, 0x11, 0x43, 0x90, 0x0D, 0x7B, 0xE7,  // N:.C..{.
11798                 /* 0048 */  0x16, 0x6D, 0x50, 0x55, 0x42, 0x53, 0x01, 0x02,  // .mPUBS..
11799                 /* 0050 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
11800                 /* 0058 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
11801                 /* 0060 */  0x4D, 0x4F, 0x01, 0x00                           // MO..
11802             })
11803             Method (WMAB, 3, Serialized)
11804             {
11805                 Debug = "WMI_AB = DEVICE CONFIGURATION ="
11806                 CreateByteField (Arg2, Zero, DTID)
11807                 CreateByteField (Arg2, 0x02, DEST)
11808                 Local0 = Buffer (0x50)
11809                     {
11810                          0x00                                             // .
11811                     }
11812                 CreateWordField (Local0, Zero, RTSC)
11813                 RTSC = 0x02
11814                 EDTA = Zero
11815                 Switch (ToInteger (Arg1))
11816                 {
11817                     Case (One)
11818                     {
11819                         Debug = "*** Set Device Status ***"
11820                         P80B = 0x41
11821                         CMSW (0x50, 0x41)
11822                         If ((DTID == One))
11823                         {
11824                             CMSW (0x55, 0x33)
11825                             EPFG = One
11826                             ECMB = 0x58
11827                             ECCP = 0xB4
11828                             WAEC ()
11829                         }
11830 
11831                         RTSC = Zero
11832                         Return (Local0)
11833                     }
11834                     Case (0x02)
11835                     {
11836                         Debug = "*** Get Device Status ***"
11837                         P80B = 0x42
11838                         CMSW (0x50, 0x42)
11839                         CreateByteField (Local0, 0x02, RTS0)
11840                         CreateByteField (Local0, 0x03, RTS1)
11841                         CreateByteField (Local0, 0x04, RTS2)
11842                         CreateByteField (Local0, 0x05, RTS3)
11843                         CreateByteField (Local0, 0x06, RTS4)
11844                         CreateByteField (Local0, 0x07, RTS5)
11845                         CreateByteField (Local0, 0x08, RTS6)
11846                         CreateByteField (Local0, 0x09, RTS7)
11847                         CreateByteField (Local0, 0x0A, RTS8)
11848                         CreateByteField (Local0, 0x0B, RTS9)
11849                         CreateByteField (Local0, 0x0C, RT10)
11850                         If ((DTID == One)){}
11851                         If ((DTID == 0x02))
11852                         {
11853                             EPFG = One
11854                             ECMB = 0x50
11855                             ECCP = 0xB4
11856                             WAEC ()
11857                             Name (ABGD, Buffer (0x0A){})
11858                             DELT (0x0FA0)
11859                             ABGD = EDTA /* \_SB_.EDTA */
11860                             RTS0 = One
11861                             RTS1 = DerefOf (ABGD [One])
11862                             RTS3 = DerefOf (ABGD [0x02])
11863                             RTS2 = DerefOf (ABGD [0x03])
11864                             KBTE = RTS1 /* \_SB_.WMI_.WMAB.RTS1 */
11865                             KBMX = RTS3 /* \_SB_.WMI_.WMAB.RTS3 */
11866                         }
11867 
11868                         If ((DTID == 0x03))
11869                         {
11870                             RTS4 = 0x0F
11871                         }
11872 
11873                         RTS5 = 0x04
11874                         RTS6 = 0x04
11875                         RTS7 = One
11876                         RTS8 = 0x03
11877                         RTS9 = 0x02
11878                         RT10 = 0x04
11879                         If ((RTS1 != One))
11880                         {
11881                             RTS3 = Zero
11882                         }
11883 
11884                         RTSC = Zero
11885                         Return (Local0)
11886                     }
11887                     Case (0x03)
11888                     {
11889                         Debug = "*** SET WHITE/ 4 ZONE KEYBOARD ***"
11890                         P80B = 0x43
11891                         CMSW (0x50, 0x43)
11892                         If ((KBTE == One))
11893                         {
11894                             Local0 = BST1 (Arg0, Arg1, Arg2)
11895                         }
11896 
11897                         If ((KBTE == 0x02))
11898                         {
11899                             Local0 = BST2 (Arg0, Arg1, Arg2)
11900                         }
11901 
11902                         If ((KBTE == 0x03))
11903                         {
11904                             Local0 = BST3 (Arg0, Arg1, Arg2)
11905                         }
11906 
11907                         Return (Local0)
11908                     }
11909                     Case (0x04)
11910                     {
11911                         Debug = "*** GET WHITE / 4 ZONE KEYBOARD LIGHTING EFFECT ***"
11912                         P80B = 0x44
11913                         CMSW (0x50, 0x44)
11914                         Local0 = Buffer (0x50)
11915                             {
11916                                  0x00                                             // .
11917                             }
11918                         CreateByteField (Local0, Zero, GK00)
11919                         CreateByteField (Local0, One, GK01)
11920                         CreateByteField (Local0, 0x02, GK02)
11921                         CreateByteField (Local0, 0x03, GK03)
11922                         CreateByteField (Local0, 0x04, GK04)
11923                         CreateByteField (Local0, 0x05, GK05)
11924                         CreateByteField (Local0, 0x06, GK06)
11925                         CreateByteField (Local0, 0x07, GK07)
11926                         CreateByteField (Local0, 0x08, GK08)
11927                         CreateByteField (Local0, 0x09, GK09)
11928                         CreateByteField (Local0, 0x0A, GK10)
11929                         CreateByteField (Local0, 0x0B, GK11)
11930                         CreateByteField (Local0, 0x0C, GK12)
11931                         CreateByteField (Local0, 0x0D, GK13)
11932                         CreateByteField (Local0, 0x0E, GK14)
11933                         CreateByteField (Local0, 0x0F, GK15)
11934                         CreateByteField (Local0, 0x10, GK16)
11935                         CreateByteField (Local0, 0x11, GK17)
11936                         CreateByteField (Local0, 0x12, GK18)
11937                         CreateByteField (Local0, 0x13, GK19)
11938                         CreateByteField (Local0, 0x14, GK20)
11939                         GK00 = 0xFF
11940                         GK01 = Zero
11941                         GK02 = Zero
11942                         GK03 = 0xFF
11943                         GK04 = 0xEA
11944                         GK05 = Zero
11945                         GK06 = Zero
11946                         GK07 = 0xFF
11947                         GK08 = 0xFF
11948                         GK09 = 0x37
11949                         GK10 = 0x73
11950                         GK11 = 0xBF
11951                         GK12 = Zero
11952                         GK13 = Zero
11953                         GK14 = Zero
11954                         GK15 = 0xC6
11955                         GK16 = Zero
11956                         GK17 = Zero
11957                         GK18 = 0xC6
11958                         GK19 = 0x05
11959                         GK20 = 0x05
11960                         Return (Local0)
11961                     }
11962                     Case (0x05)
11963                     {
11964                         Debug = "*** SET Pre Key KEYBOARD LED STATE ***"
11965                         EDTA = Zero
11966                         P80B = 0x45
11967                         CMSW (0x50, 0x45)
11968                         CreateByteField (Arg2, Zero, WP00)
11969                         CreateByteField (Arg2, One, WP01)
11970                         CreateByteField (Arg2, 0x02, WP02)
11971                         CreateByteField (Arg2, 0x03, WP03)
11972                         CreateByteField (Arg2, 0x04, WP04)
11973                         CreateByteField (Arg2, 0x05, WP05)
11974                         CreateByteField (Arg2, 0x06, WP06)
11975                         CreateByteField (Arg2, 0x07, WP07)
11976                         Name (LEBR, Buffer (0x05){})
11977                         CreateByteField (LEBR, Zero, LEB0)
11978                         CreateByteField (LEBR, One, LEB1)
11979                         CreateByteField (LEBR, 0x02, LEB2)
11980                         CreateByteField (LEBR, 0x03, LEB3)
11981                         EPFG = One
11982                         ECMB = 0x40
11983                         ELEN = 0x04
11984                         If ((WP00 == One))
11985                         {
11986                             CMSW (0x56, 0x88)
11987                             LEB0 = Zero
11988                         }
11989                         Else
11990                         {
11991                             CMSW (0x56, 0x99)
11992                             LEB0 = One
11993                         }
11994 
11995                         LEB1 = WP02 /* \_SB_.WMI_.WMAB.WP02 */
11996                         LEB2 = WP03 /* \_SB_.WMI_.WMAB.WP03 */
11997                         LEB3 = WP04 /* \_SB_.WMI_.WMAB.WP04 */
11998                         EDTA = LEBR /* \_SB_.WMI_.WMAB.LEBR */
11999                         DELT (0x03E8)
12000                         ECCP = 0xB4
12001                         WAEC ()
12002                         RTSC = Zero
12003                         Return (Local0)
12004                     }
12005                     Case (0x06)
12006                     {
12007                         Debug = "*** RESTORE PER-KEY LIGHTING EFFECT SETTING ***"
12008                         P80B = 0x46
12009                         CMSW (0x50, 0x46)
12010                         FEVT (Arg0, Arg1, Arg2)
12011                         RTSC = Zero
12012                         Return (Local0)
12013                     }
12014                     Case (0x07)
12015                     {
12016                         Debug = "*** SET HOTKEY ***"
12017                         P80B = 0x47
12018                         CMSW (0x50, 0x47)
12019                         CreateByteField (Arg2, Zero, SH00)
12020                         CreateByteField (Arg2, One, SH01)
12021                         Name (SETH, Buffer (0x08){})
12022                         CreateByteField (SETH, Zero, SE00)
12023                         CreateByteField (SETH, One, SE01)
12024                         SE00 = SH00 /* \_SB_.WMI_.WMAB.SH00 */
12025                         SE01 = SH01 /* \_SB_.WMI_.WMAB.SH01 */
12026                         EDTA = SETH /* \_SB_.WMI_.WMAB.SETH */
12027                         EPFG = One
12028                         ECMB = 0x54
12029                         ELEN = 0x02
12030                         ECCP = 0xB4
12031                         WAEC ()
12032                         RTSC = Zero
12033                         Return (Local0)
12034                     }
12035                     Case (0x08)
12036                     {
12037                         Debug = "***  GET HOTKEY ***"
12038                         P80B = 0x48
12039                         CMSW (0x50, 0x48)
12040                         Local2 = Buffer (0x0A)
12041                             {
12042                                  0x00                                             // .
12043                             }
12044                         CreateWordField (Local2, Zero, RTSD)
12045                         CreateByteField (Local2, 0x02, RTA0)
12046                         CreateByteField (Local2, 0x03, RTA1)
12047                         Name (ABG0, Buffer (0x08){})
12048                         EPFG = One
12049                         ECMB = 0x57
12050                         ELEN = 0x02
12051                         ECCP = 0xB4
12052                         WAEC ()
12053                         ABG0 = EDTA /* \_SB_.EDTA */
12054                         RTA0 = DerefOf (ABG0 [One])
12055                         RTA1 = DerefOf (ABG0 [0x02])
12056                         RTSD = Zero
12057                         Return (Local2)
12058                     }
12059                     Case (0x09)
12060                     {
12061                         Debug = "*** AP INITIALIZATION COMPLETE ***"
12062                         P80B = 0x49
12063                         CMSW (0x50, 0x49)
12064                         RTSC = Zero
12065                         Return (Local0)
12066                     }
12067                     Default
12068                     {
12069                         RTSC = Zero
12070                         Return (Local0)
12071                     }
12072 
12073                 }
12074 
12075                 Return (Zero)
12076             }
12077 
12078             Method (WMBS, 3, Serialized)
12079             {
12080                 Debug = "WMI_BS = DEVICE CONFIGURATION ="
12081                 CMSW (0x50, 0x30)
12082                 CreateByteField (Arg2, Zero, SF00)
12083                 CreateByteField (Arg2, One, SF01)
12084                 CreateByteField (Arg2, 0x02, SF02)
12085                 CreateByteField (Arg2, 0x03, SF03)
12086                 CreateByteField (Arg2, 0x04, SF04)
12087                 Local0 = Buffer (0x50)
12088                     {
12089                          0x00                                             // .
12090                     }
12091                 CreateByteField (Local0, Zero, RTSC)
12092                 CreateByteField (Local0, 0x02, SFG1)
12093                 CreateByteField (Local0, 0x03, SFG2)
12094                 CreateByteField (Local0, 0x04, SFG3)
12095                 CreateByteField (Local0, 0x05, SFG4)
12096                 CreateByteField (Local0, 0x06, SFG5)
12097                 CreateByteField (Local0, 0x07, SFG6)
12098                 CreateByteField (Local0, 0x08, SFG7)
12099                 CreateByteField (Local0, 0x09, SFG8)
12100                 CreateByteField (Local0, 0x0A, SFG9)
12101                 If ((ToInteger (Arg1) == One))
12102                 {
12103                     P80B = 0x31
12104                     CMSW (0x50, 0x31)
12105                     If ((SF00 == 0x03))
12106                     {
12107                         EPFG = One
12108                         ECMB = 0x56
12109                         ELEN = One
12110                         If ((SF04 == One))
12111                         {
12112                             EDTA = One
12113                         }
12114                         Else
12115                         {
12116                             EDTA = Zero
12117                         }
12118 
12119                         ECCP = 0xB4
12120                         WAEC ()
12121                     }
12122 
12123                     RTSC = Zero
12124                     Return (Local0)
12125                 }
12126 
12127                 If ((ToInteger (Arg1) == 0x02))
12128                 {
12129                     P80B = 0x32
12130                     CMSW (0x50, 0x32)
12131                     EPFG = One
12132                     ECMB = 0x52
12133                     ELEN = 0x04
12134                     ECCP = 0xB4
12135                     WAEC ()
12136                     Sleep (0x0A)
12137                     Name (SBF1, Buffer (0x0A){})
12138                     SBF1 = EDTA /* \_SB_.EDTA */
12139                     SFG1 = DerefOf (SBF1 [Zero])
12140                     SFG2 = DerefOf (SBF1 [One])
12141                     SFG3 = DerefOf (SBF1 [0x02])
12142                     SFG4 = DerefOf (SBF1 [0x03])
12143                     SFG5 = 0x1770
12144                     SFG6 = 0x17
12145                     SFG7 = 0x1770
12146                     SFG8 = 0x17
12147                     EPFG = One
12148                     ECMB = 0x55
12149                     ELEN = One
12150                     ECCP = 0xB4
12151                     WAEC ()
12152                     Sleep (0x0A)
12153                     Name (SBFX, Buffer (0x0A){})
12154                     SBFX = EDTA /* \_SB_.EDTA */
12155                     SFG9 = DerefOf (SBFX [Zero])
12156                     CMSW (0x49, SFG9)
12157                     RTSC = Zero
12158                     Return (Local0)
12159                 }
12160 
12161                 If ((ToInteger (Arg1) == 0x03))
12162                 {
12163                     P80B = 0x33
12164                     CMSW (0x50, 0x33)
12165                     RTSC = Zero
12166                     Return (Local0)
12167                 }
12168 
12169                 If ((ToInteger (Arg1) == 0x04))
12170                 {
12171                     P80B = 0x34
12172                     CMSW (0x50, 0x34)
12173                     SFG2 = One
12174                     Name (SBF2, Buffer (0x0A){})
12175                     EPFG = One
12176                     ECMB = 0x51
12177                     ELEN = 0x02
12178                     ECCP = 0xB4
12179                     WAEC ()
12180                     SBF2 = EDTA /* \_SB_.EDTA */
12181                     DELT (0x64)
12182                     SFG1 = DerefOf (SBF2 [Zero])
12183                     RTSC = Zero
12184                     Return (Local0)
12185                 }
12186 
12187                 If ((ToInteger (Arg1) == 0x05))
12188                 {
12189                     P80B = 0x35
12190                     CMSW (0x50, 0x35)
12191                     EVNT = 0x99
12192                     CMSW (0x57, EVNT)
12193                     RTSC = Zero
12194                     Return (Local0)
12195                 }
12196 
12197                 If ((ToInteger (Arg1) == 0x06))
12198                 {
12199                     P80B = 0x36
12200                     CMSW (0x50, 0x36)
12201                     Name (SBF3, Buffer (0x0A){})
12202                     EPFG = One
12203                     ECMB = 0x51
12204                     ELEN = 0x02
12205                     ECCP = 0xB4
12206                     WAEC ()
12207                     SBF3 = EDTA /* \_SB_.EDTA */
12208                     DELT (0x64)
12209                     SFG1 = DerefOf (SBF3 [One])
12210                     SFG2 = Zero
12211                     If ((DGMF != 0x0FFF))
12212                     {
12213                         Debug = "*** SET Max DGPU Frequency ***"
12214                         Debug = DGMF /* External reference */
12215                         SFG3 = DGMF /* External reference */
12216                         SFG4 = (DGMF >> 0x08)
12217                     }
12218                     Else
12219                     {
12220                         SFG3 = 0x09EB
12221                         SFG4 = 0x09
12222                     }
12223 
12224                     RTSC = Zero
12225                     Return (Local0)
12226                 }
12227 
12228                 If ((ToInteger (Arg1) == 0x07))
12229                 {
12230                     P80B = 0x37
12231                     CMSW (0x50, 0x37)
12232                     Name (SSMO, Zero)
12233                     SSMO = SF00 /* \_SB_.WMI_.WMBS.SF00 */
12234                     RTSC = Zero
12235                     Return (Local0)
12236                 }
12237 
12238                 Return (Zero)
12239             }
12240 
12241             Name (WQMO, Buffer (0x1010)
12242             {
12243                 /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
12244                 /* 0008 */  0x00, 0x10, 0x00, 0x00, 0x98, 0x5E, 0x00, 0x00,  // .....^..
12245                 /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
12246                 /* 0018 */  0x28, 0xDF, 0xAC, 0x00, 0x01, 0x06, 0x18, 0x42,  // (......B
12247                 /* 0020 */  0x10, 0x07, 0x10, 0x92, 0x2F, 0x81, 0x42, 0x04,  // ..../.B.
12248                 /* 0028 */  0x0A, 0x40, 0x24, 0xC1, 0x30, 0x28, 0x0D, 0x20,  // .@$.0(. 
12249                 /* 0030 */  0x92, 0x03, 0x21, 0x17, 0x4C, 0x4C, 0x80, 0x08,  // ..!.LL..
12250                 /* 0038 */  0x08, 0x79, 0x15, 0x60, 0x53, 0x80, 0x49, 0x10,  // .y.`S.I.
12251                 /* 0040 */  0xF5, 0xEF, 0x0F, 0x51, 0x12, 0x1C, 0x4A, 0x08,  // ...Q..J.
12252                 /* 0048 */  0x84, 0x24, 0x0A, 0x30, 0x2F, 0x40, 0xB7, 0x00,  // .$.0/@..
12253                 /* 0050 */  0xC3, 0x02, 0x6C, 0x0B, 0x30, 0x2D, 0xC0, 0x31,  // ..l.0-.1
12254                 /* 0058 */  0x24, 0x95, 0x06, 0x4E, 0x09, 0x2C, 0x05, 0x42,  // $..N.,.B
12255                 /* 0060 */  0x42, 0x05, 0x28, 0x17, 0xE0, 0x5B, 0x80, 0x76,  // B.(..[.v
12256                 /* 0068 */  0x44, 0x49, 0x16, 0x60, 0x19, 0x46, 0x04, 0x1E,  // DI.`.F..
12257                 /* 0070 */  0x45, 0x64, 0xA3, 0x71, 0x68, 0xEC, 0x30, 0x2C,  // Ed.qh.0,
12258                 /* 0078 */  0x13, 0x4C, 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45,  // .L.8...E
12259                 /* 0080 */  0xE0, 0x09, 0x75, 0x2A, 0x40, 0xAE, 0x00, 0x61,  // ..u*@..a
12260                 /* 0088 */  0x02, 0xC4, 0xA3, 0x0A, 0xA3, 0x41, 0x28, 0x32,  // .....A(2
12261                 /* 0090 */  0x87, 0xD0, 0x18, 0x31, 0x63, 0x22, 0xB0, 0x9D,  // ...1c"..
12262                 /* 0098 */  0x63, 0x6B, 0x14, 0xA7, 0x51, 0xB8, 0x00, 0xE9,  // ck..Q...
12263                 /* 00A0 */  0x18, 0x1A, 0xC1, 0x71, 0x25, 0x68, 0x71, 0x2C,  // ...q%hq,
12264                 /* 00A8 */  0x82, 0x0D, 0x13, 0x21, 0x5A, 0x41, 0x73, 0xA4,  // ...!ZAs.
12265                 /* 00B0 */  0x20, 0x75, 0x0A, 0xF0, 0x29, 0x40, 0x2A, 0x8A,  //  u..)@*.
12266                 /* 00B8 */  0x34, 0x42, 0xC8, 0xE1, 0x24, 0x04, 0x63, 0xA4,  // 4B..$.c.
12267                 /* 00C0 */  0x58, 0xD1, 0x02, 0xD7, 0x0A, 0x21, 0x94, 0x48,  // X....!.H
12268                 /* 00C8 */  0x09, 0x0E, 0xE8, 0x48, 0x30, 0x32, 0x20, 0xE4,  // ...H02 .
12269                 /* 00D0 */  0x59, 0x80, 0xF5, 0x21, 0x12, 0x02, 0xBB, 0x17,  // Y..!....
12270                 /* 00D8 */  0x60, 0x4E, 0x80, 0x36, 0x74, 0x79, 0x13, 0x20,  // `N.6ty. 
12271                 /* 00E0 */  0x0E, 0x44, 0x43, 0x88, 0xD2, 0x16, 0x88, 0xA0,  // .DC.....
12272                 /* 00E8 */  0x0E, 0xEC, 0x20, 0xA2, 0x1C, 0x5A, 0xAC, 0x50,  // .. ..Z.P
12273                 /* 00F0 */  0x15, 0xA2, 0x08, 0xE9, 0x1C, 0x82, 0x74, 0x86,  // ......t.
12274                 /* 00F8 */  0x22, 0x48, 0xE3, 0x84, 0x09, 0x18, 0xE7, 0xDC,  // "H......
12275                 /* 0100 */  0xA2, 0x54, 0x06, 0x22, 0xDC, 0x08, 0xED, 0x0F,  // .T."....
12276                 /* 0108 */  0x82, 0x04, 0x56, 0x70, 0x20, 0x60, 0x91, 0x46,  // ..Vp `.F
12277                 /* 0110 */  0x83, 0x3A, 0x04, 0x24, 0x78, 0x28, 0xF0, 0xB8,  // .:.$x(..
12278                 /* 0118 */  0x4E, 0xF1, 0x38, 0x8F, 0xF2, 0xA4, 0x83, 0x9C,  // N.8.....
12279                 /* 0120 */  0xE8, 0xA1, 0x9E, 0xD7, 0xD3, 0x80, 0xC7, 0xCD,  // ........
12280                 /* 0128 */  0xB0, 0x9E, 0x12, 0xD8, 0xF1, 0x00, 0xEF, 0x1A,  // ........
12281                 /* 0130 */  0x50, 0xF7, 0x82, 0x04, 0xFF, 0xFF, 0xA7, 0x02,  // P.......
12282                 /* 0138 */  0xCF, 0x32, 0x1C, 0x66, 0x88, 0x9E, 0x72, 0xB8,  // .2.f..r.
12283                 /* 0140 */  0x13, 0x38, 0x44, 0x06, 0xE8, 0x11, 0x3D, 0x10,  // .8D...=.
12284                 /* 0148 */  0x60, 0x27, 0x76, 0x32, 0x87, 0x7E, 0xC2, 0x7F,  // `'v2.~..
12285                 /* 0150 */  0x0F, 0x4F, 0x06, 0xE7, 0x97, 0xE0, 0x78, 0x7C,  // .O....x|
12286                 /* 0158 */  0x0C, 0xF0, 0x7C, 0x4E, 0x38, 0x81, 0xE5, 0x0F,  // ..|N8...
12287                 /* 0160 */  0x02, 0x35, 0x32, 0x43, 0x7B, 0x9C, 0xA7, 0xF5,  // .52C{...
12288                 /* 0168 */  0x36, 0xE0, 0x43, 0xC2, 0x61, 0x31, 0xB1, 0x10,  // 6.C.a1..
12289                 /* 0170 */  0xDA, 0xA4, 0xC6, 0x03, 0x04, 0x14, 0x9F, 0x0F,  // ........
12290                 /* 0178 */  0xC8, 0x95, 0xC1, 0xF3, 0x35, 0xC1, 0xD0, 0x10,  // ....5...
12291                 /* 0180 */  0x32, 0xB2, 0x0A, 0x8F, 0x87, 0x9E, 0x17, 0x0C,  // 2.......
12292                 /* 0188 */  0x7A, 0x36, 0xC6, 0x3B, 0xA0, 0x37, 0x06, 0x0F,  // z6.;.7..
12293                 /* 0190 */  0xDD, 0x43, 0x7A, 0x3E, 0x70, 0x3C, 0x08, 0xFD,  // .Cz>p<..
12294                 /* 0198 */  0x33, 0x2C, 0x6A, 0xE4, 0xF4, 0x54, 0xC1, 0x0F,  // 3,j..T..
12295                 /* 01A0 */  0x14, 0x0C, 0x36, 0x68, 0x58, 0x0F, 0xE6, 0x9C,  // ..6hX...
12296                 /* 01A8 */  0x7C, 0xEE, 0x30, 0xD2, 0x53, 0x04, 0x58, 0xA6,  // |.0.S.X.
12297                 /* 01B0 */  0x15, 0x3B, 0xD6, 0x8B, 0x40, 0x8C, 0x83, 0x8E,  // .;..@...
12298                 /* 01B8 */  0x78, 0x4D, 0xA7, 0xC0, 0x09, 0x7C, 0x24, 0xF0,  // xM...|$.
12299                 /* 01C0 */  0x58, 0xF8, 0x18, 0x3C, 0xC6, 0xD3, 0x3E, 0x66,  // X..<..>f
12300                 /* 01C8 */  0xC3, 0x58, 0xD6, 0x58, 0xA1, 0xDF, 0x23, 0x3C,  // .X.X..#<
12301                 /* 01D0 */  0x43, 0x9F, 0x1F, 0x8E, 0x09, 0x0B, 0xEB, 0xB1,  // C.......
12302                 /* 01D8 */  0xDA, 0xAF, 0x00, 0x84, 0xD0, 0xEF, 0x1D, 0x27,  // .......'
12303                 /* 01E0 */  0xF1, 0xD0, 0x11, 0xE1, 0x39, 0x03, 0x3B, 0x4A,  // ....9.;J
12304                 /* 01E8 */  0x36, 0x65, 0x0C, 0x81, 0x45, 0x42, 0xE8, 0xFF,  // 6e..EB..
12305                 /* 01F0 */  0x3F, 0x48, 0xDC, 0x08, 0xF8, 0x01, 0xE2, 0x04,  // ?H......
12306                 /* 01F8 */  0x0E, 0x27, 0xEC, 0x11, 0x1C, 0x4E, 0x94, 0x93,  // .'...N..
12307                 /* 0200 */  0x38, 0x1E, 0x9F, 0x49, 0x8C, 0x10, 0xFC, 0x51,  // 8..I...Q
12308                 /* 0208 */  0xE4, 0xD1, 0xC4, 0x9A, 0xE7, 0xA8, 0x39, 0x3D,  // ......9=
12309                 /* 0210 */  0x01, 0x1C, 0x02, 0x1B, 0x13, 0x6E, 0xA0, 0x1E,  // .....n..
12310                 /* 0218 */  0x02, 0x1F, 0x40, 0xAB, 0xD3, 0x23, 0x4A, 0x67,  // ..@..#Jg
12311                 /* 0220 */  0x85, 0x3C, 0x08, 0xF0, 0x31, 0x61, 0x07, 0xC0,  // .<..1a..
12312                 /* 0228 */  0x75, 0x5B, 0x03, 0x61, 0x82, 0x1F, 0x03, 0x92,  // u[.a....
12313                 /* 0230 */  0xB3, 0x74, 0x0A, 0xE3, 0xF3, 0x0C, 0xE0, 0xEA,  // .t......
12314                 /* 0238 */  0xE8, 0x00, 0x9E, 0x83, 0x01, 0x76, 0x8C, 0x1E,  // .....v..
12315                 /* 0240 */  0xFD, 0x09, 0xBC, 0xB0, 0x24, 0xF0, 0x39, 0x06,  // ....$.9.
12316                 /* 0248 */  0xEF, 0xF1, 0x0C, 0x20, 0xC0, 0xD3, 0xF0, 0x39,  // ... ...9
12317                 /* 0250 */  0xC6, 0x17, 0x86, 0x47, 0x18, 0xDF, 0x5D, 0x0C,  // ...G..].
12318                 /* 0258 */  0x1C, 0xE1, 0x31, 0xE6, 0xFD, 0xE5, 0xD1, 0xC0,  // ..1.....
12319                 /* 0260 */  0xB7, 0x18, 0x9F, 0x63, 0xFC, 0x01, 0x78, 0x7D,  // ...c..x}
12320                 /* 0268 */  0x89, 0xE2, 0x13, 0x0C, 0x03, 0x8A, 0xE2, 0x7B,  // .......{
12321                 /* 0270 */  0x4C, 0xA4, 0xC6, 0x30, 0x05, 0x17, 0xE1, 0x70,  // L..0...p
12322                 /* 0278 */  0xDE, 0x6A, 0xE2, 0x06, 0x8A, 0xF2, 0x1C, 0xF3,  // .j......
12323                 /* 0280 */  0xFF, 0x4F, 0xE0, 0x78, 0x07, 0x01, 0x1D, 0x39,  // .O.x...9
12324                 /* 0288 */  0x7C, 0x8E, 0x01, 0xF8, 0x70, 0x0F, 0x78, 0x8E,  // |...p.x.
12325                 /* 0290 */  0xC1, 0x9E, 0x17, 0x9E, 0x46, 0xC0, 0x86, 0xF6,  // ....F...
12326                 /* 0298 */  0xBA, 0xE0, 0x83, 0x84, 0xA7, 0x6F, 0xCC, 0xB7,  // .....o..
12327                 /* 02A0 */  0x05, 0x5F, 0x3F, 0xE2, 0x9C, 0xA2, 0xCF, 0x23,  // ._?....#
12328                 /* 02A8 */  0xC0, 0x43, 0xDF, 0x47, 0xA1, 0x00, 0x13, 0x20,  // .C.G... 
12329                 /* 02B0 */  0x4A, 0xFD, 0x24, 0x90, 0x8D, 0xE3, 0x0E, 0xE5,  // J.$.....
12330                 /* 02B8 */  0x70, 0xC2, 0x05, 0x6B, 0x04, 0xEF, 0x3A, 0x1E,  // p..k..:.
12331                 /* 02C0 */  0x11, 0x0E, 0xE9, 0x15, 0xC1, 0x10, 0x07, 0xF0,  // ........
12332                 /* 02C8 */  0x18, 0x90, 0x60, 0x22, 0x48, 0xFD, 0xFF, 0x8F,  // ..`"H...
12333                 /* 02D0 */  0x39, 0x1E, 0xBB, 0xB3, 0x50, 0x28, 0x07, 0x8D,  // 9...P(..
12334                 /* 02D8 */  0x86, 0xE4, 0x11, 0x58, 0x39, 0x8C, 0xE0, 0x0C,  // ...X9...
12335                 /* 02E0 */  0xE2, 0x93, 0x82, 0xC3, 0x1C, 0x83, 0x7C, 0x1C,  // ......|.
12336                 /* 02E8 */  0x40, 0xE9, 0x39, 0x66, 0xD0, 0x69, 0xF0, 0xE9,  // @.9f.i..
12337                 /* 02F0 */  0x9D, 0xC5, 0xD3, 0xC2, 0x7B, 0x46, 0x14, 0x1F,  // ....{F..
12338                 /* 02F8 */  0x2D, 0xD8, 0xD0, 0xA2, 0xB3, 0x79, 0xFA, 0x46,  // -....y.F
12339                 /* 0300 */  0xC0, 0x6F, 0x28, 0x3E, 0x23, 0x78, 0x04, 0x56,  // .o(>#x.V
12340                 /* 0308 */  0x73, 0xE5, 0x41, 0x81, 0xF9, 0x9E, 0xC1, 0x8F,  // s.A.....
12341                 /* 0310 */  0x3C, 0x60, 0x8B, 0x32, 0x2C, 0xF4, 0x2C, 0x3C,  // <`.2,.,<
12342                 /* 0318 */  0x2C, 0xEC, 0xFD, 0x82, 0x41, 0x3C, 0x37, 0x78,  // ,...A<7x
12343                 /* 0320 */  0x54, 0x60, 0x1D, 0xB2, 0x47, 0x05, 0x2E, 0x7D,  // T`..G..}
12344                 /* 0328 */  0x47, 0x07, 0x50, 0x00, 0xF9, 0xA2, 0xE0, 0x73,  // G.P....s
12345                 /* 0330 */  0xCF, 0xC3, 0x02, 0x9B, 0xC2, 0xA3, 0x8F, 0xD1,  // ........
12346                 /* 0338 */  0x8C, 0xCE, 0x25, 0xDC, 0x09, 0x50, 0xB7, 0x2C,  // ..%..P.,
12347                 /* 0340 */  0xCF, 0xC8, 0x20, 0xBE, 0x1B, 0x38, 0x10, 0x84,  // .. ..8..
12348                 /* 0348 */  0x94, 0x5C, 0x4D, 0xD0, 0xF8, 0xEF, 0x0A, 0x1E,  // .\M.....
12349                 /* 0350 */  0xD2, 0xBB, 0xC3, 0x21, 0x1D, 0xC7, 0x9B, 0xDD,  // ...!....
12350                 /* 0358 */  0x93, 0x8D, 0x71, 0x5E, 0x3A, 0xD8, 0xB1, 0xE0,  // ..q^:...
12351                 /* 0360 */  0xD5, 0x04, 0xD6, 0x2D, 0xE2, 0xFF, 0x1F, 0xF1,  // ...-....
12352                 /* 0368 */  0x11, 0xC2, 0x33, 0xF1, 0xB5, 0x0A, 0x7F, 0x28,  // ..3....(
12353                 /* 0370 */  0xE0, 0x83, 0xF1, 0xD5, 0x03, 0xFE, 0x7C, 0xF9,  // ......|.
12354                 /* 0378 */  0x45, 0xE6, 0x99, 0x26, 0x81, 0x05, 0x4E, 0x18,  // E..&..N.
12355                 /* 0380 */  0xE4, 0x37, 0x23, 0xD4, 0x6A, 0x65, 0xE1, 0x3E,  // .7#.je.>
12356                 /* 0388 */  0x40, 0xC7, 0xC5, 0xCF, 0x07, 0xBE, 0x19, 0x31,  // @......1
12357                 /* 0390 */  0xEC, 0x93, 0xB5, 0xE8, 0x19, 0xEA, 0xD8, 0xF1,  // ........
12358                 /* 0398 */  0x66, 0x86, 0x81, 0xF5, 0x48, 0x39, 0xAC, 0xD1,  // f...H9..
12359                 /* 03A0 */  0xC2, 0x1E, 0xF0, 0x1B, 0x8A, 0x8F, 0x37, 0x9E,  // ......7.
12360                 /* 03A8 */  0x99, 0x31, 0xC2, 0xFA, 0x5E, 0x03, 0x0E, 0x40,  // .1..^..@
12361                 /* 03B0 */  0xBC, 0xF7, 0x33, 0x0D, 0x39, 0x43, 0x30, 0x40,  // ..3.9C0@
12362                 /* 03B8 */  0x8F, 0xDF, 0x57, 0x25, 0xF0, 0xDD, 0x5A, 0x60,  // ..W%..Z`
12363                 /* 03C0 */  0xCE, 0xE5, 0xE5, 0x84, 0x5D, 0xDE, 0x8C, 0x88,  // ....]...
12364                 /* 03C8 */  0xC1, 0xF2, 0xED, 0x04, 0xA7, 0x4D, 0xC5, 0x55,  // .....M.U
12365                 /* 03D0 */  0x05, 0x73, 0xC3, 0x72, 0xEE, 0x05, 0xE9, 0xDE,  // .s.r....
12366                 /* 03D8 */  0xF4, 0xAA, 0x82, 0x27, 0x98, 0x16, 0x4C, 0xF7,  // ...'..L.
12367                 /* 03E0 */  0x14, 0x9E, 0x13, 0x46, 0xE9, 0x8F, 0x04, 0x14,  // ...F....
12368                 /* 03E8 */  0xDC, 0x79, 0xC7, 0x4E, 0x41, 0xFE, 0xFF, 0x01,  // .y.NA...
12369                 /* 03F0 */  0xD9, 0x3D, 0x05, 0xF0, 0x72, 0x05, 0x01, 0x16,  // .=..r...
12370                 /* 03F8 */  0x41, 0x3D, 0x4C, 0x17, 0x13, 0x0D, 0x46, 0xD3,  // A=L...F.
12371                 /* 0400 */  0x35, 0x88, 0x6D, 0x5C, 0x41, 0x40, 0x72, 0x1F,  // 5.m\A@r.
12372                 /* 0408 */  0xC0, 0x5E, 0x41, 0xC0, 0x3D, 0x1C, 0x5F, 0x41,  // .^A.=._A
12373                 /* 0410 */  0xC0, 0x17, 0xE7, 0x5A, 0x80, 0x1E, 0x87, 0x0F,  // ...Z....
12374                 /* 0418 */  0x3A, 0x30, 0x8F, 0x6F, 0x6C, 0x60, 0xE0, 0xFA,  // :0.ol`..
12375                 /* 0420 */  0xFF, 0x5F, 0x55, 0xF0, 0xF7, 0x02, 0x70, 0x85,  // ._U...p.
12376                 /* 0428 */  0x1B, 0x17, 0x1A, 0xCA, 0xE3, 0xC7, 0xBA, 0xBC,  // ........
12377                 /* 0430 */  0xB2, 0x91, 0x93, 0xA9, 0x27, 0x16, 0xE9, 0x85,  // ....'...
12378                 /* 0438 */  0x23, 0xD2, 0x29, 0x3C, 0x42, 0xF0, 0x8B, 0x0D,  // #.)<B...
12379                 /* 0440 */  0x76, 0x78, 0xE0, 0x86, 0xF2, 0xF0, 0xC0, 0x15,  // vx......
12380                 /* 0448 */  0x70, 0x78, 0xE8, 0xBB, 0x8D, 0x87, 0x07, 0xFF,  // px......
12381                 /* 0450 */  0x26, 0xF0, 0xE6, 0xC8, 0xA0, 0x22, 0x19, 0xC8,  // &...."..
12382                 /* 0458 */  0xB0, 0x87, 0x18, 0xE1, 0x25, 0xC5, 0x03, 0xF3,  // ....%...
12383                 /* 0460 */  0x00, 0xC1, 0x7D, 0x1E, 0xF4, 0x00, 0xC1, 0x15,  // ..}.....
12384                 /* 0468 */  0x6C, 0x80, 0xE8, 0x53, 0x84, 0x07, 0x08, 0xFF,  // l..S....
12385                 /* 0470 */  0x40, 0xF3, 0xE4, 0xE0, 0x63, 0x8D, 0xAF, 0x96,  // @...c...
12386                 /* 0478 */  0x0F, 0x03, 0xB8, 0xFF, 0xFF, 0xE0, 0xC0, 0x79,  // .......y
12387                 /* 0480 */  0x29, 0xE2, 0x83, 0x03, 0xCF, 0x3D, 0x06, 0x7F,  // )....=..
12388                 /* 0488 */  0x7A, 0xF1, 0xC9, 0xD7, 0x97, 0x9D, 0x90, 0x1E,  // z.......
12389                 /* 0490 */  0x96, 0x8F, 0x3E, 0x7C, 0x58, 0x60, 0x3F, 0xCA,  // ..>|X`?.
12390                 /* 0498 */  0x78, 0x58, 0xE0, 0x0A, 0x32, 0x2C, 0x34, 0xB0,  // xX..2,4.
12391                 /* 04A0 */  0x31, 0x8F, 0xE1, 0xA9, 0xC8, 0x43, 0x7A, 0x4D,  // 1....CzM
12392                 /* 04A8 */  0xF0, 0xA0, 0xC0, 0xFE, 0x91, 0xD1, 0x19, 0x0F,  // ........
12393                 /* 04B0 */  0xE4, 0xF7, 0x24, 0x1F, 0x4F, 0x0F, 0x0A, 0x77,  // ..$.O..w
12394                 /* 04B8 */  0x90, 0x65, 0xA3, 0x02, 0xF7, 0x51, 0x1A, 0xFF,  // .e...Q..
12395                 /* 04C0 */  0xFF, 0x1F, 0x15, 0x30, 0x38, 0xDC, 0x62, 0x46,  // ...08.bF
12396                 /* 04C8 */  0x05, 0xDE, 0x03, 0xA6, 0x47, 0x05, 0x6C, 0x50,  // ....G.lP
12397                 /* 04D0 */  0x8E, 0x0A, 0xFC, 0x2F, 0x31, 0x8D, 0x0A, 0xE8,  // .../1...
12398                 /* 04D8 */  0x0C, 0x83, 0x8D, 0x0A, 0xDC, 0xC0, 0x3E, 0x68,  // ......>h
12399                 /* 04E0 */  0x80, 0xFF, 0xF8, 0xF5, 0x70, 0xF0, 0xA0, 0x81,  // ....p...
12400                 /* 04E8 */  0xFB, 0xFF, 0x0F, 0x0A, 0xDC, 0x97, 0x3E, 0x0F,  // ......>.
12401                 /* 04F0 */  0x0A, 0x5C, 0xB7, 0x46, 0xE0, 0x21, 0xED, 0xD6,  // .\.F.!..
12402                 /* 04F8 */  0x08, 0xBA, 0x63, 0x16, 0xBF, 0x35, 0x02, 0xCF,  // ..c..5..
12403                 /* 0500 */  0x33, 0x83, 0x6F, 0x8D, 0xC0, 0xE5, 0x9E, 0xC8,  // 3.o.....
12404                 /* 0508 */  0x40, 0x5E, 0x0F, 0xCE, 0xAE, 0xCF, 0x31, 0x0B,  // @^....1.
12405                 /* 0510 */  0x25, 0xC6, 0x21, 0x60, 0xA6, 0x11, 0x28, 0x48,  // %.!`..(H
12406                 /* 0518 */  0xD8, 0xB7, 0x47, 0xD8, 0x72, 0x0F, 0x7B, 0xBE,  // ..G.r.{.
12407                 /* 0520 */  0x3D, 0xD2, 0x51, 0x59, 0xC6, 0xDB, 0x47, 0xB7,  // =.QY..G.
12408                 /* 0528 */  0x81, 0xA0, 0xFF, 0xFF, 0x03, 0x7A, 0x76, 0x7A,  // .....zvz
12409                 /* 0530 */  0x69, 0x60, 0xE7, 0x6A, 0x4C, 0xF4, 0x77, 0x80,  // i`.jL.w.
12410                 /* 0538 */  0xAE, 0x8F, 0x3C, 0x34, 0x8C, 0x02, 0x3F, 0xAC,  // ..<4..?.
12411                 /* 0540 */  0x74, 0x00, 0xE4, 0x11, 0x61, 0x04, 0x67, 0x10,  // t...a.g.
12412                 /* 0548 */  0x1F, 0x4F, 0x1C, 0xE3, 0x24, 0x81, 0x3E, 0x03,  // .O..$.>.
12413                 /* 0550 */  0xFA, 0x4C, 0xE5, 0x73, 0x92, 0x47, 0xE1, 0x93,  // .L.s.G..
12414                 /* 0558 */  0x9A, 0xEF, 0x8E, 0xC0, 0x33, 0xC5, 0x61, 0x03,  // ....3.a.
12415                 /* 0560 */  0xCA, 0x98, 0x1E, 0x24, 0x7C, 0xD8, 0xC0, 0x5C,  // ...$|..\
12416                 /* 0568 */  0x98, 0x81, 0xE5, 0x94, 0xE0, 0xDC, 0x10, 0x4E,  // .......N
12417                 /* 0570 */  0x09, 0x38, 0x9C, 0x0C, 0xC1, 0x37, 0x25, 0x38,  // .8...7%8
12418                 /* 0578 */  0x87, 0x85, 0x53, 0xC2, 0xFC, 0xFF, 0xA7, 0x04,  // ..S.....
12419                 /* 0580 */  0xE6, 0xDB, 0x20, 0xF8, 0xAE, 0xA2, 0x9E, 0x12,  // .. .....
12420                 /* 0588 */  0x4E, 0xD3, 0x94, 0xC8, 0xA9, 0xC3, 0x67, 0x87,  // N.....g.
12421                 /* 0590 */  0x77, 0x93, 0x90, 0x41, 0xDF, 0x3C, 0x8C, 0xF0,  // w..A.<..
12422                 /* 0598 */  0x1C, 0xE8, 0xC3, 0x86, 0x0F, 0x1A, 0x86, 0x7A,  // .......z
12423                 /* 05A0 */  0xA8, 0xF0, 0xC0, 0xC0, 0x7A, 0x0B, 0x04, 0x5F,  // ....z.._
12424                 /* 05A8 */  0x96, 0xAB, 0x28, 0x94, 0x13, 0xC8, 0xB3, 0xA5,  // ..(.....
12425                 /* 05B0 */  0x6F, 0x1E, 0x3E, 0xB2, 0x7A, 0x56, 0xC0, 0xE1,  // o.>.zV..
12426                 /* 05B8 */  0xFC, 0x07, 0xBE, 0x24, 0xE7, 0x3F, 0x28, 0x90,  // ...$.?(.
12427                 /* 05C0 */  0xC7, 0x13, 0xE1, 0x9C, 0x1E, 0x55, 0x42, 0xBE,  // .....UB.
12428                 /* 05C8 */  0x26, 0xFA, 0xAA, 0xE3, 0x7B, 0x3E, 0x78, 0xFF,  // &...{>x.
12429                 /* 05D0 */  0xFF, 0xB7, 0x3F, 0x30, 0x5E, 0x56, 0xE0, 0x5C,  // ..?0^V.\
12430                 /* 05D8 */  0x61, 0xDE, 0x10, 0xF8, 0xBC, 0xC1, 0x7E, 0xF9,  // a.....~.
12431                 /* 05E0 */  0x03, 0xDF, 0xC1, 0x19, 0x58, 0x48, 0xF8, 0xA7,  // ....XH..
12432                 /* 05E8 */  0xE8, 0xA0, 0xC3, 0x43, 0xDF, 0x55, 0x28, 0x88,  // ...C.U(.
12433                 /* 05F0 */  0xCF, 0x22, 0x3E, 0x38, 0x03, 0x57, 0x18, 0x1F,  // .">8.W..
12434                 /* 05F8 */  0x9C, 0xC1, 0x77, 0x0A, 0x03, 0xFF, 0xFF, 0x1F,  // ..w.....
12435                 /* 0600 */  0x9E, 0xCB, 0x3B, 0x85, 0x81, 0xEE, 0xBE, 0xC2,  // ..;.....
12436                 /* 0608 */  0x4F, 0x61, 0xC0, 0xF3, 0xC8, 0xED, 0x53, 0x18,  // Oa....S.
12437                 /* 0610 */  0x70, 0x99, 0xEF, 0x21, 0x1B, 0xE4, 0x40, 0x8B,  // p..!..@.
12438                 /* 0618 */  0x1C, 0x9E, 0x26, 0x6D, 0x5F, 0x38, 0x92, 0x06,  // ..&m_8..
12439                 /* 0620 */  0x21, 0xB5, 0xF7, 0x30, 0xE9, 0x04, 0x12, 0xCA,  // !..0....
12440                 /* 0628 */  0x6B, 0x57, 0x8C, 0xC7, 0x81, 0x27, 0x9B, 0x40,  // kW...'.@
12441                 /* 0630 */  0xC7, 0xEF, 0x31, 0x44, 0x7A, 0x0A, 0x88, 0x14,  // ..1Dz...
12442                 /* 0638 */  0xC4, 0xF8, 0x91, 0x43, 0xC5, 0x36, 0x81, 0xA3,  // ...C.6..
12443                 /* 0640 */  0x9C, 0xC3, 0xD0, 0xD2, 0x1F, 0x19, 0x3A, 0x9D,  // ......:.
12444                 /* 0648 */  0xB1, 0x7B, 0x18, 0xBB, 0x77, 0x60, 0x8E, 0x64,  // .{..w`.d
12445                 /* 0650 */  0x82, 0xD3, 0x41, 0xC2, 0x10, 0x16, 0x7A, 0x22,  // ..A...z"
12446                 /* 0658 */  0x33, 0x84, 0xCE, 0x13, 0x5C, 0x18, 0x1C, 0x05,  // 3...\...
12447                 /* 0660 */  0xF1, 0x81, 0xD2, 0xA7, 0x48, 0x38, 0xE7, 0x30,  // ....H8.0
12448                 /* 0668 */  0x18, 0x27, 0x44, 0xB0, 0xFF, 0xFF, 0x4F, 0x62,  // .'D...Ob
12449                 /* 0670 */  0xE0, 0x8B, 0x35, 0x2A, 0x8F, 0x95, 0x1E, 0xA2,  // ..5*....
12450                 /* 0678 */  0xF8, 0x94, 0xDF, 0x11, 0xD8, 0x61, 0xE0, 0xAD,  // .....a..
12451                 /* 0680 */  0x22, 0x81, 0x43, 0xDC, 0x87, 0xE8, 0xA0, 0xC0,  // ".C.....
12452                 /* 0688 */  0x35, 0x98, 0x33, 0x28, 0x76, 0x88, 0xA8, 0xB1,  // 5.3(v...
12453                 /* 0690 */  0xC1, 0xB9, 0x91, 0x81, 0x6F, 0x6C, 0xB0, 0x95,  // ....ol..
12454                 /* 0698 */  0x8D, 0x0D, 0xC8, 0x1D, 0xCD, 0xC0, 0x37, 0x36,  // ......76
12455                 /* 06A0 */  0xD8, 0xCE, 0xC6, 0x06, 0xC4, 0xFE, 0xFF, 0x04,  // ........
12456                 /* 06A8 */  0xBE, 0xA2, 0x81, 0x6F, 0x6C, 0xB0, 0x4F, 0x20,  // ...ol.O 
12457                 /* 06B0 */  0xC7, 0x06, 0xDC, 0xCE, 0xFE, 0x20, 0x1D, 0x1B,  // ..... ..
12458                 /* 06B8 */  0xEA, 0x04, 0xE2, 0x43, 0xC9, 0xDB, 0x91, 0x21,  // ...C...!
12459                 /* 06C0 */  0xDF, 0xBE, 0x7C, 0x2F, 0x79, 0xF1, 0xF7, 0xE0,  // ..|/y...
12460                 /* 06C8 */  0x80, 0xD9, 0x61, 0x0D, 0x7C, 0x83, 0x83, 0x73,  // ..a.|..s
12461                 /* 06D0 */  0xC2, 0xF4, 0xE0, 0x80, 0xD7, 0xFF, 0x7F, 0x70,  // .......p
12462                 /* 06D8 */  0xF8, 0x3B, 0x1B, 0xF8, 0x42, 0x9D, 0x6C, 0xD0,  // .;..B.l.
12463                 /* 06E0 */  0xA2, 0x6E, 0x89, 0x20, 0x3A, 0xDE, 0x80, 0xFD,  // .n. :...
12464                 /* 06E8 */  0xEA, 0x06, 0xBE, 0x03, 0x94, 0xEF, 0x89, 0xE0,  // ........
12465                 /* 06F0 */  0x1A, 0x17, 0xB8, 0x61, 0x7C, 0xEC, 0x06, 0xCE,  // ...a|...
12466                 /* 06F8 */  0x32, 0x1E, 0x3E, 0x3A, 0x78, 0xF0, 0x13, 0x1A,  // 2.>:x...
12467                 /* 0700 */  0x38, 0x60, 0xFD, 0xFF, 0x3F, 0xA1, 0x01, 0x97,  // 8`..?...
12468                 /* 0708 */  0x6B, 0xA3, 0x8F, 0xDB, 0xC0, 0xE6, 0x64, 0xC6,  // k.....d.
12469                 /* 0710 */  0x8E, 0x64, 0x70, 0x86, 0x16, 0xEF, 0xF5, 0x2C,  // .dp....,
12470                 /* 0718 */  0x5E, 0x90, 0x67, 0xB3, 0x28, 0x91, 0x22, 0xD6,  // ^.g.(.".
12471                 /* 0720 */  0x88, 0x20, 0x8C, 0x13, 0x08, 0x95, 0xC0, 0xA9,  // . ......
12472                 /* 0728 */  0x9F, 0x18, 0x3A, 0x95, 0x71, 0x0E, 0x67, 0x7A,  // ..:.q.gz
12473                 /* 0730 */  0x92, 0xE8, 0xA4, 0xC0, 0x6E, 0x00, 0x31, 0x0E,  // ....n.1.
12474                 /* 0738 */  0xE7, 0x28, 0x62, 0x34, 0x7F, 0xDC, 0x46, 0x67,  // .(b4..Fg
12475                 /* 0740 */  0x38, 0x6E, 0xA3, 0xD4, 0xC3, 0x48, 0xF9, 0x71,  // 8n...H.q
12476                 /* 0748 */  0x1B, 0xA5, 0xF5, 0xB8, 0x4D, 0x41, 0x3C, 0x52,  // ....MA<R
12477                 /* 0750 */  0xA7, 0x39, 0x44, 0xA0, 0x47, 0xE2, 0x73, 0x19,  // .9D.G.s.
12478                 /* 0758 */  0x7E, 0x9C, 0xA7, 0x71, 0xA4, 0x9E, 0xEB, 0x83,  // ~..q....
12479                 /* 0760 */  0xA3, 0x6F, 0xDC, 0xC0, 0x33, 0xC8, 0xB4, 0xD0,  // .o..3...
12480                 /* 0768 */  0x5A, 0x40, 0x34, 0x57, 0x76, 0x22, 0x78, 0x37,  // Z@4Wv"x7
12481                 /* 0770 */  0x30, 0x72, 0x8C, 0x33, 0x7B, 0x78, 0xE5, 0xFF,  // 0r.3{x..
12482                 /* 0778 */  0xFF, 0x33, 0x37, 0x30, 0x1C, 0x14, 0x9C, 0x13,  // .370....
12483                 /* 0780 */  0x01, 0x1B, 0xF8, 0xC9, 0xBF, 0x74, 0x03, 0xE3,  // .....t..
12484                 /* 0788 */  0x41, 0xC1, 0xBD, 0x42, 0x3C, 0x76, 0x03, 0xE3,  // A..B<v..
12485                 /* 0790 */  0x41, 0xC1, 0x3D, 0x6D, 0x1C, 0x14, 0x30, 0xB8,  // A.=m..0.
12486                 /* 0798 */  0x7C, 0xC1, 0xFE, 0xFF, 0x1F, 0xCD, 0x01, 0x03,  // |.......
12487                 /* 07A0 */  0x17, 0x2F, 0xF0, 0x1D, 0xCD, 0x81, 0xE5, 0x91,  // ./......
12488                 /* 07A8 */  0x0B, 0x7C, 0x57, 0x6A, 0xC0, 0xDB, 0xFF, 0xFF,  // .|Wj....
12489                 /* 07B0 */  0x1E, 0x06, 0xF3, 0x4A, 0x0D, 0xBC, 0x85, 0x5D,  // ...J...]
12490                 /* 07B8 */  0xA9, 0x41, 0x07, 0xCB, 0xAF, 0xD4, 0xC0, 0xF3,  // .A......
12491                 /* 07C0 */  0x70, 0xE2, 0x2B, 0x35, 0x70, 0x1A, 0xF6, 0x29,  // p.+5p..)
12492                 /* 07C8 */  0xF9, 0xAE, 0xE5, 0xB3, 0x91, 0xEF, 0xD3, 0x60,  // .......`
12493                 /* 07D0 */  0x4A, 0xF9, 0x50, 0xD1, 0x55, 0x8B, 0x4B, 0x82,  // J.P.U.K.
12494                 /* 07D8 */  0x50, 0x8A, 0xD5, 0xEB, 0xD8, 0xE0, 0x51, 0x1D,  // P.....Q.
12495                 /* 07E0 */  0xD3, 0xF1, 0x18, 0x25, 0xEC, 0x29, 0x47, 0x78,  // ...%.)Gx
12496                 /* 07E8 */  0xDC, 0xC2, 0x11, 0x58, 0x33, 0xA8, 0xBE, 0x02,  // ...X3...
12497                 /* 07F0 */  0xFF, 0xFF, 0xE7, 0x08, 0xA6, 0x16, 0xDA, 0x24,  // .......$
12498                 /* 07F8 */  0x3A, 0x4F, 0x70, 0x6D, 0x30, 0x82, 0x33, 0x88,  // :Opm0.3.
12499                 /* 0800 */  0x0F, 0x30, 0xCE, 0x75, 0xAB, 0x44, 0x0F, 0xD7,  // .0.u.D..
12500                 /* 0808 */  0xF7, 0xB1, 0xB3, 0x3F, 0xC3, 0x13, 0x3D, 0x94,  // ...?..=.
12501                 /* 0810 */  0x77, 0x82, 0x28, 0x5D, 0x1F, 0x46, 0x10, 0x09,  // w.(].F..
12502                 /* 0818 */  0x4E, 0x33, 0xF4, 0x30, 0x02, 0xEF, 0x56, 0x09,  // N3.0..V.
12503                 /* 0820 */  0xCF, 0x07, 0x84, 0x2E, 0x5C, 0xC0, 0xEF, 0xEC,  // ....\...
12504                 /* 0828 */  0x16, 0xF4, 0xAD, 0xA0, 0xE2, 0x29, 0x93, 0x93,  // .....)..
12505                 /* 0830 */  0x87, 0x2F, 0x5C, 0xC0, 0x32, 0xD9, 0xFC, 0xD1,  // ./\.2...
12506                 /* 0838 */  0x13, 0xF6, 0xA0, 0xD8, 0x25, 0xE1, 0xB1, 0xC2,  // ....%...
12507                 /* 0840 */  0x97, 0x1B, 0xFC, 0x05, 0x00, 0xBC, 0x81, 0x97,  // ........
12508                 /* 0848 */  0xA5, 0x93, 0x17, 0xF8, 0xFE, 0xFF, 0x77, 0x1C,  // ......w.
12509                 /* 0850 */  0xC0, 0x31, 0x94, 0xEF, 0x38, 0xC0, 0x5B, 0xD6,  // .1..8.[.
12510                 /* 0858 */  0x1D, 0x07, 0x74, 0xC7, 0x29, 0x7E, 0xC7, 0x01,  // ..t.)~..
12511                 /* 0860 */  0x9E, 0xFF, 0xFF, 0xD3, 0x29, 0xF0, 0xB9, 0xCE,  // ....)...
12512                 /* 0868 */  0x60, 0x81, 0x9E, 0x67, 0xD8, 0x3D, 0x07, 0xC6,  // `..g.=..
12513                 /* 0870 */  0x19, 0x07, 0x8E, 0xCC, 0x85, 0xEB, 0x8A, 0xC3,  // ........
12514                 /* 0878 */  0x8F, 0xDB, 0x16, 0xF4, 0x74, 0xD0, 0x4D, 0x26,  // ....t.M&
12515                 /* 0880 */  0xF2, 0x9B, 0x29, 0x76, 0x88, 0xBA, 0xD7, 0xD0,  // ..)v....
12516                 /* 0888 */  0x23, 0x84, 0x29, 0x1C, 0xFE, 0x60, 0x40, 0x79,  // #.)..`@y
12517                 /* 0890 */  0x1C, 0xF7, 0x28, 0x41, 0x41, 0x0C, 0xE8, 0xBB,  // ..(AA...
12518                 /* 0898 */  0x9B, 0x8F, 0x12, 0xB8, 0x83, 0x87, 0x0F, 0x23,  // .......#
12519                 /* 08A0 */  0xEC, 0x6E, 0xCA, 0x4E, 0xAF, 0x2F, 0xA6, 0xB8,  // .n.N./..
12520                 /* 08A8 */  0x2B, 0xC1, 0x8B, 0x29, 0x78, 0x75, 0x1D, 0x24,  // +..)xu.$
12521                 /* 08B0 */  0x40, 0x76, 0x10, 0x01, 0x4C, 0xFC, 0xFF, 0x0F,  // @v..L...
12522                 /* 08B8 */  0x22, 0xC0, 0x61, 0x38, 0x3E, 0x88, 0x00, 0x6F,  // ".a8>..o
12523                 /* 08C0 */  0x31, 0x07, 0x11, 0xD0, 0x1D, 0xDF, 0xF9, 0x41,  // 1......A
12524                 /* 08C8 */  0x04, 0x78, 0x8A, 0xBF, 0xBB, 0x01, 0xAD, 0x7B,  // .x.....{
12525                 /* 08D0 */  0x1B, 0x8C, 0xAB, 0x47, 0x98, 0x68, 0xC1, 0x18,  // ...G.h..
12526                 /* 08D8 */  0xC1, 0x98, 0x2F, 0x06, 0x9D, 0x41, 0x70, 0x41,  // ../..ApA
12527                 /* 08E0 */  0x87, 0xAE, 0x7B, 0xEE, 0x39, 0x1B, 0xF4, 0x20,  // ..{.9.. 
12528                 /* 08E8 */  0x62, 0x3C, 0x9C, 0x3D, 0xB2, 0xB1, 0xFF, 0x7F,  // b<.=....
12529                 /* 08F0 */  0x3C, 0x30, 0x1D, 0x10, 0x0C, 0xE1, 0x60, 0x14,  // <0....`.
12530                 /* 08F8 */  0x8A, 0x75, 0x8A, 0x40, 0x05, 0x81, 0xA3, 0x20,  // .u.@... 
12531                 /* 0900 */  0x3E, 0x07, 0xF8, 0x14, 0x01, 0x5C, 0xAF, 0x8C,  // >....\..
12532                 /* 0908 */  0xE4, 0x14, 0x01, 0xBA, 0x50, 0x03, 0x43, 0xDF,  // ....P.C.
12533                 /* 0910 */  0xF9, 0x3C, 0x30, 0xDC, 0x74, 0x71, 0x5A, 0x2F,  // .<0.tqZ/
12534                 /* 0918 */  0xE6, 0x04, 0xEC, 0xD1, 0xC0, 0xE7, 0x0D, 0xC0,  // ........
12535                 /* 0920 */  0xDB, 0x59, 0xC5, 0xF7, 0x64, 0x7E, 0xDE, 0x00,  // .Y..d~..
12536                 /* 0928 */  0x07, 0xB8, 0xCF, 0x1B, 0xF8, 0xFF, 0xFF, 0x79,  // .......y
12537                 /* 0930 */  0x03, 0xDC, 0x77, 0x1F, 0x9F, 0x33, 0x80, 0xCB,  // ..w..3..
12538                 /* 0938 */  0xC1, 0xE2, 0x39, 0x83, 0x5D, 0x31, 0xB0, 0xF7,  // ..9.]1..
12539                 /* 0940 */  0x4A, 0x76, 0xC6, 0xE0, 0x83, 0xB7, 0x9E, 0x73,  // Jv.....s
12540                 /* 0948 */  0x86, 0x66, 0x7D, 0xDE, 0xC7, 0x17, 0xFE, 0x59,  // .f}....Y
12541                 /* 0950 */  0xC4, 0x04, 0xD6, 0x71, 0x6A, 0x42, 0x29, 0xA0,  // ...qjB).
12542                 /* 0958 */  0x50, 0xFA, 0x53, 0x13, 0x2A, 0xEF, 0xD1, 0x80,  // P.S.*...
12543                 /* 0960 */  0x82, 0x18, 0xD0, 0x61, 0x0E, 0x8E, 0x68, 0x3D,  // ...a..h=
12544                 /* 0968 */  0xA7, 0x26, 0xC4, 0x2C, 0x70, 0x67, 0x0C, 0x7E,  // .&.,pg.~
12545                 /* 0970 */  0xF5, 0x07, 0xF3, 0xF1, 0x12, 0x7C, 0xB7, 0x26,  // .....|.&
12546                 /* 0978 */  0xE0, 0xFC, 0xFF, 0xBF, 0x35, 0x01, 0x56, 0x45,  // ....5.VE
12547                 /* 0980 */  0xDD, 0x9A, 0x40, 0x67, 0xE2, 0xD6, 0x04, 0x74,  // ..@g...t
12548                 /* 0988 */  0x43, 0x5C, 0x3F, 0x80, 0xCE, 0xF1, 0xC2, 0x18,  // C\?.....
12549                 /* 0990 */  0xAF, 0x17, 0x1C, 0xE2, 0x39, 0xC7, 0x18, 0xD5,  // ....9...
12550                 /* 0998 */  0x5F, 0x11, 0xC8, 0x18, 0x18, 0x5E, 0xEC, 0x20,  // _....^. 
12551                 /* 09A0 */  0x27, 0xC9, 0xA7, 0xC4, 0x08, 0xEA, 0xF7, 0xF3,  // '.......
12552                 /* 09A8 */  0xFF, 0x1F, 0x11, 0x13, 0x3C, 0x78, 0xC9, 0x59,  // ....<x.Y
12553                 /* 09B0 */  0x3A, 0x85, 0xF1, 0x09, 0xC3, 0xA7, 0x05, 0xFC,  // :.......
12554                 /* 09B8 */  0xF8, 0x0F, 0xFF, 0x44, 0x0E, 0x90, 0x5D, 0x83,  // ...D..].
12555                 /* 09C0 */  0x0C, 0xC7, 0x8F, 0x06, 0x9E, 0xD6, 0x4B, 0xD0,  // ......K.
12556                 /* 09C8 */  0x91, 0x9C, 0xCB, 0x7B, 0x80, 0x87, 0x12, 0x92,  // ...{....
12557                 /* 09D0 */  0x49, 0x1B, 0x29, 0xEA, 0x42, 0xE5, 0x0B, 0xA3,  // I.).B...
12558                 /* 09D8 */  0x27, 0x74, 0x80, 0x9E, 0xE4, 0x03, 0xB1, 0x09,  // 't......
12559                 /* 09E0 */  0x7C, 0x28, 0x60, 0x68, 0x1C, 0x1A, 0x3B, 0x0C,  // |(`h..;.
12560                 /* 09E8 */  0xDF, 0x16, 0x82, 0x1D, 0xC4, 0x39, 0x7A, 0x70,  // .....9zp
12561                 /* 09F0 */  0x6C, 0x42, 0x8F, 0x0A, 0xE5, 0xDE, 0x22, 0x74,  // lB...."t
12562                 /* 09F8 */  0x0B, 0x8B, 0x1A, 0xE3, 0x6C, 0x13, 0xF8, 0x2E,  // ....l...
12563                 /* 0A00 */  0xE1, 0x33, 0x00, 0xF8, 0xC6, 0xC8, 0x2E, 0x01,  // .3......
12564                 /* 0A08 */  0x0F, 0x60, 0x8F, 0x0F, 0x6C, 0x20, 0x47, 0x80,  // .`..l G.
12565                 /* 0A10 */  0x39, 0x1C, 0xF8, 0x4A, 0xD3, 0xEA, 0x11, 0x03,  // 9..J....
12566                 /* 0A18 */  0xE1, 0xFE, 0x5E, 0xA1, 0x9B, 0x63, 0x88, 0xDE,  // ..^..c..
12567                 /* 0A20 */  0x46, 0x23, 0x73, 0x08, 0xC4, 0x96, 0x00, 0x67,  // F#s....g
12568                 /* 0A28 */  0xE3, 0x11, 0xCE, 0x49, 0x44, 0x89, 0x11, 0x26,  // ...ID..&
12569                 /* 0A30 */  0x5C, 0x84, 0x28, 0xC1, 0x4E, 0x2A, 0x42, 0xE8,  // \.(.N*B.
12570                 /* 0A38 */  0x28, 0x51, 0x0F, 0x23, 0x5C, 0x8C, 0xB7, 0x0C,  // (Q.#\...
12571                 /* 0A40 */  0x23, 0x44, 0x6A, 0x0D, 0x4C, 0x10, 0x11, 0xDA,  // #Dj.L...
12572                 /* 0A48 */  0x1F, 0x04, 0xB9, 0x8C, 0xF9, 0x76, 0xE4, 0x48,  // .....v.H
12573                 /* 0A50 */  0xA3, 0x41, 0x9D, 0x49, 0xF8, 0x05, 0xC1, 0xF7,  // .A.I....
12574                 /* 0A58 */  0x4F, 0x5F, 0xC3, 0x7D, 0x53, 0xF0, 0xE1, 0xFA,  // O_.}S...
12575                 /* 0A60 */  0x29, 0xC0, 0xE3, 0x65, 0x87, 0x11, 0x9F, 0x49,  // )..e...I
12576                 /* 0A68 */  0xE0, 0x5C, 0xD1, 0xF8, 0xB1, 0x02, 0x1C, 0x87,  // .\......
12577                 /* 0A70 */  0x12, 0x18, 0xFF, 0xFF, 0x43, 0x09, 0x76, 0x3C,  // ....C.v<
12578                 /* 0A78 */  0x1E, 0xBE, 0x8F, 0xD4, 0x8C, 0xA0, 0xFC, 0x41,  // .......A
12579                 /* 0A80 */  0xA0, 0x46, 0x66, 0x68, 0x4F, 0xF7, 0xB4, 0xDE,  // .FfhO...
12580                 /* 0A88 */  0x02, 0x7C, 0x38, 0x38, 0x2C, 0x76, 0x9D, 0xF6,  // .|88,v..
12581                 /* 0A90 */  0x39, 0xC6, 0xE3, 0x01, 0xFF, 0xE8, 0x9F, 0x0B,  // 9.......
12582                 /* 0A98 */  0x7C, 0x55, 0xF0, 0x7C, 0x7D, 0x5E, 0xF0, 0x99,  // |U.|}^..
12583                 /* 0AA0 */  0x05, 0x0C, 0x07, 0x0F, 0x2C, 0xD2, 0x21, 0x9F,  // ....,.!.
12584                 /* 0AA8 */  0xA0, 0x2F, 0x27, 0x3E, 0xBD, 0x62, 0x2F, 0x51,  // ./'>.b/Q
12585                 /* 0AB0 */  0x4F, 0x0E, 0xD8, 0x31, 0xF0, 0x83, 0xC0, 0x13,  // O..1....
12586                 /* 0AB8 */  0x0C, 0x43, 0x7F, 0x89, 0x31, 0xF4, 0x21, 0xF9,  // .C..1.!.
12587                 /* 0AC0 */  0x4C, 0xE1, 0xA3, 0x9B, 0x8F, 0x12, 0x8F, 0x16,  // L.......
12588                 /* 0AC8 */  0x9E, 0xC0, 0x39, 0xBD, 0xD9, 0x9C, 0xD5, 0x9B,  // ..9.....
12589                 /* 0AD0 */  0x14, 0xD3, 0xF9, 0x1E, 0xD0, 0x05, 0xD2, 0x8A,  // ........
12590                 /* 0AD8 */  0x1F, 0x08, 0xBA, 0x54, 0xF1, 0x43, 0x81, 0xF5,  // ...T.C..
12591                 /* 0AE0 */  0x3D, 0x0B, 0x74, 0x81, 0x62, 0x57, 0x87, 0xF3,  // =.t.bW..
12592                 /* 0AE8 */  0xF3, 0x25, 0x1D, 0xAF, 0x08, 0x50, 0xF7, 0x2A,  // .%...P.*
12593                 /* 0AF0 */  0xAE, 0x05, 0x46, 0x77, 0x2B, 0x9F, 0x8C, 0x78,  // ..Fw+..x
12594                 /* 0AF8 */  0xF2, 0x9B, 0x20, 0x05, 0xF1, 0xB1, 0xC1, 0x39,  // .. ....9
12595                 /* 0B00 */  0xEE, 0x55, 0xE8, 0xF3, 0x87, 0x07, 0xC1, 0x06,  // .U......
12596                 /* 0B08 */  0xCA, 0x26, 0xC2, 0x4E, 0x55, 0xC0, 0xE3, 0xFF,  // .&.NU...
12597                 /* 0B10 */  0x7F, 0xAA, 0x82, 0x9F, 0xE2, 0xF2, 0x84, 0xD6,  // ........
12598                 /* 0B18 */  0x71, 0x00, 0x46, 0xE1, 0xC6, 0x7E, 0xFA, 0x05,  // q.F..~..
12599                 /* 0B20 */  0xEF, 0x64, 0x7D, 0xFA, 0x05, 0x5B, 0x94, 0x61,  // .d}..[.a
12600                 /* 0B28 */  0xA3, 0xAF, 0xC8, 0x98, 0x49, 0xBF, 0x18, 0x18,  // ....I...
12601                 /* 0B30 */  0x21, 0xCE, 0xC3, 0x4A, 0xA0, 0x37, 0x23, 0x36,  // !..J.7#6
12602                 /* 0B38 */  0x6F, 0xB0, 0x1E, 0xFD, 0x01, 0x67, 0x57, 0x4C,  // o....gWL
12603                 /* 0B40 */  0xDC, 0xE5, 0x0C, 0x8C, 0xFF, 0xFF, 0xA3, 0x3F,  // .......?
12604                 /* 0B48 */  0xE0, 0x41, 0xC8, 0xE5, 0x0C, 0x74, 0x23, 0xF7,  // .A...t#.
12605                 /* 0B50 */  0xE5, 0x0C, 0xB8, 0x1E, 0x03, 0x7C, 0x39, 0x03,  // .....|9.
12606                 /* 0B58 */  0xE3, 0xA5, 0x06, 0xDE, 0x11, 0xD9, 0x93, 0x34,  // .......4
12607                 /* 0B60 */  0xC8, 0x3B, 0x0A, 0x03, 0x89, 0xF9, 0xF2, 0x82,  // .;......
12608                 /* 0B68 */  0x95, 0xB8, 0x66, 0x5D, 0x64, 0x70, 0x02, 0xBF,  // ..f]dp..
12609                 /* 0B70 */  0x2D, 0x3A, 0x20, 0xB3, 0x8B, 0x0C, 0x2C, 0x49,  // -: ...,I
12610                 /* 0B78 */  0x80, 0x3A, 0x22, 0x73, 0x31, 0x30, 0x92, 0x02,  // .:"s10..
12611                 /* 0B80 */  0xA1, 0x53, 0x04, 0x0F, 0x7F, 0x9F, 0xA1, 0x20,  // .S..... 
12612                 /* 0B88 */  0xBE, 0xDF, 0xF8, 0x14, 0x81, 0xFB, 0xFF, 0x9F,  // ........
12613                 /* 0B90 */  0x22, 0x80, 0xDF, 0x11, 0x19, 0x9C, 0x71, 0x06,  // ".....q.
12614                 /* 0B98 */  0x86, 0x3E, 0x0C, 0x78, 0xBC, 0x38, 0xD0, 0xE7,  // .>.x.8..
12615                 /* 0BA0 */  0x19, 0x7E, 0xB1, 0x04, 0xC6, 0xE3, 0x82, 0xAF,  // .~......
12616                 /* 0BA8 */  0x6C, 0x5C, 0x40, 0xE3, 0xBC, 0xE2, 0x71, 0x01,  // l\@...q.
12617                 /* 0BB0 */  0x8B, 0xD1, 0x73, 0xF4, 0x20, 0x8F, 0x7F, 0xE7,  // ..s. ...
12618                 /* 0BB8 */  0xC5, 0xC7, 0xC5, 0xFF, 0xFF, 0x47, 0x17, 0xE0,  // .....G..
12619                 /* 0BC0 */  0x39, 0x2E, 0xB8, 0xA3, 0x3F, 0x2E, 0x60, 0x72,  // 9...?.`r
12620                 /* 0BC8 */  0x01, 0xF3, 0xB8, 0xC0, 0x77, 0xE8, 0xF0, 0x35,  // ....w..5
12621                 /* 0BD0 */  0x0A, 0xF7, 0x1B, 0xF1, 0x29, 0x01, 0x77, 0x90,  // ....).w.
12622                 /* 0BD8 */  0x82, 0x73, 0x79, 0xF4, 0xC8, 0xC0, 0x7B, 0xD4,  // .sy...{.
12623                 /* 0BE0 */  0xE1, 0x37, 0x29, 0xF0, 0x9C, 0x84, 0x80, 0x47,  // .7)....G
12624                 /* 0BE8 */  0xF0, 0xC3, 0x3B, 0x94, 0xFF, 0xFF, 0x49, 0x08,  // ..;...I.
12625                 /* 0BF0 */  0xEE, 0x9D, 0x8B, 0x9F, 0x84, 0x80, 0xC7, 0x09,  // ........
12626                 /* 0BF8 */  0x08, 0xF8, 0x9C, 0x0C, 0xD8, 0x09, 0x08, 0x73,  // .......s
12627                 /* 0C00 */  0xEA, 0xC1, 0x47, 0x3E, 0xBE, 0xA3, 0xCE, 0x04,  // ..G>....
12628                 /* 0C08 */  0x0E, 0xB8, 0x48, 0x41, 0xB2, 0x21, 0x1C, 0xCC,  // ..HA.!..
12629                 /* 0C10 */  0x8B, 0xC0, 0x93, 0x23, 0xF6, 0x52, 0xAA, 0x13,  // ...#.R..
12630                 /* 0C18 */  0x3C, 0x2A, 0x0C, 0x85, 0x82, 0x1C, 0xCB, 0x50,  // <*.....P
12631                 /* 0C20 */  0xD2, 0x6F, 0x86, 0x14, 0xC4, 0xE3, 0x77, 0x92,  // .o....w.
12632                 /* 0C28 */  0xD3, 0x03, 0x7A, 0x90, 0x1E, 0x07, 0xEE, 0x8A,  // ..z.....
12633                 /* 0C30 */  0xEA, 0x03, 0xA4, 0x6F, 0x19, 0xAF, 0x86, 0xC0,  // ...o....
12634                 /* 0C38 */  0xF3, 0x22, 0xE2, 0x49, 0xE1, 0x14, 0x4D, 0x0A,  // .".I..M.
12635                 /* 0C40 */  0x8D, 0xFD, 0x9E, 0x64, 0xC5, 0xA3, 0xD5, 0x3D,  // ...d...=
12636                 /* 0C48 */  0x09, 0xF7, 0xFF, 0x1F, 0x17, 0x58, 0xEF, 0x63,  // .....X.c
12637                 /* 0C50 */  0xFC, 0xE8, 0x07, 0x58, 0x3F, 0x17, 0x81, 0xF3,  // ...X?...
12638                 /* 0C58 */  0xE8, 0x07, 0xBC, 0x21, 0x7D, 0x42, 0x81, 0xFB,  // ...!}B..
12639                 /* 0C60 */  0xFF, 0x3F, 0xFA, 0x01, 0x9E, 0xB0, 0x4E, 0xFB,  // .?....N.
12640                 /* 0C68 */  0xA9, 0xFC, 0x0D, 0x9F, 0xE1, 0x61, 0x08, 0x8A,  // .....a..
12641                 /* 0C70 */  0x3F, 0xA9, 0xA0, 0xA5, 0xBF, 0x0B, 0x74, 0x6C,  // ?.....tl
12642                 /* 0C78 */  0x61, 0x27, 0x15, 0x58, 0x62, 0x4F, 0x2A, 0x14,  // a'.XbO*.
12643                 /* 0C80 */  0xC2, 0x32, 0x61, 0x24, 0xF2, 0x4A, 0x8C, 0x92,  // .2a$.J..
12644                 /* 0C88 */  0x05, 0x47, 0x41, 0x7C, 0xF4, 0xF1, 0xD1, 0x0F,  // .GA|....
12645                 /* 0C90 */  0xF0, 0x73, 0x81, 0xF7, 0x65, 0x05, 0x27, 0xE9,  // .s..e.'.
12646                 /* 0C98 */  0x78, 0x85, 0xB8, 0xAC, 0xF0, 0x43, 0x80, 0x4F,  // x....C.O
12647                 /* 0CA0 */  0x57, 0x9E, 0xDB, 0xA1, 0x9D, 0x1D, 0x9B, 0x9A,  // W.......
12648                 /* 0CA8 */  0xCF, 0x57, 0xB8, 0xFF, 0xFF, 0xE9, 0x0F, 0x9C,  // .W......
12649                 /* 0CB0 */  0xD7, 0x15, 0x70, 0x9D, 0xC3, 0x60, 0xDE, 0x6A,  // ..p..`.j
12650                 /* 0CB8 */  0xF0, 0x13, 0x78, 0xBB, 0xF0, 0xC0, 0xC0, 0x7F,  // ..x.....
12651                 /* 0CC0 */  0x41, 0x06, 0xDF, 0x39, 0x0C, 0x78, 0xC3, 0xF2,  // A..9.x..
12652                 /* 0CC8 */  0x73, 0x18, 0xF0, 0xFF, 0xFF, 0x9F, 0xC3, 0xE0,  // s.......
12653                 /* 0CD0 */  0x1F, 0x47, 0xE0, 0x10, 0xF8, 0x1C, 0x06, 0x13,  // .G......
12654                 /* 0CD8 */  0xFD, 0x39, 0x0C, 0x98, 0x8D, 0x83, 0x9D, 0xC3,  // .9......
12655                 /* 0CE0 */  0x00, 0x17, 0x93, 0x62, 0xE7, 0x30, 0xC0, 0xDC,  // ...b.0..
12656                 /* 0CE8 */  0xFF, 0xFF, 0x1C, 0x06, 0x70, 0x07, 0x96, 0x9F,  // ....p...
12657                 /* 0CF0 */  0xC3, 0x00, 0x77, 0xFF, 0xFF, 0x93, 0x8A, 0x4F,  // ..w....O
12658                 /* 0CF8 */  0x18, 0x4F, 0x2A, 0xB0, 0x8E, 0xF0, 0x3E, 0xA9,  // .O*...>.
12659                 /* 0D00 */  0xE0, 0xA4, 0xAC, 0x5A, 0xC7, 0x16, 0x76, 0x52,  // ...Z..vR
12660                 /* 0D08 */  0x81, 0x15, 0xFE, 0x1C, 0x86, 0x8A, 0x0D, 0xA3,  // ........
12661                 /* 0D10 */  0xD0, 0xE7, 0x30, 0x54, 0x4C, 0x38, 0x0A, 0xE2,  // ..0TL8..
12662                 /* 0D18 */  0xE1, 0xFB, 0x1C, 0x06, 0x98, 0xBB, 0xAC, 0xF0,  // ........
12663                 /* 0D20 */  0x73, 0x18, 0xE0, 0xE6, 0x56, 0x83, 0x3F, 0x87,  // s...V.?.
12664                 /* 0D28 */  0xC1, 0xFC, 0xFF, 0x9F, 0xC3, 0x80, 0xDB, 0x49,  // .......I
12665                 /* 0D30 */  0x01, 0xCE, 0xC0, 0x70, 0xB7, 0x75, 0x76, 0x3F,  // ...p.uv?
12666                 /* 0D38 */  0x3E, 0x7D, 0x1B, 0x3F, 0xD5, 0x03, 0xE5, 0xF3,  // >}.?....
12667                 /* 0D40 */  0x1A, 0xF0, 0x3E, 0x2B, 0xF9, 0xBC, 0x06, 0x78,  // ..>+...x
12668                 /* 0D48 */  0xF8, 0xFF, 0x9F, 0xD7, 0xE0, 0x1E, 0x5B, 0xE0,  // ......[.
12669                 /* 0D50 */  0x89, 0x3C, 0xAF, 0xA1, 0x06, 0x63, 0x49, 0xE7,  // .<...cI.
12670                 /* 0D58 */  0x35, 0xC4, 0x28, 0xD8, 0x5D, 0x02, 0x33, 0x38,  // 5.(.].38
12671                 /* 0D60 */  0x1D, 0xD7, 0x50, 0x14, 0x0E, 0x7F, 0x14, 0xA0,  // ..P.....
12672                 /* 0D68 */  0x3C, 0x8E, 0x7B, 0xDA, 0xA0, 0x20, 0x06, 0x74,  // <.{.. .t
12673                 /* 0D70 */  0x96, 0x43, 0x06, 0xFA, 0xAC, 0xE0, 0x61, 0xE0,  // .C....a.
12674                 /* 0D78 */  0xC6, 0xC6, 0xE6, 0x81, 0x39, 0xAF, 0x01, 0xCB,  // ....9...
12675                 /* 0D80 */  0x83, 0x18, 0x60, 0x73, 0x38, 0x3E, 0x7A, 0xE0,  // ..`s8>z.
12676                 /* 0D88 */  0xFE, 0xFF, 0x07, 0x31, 0xC0, 0x8D, 0x87, 0x83,  // ...1....
12677                 /* 0D90 */  0x18, 0xA0, 0x11, 0xE4, 0x35, 0x20, 0xC4, 0x49,  // ....5 .I
12678                 /* 0D98 */  0x7B, 0xA4, 0x71, 0x42, 0xF4, 0x39, 0x0D, 0x1D,  // {.qB.9..
12679                 /* 0DA0 */  0x05, 0xAC, 0xD0, 0xA6, 0x4F, 0x8D, 0x46, 0xAD,  // ....O.F.
12680                 /* 0DA8 */  0x1A, 0x94, 0xA9, 0x51, 0xA6, 0x41, 0xAD, 0x3E,  // ...Q.A.>
12681                 /* 0DB0 */  0x95, 0x1A, 0x33, 0x56, 0xE8, 0x0C, 0x42, 0xC7,  // ..3V..B.
12682                 /* 0DB8 */  0xED, 0x40, 0x20, 0x34, 0x06, 0x85, 0x40, 0x1C,  // .@ 4..@.
12683                 /* 0DC0 */  0xE0, 0x81, 0x21, 0x10, 0xC7, 0x07, 0xA1, 0xEA,  // ..!.....
12684                 /* 0DC8 */  0x97, 0xA6, 0xB3, 0x87, 0xA3, 0x80, 0x08, 0xC8,  // ........
12685                 /* 0DD0 */  0x3A, 0x4C, 0x00, 0x31, 0x51, 0x20, 0x02, 0xB2,  // :L.1Q ..
12686                 /* 0DD8 */  0x0A, 0x15, 0x40, 0x4C, 0x13, 0x88, 0x80, 0x2C,  // ..@L...,
12687                 /* 0DE0 */  0x76, 0xB1, 0x02, 0xB2, 0x72, 0x10, 0x01, 0x59,  // v...r..Y
12688                 /* 0DE8 */  0xAA, 0x0D, 0x20, 0xF6, 0xFF, 0x17, 0x0E, 0x22,  // .. ...."
12689                 /* 0DF0 */  0x20, 0x47, 0x07, 0xA2, 0x42, 0x74, 0x00, 0xB1,  //  G..Bt..
12690                 /* 0DF8 */  0x58, 0x20, 0x02, 0x72, 0x48, 0x20, 0x2A, 0xDB,  // X .rH *.
12691                 /* 0E00 */  0x07, 0x10, 0x0B, 0x01, 0xA2, 0xF3, 0x04, 0x79,  // .......y
12692                 /* 0E08 */  0x32, 0x08, 0xC8, 0xE2, 0x40, 0x04, 0xE4, 0x68,  // 2...@..h
12693                 /* 0E10 */  0x40, 0x34, 0x28, 0x10, 0x95, 0x48, 0x23, 0x20,  // @4(..H# 
12694                 /* 0E18 */  0x0B, 0xA6, 0x10, 0x90, 0xC3, 0x02, 0xD1, 0xE8,  // ........
12695                 /* 0E20 */  0x40, 0x54, 0xF6, 0x63, 0x43, 0x83, 0x20, 0x20,  // @T.cC.  
12696                 /* 0E28 */  0x3A, 0x33, 0x10, 0x27, 0x40, 0x4C, 0x0E, 0x88,  // :3.'@L..
12697                 /* 0E30 */  0x80, 0x1C, 0x05, 0x88, 0x06, 0x03, 0xA2, 0x92,  // ........
12698                 /* 0E38 */  0xA4, 0x00, 0x31, 0x81, 0x20, 0x02, 0x72, 0x06,  // ..1. .r.
12699                 /* 0E40 */  0x2D, 0x40, 0x2C, 0x10, 0x88, 0x80, 0x2C, 0xC4,  // -@,...,.
12700                 /* 0E48 */  0x0B, 0x10, 0x53, 0x05, 0x22, 0x20, 0xA7, 0x01,  // ..S." ..
12701                 /* 0E50 */  0xA2, 0xD1, 0x80, 0xA8, 0xA4, 0x47, 0x82, 0x80,  // .....G..
12702                 /* 0E58 */  0xAC, 0x0F, 0x44, 0x40, 0x8E, 0x08, 0x44, 0xF3,  // ..D@..D.
12703                 /* 0E60 */  0x02, 0x51, 0xB5, 0x66, 0x80, 0x98, 0x74, 0x10,  // .Q.f..t.
12704                 /* 0E68 */  0x01, 0x39, 0x36, 0x10, 0xD5, 0xF0, 0x82, 0x11,  // .96.....
12705                 /* 0E70 */  0x90, 0xC5, 0x83, 0x08, 0xC8, 0x49, 0x80, 0xA8,  // .....I..
12706                 /* 0E78 */  0x74, 0x37, 0x40, 0x2C, 0x08, 0x88, 0x80, 0x1C,  // t7@,....
12707                 /* 0E80 */  0xDA, 0x0E, 0x10, 0x93, 0xA0, 0x67, 0x80, 0x14,  // .....g..
12708                 /* 0E88 */  0x44, 0x03, 0x24, 0x40, 0x54, 0xA0, 0x1F, 0x20,  // D.$@T.. 
12709                 /* 0E90 */  0x26, 0x17, 0x44, 0x03, 0x21, 0x40, 0x54, 0xC4,  // &.D.!@T.
12710                 /* 0E98 */  0xAB, 0x42, 0x40, 0x0E, 0x03, 0xA2, 0xC1, 0x11,  // .B@.....
12711                 /* 0EA0 */  0x20, 0x2A, 0xD2, 0x10, 0x10, 0x93, 0x0C, 0x22,  //  *....."
12712                 /* 0EA8 */  0x20, 0x87, 0x07, 0xA2, 0x52, 0xBE, 0xB3, 0x3A,  //  ...R..:
12713                 /* 0EB0 */  0x38, 0x10, 0x10, 0x01, 0x39, 0x1E, 0x10, 0x95,  // 8...9...
12714                 /* 0EB8 */  0xE7, 0x08, 0x88, 0x89, 0x05, 0xD1, 0xF1, 0x81,  // ........
12715                 /* 0EC0 */  0x58, 0x02, 0x62, 0x99, 0x40, 0x74, 0x38, 0x20,  // X.b.@t8 
12716                 /* 0EC8 */  0x9A, 0x80, 0x98, 0x36, 0x10, 0x1D, 0x14, 0x08,  // ...6....
12717                 /* 0ED0 */  0x10, 0xFD, 0xFF, 0x67, 0x04, 0xA2, 0xF2, 0x3C,  // ...g...<
12718                 /* 0ED8 */  0x01, 0x31, 0xAD, 0x20, 0x02, 0x72, 0x4C, 0x20,  // .1. .rL 
12719                 /* 0EE0 */  0x9A, 0x19, 0x88, 0xCA, 0x16, 0x05, 0xC4, 0x32,  // .......2
12720                 /* 0EE8 */  0x80, 0x08, 0xC8, 0x0A, 0x4C, 0x1D, 0x0E, 0x28,  // ....L..(
12721                 /* 0EF0 */  0x88, 0x80, 0x9C, 0x1F, 0x88, 0xAA, 0x51, 0x05,  // ......Q.
12722                 /* 0EF8 */  0xC4, 0x72, 0x3C, 0x4F, 0x04, 0xE4, 0x50, 0x20,  // .r<O..P 
12723                 /* 0F00 */  0x02, 0xB2, 0x1E, 0x5B, 0x87, 0x07, 0x0A, 0x22,  // ...[..."
12724                 /* 0F08 */  0x20, 0x07, 0x05, 0xA2, 0xA9, 0x81, 0x68, 0x4C,  //  .....hL
12725                 /* 0F10 */  0x5D, 0x40, 0x2C, 0x34, 0x88, 0x80, 0xAC, 0xEB,  // ]@,4....
12726                 /* 0F18 */  0x3D, 0x13, 0x88, 0x88, 0x04, 0x11, 0x90, 0x65,  // =......e
12727                 /* 0F20 */  0x29, 0x03, 0xA2, 0x20, 0x3A, 0x74, 0x10, 0x69,  // ).. :t.i
12728                 /* 0F28 */  0x40, 0x2C, 0x0E, 0x88, 0x80, 0x2C, 0xCA, 0x1A,  // @,...,..
12729                 /* 0F30 */  0x10, 0x93, 0x08, 0x22, 0x20, 0x6B, 0xF4, 0x76,  // ..." k.v
12730                 /* 0F38 */  0xA0, 0xA0, 0x20, 0x02, 0xB2, 0xC2, 0x2F, 0x92,  // .. .../.
12731                 /* 0F40 */  0x80, 0xAC, 0x17, 0x44, 0x40, 0xCE, 0xED, 0x0E,  // ...D@...
12732                 /* 0F48 */  0x84, 0xA9, 0x96, 0x07, 0xC2, 0xD2, 0xDA, 0x3B,  // .......;
12733                 /* 0F50 */  0x58, 0x50, 0x10, 0x01, 0x59, 0xF1, 0x6F, 0x49,  // XP..Y.oI
12734                 /* 0F58 */  0x40, 0x96, 0x0F, 0xA2, 0x03, 0x01, 0x01, 0xA2,  // @.......
12735                 /* 0F60 */  0x4A, 0xFC, 0x1D, 0x3E, 0x28, 0x88, 0x0E, 0x1F,  // J..>(...
12736                 /* 0F68 */  0xE4, 0xDD, 0xA3, 0xC3, 0x01, 0x51, 0x78, 0x38,  // .....Qx8
12737                 /* 0F70 */  0xA0, 0x20, 0x02, 0x72, 0x64, 0x20, 0xFA, 0x69,  // . .rd .i
12738                 /* 0F78 */  0xD1, 0xE0, 0x18, 0x88, 0x06, 0x47, 0x80, 0xA8,  // .....G..
12739                 /* 0F80 */  0x9C, 0x3F, 0x91, 0x06, 0x4D, 0x40, 0x04, 0xE4,  // .?..M@..
12740                 /* 0F88 */  0x70, 0x40, 0x34, 0x2A, 0x10, 0x95, 0xFB, 0x70,  // p@4*...p
12741                 /* 0F90 */  0x11, 0x90, 0xC5, 0x83, 0x08, 0xC8, 0x11, 0xDE,  // ........
12742                 /* 0F98 */  0x64, 0x81, 0x48, 0x1E, 0x10, 0x01, 0x59, 0x90,  // d.H...Y.
12743                 /* 0FA0 */  0x48, 0x20, 0xA6, 0x0E, 0x44, 0x83, 0x20, 0xCF,  // H ..D. .
12744                 /* 0FA8 */  0x9E, 0x83, 0x60, 0x20, 0x02, 0xB2, 0x70, 0x97,  // ..` ..p.
12745                 /* 0FB0 */  0x40, 0x2C, 0x06, 0x88, 0x4E, 0x5E, 0xE4, 0x6B,  // @,..N^.k
12746                 /* 0FB8 */  0x14, 0x88, 0x48, 0x03, 0xD1, 0x60, 0x08, 0x10,  // ..H..`..
12747                 /* 0FC0 */  0xFD, 0xFF, 0x47, 0x05, 0xA2, 0x81, 0x75, 0x02,  // ..G...u.
12748                 /* 0FC8 */  0xB1, 0xF4, 0x20, 0x02, 0xB2, 0xFC, 0x97, 0x4D,  // .. ....M
12749                 /* 0FD0 */  0x20, 0x92, 0x05, 0x44, 0x07, 0x0E, 0xF2, 0x4E,  //  ..D...N
12750                 /* 0FD8 */  0x7A, 0x98, 0x61, 0x20, 0x3A, 0x1C, 0x90, 0x77,  // z.a :..w
12751                 /* 0FE0 */  0xD2, 0xC3, 0x01, 0x03, 0xD1, 0xA1, 0x83, 0x7C,  // .......|
12752                 /* 0FE8 */  0x95, 0x74, 0xE8, 0x20, 0x20, 0x02, 0xB2, 0x94,  // .t.  ...
12753                 /* 0FF0 */  0xBF, 0x4E, 0x20, 0x22, 0x0C, 0x44, 0x40, 0x0E,  // .N ".D@.
12754                 /* 0FF8 */  0x06, 0x44, 0x63, 0x02, 0xD1, 0xB8, 0x9F, 0xAC,  // .Dc.....
12755                 /* 1000 */  0x40, 0x24, 0x3B, 0x88, 0x0E, 0x2E, 0xE4, 0xC5,  // @$;.....
12756                 /* 1008 */  0xF4, 0x40, 0xC0, 0x40, 0x04, 0xE4, 0xFF, 0x3F   // .@.@...?
12757             })
12758             Method (BST1, 3, Serialized)
12759             {
12760                 DELT (0x64)
12761                 CreateByteField (Arg2, Zero, PK00)
12762                 CreateByteField (Arg2, One, PK01)
12763                 CreateByteField (Arg2, 0x02, PK02)
12764                 CreateByteField (Arg2, 0x03, PK03)
12765                 CreateByteField (Arg2, 0x04, PK04)
12766                 CreateByteField (Arg2, 0x05, PK05)
12767                 CreateByteField (Arg2, 0x06, PK06)
12768                 CreateByteField (Arg2, 0x07, PK07)
12769                 If ((PK06 == 0xFF)){}
12770                 Else
12771                 {
12772                     Name (PK6T, Buffer (0x04){})
12773                     CreateByteField (PK6T, Zero, PKT0)
12774                     CreateByteField (PK6T, One, PKT1)
12775                     CreateByteField (PK6T, 0x02, PKT2)
12776                     If ((PK07 == Zero))
12777                     {
12778                         CMSW (0x56, 0x88)
12779                         EPFG = One
12780                         ECMB = 0x11
12781                         ELEN = One
12782                         EDTA = Zero
12783                         ECCP = 0xB4
12784                         WAEC ()
12785                         Return (Zero)
12786                     }
12787                 }
12788 
12789                 If ((PK06 != 0xFE))
12790                 {
12791                     EPFG = One
12792                     ECMB = 0x11
12793                     ELEN = One
12794                     CMSW (0x57, 0x77)
12795                     Switch (PK06)
12796                     {
12797                         Case (Zero)
12798                         {
12799                             CMSW (0x52, 0xB0)
12800                             EDTA = 0x02
12801                             ECCP = 0xB4
12802                             WAEC ()
12803                             EPFG = One
12804                             ECMB = 0x18
12805                             ELEN = 0x03
12806                             PKT0 = PK01 /* \_SB_.WMI_.BST1.PK01 */
12807                             PKT1 = PK02 /* \_SB_.WMI_.BST1.PK02 */
12808                             PKT2 = PK03 /* \_SB_.WMI_.BST1.PK03 */
12809                             EDTA = PK6T /* \_SB_.WMI_.BST1.PK6T */
12810                             DELT (0x64)
12811                             ECCP = 0xB4
12812                             WAEC ()
12813                         }
12814                         Case (One)
12815                         {
12816                             CMSW (0x52, 0xB1)
12817                             EDTA = 0x05
12818                             ECCP = 0xB4
12819                             WAEC ()
12820                         }
12821                         Case (0x02)
12822                         {
12823                             CMSW (0x52, 0xB2)
12824                             EDTA = 0x04
12825                             ECCP = 0xB4
12826                             WAEC ()
12827                         }
12828                         Case (0x03)
12829                         {
12830                             CMSW (0x52, 0xB3)
12831                             EDTA = 0x03
12832                             ECCP = 0xB4
12833                             WAEC ()
12834                             EPFG = One
12835                             ECMB = 0x18
12836                             ELEN = 0x03
12837                             PKT0 = PK01 /* \_SB_.WMI_.BST1.PK01 */
12838                             PKT1 = PK02 /* \_SB_.WMI_.BST1.PK02 */
12839                             PKT2 = PK03 /* \_SB_.WMI_.BST1.PK03 */
12840                             EDTA = PK6T /* \_SB_.WMI_.BST1.PK6T */
12841                             DELT (0x03E8)
12842                             ECCP = 0xB4
12843                             WAEC ()
12844                         }
12845                         Case (0x04)
12846                         {
12847                             CMSW (0x52, 0xB4)
12848                             EDTA = 0x06
12849                             ECCP = 0xB4
12850                             WAEC ()
12851                         }
12852                         Case (0x05)
12853                         {
12854                             CMSW (0x52, 0xB5)
12855                             EDTA = 0x07
12856                             ECCP = 0xB4
12857                             WAEC ()
12858                         }
12859                         Case (0x06)
12860                         {
12861                             CMSW (0x52, 0xB6)
12862                             EDTA = 0x08
12863                             ECCP = 0xB4
12864                             WAEC ()
12865                         }
12866                         Case (0x07)
12867                         {
12868                             CMSW (0x52, 0xB7)
12869                             EDTA = 0x09
12870                             ECCP = 0xB4
12871                             WAEC ()
12872                         }
12873                         Case (0x08)
12874                         {
12875                             CMSW (0x52, 0xB8)
12876                             EDTA = 0x0A
12877                             ECCP = 0xB4
12878                             WAEC ()
12879                         }
12880                         Case (0xFF)
12881                         {
12882                             CMSW (0x52, 0xB0)
12883                             LDSC ()
12884                             Return (Zero)
12885                         }
12886 
12887                     }
12888                 }
12889 
12890                 Name (BRST, Buffer (0x05){})
12891                 CreateByteField (BRST, Zero, BRS0)
12892                 CreateByteField (BRST, One, BRS1)
12893                 CreateByteField (BRST, 0x02, BRS2)
12894                 CreateByteField (BRST, 0x03, BRS3)
12895                 CreateByteField (BRST, 0x04, BRS4)
12896                 If ((PK04 != 0xFE))
12897                 {
12898                     CMSW (0x55, 0x77)
12899                     EPFG = One
12900                     ECMB = 0x13
12901                     ELEN = 0x05
12902                     BRS0 = 0xFF
12903                     BRS1 = One
12904                     BRS2 = PK04 /* \_SB_.WMI_.BST1.PK04 */
12905                     BRS3 = Zero
12906                     BRS4 = Zero
12907                     EDTA = BRST /* \_SB_.WMI_.BST1.BRST */
12908                     ECCP = 0xB4
12909                     WAEC ()
12910                 }
12911 
12912                 If ((PK05 != 0xFE))
12913                 {
12914                     CMSW (0x56, 0x77)
12915                     EPFG = One
12916                     ECMB = 0x13
12917                     ELEN = 0x05
12918                     BRS0 = 0xFF
12919                     BRS1 = 0x02
12920                     BRS2 = Zero
12921                     BRS3 = PK05 /* \_SB_.WMI_.BST1.PK05 */
12922                     BRS4 = Zero
12923                     EDTA = BRST /* \_SB_.WMI_.BST1.BRST */
12924                     ECCP = 0xB4
12925                     WAEC ()
12926                 }
12927 
12928                 Name (LLBR, Buffer (0x08){})
12929                 CreateByteField (LLBR, Zero, LLB0)
12930                 CreateByteField (LLBR, One, LLB1)
12931                 CreateByteField (LLBR, 0x02, LLB2)
12932                 CreateByteField (LLBR, 0x03, LLB3)
12933                 CreateByteField (LLBR, 0x04, LLB4)
12934                 CreateByteField (LLBR, 0x05, LLB5)
12935                 CreateByteField (LLBR, 0x06, LLB6)
12936                 CreateByteField (LLBR, 0x07, LLB7)
12937                 PK00 &= 0x30
12938                 CMSW (0x52, PK00)
12939                 If ((PK00 == 0x30))
12940                 {
12941                     EPFG = One
12942                     ECMB = 0x40
12943                     ELEN = 0x08
12944                     LLB0 = Zero
12945                     LLB1 = PK01 /* \_SB_.WMI_.BST1.PK01 */
12946                     LLB2 = PK02 /* \_SB_.WMI_.BST1.PK02 */
12947                     LLB3 = PK03 /* \_SB_.WMI_.BST1.PK03 */
12948                     LLB4 = One
12949                     LLB5 = PK01 /* \_SB_.WMI_.BST1.PK01 */
12950                     LLB6 = PK02 /* \_SB_.WMI_.BST1.PK02 */
12951                     LLB7 = PK03 /* \_SB_.WMI_.BST1.PK03 */
12952                     EDTA = LLBR /* \_SB_.WMI_.BST1.LLBR */
12953                     DELT (0x03E8)
12954                     ECCP = 0xB4
12955                     WAEC ()
12956                 }
12957 
12958                 If (((PK00 == 0x10) || (PK00 == 0x20)))
12959                 {
12960                     CMSW (0x49, 0x77)
12961                     EPFG = One
12962                     ECMB = 0x40
12963                     ELEN = 0x04
12964                     If ((PK00 == 0x10))
12965                     {
12966                         CMSW (0x56, 0x88)
12967                         LLB0 = Zero
12968                     }
12969                     Else
12970                     {
12971                         CMSW (0x56, 0x99)
12972                         LLB0 = One
12973                     }
12974 
12975                     LLB1 = PK01 /* \_SB_.WMI_.BST1.PK01 */
12976                     LLB2 = PK02 /* \_SB_.WMI_.BST1.PK02 */
12977                     LLB3 = PK03 /* \_SB_.WMI_.BST1.PK03 */
12978                     EDTA = LLBR /* \_SB_.WMI_.BST1.LLBR */
12979                     DELT (0x03E8)
12980                     ECCP = 0xB4
12981                     WAEC ()
12982                 }
12983 
12984                 CMSW (0x58, 0x66)
12985                 Return (Zero)
12986             }
12987 
12988             Method (BST2, 3, Serialized)
12989             {
12990                 CreateByteField (Arg2, Zero, FA00)
12991                 CreateByteField (Arg2, One, FA01)
12992                 CreateByteField (Arg2, 0x02, FA02)
12993                 CreateByteField (Arg2, 0x03, FA03)
12994                 CreateByteField (Arg2, 0x04, FA04)
12995                 CreateByteField (Arg2, 0x05, FA05)
12996                 CreateByteField (Arg2, 0x06, FA06)
12997                 CreateByteField (Arg2, 0x07, FA07)
12998                 If ((FA06 == 0xFF)){}
12999                 Else
13000                 {
13001                     Name (PK6T, Buffer (0x04){})
13002                     CreateByteField (PK6T, Zero, PKT0)
13003                     CreateByteField (PK6T, One, PKT1)
13004                     CreateByteField (PK6T, 0x02, PKT2)
13005                     If ((FA07 == Zero))
13006                     {
13007                         CMSW (0x56, 0x88)
13008                         EPFG = One
13009                         ECMB = 0x11
13010                         ELEN = One
13011                         EDTA = Zero
13012                         ECCP = 0xB4
13013                         WAEC ()
13014                         Return (Zero)
13015                     }
13016                 }
13017 
13018                 If ((FA06 != 0xFE))
13019                 {
13020                     EPFG = One
13021                     ECMB = 0x11
13022                     ELEN = One
13023                     CMSW (0x57, 0x77)
13024                     Switch (FA06)
13025                     {
13026                         Case (Zero)
13027                         {
13028                             CMSW (0x52, 0xB0)
13029                             EDTA = 0x02
13030                             ECCP = 0xB4
13031                             WAEC ()
13032                             EPFG = One
13033                             ECMB = 0x18
13034                             ELEN = 0x03
13035                             PKT0 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13036                             PKT1 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13037                             PKT2 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13038                             EDTA = PK6T /* \_SB_.WMI_.BST2.PK6T */
13039                             DELT (0x64)
13040                             ECCP = 0xB4
13041                             WAEC ()
13042                         }
13043                         Case (One)
13044                         {
13045                             CMSW (0x52, 0xB1)
13046                             EDTA = 0x05
13047                             ECCP = 0xB4
13048                             WAEC ()
13049                         }
13050                         Case (0x02)
13051                         {
13052                             CMSW (0x52, 0xB2)
13053                             EDTA = 0x04
13054                             ECCP = 0xB4
13055                             WAEC ()
13056                         }
13057                         Case (0x03)
13058                         {
13059                             CMSW (0x52, 0xB3)
13060                             EDTA = 0x03
13061                             ECCP = 0xB4
13062                             WAEC ()
13063                             EPFG = One
13064                             ECMB = 0x18
13065                             ELEN = 0x03
13066                             PKT0 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13067                             PKT1 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13068                             PKT2 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13069                             EDTA = PK6T /* \_SB_.WMI_.BST2.PK6T */
13070                             DELT (0x64)
13071                             ECCP = 0xB4
13072                             WAEC ()
13073                         }
13074                         Case (0x04)
13075                         {
13076                             CMSW (0x52, 0xB4)
13077                             EDTA = 0x06
13078                             ECCP = 0xB4
13079                             WAEC ()
13080                         }
13081                         Case (0x05)
13082                         {
13083                             CMSW (0x52, 0xB5)
13084                             EDTA = 0x07
13085                             ECCP = 0xB4
13086                             WAEC ()
13087                         }
13088                         Case (0x06)
13089                         {
13090                             CMSW (0x52, 0xB6)
13091                             EDTA = 0x08
13092                             ECCP = 0xB4
13093                             WAEC ()
13094                         }
13095                         Case (0x07)
13096                         {
13097                             CMSW (0x52, 0xB7)
13098                             EDTA = 0x09
13099                             ECCP = 0xB4
13100                             WAEC ()
13101                         }
13102                         Case (0x08)
13103                         {
13104                             CMSW (0x52, 0xB8)
13105                             EDTA = 0x0A
13106                             ECCP = 0xB4
13107                             WAEC ()
13108                         }
13109                         Case (0xFF)
13110                         {
13111                             CMSW (0x52, 0xB0)
13112                             FCFN ()
13113                             Return (Zero)
13114                         }
13115 
13116                     }
13117                 }
13118 
13119                 Name (BRST, Buffer (0x05){})
13120                 CreateByteField (BRST, Zero, BRS0)
13121                 CreateByteField (BRST, One, BRS1)
13122                 CreateByteField (BRST, 0x02, BRS2)
13123                 CreateByteField (BRST, 0x03, BRS3)
13124                 CreateByteField (BRST, 0x04, BRS4)
13125                 If ((FA04 != 0xFE))
13126                 {
13127                     CMSW (0x55, 0x77)
13128                     EPFG = One
13129                     ECMB = 0x13
13130                     ELEN = 0x05
13131                     BRS0 = 0xFF
13132                     BRS1 = One
13133                     BRS2 = FA04 /* \_SB_.WMI_.BST2.FA04 */
13134                     BRS3 = Zero
13135                     BRS4 = Zero
13136                     EDTA = BRST /* \_SB_.WMI_.BST2.BRST */
13137                     ECCP = 0xB4
13138                     WAEC ()
13139                 }
13140 
13141                 If ((FA05 != 0xFE))
13142                 {
13143                     CMSW (0x56, 0x77)
13144                     EPFG = One
13145                     ECMB = 0x13
13146                     ELEN = 0x05
13147                     BRS0 = 0xFF
13148                     BRS1 = 0x02
13149                     BRS2 = Zero
13150                     BRS3 = FA05 /* \_SB_.WMI_.BST2.FA05 */
13151                     BRS4 = Zero
13152                     EDTA = BRST /* \_SB_.WMI_.BST2.BRST */
13153                     ECCP = 0xB4
13154                     WAEC ()
13155                 }
13156 
13157                 Name (LLBR, Buffer (0x08){})
13158                 CreateByteField (LLBR, Zero, LLB0)
13159                 CreateByteField (LLBR, One, LLB1)
13160                 CreateByteField (LLBR, 0x02, LLB2)
13161                 CreateByteField (LLBR, 0x03, LLB3)
13162                 CreateByteField (LLBR, 0x04, LLB4)
13163                 CreateByteField (LLBR, 0x05, LLB5)
13164                 CreateByteField (LLBR, 0x06, LLB6)
13165                 CreateByteField (LLBR, 0x07, LLB7)
13166                 Name (FLAB, Zero)
13167                 Name (FACS, Zero)
13168                 FACS = (FA00 & 0x0F)
13169                 CMSW (0x58, FACS)
13170                 FLAB = (FA00 & 0x30)
13171                 If ((FLAB == 0x30))
13172                 {
13173                     EPFG = One
13174                     ECMB = 0x40
13175                     ELEN = 0x08
13176                     LLB0 = Zero
13177                     LLB1 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13178                     LLB2 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13179                     LLB3 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13180                     LLB4 = One
13181                     LLB5 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13182                     LLB6 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13183                     LLB7 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13184                     EDTA = LLBR /* \_SB_.WMI_.BST2.LLBR */
13185                     DELT (0x03E8)
13186                     ECCP = 0xB4
13187                     WAEC ()
13188                 }
13189 
13190                 If (((FLAB == 0x10) || (FLAB == 0x20)))
13191                 {
13192                     CMSW (0x49, 0x77)
13193                     EPFG = One
13194                     ECMB = 0x40
13195                     ELEN = 0x04
13196                     If ((FLAB == 0x10))
13197                     {
13198                         CMSW (0x56, 0x88)
13199                         LLB0 = Zero
13200                     }
13201                     Else
13202                     {
13203                         CMSW (0x56, 0x99)
13204                         LLB0 = One
13205                     }
13206 
13207                     LLB1 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13208                     LLB2 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13209                     LLB3 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13210                     EDTA = LLBR /* \_SB_.WMI_.BST2.LLBR */
13211                     DELT (0x64)
13212                     ECCP = 0xB4
13213                     WAEC ()
13214                 }
13215 
13216                 If ((FACS != Zero))
13217                 {
13218                     Name (FCRG, Buffer (0x10){})
13219                     CreateByteField (FCRG, Zero, FCA0)
13220                     CreateByteField (FCRG, One, FCA1)
13221                     CreateByteField (FCRG, 0x02, FCA2)
13222                     CreateByteField (FCRG, 0x03, FCA3)
13223                     CreateByteField (FCRG, 0x04, FCA4)
13224                     CreateByteField (FCRG, 0x05, FCA5)
13225                     CreateByteField (FCRG, 0x06, FCA6)
13226                     CreateByteField (FCRG, 0x07, FCA7)
13227                     CreateByteField (FCRG, 0x08, FCA8)
13228                     CreateByteField (FCRG, 0x09, FCA9)
13229                     CreateByteField (FCRG, 0x0A, FCB0)
13230                     CreateByteField (FCRG, 0x0B, FCB1)
13231                     CreateByteField (FCRG, 0x0C, FCB2)
13232                     CreateByteField (FCRG, 0x0D, FCB3)
13233                     CreateByteField (FCRG, 0x0E, FCB4)
13234                     CreateByteField (FCRG, 0x0F, FCB5)
13235                     If ((FACS == 0x0F))
13236                     {
13237                         CMSW (0x57, 0x76)
13238                         EPFG = One
13239                         ECMB = 0x20
13240                         ELEN = 0x10
13241                         FCA0 = One
13242                         FCA1 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13243                         FCA2 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13244                         FCA3 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13245                         FCA4 = 0x02
13246                         FCA5 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13247                         FCA6 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13248                         FCA7 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13249                         FCA8 = 0x03
13250                         FCA9 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13251                         FCB0 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13252                         FCB1 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13253                         FCB2 = 0x04
13254                         FCB3 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13255                         FCB4 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13256                         FCB5 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13257                     }
13258                     Else
13259                     {
13260                         EPFG = One
13261                         ECMB = 0x20
13262                         ELEN = 0x04
13263                         Switch (FACS)
13264                         {
13265                             Case (One)
13266                             {
13267                                 FCA0 = One
13268                             }
13269                             Case (0x02)
13270                             {
13271                                 FCA0 = 0x02
13272                             }
13273                             Case (0x04)
13274                             {
13275                                 FCA0 = 0x03
13276                             }
13277                             Case (0x08)
13278                             {
13279                                 FCA0 = 0x04
13280                             }
13281 
13282                         }
13283 
13284                         FCA1 = FA01 /* \_SB_.WMI_.BST2.FA01 */
13285                         FCA2 = FA02 /* \_SB_.WMI_.BST2.FA02 */
13286                         FCA3 = FA03 /* \_SB_.WMI_.BST2.FA03 */
13287                     }
13288 
13289                     EDTA = FCRG /* \_SB_.WMI_.BST2.FCRG */
13290                     DELT (0x64)
13291                     ECCP = 0xB4
13292                     WAEC ()
13293                 }
13294 
13295                 Return (Zero)
13296             }
13297 
13298             Method (BST3, 3, NotSerialized)
13299             {
13300                 CreateByteField (Arg2, Zero, PK00)
13301                 CreateByteField (Arg2, One, PK01)
13302                 CreateByteField (Arg2, 0x02, PK02)
13303                 CreateByteField (Arg2, 0x03, PK03)
13304                 CreateByteField (Arg2, 0x04, PK04)
13305                 CreateByteField (Arg2, 0x05, PK05)
13306                 CreateByteField (Arg2, 0x06, PK06)
13307                 CreateByteField (Arg2, 0x07, PK07)
13308                 EPFG = One
13309                 ECMB = 0x30
13310                 ELEN = One
13311                 If ((PK06 == 0xFF))
13312                 {
13313                     CMSW (0x56, 0x99)
13314                     EDTA = 0x05
13315                 }
13316                 ElseIf ((PK07 == Zero))
13317                 {
13318                     CMSW (0x56, 0x88)
13319                     EDTA = Zero
13320                 }
13321                 Else
13322                 {
13323                     EDTA = PK04 /* \_SB_.WMI_.BST3.PK04 */
13324                     CMSW (0x56, 0x77)
13325                 }
13326 
13327                 DELT (0x64)
13328                 ECCP = 0xB4
13329                 WAEC ()
13330                 Return (Zero)
13331             }
13332 
13333             Method (QEKE, 0, NotSerialized)
13334             {
13335                 Name (QKEF, Buffer (0x0A){})
13336                 CreateByteField (QKEF, One, QK01)
13337                 CMSW (0x41, 0x76)
13338                 EPFG = One
13339                 ECMB = 0x14
13340                 ELEN = 0x02
13341                 ECCP = 0xB4
13342                 WAEC ()
13343                 Sleep (0x32)
13344                 QKEF = EDTA /* \_SB_.EDTA */
13345                 CMSW (0x47, DerefOf (QKEF [One]))
13346                 EVNT = (0x08 + DerefOf (QKEF [One]))
13347             }
13348 
13349             Method (FEVT, 3, NotSerialized)
13350             {
13351                 CMSW (0x47, 0x99)
13352                 Name (WMIE, Buffer (0x0200){})
13353                 Name (KNU0, Zero)
13354                 Name (KNU1, Zero)
13355                 WMIE = Arg2
13356                 DELT (0x0FA0)
13357                 CreateField (WMIE, Zero, 0x77, ECHS)
13358                 CreateByteField (WMIE, 0x0F, CLNR)
13359                 CreateField (WMIE, 0x80, 0x0780, PDB1)
13360                 CreateField (WMIE, 0x0800, 0x0778, PDB2)
13361                 CMSW (0x48, CLNR)
13362                 If ((CLNR > 0x3C))
13363                 {
13364                     KNU0 = 0x3C
13365                     KNU1 = (CLNR - KNU0)
13366                     CMSW (0x46, KNU0)
13367                     CMSW (0x4A, KNU1)
13368                 }
13369                 Else
13370                 {
13371                     KNU0 = CLNR /* \_SB_.WMI_.FEVT.CLNR */
13372                     CMSW (0x46, KNU0)
13373                 }
13374 
13375                 CMSW (0x4C, 0x66)
13376                 EDTA = PDB1 /* \_SB_.WMI_.FEVT.PDB1 */
13377                 DELT (0x03E8)
13378                 EPFG = One
13379                 ECMB = 0x10
13380                 ELEN = (KNU0 * 0x04)
13381                 ECCP = 0xB4
13382                 WAEC ()
13383                 If ((CLNR > 0x3C))
13384                 {
13385                     EDTA = PDB2 /* \_SB_.WMI_.FEVT.PDB2 */
13386                     DELT (0x03E8)
13387                     EPFG = One
13388                     ECMB = 0x10
13389                     ELEN = (KNU1 * 0x04)
13390                     ECCP = 0xB4
13391                     WAEC ()
13392                 }
13393             }
13394 
13395             Method (LDSC, 0, Serialized)
13396             {
13397                 EPFG = One
13398                 ECMB = 0x11
13399                 ELEN = One
13400                 EDTA = 0x02
13401                 ECCP = 0xB4
13402                 WAEC ()
13403                 DELT (0x64)
13404                 EPFG = One
13405                 ECMB = 0x17
13406                 ELEN = One
13407                 EDTA = 0x04
13408                 ECCP = 0xB4
13409                 WAEC ()
13410             }
13411 
13412             Method (LDS0, 0, Serialized)
13413             {
13414                 EPFG = One
13415                 ECMB = 0x11
13416                 ELEN = One
13417                 EDTA = One
13418                 ECCP = 0xB4
13419                 WAEC ()
13420             }
13421 
13422             Method (LDS1, 0, Serialized)
13423             {
13424                 DELT (0x03E8)
13425                 Name (BRIG, Buffer (0x05)
13426                 {
13427                      0xFF, 0x01, 0x05, 0x00, 0x00                     // .....
13428                 })
13429                 EPFG = One
13430                 ECMB = 0x13
13431                 ELEN = 0x05
13432                 EDTA = BRIG /* \_SB_.WMI_.LDS1.BRIG */
13433                 ECCP = 0xB4
13434                 WAEC ()
13435             }
13436 
13437             Method (LDS2, 0, Serialized)
13438             {
13439                 Name (SPEE, Buffer (0x05)
13440                 {
13441                      0xFF, 0x02, 0x00, 0x05, 0x00                     // .....
13442                 })
13443                 EPFG = One
13444                 ECMB = 0x13
13445                 ELEN = 0x05
13446                 EDTA = SPEE /* \_SB_.WMI_.LDS2.SPEE */
13447                 ECCP = 0xB4
13448                 WAEC ()
13449             }
13450 
13451             Method (LDS3, 0, Serialized)
13452             {
13453                 Name (LIGH, Buffer (0x08)
13454                 {
13455                      0x00, 0x00, 0x00, 0xE3, 0x01, 0x00, 0x00, 0xE3   // ........
13456                 })
13457                 EPFG = One
13458                 ECMB = 0x40
13459                 ELEN = 0x08
13460                 EDTA = LIGH /* \_SB_.WMI_.LDS3.LIGH */
13461                 ECCP = 0xB4
13462                 WAEC ()
13463             }
13464 
13465             Method (FCFN, 0, Serialized)
13466             {
13467                 CMSW (0x57, 0x77)
13468                 Name (FNUN, Buffer (0x10){})
13469                 CreateByteField (FNUN, Zero, FCC0)
13470                 CreateByteField (FNUN, One, FCC1)
13471                 CreateByteField (FNUN, 0x02, FCC2)
13472                 CreateByteField (FNUN, 0x03, FCC3)
13473                 CreateByteField (FNUN, 0x04, FCC4)
13474                 CreateByteField (FNUN, 0x05, FCC5)
13475                 CreateByteField (FNUN, 0x06, FCC6)
13476                 CreateByteField (FNUN, 0x07, FCC7)
13477                 CreateByteField (FNUN, 0x08, FCC8)
13478                 CreateByteField (FNUN, 0x09, FCC9)
13479                 CreateByteField (FNUN, 0x0A, FCD0)
13480                 CreateByteField (FNUN, 0x0B, FCD1)
13481                 CreateByteField (FNUN, 0x0C, FCD2)
13482                 CreateByteField (FNUN, 0x0D, FCD3)
13483                 CreateByteField (FNUN, 0x0E, FCD4)
13484                 CreateByteField (FNUN, 0x0F, FCD5)
13485                 EPFG = One
13486                 ECMB = 0x20
13487                 ELEN = 0x10
13488                 FCC0 = One
13489                 FCC1 = Zero
13490                 FCC2 = Zero
13491                 FCC3 = 0xFF
13492                 FCC4 = 0x02
13493                 FCC5 = 0xFF
13494                 FCC6 = Zero
13495                 FCC7 = Zero
13496                 FCC8 = 0x03
13497                 FCC9 = 0xFF
13498                 FCD0 = 0xFF
13499                 FCD1 = Zero
13500                 FCD2 = 0x04
13501                 FCD3 = Zero
13502                 FCD4 = 0x80
13503                 FCD5 = Zero
13504                 EDTA = FNUN /* \_SB_.WMI_.FCFN.FNUN */
13505                 DELT (0x64)
13506                 ECCP = 0xB4
13507                 WAEC ()
13508             }
13509 
13510             Name (WRBF, Buffer (0x08){})
13511             CreateByteField (WRBF, Zero, WNF0)
13512             CreateByteField (WRBF, One, WNF1)
13513             Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event, xx=0x00-0xFF
13514             {
13515                 CMSW (0x5B, 0x33)
13516                 CMSW (0x58, Arg0)
13517                 If ((Arg0 == 0xD0))
13518                 {
13519                     CMSW (0x59, 0xBB)
13520                     CMSW (0x5A, EVNT)
13521                     WNF0 = One
13522                     WNF1 = EVNT /* \_SB_.WMI_.EVNT */
13523                     Return (WRBF) /* \_SB_.WMI_.WRBF */
13524                 }
13525 
13526                 Return (Zero)
13527             }
13528         }
13529     }
13530 
13531     Scope (_SB.PCI0.SBRG.H_EC)
13532     {
13533         Method (_Q08, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
13534         {
13535             Debug = "Airplan F9 ke is press to SCI Q_08="
13536             If (^^^^HIDD.HRDY)
13537             {
13538                 Debug = "HRDY is True"
13539                 ^^^^HIDD.HPEM (0x08)
13540             }
13541         }
13542     }
13543 
13544     Scope (_SB)
13545     {
13546         Device (HIDD)
13547         {
13548             Name (_HID, "INT33D5")  // _HID: Hardware ID
13549             Name (HBSY, Zero)
13550             Name (HIDX, Zero)
13551             Name (HMDE, Zero)
13552             Name (HRDY, Zero)
13553             Method (HDDM, 0, Serialized)
13554             {
13555                 Return (Zero)
13556             }
13557 
13558             Method (HDEM, 0, Serialized)
13559             {
13560                 HBSY = Zero
13561                 Return (HIDX) /* \_SB_.HIDD.HIDX */
13562             }
13563 
13564             Method (HDMM, 0, Serialized)
13565             {
13566                 Return (Zero)
13567             }
13568 
13569             Method (HDSM, 1, Serialized)
13570             {
13571                 HRDY = Arg0
13572             }
13573 
13574             Method (HPEM, 1, Serialized)
13575             {
13576                 HBSY = One
13577                 HIDX = Arg0
13578                 Notify (HIDD, 0xC0) // Hardware-Specific
13579                 Local0 = Zero
13580                 While (((Local0 < 0xFA) && HBSY))
13581                 {
13582                     Sleep (0x04)
13583                     Local0++
13584                 }
13585 
13586                 If ((HBSY == One))
13587                 {
13588                     HBSY = Zero
13589                     HIDX = Zero
13590                     Return (One)
13591                 }
13592                 Else
13593                 {
13594                     Return (Zero)
13595                 }
13596             }
13597         }
13598     }
13599 
13600     Scope (\_SB)
13601     {
13602         Device (ACDC)
13603         {
13604             Name (_HID, "ACPI000E" /* Time and Alarm Device */)  // _HID: Hardware ID
13605             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
13606             {
13607                 GpioInt (Edge, ActiveLow, SharedAndWake, PullUp, 0x0BB8,
13608                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
13609                     )
13610                     {   // Pin list
13611                         0x0034
13612                     }
13613             })
13614             OperationRegion (CMOP, SystemMemory, 0xFED81D00, 0x0100)
13615             Field (CMOP, DWordAcc, NoLock, Preserve)
13616             {
13617                 ATVE,   32, 
13618                 AETP,   32, 
13619                 ATED,   1, 
13620                 ATWP,   1, 
13621                 Offset (0x10), 
13622                 DTVE,   32, 
13623                 DETP,   32, 
13624                 DTED,   1, 
13625                 DTWP,   1, 
13626                 Offset (0x20), 
13627                 BUSY,   1, 
13628                 Offset (0x21), 
13629                 ATEE,   1, 
13630                 DTEE,   1
13631             }
13632 
13633             Method (_INI, 0, NotSerialized)  // _INI: Initialize
13634             {
13635                 ATEE = One
13636                 DTEE = One
13637             }
13638 
13639             Method (AINT, 0, NotSerialized)
13640             {
13641                 ATEE = One
13642             }
13643 
13644             Method (DINT, 0, NotSerialized)
13645             {
13646                 DTEE = One
13647             }
13648 
13649             Method (_GCP, 0, NotSerialized)  // _GCP: Get Capabilities
13650             {
13651                 Return (0xA7)
13652             }
13653 
13654             Method (_STP, 2, NotSerialized)  // _STP: Set Expired Timer Wake Policy
13655             {
13656                 If ((Arg0 == Zero))
13657                 {
13658                     AETP = Arg1
13659                 }
13660                 Else
13661                 {
13662                     DETP = Arg1
13663                 }
13664 
13665                 Return (Zero)
13666             }
13667 
13668             Method (_TIP, 1, NotSerialized)  // _TIP: Expired Timer Wake Policy
13669             {
13670                 If ((Arg0 == Zero))
13671                 {
13672                     Local0 = AETP /* \_SB_.ACDC.AETP */
13673                 }
13674                 Else
13675                 {
13676                     Local0 = DETP /* \_SB_.ACDC.DETP */
13677                 }
13678 
13679                 Return (Local0)
13680             }
13681 
13682             Method (_STV, 2, NotSerialized)  // _STV: Set Timer Value
13683             {
13684                 If ((Arg0 == Zero))
13685                 {
13686                     AINT ()
13687                     ATVE = Arg1
13688                 }
13689                 Else
13690                 {
13691                     DINT ()
13692                     DTVE = Arg1
13693                 }
13694 
13695                 Return (Zero)
13696             }
13697 
13698             Method (_TIV, 1, NotSerialized)  // _TIV: Timer Values
13699             {
13700                 If ((Arg0 == Zero))
13701                 {
13702                     Local0 = ATVE /* \_SB_.ACDC.ATVE */
13703                 }
13704                 Else
13705                 {
13706                     Local0 = DTVE /* \_SB_.ACDC.DTVE */
13707                 }
13708 
13709                 Return (Local0)
13710             }
13711 
13712             Method (_GWS, 1, NotSerialized)  // _GWS: Get Wake Status
13713             {
13714                 If ((Arg0 == Zero))
13715                 {
13716                     Local0 = (ATWP << One)
13717                     Local0 |= ATED /* \_SB_.ACDC.ATED */
13718                 }
13719                 Else
13720                 {
13721                     Local0 = (DTWP << One)
13722                     Local0 |= DTED /* \_SB_.ACDC.DTED */
13723                 }
13724 
13725                 Return (Local0)
13726             }
13727 
13728             Method (_CWS, 1, NotSerialized)  // _CWS: Clear Wake Alarm Status
13729             {
13730                 If ((Arg0 == Zero))
13731                 {
13732                     ATWP = One
13733                 }
13734                 Else
13735                 {
13736                     DTWP = One
13737                 }
13738 
13739                 Return (Zero)
13740             }
13741 
13742             OperationRegion (PM00, SystemMemory, 0xFED80300, 0x0100)
13743             Field (PM00, AnyAcc, NoLock, Preserve)
13744             {
13745                 Offset (0x56), 
13746                 RCTL,   16
13747             }
13748 
13749             OperationRegion (RRTC, SystemIO, 0x72, 0x02)
13750             Field (RRTC, ByteAcc, NoLock, Preserve)
13751             {
13752                 RTCI,   8, 
13753                 RTCD,   8
13754             }
13755 
13756             OperationRegion (CMOM, SystemMemory, 0xFED80700, 0x0100)
13757             Field (CMOM, ByteAcc, NoLock, Preserve)
13758             {
13759                 SECR,   8, 
13760                 SECA,   8, 
13761                 MINR,   8, 
13762                 MINA,   8, 
13763                 HONR,   8, 
13764                 HONA,   8, 
13765                 DYWR,   8, 
13766                 DYMR,   8, 
13767                 MONR,   8, 
13768                 YARR,   8, 
13769                 RTRA,   8, 
13770                 RTRB,   8, 
13771                 RTRC,   8, 
13772                 RTDA,   8, 
13773                 Offset (0x32), 
13774                 RTAC,   8, 
13775                 Offset (0x48), 
13776                 RTCC,   8, 
13777                 Offset (0x50), 
13778                 ERAP,   8, 
13779                 Offset (0x53), 
13780                 ERDP,   8, 
13781                 Offset (0x7E), 
13782                 RTTC,   8, 
13783                 RTRE,   8
13784             }
13785 
13786             Name (TZLI, 0xFF)
13787             Name (TZVL, 0xFF)
13788             Name (TZVH, 0xFF)
13789             Name (LIVR, 0xFF)
13790             Name (RBUF, Buffer (0x10)
13791             {
13792                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
13793                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
13794             })
13795             Mutex (RTCL, 0x00)
13796             Method (_GRT, 0, Serialized)  // _GRT: Get Real Time
13797             {
13798                 CreateWordField (RBUF, Zero, YEAW)
13799                 CreateByteField (RBUF, 0x02, MONB)
13800                 CreateByteField (RBUF, 0x03, DAYB)
13801                 CreateByteField (RBUF, 0x04, HOUB)
13802                 CreateByteField (RBUF, 0x05, MINB)
13803                 CreateByteField (RBUF, 0x06, SECB)
13804                 CreateByteField (RBUF, 0x07, VALB)
13805                 CreateWordField (RBUF, 0x08, MILW)
13806                 CreateWordField (RBUF, 0x0A, TIMW)
13807                 CreateByteField (RBUF, 0x0C, LIGB)
13808                 Acquire (RTCL, 0xFFFF)
13809                 FromBCD (SECR, SECB) /* \_SB_.ACDC._GRT.SECB */
13810                 FromBCD (MINR, MINB) /* \_SB_.ACDC._GRT.MINB */
13811                 FromBCD (HONR, HOUB) /* \_SB_.ACDC._GRT.HOUB */
13812                 FromBCD (DYMR, DAYB) /* \_SB_.ACDC._GRT.DAYB */
13813                 FromBCD (MONR, MONB) /* \_SB_.ACDC._GRT.MONB */
13814                 FromBCD (YARR, YEAW) /* \_SB_.ACDC._GRT.YEAW */
13815                 If ((((RTRA & 0x10) != 0x10) && ((RCTL & 
13816                     0x1000) == 0x1000)))
13817                 {
13818                     FromBCD (RTAC, Local0)
13819                 }
13820                 ElseIf (((RTRA & 0x10) == 0x10))
13821                 {
13822                     FromBCD (RTCC, Local0)
13823                 }
13824                 Else
13825                 {
13826                     CopyObject (0x14, Local0)
13827                 }
13828 
13829                 Local0 *= 0x64
13830                 YEAW += Local0 /* \_SB_.ACDC._GRT.YEAW */
13831                 If ((TZLI != 0xFF))
13832                 {
13833                     RTCI = TZVL /* \_SB_.ACDC.TZVL */
13834                     Local1 = RTCD /* \_SB_.ACDC.RTCD */
13835                     RTCI = TZVH /* \_SB_.ACDC.TZVH */
13836                     Local2 = (RTCD << 0x08)
13837                     Local2 |= Local1
13838                     RTCI = LIVR /* \_SB_.ACDC.LIVR */
13839                     Local3 = RTCD /* \_SB_.ACDC.RTCD */
13840                     TIMW = Local2
13841                     LIGB = Local3
13842                 }
13843                 Else
13844                 {
13845                     TIMW = 0x07FF
13846                     LIGB = Zero
13847                 }
13848 
13849                 MILW = One
13850                 VALB = One
13851                 Release (RTCL)
13852                 Return (RBUF) /* \_SB_.ACDC.RBUF */
13853             }
13854 
13855             Method (_SRT, 1, Serialized)  // _SRT: Set Real Time
13856             {
13857                 CreateWordField (Arg0, Zero, YEAW)
13858                 CreateByteField (Arg0, 0x02, MONB)
13859                 CreateByteField (Arg0, 0x03, DAYB)
13860                 CreateByteField (Arg0, 0x04, HOUB)
13861                 CreateByteField (Arg0, 0x05, MINB)
13862                 CreateByteField (Arg0, 0x06, SECB)
13863                 CreateWordField (Arg0, 0x08, MILW)
13864                 CreateWordField (Arg0, 0x0A, TIMW)
13865                 CreateByteField (Arg0, 0x0C, LIGB)
13866                 Acquire (RTCL, 0xFFFF)
13867                 Local2 = RTRB /* \_SB_.ACDC.RTRB */
13868                 RTRB |= 0x80
13869                 ToBCD (SECB, SECR) /* \_SB_.ACDC.SECR */
13870                 ToBCD (MINB, MINR) /* \_SB_.ACDC.MINR */
13871                 ToBCD (HOUB, HONR) /* \_SB_.ACDC.HONR */
13872                 ToBCD (DAYB, DYMR) /* \_SB_.ACDC.DYMR */
13873                 ToBCD (MONB, MONR) /* \_SB_.ACDC.MONR */
13874                 Divide (YEAW, 0x64, Local0, Local1)
13875                 ToBCD (Local0, YARR) /* \_SB_.ACDC.YARR */
13876                 If ((((RTRA & 0x10) != 0x10) && ((RCTL & 
13877                     0x1000) == 0x1000)))
13878                 {
13879                     ToBCD (Local1, RTAC) /* \_SB_.ACDC.RTAC */
13880                 }
13881                 ElseIf (((RTRA & 0x10) == 0x10))
13882                 {
13883                     ToBCD (Local1, RTCC) /* \_SB_.ACDC.RTCC */
13884                 }
13885 
13886                 RTRB = Local2
13887                 If ((TZLI != 0xFF))
13888                 {
13889                     Local3 = (TIMW >> 0x08)
13890                     RTCI = TZVH /* \_SB_.ACDC.TZVH */
13891                     RTCD = Local3
13892                     Local3 = (TIMW & 0xFFFF)
13893                     RTCI = TZVL /* \_SB_.ACDC.TZVL */
13894                     RTCD = Local3
13895                     RTCI = LIVR /* \_SB_.ACDC.LIVR */
13896                     RTCD = LIGB /* \_SB_.ACDC._SRT.LIGB */
13897                 }
13898 
13899                 Release (RTCL)
13900                 Return (Zero)
13901             }
13902         }
13903     }
13904 
13905     OperationRegion (PM00, SystemMemory, 0xFED80300, 0x0100)
13906     Field (PM00, AnyAcc, NoLock, Preserve)
13907     {
13908         Offset (0x6A), 
13909         SWSP,   8
13910     }
13911 
13912     OperationRegion (SWRG, SystemIO, SWSP, 0x02)
13913     Field (SWRG, AnyAcc, NoLock, Preserve)
13914     {
13915         SWCP,   8, 
13916         SWDP,   8
13917     }
13918 
13919     Scope (\_SB)
13920     {
13921         Name (STDS, One)
13922         Name (STDD, One)
13923         Name (SCPD, 0xB1)
13924         Name (SCPU, 0xB2)
13925     }
13926 
13927     Scope (\_SB.PCI0.GP18.SATA)
13928     {
13929         Name (D0S0, One)
13930         Name (D3S0, One)
13931         PowerResource (P0S0, 0x00, 0x0000)
13932         {
13933             Method (_STA, 0, NotSerialized)  // _STA: Status
13934             {
13935                 Return (D0S0) /* \_SB_.PCI0.GP18.SATA.D0S0 */
13936             }
13937 
13938             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13939             {
13940                 D0S0 = One
13941             }
13942 
13943             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13944             {
13945                 D0S0 = Zero
13946             }
13947         }
13948 
13949         PowerResource (P3S0, 0x00, 0x0000)
13950         {
13951             Method (_STA, 0, NotSerialized)  // _STA: Status
13952             {
13953                 Return (D3S0) /* \_SB_.PCI0.GP18.SATA.D3S0 */
13954             }
13955 
13956             Method (_ON, 0, NotSerialized)  // _ON_: Power On
13957             {
13958                 D3S0 = One
13959             }
13960 
13961             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
13962             {
13963                 D3S0 = Zero
13964             }
13965         }
13966 
13967         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
13968         {
13969             P0S0
13970         })
13971         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
13972         {
13973             P3S0
13974         })
13975         Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
13976         {
13977             ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
13978             Package (0x01)
13979             {
13980                 Package (0x02)
13981                 {
13982                     "StorageD3Enable", 
13983                     One
13984                 }
13985             }
13986         })
13987         Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
13988         {
13989             If ((STDS == One))
13990             {
13991                 Return (0x04)
13992             }
13993             Else
13994             {
13995                 Return (Zero)
13996             }
13997         }
13998 
13999         Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
14000         {
14001             If ((STDS == One))
14002             {
14003                 If ((STDD == Zero))
14004                 {
14005                     SWDP = Zero
14006                     SWCP = SCPU /* \_SB_.SCPU */
14007                 }
14008             }
14009         }
14010 
14011         Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
14012         {
14013             If ((STDS == One))
14014             {
14015                 If ((STDD == Zero))
14016                 {
14017                     SWDP = Zero
14018                     SWCP = SCPD /* \_SB_.SCPD */
14019                 }
14020             }
14021         }
14022     }
14023 
14024     Scope (\_SB)
14025     {
14026         Name (AGRB, 0xE0000000)
14027         Name (ADBG, Buffer (0x0100){})
14028         Mutex (AM00, 0x00)
14029         Name (ADAT, Buffer (0x0520)
14030         {
14031             /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14032             /* 0008 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14033             /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14034             /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14035             /* 0020 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14036             /* 0028 */  0x07, 0xFF, 0xFF, 0x00, 0x03, 0x00, 0x00, 0x00,  // ........
14037             /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,  // ........
14038             /* 0038 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14039             /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14040             /* 0048 */  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,  // ........
14041             /* 0050 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14042             /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
14043             /* 0060 */  0x00, 0x00, 0x00, 0x08, 0x08, 0xFF, 0xFF, 0x03,  // ........
14044             /* 0068 */  0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14045             /* 0070 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x09,  // ........
14046             /* 0078 */  0x09, 0xFF, 0xFF, 0x04, 0x00, 0x01, 0x03, 0x00,  // ........
14047             /* 0080 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,  // ........
14048             /* 0088 */  0x00, 0x00, 0x00, 0x0C, 0x0F, 0xFF, 0xFF, 0x00,  // ........
14049             /* 0090 */  0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14050             /* 0098 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10,  // ........
14051             /* 00A0 */  0x13, 0xFF, 0xFF, 0x01, 0x00, 0x02, 0x01, 0x00,  // ........
14052             /* 00A8 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,  // ........
14053             /* 00B0 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14054             /* 00B8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14055             /* 00C0 */  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,  // ........
14056             /* 00C8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14057             /* 00D0 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,  // ........
14058             /* 00D8 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14059             /* 00E0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14060             /* 00E8 */  0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00,  // ........
14061             /* 00F0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14062             /* 00F8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14063             /* 0100 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14064             /* 0108 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14065             /* 0110 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14066             /* 0118 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14067             /* 0120 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14068             /* 0128 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14069             /* 0130 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14070             /* 0138 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14071             /* 0140 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14072             /* 0148 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14073             /* 0150 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14074             /* 0158 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14075             /* 0160 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14076             /* 0168 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14077             /* 0170 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14078             /* 0178 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14079             /* 0180 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14080             /* 0188 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14081             /* 0190 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14082             /* 0198 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14083             /* 01A0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14084             /* 01A8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14085             /* 01B0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14086             /* 01B8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14087             /* 01C0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14088             /* 01C8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14089             /* 01D0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14090             /* 01D8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14091             /* 01E0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14092             /* 01E8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14093             /* 01F0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14094             /* 01F8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14095             /* 0200 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14096             /* 0208 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14097             /* 0210 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14098             /* 0218 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14099             /* 0220 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14100             /* 0228 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14101             /* 0230 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14102             /* 0238 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14103             /* 0240 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14104             /* 0248 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14105             /* 0250 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14106             /* 0258 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14107             /* 0260 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14108             /* 0268 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14109             /* 0270 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14110             /* 0278 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14111             /* 0280 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14112             /* 0288 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14113             /* 0290 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14114             /* 0298 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14115             /* 02A0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14116             /* 02A8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14117             /* 02B0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14118             /* 02B8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14119             /* 02C0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14120             /* 02C8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14121             /* 02D0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14122             /* 02D8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14123             /* 02E0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14124             /* 02E8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14125             /* 02F0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14126             /* 02F8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14127             /* 0300 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14128             /* 0308 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14129             /* 0310 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14130             /* 0318 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14131             /* 0320 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14132             /* 0328 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14133             /* 0330 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14134             /* 0338 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14135             /* 0340 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14136             /* 0348 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14137             /* 0350 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14138             /* 0358 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14139             /* 0360 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14140             /* 0368 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14141             /* 0370 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14142             /* 0378 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14143             /* 0380 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14144             /* 0388 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14145             /* 0390 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14146             /* 0398 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14147             /* 03A0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14148             /* 03A8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14149             /* 03B0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14150             /* 03B8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14151             /* 03C0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14152             /* 03C8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14153             /* 03D0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14154             /* 03D8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14155             /* 03E0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14156             /* 03E8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14157             /* 03F0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14158             /* 03F8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14159             /* 0400 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14160             /* 0408 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14161             /* 0410 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14162             /* 0418 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14163             /* 0420 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14164             /* 0428 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14165             /* 0430 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14166             /* 0438 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14167             /* 0440 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14168             /* 0448 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14169             /* 0450 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14170             /* 0458 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14171             /* 0460 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14172             /* 0468 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14173             /* 0470 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14174             /* 0478 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14175             /* 0480 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14176             /* 0488 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14177             /* 0490 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14178             /* 0498 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14179             /* 04A0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14180             /* 04A8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14181             /* 04B0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14182             /* 04B8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14183             /* 04C0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14184             /* 04C8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14185             /* 04D0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14186             /* 04D8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14187             /* 04E0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14188             /* 04E8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14189             /* 04F0 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14190             /* 04F8 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14191             /* 0500 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14192             /* 0508 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14193             /* 0510 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
14194             /* 0518 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
14195         })
14196         Method (ALIB, 2, NotSerialized)
14197         {
14198             If ((Arg0 == 0x00))
14199             {
14200                 CreateWordField (Arg1, 0x00, A013)
14201                 CreateWordField (Arg1, 0x02, A014)
14202                 CreateDWordField (Arg1, 0x04, A015)
14203                 Local0 = Buffer (0x0100){}
14204                 CreateWordField (Local0, 0x00, A016)
14205                 A016 = A013 /* \_SB_.ALIB.A013 */
14206                 CreateWordField (Local0, 0x02, A017)
14207                 A017 = A014 /* \_SB_.ALIB.A014 */
14208                 CreateDWordField (Local0, 0x04, A018)
14209                 A018 = A015 /* \_SB_.ALIB.A015 */
14210                 A018 &= ~0x0F
14211                 If ((DerefOf (\_SB.ADAT [0x00]) > 0x00))
14212                 {
14213                     Local1 = 0x0F
14214                 }
14215                 Else
14216                 {
14217                     Local1 = 0x01
14218                 }
14219 
14220                 A018 |= Local1
14221                 Return (Local0)
14222             }
14223 
14224             If ((Arg0 == 0x01))
14225             {
14226                 Local0 = DerefOf (Arg1 [0x02])
14227                 Return (A019 (Local0))
14228             }
14229 
14230             If ((Arg0 == 0x02))
14231             {
14232                 Local0 = Buffer (0x0100)
14233                     {
14234                          0x03, 0x00, 0x00                                 // ...
14235                     }
14236                 Return (Local0)
14237             }
14238 
14239             If ((Arg0 == 0x03))
14240             {
14241                 Local0 = Buffer (0x0100)
14242                     {
14243                          0x03, 0x00, 0x00                                 // ...
14244                     }
14245                 Return (Local0)
14246             }
14247 
14248             If ((Arg0 == 0x06))
14249             {
14250                 Local0 = DerefOf (Arg1 [0x04])
14251                 Local1 = DerefOf (Arg1 [0x02])
14252                 Return (A022 (Local0, Local1))
14253             }
14254 
14255             If ((Arg0 == 0x0A))
14256             {
14257                 Local0 = DerefOf (Arg1 [0x02])
14258                 Return (A023 (Local0))
14259             }
14260 
14261             If ((Arg0 == 0x0B))
14262             {
14263                 Local0 = DerefOf (Arg1 [0x02])
14264                 Local1 = DerefOf (Arg1 [0x03])
14265                 Local2 = DerefOf (Arg1 [0x04])
14266                 Local2 |= (DerefOf (Arg1 [0x05]) << 0x08)
14267                 Local2 |= (DerefOf (Arg1 [0x06]) << 0x10)
14268                 Local2 |= (DerefOf (Arg1 [0x07]) << 0x18)
14269                 Local3 = DerefOf (Arg1 [0x08])
14270                 Local3 |= (DerefOf (Arg1 [0x09]) << 0x08)
14271                 Local3 |= (DerefOf (Arg1 [0x0A]) << 0x10)
14272                 Local3 |= (DerefOf (Arg1 [0x0B]) << 0x18)
14273                 Local4 = DerefOf (Arg1 [0x0C])
14274                 Local4 |= (DerefOf (Arg1 [0x0D]) << 0x08)
14275                 Local4 |= (DerefOf (Arg1 [0x0E]) << 0x10)
14276                 Local4 |= (DerefOf (Arg1 [0x0F]) << 0x18)
14277                 Return (A024 (Local0, Local1, Local2, Local3, Local4))
14278             }
14279 
14280             If ((Arg0 == 0x0C))
14281             {
14282                 Return (A025 (Arg1))
14283             }
14284 
14285             If ((Arg0 == 0x10))
14286             {
14287                 Local7 = Buffer (0x18){}
14288                 CreateDWordField (Local7, 0x00, A026)
14289                 CreateDWordField (Local7, 0x04, A027)
14290                 CreateDWordField (Local7, 0x08, A028)
14291                 CreateDWordField (Local7, 0x0C, A029)
14292                 CreateDWordField (Local7, 0x10, A030)
14293                 CreateDWordField (Local7, 0x14, A031)
14294                 A026 = 0x00
14295                 A027 = 0x00
14296                 A028 = 0x00
14297                 A029 = 0x00
14298                 A030 = 0x00
14299                 A031 = 0x00
14300                 A011 (0x28, Local7)
14301             }
14302 
14303             If ((Arg0 == 0x11))
14304             {
14305                 Local6 = Buffer (0x18){}
14306                 CreateDWordField (Local6, 0x00, A005)
14307                 CreateDWordField (Local6, 0x04, A006)
14308                 CreateDWordField (Local6, 0x08, A007)
14309                 CreateDWordField (Local6, 0x0C, A008)
14310                 CreateDWordField (Local6, 0x10, A009)
14311                 CreateDWordField (Local6, 0x14, A010)
14312                 A005 = 0x00
14313                 A006 = 0x00
14314                 A007 = 0x00
14315                 A008 = 0x00
14316                 A009 = 0x00
14317                 A010 = 0x00
14318                 A011 (0x27, Local6)
14319             }
14320 
14321             If ((Arg0 == 0x12))
14322             {
14323                 Local6 = Buffer (0x18){}
14324                 CreateDWordField (Local6, 0x00, A032)
14325                 CreateDWordField (Local6, 0x04, A033)
14326                 CreateDWordField (Local6, 0x08, A034)
14327                 CreateDWordField (Local6, 0x0C, A035)
14328                 CreateDWordField (Local6, 0x10, A036)
14329                 CreateDWordField (Local6, 0x14, A037)
14330                 A032 = 0x40
14331                 A033 = 0x00
14332                 A034 = 0x00
14333                 A035 = 0x00
14334                 A036 = 0x00
14335                 A037 = 0x00
14336                 Local5 = 0x01
14337                 Acquire (\_SB.AM00, 0xFFFF)
14338                 Local0 = A038 /* \_SB_.A038 */
14339                 Local1 = A039 /* \_SB_.A039 */
14340                 Local2 = A040 /* \_SB_.A040 */
14341                 Local3 = A041 /* \_SB_.A041 */
14342                 Release (\_SB.AM00)
14343                 If ((((Local0 & 0x3F) != 0x1F) && ((
14344                     Local0 & 0x3F) != 0x00)))
14345                 {
14346                     If (((Local0 & 0x3F) != 0x08))
14347                     {
14348                         Local5 = 0x00
14349                     }
14350                 }
14351                 ElseIf ((((Local1 & 0x3F) != 0x1F) && (
14352                     (Local1 & 0x3F) != 0x00)))
14353                 {
14354                     If (((Local1 & 0x3F) != 0x08))
14355                     {
14356                         Local5 = 0x00
14357                     }
14358                 }
14359                 ElseIf ((((Local2 & 0x3F) != 0x1F) && (
14360                     (Local2 & 0x3F) != 0x00)))
14361                 {
14362                     If (((Local2 & 0x3F) != 0x08))
14363                     {
14364                         Local5 = 0x00
14365                     }
14366                 }
14367                 ElseIf ((((Local3 & 0x3F) != 0x1F) && (
14368                     (Local3 & 0x3F) != 0x00)))
14369                 {
14370                     If (((Local3 & 0x3F) != 0x08))
14371                     {
14372                         Local5 = 0x00
14373                     }
14374                 }
14375 
14376                 If ((Local5 == 0x01))
14377                 {
14378                     A011 (0x09, Local6)
14379                 }
14380             }
14381 
14382             If ((Arg0 == 0x13))
14383             {
14384                 Local6 = Buffer (0x18){}
14385                 CreateDWordField (Local6, 0x00, A042)
14386                 CreateDWordField (Local6, 0x04, A043)
14387                 CreateDWordField (Local6, 0x08, A044)
14388                 CreateDWordField (Local6, 0x0C, A045)
14389                 CreateDWordField (Local6, 0x10, A046)
14390                 CreateDWordField (Local6, 0x14, A047)
14391                 A042 = 0x41
14392                 A043 = 0x00
14393                 A044 = 0x00
14394                 A045 = 0x00
14395                 A046 = 0x00
14396                 A047 = 0x00
14397                 Local5 = 0x01
14398                 Acquire (\_SB.AM00, 0xFFFF)
14399                 Local0 = A038 /* \_SB_.A038 */
14400                 Local1 = A039 /* \_SB_.A039 */
14401                 Local2 = A040 /* \_SB_.A040 */
14402                 Local3 = A041 /* \_SB_.A041 */
14403                 Release (\_SB.AM00)
14404                 If ((((Local0 & 0x3F) != 0x08) && ((
14405                     Local0 & 0x3F) != 0x00)))
14406                 {
14407                     Local5 = 0x00
14408                 }
14409                 ElseIf ((((Local1 & 0x3F) != 0x08) && (
14410                     (Local1 & 0x3F) != 0x00)))
14411                 {
14412                     Local5 = 0x00
14413                 }
14414                 ElseIf ((((Local2 & 0x3F) != 0x08) && (
14415                     (Local2 & 0x3F) != 0x00)))
14416                 {
14417                     Local5 = 0x00
14418                 }
14419                 ElseIf ((((Local3 & 0x3F) != 0x08) && (
14420                     (Local3 & 0x3F) != 0x00)))
14421                 {
14422                     Local5 = 0x00
14423                 }
14424 
14425                 If ((Local5 == 0x01))
14426                 {
14427                     A011 (0x09, Local6)
14428                 }
14429             }
14430 
14431             If ((Arg0 == 0x14))
14432             {
14433                 Local6 = Buffer (0x18){}
14434                 CreateDWordField (Local6, 0x00, A048)
14435                 CreateDWordField (Local6, 0x04, A049)
14436                 CreateDWordField (Local6, 0x08, A050)
14437                 CreateDWordField (Local6, 0x0C, A051)
14438                 CreateDWordField (Local6, 0x10, A052)
14439                 CreateDWordField (Local6, 0x14, A053)
14440                 A048 = Arg1
14441                 A049 = 0x00
14442                 A050 = 0x00
14443                 A051 = 0x00
14444                 A052 = 0x00
14445                 A053 = 0x00
14446                 A011 (0x61, Local6)
14447             }
14448 
14449             If ((Arg0 == 0x15))
14450             {
14451                 Local6 = Buffer (0x18){}
14452                 CreateDWordField (Local6, 0x00, A054)
14453                 CreateDWordField (Local6, 0x04, A055)
14454                 CreateDWordField (Local6, 0x08, A056)
14455                 CreateDWordField (Local6, 0x0C, A057)
14456                 CreateDWordField (Local6, 0x10, A058)
14457                 CreateDWordField (Local6, 0x14, A059)
14458                 A054 = Arg1
14459                 A055 = 0x00
14460                 A056 = 0x00
14461                 A057 = 0x00
14462                 A058 = 0x00
14463                 A059 = 0x00
14464                 A011 (0x65, Local6)
14465             }
14466 
14467             If ((Arg0 == 0x16))
14468             {
14469                 Local6 = Buffer (0x18){}
14470                 CreateDWordField (Local6, 0x00, A060)
14471                 CreateDWordField (Local6, 0x04, A061)
14472                 CreateDWordField (Local6, 0x08, A062)
14473                 CreateDWordField (Local6, 0x0C, A063)
14474                 CreateDWordField (Local6, 0x10, A064)
14475                 CreateDWordField (Local6, 0x14, A065)
14476                 A060 = Arg1
14477                 A061 = 0x00
14478                 A062 = 0x00
14479                 A063 = 0x00
14480                 A064 = 0x00
14481                 A065 = 0x00
14482                 A011 (0x66, Local6)
14483             }
14484 
14485             If ((Arg0 == 0xAA))
14486             {
14487                 Local6 = Buffer (0x18){}
14488                 CreateDWordField (Local6, 0x00, A066)
14489                 CreateDWordField (Local6, 0x04, A067)
14490                 CreateDWordField (Local6, 0x08, A068)
14491                 CreateDWordField (Local6, 0x0C, A069)
14492                 CreateDWordField (Local6, 0x10, A070)
14493                 CreateDWordField (Local6, 0x14, A071)
14494                 A066 = 0x00
14495                 A067 = 0x00
14496                 A068 = 0x00
14497                 A069 = 0x00
14498                 A070 = 0x00
14499                 A071 = 0x00
14500                 A072 (Arg1)
14501             }
14502 
14503             Return (0x00)
14504         }
14505 
14506         Method (A022, 2, NotSerialized)
14507         {
14508             Local0 = 0x00
14509             While ((Local0 < 0x0B))
14510             {
14511                 Local1 = A123 (Local0, Arg1)
14512                 If ((Local1 == 0x01))
14513                 {
14514                     Local2 = A124 (Local0, Arg0)
14515                     Break
14516                 }
14517 
14518                 Local0++
14519             }
14520 
14521             Local7 = Buffer (0x0A){}
14522             CreateWordField (Local7, 0x00, A016)
14523             CreateByteField (Local7, 0x02, A074)
14524             CreateByteField (Local7, 0x03, A125)
14525             A016 = 0x04
14526             A074 = 0x00
14527             If ((Local2 == 0x00))
14528             {
14529                 A125 = 0x00
14530             }
14531             Else
14532             {
14533                 A125 = 0x01
14534             }
14535 
14536             Return (Local7)
14537         }
14538 
14539         Method (A123, 2, NotSerialized)
14540         {
14541             If ((Arg0 == 0x00))
14542             {
14543                 Return (\_SB.AWR0.ABR0.A118 (Arg1))
14544             }
14545 
14546             If ((Arg0 == 0x01))
14547             {
14548                 Return (\_SB.AWR0.ABR1.A118 (Arg1))
14549             }
14550 
14551             If ((Arg0 == 0x02))
14552             {
14553                 Return (\_SB.AWR0.ABR2.A118 (Arg1))
14554             }
14555 
14556             If ((Arg0 == 0x03))
14557             {
14558                 Return (\_SB.AWR0.ABR3.A118 (Arg1))
14559             }
14560 
14561             If ((Arg0 == 0x04))
14562             {
14563                 Return (\_SB.AWR0.ABR4.A118 (Arg1))
14564             }
14565 
14566             If ((Arg0 == 0x05))
14567             {
14568                 Return (\_SB.AWR0.ABR5.A118 (Arg1))
14569             }
14570 
14571             If ((Arg0 == 0x06))
14572             {
14573                 Return (\_SB.AWR0.ABR6.A118 (Arg1))
14574             }
14575         }
14576 
14577         Method (A124, 2, NotSerialized)
14578         {
14579             If ((Arg0 == 0x00))
14580             {
14581                 Return (\_SB.AWR0.ABR0.A119 (Arg1))
14582             }
14583 
14584             If ((Arg0 == 0x01))
14585             {
14586                 Return (\_SB.AWR0.ABR1.A119 (Arg1))
14587             }
14588 
14589             If ((Arg0 == 0x02))
14590             {
14591                 Return (\_SB.AWR0.ABR2.A119 (Arg1))
14592             }
14593 
14594             If ((Arg0 == 0x03))
14595             {
14596                 Return (\_SB.AWR0.ABR3.A119 (Arg1))
14597             }
14598 
14599             If ((Arg0 == 0x04))
14600             {
14601                 Return (\_SB.AWR0.ABR4.A119 (Arg1))
14602             }
14603 
14604             If ((Arg0 == 0x05))
14605             {
14606                 Return (\_SB.AWR0.ABR5.A119 (Arg1))
14607             }
14608 
14609             If ((Arg0 == 0x06))
14610             {
14611                 Return (\_SB.AWR0.ABR6.A119 (Arg1))
14612             }
14613         }
14614 
14615         Name (AD00, 0x00)
14616         Name (DK00, 0x00)
14617         Method (A019, 1, NotSerialized)
14618         {
14619             AD00 = Arg0
14620             A004 ()
14621         }
14622 
14623         Method (A023, 1, NotSerialized)
14624         {
14625             DK00 = Arg0
14626         }
14627 
14628         Method (A024, 5, NotSerialized)
14629         {
14630         }
14631 
14632         Name (AP01, 0x00)
14633         Name (AP02, 0x00)
14634         Name (AP03, 0x00)
14635         Name (AP05, 0x00)
14636         Name (AP0B, 0xFF)
14637         Name (AP10, 0x00)
14638         Method (A073, 1, NotSerialized)
14639         {
14640             Local7 = Buffer (0x0100){}
14641             CreateWordField (Local7, 0x00, A016)
14642             A016 = 0x03
14643             CreateByteField (Local7, 0x02, A074)
14644             A074 = 0x01
14645             If ((DerefOf (\_SB.ADAT [0x00]) == 0x01))
14646             {
14647                 A074 = 0x02
14648                 Return (Local7)
14649             }
14650 
14651             If ((DerefOf (\_SB.ADAT [0x00]) == 0x00))
14652             {
14653                 A074 = 0x01
14654                 Return (Local7)
14655             }
14656 
14657             A075 (Arg0)
14658             If ((AP05 != 0x01))
14659             {
14660                 Return (Local7)
14661             }
14662 
14663             A076 ()
14664             A074 = 0x02
14665             Return (Local7)
14666         }
14667 
14668         Method (A077, 0, NotSerialized)
14669         {
14670             If ((DerefOf (\_SB.ADAT [0x00]) <= 0x01))
14671             {
14672                 Return (0x00)
14673             }
14674 
14675             If ((AP05 != 0x01))
14676             {
14677                 Return (0x00)
14678             }
14679 
14680             A076 ()
14681         }
14682 
14683         Method (A078, 1, NotSerialized)
14684         {
14685             If ((Arg0 == 0x03))
14686             {
14687                 AP01 = 0x00
14688             }
14689         }
14690 
14691         Method (A079, 1, NotSerialized)
14692         {
14693             AP10 = 0x01
14694         }
14695 
14696         Method (A080, 1, NotSerialized)
14697         {
14698             AP05 = Arg0
14699             If ((DerefOf (\_SB.ADAT [0x00]) <= 0x01))
14700             {
14701                 Return (0x00)
14702             }
14703 
14704             Local1 = AP0B /* \_SB_.AP0B */
14705             If ((AP05 == 0x00))
14706             {
14707                 Local0 = 0x00
14708                 While ((Local0 < 0x0B))
14709                 {
14710                     A081 (Local0)
14711                     Local0++
14712                 }
14713 
14714                 AP0B = 0x00
14715             }
14716 
14717             A076 ()
14718             AP0B = Local1
14719             Local7 = Buffer (0x0100){}
14720             Local7 [0x00] = 0x03
14721             Local7 [0x01] = 0x00
14722             Local7 [0x02] = 0x00
14723             Return (Local7)
14724         }
14725 
14726         Method (A082, 0, NotSerialized)
14727         {
14728             If ((AP0B != 0xFF))
14729             {
14730                 Return (AP0B) /* \_SB_.AP0B */
14731             }
14732 
14733             Return (AD00) /* \_SB_.AD00 */
14734         }
14735 
14736         Method (A075, 1, NotSerialized)
14737         {
14738             CreateWordField (Arg0, 0x02, AP06)
14739             CreateWordField (Arg0, 0x04, AP07)
14740             CreateWordField (Arg0, 0x06, AP08)
14741             CreateByteField (Arg0, 0x08, AP09)
14742             CreateByteField (Arg0, 0x09, AP0A)
14743             Local0 = 0x00
14744             While ((Local0 < 0x0B))
14745             {
14746                 If ((A083 (Local0, AP06) == 0x01))
14747                 {
14748                     If (((AP07 & AP08) == 0x01))
14749                     {
14750                         Local1 = A084 (Local0)
14751                         A085 (Local0, Local1)
14752                     }
14753                     Else
14754                     {
14755                         A085 (Local0, AP0A)
14756                     }
14757 
14758                     Break
14759                 }
14760 
14761                 Local0++
14762             }
14763         }
14764 
14765         Method (A086, 0, NotSerialized)
14766         {
14767             AP02 = 0x01
14768             Local0 = 0x00
14769             While ((Local0 < 0x0B))
14770             {
14771                 Local1 = A087 (Local0)
14772                 If ((Local1 > AP02))
14773                 {
14774                     AP02 = Local1
14775                 }
14776 
14777                 Local0++
14778             }
14779         }
14780 
14781         Method (A088, 0, NotSerialized)
14782         {
14783             AP03 = 0x00
14784             Local0 = 0x00
14785             While ((Local0 < 0x0B))
14786             {
14787                 Local1 = A089 (Local0)
14788                 If ((Local1 > AP03))
14789                 {
14790                     AP03 = Local1
14791                 }
14792 
14793                 Local0++
14794             }
14795         }
14796 
14797         Method (A076, 0, NotSerialized)
14798         {
14799             A088 ()
14800             A086 ()
14801             If ((AP02 != AP01))
14802             {
14803                 A012 (AP02, AP01)
14804             }
14805 
14806             If ((AP02 > AP01))
14807             {
14808                 AP01 = AP02 /* \_SB_.AP02 */
14809             }
14810 
14811             Local0 = 0x00
14812             While ((Local0 < 0x0B))
14813             {
14814                 Local1 = A087 (Local0)
14815                 Local2 = A090 (Local0)
14816                 If ((Local1 != Local2))
14817                 {
14818                     A091 (Local0, Local1)
14819                 }
14820                 ElseIf ((AP10 == 0x01))
14821                 {
14822                     A091 (Local0, Local1)
14823                 }
14824 
14825                 Local0++
14826             }
14827 
14828             If ((AP02 < AP01))
14829             {
14830                 AP01 = AP02 /* \_SB_.AP02 */
14831             }
14832             ElseIf ((AP10 == 0x01))
14833             {
14834                 AP01 = AP02 /* \_SB_.AP02 */
14835             }
14836 
14837             AP10 = 0x00
14838         }
14839 
14840         Method (A091, 2, NotSerialized)
14841         {
14842             If ((Arg0 == 0x00))
14843             {
14844                 Return (\_SB.AWR0.ABR0.A092 (Arg1))
14845             }
14846 
14847             If ((Arg0 == 0x01))
14848             {
14849                 Return (\_SB.AWR0.ABR1.A092 (Arg1))
14850             }
14851 
14852             If ((Arg0 == 0x02))
14853             {
14854                 Return (\_SB.AWR0.ABR2.A092 (Arg1))
14855             }
14856 
14857             If ((Arg0 == 0x03))
14858             {
14859                 Return (\_SB.AWR0.ABR3.A092 (Arg1))
14860             }
14861 
14862             If ((Arg0 == 0x04))
14863             {
14864                 Return (\_SB.AWR0.ABR4.A092 (Arg1))
14865             }
14866 
14867             If ((Arg0 == 0x05))
14868             {
14869                 Return (\_SB.AWR0.ABR5.A092 (Arg1))
14870             }
14871 
14872             If ((Arg0 == 0x06))
14873             {
14874                 Return (\_SB.AWR0.ABR6.A092 (Arg1))
14875             }
14876 
14877             If ((Arg0 == 0x07))
14878             {
14879                 Return (\_SB.AWR0.ABR7.A092 (Arg1))
14880             }
14881         }
14882 
14883         Method (A090, 1, NotSerialized)
14884         {
14885             If ((Arg0 == 0x00))
14886             {
14887                 Return (\_SB.AWR0.ABR0.A093 ())
14888             }
14889 
14890             If ((Arg0 == 0x01))
14891             {
14892                 Return (\_SB.AWR0.ABR1.A093 ())
14893             }
14894 
14895             If ((Arg0 == 0x02))
14896             {
14897                 Return (\_SB.AWR0.ABR2.A093 ())
14898             }
14899 
14900             If ((Arg0 == 0x03))
14901             {
14902                 Return (\_SB.AWR0.ABR3.A093 ())
14903             }
14904 
14905             If ((Arg0 == 0x04))
14906             {
14907                 Return (\_SB.AWR0.ABR4.A093 ())
14908             }
14909 
14910             If ((Arg0 == 0x05))
14911             {
14912                 Return (\_SB.AWR0.ABR5.A093 ())
14913             }
14914 
14915             If ((Arg0 == 0x06))
14916             {
14917                 Return (\_SB.AWR0.ABR6.A093 ())
14918             }
14919 
14920             If ((Arg0 == 0x07))
14921             {
14922                 Return (\_SB.AWR0.ABR7.A093 ())
14923             }
14924         }
14925 
14926         Method (A087, 1, NotSerialized)
14927         {
14928             If ((Arg0 == 0x00))
14929             {
14930                 Return (\_SB.AWR0.ABR0.A094 ())
14931             }
14932 
14933             If ((Arg0 == 0x01))
14934             {
14935                 Return (\_SB.AWR0.ABR1.A094 ())
14936             }
14937 
14938             If ((Arg0 == 0x02))
14939             {
14940                 Return (\_SB.AWR0.ABR2.A094 ())
14941             }
14942 
14943             If ((Arg0 == 0x03))
14944             {
14945                 Return (\_SB.AWR0.ABR3.A094 ())
14946             }
14947 
14948             If ((Arg0 == 0x04))
14949             {
14950                 Return (\_SB.AWR0.ABR4.A094 ())
14951             }
14952 
14953             If ((Arg0 == 0x05))
14954             {
14955                 Return (\_SB.AWR0.ABR5.A094 ())
14956             }
14957 
14958             If ((Arg0 == 0x06))
14959             {
14960                 Return (\_SB.AWR0.ABR6.A094 ())
14961             }
14962 
14963             If ((Arg0 == 0x07))
14964             {
14965                 Return (\_SB.AWR0.ABR7.A094 ())
14966             }
14967         }
14968 
14969         Method (A089, 1, NotSerialized)
14970         {
14971             If ((Arg0 == 0x00))
14972             {
14973                 Return (\_SB.AWR0.ABR0.A095 ())
14974             }
14975 
14976             If ((Arg0 == 0x01))
14977             {
14978                 Return (\_SB.AWR0.ABR1.A095 ())
14979             }
14980 
14981             If ((Arg0 == 0x02))
14982             {
14983                 Return (\_SB.AWR0.ABR2.A095 ())
14984             }
14985 
14986             If ((Arg0 == 0x03))
14987             {
14988                 Return (\_SB.AWR0.ABR3.A095 ())
14989             }
14990 
14991             If ((Arg0 == 0x04))
14992             {
14993                 Return (\_SB.AWR0.ABR4.A095 ())
14994             }
14995 
14996             If ((Arg0 == 0x05))
14997             {
14998                 Return (\_SB.AWR0.ABR5.A095 ())
14999             }
15000 
15001             If ((Arg0 == 0x06))
15002             {
15003                 Return (\_SB.AWR0.ABR6.A095 ())
15004             }
15005 
15006             If ((Arg0 == 0x07))
15007             {
15008                 Return (\_SB.AWR0.ABR7.A095 ())
15009             }
15010         }
15011 
15012         Method (A084, 1, NotSerialized)
15013         {
15014             If ((Arg0 == 0x00))
15015             {
15016                 Return (\_SB.AWR0.ABR0.A096 ())
15017             }
15018 
15019             If ((Arg0 == 0x01))
15020             {
15021                 Return (\_SB.AWR0.ABR1.A096 ())
15022             }
15023 
15024             If ((Arg0 == 0x02))
15025             {
15026                 Return (\_SB.AWR0.ABR2.A096 ())
15027             }
15028 
15029             If ((Arg0 == 0x03))
15030             {
15031                 Return (\_SB.AWR0.ABR3.A096 ())
15032             }
15033 
15034             If ((Arg0 == 0x04))
15035             {
15036                 Return (\_SB.AWR0.ABR4.A096 ())
15037             }
15038 
15039             If ((Arg0 == 0x05))
15040             {
15041                 Return (\_SB.AWR0.ABR5.A096 ())
15042             }
15043 
15044             If ((Arg0 == 0x06))
15045             {
15046                 Return (\_SB.AWR0.ABR6.A096 ())
15047             }
15048 
15049             If ((Arg0 == 0x07))
15050             {
15051                 Return (\_SB.AWR0.ABR7.A096 ())
15052             }
15053         }
15054 
15055         Method (A085, 2, NotSerialized)
15056         {
15057             If ((Arg0 == 0x00))
15058             {
15059                 Return (\_SB.AWR0.ABR0.A097 (Arg1))
15060             }
15061 
15062             If ((Arg0 == 0x01))
15063             {
15064                 Return (\_SB.AWR0.ABR1.A097 (Arg1))
15065             }
15066 
15067             If ((Arg0 == 0x02))
15068             {
15069                 Return (\_SB.AWR0.ABR2.A097 (Arg1))
15070             }
15071 
15072             If ((Arg0 == 0x03))
15073             {
15074                 Return (\_SB.AWR0.ABR3.A097 (Arg1))
15075             }
15076 
15077             If ((Arg0 == 0x04))
15078             {
15079                 Return (\_SB.AWR0.ABR4.A097 (Arg1))
15080             }
15081 
15082             If ((Arg0 == 0x05))
15083             {
15084                 Return (\_SB.AWR0.ABR5.A097 (Arg1))
15085             }
15086 
15087             If ((Arg0 == 0x06))
15088             {
15089                 Return (\_SB.AWR0.ABR6.A097 (Arg1))
15090             }
15091 
15092             If ((Arg0 == 0x07))
15093             {
15094                 Return (\_SB.AWR0.ABR7.A097 (Arg1))
15095             }
15096         }
15097 
15098         Method (A083, 2, NotSerialized)
15099         {
15100             If ((Arg0 == 0x00))
15101             {
15102                 Return (\_SB.AWR0.ABR0.A098 (Arg1))
15103             }
15104 
15105             If ((Arg0 == 0x01))
15106             {
15107                 Return (\_SB.AWR0.ABR1.A098 (Arg1))
15108             }
15109 
15110             If ((Arg0 == 0x02))
15111             {
15112                 Return (\_SB.AWR0.ABR2.A098 (Arg1))
15113             }
15114 
15115             If ((Arg0 == 0x03))
15116             {
15117                 Return (\_SB.AWR0.ABR3.A098 (Arg1))
15118             }
15119 
15120             If ((Arg0 == 0x04))
15121             {
15122                 Return (\_SB.AWR0.ABR4.A098 (Arg1))
15123             }
15124 
15125             If ((Arg0 == 0x05))
15126             {
15127                 Return (\_SB.AWR0.ABR5.A098 (Arg1))
15128             }
15129 
15130             If ((Arg0 == 0x06))
15131             {
15132                 Return (\_SB.AWR0.ABR6.A098 (Arg1))
15133             }
15134 
15135             If ((Arg0 == 0x07))
15136             {
15137                 Return (\_SB.AWR0.ABR7.A098 (Arg1))
15138             }
15139         }
15140 
15141         Method (A081, 1, NotSerialized)
15142         {
15143             If ((Arg0 == 0x00))
15144             {
15145                 Return (\_SB.AWR0.ABR0.A099 ())
15146             }
15147 
15148             If ((Arg0 == 0x01))
15149             {
15150                 Return (\_SB.AWR0.ABR1.A099 ())
15151             }
15152 
15153             If ((Arg0 == 0x02))
15154             {
15155                 Return (\_SB.AWR0.ABR2.A099 ())
15156             }
15157 
15158             If ((Arg0 == 0x03))
15159             {
15160                 Return (\_SB.AWR0.ABR3.A099 ())
15161             }
15162 
15163             If ((Arg0 == 0x04))
15164             {
15165                 Return (\_SB.AWR0.ABR4.A099 ())
15166             }
15167 
15168             If ((Arg0 == 0x05))
15169             {
15170                 Return (\_SB.AWR0.ABR5.A099 ())
15171             }
15172 
15173             If ((Arg0 == 0x06))
15174             {
15175                 Return (\_SB.AWR0.ABR6.A099 ())
15176             }
15177 
15178             If ((Arg0 == 0x07))
15179             {
15180                 Return (\_SB.AWR0.ABR7.A099 ())
15181             }
15182         }
15183 
15184         OperationRegion (A154, SystemMemory, AGRB, 0x1000)
15185         Field (A154, DWordAcc, Lock, Preserve)
15186         {
15187             Offset (0xB8), 
15188             A155,   32
15189         }
15190 
15191         BankField (A154, A155, 0x03B10528, DWordAcc, Lock, Preserve)
15192         {
15193             Offset (0xBC), 
15194             A153,   32
15195         }
15196 
15197         BankField (A154, A155, 0x03B10578, DWordAcc, Lock, Preserve)
15198         {
15199             Offset (0xBC), 
15200             A146,   32
15201         }
15202 
15203         BankField (A154, A155, 0x03B10998, DWordAcc, Lock, Preserve)
15204         {
15205             Offset (0xBC), 
15206             A147,   32
15207         }
15208 
15209         BankField (A154, A155, 0x03B1099C, DWordAcc, Lock, Preserve)
15210         {
15211             Offset (0xBC), 
15212             A148,   32
15213         }
15214 
15215         BankField (A154, A155, 0x03B109A0, DWordAcc, Lock, Preserve)
15216         {
15217             Offset (0xBC), 
15218             A149,   32
15219         }
15220 
15221         BankField (A154, A155, 0x03B109A4, DWordAcc, Lock, Preserve)
15222         {
15223             Offset (0xBC), 
15224             A150,   32
15225         }
15226 
15227         BankField (A154, A155, 0x03B109A8, DWordAcc, Lock, Preserve)
15228         {
15229             Offset (0xBC), 
15230             A151,   32
15231         }
15232 
15233         BankField (A154, A155, 0x03B109AC, DWordAcc, Lock, Preserve)
15234         {
15235             Offset (0xBC), 
15236             A152,   32
15237         }
15238 
15239         BankField (A154, A155, 0x13B00084, DWordAcc, Lock, Preserve)
15240         {
15241             Offset (0xBC), 
15242             A128,   32
15243         }
15244 
15245         BankField (A154, A155, 0x11140280, DWordAcc, Lock, Preserve)
15246         {
15247             Offset (0xBC), 
15248             A129,   32
15249         }
15250 
15251         BankField (A154, A155, 0x11141280, DWordAcc, Lock, Preserve)
15252         {
15253             Offset (0xBC), 
15254             A130,   32
15255         }
15256 
15257         BankField (A154, A155, 0x11142280, DWordAcc, Lock, Preserve)
15258         {
15259             Offset (0xBC), 
15260             A131,   32
15261         }
15262 
15263         BankField (A154, A155, 0x11143280, DWordAcc, Lock, Preserve)
15264         {
15265             Offset (0xBC), 
15266             A132,   32
15267         }
15268 
15269         BankField (A154, A155, 0x11144280, DWordAcc, Lock, Preserve)
15270         {
15271             Offset (0xBC), 
15272             A133,   32
15273         }
15274 
15275         BankField (A154, A155, 0x11240280, DWordAcc, Lock, Preserve)
15276         {
15277             Offset (0xBC), 
15278             A134,   32
15279         }
15280 
15281         BankField (A154, A155, 0x11241280, DWordAcc, Lock, Preserve)
15282         {
15283             Offset (0xBC), 
15284             A135,   32
15285         }
15286 
15287         BankField (A154, A155, 0x11242280, DWordAcc, Lock, Preserve)
15288         {
15289             Offset (0xBC), 
15290             A136,   32
15291         }
15292 
15293         BankField (A154, A155, 0x11243280, DWordAcc, Lock, Preserve)
15294         {
15295             Offset (0xBC), 
15296             A137,   32
15297         }
15298 
15299         BankField (A154, A155, 0x11244280, DWordAcc, Lock, Preserve)
15300         {
15301             Offset (0xBC), 
15302             A138,   32
15303         }
15304 
15305         BankField (A154, A155, 0x11245280, DWordAcc, Lock, Preserve)
15306         {
15307             Offset (0xBC), 
15308             A139,   32
15309         }
15310 
15311         BankField (A154, A155, 0x11140294, DWordAcc, Lock, Preserve)
15312         {
15313             Offset (0xBC), 
15314             A038,   32
15315         }
15316 
15317         BankField (A154, A155, 0x11141294, DWordAcc, Lock, Preserve)
15318         {
15319             Offset (0xBC), 
15320             A039,   32
15321         }
15322 
15323         BankField (A154, A155, 0x11142294, DWordAcc, Lock, Preserve)
15324         {
15325             Offset (0xBC), 
15326             A040,   32
15327         }
15328 
15329         BankField (A154, A155, 0x11143294, DWordAcc, Lock, Preserve)
15330         {
15331             Offset (0xBC), 
15332             A041,   32
15333         }
15334 
15335         Method (A126, 2, NotSerialized)
15336         {
15337             If ((Arg0 == 0x00))
15338             {
15339                 Return (\_SB.AWR0.ABR0.A107 (Arg1))
15340             }
15341 
15342             If ((Arg0 == 0x01))
15343             {
15344                 Return (\_SB.AWR0.ABR1.A107 (Arg1))
15345             }
15346 
15347             If ((Arg0 == 0x02))
15348             {
15349                 Return (\_SB.AWR0.ABR2.A107 (Arg1))
15350             }
15351 
15352             If ((Arg0 == 0x03))
15353             {
15354                 Return (\_SB.AWR0.ABR3.A107 (Arg1))
15355             }
15356 
15357             If ((Arg0 == 0x04))
15358             {
15359                 Return (\_SB.AWR0.ABR4.A107 (Arg1))
15360             }
15361 
15362             If ((Arg0 == 0x05))
15363             {
15364                 Return (\_SB.AWR0.ABR5.A107 (Arg1))
15365             }
15366 
15367             If ((Arg0 == 0x06))
15368             {
15369                 Return (\_SB.AWR0.ABR6.A107 (Arg1))
15370             }
15371 
15372             If ((Arg0 == 0x07))
15373             {
15374                 Return (\_SB.AWR0.ABR7.A107 (Arg1))
15375             }
15376 
15377             If ((Arg0 == 0x08))
15378             {
15379                 Return (\_SB.AWR0.ABR8.A107 (Arg1))
15380             }
15381 
15382             If ((Arg0 == 0x09))
15383             {
15384                 Return (\_SB.AWR0.ABR9.A107 (Arg1))
15385             }
15386 
15387             If ((Arg0 == 0x0A))
15388             {
15389                 Return (\_SB.AWR0.ABRA.A107 (Arg1))
15390             }
15391         }
15392 
15393         Method (A127, 2, NotSerialized)
15394         {
15395             Acquire (\_SB.AM00, 0xFFFF)
15396             If ((Arg1 == 0x01))
15397             {
15398                 If ((Arg0 == 0x00))
15399                 {
15400                     Local0 = 0x00190300
15401                 }
15402 
15403                 If ((Arg0 == 0x01))
15404                 {
15405                     Local0 = 0x001A0300
15406                 }
15407 
15408                 If ((Arg0 == 0x02))
15409                 {
15410                     Local0 = 0x001B0300
15411                 }
15412 
15413                 If ((Arg0 == 0x03))
15414                 {
15415                     Local0 = 0x001C0300
15416                 }
15417 
15418                 If ((Arg0 == 0x04))
15419                 {
15420                     Local0 = 0x001D0300
15421                 }
15422 
15423                 If ((Arg0 == 0x05))
15424                 {
15425                     Local0 = 0x001E0300
15426                 }
15427 
15428                 If ((Arg0 == 0x06))
15429                 {
15430                     Local0 = 0x001F0300
15431                 }
15432 
15433                 If ((Arg0 == 0x07))
15434                 {
15435                     Local0 = 0x00090300
15436                 }
15437 
15438                 If ((Arg0 == 0x08))
15439                 {
15440                     Local0 = 0x000A0300
15441                 }
15442 
15443                 If ((Arg0 == 0x09))
15444                 {
15445                     Local0 = 0x000B0300
15446                 }
15447 
15448                 If ((Arg0 == 0x0A))
15449                 {
15450                     Local0 = 0x000C0300
15451                 }
15452 
15453                 Local1 = A128 /* \_SB_.A128 */
15454                 Local1 &= 0xFF00FCFF
15455                 A128 = (Local0 | Local1)
15456                 Local1 = A128 /* \_SB_.A128 */
15457                 A128 = (0xFFFFFDFF & Local1)
15458             }
15459             ElseIf ((Arg1 == 0x00))
15460             {
15461                 If ((Arg0 == 0x00))
15462                 {
15463                     Local1 = A129 /* \_SB_.A129 */
15464                     A129 = (0x00400000 | Local1)
15465                     Local1 = A129 /* \_SB_.A129 */
15466                     A129 = (0xFFBFFFFF & Local1)
15467                 }
15468 
15469                 If ((Arg0 == 0x01))
15470                 {
15471                     Local1 = A130 /* \_SB_.A130 */
15472                     A130 = (0x00400000 | Local1)
15473                     Local1 = A130 /* \_SB_.A130 */
15474                     A130 = (0xFFBFFFFF & Local1)
15475                 }
15476 
15477                 If ((Arg0 == 0x02))
15478                 {
15479                     Local1 = A131 /* \_SB_.A131 */
15480                     A131 = (0x00400000 | Local1)
15481                     Local1 = A131 /* \_SB_.A131 */
15482                     A131 = (0xFFBFFFFF & Local1)
15483                 }
15484 
15485                 If ((Arg0 == 0x03))
15486                 {
15487                     Local1 = A132 /* \_SB_.A132 */
15488                     A132 = (0x00400000 | Local1)
15489                     Local1 = A132 /* \_SB_.A132 */
15490                     A132 = (0xFFBFFFFF & Local1)
15491                 }
15492 
15493                 If ((Arg0 == 0x04))
15494                 {
15495                     Local1 = A133 /* \_SB_.A133 */
15496                     A133 = (0x00400000 | Local1)
15497                     Local1 = A133 /* \_SB_.A133 */
15498                     A133 = (0xFFBFFFFF & Local1)
15499                 }
15500 
15501                 If ((Arg0 == 0x05))
15502                 {
15503                     Local1 = A134 /* \_SB_.A134 */
15504                     A134 = (0x00400000 | Local1)
15505                     Local1 = A134 /* \_SB_.A134 */
15506                     A134 = (0xFFBFFFFF & Local1)
15507                 }
15508 
15509                 If ((Arg0 == 0x06))
15510                 {
15511                     Local1 = A135 /* \_SB_.A135 */
15512                     A135 = (0x00400000 | Local1)
15513                     Local1 = A135 /* \_SB_.A135 */
15514                     A135 = (0xFFBFFFFF & Local1)
15515                 }
15516 
15517                 If ((Arg0 == 0x07))
15518                 {
15519                     Local1 = A136 /* \_SB_.A136 */
15520                     A136 = (0x00400000 | Local1)
15521                     Local1 = A136 /* \_SB_.A136 */
15522                     A136 = (0xFFBFFFFF & Local1)
15523                 }
15524 
15525                 If ((Arg0 == 0x08))
15526                 {
15527                     Local1 = A137 /* \_SB_.A137 */
15528                     A137 = (0x00400000 | Local1)
15529                     Local1 = A137 /* \_SB_.A137 */
15530                     A137 = (0xFFBFFFFF & Local1)
15531                 }
15532 
15533                 If ((Arg0 == 0x09))
15534                 {
15535                     Local1 = A138 /* \_SB_.A138 */
15536                     A138 = (0x00400000 | Local1)
15537                     Local1 = A138 /* \_SB_.A138 */
15538                     A138 = (0xFFBFFFFF & Local1)
15539                 }
15540 
15541                 If ((Arg0 == 0x0A))
15542                 {
15543                     Local1 = A139 /* \_SB_.A139 */
15544                     A139 = (0x00400000 | Local1)
15545                     Local1 = A139 /* \_SB_.A139 */
15546                     A139 = (0xFFBFFFFF & Local1)
15547                 }
15548             }
15549 
15550             Release (\_SB.AM00)
15551         }
15552 
15553         Method (A003, 2, NotSerialized)
15554         {
15555             Local0 = 0x00
15556             While ((Local0 < 0x0B))
15557             {
15558                 Local1 = A126 (Local0, Arg1)
15559                 If ((Local1 == 0x01))
15560                 {
15561                     A127 (Local0, Arg1)
15562                     Break
15563                 }
15564 
15565                 Local0++
15566             }
15567         }
15568 
15569         Method (A011, 2, Serialized)
15570         {
15571             Acquire (\_SB.AM00, 0xFFFF)
15572             CreateDWordField (Arg1, 0x00, A140)
15573             CreateDWordField (Arg1, 0x04, A141)
15574             CreateDWordField (Arg1, 0x08, A142)
15575             CreateDWordField (Arg1, 0x0C, A143)
15576             CreateDWordField (Arg1, 0x10, A144)
15577             CreateDWordField (Arg1, 0x14, A145)
15578             A146 = 0x00
15579             While ((A146 != 0x00)){}
15580             A147 = A140 /* \_SB_.A011.A140 */
15581             A148 = A141 /* \_SB_.A011.A141 */
15582             A149 = A142 /* \_SB_.A011.A142 */
15583             A150 = A143 /* \_SB_.A011.A143 */
15584             A151 = A144 /* \_SB_.A011.A144 */
15585             A152 = A145 /* \_SB_.A011.A145 */
15586             A153 = Arg0
15587             While ((A146 == 0x00)){}
15588             Release (\_SB.AM00)
15589         }
15590 
15591         Method (A121, 5, NotSerialized)
15592         {
15593             Local7 = Buffer (0x18){}
15594             CreateDWordField (Local7, 0x00, A005)
15595             CreateDWordField (Local7, 0x04, A006)
15596             CreateDWordField (Local7, 0x08, A007)
15597             CreateDWordField (Local7, 0x0C, A008)
15598             CreateDWordField (Local7, 0x10, A009)
15599             CreateDWordField (Local7, 0x14, A010)
15600             A005 = Arg0
15601             A006 = Arg1
15602             A007 = Arg2
15603             A008 = Arg3
15604             A011 (0x09, Local7)
15605         }
15606 
15607         Method (AMNR, 1, NotSerialized)
15608         {
15609             Acquire (\_SB.AM00, 0xFFFF)
15610             BankField (A154, A155, Arg0, DWordAcc, NoLock, Preserve)
15611             {
15612                 Offset (0xBC), 
15613                 A156,   32
15614             }
15615 
15616             Release (\_SB.AM00)
15617             Return (A156) /* \_SB_.AMNR.A156 */
15618         }
15619 
15620         Method (AMNW, 2, NotSerialized)
15621         {
15622             Acquire (\_SB.AM00, 0xFFFF)
15623             BankField (A154, A155, Arg0, DWordAcc, NoLock, Preserve)
15624             {
15625                 Offset (0xBC), 
15626                 A157,   32
15627             }
15628 
15629             A157 = Arg1
15630             Release (\_SB.AM00)
15631         }
15632 
15633         Method (A025, 1, Serialized)
15634         {
15635             CreateWordField (Arg0, 0x00, A158)
15636             Local7 = Buffer (0x18){}
15637             CreateDWordField (Local7, 0x00, A005)
15638             CreateDWordField (Local7, 0x04, A006)
15639             CreateDWordField (Local7, 0x08, A007)
15640             CreateDWordField (Local7, 0x0C, A008)
15641             CreateDWordField (Local7, 0x10, A009)
15642             CreateDWordField (Local7, 0x14, A010)
15643             Local0 = 0x02
15644             While ((Local0 < A158))
15645             {
15646                 Local1 = DerefOf (Arg0 [Local0])
15647                 Local0++
15648                 Local2 = DerefOf (Arg0 [Local0])
15649                 Local0++
15650                 Local2 |= (DerefOf (Arg0 [Local0]) << 0x08)
15651                 Local0++
15652                 Local2 |= (DerefOf (Arg0 [Local0]) << 0x10)
15653                 Local0++
15654                 Local2 |= (DerefOf (Arg0 [Local0]) << 0x18)
15655                 Local0++
15656                 A005 = 0x00
15657                 A006 = 0x00
15658                 A007 = 0x00
15659                 A008 = 0x00
15660                 A009 = 0x00
15661                 A010 = 0x00
15662                 If ((Local1 == 0x01))
15663                 {
15664                     A005 = Local2
15665                     A011 (0x18, Local7)
15666                 }
15667 
15668                 If ((Local1 == 0x03))
15669                 {
15670                     A005 = Local2
15671                     A011 (0x19, Local7)
15672                 }
15673 
15674                 If ((Local1 == 0x05))
15675                 {
15676                     A005 = Local2
15677                     A011 (0x14, Local7)
15678                 }
15679 
15680                 If ((Local1 == 0x06))
15681                 {
15682                     A005 = Local2
15683                     A011 (0x15, Local7)
15684                 }
15685 
15686                 If ((Local1 == 0x07))
15687                 {
15688                     A005 = Local2
15689                     A011 (0x16, Local7)
15690                 }
15691 
15692                 If ((Local1 == 0x08))
15693                 {
15694                     A005 = Local2
15695                     A011 (0x17, Local7)
15696                 }
15697 
15698                 If ((Local1 == 0x09))
15699                 {
15700                     A005 = Local2
15701                     A011 (0x1F, Local7)
15702                 }
15703 
15704                 If ((Local1 == 0x0B))
15705                 {
15706                     A005 = Local2
15707                     A011 (0x1A, Local7)
15708                 }
15709 
15710                 If ((Local1 == 0x0C))
15711                 {
15712                     A005 = Local2
15713                     A011 (0x1C, Local7)
15714                 }
15715 
15716                 If ((Local1 == 0x0D))
15717                 {
15718                     A005 = Local2
15719                     A011 (0x1E, Local7)
15720                 }
15721 
15722                 If ((Local1 == 0x0E))
15723                 {
15724                     A005 = Local2
15725                     A011 (0x1B, Local7)
15726                 }
15727 
15728                 If ((DerefOf (\_SB.ADAT [0x08]) == 0x01))
15729                 {
15730                     If ((Local1 == 0x10))
15731                     {
15732                         If ((Local2 == 0x00))
15733                         {
15734                             A011 (0x28, Local7)
15735                         }
15736                         Else
15737                         {
15738                             A011 (0x27, Local7)
15739                         }
15740                     }
15741                 }
15742 
15743                 If ((Local1 == 0x11))
15744                 {
15745                     A005 = Local2
15746                     A011 (0x1D, Local7)
15747                 }
15748 
15749                 If ((Local1 == 0x12))
15750                 {
15751                     A005 = Local2
15752                     A011 (0x54, Local7)
15753                 }
15754 
15755                 If ((Local1 == 0x13))
15756                 {
15757                     A005 = Local2
15758                     A011 (0x23, Local7)
15759                 }
15760 
15761                 If ((Local1 == 0x20))
15762                 {
15763                     A005 = Local2
15764                     A011 (0x31, Local7)
15765                 }
15766 
15767                 If ((Local1 == 0x21))
15768                 {
15769                     A005 = Local2
15770                     A011 (0x32, Local7)
15771                 }
15772 
15773                 If ((Local1 == 0x22))
15774                 {
15775                     A005 = Local2
15776                     A011 (0x33, Local7)
15777                 }
15778 
15779                 If ((Local1 == 0x23))
15780                 {
15781                     A005 = Local2
15782                     A011 (0x34, Local7)
15783                 }
15784 
15785                 If ((Local1 == 0x24))
15786                 {
15787                     A005 = Local2
15788                     A011 (0x35, Local7)
15789                 }
15790 
15791                 If ((Local1 == 0x25))
15792                 {
15793                     A005 = Local2
15794                     A011 (0x36, Local7)
15795                 }
15796 
15797                 If ((Local1 == 0x26))
15798                 {
15799                     A005 = Local2
15800                     A011 (0x37, Local7)
15801                 }
15802 
15803                 If ((Local1 == 0x27))
15804                 {
15805                     A005 = Local2
15806                     A011 (0x38, Local7)
15807                 }
15808 
15809                 If ((Local1 == 0x28))
15810                 {
15811                     A005 = Local2
15812                     A011 (0x39, Local7)
15813                 }
15814 
15815                 If ((Local1 == 0x29))
15816                 {
15817                     A005 = Local2
15818                     A011 (0x3A, Local7)
15819                 }
15820 
15821                 If ((Local1 == 0x2A))
15822                 {
15823                     A005 = Local2
15824                     A011 (0x3B, Local7)
15825                 }
15826 
15827                 If ((Local1 == 0x2B))
15828                 {
15829                     A005 = Local2
15830                     A011 (0x3C, Local7)
15831                 }
15832 
15833                 If ((Local1 == 0x2C))
15834                 {
15835                     A005 = Local2
15836                     A011 (0x3D, Local7)
15837                 }
15838 
15839                 If ((Local1 == 0x2D))
15840                 {
15841                     A005 = Local2
15842                     A011 (0x3E, Local7)
15843                 }
15844 
15845                 If ((Local1 == 0x2E))
15846                 {
15847                     A005 = Local2
15848                     A011 (0x4A, Local7)
15849                 }
15850 
15851                 If ((Local1 == 0x30))
15852                 {
15853                     A005 = Local2
15854                     A011 (0x55, Local7)
15855                     Acquire (\_SB.AM00, 0xFFFF)
15856                     Local3 = Buffer (0x08){}
15857                     CreateDWordField (Local3, 0x00, A159)
15858                     CreateDWordField (Local3, 0x04, A160)
15859                     A159 = A147 /* \_SB_.A147 */
15860                     A160 = A148 /* \_SB_.A148 */
15861                     Release (\_SB.AM00)
15862                     Return (Local3)
15863                 }
15864 
15865                 If ((Local1 == 0x31))
15866                 {
15867                     A005 = Local2
15868                     A011 (0x56, Local7)
15869                 }
15870 
15871                 If ((Local1 == 0x32))
15872                 {
15873                     A005 = Local2
15874                     A011 (0x20, Local7)
15875                 }
15876             }
15877         }
15878 
15879         Device (AWR0)
15880         {
15881             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
15882             Name (_UID, 0x90)  // _UID: Unique ID
15883             Device (ABR0)
15884             {
15885                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
15886                 Name (_UID, 0x80)  // _UID: Unique ID
15887                 Name (AB12, 0x20)
15888                 Name (AB00, 0x00)
15889                 Name (AB01, 0x00)
15890                 Name (AB0E, 0x00)
15891                 Name (AB02, 0x00)
15892                 Name (AB03, 0x00)
15893                 Name (AB04, 0x00)
15894                 Name (AB05, 0x00)
15895                 Name (AB06, 0x00)
15896                 Name (AB07, 0x00)
15897                 Name (AB08, 0x00)
15898                 Name (AB09, 0x00)
15899                 Name (AB0A, 0x00)
15900                 Name (AB0B, 0x00)
15901                 Name (AB0C, 0x00)
15902                 Name (AB0D, 0x00)
15903                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
15904                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
15905                     ))), 0x1000)
15906                 Field (A111, ByteAcc, NoLock, Preserve)
15907                 {
15908                     Offset (0x18), 
15909                     Offset (0x19), 
15910                     A105,   8, 
15911                     A106,   8, 
15912                     Offset (0x68), 
15913                     A112,   2, 
15914                         ,   2, 
15915                     A113,   1, 
15916                     A114,   1, 
15917                     Offset (0x6A), 
15918                         ,   11, 
15919                     A115,   1, 
15920                     Offset (0x88), 
15921                     A116,   4, 
15922                         ,   1, 
15923                     A117,   1
15924                 }
15925 
15926                 Name (AB10, 0x00)
15927                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
15928                 {
15929                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
15930                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
15931                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
15932                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
15933                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
15934                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
15935                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
15936                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
15937                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
15938                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
15939                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
15940                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
15941                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
15942                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
15943                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
15944                 }
15945 
15946                 Method (A100, 0, NotSerialized)
15947                 {
15948                     Local0 = A082 ()
15949                     If ((Local0 == 0x01))
15950                     {
15951                         Return (AB01) /* \_SB_.AWR0.ABR0.AB01 */
15952                     }
15953 
15954                     If ((Local0 == 0x00))
15955                     {
15956                         Return (AB0E) /* \_SB_.AWR0.ABR0.AB0E */
15957                     }
15958                 }
15959 
15960                 Method (A095, 0, NotSerialized)
15961                 {
15962                     If ((AB10 != 0x00))
15963                     {
15964                         If ((AB10 == 0x01))
15965                         {
15966                             Return (0x01)
15967                         }
15968                     }
15969 
15970                     Return (0x00)
15971                 }
15972 
15973                 Method (A101, 0, NotSerialized)
15974                 {
15975                     If ((AB05 != 0x00))
15976                     {
15977                         Return (AB05) /* \_SB_.AWR0.ABR0.AB05 */
15978                     }
15979 
15980                     If ((AB10 > 0x01))
15981                     {
15982                         Return ((AB10 - 0x01))
15983                     }
15984 
15985                     Return (0x00)
15986                 }
15987 
15988                 Method (A094, 0, NotSerialized)
15989                 {
15990                     If ((\_SB.AP05 == 0x00))
15991                     {
15992                         If ((AB05 != 0x00))
15993                         {
15994                             Return (AB05) /* \_SB_.AWR0.ABR0.AB05 */
15995                         }
15996 
15997                         Return (AB0E) /* \_SB_.AWR0.ABR0.AB0E */
15998                     }
15999 
16000                     Local0 = A101 ()
16001                     If ((Local0 != 0x00))
16002                     {
16003                         If ((Local0 > AB00))
16004                         {
16005                             Return (AB00) /* \_SB_.AWR0.ABR0.AB00 */
16006                         }
16007                         Else
16008                         {
16009                             Return (Local0)
16010                         }
16011                     }
16012 
16013                     Local0 = A100 ()
16014                     If ((\_SB.AP03 != 0x00))
16015                     {
16016                         If ((\_SB.AP03 < Local0))
16017                         {
16018                             Return (\_SB.AP03)
16019                         }
16020                     }
16021 
16022                     Return (Local0)
16023                 }
16024 
16025                 Method (A093, 0, NotSerialized)
16026                 {
16027                     Return (AB02) /* \_SB_.AWR0.ABR0.AB02 */
16028                 }
16029 
16030                 Method (A096, 0, NotSerialized)
16031                 {
16032                     Return (AB00) /* \_SB_.AWR0.ABR0.AB00 */
16033                 }
16034 
16035                 Method (A092, 1, NotSerialized)
16036                 {
16037                     AB02 = Arg0
16038                     A102 (Arg0)
16039                     If ((AB10 != 0x00)){}
16040                     Else
16041                     {
16042                     }
16043 
16044                     A103 (0x00)
16045                     Name (A104, 0x00)
16046                     A103 (0x01)
16047                 }
16048 
16049                 Method (A097, 1, NotSerialized)
16050                 {
16051                     AB10 = Arg0
16052                 }
16053 
16054                 Method (A098, 1, NotSerialized)
16055                 {
16056                     Local0 = (Arg0 >> 0x08)
16057                     If (((Local0 >= A105) && (Local0 <= A106)))
16058                     {
16059                         Return (0x01)
16060                     }
16061 
16062                     Return (0x00)
16063                 }
16064 
16065                 Method (A107, 1, NotSerialized)
16066                 {
16067                     Local0 = (AB0D | (AB0C << 0x03))
16068                     If ((Arg0 == Local0))
16069                     {
16070                         Return (0x01)
16071                     }
16072 
16073                     Return (0x00)
16074                 }
16075 
16076                 Method (A099, 0, NotSerialized)
16077                 {
16078                     AB10 = 0x00
16079                 }
16080 
16081                 Method (A102, 1, NotSerialized)
16082                 {
16083                     If ((Arg0 >= 0x02)){}
16084                     If ((Arg0 >= 0x03)){}
16085                     If ((Arg0 == 0x01))
16086                     {
16087                         If ((AB04 == 0x01)){}
16088                     }
16089                     Else
16090                     {
16091                     }
16092                 }
16093 
16094                 Method (A108, 1, NotSerialized)
16095                 {
16096                     Local0 = 0x00
16097                     Local1 = A109 (Local0, 0x00)
16098                     Local2 = A109 (Local0, 0x08)
16099                     If ((Local1 != 0xFFFFFFFF))
16100                     {
16101                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
16102                         Local1 &= 0xFFFF
16103                         Local2 = ((Local2 >> 0x18) & 0xFF)
16104                         If ((Local2 == 0x03))
16105                         {
16106                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
16107                             {
16108                                 Local0 = 0x10
16109                                 While ((Local0 < 0x30))
16110                                 {
16111                                     Local4 = A109 (0x00, Local0)
16112                                     Local5 = 0x00
16113                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
16114                                     {
16115                                         If (((Local4 & 0x06) == 0x04))
16116                                         {
16117                                             Local0 += 0x04
16118                                             Local5 = A109 (0x00, Local0)
16119                                         }
16120 
16121                                         If ((Arg0 != 0x00))
16122                                         {
16123                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
16124                                             A110 (0x26, Local5, 0x00)
16125                                             A110 (0x28, 0x00, 0x00)
16126                                             A110 (0x27, 0x00, 0x00)
16127                                             Break
16128                                         }
16129                                         Else
16130                                         {
16131                                             A110 (0x28, 0x00, 0x00)
16132                                             A110 (0x07, 0x00, (0x01 << 0x0A))
16133                                             Break
16134                                         }
16135                                     }
16136                                     ElseIf (((Local4 & 0x06) == 0x04))
16137                                     {
16138                                         Local0 += 0x04
16139                                     }
16140 
16141                                     Local0 += 0x04
16142                                 }
16143                             }
16144                         }
16145                     }
16146                 }
16147 
16148                 Method (A122, 2, NotSerialized)
16149                 {
16150                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
16151                     {
16152                         Return (0x00)
16153                     }
16154 
16155                     Local0 = A109 (Arg0, 0x34)
16156                     While (0x01)
16157                     {
16158                         Local1 = A109 (Arg0, (Local0 & 0xFF))
16159                         If (((Local1 & 0xFF) == Arg1))
16160                         {
16161                             Return ((Local0 & 0xFF))
16162                         }
16163 
16164                         Local0 = ((Local1 >> 0x08) & 0xFF)
16165                         If ((Local0 == 0x00))
16166                         {
16167                             Return (Local0)
16168                         }
16169                     }
16170                 }
16171 
16172                 Name (AESP, Package (0x08)
16173                 {
16174                     0x00, 
16175                     0x00, 
16176                     0x00, 
16177                     0x00, 
16178                     0x00, 
16179                     0x00, 
16180                     0x00, 
16181                     0x00
16182                 })
16183                 Method (A103, 1, NotSerialized)
16184                 {
16185                     Local0 = 0x00
16186                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
16187                     {
16188                         Local1 = (A109 (Local0, 0x08) & 0x80)
16189                         If ((Local1 == 0x80))
16190                         {
16191                             Local7 = 0x07
16192                         }
16193                         Else
16194                         {
16195                             Local7 = 0x00
16196                         }
16197 
16198                         While ((Local0 <= Local7))
16199                         {
16200                             Local1 = A122 (Local0, 0x10)
16201                             If ((Local1 == 0x00))
16202                             {
16203                                 Local0++
16204                                 Continue
16205                             }
16206 
16207                             If ((Arg0 == 0x00))
16208                             {
16209                                 Local2 = A109 (Local0, (Local1 + 0x10))
16210                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
16211                                 AESP [Local0] = Local2
16212                             }
16213                             Else
16214                             {
16215                                 Local2 = DerefOf (AESP [Local0])
16216                                 A120 (Local0, (Local1 + 0x10), Local2)
16217                             }
16218 
16219                             Local0++
16220                         }
16221                     }
16222                     Else
16223                     {
16224                     }
16225                 }
16226 
16227                 Method (A120, 3, Serialized)
16228                 {
16229                     Local0 = (AGRB + (A106 << 0x14))
16230                     Local0 += (Arg0 << 0x0C)
16231                     Local0 += Arg1
16232                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
16233                     Field (ADRB, DWordAcc, NoLock, Preserve)
16234                     {
16235                         ADRR,   32
16236                     }
16237 
16238                     ADRR = Arg2
16239                 }
16240 
16241                 Method (A109, 2, Serialized)
16242                 {
16243                     Local0 = (AGRB + (A106 << 0x14))
16244                     Local0 += (Arg0 << 0x0C)
16245                     Local0 += Arg1
16246                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
16247                     Field (ADRB, DWordAcc, NoLock, Preserve)
16248                     {
16249                         ADRR,   32
16250                     }
16251 
16252                     Return (ADRR) /* \_SB_.AWR0.ABR0.A109.ADRR */
16253                 }
16254 
16255                 Method (A118, 1, NotSerialized)
16256                 {
16257                     If ((AB0B != 0x01))
16258                     {
16259                         Return (0x00)
16260                     }
16261 
16262                     Return (A107 (Arg0))
16263                 }
16264 
16265                 Method (A119, 1, NotSerialized)
16266                 {
16267                     Name (A104, 0x00)
16268                     Local2 = 0x00
16269                     A104 = A112 /* \_SB_.AWR0.ABR0.A112 */
16270                     Local1 = (AB0D | (AB0C << 0x03))
16271                     If ((Arg0 == 0x01))
16272                     {
16273                         A113 = 0x00
16274                         Local0 = 0x01
16275                     }
16276                     Else
16277                     {
16278                         A103 (0x00)
16279                         Local0 = A109 (0x00, 0x04)
16280                         If ((Local0 != 0xFFFFFFFF))
16281                         {
16282                             A120 (0x00, 0x04, (Local0 & ~0x04))
16283                             Local0 = A109 (0x01, 0x04)
16284                             If ((Local0 != 0xFFFFFFFF))
16285                             {
16286                                 A120 (0x01, 0x04, (Local0 & ~0x04))
16287                             }
16288                         }
16289 
16290                         Local2 = 0x00
16291                         A113 = 0x01
16292                         Local0 = 0x05
16293                     }
16294 
16295                     A112 = 0x00
16296                     While ((Local0 != 0x08))
16297                     {
16298                         If ((Local0 == 0x01))
16299                         {
16300                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
16301                             Local2 = 0x01
16302                             Local0 = 0x08
16303                         }
16304 
16305                         If ((Local0 == 0x05))
16306                         {
16307                             A109 (0x00, 0x00)
16308                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
16309                             AB05 = 0x00
16310                             AB04 = 0x00
16311                             AB10 = 0x00
16312                             Local2 = 0x00
16313                             Local0 = 0x08
16314                         }
16315                     }
16316 
16317                     A112 = A104 /* \_SB_.AWR0.ABR0.A119.A104 */
16318                     If ((A104 != 0x00))
16319                     {
16320                         A103 (0x01)
16321                     }
16322 
16323                     Return (Local2)
16324                 }
16325             }
16326 
16327             Device (ABR1)
16328             {
16329                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
16330                 Name (_UID, 0x81)  // _UID: Unique ID
16331                 Name (AB12, 0x34)
16332                 Name (AB00, 0x00)
16333                 Name (AB01, 0x00)
16334                 Name (AB0E, 0x00)
16335                 Name (AB02, 0x00)
16336                 Name (AB03, 0x00)
16337                 Name (AB04, 0x00)
16338                 Name (AB05, 0x00)
16339                 Name (AB06, 0x00)
16340                 Name (AB07, 0x00)
16341                 Name (AB08, 0x00)
16342                 Name (AB09, 0x00)
16343                 Name (AB0A, 0x00)
16344                 Name (AB0B, 0x00)
16345                 Name (AB0C, 0x00)
16346                 Name (AB0D, 0x00)
16347                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
16348                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
16349                     ))), 0x1000)
16350                 Field (A111, ByteAcc, NoLock, Preserve)
16351                 {
16352                     Offset (0x18), 
16353                     Offset (0x19), 
16354                     A105,   8, 
16355                     A106,   8, 
16356                     Offset (0x68), 
16357                     A112,   2, 
16358                         ,   2, 
16359                     A113,   1, 
16360                     A114,   1, 
16361                     Offset (0x6A), 
16362                         ,   11, 
16363                     A115,   1, 
16364                     Offset (0x88), 
16365                     A116,   4, 
16366                         ,   1, 
16367                     A117,   1
16368                 }
16369 
16370                 Name (AB10, 0x00)
16371                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
16372                 {
16373                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
16374                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
16375                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
16376                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
16377                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
16378                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
16379                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
16380                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
16381                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
16382                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
16383                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
16384                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
16385                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
16386                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
16387                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
16388                 }
16389 
16390                 Method (A100, 0, NotSerialized)
16391                 {
16392                     Local0 = A082 ()
16393                     If ((Local0 == 0x01))
16394                     {
16395                         Return (AB01) /* \_SB_.AWR0.ABR1.AB01 */
16396                     }
16397 
16398                     If ((Local0 == 0x00))
16399                     {
16400                         Return (AB0E) /* \_SB_.AWR0.ABR1.AB0E */
16401                     }
16402                 }
16403 
16404                 Method (A095, 0, NotSerialized)
16405                 {
16406                     If ((AB10 != 0x00))
16407                     {
16408                         If ((AB10 == 0x01))
16409                         {
16410                             Return (0x01)
16411                         }
16412                     }
16413 
16414                     Return (0x00)
16415                 }
16416 
16417                 Method (A101, 0, NotSerialized)
16418                 {
16419                     If ((AB05 != 0x00))
16420                     {
16421                         Return (AB05) /* \_SB_.AWR0.ABR1.AB05 */
16422                     }
16423 
16424                     If ((AB10 > 0x01))
16425                     {
16426                         Return ((AB10 - 0x01))
16427                     }
16428 
16429                     Return (0x00)
16430                 }
16431 
16432                 Method (A094, 0, NotSerialized)
16433                 {
16434                     If ((\_SB.AP05 == 0x00))
16435                     {
16436                         If ((AB05 != 0x00))
16437                         {
16438                             Return (AB05) /* \_SB_.AWR0.ABR1.AB05 */
16439                         }
16440 
16441                         Return (AB0E) /* \_SB_.AWR0.ABR1.AB0E */
16442                     }
16443 
16444                     Local0 = A101 ()
16445                     If ((Local0 != 0x00))
16446                     {
16447                         If ((Local0 > AB00))
16448                         {
16449                             Return (AB00) /* \_SB_.AWR0.ABR1.AB00 */
16450                         }
16451                         Else
16452                         {
16453                             Return (Local0)
16454                         }
16455                     }
16456 
16457                     Local0 = A100 ()
16458                     If ((\_SB.AP03 != 0x00))
16459                     {
16460                         If ((\_SB.AP03 < Local0))
16461                         {
16462                             Return (\_SB.AP03)
16463                         }
16464                     }
16465 
16466                     Return (Local0)
16467                 }
16468 
16469                 Method (A093, 0, NotSerialized)
16470                 {
16471                     Return (AB02) /* \_SB_.AWR0.ABR1.AB02 */
16472                 }
16473 
16474                 Method (A096, 0, NotSerialized)
16475                 {
16476                     Return (AB00) /* \_SB_.AWR0.ABR1.AB00 */
16477                 }
16478 
16479                 Method (A092, 1, NotSerialized)
16480                 {
16481                     AB02 = Arg0
16482                     A102 (Arg0)
16483                     If ((AB10 != 0x00)){}
16484                     Else
16485                     {
16486                     }
16487 
16488                     A103 (0x00)
16489                     Name (A104, 0x00)
16490                     A103 (0x01)
16491                 }
16492 
16493                 Method (A097, 1, NotSerialized)
16494                 {
16495                     AB10 = Arg0
16496                 }
16497 
16498                 Method (A098, 1, NotSerialized)
16499                 {
16500                     Local0 = (Arg0 >> 0x08)
16501                     If (((Local0 >= A105) && (Local0 <= A106)))
16502                     {
16503                         Return (0x01)
16504                     }
16505 
16506                     Return (0x00)
16507                 }
16508 
16509                 Method (A107, 1, NotSerialized)
16510                 {
16511                     Local0 = (AB0D | (AB0C << 0x03))
16512                     If ((Arg0 == Local0))
16513                     {
16514                         Return (0x01)
16515                     }
16516 
16517                     Return (0x00)
16518                 }
16519 
16520                 Method (A099, 0, NotSerialized)
16521                 {
16522                     AB10 = 0x00
16523                 }
16524 
16525                 Method (A102, 1, NotSerialized)
16526                 {
16527                     If ((Arg0 >= 0x02)){}
16528                     If ((Arg0 >= 0x03)){}
16529                     If ((Arg0 == 0x01))
16530                     {
16531                         If ((AB04 == 0x01)){}
16532                     }
16533                     Else
16534                     {
16535                     }
16536                 }
16537 
16538                 Method (A108, 1, NotSerialized)
16539                 {
16540                     Local0 = 0x00
16541                     Local1 = A109 (Local0, 0x00)
16542                     Local2 = A109 (Local0, 0x08)
16543                     If ((Local1 != 0xFFFFFFFF))
16544                     {
16545                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
16546                         Local1 &= 0xFFFF
16547                         Local2 = ((Local2 >> 0x18) & 0xFF)
16548                         If ((Local2 == 0x03))
16549                         {
16550                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
16551                             {
16552                                 Local0 = 0x10
16553                                 While ((Local0 < 0x30))
16554                                 {
16555                                     Local4 = A109 (0x00, Local0)
16556                                     Local5 = 0x00
16557                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
16558                                     {
16559                                         If (((Local4 & 0x06) == 0x04))
16560                                         {
16561                                             Local0 += 0x04
16562                                             Local5 = A109 (0x00, Local0)
16563                                         }
16564 
16565                                         If ((Arg0 != 0x00))
16566                                         {
16567                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
16568                                             A110 (0x26, Local5, 0x00)
16569                                             A110 (0x28, 0x00, 0x00)
16570                                             A110 (0x27, 0x00, 0x00)
16571                                             Break
16572                                         }
16573                                         Else
16574                                         {
16575                                             A110 (0x28, 0x00, 0x00)
16576                                             A110 (0x07, 0x00, (0x01 << 0x0A))
16577                                             Break
16578                                         }
16579                                     }
16580                                     ElseIf (((Local4 & 0x06) == 0x04))
16581                                     {
16582                                         Local0 += 0x04
16583                                     }
16584 
16585                                     Local0 += 0x04
16586                                 }
16587                             }
16588                         }
16589                     }
16590                 }
16591 
16592                 Method (A122, 2, NotSerialized)
16593                 {
16594                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
16595                     {
16596                         Return (0x00)
16597                     }
16598 
16599                     Local0 = A109 (Arg0, 0x34)
16600                     While (0x01)
16601                     {
16602                         Local1 = A109 (Arg0, (Local0 & 0xFF))
16603                         If (((Local1 & 0xFF) == Arg1))
16604                         {
16605                             Return ((Local0 & 0xFF))
16606                         }
16607 
16608                         Local0 = ((Local1 >> 0x08) & 0xFF)
16609                         If ((Local0 == 0x00))
16610                         {
16611                             Return (Local0)
16612                         }
16613                     }
16614                 }
16615 
16616                 Name (AESP, Package (0x08)
16617                 {
16618                     0x00, 
16619                     0x00, 
16620                     0x00, 
16621                     0x00, 
16622                     0x00, 
16623                     0x00, 
16624                     0x00, 
16625                     0x00
16626                 })
16627                 Method (A103, 1, NotSerialized)
16628                 {
16629                     Local0 = 0x00
16630                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
16631                     {
16632                         Local1 = (A109 (Local0, 0x08) & 0x80)
16633                         If ((Local1 == 0x80))
16634                         {
16635                             Local7 = 0x07
16636                         }
16637                         Else
16638                         {
16639                             Local7 = 0x00
16640                         }
16641 
16642                         While ((Local0 <= Local7))
16643                         {
16644                             Local1 = A122 (Local0, 0x10)
16645                             If ((Local1 == 0x00))
16646                             {
16647                                 Local0++
16648                                 Continue
16649                             }
16650 
16651                             If ((Arg0 == 0x00))
16652                             {
16653                                 Local2 = A109 (Local0, (Local1 + 0x10))
16654                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
16655                                 AESP [Local0] = Local2
16656                             }
16657                             Else
16658                             {
16659                                 Local2 = DerefOf (AESP [Local0])
16660                                 A120 (Local0, (Local1 + 0x10), Local2)
16661                             }
16662 
16663                             Local0++
16664                         }
16665                     }
16666                     Else
16667                     {
16668                     }
16669                 }
16670 
16671                 Method (A120, 3, Serialized)
16672                 {
16673                     Local0 = (AGRB + (A106 << 0x14))
16674                     Local0 += (Arg0 << 0x0C)
16675                     Local0 += Arg1
16676                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
16677                     Field (ADRB, DWordAcc, NoLock, Preserve)
16678                     {
16679                         ADRR,   32
16680                     }
16681 
16682                     ADRR = Arg2
16683                 }
16684 
16685                 Method (A109, 2, Serialized)
16686                 {
16687                     Local0 = (AGRB + (A106 << 0x14))
16688                     Local0 += (Arg0 << 0x0C)
16689                     Local0 += Arg1
16690                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
16691                     Field (ADRB, DWordAcc, NoLock, Preserve)
16692                     {
16693                         ADRR,   32
16694                     }
16695 
16696                     Return (ADRR) /* \_SB_.AWR0.ABR1.A109.ADRR */
16697                 }
16698 
16699                 Method (A118, 1, NotSerialized)
16700                 {
16701                     If ((AB0B != 0x01))
16702                     {
16703                         Return (0x00)
16704                     }
16705 
16706                     Return (A107 (Arg0))
16707                 }
16708 
16709                 Method (A119, 1, NotSerialized)
16710                 {
16711                     Name (A104, 0x00)
16712                     Local2 = 0x00
16713                     A104 = A112 /* \_SB_.AWR0.ABR1.A112 */
16714                     Local1 = (AB0D | (AB0C << 0x03))
16715                     If ((Arg0 == 0x01))
16716                     {
16717                         A113 = 0x00
16718                         Local0 = 0x01
16719                     }
16720                     Else
16721                     {
16722                         A103 (0x00)
16723                         Local0 = A109 (0x00, 0x04)
16724                         If ((Local0 != 0xFFFFFFFF))
16725                         {
16726                             A120 (0x00, 0x04, (Local0 & ~0x04))
16727                             Local0 = A109 (0x01, 0x04)
16728                             If ((Local0 != 0xFFFFFFFF))
16729                             {
16730                                 A120 (0x01, 0x04, (Local0 & ~0x04))
16731                             }
16732                         }
16733 
16734                         Local2 = 0x00
16735                         A113 = 0x01
16736                         Local0 = 0x05
16737                     }
16738 
16739                     A112 = 0x00
16740                     While ((Local0 != 0x08))
16741                     {
16742                         If ((Local0 == 0x01))
16743                         {
16744                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
16745                             Local2 = 0x01
16746                             Local0 = 0x08
16747                         }
16748 
16749                         If ((Local0 == 0x05))
16750                         {
16751                             A109 (0x00, 0x00)
16752                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
16753                             AB05 = 0x00
16754                             AB04 = 0x00
16755                             AB10 = 0x00
16756                             Local2 = 0x00
16757                             Local0 = 0x08
16758                         }
16759                     }
16760 
16761                     A112 = A104 /* \_SB_.AWR0.ABR1.A119.A104 */
16762                     If ((A104 != 0x00))
16763                     {
16764                         A103 (0x01)
16765                     }
16766 
16767                     Return (Local2)
16768                 }
16769             }
16770 
16771             Device (ABR2)
16772             {
16773                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
16774                 Name (_UID, 0x82)  // _UID: Unique ID
16775                 Name (AB12, 0x48)
16776                 Name (AB00, 0x00)
16777                 Name (AB01, 0x00)
16778                 Name (AB0E, 0x00)
16779                 Name (AB02, 0x00)
16780                 Name (AB03, 0x00)
16781                 Name (AB04, 0x00)
16782                 Name (AB05, 0x00)
16783                 Name (AB06, 0x00)
16784                 Name (AB07, 0x00)
16785                 Name (AB08, 0x00)
16786                 Name (AB09, 0x00)
16787                 Name (AB0A, 0x00)
16788                 Name (AB0B, 0x00)
16789                 Name (AB0C, 0x00)
16790                 Name (AB0D, 0x00)
16791                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
16792                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
16793                     ))), 0x1000)
16794                 Field (A111, ByteAcc, NoLock, Preserve)
16795                 {
16796                     Offset (0x18), 
16797                     Offset (0x19), 
16798                     A105,   8, 
16799                     A106,   8, 
16800                     Offset (0x68), 
16801                     A112,   2, 
16802                         ,   2, 
16803                     A113,   1, 
16804                     A114,   1, 
16805                     Offset (0x6A), 
16806                         ,   11, 
16807                     A115,   1, 
16808                     Offset (0x88), 
16809                     A116,   4, 
16810                         ,   1, 
16811                     A117,   1
16812                 }
16813 
16814                 Name (AB10, 0x00)
16815                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
16816                 {
16817                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
16818                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
16819                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
16820                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
16821                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
16822                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
16823                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
16824                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
16825                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
16826                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
16827                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
16828                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
16829                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
16830                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
16831                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
16832                 }
16833 
16834                 Method (A100, 0, NotSerialized)
16835                 {
16836                     Local0 = A082 ()
16837                     If ((Local0 == 0x01))
16838                     {
16839                         Return (AB01) /* \_SB_.AWR0.ABR2.AB01 */
16840                     }
16841 
16842                     If ((Local0 == 0x00))
16843                     {
16844                         Return (AB0E) /* \_SB_.AWR0.ABR2.AB0E */
16845                     }
16846                 }
16847 
16848                 Method (A095, 0, NotSerialized)
16849                 {
16850                     If ((AB10 != 0x00))
16851                     {
16852                         If ((AB10 == 0x01))
16853                         {
16854                             Return (0x01)
16855                         }
16856                     }
16857 
16858                     Return (0x00)
16859                 }
16860 
16861                 Method (A101, 0, NotSerialized)
16862                 {
16863                     If ((AB05 != 0x00))
16864                     {
16865                         Return (AB05) /* \_SB_.AWR0.ABR2.AB05 */
16866                     }
16867 
16868                     If ((AB10 > 0x01))
16869                     {
16870                         Return ((AB10 - 0x01))
16871                     }
16872 
16873                     Return (0x00)
16874                 }
16875 
16876                 Method (A094, 0, NotSerialized)
16877                 {
16878                     If ((\_SB.AP05 == 0x00))
16879                     {
16880                         If ((AB05 != 0x00))
16881                         {
16882                             Return (AB05) /* \_SB_.AWR0.ABR2.AB05 */
16883                         }
16884 
16885                         Return (AB0E) /* \_SB_.AWR0.ABR2.AB0E */
16886                     }
16887 
16888                     Local0 = A101 ()
16889                     If ((Local0 != 0x00))
16890                     {
16891                         If ((Local0 > AB00))
16892                         {
16893                             Return (AB00) /* \_SB_.AWR0.ABR2.AB00 */
16894                         }
16895                         Else
16896                         {
16897                             Return (Local0)
16898                         }
16899                     }
16900 
16901                     Local0 = A100 ()
16902                     If ((\_SB.AP03 != 0x00))
16903                     {
16904                         If ((\_SB.AP03 < Local0))
16905                         {
16906                             Return (\_SB.AP03)
16907                         }
16908                     }
16909 
16910                     Return (Local0)
16911                 }
16912 
16913                 Method (A093, 0, NotSerialized)
16914                 {
16915                     Return (AB02) /* \_SB_.AWR0.ABR2.AB02 */
16916                 }
16917 
16918                 Method (A096, 0, NotSerialized)
16919                 {
16920                     Return (AB00) /* \_SB_.AWR0.ABR2.AB00 */
16921                 }
16922 
16923                 Method (A092, 1, NotSerialized)
16924                 {
16925                     AB02 = Arg0
16926                     A102 (Arg0)
16927                     If ((AB10 != 0x00)){}
16928                     Else
16929                     {
16930                     }
16931 
16932                     A103 (0x00)
16933                     Name (A104, 0x00)
16934                     A103 (0x01)
16935                 }
16936 
16937                 Method (A097, 1, NotSerialized)
16938                 {
16939                     AB10 = Arg0
16940                 }
16941 
16942                 Method (A098, 1, NotSerialized)
16943                 {
16944                     Local0 = (Arg0 >> 0x08)
16945                     If (((Local0 >= A105) && (Local0 <= A106)))
16946                     {
16947                         Return (0x01)
16948                     }
16949 
16950                     Return (0x00)
16951                 }
16952 
16953                 Method (A107, 1, NotSerialized)
16954                 {
16955                     Local0 = (AB0D | (AB0C << 0x03))
16956                     If ((Arg0 == Local0))
16957                     {
16958                         Return (0x01)
16959                     }
16960 
16961                     Return (0x00)
16962                 }
16963 
16964                 Method (A099, 0, NotSerialized)
16965                 {
16966                     AB10 = 0x00
16967                 }
16968 
16969                 Method (A102, 1, NotSerialized)
16970                 {
16971                     If ((Arg0 >= 0x02)){}
16972                     If ((Arg0 >= 0x03)){}
16973                     If ((Arg0 == 0x01))
16974                     {
16975                         If ((AB04 == 0x01)){}
16976                     }
16977                     Else
16978                     {
16979                     }
16980                 }
16981 
16982                 Method (A108, 1, NotSerialized)
16983                 {
16984                     Local0 = 0x00
16985                     Local1 = A109 (Local0, 0x00)
16986                     Local2 = A109 (Local0, 0x08)
16987                     If ((Local1 != 0xFFFFFFFF))
16988                     {
16989                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
16990                         Local1 &= 0xFFFF
16991                         Local2 = ((Local2 >> 0x18) & 0xFF)
16992                         If ((Local2 == 0x03))
16993                         {
16994                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
16995                             {
16996                                 Local0 = 0x10
16997                                 While ((Local0 < 0x30))
16998                                 {
16999                                     Local4 = A109 (0x00, Local0)
17000                                     Local5 = 0x00
17001                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
17002                                     {
17003                                         If (((Local4 & 0x06) == 0x04))
17004                                         {
17005                                             Local0 += 0x04
17006                                             Local5 = A109 (0x00, Local0)
17007                                         }
17008 
17009                                         If ((Arg0 != 0x00))
17010                                         {
17011                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
17012                                             A110 (0x26, Local5, 0x00)
17013                                             A110 (0x28, 0x00, 0x00)
17014                                             A110 (0x27, 0x00, 0x00)
17015                                             Break
17016                                         }
17017                                         Else
17018                                         {
17019                                             A110 (0x28, 0x00, 0x00)
17020                                             A110 (0x07, 0x00, (0x01 << 0x0A))
17021                                             Break
17022                                         }
17023                                     }
17024                                     ElseIf (((Local4 & 0x06) == 0x04))
17025                                     {
17026                                         Local0 += 0x04
17027                                     }
17028 
17029                                     Local0 += 0x04
17030                                 }
17031                             }
17032                         }
17033                     }
17034                 }
17035 
17036                 Method (A122, 2, NotSerialized)
17037                 {
17038                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
17039                     {
17040                         Return (0x00)
17041                     }
17042 
17043                     Local0 = A109 (Arg0, 0x34)
17044                     While (0x01)
17045                     {
17046                         Local1 = A109 (Arg0, (Local0 & 0xFF))
17047                         If (((Local1 & 0xFF) == Arg1))
17048                         {
17049                             Return ((Local0 & 0xFF))
17050                         }
17051 
17052                         Local0 = ((Local1 >> 0x08) & 0xFF)
17053                         If ((Local0 == 0x00))
17054                         {
17055                             Return (Local0)
17056                         }
17057                     }
17058                 }
17059 
17060                 Name (AESP, Package (0x08)
17061                 {
17062                     0x00, 
17063                     0x00, 
17064                     0x00, 
17065                     0x00, 
17066                     0x00, 
17067                     0x00, 
17068                     0x00, 
17069                     0x00
17070                 })
17071                 Method (A103, 1, NotSerialized)
17072                 {
17073                     Local0 = 0x00
17074                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
17075                     {
17076                         Local1 = (A109 (Local0, 0x08) & 0x80)
17077                         If ((Local1 == 0x80))
17078                         {
17079                             Local7 = 0x07
17080                         }
17081                         Else
17082                         {
17083                             Local7 = 0x00
17084                         }
17085 
17086                         While ((Local0 <= Local7))
17087                         {
17088                             Local1 = A122 (Local0, 0x10)
17089                             If ((Local1 == 0x00))
17090                             {
17091                                 Local0++
17092                                 Continue
17093                             }
17094 
17095                             If ((Arg0 == 0x00))
17096                             {
17097                                 Local2 = A109 (Local0, (Local1 + 0x10))
17098                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
17099                                 AESP [Local0] = Local2
17100                             }
17101                             Else
17102                             {
17103                                 Local2 = DerefOf (AESP [Local0])
17104                                 A120 (Local0, (Local1 + 0x10), Local2)
17105                             }
17106 
17107                             Local0++
17108                         }
17109                     }
17110                     Else
17111                     {
17112                     }
17113                 }
17114 
17115                 Method (A120, 3, Serialized)
17116                 {
17117                     Local0 = (AGRB + (A106 << 0x14))
17118                     Local0 += (Arg0 << 0x0C)
17119                     Local0 += Arg1
17120                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
17121                     Field (ADRB, DWordAcc, NoLock, Preserve)
17122                     {
17123                         ADRR,   32
17124                     }
17125 
17126                     ADRR = Arg2
17127                 }
17128 
17129                 Method (A109, 2, Serialized)
17130                 {
17131                     Local0 = (AGRB + (A106 << 0x14))
17132                     Local0 += (Arg0 << 0x0C)
17133                     Local0 += Arg1
17134                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
17135                     Field (ADRB, DWordAcc, NoLock, Preserve)
17136                     {
17137                         ADRR,   32
17138                     }
17139 
17140                     Return (ADRR) /* \_SB_.AWR0.ABR2.A109.ADRR */
17141                 }
17142 
17143                 Method (A118, 1, NotSerialized)
17144                 {
17145                     If ((AB0B != 0x01))
17146                     {
17147                         Return (0x00)
17148                     }
17149 
17150                     Return (A107 (Arg0))
17151                 }
17152 
17153                 Method (A119, 1, NotSerialized)
17154                 {
17155                     Name (A104, 0x00)
17156                     Local2 = 0x00
17157                     A104 = A112 /* \_SB_.AWR0.ABR2.A112 */
17158                     Local1 = (AB0D | (AB0C << 0x03))
17159                     If ((Arg0 == 0x01))
17160                     {
17161                         A113 = 0x00
17162                         Local0 = 0x01
17163                     }
17164                     Else
17165                     {
17166                         A103 (0x00)
17167                         Local0 = A109 (0x00, 0x04)
17168                         If ((Local0 != 0xFFFFFFFF))
17169                         {
17170                             A120 (0x00, 0x04, (Local0 & ~0x04))
17171                             Local0 = A109 (0x01, 0x04)
17172                             If ((Local0 != 0xFFFFFFFF))
17173                             {
17174                                 A120 (0x01, 0x04, (Local0 & ~0x04))
17175                             }
17176                         }
17177 
17178                         Local2 = 0x00
17179                         A113 = 0x01
17180                         Local0 = 0x05
17181                     }
17182 
17183                     A112 = 0x00
17184                     While ((Local0 != 0x08))
17185                     {
17186                         If ((Local0 == 0x01))
17187                         {
17188                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
17189                             Local2 = 0x01
17190                             Local0 = 0x08
17191                         }
17192 
17193                         If ((Local0 == 0x05))
17194                         {
17195                             A109 (0x00, 0x00)
17196                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
17197                             AB05 = 0x00
17198                             AB04 = 0x00
17199                             AB10 = 0x00
17200                             Local2 = 0x00
17201                             Local0 = 0x08
17202                         }
17203                     }
17204 
17205                     A112 = A104 /* \_SB_.AWR0.ABR2.A119.A104 */
17206                     If ((A104 != 0x00))
17207                     {
17208                         A103 (0x01)
17209                     }
17210 
17211                     Return (Local2)
17212                 }
17213             }
17214 
17215             Device (ABR3)
17216             {
17217                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
17218                 Name (_UID, 0x83)  // _UID: Unique ID
17219                 Name (AB12, 0x5C)
17220                 Name (AB00, 0x00)
17221                 Name (AB01, 0x00)
17222                 Name (AB0E, 0x00)
17223                 Name (AB02, 0x00)
17224                 Name (AB03, 0x00)
17225                 Name (AB04, 0x00)
17226                 Name (AB05, 0x00)
17227                 Name (AB06, 0x00)
17228                 Name (AB07, 0x00)
17229                 Name (AB08, 0x00)
17230                 Name (AB09, 0x00)
17231                 Name (AB0A, 0x00)
17232                 Name (AB0B, 0x00)
17233                 Name (AB0C, 0x00)
17234                 Name (AB0D, 0x00)
17235                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
17236                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
17237                     ))), 0x1000)
17238                 Field (A111, ByteAcc, NoLock, Preserve)
17239                 {
17240                     Offset (0x18), 
17241                     Offset (0x19), 
17242                     A105,   8, 
17243                     A106,   8, 
17244                     Offset (0x68), 
17245                     A112,   2, 
17246                         ,   2, 
17247                     A113,   1, 
17248                     A114,   1, 
17249                     Offset (0x6A), 
17250                         ,   11, 
17251                     A115,   1, 
17252                     Offset (0x88), 
17253                     A116,   4, 
17254                         ,   1, 
17255                     A117,   1
17256                 }
17257 
17258                 Name (AB10, 0x00)
17259                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
17260                 {
17261                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
17262                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
17263                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
17264                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
17265                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
17266                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
17267                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
17268                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
17269                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
17270                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
17271                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
17272                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
17273                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
17274                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
17275                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
17276                 }
17277 
17278                 Method (A100, 0, NotSerialized)
17279                 {
17280                     Local0 = A082 ()
17281                     If ((Local0 == 0x01))
17282                     {
17283                         Return (AB01) /* \_SB_.AWR0.ABR3.AB01 */
17284                     }
17285 
17286                     If ((Local0 == 0x00))
17287                     {
17288                         Return (AB0E) /* \_SB_.AWR0.ABR3.AB0E */
17289                     }
17290                 }
17291 
17292                 Method (A095, 0, NotSerialized)
17293                 {
17294                     If ((AB10 != 0x00))
17295                     {
17296                         If ((AB10 == 0x01))
17297                         {
17298                             Return (0x01)
17299                         }
17300                     }
17301 
17302                     Return (0x00)
17303                 }
17304 
17305                 Method (A101, 0, NotSerialized)
17306                 {
17307                     If ((AB05 != 0x00))
17308                     {
17309                         Return (AB05) /* \_SB_.AWR0.ABR3.AB05 */
17310                     }
17311 
17312                     If ((AB10 > 0x01))
17313                     {
17314                         Return ((AB10 - 0x01))
17315                     }
17316 
17317                     Return (0x00)
17318                 }
17319 
17320                 Method (A094, 0, NotSerialized)
17321                 {
17322                     If ((\_SB.AP05 == 0x00))
17323                     {
17324                         If ((AB05 != 0x00))
17325                         {
17326                             Return (AB05) /* \_SB_.AWR0.ABR3.AB05 */
17327                         }
17328 
17329                         Return (AB0E) /* \_SB_.AWR0.ABR3.AB0E */
17330                     }
17331 
17332                     Local0 = A101 ()
17333                     If ((Local0 != 0x00))
17334                     {
17335                         If ((Local0 > AB00))
17336                         {
17337                             Return (AB00) /* \_SB_.AWR0.ABR3.AB00 */
17338                         }
17339                         Else
17340                         {
17341                             Return (Local0)
17342                         }
17343                     }
17344 
17345                     Local0 = A100 ()
17346                     If ((\_SB.AP03 != 0x00))
17347                     {
17348                         If ((\_SB.AP03 < Local0))
17349                         {
17350                             Return (\_SB.AP03)
17351                         }
17352                     }
17353 
17354                     Return (Local0)
17355                 }
17356 
17357                 Method (A093, 0, NotSerialized)
17358                 {
17359                     Return (AB02) /* \_SB_.AWR0.ABR3.AB02 */
17360                 }
17361 
17362                 Method (A096, 0, NotSerialized)
17363                 {
17364                     Return (AB00) /* \_SB_.AWR0.ABR3.AB00 */
17365                 }
17366 
17367                 Method (A092, 1, NotSerialized)
17368                 {
17369                     AB02 = Arg0
17370                     A102 (Arg0)
17371                     If ((AB10 != 0x00)){}
17372                     Else
17373                     {
17374                     }
17375 
17376                     A103 (0x00)
17377                     Name (A104, 0x00)
17378                     A103 (0x01)
17379                 }
17380 
17381                 Method (A097, 1, NotSerialized)
17382                 {
17383                     AB10 = Arg0
17384                 }
17385 
17386                 Method (A098, 1, NotSerialized)
17387                 {
17388                     Local0 = (Arg0 >> 0x08)
17389                     If (((Local0 >= A105) && (Local0 <= A106)))
17390                     {
17391                         Return (0x01)
17392                     }
17393 
17394                     Return (0x00)
17395                 }
17396 
17397                 Method (A107, 1, NotSerialized)
17398                 {
17399                     Local0 = (AB0D | (AB0C << 0x03))
17400                     If ((Arg0 == Local0))
17401                     {
17402                         Return (0x01)
17403                     }
17404 
17405                     Return (0x00)
17406                 }
17407 
17408                 Method (A099, 0, NotSerialized)
17409                 {
17410                     AB10 = 0x00
17411                 }
17412 
17413                 Method (A102, 1, NotSerialized)
17414                 {
17415                     If ((Arg0 >= 0x02)){}
17416                     If ((Arg0 >= 0x03)){}
17417                     If ((Arg0 == 0x01))
17418                     {
17419                         If ((AB04 == 0x01)){}
17420                     }
17421                     Else
17422                     {
17423                     }
17424                 }
17425 
17426                 Method (A108, 1, NotSerialized)
17427                 {
17428                     Local0 = 0x00
17429                     Local1 = A109 (Local0, 0x00)
17430                     Local2 = A109 (Local0, 0x08)
17431                     If ((Local1 != 0xFFFFFFFF))
17432                     {
17433                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
17434                         Local1 &= 0xFFFF
17435                         Local2 = ((Local2 >> 0x18) & 0xFF)
17436                         If ((Local2 == 0x03))
17437                         {
17438                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
17439                             {
17440                                 Local0 = 0x10
17441                                 While ((Local0 < 0x30))
17442                                 {
17443                                     Local4 = A109 (0x00, Local0)
17444                                     Local5 = 0x00
17445                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
17446                                     {
17447                                         If (((Local4 & 0x06) == 0x04))
17448                                         {
17449                                             Local0 += 0x04
17450                                             Local5 = A109 (0x00, Local0)
17451                                         }
17452 
17453                                         If ((Arg0 != 0x00))
17454                                         {
17455                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
17456                                             A110 (0x26, Local5, 0x00)
17457                                             A110 (0x28, 0x00, 0x00)
17458                                             A110 (0x27, 0x00, 0x00)
17459                                             Break
17460                                         }
17461                                         Else
17462                                         {
17463                                             A110 (0x28, 0x00, 0x00)
17464                                             A110 (0x07, 0x00, (0x01 << 0x0A))
17465                                             Break
17466                                         }
17467                                     }
17468                                     ElseIf (((Local4 & 0x06) == 0x04))
17469                                     {
17470                                         Local0 += 0x04
17471                                     }
17472 
17473                                     Local0 += 0x04
17474                                 }
17475                             }
17476                         }
17477                     }
17478                 }
17479 
17480                 Method (A122, 2, NotSerialized)
17481                 {
17482                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
17483                     {
17484                         Return (0x00)
17485                     }
17486 
17487                     Local0 = A109 (Arg0, 0x34)
17488                     While (0x01)
17489                     {
17490                         Local1 = A109 (Arg0, (Local0 & 0xFF))
17491                         If (((Local1 & 0xFF) == Arg1))
17492                         {
17493                             Return ((Local0 & 0xFF))
17494                         }
17495 
17496                         Local0 = ((Local1 >> 0x08) & 0xFF)
17497                         If ((Local0 == 0x00))
17498                         {
17499                             Return (Local0)
17500                         }
17501                     }
17502                 }
17503 
17504                 Name (AESP, Package (0x08)
17505                 {
17506                     0x00, 
17507                     0x00, 
17508                     0x00, 
17509                     0x00, 
17510                     0x00, 
17511                     0x00, 
17512                     0x00, 
17513                     0x00
17514                 })
17515                 Method (A103, 1, NotSerialized)
17516                 {
17517                     Local0 = 0x00
17518                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
17519                     {
17520                         Local1 = (A109 (Local0, 0x08) & 0x80)
17521                         If ((Local1 == 0x80))
17522                         {
17523                             Local7 = 0x07
17524                         }
17525                         Else
17526                         {
17527                             Local7 = 0x00
17528                         }
17529 
17530                         While ((Local0 <= Local7))
17531                         {
17532                             Local1 = A122 (Local0, 0x10)
17533                             If ((Local1 == 0x00))
17534                             {
17535                                 Local0++
17536                                 Continue
17537                             }
17538 
17539                             If ((Arg0 == 0x00))
17540                             {
17541                                 Local2 = A109 (Local0, (Local1 + 0x10))
17542                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
17543                                 AESP [Local0] = Local2
17544                             }
17545                             Else
17546                             {
17547                                 Local2 = DerefOf (AESP [Local0])
17548                                 A120 (Local0, (Local1 + 0x10), Local2)
17549                             }
17550 
17551                             Local0++
17552                         }
17553                     }
17554                     Else
17555                     {
17556                     }
17557                 }
17558 
17559                 Method (A120, 3, Serialized)
17560                 {
17561                     Local0 = (AGRB + (A106 << 0x14))
17562                     Local0 += (Arg0 << 0x0C)
17563                     Local0 += Arg1
17564                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
17565                     Field (ADRB, DWordAcc, NoLock, Preserve)
17566                     {
17567                         ADRR,   32
17568                     }
17569 
17570                     ADRR = Arg2
17571                 }
17572 
17573                 Method (A109, 2, Serialized)
17574                 {
17575                     Local0 = (AGRB + (A106 << 0x14))
17576                     Local0 += (Arg0 << 0x0C)
17577                     Local0 += Arg1
17578                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
17579                     Field (ADRB, DWordAcc, NoLock, Preserve)
17580                     {
17581                         ADRR,   32
17582                     }
17583 
17584                     Return (ADRR) /* \_SB_.AWR0.ABR3.A109.ADRR */
17585                 }
17586 
17587                 Method (A118, 1, NotSerialized)
17588                 {
17589                     If ((AB0B != 0x01))
17590                     {
17591                         Return (0x00)
17592                     }
17593 
17594                     Return (A107 (Arg0))
17595                 }
17596 
17597                 Method (A119, 1, NotSerialized)
17598                 {
17599                     Name (A104, 0x00)
17600                     Local2 = 0x00
17601                     A104 = A112 /* \_SB_.AWR0.ABR3.A112 */
17602                     Local1 = (AB0D | (AB0C << 0x03))
17603                     If ((Arg0 == 0x01))
17604                     {
17605                         A113 = 0x00
17606                         Local0 = 0x01
17607                     }
17608                     Else
17609                     {
17610                         A103 (0x00)
17611                         Local0 = A109 (0x00, 0x04)
17612                         If ((Local0 != 0xFFFFFFFF))
17613                         {
17614                             A120 (0x00, 0x04, (Local0 & ~0x04))
17615                             Local0 = A109 (0x01, 0x04)
17616                             If ((Local0 != 0xFFFFFFFF))
17617                             {
17618                                 A120 (0x01, 0x04, (Local0 & ~0x04))
17619                             }
17620                         }
17621 
17622                         Local2 = 0x00
17623                         A113 = 0x01
17624                         Local0 = 0x05
17625                     }
17626 
17627                     A112 = 0x00
17628                     While ((Local0 != 0x08))
17629                     {
17630                         If ((Local0 == 0x01))
17631                         {
17632                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
17633                             Local2 = 0x01
17634                             Local0 = 0x08
17635                         }
17636 
17637                         If ((Local0 == 0x05))
17638                         {
17639                             A109 (0x00, 0x00)
17640                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
17641                             AB05 = 0x00
17642                             AB04 = 0x00
17643                             AB10 = 0x00
17644                             Local2 = 0x00
17645                             Local0 = 0x08
17646                         }
17647                     }
17648 
17649                     A112 = A104 /* \_SB_.AWR0.ABR3.A119.A104 */
17650                     If ((A104 != 0x00))
17651                     {
17652                         A103 (0x01)
17653                     }
17654 
17655                     Return (Local2)
17656                 }
17657             }
17658 
17659             Device (ABR4)
17660             {
17661                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
17662                 Name (_UID, 0x84)  // _UID: Unique ID
17663                 Name (AB12, 0x70)
17664                 Name (AB00, 0x00)
17665                 Name (AB01, 0x00)
17666                 Name (AB0E, 0x00)
17667                 Name (AB02, 0x00)
17668                 Name (AB03, 0x00)
17669                 Name (AB04, 0x00)
17670                 Name (AB05, 0x00)
17671                 Name (AB06, 0x00)
17672                 Name (AB07, 0x00)
17673                 Name (AB08, 0x00)
17674                 Name (AB09, 0x00)
17675                 Name (AB0A, 0x00)
17676                 Name (AB0B, 0x00)
17677                 Name (AB0C, 0x00)
17678                 Name (AB0D, 0x00)
17679                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
17680                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
17681                     ))), 0x1000)
17682                 Field (A111, ByteAcc, NoLock, Preserve)
17683                 {
17684                     Offset (0x18), 
17685                     Offset (0x19), 
17686                     A105,   8, 
17687                     A106,   8, 
17688                     Offset (0x68), 
17689                     A112,   2, 
17690                         ,   2, 
17691                     A113,   1, 
17692                     A114,   1, 
17693                     Offset (0x6A), 
17694                         ,   11, 
17695                     A115,   1, 
17696                     Offset (0x88), 
17697                     A116,   4, 
17698                         ,   1, 
17699                     A117,   1
17700                 }
17701 
17702                 Name (AB10, 0x00)
17703                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
17704                 {
17705                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
17706                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
17707                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
17708                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
17709                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
17710                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
17711                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
17712                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
17713                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
17714                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
17715                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
17716                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
17717                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
17718                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
17719                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
17720                 }
17721 
17722                 Method (A100, 0, NotSerialized)
17723                 {
17724                     Local0 = A082 ()
17725                     If ((Local0 == 0x01))
17726                     {
17727                         Return (AB01) /* \_SB_.AWR0.ABR4.AB01 */
17728                     }
17729 
17730                     If ((Local0 == 0x00))
17731                     {
17732                         Return (AB0E) /* \_SB_.AWR0.ABR4.AB0E */
17733                     }
17734                 }
17735 
17736                 Method (A095, 0, NotSerialized)
17737                 {
17738                     If ((AB10 != 0x00))
17739                     {
17740                         If ((AB10 == 0x01))
17741                         {
17742                             Return (0x01)
17743                         }
17744                     }
17745 
17746                     Return (0x00)
17747                 }
17748 
17749                 Method (A101, 0, NotSerialized)
17750                 {
17751                     If ((AB05 != 0x00))
17752                     {
17753                         Return (AB05) /* \_SB_.AWR0.ABR4.AB05 */
17754                     }
17755 
17756                     If ((AB10 > 0x01))
17757                     {
17758                         Return ((AB10 - 0x01))
17759                     }
17760 
17761                     Return (0x00)
17762                 }
17763 
17764                 Method (A094, 0, NotSerialized)
17765                 {
17766                     If ((\_SB.AP05 == 0x00))
17767                     {
17768                         If ((AB05 != 0x00))
17769                         {
17770                             Return (AB05) /* \_SB_.AWR0.ABR4.AB05 */
17771                         }
17772 
17773                         Return (AB0E) /* \_SB_.AWR0.ABR4.AB0E */
17774                     }
17775 
17776                     Local0 = A101 ()
17777                     If ((Local0 != 0x00))
17778                     {
17779                         If ((Local0 > AB00))
17780                         {
17781                             Return (AB00) /* \_SB_.AWR0.ABR4.AB00 */
17782                         }
17783                         Else
17784                         {
17785                             Return (Local0)
17786                         }
17787                     }
17788 
17789                     Local0 = A100 ()
17790                     If ((\_SB.AP03 != 0x00))
17791                     {
17792                         If ((\_SB.AP03 < Local0))
17793                         {
17794                             Return (\_SB.AP03)
17795                         }
17796                     }
17797 
17798                     Return (Local0)
17799                 }
17800 
17801                 Method (A093, 0, NotSerialized)
17802                 {
17803                     Return (AB02) /* \_SB_.AWR0.ABR4.AB02 */
17804                 }
17805 
17806                 Method (A096, 0, NotSerialized)
17807                 {
17808                     Return (AB00) /* \_SB_.AWR0.ABR4.AB00 */
17809                 }
17810 
17811                 Method (A092, 1, NotSerialized)
17812                 {
17813                     AB02 = Arg0
17814                     A102 (Arg0)
17815                     If ((AB10 != 0x00)){}
17816                     Else
17817                     {
17818                     }
17819 
17820                     A103 (0x00)
17821                     Name (A104, 0x00)
17822                     A103 (0x01)
17823                 }
17824 
17825                 Method (A097, 1, NotSerialized)
17826                 {
17827                     AB10 = Arg0
17828                 }
17829 
17830                 Method (A098, 1, NotSerialized)
17831                 {
17832                     Local0 = (Arg0 >> 0x08)
17833                     If (((Local0 >= A105) && (Local0 <= A106)))
17834                     {
17835                         Return (0x01)
17836                     }
17837 
17838                     Return (0x00)
17839                 }
17840 
17841                 Method (A107, 1, NotSerialized)
17842                 {
17843                     Local0 = (AB0D | (AB0C << 0x03))
17844                     If ((Arg0 == Local0))
17845                     {
17846                         Return (0x01)
17847                     }
17848 
17849                     Return (0x00)
17850                 }
17851 
17852                 Method (A099, 0, NotSerialized)
17853                 {
17854                     AB10 = 0x00
17855                 }
17856 
17857                 Method (A102, 1, NotSerialized)
17858                 {
17859                     If ((Arg0 >= 0x02)){}
17860                     If ((Arg0 >= 0x03)){}
17861                     If ((Arg0 == 0x01))
17862                     {
17863                         If ((AB04 == 0x01)){}
17864                     }
17865                     Else
17866                     {
17867                     }
17868                 }
17869 
17870                 Method (A108, 1, NotSerialized)
17871                 {
17872                     Local0 = 0x00
17873                     Local1 = A109 (Local0, 0x00)
17874                     Local2 = A109 (Local0, 0x08)
17875                     If ((Local1 != 0xFFFFFFFF))
17876                     {
17877                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
17878                         Local1 &= 0xFFFF
17879                         Local2 = ((Local2 >> 0x18) & 0xFF)
17880                         If ((Local2 == 0x03))
17881                         {
17882                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
17883                             {
17884                                 Local0 = 0x10
17885                                 While ((Local0 < 0x30))
17886                                 {
17887                                     Local4 = A109 (0x00, Local0)
17888                                     Local5 = 0x00
17889                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
17890                                     {
17891                                         If (((Local4 & 0x06) == 0x04))
17892                                         {
17893                                             Local0 += 0x04
17894                                             Local5 = A109 (0x00, Local0)
17895                                         }
17896 
17897                                         If ((Arg0 != 0x00))
17898                                         {
17899                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
17900                                             A110 (0x26, Local5, 0x00)
17901                                             A110 (0x28, 0x00, 0x00)
17902                                             A110 (0x27, 0x00, 0x00)
17903                                             Break
17904                                         }
17905                                         Else
17906                                         {
17907                                             A110 (0x28, 0x00, 0x00)
17908                                             A110 (0x07, 0x00, (0x01 << 0x0A))
17909                                             Break
17910                                         }
17911                                     }
17912                                     ElseIf (((Local4 & 0x06) == 0x04))
17913                                     {
17914                                         Local0 += 0x04
17915                                     }
17916 
17917                                     Local0 += 0x04
17918                                 }
17919                             }
17920                         }
17921                     }
17922                 }
17923 
17924                 Method (A122, 2, NotSerialized)
17925                 {
17926                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
17927                     {
17928                         Return (0x00)
17929                     }
17930 
17931                     Local0 = A109 (Arg0, 0x34)
17932                     While (0x01)
17933                     {
17934                         Local1 = A109 (Arg0, (Local0 & 0xFF))
17935                         If (((Local1 & 0xFF) == Arg1))
17936                         {
17937                             Return ((Local0 & 0xFF))
17938                         }
17939 
17940                         Local0 = ((Local1 >> 0x08) & 0xFF)
17941                         If ((Local0 == 0x00))
17942                         {
17943                             Return (Local0)
17944                         }
17945                     }
17946                 }
17947 
17948                 Name (AESP, Package (0x08)
17949                 {
17950                     0x00, 
17951                     0x00, 
17952                     0x00, 
17953                     0x00, 
17954                     0x00, 
17955                     0x00, 
17956                     0x00, 
17957                     0x00
17958                 })
17959                 Method (A103, 1, NotSerialized)
17960                 {
17961                     Local0 = 0x00
17962                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
17963                     {
17964                         Local1 = (A109 (Local0, 0x08) & 0x80)
17965                         If ((Local1 == 0x80))
17966                         {
17967                             Local7 = 0x07
17968                         }
17969                         Else
17970                         {
17971                             Local7 = 0x00
17972                         }
17973 
17974                         While ((Local0 <= Local7))
17975                         {
17976                             Local1 = A122 (Local0, 0x10)
17977                             If ((Local1 == 0x00))
17978                             {
17979                                 Local0++
17980                                 Continue
17981                             }
17982 
17983                             If ((Arg0 == 0x00))
17984                             {
17985                                 Local2 = A109 (Local0, (Local1 + 0x10))
17986                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
17987                                 AESP [Local0] = Local2
17988                             }
17989                             Else
17990                             {
17991                                 Local2 = DerefOf (AESP [Local0])
17992                                 A120 (Local0, (Local1 + 0x10), Local2)
17993                             }
17994 
17995                             Local0++
17996                         }
17997                     }
17998                     Else
17999                     {
18000                     }
18001                 }
18002 
18003                 Method (A120, 3, Serialized)
18004                 {
18005                     Local0 = (AGRB + (A106 << 0x14))
18006                     Local0 += (Arg0 << 0x0C)
18007                     Local0 += Arg1
18008                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18009                     Field (ADRB, DWordAcc, NoLock, Preserve)
18010                     {
18011                         ADRR,   32
18012                     }
18013 
18014                     ADRR = Arg2
18015                 }
18016 
18017                 Method (A109, 2, Serialized)
18018                 {
18019                     Local0 = (AGRB + (A106 << 0x14))
18020                     Local0 += (Arg0 << 0x0C)
18021                     Local0 += Arg1
18022                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18023                     Field (ADRB, DWordAcc, NoLock, Preserve)
18024                     {
18025                         ADRR,   32
18026                     }
18027 
18028                     Return (ADRR) /* \_SB_.AWR0.ABR4.A109.ADRR */
18029                 }
18030 
18031                 Method (A118, 1, NotSerialized)
18032                 {
18033                     If ((AB0B != 0x01))
18034                     {
18035                         Return (0x00)
18036                     }
18037 
18038                     Return (A107 (Arg0))
18039                 }
18040 
18041                 Method (A119, 1, NotSerialized)
18042                 {
18043                     Name (A104, 0x00)
18044                     Local2 = 0x00
18045                     A104 = A112 /* \_SB_.AWR0.ABR4.A112 */
18046                     Local1 = (AB0D | (AB0C << 0x03))
18047                     If ((Arg0 == 0x01))
18048                     {
18049                         A113 = 0x00
18050                         Local0 = 0x01
18051                     }
18052                     Else
18053                     {
18054                         A103 (0x00)
18055                         Local0 = A109 (0x00, 0x04)
18056                         If ((Local0 != 0xFFFFFFFF))
18057                         {
18058                             A120 (0x00, 0x04, (Local0 & ~0x04))
18059                             Local0 = A109 (0x01, 0x04)
18060                             If ((Local0 != 0xFFFFFFFF))
18061                             {
18062                                 A120 (0x01, 0x04, (Local0 & ~0x04))
18063                             }
18064                         }
18065 
18066                         Local2 = 0x00
18067                         A113 = 0x01
18068                         Local0 = 0x05
18069                     }
18070 
18071                     A112 = 0x00
18072                     While ((Local0 != 0x08))
18073                     {
18074                         If ((Local0 == 0x01))
18075                         {
18076                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
18077                             Local2 = 0x01
18078                             Local0 = 0x08
18079                         }
18080 
18081                         If ((Local0 == 0x05))
18082                         {
18083                             A109 (0x00, 0x00)
18084                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
18085                             AB05 = 0x00
18086                             AB04 = 0x00
18087                             AB10 = 0x00
18088                             Local2 = 0x00
18089                             Local0 = 0x08
18090                         }
18091                     }
18092 
18093                     A112 = A104 /* \_SB_.AWR0.ABR4.A119.A104 */
18094                     If ((A104 != 0x00))
18095                     {
18096                         A103 (0x01)
18097                     }
18098 
18099                     Return (Local2)
18100                 }
18101             }
18102 
18103             Device (ABR5)
18104             {
18105                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
18106                 Name (_UID, 0x85)  // _UID: Unique ID
18107                 Name (AB12, 0x84)
18108                 Name (AB00, 0x00)
18109                 Name (AB01, 0x00)
18110                 Name (AB0E, 0x00)
18111                 Name (AB02, 0x00)
18112                 Name (AB03, 0x00)
18113                 Name (AB04, 0x00)
18114                 Name (AB05, 0x00)
18115                 Name (AB06, 0x00)
18116                 Name (AB07, 0x00)
18117                 Name (AB08, 0x00)
18118                 Name (AB09, 0x00)
18119                 Name (AB0A, 0x00)
18120                 Name (AB0B, 0x00)
18121                 Name (AB0C, 0x00)
18122                 Name (AB0D, 0x00)
18123                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
18124                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
18125                     ))), 0x1000)
18126                 Field (A111, ByteAcc, NoLock, Preserve)
18127                 {
18128                     Offset (0x18), 
18129                     Offset (0x19), 
18130                     A105,   8, 
18131                     A106,   8, 
18132                     Offset (0x68), 
18133                     A112,   2, 
18134                         ,   2, 
18135                     A113,   1, 
18136                     A114,   1, 
18137                     Offset (0x6A), 
18138                         ,   11, 
18139                     A115,   1, 
18140                     Offset (0x88), 
18141                     A116,   4, 
18142                         ,   1, 
18143                     A117,   1
18144                 }
18145 
18146                 Name (AB10, 0x00)
18147                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
18148                 {
18149                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
18150                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
18151                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
18152                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
18153                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
18154                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
18155                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
18156                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
18157                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
18158                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
18159                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
18160                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
18161                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
18162                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
18163                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
18164                 }
18165 
18166                 Method (A100, 0, NotSerialized)
18167                 {
18168                     Local0 = A082 ()
18169                     If ((Local0 == 0x01))
18170                     {
18171                         Return (AB01) /* \_SB_.AWR0.ABR5.AB01 */
18172                     }
18173 
18174                     If ((Local0 == 0x00))
18175                     {
18176                         Return (AB0E) /* \_SB_.AWR0.ABR5.AB0E */
18177                     }
18178                 }
18179 
18180                 Method (A095, 0, NotSerialized)
18181                 {
18182                     If ((AB10 != 0x00))
18183                     {
18184                         If ((AB10 == 0x01))
18185                         {
18186                             Return (0x01)
18187                         }
18188                     }
18189 
18190                     Return (0x00)
18191                 }
18192 
18193                 Method (A101, 0, NotSerialized)
18194                 {
18195                     If ((AB05 != 0x00))
18196                     {
18197                         Return (AB05) /* \_SB_.AWR0.ABR5.AB05 */
18198                     }
18199 
18200                     If ((AB10 > 0x01))
18201                     {
18202                         Return ((AB10 - 0x01))
18203                     }
18204 
18205                     Return (0x00)
18206                 }
18207 
18208                 Method (A094, 0, NotSerialized)
18209                 {
18210                     If ((\_SB.AP05 == 0x00))
18211                     {
18212                         If ((AB05 != 0x00))
18213                         {
18214                             Return (AB05) /* \_SB_.AWR0.ABR5.AB05 */
18215                         }
18216 
18217                         Return (AB0E) /* \_SB_.AWR0.ABR5.AB0E */
18218                     }
18219 
18220                     Local0 = A101 ()
18221                     If ((Local0 != 0x00))
18222                     {
18223                         If ((Local0 > AB00))
18224                         {
18225                             Return (AB00) /* \_SB_.AWR0.ABR5.AB00 */
18226                         }
18227                         Else
18228                         {
18229                             Return (Local0)
18230                         }
18231                     }
18232 
18233                     Local0 = A100 ()
18234                     If ((\_SB.AP03 != 0x00))
18235                     {
18236                         If ((\_SB.AP03 < Local0))
18237                         {
18238                             Return (\_SB.AP03)
18239                         }
18240                     }
18241 
18242                     Return (Local0)
18243                 }
18244 
18245                 Method (A093, 0, NotSerialized)
18246                 {
18247                     Return (AB02) /* \_SB_.AWR0.ABR5.AB02 */
18248                 }
18249 
18250                 Method (A096, 0, NotSerialized)
18251                 {
18252                     Return (AB00) /* \_SB_.AWR0.ABR5.AB00 */
18253                 }
18254 
18255                 Method (A092, 1, NotSerialized)
18256                 {
18257                     AB02 = Arg0
18258                     A102 (Arg0)
18259                     If ((AB10 != 0x00)){}
18260                     Else
18261                     {
18262                     }
18263 
18264                     A103 (0x00)
18265                     Name (A104, 0x00)
18266                     A103 (0x01)
18267                 }
18268 
18269                 Method (A097, 1, NotSerialized)
18270                 {
18271                     AB10 = Arg0
18272                 }
18273 
18274                 Method (A098, 1, NotSerialized)
18275                 {
18276                     Local0 = (Arg0 >> 0x08)
18277                     If (((Local0 >= A105) && (Local0 <= A106)))
18278                     {
18279                         Return (0x01)
18280                     }
18281 
18282                     Return (0x00)
18283                 }
18284 
18285                 Method (A107, 1, NotSerialized)
18286                 {
18287                     Local0 = (AB0D | (AB0C << 0x03))
18288                     If ((Arg0 == Local0))
18289                     {
18290                         Return (0x01)
18291                     }
18292 
18293                     Return (0x00)
18294                 }
18295 
18296                 Method (A099, 0, NotSerialized)
18297                 {
18298                     AB10 = 0x00
18299                 }
18300 
18301                 Method (A102, 1, NotSerialized)
18302                 {
18303                     If ((Arg0 >= 0x02)){}
18304                     If ((Arg0 >= 0x03)){}
18305                     If ((Arg0 == 0x01))
18306                     {
18307                         If ((AB04 == 0x01)){}
18308                     }
18309                     Else
18310                     {
18311                     }
18312                 }
18313 
18314                 Method (A108, 1, NotSerialized)
18315                 {
18316                     Local0 = 0x00
18317                     Local1 = A109 (Local0, 0x00)
18318                     Local2 = A109 (Local0, 0x08)
18319                     If ((Local1 != 0xFFFFFFFF))
18320                     {
18321                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
18322                         Local1 &= 0xFFFF
18323                         Local2 = ((Local2 >> 0x18) & 0xFF)
18324                         If ((Local2 == 0x03))
18325                         {
18326                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
18327                             {
18328                                 Local0 = 0x10
18329                                 While ((Local0 < 0x30))
18330                                 {
18331                                     Local4 = A109 (0x00, Local0)
18332                                     Local5 = 0x00
18333                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
18334                                     {
18335                                         If (((Local4 & 0x06) == 0x04))
18336                                         {
18337                                             Local0 += 0x04
18338                                             Local5 = A109 (0x00, Local0)
18339                                         }
18340 
18341                                         If ((Arg0 != 0x00))
18342                                         {
18343                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
18344                                             A110 (0x26, Local5, 0x00)
18345                                             A110 (0x28, 0x00, 0x00)
18346                                             A110 (0x27, 0x00, 0x00)
18347                                             Break
18348                                         }
18349                                         Else
18350                                         {
18351                                             A110 (0x28, 0x00, 0x00)
18352                                             A110 (0x07, 0x00, (0x01 << 0x0A))
18353                                             Break
18354                                         }
18355                                     }
18356                                     ElseIf (((Local4 & 0x06) == 0x04))
18357                                     {
18358                                         Local0 += 0x04
18359                                     }
18360 
18361                                     Local0 += 0x04
18362                                 }
18363                             }
18364                         }
18365                     }
18366                 }
18367 
18368                 Method (A122, 2, NotSerialized)
18369                 {
18370                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
18371                     {
18372                         Return (0x00)
18373                     }
18374 
18375                     Local0 = A109 (Arg0, 0x34)
18376                     While (0x01)
18377                     {
18378                         Local1 = A109 (Arg0, (Local0 & 0xFF))
18379                         If (((Local1 & 0xFF) == Arg1))
18380                         {
18381                             Return ((Local0 & 0xFF))
18382                         }
18383 
18384                         Local0 = ((Local1 >> 0x08) & 0xFF)
18385                         If ((Local0 == 0x00))
18386                         {
18387                             Return (Local0)
18388                         }
18389                     }
18390                 }
18391 
18392                 Name (AESP, Package (0x08)
18393                 {
18394                     0x00, 
18395                     0x00, 
18396                     0x00, 
18397                     0x00, 
18398                     0x00, 
18399                     0x00, 
18400                     0x00, 
18401                     0x00
18402                 })
18403                 Method (A103, 1, NotSerialized)
18404                 {
18405                     Local0 = 0x00
18406                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
18407                     {
18408                         Local1 = (A109 (Local0, 0x08) & 0x80)
18409                         If ((Local1 == 0x80))
18410                         {
18411                             Local7 = 0x07
18412                         }
18413                         Else
18414                         {
18415                             Local7 = 0x00
18416                         }
18417 
18418                         While ((Local0 <= Local7))
18419                         {
18420                             Local1 = A122 (Local0, 0x10)
18421                             If ((Local1 == 0x00))
18422                             {
18423                                 Local0++
18424                                 Continue
18425                             }
18426 
18427                             If ((Arg0 == 0x00))
18428                             {
18429                                 Local2 = A109 (Local0, (Local1 + 0x10))
18430                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
18431                                 AESP [Local0] = Local2
18432                             }
18433                             Else
18434                             {
18435                                 Local2 = DerefOf (AESP [Local0])
18436                                 A120 (Local0, (Local1 + 0x10), Local2)
18437                             }
18438 
18439                             Local0++
18440                         }
18441                     }
18442                     Else
18443                     {
18444                     }
18445                 }
18446 
18447                 Method (A120, 3, Serialized)
18448                 {
18449                     Local0 = (AGRB + (A106 << 0x14))
18450                     Local0 += (Arg0 << 0x0C)
18451                     Local0 += Arg1
18452                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18453                     Field (ADRB, DWordAcc, NoLock, Preserve)
18454                     {
18455                         ADRR,   32
18456                     }
18457 
18458                     ADRR = Arg2
18459                 }
18460 
18461                 Method (A109, 2, Serialized)
18462                 {
18463                     Local0 = (AGRB + (A106 << 0x14))
18464                     Local0 += (Arg0 << 0x0C)
18465                     Local0 += Arg1
18466                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18467                     Field (ADRB, DWordAcc, NoLock, Preserve)
18468                     {
18469                         ADRR,   32
18470                     }
18471 
18472                     Return (ADRR) /* \_SB_.AWR0.ABR5.A109.ADRR */
18473                 }
18474 
18475                 Method (A118, 1, NotSerialized)
18476                 {
18477                     If ((AB0B != 0x01))
18478                     {
18479                         Return (0x00)
18480                     }
18481 
18482                     Return (A107 (Arg0))
18483                 }
18484 
18485                 Method (A119, 1, NotSerialized)
18486                 {
18487                     Name (A104, 0x00)
18488                     Local2 = 0x00
18489                     A104 = A112 /* \_SB_.AWR0.ABR5.A112 */
18490                     Local1 = (AB0D | (AB0C << 0x03))
18491                     If ((Arg0 == 0x01))
18492                     {
18493                         A113 = 0x00
18494                         Local0 = 0x01
18495                     }
18496                     Else
18497                     {
18498                         A103 (0x00)
18499                         Local0 = A109 (0x00, 0x04)
18500                         If ((Local0 != 0xFFFFFFFF))
18501                         {
18502                             A120 (0x00, 0x04, (Local0 & ~0x04))
18503                             Local0 = A109 (0x01, 0x04)
18504                             If ((Local0 != 0xFFFFFFFF))
18505                             {
18506                                 A120 (0x01, 0x04, (Local0 & ~0x04))
18507                             }
18508                         }
18509 
18510                         Local2 = 0x00
18511                         A113 = 0x01
18512                         Local0 = 0x05
18513                     }
18514 
18515                     A112 = 0x00
18516                     While ((Local0 != 0x08))
18517                     {
18518                         If ((Local0 == 0x01))
18519                         {
18520                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
18521                             Local2 = 0x01
18522                             Local0 = 0x08
18523                         }
18524 
18525                         If ((Local0 == 0x05))
18526                         {
18527                             A109 (0x00, 0x00)
18528                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
18529                             AB05 = 0x00
18530                             AB04 = 0x00
18531                             AB10 = 0x00
18532                             Local2 = 0x00
18533                             Local0 = 0x08
18534                         }
18535                     }
18536 
18537                     A112 = A104 /* \_SB_.AWR0.ABR5.A119.A104 */
18538                     If ((A104 != 0x00))
18539                     {
18540                         A103 (0x01)
18541                     }
18542 
18543                     Return (Local2)
18544                 }
18545             }
18546 
18547             Device (ABR6)
18548             {
18549                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
18550                 Name (_UID, 0x86)  // _UID: Unique ID
18551                 Name (AB12, 0x98)
18552                 Name (AB00, 0x00)
18553                 Name (AB01, 0x00)
18554                 Name (AB0E, 0x00)
18555                 Name (AB02, 0x00)
18556                 Name (AB03, 0x00)
18557                 Name (AB04, 0x00)
18558                 Name (AB05, 0x00)
18559                 Name (AB06, 0x00)
18560                 Name (AB07, 0x00)
18561                 Name (AB08, 0x00)
18562                 Name (AB09, 0x00)
18563                 Name (AB0A, 0x00)
18564                 Name (AB0B, 0x00)
18565                 Name (AB0C, 0x00)
18566                 Name (AB0D, 0x00)
18567                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
18568                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
18569                     ))), 0x1000)
18570                 Field (A111, ByteAcc, NoLock, Preserve)
18571                 {
18572                     Offset (0x18), 
18573                     Offset (0x19), 
18574                     A105,   8, 
18575                     A106,   8, 
18576                     Offset (0x68), 
18577                     A112,   2, 
18578                         ,   2, 
18579                     A113,   1, 
18580                     A114,   1, 
18581                     Offset (0x6A), 
18582                         ,   11, 
18583                     A115,   1, 
18584                     Offset (0x88), 
18585                     A116,   4, 
18586                         ,   1, 
18587                     A117,   1
18588                 }
18589 
18590                 Name (AB10, 0x00)
18591                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
18592                 {
18593                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
18594                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
18595                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
18596                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
18597                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
18598                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
18599                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
18600                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
18601                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
18602                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
18603                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
18604                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
18605                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
18606                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
18607                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
18608                 }
18609 
18610                 Method (A100, 0, NotSerialized)
18611                 {
18612                     Local0 = A082 ()
18613                     If ((Local0 == 0x01))
18614                     {
18615                         Return (AB01) /* \_SB_.AWR0.ABR6.AB01 */
18616                     }
18617 
18618                     If ((Local0 == 0x00))
18619                     {
18620                         Return (AB0E) /* \_SB_.AWR0.ABR6.AB0E */
18621                     }
18622                 }
18623 
18624                 Method (A095, 0, NotSerialized)
18625                 {
18626                     If ((AB10 != 0x00))
18627                     {
18628                         If ((AB10 == 0x01))
18629                         {
18630                             Return (0x01)
18631                         }
18632                     }
18633 
18634                     Return (0x00)
18635                 }
18636 
18637                 Method (A101, 0, NotSerialized)
18638                 {
18639                     If ((AB05 != 0x00))
18640                     {
18641                         Return (AB05) /* \_SB_.AWR0.ABR6.AB05 */
18642                     }
18643 
18644                     If ((AB10 > 0x01))
18645                     {
18646                         Return ((AB10 - 0x01))
18647                     }
18648 
18649                     Return (0x00)
18650                 }
18651 
18652                 Method (A094, 0, NotSerialized)
18653                 {
18654                     If ((\_SB.AP05 == 0x00))
18655                     {
18656                         If ((AB05 != 0x00))
18657                         {
18658                             Return (AB05) /* \_SB_.AWR0.ABR6.AB05 */
18659                         }
18660 
18661                         Return (AB0E) /* \_SB_.AWR0.ABR6.AB0E */
18662                     }
18663 
18664                     Local0 = A101 ()
18665                     If ((Local0 != 0x00))
18666                     {
18667                         If ((Local0 > AB00))
18668                         {
18669                             Return (AB00) /* \_SB_.AWR0.ABR6.AB00 */
18670                         }
18671                         Else
18672                         {
18673                             Return (Local0)
18674                         }
18675                     }
18676 
18677                     Local0 = A100 ()
18678                     If ((\_SB.AP03 != 0x00))
18679                     {
18680                         If ((\_SB.AP03 < Local0))
18681                         {
18682                             Return (\_SB.AP03)
18683                         }
18684                     }
18685 
18686                     Return (Local0)
18687                 }
18688 
18689                 Method (A093, 0, NotSerialized)
18690                 {
18691                     Return (AB02) /* \_SB_.AWR0.ABR6.AB02 */
18692                 }
18693 
18694                 Method (A096, 0, NotSerialized)
18695                 {
18696                     Return (AB00) /* \_SB_.AWR0.ABR6.AB00 */
18697                 }
18698 
18699                 Method (A092, 1, NotSerialized)
18700                 {
18701                     AB02 = Arg0
18702                     A102 (Arg0)
18703                     If ((AB10 != 0x00)){}
18704                     Else
18705                     {
18706                     }
18707 
18708                     A103 (0x00)
18709                     Name (A104, 0x00)
18710                     A103 (0x01)
18711                 }
18712 
18713                 Method (A097, 1, NotSerialized)
18714                 {
18715                     AB10 = Arg0
18716                 }
18717 
18718                 Method (A098, 1, NotSerialized)
18719                 {
18720                     Local0 = (Arg0 >> 0x08)
18721                     If (((Local0 >= A105) && (Local0 <= A106)))
18722                     {
18723                         Return (0x01)
18724                     }
18725 
18726                     Return (0x00)
18727                 }
18728 
18729                 Method (A107, 1, NotSerialized)
18730                 {
18731                     Local0 = (AB0D | (AB0C << 0x03))
18732                     If ((Arg0 == Local0))
18733                     {
18734                         Return (0x01)
18735                     }
18736 
18737                     Return (0x00)
18738                 }
18739 
18740                 Method (A099, 0, NotSerialized)
18741                 {
18742                     AB10 = 0x00
18743                 }
18744 
18745                 Method (A102, 1, NotSerialized)
18746                 {
18747                     If ((Arg0 >= 0x02)){}
18748                     If ((Arg0 >= 0x03)){}
18749                     If ((Arg0 == 0x01))
18750                     {
18751                         If ((AB04 == 0x01)){}
18752                     }
18753                     Else
18754                     {
18755                     }
18756                 }
18757 
18758                 Method (A108, 1, NotSerialized)
18759                 {
18760                     Local0 = 0x00
18761                     Local1 = A109 (Local0, 0x00)
18762                     Local2 = A109 (Local0, 0x08)
18763                     If ((Local1 != 0xFFFFFFFF))
18764                     {
18765                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
18766                         Local1 &= 0xFFFF
18767                         Local2 = ((Local2 >> 0x18) & 0xFF)
18768                         If ((Local2 == 0x03))
18769                         {
18770                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
18771                             {
18772                                 Local0 = 0x10
18773                                 While ((Local0 < 0x30))
18774                                 {
18775                                     Local4 = A109 (0x00, Local0)
18776                                     Local5 = 0x00
18777                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
18778                                     {
18779                                         If (((Local4 & 0x06) == 0x04))
18780                                         {
18781                                             Local0 += 0x04
18782                                             Local5 = A109 (0x00, Local0)
18783                                         }
18784 
18785                                         If ((Arg0 != 0x00))
18786                                         {
18787                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
18788                                             A110 (0x26, Local5, 0x00)
18789                                             A110 (0x28, 0x00, 0x00)
18790                                             A110 (0x27, 0x00, 0x00)
18791                                             Break
18792                                         }
18793                                         Else
18794                                         {
18795                                             A110 (0x28, 0x00, 0x00)
18796                                             A110 (0x07, 0x00, (0x01 << 0x0A))
18797                                             Break
18798                                         }
18799                                     }
18800                                     ElseIf (((Local4 & 0x06) == 0x04))
18801                                     {
18802                                         Local0 += 0x04
18803                                     }
18804 
18805                                     Local0 += 0x04
18806                                 }
18807                             }
18808                         }
18809                     }
18810                 }
18811 
18812                 Method (A122, 2, NotSerialized)
18813                 {
18814                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
18815                     {
18816                         Return (0x00)
18817                     }
18818 
18819                     Local0 = A109 (Arg0, 0x34)
18820                     While (0x01)
18821                     {
18822                         Local1 = A109 (Arg0, (Local0 & 0xFF))
18823                         If (((Local1 & 0xFF) == Arg1))
18824                         {
18825                             Return ((Local0 & 0xFF))
18826                         }
18827 
18828                         Local0 = ((Local1 >> 0x08) & 0xFF)
18829                         If ((Local0 == 0x00))
18830                         {
18831                             Return (Local0)
18832                         }
18833                     }
18834                 }
18835 
18836                 Name (AESP, Package (0x08)
18837                 {
18838                     0x00, 
18839                     0x00, 
18840                     0x00, 
18841                     0x00, 
18842                     0x00, 
18843                     0x00, 
18844                     0x00, 
18845                     0x00
18846                 })
18847                 Method (A103, 1, NotSerialized)
18848                 {
18849                     Local0 = 0x00
18850                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
18851                     {
18852                         Local1 = (A109 (Local0, 0x08) & 0x80)
18853                         If ((Local1 == 0x80))
18854                         {
18855                             Local7 = 0x07
18856                         }
18857                         Else
18858                         {
18859                             Local7 = 0x00
18860                         }
18861 
18862                         While ((Local0 <= Local7))
18863                         {
18864                             Local1 = A122 (Local0, 0x10)
18865                             If ((Local1 == 0x00))
18866                             {
18867                                 Local0++
18868                                 Continue
18869                             }
18870 
18871                             If ((Arg0 == 0x00))
18872                             {
18873                                 Local2 = A109 (Local0, (Local1 + 0x10))
18874                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
18875                                 AESP [Local0] = Local2
18876                             }
18877                             Else
18878                             {
18879                                 Local2 = DerefOf (AESP [Local0])
18880                                 A120 (Local0, (Local1 + 0x10), Local2)
18881                             }
18882 
18883                             Local0++
18884                         }
18885                     }
18886                     Else
18887                     {
18888                     }
18889                 }
18890 
18891                 Method (A120, 3, Serialized)
18892                 {
18893                     Local0 = (AGRB + (A106 << 0x14))
18894                     Local0 += (Arg0 << 0x0C)
18895                     Local0 += Arg1
18896                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18897                     Field (ADRB, DWordAcc, NoLock, Preserve)
18898                     {
18899                         ADRR,   32
18900                     }
18901 
18902                     ADRR = Arg2
18903                 }
18904 
18905                 Method (A109, 2, Serialized)
18906                 {
18907                     Local0 = (AGRB + (A106 << 0x14))
18908                     Local0 += (Arg0 << 0x0C)
18909                     Local0 += Arg1
18910                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
18911                     Field (ADRB, DWordAcc, NoLock, Preserve)
18912                     {
18913                         ADRR,   32
18914                     }
18915 
18916                     Return (ADRR) /* \_SB_.AWR0.ABR6.A109.ADRR */
18917                 }
18918 
18919                 Method (A118, 1, NotSerialized)
18920                 {
18921                     If ((AB0B != 0x01))
18922                     {
18923                         Return (0x00)
18924                     }
18925 
18926                     Return (A107 (Arg0))
18927                 }
18928 
18929                 Method (A119, 1, NotSerialized)
18930                 {
18931                     Name (A104, 0x00)
18932                     Local2 = 0x00
18933                     A104 = A112 /* \_SB_.AWR0.ABR6.A112 */
18934                     Local1 = (AB0D | (AB0C << 0x03))
18935                     If ((Arg0 == 0x01))
18936                     {
18937                         A113 = 0x00
18938                         Local0 = 0x01
18939                     }
18940                     Else
18941                     {
18942                         A103 (0x00)
18943                         Local0 = A109 (0x00, 0x04)
18944                         If ((Local0 != 0xFFFFFFFF))
18945                         {
18946                             A120 (0x00, 0x04, (Local0 & ~0x04))
18947                             Local0 = A109 (0x01, 0x04)
18948                             If ((Local0 != 0xFFFFFFFF))
18949                             {
18950                                 A120 (0x01, 0x04, (Local0 & ~0x04))
18951                             }
18952                         }
18953 
18954                         Local2 = 0x00
18955                         A113 = 0x01
18956                         Local0 = 0x05
18957                     }
18958 
18959                     A112 = 0x00
18960                     While ((Local0 != 0x08))
18961                     {
18962                         If ((Local0 == 0x01))
18963                         {
18964                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
18965                             Local2 = 0x01
18966                             Local0 = 0x08
18967                         }
18968 
18969                         If ((Local0 == 0x05))
18970                         {
18971                             A109 (0x00, 0x00)
18972                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
18973                             AB05 = 0x00
18974                             AB04 = 0x00
18975                             AB10 = 0x00
18976                             Local2 = 0x00
18977                             Local0 = 0x08
18978                         }
18979                     }
18980 
18981                     A112 = A104 /* \_SB_.AWR0.ABR6.A119.A104 */
18982                     If ((A104 != 0x00))
18983                     {
18984                         A103 (0x01)
18985                     }
18986 
18987                     Return (Local2)
18988                 }
18989             }
18990 
18991             Device (ABR7)
18992             {
18993                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
18994                 Name (_UID, 0x87)  // _UID: Unique ID
18995                 Name (AB12, 0xAC)
18996                 Name (AB00, 0x00)
18997                 Name (AB01, 0x00)
18998                 Name (AB0E, 0x00)
18999                 Name (AB02, 0x00)
19000                 Name (AB03, 0x00)
19001                 Name (AB04, 0x00)
19002                 Name (AB05, 0x00)
19003                 Name (AB06, 0x00)
19004                 Name (AB07, 0x00)
19005                 Name (AB08, 0x00)
19006                 Name (AB09, 0x00)
19007                 Name (AB0A, 0x00)
19008                 Name (AB0B, 0x00)
19009                 Name (AB0C, 0x00)
19010                 Name (AB0D, 0x00)
19011                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
19012                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
19013                     ))), 0x1000)
19014                 Field (A111, ByteAcc, NoLock, Preserve)
19015                 {
19016                     Offset (0x18), 
19017                     Offset (0x19), 
19018                     A105,   8, 
19019                     A106,   8, 
19020                     Offset (0x68), 
19021                     A112,   2, 
19022                         ,   2, 
19023                     A113,   1, 
19024                     A114,   1, 
19025                     Offset (0x6A), 
19026                         ,   11, 
19027                     A115,   1, 
19028                     Offset (0x88), 
19029                     A116,   4, 
19030                         ,   1, 
19031                     A117,   1
19032                 }
19033 
19034                 Name (AB10, 0x00)
19035                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
19036                 {
19037                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
19038                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
19039                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
19040                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
19041                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
19042                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
19043                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
19044                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
19045                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
19046                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
19047                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
19048                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
19049                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
19050                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
19051                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
19052                 }
19053 
19054                 Method (A100, 0, NotSerialized)
19055                 {
19056                     Local0 = A082 ()
19057                     If ((Local0 == 0x01))
19058                     {
19059                         Return (AB01) /* \_SB_.AWR0.ABR7.AB01 */
19060                     }
19061 
19062                     If ((Local0 == 0x00))
19063                     {
19064                         Return (AB0E) /* \_SB_.AWR0.ABR7.AB0E */
19065                     }
19066                 }
19067 
19068                 Method (A095, 0, NotSerialized)
19069                 {
19070                     If ((AB10 != 0x00))
19071                     {
19072                         If ((AB10 == 0x01))
19073                         {
19074                             Return (0x01)
19075                         }
19076                     }
19077 
19078                     Return (0x00)
19079                 }
19080 
19081                 Method (A101, 0, NotSerialized)
19082                 {
19083                     If ((AB05 != 0x00))
19084                     {
19085                         Return (AB05) /* \_SB_.AWR0.ABR7.AB05 */
19086                     }
19087 
19088                     If ((AB10 > 0x01))
19089                     {
19090                         Return ((AB10 - 0x01))
19091                     }
19092 
19093                     Return (0x00)
19094                 }
19095 
19096                 Method (A094, 0, NotSerialized)
19097                 {
19098                     If ((\_SB.AP05 == 0x00))
19099                     {
19100                         If ((AB05 != 0x00))
19101                         {
19102                             Return (AB05) /* \_SB_.AWR0.ABR7.AB05 */
19103                         }
19104 
19105                         Return (AB0E) /* \_SB_.AWR0.ABR7.AB0E */
19106                     }
19107 
19108                     Local0 = A101 ()
19109                     If ((Local0 != 0x00))
19110                     {
19111                         If ((Local0 > AB00))
19112                         {
19113                             Return (AB00) /* \_SB_.AWR0.ABR7.AB00 */
19114                         }
19115                         Else
19116                         {
19117                             Return (Local0)
19118                         }
19119                     }
19120 
19121                     Local0 = A100 ()
19122                     If ((\_SB.AP03 != 0x00))
19123                     {
19124                         If ((\_SB.AP03 < Local0))
19125                         {
19126                             Return (\_SB.AP03)
19127                         }
19128                     }
19129 
19130                     Return (Local0)
19131                 }
19132 
19133                 Method (A093, 0, NotSerialized)
19134                 {
19135                     Return (AB02) /* \_SB_.AWR0.ABR7.AB02 */
19136                 }
19137 
19138                 Method (A096, 0, NotSerialized)
19139                 {
19140                     Return (AB00) /* \_SB_.AWR0.ABR7.AB00 */
19141                 }
19142 
19143                 Method (A092, 1, NotSerialized)
19144                 {
19145                     AB02 = Arg0
19146                     A102 (Arg0)
19147                     If ((AB10 != 0x00)){}
19148                     Else
19149                     {
19150                     }
19151 
19152                     A103 (0x00)
19153                     Name (A104, 0x00)
19154                     A103 (0x01)
19155                 }
19156 
19157                 Method (A097, 1, NotSerialized)
19158                 {
19159                     AB10 = Arg0
19160                 }
19161 
19162                 Method (A098, 1, NotSerialized)
19163                 {
19164                     Local0 = (Arg0 >> 0x08)
19165                     If (((Local0 >= A105) && (Local0 <= A106)))
19166                     {
19167                         Return (0x01)
19168                     }
19169 
19170                     Return (0x00)
19171                 }
19172 
19173                 Method (A107, 1, NotSerialized)
19174                 {
19175                     Local0 = (AB0D | (AB0C << 0x03))
19176                     If ((Arg0 == Local0))
19177                     {
19178                         Return (0x01)
19179                     }
19180 
19181                     Return (0x00)
19182                 }
19183 
19184                 Method (A099, 0, NotSerialized)
19185                 {
19186                     AB10 = 0x00
19187                 }
19188 
19189                 Method (A102, 1, NotSerialized)
19190                 {
19191                     If ((Arg0 >= 0x02)){}
19192                     If ((Arg0 >= 0x03)){}
19193                     If ((Arg0 == 0x01))
19194                     {
19195                         If ((AB04 == 0x01)){}
19196                     }
19197                     Else
19198                     {
19199                     }
19200                 }
19201 
19202                 Method (A108, 1, NotSerialized)
19203                 {
19204                     Local0 = 0x00
19205                     Local1 = A109 (Local0, 0x00)
19206                     Local2 = A109 (Local0, 0x08)
19207                     If ((Local1 != 0xFFFFFFFF))
19208                     {
19209                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
19210                         Local1 &= 0xFFFF
19211                         Local2 = ((Local2 >> 0x18) & 0xFF)
19212                         If ((Local2 == 0x03))
19213                         {
19214                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
19215                             {
19216                                 Local0 = 0x10
19217                                 While ((Local0 < 0x30))
19218                                 {
19219                                     Local4 = A109 (0x00, Local0)
19220                                     Local5 = 0x00
19221                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
19222                                     {
19223                                         If (((Local4 & 0x06) == 0x04))
19224                                         {
19225                                             Local0 += 0x04
19226                                             Local5 = A109 (0x00, Local0)
19227                                         }
19228 
19229                                         If ((Arg0 != 0x00))
19230                                         {
19231                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
19232                                             A110 (0x26, Local5, 0x00)
19233                                             A110 (0x28, 0x00, 0x00)
19234                                             A110 (0x27, 0x00, 0x00)
19235                                             Break
19236                                         }
19237                                         Else
19238                                         {
19239                                             A110 (0x28, 0x00, 0x00)
19240                                             A110 (0x07, 0x00, (0x01 << 0x0A))
19241                                             Break
19242                                         }
19243                                     }
19244                                     ElseIf (((Local4 & 0x06) == 0x04))
19245                                     {
19246                                         Local0 += 0x04
19247                                     }
19248 
19249                                     Local0 += 0x04
19250                                 }
19251                             }
19252                         }
19253                     }
19254                 }
19255 
19256                 Method (A122, 2, NotSerialized)
19257                 {
19258                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
19259                     {
19260                         Return (0x00)
19261                     }
19262 
19263                     Local0 = A109 (Arg0, 0x34)
19264                     While (0x01)
19265                     {
19266                         Local1 = A109 (Arg0, (Local0 & 0xFF))
19267                         If (((Local1 & 0xFF) == Arg1))
19268                         {
19269                             Return ((Local0 & 0xFF))
19270                         }
19271 
19272                         Local0 = ((Local1 >> 0x08) & 0xFF)
19273                         If ((Local0 == 0x00))
19274                         {
19275                             Return (Local0)
19276                         }
19277                     }
19278                 }
19279 
19280                 Name (AESP, Package (0x08)
19281                 {
19282                     0x00, 
19283                     0x00, 
19284                     0x00, 
19285                     0x00, 
19286                     0x00, 
19287                     0x00, 
19288                     0x00, 
19289                     0x00
19290                 })
19291                 Method (A103, 1, NotSerialized)
19292                 {
19293                     Local0 = 0x00
19294                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
19295                     {
19296                         Local1 = (A109 (Local0, 0x08) & 0x80)
19297                         If ((Local1 == 0x80))
19298                         {
19299                             Local7 = 0x07
19300                         }
19301                         Else
19302                         {
19303                             Local7 = 0x00
19304                         }
19305 
19306                         While ((Local0 <= Local7))
19307                         {
19308                             Local1 = A122 (Local0, 0x10)
19309                             If ((Local1 == 0x00))
19310                             {
19311                                 Local0++
19312                                 Continue
19313                             }
19314 
19315                             If ((Arg0 == 0x00))
19316                             {
19317                                 Local2 = A109 (Local0, (Local1 + 0x10))
19318                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
19319                                 AESP [Local0] = Local2
19320                             }
19321                             Else
19322                             {
19323                                 Local2 = DerefOf (AESP [Local0])
19324                                 A120 (Local0, (Local1 + 0x10), Local2)
19325                             }
19326 
19327                             Local0++
19328                         }
19329                     }
19330                     Else
19331                     {
19332                     }
19333                 }
19334 
19335                 Method (A120, 3, Serialized)
19336                 {
19337                     Local0 = (AGRB + (A106 << 0x14))
19338                     Local0 += (Arg0 << 0x0C)
19339                     Local0 += Arg1
19340                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
19341                     Field (ADRB, DWordAcc, NoLock, Preserve)
19342                     {
19343                         ADRR,   32
19344                     }
19345 
19346                     ADRR = Arg2
19347                 }
19348 
19349                 Method (A109, 2, Serialized)
19350                 {
19351                     Local0 = (AGRB + (A106 << 0x14))
19352                     Local0 += (Arg0 << 0x0C)
19353                     Local0 += Arg1
19354                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
19355                     Field (ADRB, DWordAcc, NoLock, Preserve)
19356                     {
19357                         ADRR,   32
19358                     }
19359 
19360                     Return (ADRR) /* \_SB_.AWR0.ABR7.A109.ADRR */
19361                 }
19362 
19363                 Method (A118, 1, NotSerialized)
19364                 {
19365                     If ((AB0B != 0x01))
19366                     {
19367                         Return (0x00)
19368                     }
19369 
19370                     Return (A107 (Arg0))
19371                 }
19372 
19373                 Method (A119, 1, NotSerialized)
19374                 {
19375                     Name (A104, 0x00)
19376                     Local2 = 0x00
19377                     A104 = A112 /* \_SB_.AWR0.ABR7.A112 */
19378                     Local1 = (AB0D | (AB0C << 0x03))
19379                     If ((Arg0 == 0x01))
19380                     {
19381                         A113 = 0x00
19382                         Local0 = 0x01
19383                     }
19384                     Else
19385                     {
19386                         A103 (0x00)
19387                         Local0 = A109 (0x00, 0x04)
19388                         If ((Local0 != 0xFFFFFFFF))
19389                         {
19390                             A120 (0x00, 0x04, (Local0 & ~0x04))
19391                             Local0 = A109 (0x01, 0x04)
19392                             If ((Local0 != 0xFFFFFFFF))
19393                             {
19394                                 A120 (0x01, 0x04, (Local0 & ~0x04))
19395                             }
19396                         }
19397 
19398                         Local2 = 0x00
19399                         A113 = 0x01
19400                         Local0 = 0x05
19401                     }
19402 
19403                     A112 = 0x00
19404                     While ((Local0 != 0x08))
19405                     {
19406                         If ((Local0 == 0x01))
19407                         {
19408                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
19409                             Local2 = 0x01
19410                             Local0 = 0x08
19411                         }
19412 
19413                         If ((Local0 == 0x05))
19414                         {
19415                             A109 (0x00, 0x00)
19416                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
19417                             AB05 = 0x00
19418                             AB04 = 0x00
19419                             AB10 = 0x00
19420                             Local2 = 0x00
19421                             Local0 = 0x08
19422                         }
19423                     }
19424 
19425                     A112 = A104 /* \_SB_.AWR0.ABR7.A119.A104 */
19426                     If ((A104 != 0x00))
19427                     {
19428                         A103 (0x01)
19429                     }
19430 
19431                     Return (Local2)
19432                 }
19433             }
19434 
19435             Device (ABR8)
19436             {
19437                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
19438                 Name (_UID, 0x88)  // _UID: Unique ID
19439                 Name (AB12, 0xC0)
19440                 Name (AB00, 0x00)
19441                 Name (AB01, 0x00)
19442                 Name (AB0E, 0x00)
19443                 Name (AB02, 0x00)
19444                 Name (AB03, 0x00)
19445                 Name (AB04, 0x00)
19446                 Name (AB05, 0x00)
19447                 Name (AB06, 0x00)
19448                 Name (AB07, 0x00)
19449                 Name (AB08, 0x00)
19450                 Name (AB09, 0x00)
19451                 Name (AB0A, 0x00)
19452                 Name (AB0B, 0x00)
19453                 Name (AB0C, 0x00)
19454                 Name (AB0D, 0x00)
19455                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
19456                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
19457                     ))), 0x1000)
19458                 Field (A111, ByteAcc, NoLock, Preserve)
19459                 {
19460                     Offset (0x18), 
19461                     Offset (0x19), 
19462                     A105,   8, 
19463                     A106,   8, 
19464                     Offset (0x68), 
19465                     A112,   2, 
19466                         ,   2, 
19467                     A113,   1, 
19468                     A114,   1, 
19469                     Offset (0x6A), 
19470                         ,   11, 
19471                     A115,   1, 
19472                     Offset (0x88), 
19473                     A116,   4, 
19474                         ,   1, 
19475                     A117,   1
19476                 }
19477 
19478                 Name (AB10, 0x00)
19479                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
19480                 {
19481                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
19482                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
19483                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
19484                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
19485                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
19486                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
19487                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
19488                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
19489                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
19490                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
19491                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
19492                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
19493                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
19494                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
19495                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
19496                 }
19497 
19498                 Method (A100, 0, NotSerialized)
19499                 {
19500                     Local0 = A082 ()
19501                     If ((Local0 == 0x01))
19502                     {
19503                         Return (AB01) /* \_SB_.AWR0.ABR8.AB01 */
19504                     }
19505 
19506                     If ((Local0 == 0x00))
19507                     {
19508                         Return (AB0E) /* \_SB_.AWR0.ABR8.AB0E */
19509                     }
19510                 }
19511 
19512                 Method (A095, 0, NotSerialized)
19513                 {
19514                     If ((AB10 != 0x00))
19515                     {
19516                         If ((AB10 == 0x01))
19517                         {
19518                             Return (0x01)
19519                         }
19520                     }
19521 
19522                     Return (0x00)
19523                 }
19524 
19525                 Method (A101, 0, NotSerialized)
19526                 {
19527                     If ((AB05 != 0x00))
19528                     {
19529                         Return (AB05) /* \_SB_.AWR0.ABR8.AB05 */
19530                     }
19531 
19532                     If ((AB10 > 0x01))
19533                     {
19534                         Return ((AB10 - 0x01))
19535                     }
19536 
19537                     Return (0x00)
19538                 }
19539 
19540                 Method (A094, 0, NotSerialized)
19541                 {
19542                     If ((\_SB.AP05 == 0x00))
19543                     {
19544                         If ((AB05 != 0x00))
19545                         {
19546                             Return (AB05) /* \_SB_.AWR0.ABR8.AB05 */
19547                         }
19548 
19549                         Return (AB0E) /* \_SB_.AWR0.ABR8.AB0E */
19550                     }
19551 
19552                     Local0 = A101 ()
19553                     If ((Local0 != 0x00))
19554                     {
19555                         If ((Local0 > AB00))
19556                         {
19557                             Return (AB00) /* \_SB_.AWR0.ABR8.AB00 */
19558                         }
19559                         Else
19560                         {
19561                             Return (Local0)
19562                         }
19563                     }
19564 
19565                     Local0 = A100 ()
19566                     If ((\_SB.AP03 != 0x00))
19567                     {
19568                         If ((\_SB.AP03 < Local0))
19569                         {
19570                             Return (\_SB.AP03)
19571                         }
19572                     }
19573 
19574                     Return (Local0)
19575                 }
19576 
19577                 Method (A093, 0, NotSerialized)
19578                 {
19579                     Return (AB02) /* \_SB_.AWR0.ABR8.AB02 */
19580                 }
19581 
19582                 Method (A096, 0, NotSerialized)
19583                 {
19584                     Return (AB00) /* \_SB_.AWR0.ABR8.AB00 */
19585                 }
19586 
19587                 Method (A092, 1, NotSerialized)
19588                 {
19589                     AB02 = Arg0
19590                     A102 (Arg0)
19591                     If ((AB10 != 0x00)){}
19592                     Else
19593                     {
19594                     }
19595 
19596                     A103 (0x00)
19597                     Name (A104, 0x00)
19598                     A103 (0x01)
19599                 }
19600 
19601                 Method (A097, 1, NotSerialized)
19602                 {
19603                     AB10 = Arg0
19604                 }
19605 
19606                 Method (A098, 1, NotSerialized)
19607                 {
19608                     Local0 = (Arg0 >> 0x08)
19609                     If (((Local0 >= A105) && (Local0 <= A106)))
19610                     {
19611                         Return (0x01)
19612                     }
19613 
19614                     Return (0x00)
19615                 }
19616 
19617                 Method (A107, 1, NotSerialized)
19618                 {
19619                     Local0 = (AB0D | (AB0C << 0x03))
19620                     If ((Arg0 == Local0))
19621                     {
19622                         Return (0x01)
19623                     }
19624 
19625                     Return (0x00)
19626                 }
19627 
19628                 Method (A099, 0, NotSerialized)
19629                 {
19630                     AB10 = 0x00
19631                 }
19632 
19633                 Method (A102, 1, NotSerialized)
19634                 {
19635                     If ((Arg0 >= 0x02)){}
19636                     If ((Arg0 >= 0x03)){}
19637                     If ((Arg0 == 0x01))
19638                     {
19639                         If ((AB04 == 0x01)){}
19640                     }
19641                     Else
19642                     {
19643                     }
19644                 }
19645 
19646                 Method (A108, 1, NotSerialized)
19647                 {
19648                     Local0 = 0x00
19649                     Local1 = A109 (Local0, 0x00)
19650                     Local2 = A109 (Local0, 0x08)
19651                     If ((Local1 != 0xFFFFFFFF))
19652                     {
19653                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
19654                         Local1 &= 0xFFFF
19655                         Local2 = ((Local2 >> 0x18) & 0xFF)
19656                         If ((Local2 == 0x03))
19657                         {
19658                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
19659                             {
19660                                 Local0 = 0x10
19661                                 While ((Local0 < 0x30))
19662                                 {
19663                                     Local4 = A109 (0x00, Local0)
19664                                     Local5 = 0x00
19665                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
19666                                     {
19667                                         If (((Local4 & 0x06) == 0x04))
19668                                         {
19669                                             Local0 += 0x04
19670                                             Local5 = A109 (0x00, Local0)
19671                                         }
19672 
19673                                         If ((Arg0 != 0x00))
19674                                         {
19675                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
19676                                             A110 (0x26, Local5, 0x00)
19677                                             A110 (0x28, 0x00, 0x00)
19678                                             A110 (0x27, 0x00, 0x00)
19679                                             Break
19680                                         }
19681                                         Else
19682                                         {
19683                                             A110 (0x28, 0x00, 0x00)
19684                                             A110 (0x07, 0x00, (0x01 << 0x0A))
19685                                             Break
19686                                         }
19687                                     }
19688                                     ElseIf (((Local4 & 0x06) == 0x04))
19689                                     {
19690                                         Local0 += 0x04
19691                                     }
19692 
19693                                     Local0 += 0x04
19694                                 }
19695                             }
19696                         }
19697                     }
19698                 }
19699 
19700                 Method (A122, 2, NotSerialized)
19701                 {
19702                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
19703                     {
19704                         Return (0x00)
19705                     }
19706 
19707                     Local0 = A109 (Arg0, 0x34)
19708                     While (0x01)
19709                     {
19710                         Local1 = A109 (Arg0, (Local0 & 0xFF))
19711                         If (((Local1 & 0xFF) == Arg1))
19712                         {
19713                             Return ((Local0 & 0xFF))
19714                         }
19715 
19716                         Local0 = ((Local1 >> 0x08) & 0xFF)
19717                         If ((Local0 == 0x00))
19718                         {
19719                             Return (Local0)
19720                         }
19721                     }
19722                 }
19723 
19724                 Name (AESP, Package (0x08)
19725                 {
19726                     0x00, 
19727                     0x00, 
19728                     0x00, 
19729                     0x00, 
19730                     0x00, 
19731                     0x00, 
19732                     0x00, 
19733                     0x00
19734                 })
19735                 Method (A103, 1, NotSerialized)
19736                 {
19737                     Local0 = 0x00
19738                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
19739                     {
19740                         Local1 = (A109 (Local0, 0x08) & 0x80)
19741                         If ((Local1 == 0x80))
19742                         {
19743                             Local7 = 0x07
19744                         }
19745                         Else
19746                         {
19747                             Local7 = 0x00
19748                         }
19749 
19750                         While ((Local0 <= Local7))
19751                         {
19752                             Local1 = A122 (Local0, 0x10)
19753                             If ((Local1 == 0x00))
19754                             {
19755                                 Local0++
19756                                 Continue
19757                             }
19758 
19759                             If ((Arg0 == 0x00))
19760                             {
19761                                 Local2 = A109 (Local0, (Local1 + 0x10))
19762                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
19763                                 AESP [Local0] = Local2
19764                             }
19765                             Else
19766                             {
19767                                 Local2 = DerefOf (AESP [Local0])
19768                                 A120 (Local0, (Local1 + 0x10), Local2)
19769                             }
19770 
19771                             Local0++
19772                         }
19773                     }
19774                     Else
19775                     {
19776                     }
19777                 }
19778 
19779                 Method (A120, 3, Serialized)
19780                 {
19781                     Local0 = (AGRB + (A106 << 0x14))
19782                     Local0 += (Arg0 << 0x0C)
19783                     Local0 += Arg1
19784                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
19785                     Field (ADRB, DWordAcc, NoLock, Preserve)
19786                     {
19787                         ADRR,   32
19788                     }
19789 
19790                     ADRR = Arg2
19791                 }
19792 
19793                 Method (A109, 2, Serialized)
19794                 {
19795                     Local0 = (AGRB + (A106 << 0x14))
19796                     Local0 += (Arg0 << 0x0C)
19797                     Local0 += Arg1
19798                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
19799                     Field (ADRB, DWordAcc, NoLock, Preserve)
19800                     {
19801                         ADRR,   32
19802                     }
19803 
19804                     Return (ADRR) /* \_SB_.AWR0.ABR8.A109.ADRR */
19805                 }
19806 
19807                 Method (A118, 1, NotSerialized)
19808                 {
19809                     If ((AB0B != 0x01))
19810                     {
19811                         Return (0x00)
19812                     }
19813 
19814                     Return (A107 (Arg0))
19815                 }
19816 
19817                 Method (A119, 1, NotSerialized)
19818                 {
19819                     Name (A104, 0x00)
19820                     Local2 = 0x00
19821                     A104 = A112 /* \_SB_.AWR0.ABR8.A112 */
19822                     Local1 = (AB0D | (AB0C << 0x03))
19823                     If ((Arg0 == 0x01))
19824                     {
19825                         A113 = 0x00
19826                         Local0 = 0x01
19827                     }
19828                     Else
19829                     {
19830                         A103 (0x00)
19831                         Local0 = A109 (0x00, 0x04)
19832                         If ((Local0 != 0xFFFFFFFF))
19833                         {
19834                             A120 (0x00, 0x04, (Local0 & ~0x04))
19835                             Local0 = A109 (0x01, 0x04)
19836                             If ((Local0 != 0xFFFFFFFF))
19837                             {
19838                                 A120 (0x01, 0x04, (Local0 & ~0x04))
19839                             }
19840                         }
19841 
19842                         Local2 = 0x00
19843                         A113 = 0x01
19844                         Local0 = 0x05
19845                     }
19846 
19847                     A112 = 0x00
19848                     While ((Local0 != 0x08))
19849                     {
19850                         If ((Local0 == 0x01))
19851                         {
19852                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
19853                             Local2 = 0x01
19854                             Local0 = 0x08
19855                         }
19856 
19857                         If ((Local0 == 0x05))
19858                         {
19859                             A109 (0x00, 0x00)
19860                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
19861                             AB05 = 0x00
19862                             AB04 = 0x00
19863                             AB10 = 0x00
19864                             Local2 = 0x00
19865                             Local0 = 0x08
19866                         }
19867                     }
19868 
19869                     A112 = A104 /* \_SB_.AWR0.ABR8.A119.A104 */
19870                     If ((A104 != 0x00))
19871                     {
19872                         A103 (0x01)
19873                     }
19874 
19875                     Return (Local2)
19876                 }
19877             }
19878 
19879             Device (ABR9)
19880             {
19881                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
19882                 Name (_UID, 0x89)  // _UID: Unique ID
19883                 Name (AB12, 0xD4)
19884                 Name (AB00, 0x00)
19885                 Name (AB01, 0x00)
19886                 Name (AB0E, 0x00)
19887                 Name (AB02, 0x00)
19888                 Name (AB03, 0x00)
19889                 Name (AB04, 0x00)
19890                 Name (AB05, 0x00)
19891                 Name (AB06, 0x00)
19892                 Name (AB07, 0x00)
19893                 Name (AB08, 0x00)
19894                 Name (AB09, 0x00)
19895                 Name (AB0A, 0x00)
19896                 Name (AB0B, 0x00)
19897                 Name (AB0C, 0x00)
19898                 Name (AB0D, 0x00)
19899                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
19900                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
19901                     ))), 0x1000)
19902                 Field (A111, ByteAcc, NoLock, Preserve)
19903                 {
19904                     Offset (0x18), 
19905                     Offset (0x19), 
19906                     A105,   8, 
19907                     A106,   8, 
19908                     Offset (0x68), 
19909                     A112,   2, 
19910                         ,   2, 
19911                     A113,   1, 
19912                     A114,   1, 
19913                     Offset (0x6A), 
19914                         ,   11, 
19915                     A115,   1, 
19916                     Offset (0x88), 
19917                     A116,   4, 
19918                         ,   1, 
19919                     A117,   1
19920                 }
19921 
19922                 Name (AB10, 0x00)
19923                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
19924                 {
19925                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
19926                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
19927                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
19928                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
19929                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
19930                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
19931                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
19932                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
19933                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
19934                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
19935                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
19936                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
19937                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
19938                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
19939                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
19940                 }
19941 
19942                 Method (A100, 0, NotSerialized)
19943                 {
19944                     Local0 = A082 ()
19945                     If ((Local0 == 0x01))
19946                     {
19947                         Return (AB01) /* \_SB_.AWR0.ABR9.AB01 */
19948                     }
19949 
19950                     If ((Local0 == 0x00))
19951                     {
19952                         Return (AB0E) /* \_SB_.AWR0.ABR9.AB0E */
19953                     }
19954                 }
19955 
19956                 Method (A095, 0, NotSerialized)
19957                 {
19958                     If ((AB10 != 0x00))
19959                     {
19960                         If ((AB10 == 0x01))
19961                         {
19962                             Return (0x01)
19963                         }
19964                     }
19965 
19966                     Return (0x00)
19967                 }
19968 
19969                 Method (A101, 0, NotSerialized)
19970                 {
19971                     If ((AB05 != 0x00))
19972                     {
19973                         Return (AB05) /* \_SB_.AWR0.ABR9.AB05 */
19974                     }
19975 
19976                     If ((AB10 > 0x01))
19977                     {
19978                         Return ((AB10 - 0x01))
19979                     }
19980 
19981                     Return (0x00)
19982                 }
19983 
19984                 Method (A094, 0, NotSerialized)
19985                 {
19986                     If ((\_SB.AP05 == 0x00))
19987                     {
19988                         If ((AB05 != 0x00))
19989                         {
19990                             Return (AB05) /* \_SB_.AWR0.ABR9.AB05 */
19991                         }
19992 
19993                         Return (AB0E) /* \_SB_.AWR0.ABR9.AB0E */
19994                     }
19995 
19996                     Local0 = A101 ()
19997                     If ((Local0 != 0x00))
19998                     {
19999                         If ((Local0 > AB00))
20000                         {
20001                             Return (AB00) /* \_SB_.AWR0.ABR9.AB00 */
20002                         }
20003                         Else
20004                         {
20005                             Return (Local0)
20006                         }
20007                     }
20008 
20009                     Local0 = A100 ()
20010                     If ((\_SB.AP03 != 0x00))
20011                     {
20012                         If ((\_SB.AP03 < Local0))
20013                         {
20014                             Return (\_SB.AP03)
20015                         }
20016                     }
20017 
20018                     Return (Local0)
20019                 }
20020 
20021                 Method (A093, 0, NotSerialized)
20022                 {
20023                     Return (AB02) /* \_SB_.AWR0.ABR9.AB02 */
20024                 }
20025 
20026                 Method (A096, 0, NotSerialized)
20027                 {
20028                     Return (AB00) /* \_SB_.AWR0.ABR9.AB00 */
20029                 }
20030 
20031                 Method (A092, 1, NotSerialized)
20032                 {
20033                     AB02 = Arg0
20034                     A102 (Arg0)
20035                     If ((AB10 != 0x00)){}
20036                     Else
20037                     {
20038                     }
20039 
20040                     A103 (0x00)
20041                     Name (A104, 0x00)
20042                     A103 (0x01)
20043                 }
20044 
20045                 Method (A097, 1, NotSerialized)
20046                 {
20047                     AB10 = Arg0
20048                 }
20049 
20050                 Method (A098, 1, NotSerialized)
20051                 {
20052                     Local0 = (Arg0 >> 0x08)
20053                     If (((Local0 >= A105) && (Local0 <= A106)))
20054                     {
20055                         Return (0x01)
20056                     }
20057 
20058                     Return (0x00)
20059                 }
20060 
20061                 Method (A107, 1, NotSerialized)
20062                 {
20063                     Local0 = (AB0D | (AB0C << 0x03))
20064                     If ((Arg0 == Local0))
20065                     {
20066                         Return (0x01)
20067                     }
20068 
20069                     Return (0x00)
20070                 }
20071 
20072                 Method (A099, 0, NotSerialized)
20073                 {
20074                     AB10 = 0x00
20075                 }
20076 
20077                 Method (A102, 1, NotSerialized)
20078                 {
20079                     If ((Arg0 >= 0x02)){}
20080                     If ((Arg0 >= 0x03)){}
20081                     If ((Arg0 == 0x01))
20082                     {
20083                         If ((AB04 == 0x01)){}
20084                     }
20085                     Else
20086                     {
20087                     }
20088                 }
20089 
20090                 Method (A108, 1, NotSerialized)
20091                 {
20092                     Local0 = 0x00
20093                     Local1 = A109 (Local0, 0x00)
20094                     Local2 = A109 (Local0, 0x08)
20095                     If ((Local1 != 0xFFFFFFFF))
20096                     {
20097                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
20098                         Local1 &= 0xFFFF
20099                         Local2 = ((Local2 >> 0x18) & 0xFF)
20100                         If ((Local2 == 0x03))
20101                         {
20102                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
20103                             {
20104                                 Local0 = 0x10
20105                                 While ((Local0 < 0x30))
20106                                 {
20107                                     Local4 = A109 (0x00, Local0)
20108                                     Local5 = 0x00
20109                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
20110                                     {
20111                                         If (((Local4 & 0x06) == 0x04))
20112                                         {
20113                                             Local0 += 0x04
20114                                             Local5 = A109 (0x00, Local0)
20115                                         }
20116 
20117                                         If ((Arg0 != 0x00))
20118                                         {
20119                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
20120                                             A110 (0x26, Local5, 0x00)
20121                                             A110 (0x28, 0x00, 0x00)
20122                                             A110 (0x27, 0x00, 0x00)
20123                                             Break
20124                                         }
20125                                         Else
20126                                         {
20127                                             A110 (0x28, 0x00, 0x00)
20128                                             A110 (0x07, 0x00, (0x01 << 0x0A))
20129                                             Break
20130                                         }
20131                                     }
20132                                     ElseIf (((Local4 & 0x06) == 0x04))
20133                                     {
20134                                         Local0 += 0x04
20135                                     }
20136 
20137                                     Local0 += 0x04
20138                                 }
20139                             }
20140                         }
20141                     }
20142                 }
20143 
20144                 Method (A122, 2, NotSerialized)
20145                 {
20146                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
20147                     {
20148                         Return (0x00)
20149                     }
20150 
20151                     Local0 = A109 (Arg0, 0x34)
20152                     While (0x01)
20153                     {
20154                         Local1 = A109 (Arg0, (Local0 & 0xFF))
20155                         If (((Local1 & 0xFF) == Arg1))
20156                         {
20157                             Return ((Local0 & 0xFF))
20158                         }
20159 
20160                         Local0 = ((Local1 >> 0x08) & 0xFF)
20161                         If ((Local0 == 0x00))
20162                         {
20163                             Return (Local0)
20164                         }
20165                     }
20166                 }
20167 
20168                 Name (AESP, Package (0x08)
20169                 {
20170                     0x00, 
20171                     0x00, 
20172                     0x00, 
20173                     0x00, 
20174                     0x00, 
20175                     0x00, 
20176                     0x00, 
20177                     0x00
20178                 })
20179                 Method (A103, 1, NotSerialized)
20180                 {
20181                     Local0 = 0x00
20182                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
20183                     {
20184                         Local1 = (A109 (Local0, 0x08) & 0x80)
20185                         If ((Local1 == 0x80))
20186                         {
20187                             Local7 = 0x07
20188                         }
20189                         Else
20190                         {
20191                             Local7 = 0x00
20192                         }
20193 
20194                         While ((Local0 <= Local7))
20195                         {
20196                             Local1 = A122 (Local0, 0x10)
20197                             If ((Local1 == 0x00))
20198                             {
20199                                 Local0++
20200                                 Continue
20201                             }
20202 
20203                             If ((Arg0 == 0x00))
20204                             {
20205                                 Local2 = A109 (Local0, (Local1 + 0x10))
20206                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
20207                                 AESP [Local0] = Local2
20208                             }
20209                             Else
20210                             {
20211                                 Local2 = DerefOf (AESP [Local0])
20212                                 A120 (Local0, (Local1 + 0x10), Local2)
20213                             }
20214 
20215                             Local0++
20216                         }
20217                     }
20218                     Else
20219                     {
20220                     }
20221                 }
20222 
20223                 Method (A120, 3, Serialized)
20224                 {
20225                     Local0 = (AGRB + (A106 << 0x14))
20226                     Local0 += (Arg0 << 0x0C)
20227                     Local0 += Arg1
20228                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
20229                     Field (ADRB, DWordAcc, NoLock, Preserve)
20230                     {
20231                         ADRR,   32
20232                     }
20233 
20234                     ADRR = Arg2
20235                 }
20236 
20237                 Method (A109, 2, Serialized)
20238                 {
20239                     Local0 = (AGRB + (A106 << 0x14))
20240                     Local0 += (Arg0 << 0x0C)
20241                     Local0 += Arg1
20242                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
20243                     Field (ADRB, DWordAcc, NoLock, Preserve)
20244                     {
20245                         ADRR,   32
20246                     }
20247 
20248                     Return (ADRR) /* \_SB_.AWR0.ABR9.A109.ADRR */
20249                 }
20250 
20251                 Method (A118, 1, NotSerialized)
20252                 {
20253                     If ((AB0B != 0x01))
20254                     {
20255                         Return (0x00)
20256                     }
20257 
20258                     Return (A107 (Arg0))
20259                 }
20260 
20261                 Method (A119, 1, NotSerialized)
20262                 {
20263                     Name (A104, 0x00)
20264                     Local2 = 0x00
20265                     A104 = A112 /* \_SB_.AWR0.ABR9.A112 */
20266                     Local1 = (AB0D | (AB0C << 0x03))
20267                     If ((Arg0 == 0x01))
20268                     {
20269                         A113 = 0x00
20270                         Local0 = 0x01
20271                     }
20272                     Else
20273                     {
20274                         A103 (0x00)
20275                         Local0 = A109 (0x00, 0x04)
20276                         If ((Local0 != 0xFFFFFFFF))
20277                         {
20278                             A120 (0x00, 0x04, (Local0 & ~0x04))
20279                             Local0 = A109 (0x01, 0x04)
20280                             If ((Local0 != 0xFFFFFFFF))
20281                             {
20282                                 A120 (0x01, 0x04, (Local0 & ~0x04))
20283                             }
20284                         }
20285 
20286                         Local2 = 0x00
20287                         A113 = 0x01
20288                         Local0 = 0x05
20289                     }
20290 
20291                     A112 = 0x00
20292                     While ((Local0 != 0x08))
20293                     {
20294                         If ((Local0 == 0x01))
20295                         {
20296                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
20297                             Local2 = 0x01
20298                             Local0 = 0x08
20299                         }
20300 
20301                         If ((Local0 == 0x05))
20302                         {
20303                             A109 (0x00, 0x00)
20304                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
20305                             AB05 = 0x00
20306                             AB04 = 0x00
20307                             AB10 = 0x00
20308                             Local2 = 0x00
20309                             Local0 = 0x08
20310                         }
20311                     }
20312 
20313                     A112 = A104 /* \_SB_.AWR0.ABR9.A119.A104 */
20314                     If ((A104 != 0x00))
20315                     {
20316                         A103 (0x01)
20317                     }
20318 
20319                     Return (Local2)
20320                 }
20321             }
20322 
20323             Device (ABRA)
20324             {
20325                 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
20326                 Name (_UID, 0x8A)  // _UID: Unique ID
20327                 Name (AB12, 0xE8)
20328                 Name (AB00, 0x00)
20329                 Name (AB01, 0x00)
20330                 Name (AB0E, 0x00)
20331                 Name (AB02, 0x00)
20332                 Name (AB03, 0x00)
20333                 Name (AB04, 0x00)
20334                 Name (AB05, 0x00)
20335                 Name (AB06, 0x00)
20336                 Name (AB07, 0x00)
20337                 Name (AB08, 0x00)
20338                 Name (AB09, 0x00)
20339                 Name (AB0A, 0x00)
20340                 Name (AB0B, 0x00)
20341                 Name (AB0C, 0x00)
20342                 Name (AB0D, 0x00)
20343                 OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
20344                     ) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
20345                     ))), 0x1000)
20346                 Field (A111, ByteAcc, NoLock, Preserve)
20347                 {
20348                     Offset (0x18), 
20349                     Offset (0x19), 
20350                     A105,   8, 
20351                     A106,   8, 
20352                     Offset (0x68), 
20353                     A112,   2, 
20354                         ,   2, 
20355                     A113,   1, 
20356                     A114,   1, 
20357                     Offset (0x6A), 
20358                         ,   11, 
20359                     A115,   1, 
20360                     Offset (0x88), 
20361                     A116,   4, 
20362                         ,   1, 
20363                     A117,   1
20364                 }
20365 
20366                 Name (AB10, 0x00)
20367                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
20368                 {
20369                     AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
20370                     AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
20371                     AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
20372                     AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
20373                     AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
20374                     AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
20375                     AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
20376                     AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
20377                     AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
20378                     AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
20379                     AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
20380                     AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
20381                     AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
20382                     AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
20383                     AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
20384                 }
20385 
20386                 Method (A100, 0, NotSerialized)
20387                 {
20388                     Local0 = A082 ()
20389                     If ((Local0 == 0x01))
20390                     {
20391                         Return (AB01) /* \_SB_.AWR0.ABRA.AB01 */
20392                     }
20393 
20394                     If ((Local0 == 0x00))
20395                     {
20396                         Return (AB0E) /* \_SB_.AWR0.ABRA.AB0E */
20397                     }
20398                 }
20399 
20400                 Method (A095, 0, NotSerialized)
20401                 {
20402                     If ((AB10 != 0x00))
20403                     {
20404                         If ((AB10 == 0x01))
20405                         {
20406                             Return (0x01)
20407                         }
20408                     }
20409 
20410                     Return (0x00)
20411                 }
20412 
20413                 Method (A101, 0, NotSerialized)
20414                 {
20415                     If ((AB05 != 0x00))
20416                     {
20417                         Return (AB05) /* \_SB_.AWR0.ABRA.AB05 */
20418                     }
20419 
20420                     If ((AB10 > 0x01))
20421                     {
20422                         Return ((AB10 - 0x01))
20423                     }
20424 
20425                     Return (0x00)
20426                 }
20427 
20428                 Method (A094, 0, NotSerialized)
20429                 {
20430                     If ((\_SB.AP05 == 0x00))
20431                     {
20432                         If ((AB05 != 0x00))
20433                         {
20434                             Return (AB05) /* \_SB_.AWR0.ABRA.AB05 */
20435                         }
20436 
20437                         Return (AB0E) /* \_SB_.AWR0.ABRA.AB0E */
20438                     }
20439 
20440                     Local0 = A101 ()
20441                     If ((Local0 != 0x00))
20442                     {
20443                         If ((Local0 > AB00))
20444                         {
20445                             Return (AB00) /* \_SB_.AWR0.ABRA.AB00 */
20446                         }
20447                         Else
20448                         {
20449                             Return (Local0)
20450                         }
20451                     }
20452 
20453                     Local0 = A100 ()
20454                     If ((\_SB.AP03 != 0x00))
20455                     {
20456                         If ((\_SB.AP03 < Local0))
20457                         {
20458                             Return (\_SB.AP03)
20459                         }
20460                     }
20461 
20462                     Return (Local0)
20463                 }
20464 
20465                 Method (A093, 0, NotSerialized)
20466                 {
20467                     Return (AB02) /* \_SB_.AWR0.ABRA.AB02 */
20468                 }
20469 
20470                 Method (A096, 0, NotSerialized)
20471                 {
20472                     Return (AB00) /* \_SB_.AWR0.ABRA.AB00 */
20473                 }
20474 
20475                 Method (A092, 1, NotSerialized)
20476                 {
20477                     AB02 = Arg0
20478                     A102 (Arg0)
20479                     If ((AB10 != 0x00)){}
20480                     Else
20481                     {
20482                     }
20483 
20484                     A103 (0x00)
20485                     Name (A104, 0x00)
20486                     A103 (0x01)
20487                 }
20488 
20489                 Method (A097, 1, NotSerialized)
20490                 {
20491                     AB10 = Arg0
20492                 }
20493 
20494                 Method (A098, 1, NotSerialized)
20495                 {
20496                     Local0 = (Arg0 >> 0x08)
20497                     If (((Local0 >= A105) && (Local0 <= A106)))
20498                     {
20499                         Return (0x01)
20500                     }
20501 
20502                     Return (0x00)
20503                 }
20504 
20505                 Method (A107, 1, NotSerialized)
20506                 {
20507                     Local0 = (AB0D | (AB0C << 0x03))
20508                     If ((Arg0 == Local0))
20509                     {
20510                         Return (0x01)
20511                     }
20512 
20513                     Return (0x00)
20514                 }
20515 
20516                 Method (A099, 0, NotSerialized)
20517                 {
20518                     AB10 = 0x00
20519                 }
20520 
20521                 Method (A102, 1, NotSerialized)
20522                 {
20523                     If ((Arg0 >= 0x02)){}
20524                     If ((Arg0 >= 0x03)){}
20525                     If ((Arg0 == 0x01))
20526                     {
20527                         If ((AB04 == 0x01)){}
20528                     }
20529                     Else
20530                     {
20531                     }
20532                 }
20533 
20534                 Method (A108, 1, NotSerialized)
20535                 {
20536                     Local0 = 0x00
20537                     Local1 = A109 (Local0, 0x00)
20538                     Local2 = A109 (Local0, 0x08)
20539                     If ((Local1 != 0xFFFFFFFF))
20540                     {
20541                         Local3 = ((Local1 >> 0x10) & 0xFFFF)
20542                         Local1 &= 0xFFFF
20543                         Local2 = ((Local2 >> 0x18) & 0xFF)
20544                         If ((Local2 == 0x03))
20545                         {
20546                             If (((Local1 == 0x1002) || (Local1 == 0x1022)))
20547                             {
20548                                 Local0 = 0x10
20549                                 While ((Local0 < 0x30))
20550                                 {
20551                                     Local4 = A109 (0x00, Local0)
20552                                     Local5 = 0x00
20553                                     If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
20554                                     {
20555                                         If (((Local4 & 0x06) == 0x04))
20556                                         {
20557                                             Local0 += 0x04
20558                                             Local5 = A109 (0x00, Local0)
20559                                         }
20560 
20561                                         If ((Arg0 != 0x00))
20562                                         {
20563                                             A110 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
20564                                             A110 (0x26, Local5, 0x00)
20565                                             A110 (0x28, 0x00, 0x00)
20566                                             A110 (0x27, 0x00, 0x00)
20567                                             Break
20568                                         }
20569                                         Else
20570                                         {
20571                                             A110 (0x28, 0x00, 0x00)
20572                                             A110 (0x07, 0x00, (0x01 << 0x0A))
20573                                             Break
20574                                         }
20575                                     }
20576                                     ElseIf (((Local4 & 0x06) == 0x04))
20577                                     {
20578                                         Local0 += 0x04
20579                                     }
20580 
20581                                     Local0 += 0x04
20582                                 }
20583                             }
20584                         }
20585                     }
20586                 }
20587 
20588                 Method (A122, 2, NotSerialized)
20589                 {
20590                     If ((A109 (Arg0, 0x00) == 0xFFFFFFFF))
20591                     {
20592                         Return (0x00)
20593                     }
20594 
20595                     Local0 = A109 (Arg0, 0x34)
20596                     While (0x01)
20597                     {
20598                         Local1 = A109 (Arg0, (Local0 & 0xFF))
20599                         If (((Local1 & 0xFF) == Arg1))
20600                         {
20601                             Return ((Local0 & 0xFF))
20602                         }
20603 
20604                         Local0 = ((Local1 >> 0x08) & 0xFF)
20605                         If ((Local0 == 0x00))
20606                         {
20607                             Return (Local0)
20608                         }
20609                     }
20610                 }
20611 
20612                 Name (AESP, Package (0x08)
20613                 {
20614                     0x00, 
20615                     0x00, 
20616                     0x00, 
20617                     0x00, 
20618                     0x00, 
20619                     0x00, 
20620                     0x00, 
20621                     0x00
20622                 })
20623                 Method (A103, 1, NotSerialized)
20624                 {
20625                     Local0 = 0x00
20626                     If ((A109 (Local0, 0x00) != 0xFFFFFFFF))
20627                     {
20628                         Local1 = (A109 (Local0, 0x08) & 0x80)
20629                         If ((Local1 == 0x80))
20630                         {
20631                             Local7 = 0x07
20632                         }
20633                         Else
20634                         {
20635                             Local7 = 0x00
20636                         }
20637 
20638                         While ((Local0 <= Local7))
20639                         {
20640                             Local1 = A122 (Local0, 0x10)
20641                             If ((Local1 == 0x00))
20642                             {
20643                                 Local0++
20644                                 Continue
20645                             }
20646 
20647                             If ((Arg0 == 0x00))
20648                             {
20649                                 Local2 = A109 (Local0, (Local1 + 0x10))
20650                                 A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
20651                                 AESP [Local0] = Local2
20652                             }
20653                             Else
20654                             {
20655                                 Local2 = DerefOf (AESP [Local0])
20656                                 A120 (Local0, (Local1 + 0x10), Local2)
20657                             }
20658 
20659                             Local0++
20660                         }
20661                     }
20662                     Else
20663                     {
20664                     }
20665                 }
20666 
20667                 Method (A120, 3, Serialized)
20668                 {
20669                     Local0 = (AGRB + (A106 << 0x14))
20670                     Local0 += (Arg0 << 0x0C)
20671                     Local0 += Arg1
20672                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
20673                     Field (ADRB, DWordAcc, NoLock, Preserve)
20674                     {
20675                         ADRR,   32
20676                     }
20677 
20678                     ADRR = Arg2
20679                 }
20680 
20681                 Method (A109, 2, Serialized)
20682                 {
20683                     Local0 = (AGRB + (A106 << 0x14))
20684                     Local0 += (Arg0 << 0x0C)
20685                     Local0 += Arg1
20686                     OperationRegion (ADRB, SystemMemory, Local0, 0x04)
20687                     Field (ADRB, DWordAcc, NoLock, Preserve)
20688                     {
20689                         ADRR,   32
20690                     }
20691 
20692                     Return (ADRR) /* \_SB_.AWR0.ABRA.A109.ADRR */
20693                 }
20694 
20695                 Method (A118, 1, NotSerialized)
20696                 {
20697                     If ((AB0B != 0x01))
20698                     {
20699                         Return (0x00)
20700                     }
20701 
20702                     Return (A107 (Arg0))
20703                 }
20704 
20705                 Method (A119, 1, NotSerialized)
20706                 {
20707                     Name (A104, 0x00)
20708                     Local2 = 0x00
20709                     A104 = A112 /* \_SB_.AWR0.ABRA.A112 */
20710                     Local1 = (AB0D | (AB0C << 0x03))
20711                     If ((Arg0 == 0x01))
20712                     {
20713                         A113 = 0x00
20714                         Local0 = 0x01
20715                     }
20716                     Else
20717                     {
20718                         A103 (0x00)
20719                         Local0 = A109 (0x00, 0x04)
20720                         If ((Local0 != 0xFFFFFFFF))
20721                         {
20722                             A120 (0x00, 0x04, (Local0 & ~0x04))
20723                             Local0 = A109 (0x01, 0x04)
20724                             If ((Local0 != 0xFFFFFFFF))
20725                             {
20726                                 A120 (0x01, 0x04, (Local0 & ~0x04))
20727                             }
20728                         }
20729 
20730                         Local2 = 0x00
20731                         A113 = 0x01
20732                         Local0 = 0x05
20733                     }
20734 
20735                     A112 = 0x00
20736                     While ((Local0 != 0x08))
20737                     {
20738                         If ((Local0 == 0x01))
20739                         {
20740                             A121 (0x29, Local1, 0x00, 0x00, 0x00)
20741                             Local2 = 0x01
20742                             Local0 = 0x08
20743                         }
20744 
20745                         If ((Local0 == 0x05))
20746                         {
20747                             A109 (0x00, 0x00)
20748                             A121 (0x2A, Local1, 0x00, 0x00, 0x00)
20749                             AB05 = 0x00
20750                             AB04 = 0x00
20751                             AB10 = 0x00
20752                             Local2 = 0x00
20753                             Local0 = 0x08
20754                         }
20755                     }
20756 
20757                     A112 = A104 /* \_SB_.AWR0.ABRA.A119.A104 */
20758                     If ((A104 != 0x00))
20759                     {
20760                         A103 (0x01)
20761                     }
20762 
20763                     Return (Local2)
20764                 }
20765             }
20766         }
20767 
20768         Method (A161, 1, Serialized)
20769         {
20770             If ((DerefOf (\_SB.ADAT [0x08]) == 0x01))
20771             {
20772                 Local0 = 0x00
20773                 While ((Local0 < 0x0B))
20774                 {
20775                     A162 (Local0, Arg0)
20776                     Local0++
20777                 }
20778             }
20779         }
20780 
20781         Method (A110, 3, NotSerialized)
20782         {
20783             Local7 = Buffer (0x18){}
20784             CreateDWordField (Local7, 0x00, A005)
20785             CreateDWordField (Local7, 0x04, A006)
20786             CreateDWordField (Local7, 0x08, A007)
20787             CreateDWordField (Local7, 0x0C, A008)
20788             CreateDWordField (Local7, 0x10, A009)
20789             CreateDWordField (Local7, 0x14, A010)
20790             A005 = Arg1
20791             A006 = Arg2
20792             A011 (Arg0, Local7)
20793         }
20794 
20795         Method (A162, 2, NotSerialized)
20796         {
20797             If ((Arg0 == 0x00))
20798             {
20799                 Return (\_SB.AWR0.ABR0.A108 (Arg1))
20800             }
20801 
20802             If ((Arg0 == 0x01))
20803             {
20804                 Return (\_SB.AWR0.ABR1.A108 (Arg1))
20805             }
20806 
20807             If ((Arg0 == 0x02))
20808             {
20809                 Return (\_SB.AWR0.ABR2.A108 (Arg1))
20810             }
20811 
20812             If ((Arg0 == 0x03))
20813             {
20814                 Return (\_SB.AWR0.ABR3.A108 (Arg1))
20815             }
20816 
20817             If ((Arg0 == 0x04))
20818             {
20819                 Return (\_SB.AWR0.ABR4.A108 (Arg1))
20820             }
20821 
20822             If ((Arg0 == 0x05))
20823             {
20824                 Return (\_SB.AWR0.ABR5.A108 (Arg1))
20825             }
20826 
20827             If ((Arg0 == 0x06))
20828             {
20829                 Return (\_SB.AWR0.ABR6.A108 (Arg1))
20830             }
20831 
20832             If ((Arg0 == 0x07))
20833             {
20834                 Return (\_SB.AWR0.ABR7.A108 (Arg1))
20835             }
20836 
20837             If ((Arg0 == 0x08))
20838             {
20839                 Return (\_SB.AWR0.ABR8.A108 (Arg1))
20840             }
20841 
20842             If ((Arg0 == 0x09))
20843             {
20844                 Return (\_SB.AWR0.ABR9.A108 (Arg1))
20845             }
20846 
20847             If ((Arg0 == 0x0A))
20848             {
20849                 Return (\_SB.AWR0.ABRA.A108 (Arg1))
20850             }
20851         }
20852 
20853         Method (A072, 1, Serialized)
20854         {
20855             Local0 = 0x00
20856             Local6 = DerefOf (Arg0 [Local0])
20857             Local7 = Buffer (0x18){}
20858             CreateDWordField (Local7, 0x00, A005)
20859             CreateDWordField (Local7, 0x04, A006)
20860             CreateDWordField (Local7, 0x08, A007)
20861             CreateDWordField (Local7, 0x0C, A008)
20862             CreateDWordField (Local7, 0x10, A009)
20863             CreateDWordField (Local7, 0x14, A010)
20864             Local0 = 0x02
20865             Local1 = DerefOf (Arg0 [Local0])
20866             Local0++
20867             Local2 = DerefOf (Arg0 [Local0])
20868             Local0++
20869             Local2 |= (DerefOf (Arg0 [Local0]) << 0x08)
20870             A005 = 0x00
20871             A006 = 0x00
20872             A007 = 0x00
20873             A008 = 0x00
20874             A009 = 0x00
20875             A010 = 0x00
20876             If ((Local1 == 0x00))
20877             {
20878                 A005 = Local2
20879                 A161 (0x00)
20880             }
20881 
20882             If ((Local1 == 0x01))
20883             {
20884                 A005 = Local2
20885                 A161 (0x01)
20886             }
20887 
20888             If ((Local1 == 0x02))
20889             {
20890                 A005 = Local2
20891                 A011 (0x27, Local7)
20892             }
20893 
20894             If ((Local1 == 0x03))
20895             {
20896                 A005 = Local2
20897                 A011 (0x28, Local7)
20898             }
20899         }
20900 
20901         Name (A001, 0x01)
20902         Name (A002, 0x00)
20903         Method (APTS, 1, NotSerialized)
20904         {
20905             If ((Arg0 == 0x03)){}
20906         }
20907 
20908         Method (AWAK, 1, NotSerialized)
20909         {
20910             If ((Arg0 == 0x03)){}
20911         }
20912 
20913         Method (APPM, 1, NotSerialized)
20914         {
20915             Local0 = DerefOf (Arg0 [0x04])
20916             Local1 = DerefOf (Arg0 [0x02])
20917             A003 (Local0, Local1)
20918         }
20919 
20920         Method (A004, 0, NotSerialized)
20921         {
20922             Local7 = Buffer (0x18){}
20923             CreateDWordField (Local7, 0x00, A005)
20924             CreateDWordField (Local7, 0x04, A006)
20925             CreateDWordField (Local7, 0x08, A007)
20926             CreateDWordField (Local7, 0x0C, A008)
20927             CreateDWordField (Local7, 0x10, A009)
20928             CreateDWordField (Local7, 0x14, A010)
20929             A005 = 0x00
20930             A006 = 0x00
20931             A007 = 0x00
20932             A008 = 0x00
20933             A009 = 0x00
20934             A010 = 0x00
20935             If ((AD00 == 0x00))
20936             {
20937                 A011 (0x11, Local7)
20938             }
20939             Else
20940             {
20941                 A011 (0x12, Local7)
20942             }
20943         }
20944 
20945         Method (A012, 2, NotSerialized)
20946         {
20947         }
20948     }
20949 
20950     Scope (\_SB.PLTF.P000)
20951     {
20952         Name (_PCT, Package (0x02)  // _PCT: Performance Control
20953         {
20954             ResourceTemplate ()
20955             {
20956                 Register (FFixedHW, 
20957                     0x40,               // Bit Width
20958                     0x00,               // Bit Offset
20959                     0x00000000C0010062, // Address
20960                     ,)
20961             }, 
20962 
20963             ResourceTemplate ()
20964             {
20965                 Register (FFixedHW, 
20966                     0x40,               // Bit Width
20967                     0x00,               // Bit Offset
20968                     0x0000000000000000, // Address
20969                     ,)
20970             }
20971         })
20972         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
20973         {
20974             Package (0x06)
20975             {
20976                 0x00000A8C, 
20977                 0x00000CA8, 
20978                 0x00000000, 
20979                 0x00000000, 
20980                 0x00000000, 
20981                 0x00000000
20982             }, 
20983 
20984             Package (0x06)
20985             {
20986                 0x00000708, 
20987                 0x000007BC, 
20988                 0x00000000, 
20989                 0x00000000, 
20990                 0x00000001, 
20991                 0x00000001
20992             }, 
20993 
20994             Package (0x06)
20995             {
20996                 0x00000640, 
20997                 0x00000640, 
20998                 0x00000000, 
20999                 0x00000000, 
21000                 0x00000002, 
21001                 0x00000002
21002             }
21003         })
21004         Name (XPSS, Package (0x03)
21005         {
21006             Package (0x08)
21007             {
21008                 0x00000A8C, 
21009                 0x00000CA8, 
21010                 0x00000000, 
21011                 0x00000000, 
21012                 Buffer (0x08)
21013                 {
21014                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21015                 }, 
21016 
21017                 Buffer (0x08)
21018                 {
21019                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21020                 }, 
21021 
21022                 Buffer (0x08)
21023                 {
21024                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21025                 }, 
21026 
21027                 Buffer (0x08)
21028                 {
21029                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21030                 }
21031             }, 
21032 
21033             Package (0x08)
21034             {
21035                 0x00000708, 
21036                 0x000007BC, 
21037                 0x00000000, 
21038                 0x00000000, 
21039                 Buffer (0x08)
21040                 {
21041                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21042                 }, 
21043 
21044                 Buffer (0x08)
21045                 {
21046                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21047                 }, 
21048 
21049                 Buffer (0x08)
21050                 {
21051                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21052                 }, 
21053 
21054                 Buffer (0x08)
21055                 {
21056                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21057                 }
21058             }, 
21059 
21060             Package (0x08)
21061             {
21062                 0x00000640, 
21063                 0x00000640, 
21064                 0x00000000, 
21065                 0x00000000, 
21066                 Buffer (0x08)
21067                 {
21068                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21069                 }, 
21070 
21071                 Buffer (0x08)
21072                 {
21073                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21074                 }, 
21075 
21076                 Buffer (0x08)
21077                 {
21078                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21079                 }, 
21080 
21081                 Buffer (0x08)
21082                 {
21083                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21084                 }
21085             }
21086         })
21087         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
21088         {
21089             Package (0x05)
21090             {
21091                 0x05, 
21092                 0x00, 
21093                 0x00000000, 
21094                 0x000000FE, 
21095                 0x00000002
21096             }
21097         })
21098         Name (PPCV, 0x00)
21099         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
21100         {
21101             Return (PPCV) /* \_SB_.PLTF.P000.PPCV */
21102         }
21103 
21104         Name (_CST, Package (0x04)  // _CST: C-States
21105         {
21106             0x03, 
21107             Package (0x04)
21108             {
21109                 ResourceTemplate ()
21110                 {
21111                     Register (FFixedHW, 
21112                         0x02,               // Bit Width
21113                         0x02,               // Bit Offset
21114                         0x0000000000000000, // Address
21115                         ,)
21116                 }, 
21117 
21118                 0x01, 
21119                 0x0001, 
21120                 0x00000000
21121             }, 
21122 
21123             Package (0x04)
21124             {
21125                 ResourceTemplate ()
21126                 {
21127                     Register (SystemIO, 
21128                         0x08,               // Bit Width
21129                         0x00,               // Bit Offset
21130                         0x0000000000000414, // Address
21131                         0x01,               // Access Size
21132                         )
21133                 }, 
21134 
21135                 0x02, 
21136                 0x0012, 
21137                 0x00000000
21138             }, 
21139 
21140             Package (0x04)
21141             {
21142                 ResourceTemplate ()
21143                 {
21144                     Register (SystemIO, 
21145                         0x08,               // Bit Width
21146                         0x00,               // Bit Offset
21147                         0x0000000000000415, // Address
21148                         0x01,               // Access Size
21149                         )
21150                 }, 
21151 
21152                 0x03, 
21153                 0x015E, 
21154                 0x00000000
21155             }
21156         })
21157         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
21158         {
21159             Package (0x06)
21160             {
21161                 0x06, 
21162                 0x00, 
21163                 0x00000000, 
21164                 0x000000FE, 
21165                 0x00000002, 
21166                 0x00000000
21167             }
21168         })
21169         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
21170         {
21171             0x0000, 
21172             0x0000000000000000, 
21173             0x0003, 
21174             Package (0x0A)
21175             {
21176                 0x00000002, 
21177                 0x00000001, 
21178                 0x00000001, 
21179                 0x00000000, 
21180                 0x00000000, 
21181                 0x00000000, 
21182                 ResourceTemplate ()
21183                 {
21184                     Register (FFixedHW, 
21185                         0x02,               // Bit Width
21186                         0x02,               // Bit Offset
21187                         0x0000000000000000, // Address
21188                         ,)
21189                 }, 
21190 
21191                 ResourceTemplate ()
21192                 {
21193                     Register (SystemMemory, 
21194                         0x00,               // Bit Width
21195                         0x00,               // Bit Offset
21196                         0x0000000000000000, // Address
21197                         ,)
21198                 }, 
21199 
21200                 ResourceTemplate ()
21201                 {
21202                     Register (SystemMemory, 
21203                         0x00,               // Bit Width
21204                         0x00,               // Bit Offset
21205                         0x0000000000000000, // Address
21206                         ,)
21207                 }, 
21208 
21209                 "C1"
21210             }, 
21211 
21212             Package (0x0A)
21213             {
21214                 0x00000024, 
21215                 0x00000012, 
21216                 0x00000001, 
21217                 0x00000000, 
21218                 0x00000000, 
21219                 0x00000000, 
21220                 ResourceTemplate ()
21221                 {
21222                     Register (SystemIO, 
21223                         0x08,               // Bit Width
21224                         0x00,               // Bit Offset
21225                         0x0000000000000414, // Address
21226                         0x01,               // Access Size
21227                         )
21228                 }, 
21229 
21230                 ResourceTemplate ()
21231                 {
21232                     Register (SystemMemory, 
21233                         0x00,               // Bit Width
21234                         0x00,               // Bit Offset
21235                         0x0000000000000000, // Address
21236                         ,)
21237                 }, 
21238 
21239                 ResourceTemplate ()
21240                 {
21241                     Register (SystemMemory, 
21242                         0x00,               // Bit Width
21243                         0x00,               // Bit Offset
21244                         0x0000000000000000, // Address
21245                         ,)
21246                 }, 
21247 
21248                 "C2"
21249             }, 
21250 
21251             Package (0x0A)
21252             {
21253                 0x000002BC, 
21254                 0x0000015E, 
21255                 0x00000001, 
21256                 0x00000000, 
21257                 0x00000000, 
21258                 0x00000001, 
21259                 ResourceTemplate ()
21260                 {
21261                     Register (SystemIO, 
21262                         0x08,               // Bit Width
21263                         0x00,               // Bit Offset
21264                         0x0000000000000415, // Address
21265                         0x01,               // Access Size
21266                         )
21267                 }, 
21268 
21269                 ResourceTemplate ()
21270                 {
21271                     Register (SystemMemory, 
21272                         0x00,               // Bit Width
21273                         0x00,               // Bit Offset
21274                         0x0000000000000000, // Address
21275                         ,)
21276                 }, 
21277 
21278                 ResourceTemplate ()
21279                 {
21280                     Register (SystemMemory, 
21281                         0x00,               // Bit Width
21282                         0x00,               // Bit Offset
21283                         0x0000000000000000, // Address
21284                         ,)
21285                 }, 
21286 
21287                 "C3"
21288             }
21289         })
21290         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
21291         {
21292             0x17, 
21293             0x03, 
21294             ResourceTemplate ()
21295             {
21296                 Register (FFixedHW, 
21297                     0x08,               // Bit Width
21298                     0x18,               // Bit Offset
21299                     0x00000000C00102B0, // Address
21300                     0x04,               // Access Size
21301                     )
21302             }, 
21303 
21304             ResourceTemplate ()
21305             {
21306                 Register (FFixedHW, 
21307                     0x08,               // Bit Width
21308                     0x10,               // Bit Offset
21309                     0x00000000C00102B0, // Address
21310                     0x04,               // Access Size
21311                     )
21312             }, 
21313 
21314             ResourceTemplate ()
21315             {
21316                 Register (FFixedHW, 
21317                     0x08,               // Bit Width
21318                     0x08,               // Bit Offset
21319                     0x00000000C00102B0, // Address
21320                     0x04,               // Access Size
21321                     )
21322             }, 
21323 
21324             ResourceTemplate ()
21325             {
21326                 Register (FFixedHW, 
21327                     0x08,               // Bit Width
21328                     0x00,               // Bit Offset
21329                     0x00000000C00102B0, // Address
21330                     0x04,               // Access Size
21331                     )
21332             }, 
21333 
21334             ResourceTemplate ()
21335             {
21336                 Register (SystemMemory, 
21337                     0x00,               // Bit Width
21338                     0x00,               // Bit Offset
21339                     0x0000000000000000, // Address
21340                     ,)
21341             }, 
21342 
21343             ResourceTemplate ()
21344             {
21345                 Register (FFixedHW, 
21346                     0x08,               // Bit Width
21347                     0x10,               // Bit Offset
21348                     0x00000000C00102B3, // Address
21349                     0x04,               // Access Size
21350                     )
21351             }, 
21352 
21353             ResourceTemplate ()
21354             {
21355                 Register (FFixedHW, 
21356                     0x08,               // Bit Width
21357                     0x08,               // Bit Offset
21358                     0x00000000C00102B3, // Address
21359                     0x04,               // Access Size
21360                     )
21361             }, 
21362 
21363             ResourceTemplate ()
21364             {
21365                 Register (FFixedHW, 
21366                     0x08,               // Bit Width
21367                     0x00,               // Bit Offset
21368                     0x00000000C00102B3, // Address
21369                     0x04,               // Access Size
21370                     )
21371             }, 
21372 
21373             ResourceTemplate ()
21374             {
21375                 Register (SystemMemory, 
21376                     0x00,               // Bit Width
21377                     0x00,               // Bit Offset
21378                     0x0000000000000000, // Address
21379                     ,)
21380             }, 
21381 
21382             ResourceTemplate ()
21383             {
21384                 Register (SystemMemory, 
21385                     0x00,               // Bit Width
21386                     0x00,               // Bit Offset
21387                     0x0000000000000000, // Address
21388                     ,)
21389             }, 
21390 
21391             ResourceTemplate ()
21392             {
21393                 Register (SystemMemory, 
21394                     0x00,               // Bit Width
21395                     0x00,               // Bit Offset
21396                     0x0000000000000000, // Address
21397                     ,)
21398             }, 
21399 
21400             ResourceTemplate ()
21401             {
21402                 Register (FFixedHW, 
21403                     0x40,               // Bit Width
21404                     0x00,               // Bit Offset
21405                     0x00000000000000E7, // Address
21406                     0x04,               // Access Size
21407                     )
21408             }, 
21409 
21410             ResourceTemplate ()
21411             {
21412                 Register (FFixedHW, 
21413                     0x40,               // Bit Width
21414                     0x00,               // Bit Offset
21415                     0x00000000000000E8, // Address
21416                     0x04,               // Access Size
21417                     )
21418             }, 
21419 
21420             ResourceTemplate ()
21421             {
21422                 Register (FFixedHW, 
21423                     0x02,               // Bit Width
21424                     0x00,               // Bit Offset
21425                     0x00000000C00102B4, // Address
21426                     0x04,               // Access Size
21427                     )
21428             }, 
21429 
21430             ResourceTemplate ()
21431             {
21432                 Register (FFixedHW, 
21433                     0x01,               // Bit Width
21434                     0x00,               // Bit Offset
21435                     0x00000000C00102B1, // Address
21436                     0x04,               // Access Size
21437                     )
21438             }, 
21439 
21440             0x00000001, 
21441             ResourceTemplate ()
21442             {
21443                 Register (SystemMemory, 
21444                     0x00,               // Bit Width
21445                     0x00,               // Bit Offset
21446                     0x0000000000000000, // Address
21447                     ,)
21448             }, 
21449 
21450             ResourceTemplate ()
21451             {
21452                 Register (FFixedHW, 
21453                     0x08,               // Bit Width
21454                     0x18,               // Bit Offset
21455                     0x00000000C00102B3, // Address
21456                     0x04,               // Access Size
21457                     )
21458             }, 
21459 
21460             ResourceTemplate ()
21461             {
21462                 Register (SystemMemory, 
21463                     0x00,               // Bit Width
21464                     0x00,               // Bit Offset
21465                     0x0000000000000000, // Address
21466                     ,)
21467             }, 
21468 
21469             0x00000190, 
21470             0x00000A8D
21471         })
21472     }
21473 
21474     Scope (\_SB.PLTF.P001)
21475     {
21476         Name (_PCT, Package (0x02)  // _PCT: Performance Control
21477         {
21478             ResourceTemplate ()
21479             {
21480                 Register (FFixedHW, 
21481                     0x40,               // Bit Width
21482                     0x00,               // Bit Offset
21483                     0x00000000C0010062, // Address
21484                     ,)
21485             }, 
21486 
21487             ResourceTemplate ()
21488             {
21489                 Register (FFixedHW, 
21490                     0x40,               // Bit Width
21491                     0x00,               // Bit Offset
21492                     0x0000000000000000, // Address
21493                     ,)
21494             }
21495         })
21496         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
21497         {
21498             Package (0x06)
21499             {
21500                 0x00000A8C, 
21501                 0x00000CA8, 
21502                 0x00000000, 
21503                 0x00000000, 
21504                 0x00000000, 
21505                 0x00000000
21506             }, 
21507 
21508             Package (0x06)
21509             {
21510                 0x00000708, 
21511                 0x000007BC, 
21512                 0x00000000, 
21513                 0x00000000, 
21514                 0x00000001, 
21515                 0x00000001
21516             }, 
21517 
21518             Package (0x06)
21519             {
21520                 0x00000640, 
21521                 0x00000640, 
21522                 0x00000000, 
21523                 0x00000000, 
21524                 0x00000002, 
21525                 0x00000002
21526             }
21527         })
21528         Name (XPSS, Package (0x03)
21529         {
21530             Package (0x08)
21531             {
21532                 0x00000A8C, 
21533                 0x00000CA8, 
21534                 0x00000000, 
21535                 0x00000000, 
21536                 Buffer (0x08)
21537                 {
21538                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21539                 }, 
21540 
21541                 Buffer (0x08)
21542                 {
21543                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21544                 }, 
21545 
21546                 Buffer (0x08)
21547                 {
21548                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21549                 }, 
21550 
21551                 Buffer (0x08)
21552                 {
21553                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21554                 }
21555             }, 
21556 
21557             Package (0x08)
21558             {
21559                 0x00000708, 
21560                 0x000007BC, 
21561                 0x00000000, 
21562                 0x00000000, 
21563                 Buffer (0x08)
21564                 {
21565                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21566                 }, 
21567 
21568                 Buffer (0x08)
21569                 {
21570                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21571                 }, 
21572 
21573                 Buffer (0x08)
21574                 {
21575                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21576                 }, 
21577 
21578                 Buffer (0x08)
21579                 {
21580                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21581                 }
21582             }, 
21583 
21584             Package (0x08)
21585             {
21586                 0x00000640, 
21587                 0x00000640, 
21588                 0x00000000, 
21589                 0x00000000, 
21590                 Buffer (0x08)
21591                 {
21592                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21593                 }, 
21594 
21595                 Buffer (0x08)
21596                 {
21597                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21598                 }, 
21599 
21600                 Buffer (0x08)
21601                 {
21602                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21603                 }, 
21604 
21605                 Buffer (0x08)
21606                 {
21607                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
21608                 }
21609             }
21610         })
21611         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
21612         {
21613             Package (0x05)
21614             {
21615                 0x05, 
21616                 0x00, 
21617                 0x00000000, 
21618                 0x000000FE, 
21619                 0x00000002
21620             }
21621         })
21622         Name (PPCV, 0x00)
21623         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
21624         {
21625             Return (PPCV) /* \_SB_.PLTF.P001.PPCV */
21626         }
21627 
21628         Name (_CST, Package (0x04)  // _CST: C-States
21629         {
21630             0x03, 
21631             Package (0x04)
21632             {
21633                 ResourceTemplate ()
21634                 {
21635                     Register (FFixedHW, 
21636                         0x02,               // Bit Width
21637                         0x02,               // Bit Offset
21638                         0x0000000000000000, // Address
21639                         ,)
21640                 }, 
21641 
21642                 0x01, 
21643                 0x0001, 
21644                 0x00000000
21645             }, 
21646 
21647             Package (0x04)
21648             {
21649                 ResourceTemplate ()
21650                 {
21651                     Register (SystemIO, 
21652                         0x08,               // Bit Width
21653                         0x00,               // Bit Offset
21654                         0x0000000000000414, // Address
21655                         0x01,               // Access Size
21656                         )
21657                 }, 
21658 
21659                 0x02, 
21660                 0x0012, 
21661                 0x00000000
21662             }, 
21663 
21664             Package (0x04)
21665             {
21666                 ResourceTemplate ()
21667                 {
21668                     Register (SystemIO, 
21669                         0x08,               // Bit Width
21670                         0x00,               // Bit Offset
21671                         0x0000000000000415, // Address
21672                         0x01,               // Access Size
21673                         )
21674                 }, 
21675 
21676                 0x03, 
21677                 0x015E, 
21678                 0x00000000
21679             }
21680         })
21681         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
21682         {
21683             Package (0x06)
21684             {
21685                 0x06, 
21686                 0x00, 
21687                 0x00000000, 
21688                 0x000000FE, 
21689                 0x00000002, 
21690                 0x00000000
21691             }
21692         })
21693         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
21694         {
21695             0x0000, 
21696             0x0000000000000000, 
21697             0x0003, 
21698             Package (0x0A)
21699             {
21700                 0x00000002, 
21701                 0x00000001, 
21702                 0x00000001, 
21703                 0x00000000, 
21704                 0x00000000, 
21705                 0x00000000, 
21706                 ResourceTemplate ()
21707                 {
21708                     Register (FFixedHW, 
21709                         0x02,               // Bit Width
21710                         0x02,               // Bit Offset
21711                         0x0000000000000000, // Address
21712                         ,)
21713                 }, 
21714 
21715                 ResourceTemplate ()
21716                 {
21717                     Register (SystemMemory, 
21718                         0x00,               // Bit Width
21719                         0x00,               // Bit Offset
21720                         0x0000000000000000, // Address
21721                         ,)
21722                 }, 
21723 
21724                 ResourceTemplate ()
21725                 {
21726                     Register (SystemMemory, 
21727                         0x00,               // Bit Width
21728                         0x00,               // Bit Offset
21729                         0x0000000000000000, // Address
21730                         ,)
21731                 }, 
21732 
21733                 "C1"
21734             }, 
21735 
21736             Package (0x0A)
21737             {
21738                 0x00000024, 
21739                 0x00000012, 
21740                 0x00000001, 
21741                 0x00000000, 
21742                 0x00000000, 
21743                 0x00000000, 
21744                 ResourceTemplate ()
21745                 {
21746                     Register (SystemIO, 
21747                         0x08,               // Bit Width
21748                         0x00,               // Bit Offset
21749                         0x0000000000000414, // Address
21750                         0x01,               // Access Size
21751                         )
21752                 }, 
21753 
21754                 ResourceTemplate ()
21755                 {
21756                     Register (SystemMemory, 
21757                         0x00,               // Bit Width
21758                         0x00,               // Bit Offset
21759                         0x0000000000000000, // Address
21760                         ,)
21761                 }, 
21762 
21763                 ResourceTemplate ()
21764                 {
21765                     Register (SystemMemory, 
21766                         0x00,               // Bit Width
21767                         0x00,               // Bit Offset
21768                         0x0000000000000000, // Address
21769                         ,)
21770                 }, 
21771 
21772                 "C2"
21773             }, 
21774 
21775             Package (0x0A)
21776             {
21777                 0x000002BC, 
21778                 0x0000015E, 
21779                 0x00000001, 
21780                 0x00000000, 
21781                 0x00000000, 
21782                 0x00000001, 
21783                 ResourceTemplate ()
21784                 {
21785                     Register (SystemIO, 
21786                         0x08,               // Bit Width
21787                         0x00,               // Bit Offset
21788                         0x0000000000000415, // Address
21789                         0x01,               // Access Size
21790                         )
21791                 }, 
21792 
21793                 ResourceTemplate ()
21794                 {
21795                     Register (SystemMemory, 
21796                         0x00,               // Bit Width
21797                         0x00,               // Bit Offset
21798                         0x0000000000000000, // Address
21799                         ,)
21800                 }, 
21801 
21802                 ResourceTemplate ()
21803                 {
21804                     Register (SystemMemory, 
21805                         0x00,               // Bit Width
21806                         0x00,               // Bit Offset
21807                         0x0000000000000000, // Address
21808                         ,)
21809                 }, 
21810 
21811                 "C3"
21812             }
21813         })
21814         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
21815         {
21816             0x17, 
21817             0x03, 
21818             ResourceTemplate ()
21819             {
21820                 Register (FFixedHW, 
21821                     0x08,               // Bit Width
21822                     0x18,               // Bit Offset
21823                     0x00000000C00102B0, // Address
21824                     0x04,               // Access Size
21825                     )
21826             }, 
21827 
21828             ResourceTemplate ()
21829             {
21830                 Register (FFixedHW, 
21831                     0x08,               // Bit Width
21832                     0x10,               // Bit Offset
21833                     0x00000000C00102B0, // Address
21834                     0x04,               // Access Size
21835                     )
21836             }, 
21837 
21838             ResourceTemplate ()
21839             {
21840                 Register (FFixedHW, 
21841                     0x08,               // Bit Width
21842                     0x08,               // Bit Offset
21843                     0x00000000C00102B0, // Address
21844                     0x04,               // Access Size
21845                     )
21846             }, 
21847 
21848             ResourceTemplate ()
21849             {
21850                 Register (FFixedHW, 
21851                     0x08,               // Bit Width
21852                     0x00,               // Bit Offset
21853                     0x00000000C00102B0, // Address
21854                     0x04,               // Access Size
21855                     )
21856             }, 
21857 
21858             ResourceTemplate ()
21859             {
21860                 Register (SystemMemory, 
21861                     0x00,               // Bit Width
21862                     0x00,               // Bit Offset
21863                     0x0000000000000000, // Address
21864                     ,)
21865             }, 
21866 
21867             ResourceTemplate ()
21868             {
21869                 Register (FFixedHW, 
21870                     0x08,               // Bit Width
21871                     0x10,               // Bit Offset
21872                     0x00000000C00102B3, // Address
21873                     0x04,               // Access Size
21874                     )
21875             }, 
21876 
21877             ResourceTemplate ()
21878             {
21879                 Register (FFixedHW, 
21880                     0x08,               // Bit Width
21881                     0x08,               // Bit Offset
21882                     0x00000000C00102B3, // Address
21883                     0x04,               // Access Size
21884                     )
21885             }, 
21886 
21887             ResourceTemplate ()
21888             {
21889                 Register (FFixedHW, 
21890                     0x08,               // Bit Width
21891                     0x00,               // Bit Offset
21892                     0x00000000C00102B3, // Address
21893                     0x04,               // Access Size
21894                     )
21895             }, 
21896 
21897             ResourceTemplate ()
21898             {
21899                 Register (SystemMemory, 
21900                     0x00,               // Bit Width
21901                     0x00,               // Bit Offset
21902                     0x0000000000000000, // Address
21903                     ,)
21904             }, 
21905 
21906             ResourceTemplate ()
21907             {
21908                 Register (SystemMemory, 
21909                     0x00,               // Bit Width
21910                     0x00,               // Bit Offset
21911                     0x0000000000000000, // Address
21912                     ,)
21913             }, 
21914 
21915             ResourceTemplate ()
21916             {
21917                 Register (SystemMemory, 
21918                     0x00,               // Bit Width
21919                     0x00,               // Bit Offset
21920                     0x0000000000000000, // Address
21921                     ,)
21922             }, 
21923 
21924             ResourceTemplate ()
21925             {
21926                 Register (FFixedHW, 
21927                     0x40,               // Bit Width
21928                     0x00,               // Bit Offset
21929                     0x00000000000000E7, // Address
21930                     0x04,               // Access Size
21931                     )
21932             }, 
21933 
21934             ResourceTemplate ()
21935             {
21936                 Register (FFixedHW, 
21937                     0x40,               // Bit Width
21938                     0x00,               // Bit Offset
21939                     0x00000000000000E8, // Address
21940                     0x04,               // Access Size
21941                     )
21942             }, 
21943 
21944             ResourceTemplate ()
21945             {
21946                 Register (FFixedHW, 
21947                     0x02,               // Bit Width
21948                     0x00,               // Bit Offset
21949                     0x00000000C00102B4, // Address
21950                     0x04,               // Access Size
21951                     )
21952             }, 
21953 
21954             ResourceTemplate ()
21955             {
21956                 Register (FFixedHW, 
21957                     0x01,               // Bit Width
21958                     0x00,               // Bit Offset
21959                     0x00000000C00102B1, // Address
21960                     0x04,               // Access Size
21961                     )
21962             }, 
21963 
21964             0x00000001, 
21965             ResourceTemplate ()
21966             {
21967                 Register (SystemMemory, 
21968                     0x00,               // Bit Width
21969                     0x00,               // Bit Offset
21970                     0x0000000000000000, // Address
21971                     ,)
21972             }, 
21973 
21974             ResourceTemplate ()
21975             {
21976                 Register (FFixedHW, 
21977                     0x08,               // Bit Width
21978                     0x18,               // Bit Offset
21979                     0x00000000C00102B3, // Address
21980                     0x04,               // Access Size
21981                     )
21982             }, 
21983 
21984             ResourceTemplate ()
21985             {
21986                 Register (SystemMemory, 
21987                     0x00,               // Bit Width
21988                     0x00,               // Bit Offset
21989                     0x0000000000000000, // Address
21990                     ,)
21991             }, 
21992 
21993             0x00000190, 
21994             0x00000A8D
21995         })
21996     }
21997 
21998     Scope (\_SB.PLTF.P002)
21999     {
22000         Name (_PCT, Package (0x02)  // _PCT: Performance Control
22001         {
22002             ResourceTemplate ()
22003             {
22004                 Register (FFixedHW, 
22005                     0x40,               // Bit Width
22006                     0x00,               // Bit Offset
22007                     0x00000000C0010062, // Address
22008                     ,)
22009             }, 
22010 
22011             ResourceTemplate ()
22012             {
22013                 Register (FFixedHW, 
22014                     0x40,               // Bit Width
22015                     0x00,               // Bit Offset
22016                     0x0000000000000000, // Address
22017                     ,)
22018             }
22019         })
22020         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
22021         {
22022             Package (0x06)
22023             {
22024                 0x00000A8C, 
22025                 0x00000CA8, 
22026                 0x00000000, 
22027                 0x00000000, 
22028                 0x00000000, 
22029                 0x00000000
22030             }, 
22031 
22032             Package (0x06)
22033             {
22034                 0x00000708, 
22035                 0x000007BC, 
22036                 0x00000000, 
22037                 0x00000000, 
22038                 0x00000001, 
22039                 0x00000001
22040             }, 
22041 
22042             Package (0x06)
22043             {
22044                 0x00000640, 
22045                 0x00000640, 
22046                 0x00000000, 
22047                 0x00000000, 
22048                 0x00000002, 
22049                 0x00000002
22050             }
22051         })
22052         Name (XPSS, Package (0x03)
22053         {
22054             Package (0x08)
22055             {
22056                 0x00000A8C, 
22057                 0x00000CA8, 
22058                 0x00000000, 
22059                 0x00000000, 
22060                 Buffer (0x08)
22061                 {
22062                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22063                 }, 
22064 
22065                 Buffer (0x08)
22066                 {
22067                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22068                 }, 
22069 
22070                 Buffer (0x08)
22071                 {
22072                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22073                 }, 
22074 
22075                 Buffer (0x08)
22076                 {
22077                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22078                 }
22079             }, 
22080 
22081             Package (0x08)
22082             {
22083                 0x00000708, 
22084                 0x000007BC, 
22085                 0x00000000, 
22086                 0x00000000, 
22087                 Buffer (0x08)
22088                 {
22089                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22090                 }, 
22091 
22092                 Buffer (0x08)
22093                 {
22094                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22095                 }, 
22096 
22097                 Buffer (0x08)
22098                 {
22099                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22100                 }, 
22101 
22102                 Buffer (0x08)
22103                 {
22104                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22105                 }
22106             }, 
22107 
22108             Package (0x08)
22109             {
22110                 0x00000640, 
22111                 0x00000640, 
22112                 0x00000000, 
22113                 0x00000000, 
22114                 Buffer (0x08)
22115                 {
22116                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22117                 }, 
22118 
22119                 Buffer (0x08)
22120                 {
22121                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22122                 }, 
22123 
22124                 Buffer (0x08)
22125                 {
22126                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22127                 }, 
22128 
22129                 Buffer (0x08)
22130                 {
22131                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22132                 }
22133             }
22134         })
22135         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
22136         {
22137             Package (0x05)
22138             {
22139                 0x05, 
22140                 0x00, 
22141                 0x00000001, 
22142                 0x000000FE, 
22143                 0x00000002
22144             }
22145         })
22146         Name (PPCV, 0x00)
22147         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
22148         {
22149             Return (PPCV) /* \_SB_.PLTF.P002.PPCV */
22150         }
22151 
22152         Name (_CST, Package (0x04)  // _CST: C-States
22153         {
22154             0x03, 
22155             Package (0x04)
22156             {
22157                 ResourceTemplate ()
22158                 {
22159                     Register (FFixedHW, 
22160                         0x02,               // Bit Width
22161                         0x02,               // Bit Offset
22162                         0x0000000000000000, // Address
22163                         ,)
22164                 }, 
22165 
22166                 0x01, 
22167                 0x0001, 
22168                 0x00000000
22169             }, 
22170 
22171             Package (0x04)
22172             {
22173                 ResourceTemplate ()
22174                 {
22175                     Register (SystemIO, 
22176                         0x08,               // Bit Width
22177                         0x00,               // Bit Offset
22178                         0x0000000000000414, // Address
22179                         0x01,               // Access Size
22180                         )
22181                 }, 
22182 
22183                 0x02, 
22184                 0x0012, 
22185                 0x00000000
22186             }, 
22187 
22188             Package (0x04)
22189             {
22190                 ResourceTemplate ()
22191                 {
22192                     Register (SystemIO, 
22193                         0x08,               // Bit Width
22194                         0x00,               // Bit Offset
22195                         0x0000000000000415, // Address
22196                         0x01,               // Access Size
22197                         )
22198                 }, 
22199 
22200                 0x03, 
22201                 0x015E, 
22202                 0x00000000
22203             }
22204         })
22205         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
22206         {
22207             Package (0x06)
22208             {
22209                 0x06, 
22210                 0x00, 
22211                 0x00000001, 
22212                 0x000000FE, 
22213                 0x00000002, 
22214                 0x00000000
22215             }
22216         })
22217         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
22218         {
22219             0x0000, 
22220             0x0000000000000000, 
22221             0x0003, 
22222             Package (0x0A)
22223             {
22224                 0x00000002, 
22225                 0x00000001, 
22226                 0x00000001, 
22227                 0x00000000, 
22228                 0x00000000, 
22229                 0x00000000, 
22230                 ResourceTemplate ()
22231                 {
22232                     Register (FFixedHW, 
22233                         0x02,               // Bit Width
22234                         0x02,               // Bit Offset
22235                         0x0000000000000000, // Address
22236                         ,)
22237                 }, 
22238 
22239                 ResourceTemplate ()
22240                 {
22241                     Register (SystemMemory, 
22242                         0x00,               // Bit Width
22243                         0x00,               // Bit Offset
22244                         0x0000000000000000, // Address
22245                         ,)
22246                 }, 
22247 
22248                 ResourceTemplate ()
22249                 {
22250                     Register (SystemMemory, 
22251                         0x00,               // Bit Width
22252                         0x00,               // Bit Offset
22253                         0x0000000000000000, // Address
22254                         ,)
22255                 }, 
22256 
22257                 "C1"
22258             }, 
22259 
22260             Package (0x0A)
22261             {
22262                 0x00000024, 
22263                 0x00000012, 
22264                 0x00000001, 
22265                 0x00000000, 
22266                 0x00000000, 
22267                 0x00000000, 
22268                 ResourceTemplate ()
22269                 {
22270                     Register (SystemIO, 
22271                         0x08,               // Bit Width
22272                         0x00,               // Bit Offset
22273                         0x0000000000000414, // Address
22274                         0x01,               // Access Size
22275                         )
22276                 }, 
22277 
22278                 ResourceTemplate ()
22279                 {
22280                     Register (SystemMemory, 
22281                         0x00,               // Bit Width
22282                         0x00,               // Bit Offset
22283                         0x0000000000000000, // Address
22284                         ,)
22285                 }, 
22286 
22287                 ResourceTemplate ()
22288                 {
22289                     Register (SystemMemory, 
22290                         0x00,               // Bit Width
22291                         0x00,               // Bit Offset
22292                         0x0000000000000000, // Address
22293                         ,)
22294                 }, 
22295 
22296                 "C2"
22297             }, 
22298 
22299             Package (0x0A)
22300             {
22301                 0x000002BC, 
22302                 0x0000015E, 
22303                 0x00000001, 
22304                 0x00000000, 
22305                 0x00000000, 
22306                 0x00000001, 
22307                 ResourceTemplate ()
22308                 {
22309                     Register (SystemIO, 
22310                         0x08,               // Bit Width
22311                         0x00,               // Bit Offset
22312                         0x0000000000000415, // Address
22313                         0x01,               // Access Size
22314                         )
22315                 }, 
22316 
22317                 ResourceTemplate ()
22318                 {
22319                     Register (SystemMemory, 
22320                         0x00,               // Bit Width
22321                         0x00,               // Bit Offset
22322                         0x0000000000000000, // Address
22323                         ,)
22324                 }, 
22325 
22326                 ResourceTemplate ()
22327                 {
22328                     Register (SystemMemory, 
22329                         0x00,               // Bit Width
22330                         0x00,               // Bit Offset
22331                         0x0000000000000000, // Address
22332                         ,)
22333                 }, 
22334 
22335                 "C3"
22336             }
22337         })
22338         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
22339         {
22340             0x17, 
22341             0x03, 
22342             ResourceTemplate ()
22343             {
22344                 Register (FFixedHW, 
22345                     0x08,               // Bit Width
22346                     0x18,               // Bit Offset
22347                     0x00000000C00102B0, // Address
22348                     0x04,               // Access Size
22349                     )
22350             }, 
22351 
22352             ResourceTemplate ()
22353             {
22354                 Register (FFixedHW, 
22355                     0x08,               // Bit Width
22356                     0x10,               // Bit Offset
22357                     0x00000000C00102B0, // Address
22358                     0x04,               // Access Size
22359                     )
22360             }, 
22361 
22362             ResourceTemplate ()
22363             {
22364                 Register (FFixedHW, 
22365                     0x08,               // Bit Width
22366                     0x08,               // Bit Offset
22367                     0x00000000C00102B0, // Address
22368                     0x04,               // Access Size
22369                     )
22370             }, 
22371 
22372             ResourceTemplate ()
22373             {
22374                 Register (FFixedHW, 
22375                     0x08,               // Bit Width
22376                     0x00,               // Bit Offset
22377                     0x00000000C00102B0, // Address
22378                     0x04,               // Access Size
22379                     )
22380             }, 
22381 
22382             ResourceTemplate ()
22383             {
22384                 Register (SystemMemory, 
22385                     0x00,               // Bit Width
22386                     0x00,               // Bit Offset
22387                     0x0000000000000000, // Address
22388                     ,)
22389             }, 
22390 
22391             ResourceTemplate ()
22392             {
22393                 Register (FFixedHW, 
22394                     0x08,               // Bit Width
22395                     0x10,               // Bit Offset
22396                     0x00000000C00102B3, // Address
22397                     0x04,               // Access Size
22398                     )
22399             }, 
22400 
22401             ResourceTemplate ()
22402             {
22403                 Register (FFixedHW, 
22404                     0x08,               // Bit Width
22405                     0x08,               // Bit Offset
22406                     0x00000000C00102B3, // Address
22407                     0x04,               // Access Size
22408                     )
22409             }, 
22410 
22411             ResourceTemplate ()
22412             {
22413                 Register (FFixedHW, 
22414                     0x08,               // Bit Width
22415                     0x00,               // Bit Offset
22416                     0x00000000C00102B3, // Address
22417                     0x04,               // Access Size
22418                     )
22419             }, 
22420 
22421             ResourceTemplate ()
22422             {
22423                 Register (SystemMemory, 
22424                     0x00,               // Bit Width
22425                     0x00,               // Bit Offset
22426                     0x0000000000000000, // Address
22427                     ,)
22428             }, 
22429 
22430             ResourceTemplate ()
22431             {
22432                 Register (SystemMemory, 
22433                     0x00,               // Bit Width
22434                     0x00,               // Bit Offset
22435                     0x0000000000000000, // Address
22436                     ,)
22437             }, 
22438 
22439             ResourceTemplate ()
22440             {
22441                 Register (SystemMemory, 
22442                     0x00,               // Bit Width
22443                     0x00,               // Bit Offset
22444                     0x0000000000000000, // Address
22445                     ,)
22446             }, 
22447 
22448             ResourceTemplate ()
22449             {
22450                 Register (FFixedHW, 
22451                     0x40,               // Bit Width
22452                     0x00,               // Bit Offset
22453                     0x00000000000000E7, // Address
22454                     0x04,               // Access Size
22455                     )
22456             }, 
22457 
22458             ResourceTemplate ()
22459             {
22460                 Register (FFixedHW, 
22461                     0x40,               // Bit Width
22462                     0x00,               // Bit Offset
22463                     0x00000000000000E8, // Address
22464                     0x04,               // Access Size
22465                     )
22466             }, 
22467 
22468             ResourceTemplate ()
22469             {
22470                 Register (FFixedHW, 
22471                     0x02,               // Bit Width
22472                     0x00,               // Bit Offset
22473                     0x00000000C00102B4, // Address
22474                     0x04,               // Access Size
22475                     )
22476             }, 
22477 
22478             ResourceTemplate ()
22479             {
22480                 Register (FFixedHW, 
22481                     0x01,               // Bit Width
22482                     0x00,               // Bit Offset
22483                     0x00000000C00102B1, // Address
22484                     0x04,               // Access Size
22485                     )
22486             }, 
22487 
22488             0x00000001, 
22489             ResourceTemplate ()
22490             {
22491                 Register (SystemMemory, 
22492                     0x00,               // Bit Width
22493                     0x00,               // Bit Offset
22494                     0x0000000000000000, // Address
22495                     ,)
22496             }, 
22497 
22498             ResourceTemplate ()
22499             {
22500                 Register (FFixedHW, 
22501                     0x08,               // Bit Width
22502                     0x18,               // Bit Offset
22503                     0x00000000C00102B3, // Address
22504                     0x04,               // Access Size
22505                     )
22506             }, 
22507 
22508             ResourceTemplate ()
22509             {
22510                 Register (SystemMemory, 
22511                     0x00,               // Bit Width
22512                     0x00,               // Bit Offset
22513                     0x0000000000000000, // Address
22514                     ,)
22515             }, 
22516 
22517             0x00000190, 
22518             0x00000A8D
22519         })
22520     }
22521 
22522     Scope (\_SB.PLTF.P003)
22523     {
22524         Name (_PCT, Package (0x02)  // _PCT: Performance Control
22525         {
22526             ResourceTemplate ()
22527             {
22528                 Register (FFixedHW, 
22529                     0x40,               // Bit Width
22530                     0x00,               // Bit Offset
22531                     0x00000000C0010062, // Address
22532                     ,)
22533             }, 
22534 
22535             ResourceTemplate ()
22536             {
22537                 Register (FFixedHW, 
22538                     0x40,               // Bit Width
22539                     0x00,               // Bit Offset
22540                     0x0000000000000000, // Address
22541                     ,)
22542             }
22543         })
22544         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
22545         {
22546             Package (0x06)
22547             {
22548                 0x00000A8C, 
22549                 0x00000CA8, 
22550                 0x00000000, 
22551                 0x00000000, 
22552                 0x00000000, 
22553                 0x00000000
22554             }, 
22555 
22556             Package (0x06)
22557             {
22558                 0x00000708, 
22559                 0x000007BC, 
22560                 0x00000000, 
22561                 0x00000000, 
22562                 0x00000001, 
22563                 0x00000001
22564             }, 
22565 
22566             Package (0x06)
22567             {
22568                 0x00000640, 
22569                 0x00000640, 
22570                 0x00000000, 
22571                 0x00000000, 
22572                 0x00000002, 
22573                 0x00000002
22574             }
22575         })
22576         Name (XPSS, Package (0x03)
22577         {
22578             Package (0x08)
22579             {
22580                 0x00000A8C, 
22581                 0x00000CA8, 
22582                 0x00000000, 
22583                 0x00000000, 
22584                 Buffer (0x08)
22585                 {
22586                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22587                 }, 
22588 
22589                 Buffer (0x08)
22590                 {
22591                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22592                 }, 
22593 
22594                 Buffer (0x08)
22595                 {
22596                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22597                 }, 
22598 
22599                 Buffer (0x08)
22600                 {
22601                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22602                 }
22603             }, 
22604 
22605             Package (0x08)
22606             {
22607                 0x00000708, 
22608                 0x000007BC, 
22609                 0x00000000, 
22610                 0x00000000, 
22611                 Buffer (0x08)
22612                 {
22613                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22614                 }, 
22615 
22616                 Buffer (0x08)
22617                 {
22618                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22619                 }, 
22620 
22621                 Buffer (0x08)
22622                 {
22623                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22624                 }, 
22625 
22626                 Buffer (0x08)
22627                 {
22628                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22629                 }
22630             }, 
22631 
22632             Package (0x08)
22633             {
22634                 0x00000640, 
22635                 0x00000640, 
22636                 0x00000000, 
22637                 0x00000000, 
22638                 Buffer (0x08)
22639                 {
22640                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22641                 }, 
22642 
22643                 Buffer (0x08)
22644                 {
22645                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22646                 }, 
22647 
22648                 Buffer (0x08)
22649                 {
22650                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22651                 }, 
22652 
22653                 Buffer (0x08)
22654                 {
22655                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
22656                 }
22657             }
22658         })
22659         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
22660         {
22661             Package (0x05)
22662             {
22663                 0x05, 
22664                 0x00, 
22665                 0x00000001, 
22666                 0x000000FE, 
22667                 0x00000002
22668             }
22669         })
22670         Name (PPCV, 0x00)
22671         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
22672         {
22673             Return (PPCV) /* \_SB_.PLTF.P003.PPCV */
22674         }
22675 
22676         Name (_CST, Package (0x04)  // _CST: C-States
22677         {
22678             0x03, 
22679             Package (0x04)
22680             {
22681                 ResourceTemplate ()
22682                 {
22683                     Register (FFixedHW, 
22684                         0x02,               // Bit Width
22685                         0x02,               // Bit Offset
22686                         0x0000000000000000, // Address
22687                         ,)
22688                 }, 
22689 
22690                 0x01, 
22691                 0x0001, 
22692                 0x00000000
22693             }, 
22694 
22695             Package (0x04)
22696             {
22697                 ResourceTemplate ()
22698                 {
22699                     Register (SystemIO, 
22700                         0x08,               // Bit Width
22701                         0x00,               // Bit Offset
22702                         0x0000000000000414, // Address
22703                         0x01,               // Access Size
22704                         )
22705                 }, 
22706 
22707                 0x02, 
22708                 0x0012, 
22709                 0x00000000
22710             }, 
22711 
22712             Package (0x04)
22713             {
22714                 ResourceTemplate ()
22715                 {
22716                     Register (SystemIO, 
22717                         0x08,               // Bit Width
22718                         0x00,               // Bit Offset
22719                         0x0000000000000415, // Address
22720                         0x01,               // Access Size
22721                         )
22722                 }, 
22723 
22724                 0x03, 
22725                 0x015E, 
22726                 0x00000000
22727             }
22728         })
22729         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
22730         {
22731             Package (0x06)
22732             {
22733                 0x06, 
22734                 0x00, 
22735                 0x00000001, 
22736                 0x000000FE, 
22737                 0x00000002, 
22738                 0x00000000
22739             }
22740         })
22741         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
22742         {
22743             0x0000, 
22744             0x0000000000000000, 
22745             0x0003, 
22746             Package (0x0A)
22747             {
22748                 0x00000002, 
22749                 0x00000001, 
22750                 0x00000001, 
22751                 0x00000000, 
22752                 0x00000000, 
22753                 0x00000000, 
22754                 ResourceTemplate ()
22755                 {
22756                     Register (FFixedHW, 
22757                         0x02,               // Bit Width
22758                         0x02,               // Bit Offset
22759                         0x0000000000000000, // Address
22760                         ,)
22761                 }, 
22762 
22763                 ResourceTemplate ()
22764                 {
22765                     Register (SystemMemory, 
22766                         0x00,               // Bit Width
22767                         0x00,               // Bit Offset
22768                         0x0000000000000000, // Address
22769                         ,)
22770                 }, 
22771 
22772                 ResourceTemplate ()
22773                 {
22774                     Register (SystemMemory, 
22775                         0x00,               // Bit Width
22776                         0x00,               // Bit Offset
22777                         0x0000000000000000, // Address
22778                         ,)
22779                 }, 
22780 
22781                 "C1"
22782             }, 
22783 
22784             Package (0x0A)
22785             {
22786                 0x00000024, 
22787                 0x00000012, 
22788                 0x00000001, 
22789                 0x00000000, 
22790                 0x00000000, 
22791                 0x00000000, 
22792                 ResourceTemplate ()
22793                 {
22794                     Register (SystemIO, 
22795                         0x08,               // Bit Width
22796                         0x00,               // Bit Offset
22797                         0x0000000000000414, // Address
22798                         0x01,               // Access Size
22799                         )
22800                 }, 
22801 
22802                 ResourceTemplate ()
22803                 {
22804                     Register (SystemMemory, 
22805                         0x00,               // Bit Width
22806                         0x00,               // Bit Offset
22807                         0x0000000000000000, // Address
22808                         ,)
22809                 }, 
22810 
22811                 ResourceTemplate ()
22812                 {
22813                     Register (SystemMemory, 
22814                         0x00,               // Bit Width
22815                         0x00,               // Bit Offset
22816                         0x0000000000000000, // Address
22817                         ,)
22818                 }, 
22819 
22820                 "C2"
22821             }, 
22822 
22823             Package (0x0A)
22824             {
22825                 0x000002BC, 
22826                 0x0000015E, 
22827                 0x00000001, 
22828                 0x00000000, 
22829                 0x00000000, 
22830                 0x00000001, 
22831                 ResourceTemplate ()
22832                 {
22833                     Register (SystemIO, 
22834                         0x08,               // Bit Width
22835                         0x00,               // Bit Offset
22836                         0x0000000000000415, // Address
22837                         0x01,               // Access Size
22838                         )
22839                 }, 
22840 
22841                 ResourceTemplate ()
22842                 {
22843                     Register (SystemMemory, 
22844                         0x00,               // Bit Width
22845                         0x00,               // Bit Offset
22846                         0x0000000000000000, // Address
22847                         ,)
22848                 }, 
22849 
22850                 ResourceTemplate ()
22851                 {
22852                     Register (SystemMemory, 
22853                         0x00,               // Bit Width
22854                         0x00,               // Bit Offset
22855                         0x0000000000000000, // Address
22856                         ,)
22857                 }, 
22858 
22859                 "C3"
22860             }
22861         })
22862         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
22863         {
22864             0x17, 
22865             0x03, 
22866             ResourceTemplate ()
22867             {
22868                 Register (FFixedHW, 
22869                     0x08,               // Bit Width
22870                     0x18,               // Bit Offset
22871                     0x00000000C00102B0, // Address
22872                     0x04,               // Access Size
22873                     )
22874             }, 
22875 
22876             ResourceTemplate ()
22877             {
22878                 Register (FFixedHW, 
22879                     0x08,               // Bit Width
22880                     0x10,               // Bit Offset
22881                     0x00000000C00102B0, // Address
22882                     0x04,               // Access Size
22883                     )
22884             }, 
22885 
22886             ResourceTemplate ()
22887             {
22888                 Register (FFixedHW, 
22889                     0x08,               // Bit Width
22890                     0x08,               // Bit Offset
22891                     0x00000000C00102B0, // Address
22892                     0x04,               // Access Size
22893                     )
22894             }, 
22895 
22896             ResourceTemplate ()
22897             {
22898                 Register (FFixedHW, 
22899                     0x08,               // Bit Width
22900                     0x00,               // Bit Offset
22901                     0x00000000C00102B0, // Address
22902                     0x04,               // Access Size
22903                     )
22904             }, 
22905 
22906             ResourceTemplate ()
22907             {
22908                 Register (SystemMemory, 
22909                     0x00,               // Bit Width
22910                     0x00,               // Bit Offset
22911                     0x0000000000000000, // Address
22912                     ,)
22913             }, 
22914 
22915             ResourceTemplate ()
22916             {
22917                 Register (FFixedHW, 
22918                     0x08,               // Bit Width
22919                     0x10,               // Bit Offset
22920                     0x00000000C00102B3, // Address
22921                     0x04,               // Access Size
22922                     )
22923             }, 
22924 
22925             ResourceTemplate ()
22926             {
22927                 Register (FFixedHW, 
22928                     0x08,               // Bit Width
22929                     0x08,               // Bit Offset
22930                     0x00000000C00102B3, // Address
22931                     0x04,               // Access Size
22932                     )
22933             }, 
22934 
22935             ResourceTemplate ()
22936             {
22937                 Register (FFixedHW, 
22938                     0x08,               // Bit Width
22939                     0x00,               // Bit Offset
22940                     0x00000000C00102B3, // Address
22941                     0x04,               // Access Size
22942                     )
22943             }, 
22944 
22945             ResourceTemplate ()
22946             {
22947                 Register (SystemMemory, 
22948                     0x00,               // Bit Width
22949                     0x00,               // Bit Offset
22950                     0x0000000000000000, // Address
22951                     ,)
22952             }, 
22953 
22954             ResourceTemplate ()
22955             {
22956                 Register (SystemMemory, 
22957                     0x00,               // Bit Width
22958                     0x00,               // Bit Offset
22959                     0x0000000000000000, // Address
22960                     ,)
22961             }, 
22962 
22963             ResourceTemplate ()
22964             {
22965                 Register (SystemMemory, 
22966                     0x00,               // Bit Width
22967                     0x00,               // Bit Offset
22968                     0x0000000000000000, // Address
22969                     ,)
22970             }, 
22971 
22972             ResourceTemplate ()
22973             {
22974                 Register (FFixedHW, 
22975                     0x40,               // Bit Width
22976                     0x00,               // Bit Offset
22977                     0x00000000000000E7, // Address
22978                     0x04,               // Access Size
22979                     )
22980             }, 
22981 
22982             ResourceTemplate ()
22983             {
22984                 Register (FFixedHW, 
22985                     0x40,               // Bit Width
22986                     0x00,               // Bit Offset
22987                     0x00000000000000E8, // Address
22988                     0x04,               // Access Size
22989                     )
22990             }, 
22991 
22992             ResourceTemplate ()
22993             {
22994                 Register (FFixedHW, 
22995                     0x02,               // Bit Width
22996                     0x00,               // Bit Offset
22997                     0x00000000C00102B4, // Address
22998                     0x04,               // Access Size
22999                     )
23000             }, 
23001 
23002             ResourceTemplate ()
23003             {
23004                 Register (FFixedHW, 
23005                     0x01,               // Bit Width
23006                     0x00,               // Bit Offset
23007                     0x00000000C00102B1, // Address
23008                     0x04,               // Access Size
23009                     )
23010             }, 
23011 
23012             0x00000001, 
23013             ResourceTemplate ()
23014             {
23015                 Register (SystemMemory, 
23016                     0x00,               // Bit Width
23017                     0x00,               // Bit Offset
23018                     0x0000000000000000, // Address
23019                     ,)
23020             }, 
23021 
23022             ResourceTemplate ()
23023             {
23024                 Register (FFixedHW, 
23025                     0x08,               // Bit Width
23026                     0x18,               // Bit Offset
23027                     0x00000000C00102B3, // Address
23028                     0x04,               // Access Size
23029                     )
23030             }, 
23031 
23032             ResourceTemplate ()
23033             {
23034                 Register (SystemMemory, 
23035                     0x00,               // Bit Width
23036                     0x00,               // Bit Offset
23037                     0x0000000000000000, // Address
23038                     ,)
23039             }, 
23040 
23041             0x00000190, 
23042             0x00000A8D
23043         })
23044     }
23045 
23046     Scope (\_SB.PLTF.P004)
23047     {
23048         Name (_PCT, Package (0x02)  // _PCT: Performance Control
23049         {
23050             ResourceTemplate ()
23051             {
23052                 Register (FFixedHW, 
23053                     0x40,               // Bit Width
23054                     0x00,               // Bit Offset
23055                     0x00000000C0010062, // Address
23056                     ,)
23057             }, 
23058 
23059             ResourceTemplate ()
23060             {
23061                 Register (FFixedHW, 
23062                     0x40,               // Bit Width
23063                     0x00,               // Bit Offset
23064                     0x0000000000000000, // Address
23065                     ,)
23066             }
23067         })
23068         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
23069         {
23070             Package (0x06)
23071             {
23072                 0x00000A8C, 
23073                 0x00000CA8, 
23074                 0x00000000, 
23075                 0x00000000, 
23076                 0x00000000, 
23077                 0x00000000
23078             }, 
23079 
23080             Package (0x06)
23081             {
23082                 0x00000708, 
23083                 0x000007BC, 
23084                 0x00000000, 
23085                 0x00000000, 
23086                 0x00000001, 
23087                 0x00000001
23088             }, 
23089 
23090             Package (0x06)
23091             {
23092                 0x00000640, 
23093                 0x00000640, 
23094                 0x00000000, 
23095                 0x00000000, 
23096                 0x00000002, 
23097                 0x00000002
23098             }
23099         })
23100         Name (XPSS, Package (0x03)
23101         {
23102             Package (0x08)
23103             {
23104                 0x00000A8C, 
23105                 0x00000CA8, 
23106                 0x00000000, 
23107                 0x00000000, 
23108                 Buffer (0x08)
23109                 {
23110                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23111                 }, 
23112 
23113                 Buffer (0x08)
23114                 {
23115                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23116                 }, 
23117 
23118                 Buffer (0x08)
23119                 {
23120                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23121                 }, 
23122 
23123                 Buffer (0x08)
23124                 {
23125                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23126                 }
23127             }, 
23128 
23129             Package (0x08)
23130             {
23131                 0x00000708, 
23132                 0x000007BC, 
23133                 0x00000000, 
23134                 0x00000000, 
23135                 Buffer (0x08)
23136                 {
23137                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23138                 }, 
23139 
23140                 Buffer (0x08)
23141                 {
23142                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23143                 }, 
23144 
23145                 Buffer (0x08)
23146                 {
23147                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23148                 }, 
23149 
23150                 Buffer (0x08)
23151                 {
23152                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23153                 }
23154             }, 
23155 
23156             Package (0x08)
23157             {
23158                 0x00000640, 
23159                 0x00000640, 
23160                 0x00000000, 
23161                 0x00000000, 
23162                 Buffer (0x08)
23163                 {
23164                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23165                 }, 
23166 
23167                 Buffer (0x08)
23168                 {
23169                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23170                 }, 
23171 
23172                 Buffer (0x08)
23173                 {
23174                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23175                 }, 
23176 
23177                 Buffer (0x08)
23178                 {
23179                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23180                 }
23181             }
23182         })
23183         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
23184         {
23185             Package (0x05)
23186             {
23187                 0x05, 
23188                 0x00, 
23189                 0x00000002, 
23190                 0x000000FE, 
23191                 0x00000002
23192             }
23193         })
23194         Name (PPCV, 0x00)
23195         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
23196         {
23197             Return (PPCV) /* \_SB_.PLTF.P004.PPCV */
23198         }
23199 
23200         Name (_CST, Package (0x04)  // _CST: C-States
23201         {
23202             0x03, 
23203             Package (0x04)
23204             {
23205                 ResourceTemplate ()
23206                 {
23207                     Register (FFixedHW, 
23208                         0x02,               // Bit Width
23209                         0x02,               // Bit Offset
23210                         0x0000000000000000, // Address
23211                         ,)
23212                 }, 
23213 
23214                 0x01, 
23215                 0x0001, 
23216                 0x00000000
23217             }, 
23218 
23219             Package (0x04)
23220             {
23221                 ResourceTemplate ()
23222                 {
23223                     Register (SystemIO, 
23224                         0x08,               // Bit Width
23225                         0x00,               // Bit Offset
23226                         0x0000000000000414, // Address
23227                         0x01,               // Access Size
23228                         )
23229                 }, 
23230 
23231                 0x02, 
23232                 0x0012, 
23233                 0x00000000
23234             }, 
23235 
23236             Package (0x04)
23237             {
23238                 ResourceTemplate ()
23239                 {
23240                     Register (SystemIO, 
23241                         0x08,               // Bit Width
23242                         0x00,               // Bit Offset
23243                         0x0000000000000415, // Address
23244                         0x01,               // Access Size
23245                         )
23246                 }, 
23247 
23248                 0x03, 
23249                 0x015E, 
23250                 0x00000000
23251             }
23252         })
23253         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
23254         {
23255             Package (0x06)
23256             {
23257                 0x06, 
23258                 0x00, 
23259                 0x00000002, 
23260                 0x000000FE, 
23261                 0x00000002, 
23262                 0x00000000
23263             }
23264         })
23265         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
23266         {
23267             0x0000, 
23268             0x0000000000000000, 
23269             0x0003, 
23270             Package (0x0A)
23271             {
23272                 0x00000002, 
23273                 0x00000001, 
23274                 0x00000001, 
23275                 0x00000000, 
23276                 0x00000000, 
23277                 0x00000000, 
23278                 ResourceTemplate ()
23279                 {
23280                     Register (FFixedHW, 
23281                         0x02,               // Bit Width
23282                         0x02,               // Bit Offset
23283                         0x0000000000000000, // Address
23284                         ,)
23285                 }, 
23286 
23287                 ResourceTemplate ()
23288                 {
23289                     Register (SystemMemory, 
23290                         0x00,               // Bit Width
23291                         0x00,               // Bit Offset
23292                         0x0000000000000000, // Address
23293                         ,)
23294                 }, 
23295 
23296                 ResourceTemplate ()
23297                 {
23298                     Register (SystemMemory, 
23299                         0x00,               // Bit Width
23300                         0x00,               // Bit Offset
23301                         0x0000000000000000, // Address
23302                         ,)
23303                 }, 
23304 
23305                 "C1"
23306             }, 
23307 
23308             Package (0x0A)
23309             {
23310                 0x00000024, 
23311                 0x00000012, 
23312                 0x00000001, 
23313                 0x00000000, 
23314                 0x00000000, 
23315                 0x00000000, 
23316                 ResourceTemplate ()
23317                 {
23318                     Register (SystemIO, 
23319                         0x08,               // Bit Width
23320                         0x00,               // Bit Offset
23321                         0x0000000000000414, // Address
23322                         0x01,               // Access Size
23323                         )
23324                 }, 
23325 
23326                 ResourceTemplate ()
23327                 {
23328                     Register (SystemMemory, 
23329                         0x00,               // Bit Width
23330                         0x00,               // Bit Offset
23331                         0x0000000000000000, // Address
23332                         ,)
23333                 }, 
23334 
23335                 ResourceTemplate ()
23336                 {
23337                     Register (SystemMemory, 
23338                         0x00,               // Bit Width
23339                         0x00,               // Bit Offset
23340                         0x0000000000000000, // Address
23341                         ,)
23342                 }, 
23343 
23344                 "C2"
23345             }, 
23346 
23347             Package (0x0A)
23348             {
23349                 0x000002BC, 
23350                 0x0000015E, 
23351                 0x00000001, 
23352                 0x00000000, 
23353                 0x00000000, 
23354                 0x00000001, 
23355                 ResourceTemplate ()
23356                 {
23357                     Register (SystemIO, 
23358                         0x08,               // Bit Width
23359                         0x00,               // Bit Offset
23360                         0x0000000000000415, // Address
23361                         0x01,               // Access Size
23362                         )
23363                 }, 
23364 
23365                 ResourceTemplate ()
23366                 {
23367                     Register (SystemMemory, 
23368                         0x00,               // Bit Width
23369                         0x00,               // Bit Offset
23370                         0x0000000000000000, // Address
23371                         ,)
23372                 }, 
23373 
23374                 ResourceTemplate ()
23375                 {
23376                     Register (SystemMemory, 
23377                         0x00,               // Bit Width
23378                         0x00,               // Bit Offset
23379                         0x0000000000000000, // Address
23380                         ,)
23381                 }, 
23382 
23383                 "C3"
23384             }
23385         })
23386         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
23387         {
23388             0x17, 
23389             0x03, 
23390             ResourceTemplate ()
23391             {
23392                 Register (FFixedHW, 
23393                     0x08,               // Bit Width
23394                     0x18,               // Bit Offset
23395                     0x00000000C00102B0, // Address
23396                     0x04,               // Access Size
23397                     )
23398             }, 
23399 
23400             ResourceTemplate ()
23401             {
23402                 Register (FFixedHW, 
23403                     0x08,               // Bit Width
23404                     0x10,               // Bit Offset
23405                     0x00000000C00102B0, // Address
23406                     0x04,               // Access Size
23407                     )
23408             }, 
23409 
23410             ResourceTemplate ()
23411             {
23412                 Register (FFixedHW, 
23413                     0x08,               // Bit Width
23414                     0x08,               // Bit Offset
23415                     0x00000000C00102B0, // Address
23416                     0x04,               // Access Size
23417                     )
23418             }, 
23419 
23420             ResourceTemplate ()
23421             {
23422                 Register (FFixedHW, 
23423                     0x08,               // Bit Width
23424                     0x00,               // Bit Offset
23425                     0x00000000C00102B0, // Address
23426                     0x04,               // Access Size
23427                     )
23428             }, 
23429 
23430             ResourceTemplate ()
23431             {
23432                 Register (SystemMemory, 
23433                     0x00,               // Bit Width
23434                     0x00,               // Bit Offset
23435                     0x0000000000000000, // Address
23436                     ,)
23437             }, 
23438 
23439             ResourceTemplate ()
23440             {
23441                 Register (FFixedHW, 
23442                     0x08,               // Bit Width
23443                     0x10,               // Bit Offset
23444                     0x00000000C00102B3, // Address
23445                     0x04,               // Access Size
23446                     )
23447             }, 
23448 
23449             ResourceTemplate ()
23450             {
23451                 Register (FFixedHW, 
23452                     0x08,               // Bit Width
23453                     0x08,               // Bit Offset
23454                     0x00000000C00102B3, // Address
23455                     0x04,               // Access Size
23456                     )
23457             }, 
23458 
23459             ResourceTemplate ()
23460             {
23461                 Register (FFixedHW, 
23462                     0x08,               // Bit Width
23463                     0x00,               // Bit Offset
23464                     0x00000000C00102B3, // Address
23465                     0x04,               // Access Size
23466                     )
23467             }, 
23468 
23469             ResourceTemplate ()
23470             {
23471                 Register (SystemMemory, 
23472                     0x00,               // Bit Width
23473                     0x00,               // Bit Offset
23474                     0x0000000000000000, // Address
23475                     ,)
23476             }, 
23477 
23478             ResourceTemplate ()
23479             {
23480                 Register (SystemMemory, 
23481                     0x00,               // Bit Width
23482                     0x00,               // Bit Offset
23483                     0x0000000000000000, // Address
23484                     ,)
23485             }, 
23486 
23487             ResourceTemplate ()
23488             {
23489                 Register (SystemMemory, 
23490                     0x00,               // Bit Width
23491                     0x00,               // Bit Offset
23492                     0x0000000000000000, // Address
23493                     ,)
23494             }, 
23495 
23496             ResourceTemplate ()
23497             {
23498                 Register (FFixedHW, 
23499                     0x40,               // Bit Width
23500                     0x00,               // Bit Offset
23501                     0x00000000000000E7, // Address
23502                     0x04,               // Access Size
23503                     )
23504             }, 
23505 
23506             ResourceTemplate ()
23507             {
23508                 Register (FFixedHW, 
23509                     0x40,               // Bit Width
23510                     0x00,               // Bit Offset
23511                     0x00000000000000E8, // Address
23512                     0x04,               // Access Size
23513                     )
23514             }, 
23515 
23516             ResourceTemplate ()
23517             {
23518                 Register (FFixedHW, 
23519                     0x02,               // Bit Width
23520                     0x00,               // Bit Offset
23521                     0x00000000C00102B4, // Address
23522                     0x04,               // Access Size
23523                     )
23524             }, 
23525 
23526             ResourceTemplate ()
23527             {
23528                 Register (FFixedHW, 
23529                     0x01,               // Bit Width
23530                     0x00,               // Bit Offset
23531                     0x00000000C00102B1, // Address
23532                     0x04,               // Access Size
23533                     )
23534             }, 
23535 
23536             0x00000001, 
23537             ResourceTemplate ()
23538             {
23539                 Register (SystemMemory, 
23540                     0x00,               // Bit Width
23541                     0x00,               // Bit Offset
23542                     0x0000000000000000, // Address
23543                     ,)
23544             }, 
23545 
23546             ResourceTemplate ()
23547             {
23548                 Register (FFixedHW, 
23549                     0x08,               // Bit Width
23550                     0x18,               // Bit Offset
23551                     0x00000000C00102B3, // Address
23552                     0x04,               // Access Size
23553                     )
23554             }, 
23555 
23556             ResourceTemplate ()
23557             {
23558                 Register (SystemMemory, 
23559                     0x00,               // Bit Width
23560                     0x00,               // Bit Offset
23561                     0x0000000000000000, // Address
23562                     ,)
23563             }, 
23564 
23565             0x00000190, 
23566             0x00000A8D
23567         })
23568     }
23569 
23570     Scope (\_SB.PLTF.P005)
23571     {
23572         Name (_PCT, Package (0x02)  // _PCT: Performance Control
23573         {
23574             ResourceTemplate ()
23575             {
23576                 Register (FFixedHW, 
23577                     0x40,               // Bit Width
23578                     0x00,               // Bit Offset
23579                     0x00000000C0010062, // Address
23580                     ,)
23581             }, 
23582 
23583             ResourceTemplate ()
23584             {
23585                 Register (FFixedHW, 
23586                     0x40,               // Bit Width
23587                     0x00,               // Bit Offset
23588                     0x0000000000000000, // Address
23589                     ,)
23590             }
23591         })
23592         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
23593         {
23594             Package (0x06)
23595             {
23596                 0x00000A8C, 
23597                 0x00000CA8, 
23598                 0x00000000, 
23599                 0x00000000, 
23600                 0x00000000, 
23601                 0x00000000
23602             }, 
23603 
23604             Package (0x06)
23605             {
23606                 0x00000708, 
23607                 0x000007BC, 
23608                 0x00000000, 
23609                 0x00000000, 
23610                 0x00000001, 
23611                 0x00000001
23612             }, 
23613 
23614             Package (0x06)
23615             {
23616                 0x00000640, 
23617                 0x00000640, 
23618                 0x00000000, 
23619                 0x00000000, 
23620                 0x00000002, 
23621                 0x00000002
23622             }
23623         })
23624         Name (XPSS, Package (0x03)
23625         {
23626             Package (0x08)
23627             {
23628                 0x00000A8C, 
23629                 0x00000CA8, 
23630                 0x00000000, 
23631                 0x00000000, 
23632                 Buffer (0x08)
23633                 {
23634                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23635                 }, 
23636 
23637                 Buffer (0x08)
23638                 {
23639                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23640                 }, 
23641 
23642                 Buffer (0x08)
23643                 {
23644                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23645                 }, 
23646 
23647                 Buffer (0x08)
23648                 {
23649                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23650                 }
23651             }, 
23652 
23653             Package (0x08)
23654             {
23655                 0x00000708, 
23656                 0x000007BC, 
23657                 0x00000000, 
23658                 0x00000000, 
23659                 Buffer (0x08)
23660                 {
23661                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23662                 }, 
23663 
23664                 Buffer (0x08)
23665                 {
23666                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23667                 }, 
23668 
23669                 Buffer (0x08)
23670                 {
23671                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23672                 }, 
23673 
23674                 Buffer (0x08)
23675                 {
23676                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23677                 }
23678             }, 
23679 
23680             Package (0x08)
23681             {
23682                 0x00000640, 
23683                 0x00000640, 
23684                 0x00000000, 
23685                 0x00000000, 
23686                 Buffer (0x08)
23687                 {
23688                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23689                 }, 
23690 
23691                 Buffer (0x08)
23692                 {
23693                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23694                 }, 
23695 
23696                 Buffer (0x08)
23697                 {
23698                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23699                 }, 
23700 
23701                 Buffer (0x08)
23702                 {
23703                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
23704                 }
23705             }
23706         })
23707         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
23708         {
23709             Package (0x05)
23710             {
23711                 0x05, 
23712                 0x00, 
23713                 0x00000002, 
23714                 0x000000FE, 
23715                 0x00000002
23716             }
23717         })
23718         Name (PPCV, 0x00)
23719         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
23720         {
23721             Return (PPCV) /* \_SB_.PLTF.P005.PPCV */
23722         }
23723 
23724         Name (_CST, Package (0x04)  // _CST: C-States
23725         {
23726             0x03, 
23727             Package (0x04)
23728             {
23729                 ResourceTemplate ()
23730                 {
23731                     Register (FFixedHW, 
23732                         0x02,               // Bit Width
23733                         0x02,               // Bit Offset
23734                         0x0000000000000000, // Address
23735                         ,)
23736                 }, 
23737 
23738                 0x01, 
23739                 0x0001, 
23740                 0x00000000
23741             }, 
23742 
23743             Package (0x04)
23744             {
23745                 ResourceTemplate ()
23746                 {
23747                     Register (SystemIO, 
23748                         0x08,               // Bit Width
23749                         0x00,               // Bit Offset
23750                         0x0000000000000414, // Address
23751                         0x01,               // Access Size
23752                         )
23753                 }, 
23754 
23755                 0x02, 
23756                 0x0012, 
23757                 0x00000000
23758             }, 
23759 
23760             Package (0x04)
23761             {
23762                 ResourceTemplate ()
23763                 {
23764                     Register (SystemIO, 
23765                         0x08,               // Bit Width
23766                         0x00,               // Bit Offset
23767                         0x0000000000000415, // Address
23768                         0x01,               // Access Size
23769                         )
23770                 }, 
23771 
23772                 0x03, 
23773                 0x015E, 
23774                 0x00000000
23775             }
23776         })
23777         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
23778         {
23779             Package (0x06)
23780             {
23781                 0x06, 
23782                 0x00, 
23783                 0x00000002, 
23784                 0x000000FE, 
23785                 0x00000002, 
23786                 0x00000000
23787             }
23788         })
23789         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
23790         {
23791             0x0000, 
23792             0x0000000000000000, 
23793             0x0003, 
23794             Package (0x0A)
23795             {
23796                 0x00000002, 
23797                 0x00000001, 
23798                 0x00000001, 
23799                 0x00000000, 
23800                 0x00000000, 
23801                 0x00000000, 
23802                 ResourceTemplate ()
23803                 {
23804                     Register (FFixedHW, 
23805                         0x02,               // Bit Width
23806                         0x02,               // Bit Offset
23807                         0x0000000000000000, // Address
23808                         ,)
23809                 }, 
23810 
23811                 ResourceTemplate ()
23812                 {
23813                     Register (SystemMemory, 
23814                         0x00,               // Bit Width
23815                         0x00,               // Bit Offset
23816                         0x0000000000000000, // Address
23817                         ,)
23818                 }, 
23819 
23820                 ResourceTemplate ()
23821                 {
23822                     Register (SystemMemory, 
23823                         0x00,               // Bit Width
23824                         0x00,               // Bit Offset
23825                         0x0000000000000000, // Address
23826                         ,)
23827                 }, 
23828 
23829                 "C1"
23830             }, 
23831 
23832             Package (0x0A)
23833             {
23834                 0x00000024, 
23835                 0x00000012, 
23836                 0x00000001, 
23837                 0x00000000, 
23838                 0x00000000, 
23839                 0x00000000, 
23840                 ResourceTemplate ()
23841                 {
23842                     Register (SystemIO, 
23843                         0x08,               // Bit Width
23844                         0x00,               // Bit Offset
23845                         0x0000000000000414, // Address
23846                         0x01,               // Access Size
23847                         )
23848                 }, 
23849 
23850                 ResourceTemplate ()
23851                 {
23852                     Register (SystemMemory, 
23853                         0x00,               // Bit Width
23854                         0x00,               // Bit Offset
23855                         0x0000000000000000, // Address
23856                         ,)
23857                 }, 
23858 
23859                 ResourceTemplate ()
23860                 {
23861                     Register (SystemMemory, 
23862                         0x00,               // Bit Width
23863                         0x00,               // Bit Offset
23864                         0x0000000000000000, // Address
23865                         ,)
23866                 }, 
23867 
23868                 "C2"
23869             }, 
23870 
23871             Package (0x0A)
23872             {
23873                 0x000002BC, 
23874                 0x0000015E, 
23875                 0x00000001, 
23876                 0x00000000, 
23877                 0x00000000, 
23878                 0x00000001, 
23879                 ResourceTemplate ()
23880                 {
23881                     Register (SystemIO, 
23882                         0x08,               // Bit Width
23883                         0x00,               // Bit Offset
23884                         0x0000000000000415, // Address
23885                         0x01,               // Access Size
23886                         )
23887                 }, 
23888 
23889                 ResourceTemplate ()
23890                 {
23891                     Register (SystemMemory, 
23892                         0x00,               // Bit Width
23893                         0x00,               // Bit Offset
23894                         0x0000000000000000, // Address
23895                         ,)
23896                 }, 
23897 
23898                 ResourceTemplate ()
23899                 {
23900                     Register (SystemMemory, 
23901                         0x00,               // Bit Width
23902                         0x00,               // Bit Offset
23903                         0x0000000000000000, // Address
23904                         ,)
23905                 }, 
23906 
23907                 "C3"
23908             }
23909         })
23910         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
23911         {
23912             0x17, 
23913             0x03, 
23914             ResourceTemplate ()
23915             {
23916                 Register (FFixedHW, 
23917                     0x08,               // Bit Width
23918                     0x18,               // Bit Offset
23919                     0x00000000C00102B0, // Address
23920                     0x04,               // Access Size
23921                     )
23922             }, 
23923 
23924             ResourceTemplate ()
23925             {
23926                 Register (FFixedHW, 
23927                     0x08,               // Bit Width
23928                     0x10,               // Bit Offset
23929                     0x00000000C00102B0, // Address
23930                     0x04,               // Access Size
23931                     )
23932             }, 
23933 
23934             ResourceTemplate ()
23935             {
23936                 Register (FFixedHW, 
23937                     0x08,               // Bit Width
23938                     0x08,               // Bit Offset
23939                     0x00000000C00102B0, // Address
23940                     0x04,               // Access Size
23941                     )
23942             }, 
23943 
23944             ResourceTemplate ()
23945             {
23946                 Register (FFixedHW, 
23947                     0x08,               // Bit Width
23948                     0x00,               // Bit Offset
23949                     0x00000000C00102B0, // Address
23950                     0x04,               // Access Size
23951                     )
23952             }, 
23953 
23954             ResourceTemplate ()
23955             {
23956                 Register (SystemMemory, 
23957                     0x00,               // Bit Width
23958                     0x00,               // Bit Offset
23959                     0x0000000000000000, // Address
23960                     ,)
23961             }, 
23962 
23963             ResourceTemplate ()
23964             {
23965                 Register (FFixedHW, 
23966                     0x08,               // Bit Width
23967                     0x10,               // Bit Offset
23968                     0x00000000C00102B3, // Address
23969                     0x04,               // Access Size
23970                     )
23971             }, 
23972 
23973             ResourceTemplate ()
23974             {
23975                 Register (FFixedHW, 
23976                     0x08,               // Bit Width
23977                     0x08,               // Bit Offset
23978                     0x00000000C00102B3, // Address
23979                     0x04,               // Access Size
23980                     )
23981             }, 
23982 
23983             ResourceTemplate ()
23984             {
23985                 Register (FFixedHW, 
23986                     0x08,               // Bit Width
23987                     0x00,               // Bit Offset
23988                     0x00000000C00102B3, // Address
23989                     0x04,               // Access Size
23990                     )
23991             }, 
23992 
23993             ResourceTemplate ()
23994             {
23995                 Register (SystemMemory, 
23996                     0x00,               // Bit Width
23997                     0x00,               // Bit Offset
23998                     0x0000000000000000, // Address
23999                     ,)
24000             }, 
24001 
24002             ResourceTemplate ()
24003             {
24004                 Register (SystemMemory, 
24005                     0x00,               // Bit Width
24006                     0x00,               // Bit Offset
24007                     0x0000000000000000, // Address
24008                     ,)
24009             }, 
24010 
24011             ResourceTemplate ()
24012             {
24013                 Register (SystemMemory, 
24014                     0x00,               // Bit Width
24015                     0x00,               // Bit Offset
24016                     0x0000000000000000, // Address
24017                     ,)
24018             }, 
24019 
24020             ResourceTemplate ()
24021             {
24022                 Register (FFixedHW, 
24023                     0x40,               // Bit Width
24024                     0x00,               // Bit Offset
24025                     0x00000000000000E7, // Address
24026                     0x04,               // Access Size
24027                     )
24028             }, 
24029 
24030             ResourceTemplate ()
24031             {
24032                 Register (FFixedHW, 
24033                     0x40,               // Bit Width
24034                     0x00,               // Bit Offset
24035                     0x00000000000000E8, // Address
24036                     0x04,               // Access Size
24037                     )
24038             }, 
24039 
24040             ResourceTemplate ()
24041             {
24042                 Register (FFixedHW, 
24043                     0x02,               // Bit Width
24044                     0x00,               // Bit Offset
24045                     0x00000000C00102B4, // Address
24046                     0x04,               // Access Size
24047                     )
24048             }, 
24049 
24050             ResourceTemplate ()
24051             {
24052                 Register (FFixedHW, 
24053                     0x01,               // Bit Width
24054                     0x00,               // Bit Offset
24055                     0x00000000C00102B1, // Address
24056                     0x04,               // Access Size
24057                     )
24058             }, 
24059 
24060             0x00000001, 
24061             ResourceTemplate ()
24062             {
24063                 Register (SystemMemory, 
24064                     0x00,               // Bit Width
24065                     0x00,               // Bit Offset
24066                     0x0000000000000000, // Address
24067                     ,)
24068             }, 
24069 
24070             ResourceTemplate ()
24071             {
24072                 Register (FFixedHW, 
24073                     0x08,               // Bit Width
24074                     0x18,               // Bit Offset
24075                     0x00000000C00102B3, // Address
24076                     0x04,               // Access Size
24077                     )
24078             }, 
24079 
24080             ResourceTemplate ()
24081             {
24082                 Register (SystemMemory, 
24083                     0x00,               // Bit Width
24084                     0x00,               // Bit Offset
24085                     0x0000000000000000, // Address
24086                     ,)
24087             }, 
24088 
24089             0x00000190, 
24090             0x00000A8D
24091         })
24092     }
24093 
24094     Scope (\_SB.PLTF.P006)
24095     {
24096         Name (_PCT, Package (0x02)  // _PCT: Performance Control
24097         {
24098             ResourceTemplate ()
24099             {
24100                 Register (FFixedHW, 
24101                     0x40,               // Bit Width
24102                     0x00,               // Bit Offset
24103                     0x00000000C0010062, // Address
24104                     ,)
24105             }, 
24106 
24107             ResourceTemplate ()
24108             {
24109                 Register (FFixedHW, 
24110                     0x40,               // Bit Width
24111                     0x00,               // Bit Offset
24112                     0x0000000000000000, // Address
24113                     ,)
24114             }
24115         })
24116         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
24117         {
24118             Package (0x06)
24119             {
24120                 0x00000A8C, 
24121                 0x00000CA8, 
24122                 0x00000000, 
24123                 0x00000000, 
24124                 0x00000000, 
24125                 0x00000000
24126             }, 
24127 
24128             Package (0x06)
24129             {
24130                 0x00000708, 
24131                 0x000007BC, 
24132                 0x00000000, 
24133                 0x00000000, 
24134                 0x00000001, 
24135                 0x00000001
24136             }, 
24137 
24138             Package (0x06)
24139             {
24140                 0x00000640, 
24141                 0x00000640, 
24142                 0x00000000, 
24143                 0x00000000, 
24144                 0x00000002, 
24145                 0x00000002
24146             }
24147         })
24148         Name (XPSS, Package (0x03)
24149         {
24150             Package (0x08)
24151             {
24152                 0x00000A8C, 
24153                 0x00000CA8, 
24154                 0x00000000, 
24155                 0x00000000, 
24156                 Buffer (0x08)
24157                 {
24158                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24159                 }, 
24160 
24161                 Buffer (0x08)
24162                 {
24163                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24164                 }, 
24165 
24166                 Buffer (0x08)
24167                 {
24168                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24169                 }, 
24170 
24171                 Buffer (0x08)
24172                 {
24173                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24174                 }
24175             }, 
24176 
24177             Package (0x08)
24178             {
24179                 0x00000708, 
24180                 0x000007BC, 
24181                 0x00000000, 
24182                 0x00000000, 
24183                 Buffer (0x08)
24184                 {
24185                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24186                 }, 
24187 
24188                 Buffer (0x08)
24189                 {
24190                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24191                 }, 
24192 
24193                 Buffer (0x08)
24194                 {
24195                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24196                 }, 
24197 
24198                 Buffer (0x08)
24199                 {
24200                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24201                 }
24202             }, 
24203 
24204             Package (0x08)
24205             {
24206                 0x00000640, 
24207                 0x00000640, 
24208                 0x00000000, 
24209                 0x00000000, 
24210                 Buffer (0x08)
24211                 {
24212                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24213                 }, 
24214 
24215                 Buffer (0x08)
24216                 {
24217                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24218                 }, 
24219 
24220                 Buffer (0x08)
24221                 {
24222                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24223                 }, 
24224 
24225                 Buffer (0x08)
24226                 {
24227                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24228                 }
24229             }
24230         })
24231         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
24232         {
24233             Package (0x05)
24234             {
24235                 0x05, 
24236                 0x00, 
24237                 0x00000003, 
24238                 0x000000FE, 
24239                 0x00000002
24240             }
24241         })
24242         Name (PPCV, 0x00)
24243         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
24244         {
24245             Return (PPCV) /* \_SB_.PLTF.P006.PPCV */
24246         }
24247 
24248         Name (_CST, Package (0x04)  // _CST: C-States
24249         {
24250             0x03, 
24251             Package (0x04)
24252             {
24253                 ResourceTemplate ()
24254                 {
24255                     Register (FFixedHW, 
24256                         0x02,               // Bit Width
24257                         0x02,               // Bit Offset
24258                         0x0000000000000000, // Address
24259                         ,)
24260                 }, 
24261 
24262                 0x01, 
24263                 0x0001, 
24264                 0x00000000
24265             }, 
24266 
24267             Package (0x04)
24268             {
24269                 ResourceTemplate ()
24270                 {
24271                     Register (SystemIO, 
24272                         0x08,               // Bit Width
24273                         0x00,               // Bit Offset
24274                         0x0000000000000414, // Address
24275                         0x01,               // Access Size
24276                         )
24277                 }, 
24278 
24279                 0x02, 
24280                 0x0012, 
24281                 0x00000000
24282             }, 
24283 
24284             Package (0x04)
24285             {
24286                 ResourceTemplate ()
24287                 {
24288                     Register (SystemIO, 
24289                         0x08,               // Bit Width
24290                         0x00,               // Bit Offset
24291                         0x0000000000000415, // Address
24292                         0x01,               // Access Size
24293                         )
24294                 }, 
24295 
24296                 0x03, 
24297                 0x015E, 
24298                 0x00000000
24299             }
24300         })
24301         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
24302         {
24303             Package (0x06)
24304             {
24305                 0x06, 
24306                 0x00, 
24307                 0x00000003, 
24308                 0x000000FE, 
24309                 0x00000002, 
24310                 0x00000000
24311             }
24312         })
24313         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
24314         {
24315             0x0000, 
24316             0x0000000000000000, 
24317             0x0003, 
24318             Package (0x0A)
24319             {
24320                 0x00000002, 
24321                 0x00000001, 
24322                 0x00000001, 
24323                 0x00000000, 
24324                 0x00000000, 
24325                 0x00000000, 
24326                 ResourceTemplate ()
24327                 {
24328                     Register (FFixedHW, 
24329                         0x02,               // Bit Width
24330                         0x02,               // Bit Offset
24331                         0x0000000000000000, // Address
24332                         ,)
24333                 }, 
24334 
24335                 ResourceTemplate ()
24336                 {
24337                     Register (SystemMemory, 
24338                         0x00,               // Bit Width
24339                         0x00,               // Bit Offset
24340                         0x0000000000000000, // Address
24341                         ,)
24342                 }, 
24343 
24344                 ResourceTemplate ()
24345                 {
24346                     Register (SystemMemory, 
24347                         0x00,               // Bit Width
24348                         0x00,               // Bit Offset
24349                         0x0000000000000000, // Address
24350                         ,)
24351                 }, 
24352 
24353                 "C1"
24354             }, 
24355 
24356             Package (0x0A)
24357             {
24358                 0x00000024, 
24359                 0x00000012, 
24360                 0x00000001, 
24361                 0x00000000, 
24362                 0x00000000, 
24363                 0x00000000, 
24364                 ResourceTemplate ()
24365                 {
24366                     Register (SystemIO, 
24367                         0x08,               // Bit Width
24368                         0x00,               // Bit Offset
24369                         0x0000000000000414, // Address
24370                         0x01,               // Access Size
24371                         )
24372                 }, 
24373 
24374                 ResourceTemplate ()
24375                 {
24376                     Register (SystemMemory, 
24377                         0x00,               // Bit Width
24378                         0x00,               // Bit Offset
24379                         0x0000000000000000, // Address
24380                         ,)
24381                 }, 
24382 
24383                 ResourceTemplate ()
24384                 {
24385                     Register (SystemMemory, 
24386                         0x00,               // Bit Width
24387                         0x00,               // Bit Offset
24388                         0x0000000000000000, // Address
24389                         ,)
24390                 }, 
24391 
24392                 "C2"
24393             }, 
24394 
24395             Package (0x0A)
24396             {
24397                 0x000002BC, 
24398                 0x0000015E, 
24399                 0x00000001, 
24400                 0x00000000, 
24401                 0x00000000, 
24402                 0x00000001, 
24403                 ResourceTemplate ()
24404                 {
24405                     Register (SystemIO, 
24406                         0x08,               // Bit Width
24407                         0x00,               // Bit Offset
24408                         0x0000000000000415, // Address
24409                         0x01,               // Access Size
24410                         )
24411                 }, 
24412 
24413                 ResourceTemplate ()
24414                 {
24415                     Register (SystemMemory, 
24416                         0x00,               // Bit Width
24417                         0x00,               // Bit Offset
24418                         0x0000000000000000, // Address
24419                         ,)
24420                 }, 
24421 
24422                 ResourceTemplate ()
24423                 {
24424                     Register (SystemMemory, 
24425                         0x00,               // Bit Width
24426                         0x00,               // Bit Offset
24427                         0x0000000000000000, // Address
24428                         ,)
24429                 }, 
24430 
24431                 "C3"
24432             }
24433         })
24434         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
24435         {
24436             0x17, 
24437             0x03, 
24438             ResourceTemplate ()
24439             {
24440                 Register (FFixedHW, 
24441                     0x08,               // Bit Width
24442                     0x18,               // Bit Offset
24443                     0x00000000C00102B0, // Address
24444                     0x04,               // Access Size
24445                     )
24446             }, 
24447 
24448             ResourceTemplate ()
24449             {
24450                 Register (FFixedHW, 
24451                     0x08,               // Bit Width
24452                     0x10,               // Bit Offset
24453                     0x00000000C00102B0, // Address
24454                     0x04,               // Access Size
24455                     )
24456             }, 
24457 
24458             ResourceTemplate ()
24459             {
24460                 Register (FFixedHW, 
24461                     0x08,               // Bit Width
24462                     0x08,               // Bit Offset
24463                     0x00000000C00102B0, // Address
24464                     0x04,               // Access Size
24465                     )
24466             }, 
24467 
24468             ResourceTemplate ()
24469             {
24470                 Register (FFixedHW, 
24471                     0x08,               // Bit Width
24472                     0x00,               // Bit Offset
24473                     0x00000000C00102B0, // Address
24474                     0x04,               // Access Size
24475                     )
24476             }, 
24477 
24478             ResourceTemplate ()
24479             {
24480                 Register (SystemMemory, 
24481                     0x00,               // Bit Width
24482                     0x00,               // Bit Offset
24483                     0x0000000000000000, // Address
24484                     ,)
24485             }, 
24486 
24487             ResourceTemplate ()
24488             {
24489                 Register (FFixedHW, 
24490                     0x08,               // Bit Width
24491                     0x10,               // Bit Offset
24492                     0x00000000C00102B3, // Address
24493                     0x04,               // Access Size
24494                     )
24495             }, 
24496 
24497             ResourceTemplate ()
24498             {
24499                 Register (FFixedHW, 
24500                     0x08,               // Bit Width
24501                     0x08,               // Bit Offset
24502                     0x00000000C00102B3, // Address
24503                     0x04,               // Access Size
24504                     )
24505             }, 
24506 
24507             ResourceTemplate ()
24508             {
24509                 Register (FFixedHW, 
24510                     0x08,               // Bit Width
24511                     0x00,               // Bit Offset
24512                     0x00000000C00102B3, // Address
24513                     0x04,               // Access Size
24514                     )
24515             }, 
24516 
24517             ResourceTemplate ()
24518             {
24519                 Register (SystemMemory, 
24520                     0x00,               // Bit Width
24521                     0x00,               // Bit Offset
24522                     0x0000000000000000, // Address
24523                     ,)
24524             }, 
24525 
24526             ResourceTemplate ()
24527             {
24528                 Register (SystemMemory, 
24529                     0x00,               // Bit Width
24530                     0x00,               // Bit Offset
24531                     0x0000000000000000, // Address
24532                     ,)
24533             }, 
24534 
24535             ResourceTemplate ()
24536             {
24537                 Register (SystemMemory, 
24538                     0x00,               // Bit Width
24539                     0x00,               // Bit Offset
24540                     0x0000000000000000, // Address
24541                     ,)
24542             }, 
24543 
24544             ResourceTemplate ()
24545             {
24546                 Register (FFixedHW, 
24547                     0x40,               // Bit Width
24548                     0x00,               // Bit Offset
24549                     0x00000000000000E7, // Address
24550                     0x04,               // Access Size
24551                     )
24552             }, 
24553 
24554             ResourceTemplate ()
24555             {
24556                 Register (FFixedHW, 
24557                     0x40,               // Bit Width
24558                     0x00,               // Bit Offset
24559                     0x00000000000000E8, // Address
24560                     0x04,               // Access Size
24561                     )
24562             }, 
24563 
24564             ResourceTemplate ()
24565             {
24566                 Register (FFixedHW, 
24567                     0x02,               // Bit Width
24568                     0x00,               // Bit Offset
24569                     0x00000000C00102B4, // Address
24570                     0x04,               // Access Size
24571                     )
24572             }, 
24573 
24574             ResourceTemplate ()
24575             {
24576                 Register (FFixedHW, 
24577                     0x01,               // Bit Width
24578                     0x00,               // Bit Offset
24579                     0x00000000C00102B1, // Address
24580                     0x04,               // Access Size
24581                     )
24582             }, 
24583 
24584             0x00000001, 
24585             ResourceTemplate ()
24586             {
24587                 Register (SystemMemory, 
24588                     0x00,               // Bit Width
24589                     0x00,               // Bit Offset
24590                     0x0000000000000000, // Address
24591                     ,)
24592             }, 
24593 
24594             ResourceTemplate ()
24595             {
24596                 Register (FFixedHW, 
24597                     0x08,               // Bit Width
24598                     0x18,               // Bit Offset
24599                     0x00000000C00102B3, // Address
24600                     0x04,               // Access Size
24601                     )
24602             }, 
24603 
24604             ResourceTemplate ()
24605             {
24606                 Register (SystemMemory, 
24607                     0x00,               // Bit Width
24608                     0x00,               // Bit Offset
24609                     0x0000000000000000, // Address
24610                     ,)
24611             }, 
24612 
24613             0x00000190, 
24614             0x00000A8D
24615         })
24616     }
24617 
24618     Scope (\_SB.PLTF.P007)
24619     {
24620         Name (_PCT, Package (0x02)  // _PCT: Performance Control
24621         {
24622             ResourceTemplate ()
24623             {
24624                 Register (FFixedHW, 
24625                     0x40,               // Bit Width
24626                     0x00,               // Bit Offset
24627                     0x00000000C0010062, // Address
24628                     ,)
24629             }, 
24630 
24631             ResourceTemplate ()
24632             {
24633                 Register (FFixedHW, 
24634                     0x40,               // Bit Width
24635                     0x00,               // Bit Offset
24636                     0x0000000000000000, // Address
24637                     ,)
24638             }
24639         })
24640         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
24641         {
24642             Package (0x06)
24643             {
24644                 0x00000A8C, 
24645                 0x00000CA8, 
24646                 0x00000000, 
24647                 0x00000000, 
24648                 0x00000000, 
24649                 0x00000000
24650             }, 
24651 
24652             Package (0x06)
24653             {
24654                 0x00000708, 
24655                 0x000007BC, 
24656                 0x00000000, 
24657                 0x00000000, 
24658                 0x00000001, 
24659                 0x00000001
24660             }, 
24661 
24662             Package (0x06)
24663             {
24664                 0x00000640, 
24665                 0x00000640, 
24666                 0x00000000, 
24667                 0x00000000, 
24668                 0x00000002, 
24669                 0x00000002
24670             }
24671         })
24672         Name (XPSS, Package (0x03)
24673         {
24674             Package (0x08)
24675             {
24676                 0x00000A8C, 
24677                 0x00000CA8, 
24678                 0x00000000, 
24679                 0x00000000, 
24680                 Buffer (0x08)
24681                 {
24682                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24683                 }, 
24684 
24685                 Buffer (0x08)
24686                 {
24687                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24688                 }, 
24689 
24690                 Buffer (0x08)
24691                 {
24692                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24693                 }, 
24694 
24695                 Buffer (0x08)
24696                 {
24697                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24698                 }
24699             }, 
24700 
24701             Package (0x08)
24702             {
24703                 0x00000708, 
24704                 0x000007BC, 
24705                 0x00000000, 
24706                 0x00000000, 
24707                 Buffer (0x08)
24708                 {
24709                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24710                 }, 
24711 
24712                 Buffer (0x08)
24713                 {
24714                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24715                 }, 
24716 
24717                 Buffer (0x08)
24718                 {
24719                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24720                 }, 
24721 
24722                 Buffer (0x08)
24723                 {
24724                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24725                 }
24726             }, 
24727 
24728             Package (0x08)
24729             {
24730                 0x00000640, 
24731                 0x00000640, 
24732                 0x00000000, 
24733                 0x00000000, 
24734                 Buffer (0x08)
24735                 {
24736                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24737                 }, 
24738 
24739                 Buffer (0x08)
24740                 {
24741                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24742                 }, 
24743 
24744                 Buffer (0x08)
24745                 {
24746                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24747                 }, 
24748 
24749                 Buffer (0x08)
24750                 {
24751                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
24752                 }
24753             }
24754         })
24755         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
24756         {
24757             Package (0x05)
24758             {
24759                 0x05, 
24760                 0x00, 
24761                 0x00000003, 
24762                 0x000000FE, 
24763                 0x00000002
24764             }
24765         })
24766         Name (PPCV, 0x00)
24767         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
24768         {
24769             Return (PPCV) /* \_SB_.PLTF.P007.PPCV */
24770         }
24771 
24772         Name (_CST, Package (0x04)  // _CST: C-States
24773         {
24774             0x03, 
24775             Package (0x04)
24776             {
24777                 ResourceTemplate ()
24778                 {
24779                     Register (FFixedHW, 
24780                         0x02,               // Bit Width
24781                         0x02,               // Bit Offset
24782                         0x0000000000000000, // Address
24783                         ,)
24784                 }, 
24785 
24786                 0x01, 
24787                 0x0001, 
24788                 0x00000000
24789             }, 
24790 
24791             Package (0x04)
24792             {
24793                 ResourceTemplate ()
24794                 {
24795                     Register (SystemIO, 
24796                         0x08,               // Bit Width
24797                         0x00,               // Bit Offset
24798                         0x0000000000000414, // Address
24799                         0x01,               // Access Size
24800                         )
24801                 }, 
24802 
24803                 0x02, 
24804                 0x0012, 
24805                 0x00000000
24806             }, 
24807 
24808             Package (0x04)
24809             {
24810                 ResourceTemplate ()
24811                 {
24812                     Register (SystemIO, 
24813                         0x08,               // Bit Width
24814                         0x00,               // Bit Offset
24815                         0x0000000000000415, // Address
24816                         0x01,               // Access Size
24817                         )
24818                 }, 
24819 
24820                 0x03, 
24821                 0x015E, 
24822                 0x00000000
24823             }
24824         })
24825         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
24826         {
24827             Package (0x06)
24828             {
24829                 0x06, 
24830                 0x00, 
24831                 0x00000003, 
24832                 0x000000FE, 
24833                 0x00000002, 
24834                 0x00000000
24835             }
24836         })
24837         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
24838         {
24839             0x0000, 
24840             0x0000000000000000, 
24841             0x0003, 
24842             Package (0x0A)
24843             {
24844                 0x00000002, 
24845                 0x00000001, 
24846                 0x00000001, 
24847                 0x00000000, 
24848                 0x00000000, 
24849                 0x00000000, 
24850                 ResourceTemplate ()
24851                 {
24852                     Register (FFixedHW, 
24853                         0x02,               // Bit Width
24854                         0x02,               // Bit Offset
24855                         0x0000000000000000, // Address
24856                         ,)
24857                 }, 
24858 
24859                 ResourceTemplate ()
24860                 {
24861                     Register (SystemMemory, 
24862                         0x00,               // Bit Width
24863                         0x00,               // Bit Offset
24864                         0x0000000000000000, // Address
24865                         ,)
24866                 }, 
24867 
24868                 ResourceTemplate ()
24869                 {
24870                     Register (SystemMemory, 
24871                         0x00,               // Bit Width
24872                         0x00,               // Bit Offset
24873                         0x0000000000000000, // Address
24874                         ,)
24875                 }, 
24876 
24877                 "C1"
24878             }, 
24879 
24880             Package (0x0A)
24881             {
24882                 0x00000024, 
24883                 0x00000012, 
24884                 0x00000001, 
24885                 0x00000000, 
24886                 0x00000000, 
24887                 0x00000000, 
24888                 ResourceTemplate ()
24889                 {
24890                     Register (SystemIO, 
24891                         0x08,               // Bit Width
24892                         0x00,               // Bit Offset
24893                         0x0000000000000414, // Address
24894                         0x01,               // Access Size
24895                         )
24896                 }, 
24897 
24898                 ResourceTemplate ()
24899                 {
24900                     Register (SystemMemory, 
24901                         0x00,               // Bit Width
24902                         0x00,               // Bit Offset
24903                         0x0000000000000000, // Address
24904                         ,)
24905                 }, 
24906 
24907                 ResourceTemplate ()
24908                 {
24909                     Register (SystemMemory, 
24910                         0x00,               // Bit Width
24911                         0x00,               // Bit Offset
24912                         0x0000000000000000, // Address
24913                         ,)
24914                 }, 
24915 
24916                 "C2"
24917             }, 
24918 
24919             Package (0x0A)
24920             {
24921                 0x000002BC, 
24922                 0x0000015E, 
24923                 0x00000001, 
24924                 0x00000000, 
24925                 0x00000000, 
24926                 0x00000001, 
24927                 ResourceTemplate ()
24928                 {
24929                     Register (SystemIO, 
24930                         0x08,               // Bit Width
24931                         0x00,               // Bit Offset
24932                         0x0000000000000415, // Address
24933                         0x01,               // Access Size
24934                         )
24935                 }, 
24936 
24937                 ResourceTemplate ()
24938                 {
24939                     Register (SystemMemory, 
24940                         0x00,               // Bit Width
24941                         0x00,               // Bit Offset
24942                         0x0000000000000000, // Address
24943                         ,)
24944                 }, 
24945 
24946                 ResourceTemplate ()
24947                 {
24948                     Register (SystemMemory, 
24949                         0x00,               // Bit Width
24950                         0x00,               // Bit Offset
24951                         0x0000000000000000, // Address
24952                         ,)
24953                 }, 
24954 
24955                 "C3"
24956             }
24957         })
24958         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
24959         {
24960             0x17, 
24961             0x03, 
24962             ResourceTemplate ()
24963             {
24964                 Register (FFixedHW, 
24965                     0x08,               // Bit Width
24966                     0x18,               // Bit Offset
24967                     0x00000000C00102B0, // Address
24968                     0x04,               // Access Size
24969                     )
24970             }, 
24971 
24972             ResourceTemplate ()
24973             {
24974                 Register (FFixedHW, 
24975                     0x08,               // Bit Width
24976                     0x10,               // Bit Offset
24977                     0x00000000C00102B0, // Address
24978                     0x04,               // Access Size
24979                     )
24980             }, 
24981 
24982             ResourceTemplate ()
24983             {
24984                 Register (FFixedHW, 
24985                     0x08,               // Bit Width
24986                     0x08,               // Bit Offset
24987                     0x00000000C00102B0, // Address
24988                     0x04,               // Access Size
24989                     )
24990             }, 
24991 
24992             ResourceTemplate ()
24993             {
24994                 Register (FFixedHW, 
24995                     0x08,               // Bit Width
24996                     0x00,               // Bit Offset
24997                     0x00000000C00102B0, // Address
24998                     0x04,               // Access Size
24999                     )
25000             }, 
25001 
25002             ResourceTemplate ()
25003             {
25004                 Register (SystemMemory, 
25005                     0x00,               // Bit Width
25006                     0x00,               // Bit Offset
25007                     0x0000000000000000, // Address
25008                     ,)
25009             }, 
25010 
25011             ResourceTemplate ()
25012             {
25013                 Register (FFixedHW, 
25014                     0x08,               // Bit Width
25015                     0x10,               // Bit Offset
25016                     0x00000000C00102B3, // Address
25017                     0x04,               // Access Size
25018                     )
25019             }, 
25020 
25021             ResourceTemplate ()
25022             {
25023                 Register (FFixedHW, 
25024                     0x08,               // Bit Width
25025                     0x08,               // Bit Offset
25026                     0x00000000C00102B3, // Address
25027                     0x04,               // Access Size
25028                     )
25029             }, 
25030 
25031             ResourceTemplate ()
25032             {
25033                 Register (FFixedHW, 
25034                     0x08,               // Bit Width
25035                     0x00,               // Bit Offset
25036                     0x00000000C00102B3, // Address
25037                     0x04,               // Access Size
25038                     )
25039             }, 
25040 
25041             ResourceTemplate ()
25042             {
25043                 Register (SystemMemory, 
25044                     0x00,               // Bit Width
25045                     0x00,               // Bit Offset
25046                     0x0000000000000000, // Address
25047                     ,)
25048             }, 
25049 
25050             ResourceTemplate ()
25051             {
25052                 Register (SystemMemory, 
25053                     0x00,               // Bit Width
25054                     0x00,               // Bit Offset
25055                     0x0000000000000000, // Address
25056                     ,)
25057             }, 
25058 
25059             ResourceTemplate ()
25060             {
25061                 Register (SystemMemory, 
25062                     0x00,               // Bit Width
25063                     0x00,               // Bit Offset
25064                     0x0000000000000000, // Address
25065                     ,)
25066             }, 
25067 
25068             ResourceTemplate ()
25069             {
25070                 Register (FFixedHW, 
25071                     0x40,               // Bit Width
25072                     0x00,               // Bit Offset
25073                     0x00000000000000E7, // Address
25074                     0x04,               // Access Size
25075                     )
25076             }, 
25077 
25078             ResourceTemplate ()
25079             {
25080                 Register (FFixedHW, 
25081                     0x40,               // Bit Width
25082                     0x00,               // Bit Offset
25083                     0x00000000000000E8, // Address
25084                     0x04,               // Access Size
25085                     )
25086             }, 
25087 
25088             ResourceTemplate ()
25089             {
25090                 Register (FFixedHW, 
25091                     0x02,               // Bit Width
25092                     0x00,               // Bit Offset
25093                     0x00000000C00102B4, // Address
25094                     0x04,               // Access Size
25095                     )
25096             }, 
25097 
25098             ResourceTemplate ()
25099             {
25100                 Register (FFixedHW, 
25101                     0x01,               // Bit Width
25102                     0x00,               // Bit Offset
25103                     0x00000000C00102B1, // Address
25104                     0x04,               // Access Size
25105                     )
25106             }, 
25107 
25108             0x00000001, 
25109             ResourceTemplate ()
25110             {
25111                 Register (SystemMemory, 
25112                     0x00,               // Bit Width
25113                     0x00,               // Bit Offset
25114                     0x0000000000000000, // Address
25115                     ,)
25116             }, 
25117 
25118             ResourceTemplate ()
25119             {
25120                 Register (FFixedHW, 
25121                     0x08,               // Bit Width
25122                     0x18,               // Bit Offset
25123                     0x00000000C00102B3, // Address
25124                     0x04,               // Access Size
25125                     )
25126             }, 
25127 
25128             ResourceTemplate ()
25129             {
25130                 Register (SystemMemory, 
25131                     0x00,               // Bit Width
25132                     0x00,               // Bit Offset
25133                     0x0000000000000000, // Address
25134                     ,)
25135             }, 
25136 
25137             0x00000190, 
25138             0x00000A8D
25139         })
25140     }
25141 
25142     Scope (\_SB.PLTF.P008)
25143     {
25144         Name (_PCT, Package (0x02)  // _PCT: Performance Control
25145         {
25146             ResourceTemplate ()
25147             {
25148                 Register (FFixedHW, 
25149                     0x40,               // Bit Width
25150                     0x00,               // Bit Offset
25151                     0x00000000C0010062, // Address
25152                     ,)
25153             }, 
25154 
25155             ResourceTemplate ()
25156             {
25157                 Register (FFixedHW, 
25158                     0x40,               // Bit Width
25159                     0x00,               // Bit Offset
25160                     0x0000000000000000, // Address
25161                     ,)
25162             }
25163         })
25164         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
25165         {
25166             Package (0x06)
25167             {
25168                 0x00000A8C, 
25169                 0x00000CA8, 
25170                 0x00000000, 
25171                 0x00000000, 
25172                 0x00000000, 
25173                 0x00000000
25174             }, 
25175 
25176             Package (0x06)
25177             {
25178                 0x00000708, 
25179                 0x000007BC, 
25180                 0x00000000, 
25181                 0x00000000, 
25182                 0x00000001, 
25183                 0x00000001
25184             }, 
25185 
25186             Package (0x06)
25187             {
25188                 0x00000640, 
25189                 0x00000640, 
25190                 0x00000000, 
25191                 0x00000000, 
25192                 0x00000002, 
25193                 0x00000002
25194             }
25195         })
25196         Name (XPSS, Package (0x03)
25197         {
25198             Package (0x08)
25199             {
25200                 0x00000A8C, 
25201                 0x00000CA8, 
25202                 0x00000000, 
25203                 0x00000000, 
25204                 Buffer (0x08)
25205                 {
25206                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25207                 }, 
25208 
25209                 Buffer (0x08)
25210                 {
25211                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25212                 }, 
25213 
25214                 Buffer (0x08)
25215                 {
25216                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25217                 }, 
25218 
25219                 Buffer (0x08)
25220                 {
25221                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25222                 }
25223             }, 
25224 
25225             Package (0x08)
25226             {
25227                 0x00000708, 
25228                 0x000007BC, 
25229                 0x00000000, 
25230                 0x00000000, 
25231                 Buffer (0x08)
25232                 {
25233                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25234                 }, 
25235 
25236                 Buffer (0x08)
25237                 {
25238                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25239                 }, 
25240 
25241                 Buffer (0x08)
25242                 {
25243                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25244                 }, 
25245 
25246                 Buffer (0x08)
25247                 {
25248                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25249                 }
25250             }, 
25251 
25252             Package (0x08)
25253             {
25254                 0x00000640, 
25255                 0x00000640, 
25256                 0x00000000, 
25257                 0x00000000, 
25258                 Buffer (0x08)
25259                 {
25260                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25261                 }, 
25262 
25263                 Buffer (0x08)
25264                 {
25265                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25266                 }, 
25267 
25268                 Buffer (0x08)
25269                 {
25270                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25271                 }, 
25272 
25273                 Buffer (0x08)
25274                 {
25275                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25276                 }
25277             }
25278         })
25279         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
25280         {
25281             Package (0x05)
25282             {
25283                 0x05, 
25284                 0x00, 
25285                 0x00000004, 
25286                 0x000000FE, 
25287                 0x00000002
25288             }
25289         })
25290         Name (PPCV, 0x00)
25291         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
25292         {
25293             Return (PPCV) /* \_SB_.PLTF.P008.PPCV */
25294         }
25295 
25296         Name (_CST, Package (0x04)  // _CST: C-States
25297         {
25298             0x03, 
25299             Package (0x04)
25300             {
25301                 ResourceTemplate ()
25302                 {
25303                     Register (FFixedHW, 
25304                         0x02,               // Bit Width
25305                         0x02,               // Bit Offset
25306                         0x0000000000000000, // Address
25307                         ,)
25308                 }, 
25309 
25310                 0x01, 
25311                 0x0001, 
25312                 0x00000000
25313             }, 
25314 
25315             Package (0x04)
25316             {
25317                 ResourceTemplate ()
25318                 {
25319                     Register (SystemIO, 
25320                         0x08,               // Bit Width
25321                         0x00,               // Bit Offset
25322                         0x0000000000000414, // Address
25323                         0x01,               // Access Size
25324                         )
25325                 }, 
25326 
25327                 0x02, 
25328                 0x0012, 
25329                 0x00000000
25330             }, 
25331 
25332             Package (0x04)
25333             {
25334                 ResourceTemplate ()
25335                 {
25336                     Register (SystemIO, 
25337                         0x08,               // Bit Width
25338                         0x00,               // Bit Offset
25339                         0x0000000000000415, // Address
25340                         0x01,               // Access Size
25341                         )
25342                 }, 
25343 
25344                 0x03, 
25345                 0x015E, 
25346                 0x00000000
25347             }
25348         })
25349         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
25350         {
25351             Package (0x06)
25352             {
25353                 0x06, 
25354                 0x00, 
25355                 0x00000004, 
25356                 0x000000FE, 
25357                 0x00000002, 
25358                 0x00000000
25359             }
25360         })
25361         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
25362         {
25363             0x0000, 
25364             0x0000000000000000, 
25365             0x0003, 
25366             Package (0x0A)
25367             {
25368                 0x00000002, 
25369                 0x00000001, 
25370                 0x00000001, 
25371                 0x00000000, 
25372                 0x00000000, 
25373                 0x00000000, 
25374                 ResourceTemplate ()
25375                 {
25376                     Register (FFixedHW, 
25377                         0x02,               // Bit Width
25378                         0x02,               // Bit Offset
25379                         0x0000000000000000, // Address
25380                         ,)
25381                 }, 
25382 
25383                 ResourceTemplate ()
25384                 {
25385                     Register (SystemMemory, 
25386                         0x00,               // Bit Width
25387                         0x00,               // Bit Offset
25388                         0x0000000000000000, // Address
25389                         ,)
25390                 }, 
25391 
25392                 ResourceTemplate ()
25393                 {
25394                     Register (SystemMemory, 
25395                         0x00,               // Bit Width
25396                         0x00,               // Bit Offset
25397                         0x0000000000000000, // Address
25398                         ,)
25399                 }, 
25400 
25401                 "C1"
25402             }, 
25403 
25404             Package (0x0A)
25405             {
25406                 0x00000024, 
25407                 0x00000012, 
25408                 0x00000001, 
25409                 0x00000000, 
25410                 0x00000000, 
25411                 0x00000000, 
25412                 ResourceTemplate ()
25413                 {
25414                     Register (SystemIO, 
25415                         0x08,               // Bit Width
25416                         0x00,               // Bit Offset
25417                         0x0000000000000414, // Address
25418                         0x01,               // Access Size
25419                         )
25420                 }, 
25421 
25422                 ResourceTemplate ()
25423                 {
25424                     Register (SystemMemory, 
25425                         0x00,               // Bit Width
25426                         0x00,               // Bit Offset
25427                         0x0000000000000000, // Address
25428                         ,)
25429                 }, 
25430 
25431                 ResourceTemplate ()
25432                 {
25433                     Register (SystemMemory, 
25434                         0x00,               // Bit Width
25435                         0x00,               // Bit Offset
25436                         0x0000000000000000, // Address
25437                         ,)
25438                 }, 
25439 
25440                 "C2"
25441             }, 
25442 
25443             Package (0x0A)
25444             {
25445                 0x000002BC, 
25446                 0x0000015E, 
25447                 0x00000001, 
25448                 0x00000000, 
25449                 0x00000000, 
25450                 0x00000001, 
25451                 ResourceTemplate ()
25452                 {
25453                     Register (SystemIO, 
25454                         0x08,               // Bit Width
25455                         0x00,               // Bit Offset
25456                         0x0000000000000415, // Address
25457                         0x01,               // Access Size
25458                         )
25459                 }, 
25460 
25461                 ResourceTemplate ()
25462                 {
25463                     Register (SystemMemory, 
25464                         0x00,               // Bit Width
25465                         0x00,               // Bit Offset
25466                         0x0000000000000000, // Address
25467                         ,)
25468                 }, 
25469 
25470                 ResourceTemplate ()
25471                 {
25472                     Register (SystemMemory, 
25473                         0x00,               // Bit Width
25474                         0x00,               // Bit Offset
25475                         0x0000000000000000, // Address
25476                         ,)
25477                 }, 
25478 
25479                 "C3"
25480             }
25481         })
25482         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
25483         {
25484             0x17, 
25485             0x03, 
25486             ResourceTemplate ()
25487             {
25488                 Register (FFixedHW, 
25489                     0x08,               // Bit Width
25490                     0x18,               // Bit Offset
25491                     0x00000000C00102B0, // Address
25492                     0x04,               // Access Size
25493                     )
25494             }, 
25495 
25496             ResourceTemplate ()
25497             {
25498                 Register (FFixedHW, 
25499                     0x08,               // Bit Width
25500                     0x10,               // Bit Offset
25501                     0x00000000C00102B0, // Address
25502                     0x04,               // Access Size
25503                     )
25504             }, 
25505 
25506             ResourceTemplate ()
25507             {
25508                 Register (FFixedHW, 
25509                     0x08,               // Bit Width
25510                     0x08,               // Bit Offset
25511                     0x00000000C00102B0, // Address
25512                     0x04,               // Access Size
25513                     )
25514             }, 
25515 
25516             ResourceTemplate ()
25517             {
25518                 Register (FFixedHW, 
25519                     0x08,               // Bit Width
25520                     0x00,               // Bit Offset
25521                     0x00000000C00102B0, // Address
25522                     0x04,               // Access Size
25523                     )
25524             }, 
25525 
25526             ResourceTemplate ()
25527             {
25528                 Register (SystemMemory, 
25529                     0x00,               // Bit Width
25530                     0x00,               // Bit Offset
25531                     0x0000000000000000, // Address
25532                     ,)
25533             }, 
25534 
25535             ResourceTemplate ()
25536             {
25537                 Register (FFixedHW, 
25538                     0x08,               // Bit Width
25539                     0x10,               // Bit Offset
25540                     0x00000000C00102B3, // Address
25541                     0x04,               // Access Size
25542                     )
25543             }, 
25544 
25545             ResourceTemplate ()
25546             {
25547                 Register (FFixedHW, 
25548                     0x08,               // Bit Width
25549                     0x08,               // Bit Offset
25550                     0x00000000C00102B3, // Address
25551                     0x04,               // Access Size
25552                     )
25553             }, 
25554 
25555             ResourceTemplate ()
25556             {
25557                 Register (FFixedHW, 
25558                     0x08,               // Bit Width
25559                     0x00,               // Bit Offset
25560                     0x00000000C00102B3, // Address
25561                     0x04,               // Access Size
25562                     )
25563             }, 
25564 
25565             ResourceTemplate ()
25566             {
25567                 Register (SystemMemory, 
25568                     0x00,               // Bit Width
25569                     0x00,               // Bit Offset
25570                     0x0000000000000000, // Address
25571                     ,)
25572             }, 
25573 
25574             ResourceTemplate ()
25575             {
25576                 Register (SystemMemory, 
25577                     0x00,               // Bit Width
25578                     0x00,               // Bit Offset
25579                     0x0000000000000000, // Address
25580                     ,)
25581             }, 
25582 
25583             ResourceTemplate ()
25584             {
25585                 Register (SystemMemory, 
25586                     0x00,               // Bit Width
25587                     0x00,               // Bit Offset
25588                     0x0000000000000000, // Address
25589                     ,)
25590             }, 
25591 
25592             ResourceTemplate ()
25593             {
25594                 Register (FFixedHW, 
25595                     0x40,               // Bit Width
25596                     0x00,               // Bit Offset
25597                     0x00000000000000E7, // Address
25598                     0x04,               // Access Size
25599                     )
25600             }, 
25601 
25602             ResourceTemplate ()
25603             {
25604                 Register (FFixedHW, 
25605                     0x40,               // Bit Width
25606                     0x00,               // Bit Offset
25607                     0x00000000000000E8, // Address
25608                     0x04,               // Access Size
25609                     )
25610             }, 
25611 
25612             ResourceTemplate ()
25613             {
25614                 Register (FFixedHW, 
25615                     0x02,               // Bit Width
25616                     0x00,               // Bit Offset
25617                     0x00000000C00102B4, // Address
25618                     0x04,               // Access Size
25619                     )
25620             }, 
25621 
25622             ResourceTemplate ()
25623             {
25624                 Register (FFixedHW, 
25625                     0x01,               // Bit Width
25626                     0x00,               // Bit Offset
25627                     0x00000000C00102B1, // Address
25628                     0x04,               // Access Size
25629                     )
25630             }, 
25631 
25632             0x00000001, 
25633             ResourceTemplate ()
25634             {
25635                 Register (SystemMemory, 
25636                     0x00,               // Bit Width
25637                     0x00,               // Bit Offset
25638                     0x0000000000000000, // Address
25639                     ,)
25640             }, 
25641 
25642             ResourceTemplate ()
25643             {
25644                 Register (FFixedHW, 
25645                     0x08,               // Bit Width
25646                     0x18,               // Bit Offset
25647                     0x00000000C00102B3, // Address
25648                     0x04,               // Access Size
25649                     )
25650             }, 
25651 
25652             ResourceTemplate ()
25653             {
25654                 Register (SystemMemory, 
25655                     0x00,               // Bit Width
25656                     0x00,               // Bit Offset
25657                     0x0000000000000000, // Address
25658                     ,)
25659             }, 
25660 
25661             0x00000190, 
25662             0x00000A8D
25663         })
25664     }
25665 
25666     Scope (\_SB.PLTF.P009)
25667     {
25668         Name (_PCT, Package (0x02)  // _PCT: Performance Control
25669         {
25670             ResourceTemplate ()
25671             {
25672                 Register (FFixedHW, 
25673                     0x40,               // Bit Width
25674                     0x00,               // Bit Offset
25675                     0x00000000C0010062, // Address
25676                     ,)
25677             }, 
25678 
25679             ResourceTemplate ()
25680             {
25681                 Register (FFixedHW, 
25682                     0x40,               // Bit Width
25683                     0x00,               // Bit Offset
25684                     0x0000000000000000, // Address
25685                     ,)
25686             }
25687         })
25688         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
25689         {
25690             Package (0x06)
25691             {
25692                 0x00000A8C, 
25693                 0x00000CA8, 
25694                 0x00000000, 
25695                 0x00000000, 
25696                 0x00000000, 
25697                 0x00000000
25698             }, 
25699 
25700             Package (0x06)
25701             {
25702                 0x00000708, 
25703                 0x000007BC, 
25704                 0x00000000, 
25705                 0x00000000, 
25706                 0x00000001, 
25707                 0x00000001
25708             }, 
25709 
25710             Package (0x06)
25711             {
25712                 0x00000640, 
25713                 0x00000640, 
25714                 0x00000000, 
25715                 0x00000000, 
25716                 0x00000002, 
25717                 0x00000002
25718             }
25719         })
25720         Name (XPSS, Package (0x03)
25721         {
25722             Package (0x08)
25723             {
25724                 0x00000A8C, 
25725                 0x00000CA8, 
25726                 0x00000000, 
25727                 0x00000000, 
25728                 Buffer (0x08)
25729                 {
25730                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25731                 }, 
25732 
25733                 Buffer (0x08)
25734                 {
25735                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25736                 }, 
25737 
25738                 Buffer (0x08)
25739                 {
25740                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25741                 }, 
25742 
25743                 Buffer (0x08)
25744                 {
25745                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25746                 }
25747             }, 
25748 
25749             Package (0x08)
25750             {
25751                 0x00000708, 
25752                 0x000007BC, 
25753                 0x00000000, 
25754                 0x00000000, 
25755                 Buffer (0x08)
25756                 {
25757                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25758                 }, 
25759 
25760                 Buffer (0x08)
25761                 {
25762                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25763                 }, 
25764 
25765                 Buffer (0x08)
25766                 {
25767                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25768                 }, 
25769 
25770                 Buffer (0x08)
25771                 {
25772                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25773                 }
25774             }, 
25775 
25776             Package (0x08)
25777             {
25778                 0x00000640, 
25779                 0x00000640, 
25780                 0x00000000, 
25781                 0x00000000, 
25782                 Buffer (0x08)
25783                 {
25784                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25785                 }, 
25786 
25787                 Buffer (0x08)
25788                 {
25789                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25790                 }, 
25791 
25792                 Buffer (0x08)
25793                 {
25794                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25795                 }, 
25796 
25797                 Buffer (0x08)
25798                 {
25799                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
25800                 }
25801             }
25802         })
25803         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
25804         {
25805             Package (0x05)
25806             {
25807                 0x05, 
25808                 0x00, 
25809                 0x00000004, 
25810                 0x000000FE, 
25811                 0x00000002
25812             }
25813         })
25814         Name (PPCV, 0x00)
25815         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
25816         {
25817             Return (PPCV) /* \_SB_.PLTF.P009.PPCV */
25818         }
25819 
25820         Name (_CST, Package (0x04)  // _CST: C-States
25821         {
25822             0x03, 
25823             Package (0x04)
25824             {
25825                 ResourceTemplate ()
25826                 {
25827                     Register (FFixedHW, 
25828                         0x02,               // Bit Width
25829                         0x02,               // Bit Offset
25830                         0x0000000000000000, // Address
25831                         ,)
25832                 }, 
25833 
25834                 0x01, 
25835                 0x0001, 
25836                 0x00000000
25837             }, 
25838 
25839             Package (0x04)
25840             {
25841                 ResourceTemplate ()
25842                 {
25843                     Register (SystemIO, 
25844                         0x08,               // Bit Width
25845                         0x00,               // Bit Offset
25846                         0x0000000000000414, // Address
25847                         0x01,               // Access Size
25848                         )
25849                 }, 
25850 
25851                 0x02, 
25852                 0x0012, 
25853                 0x00000000
25854             }, 
25855 
25856             Package (0x04)
25857             {
25858                 ResourceTemplate ()
25859                 {
25860                     Register (SystemIO, 
25861                         0x08,               // Bit Width
25862                         0x00,               // Bit Offset
25863                         0x0000000000000415, // Address
25864                         0x01,               // Access Size
25865                         )
25866                 }, 
25867 
25868                 0x03, 
25869                 0x015E, 
25870                 0x00000000
25871             }
25872         })
25873         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
25874         {
25875             Package (0x06)
25876             {
25877                 0x06, 
25878                 0x00, 
25879                 0x00000004, 
25880                 0x000000FE, 
25881                 0x00000002, 
25882                 0x00000000
25883             }
25884         })
25885         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
25886         {
25887             0x0000, 
25888             0x0000000000000000, 
25889             0x0003, 
25890             Package (0x0A)
25891             {
25892                 0x00000002, 
25893                 0x00000001, 
25894                 0x00000001, 
25895                 0x00000000, 
25896                 0x00000000, 
25897                 0x00000000, 
25898                 ResourceTemplate ()
25899                 {
25900                     Register (FFixedHW, 
25901                         0x02,               // Bit Width
25902                         0x02,               // Bit Offset
25903                         0x0000000000000000, // Address
25904                         ,)
25905                 }, 
25906 
25907                 ResourceTemplate ()
25908                 {
25909                     Register (SystemMemory, 
25910                         0x00,               // Bit Width
25911                         0x00,               // Bit Offset
25912                         0x0000000000000000, // Address
25913                         ,)
25914                 }, 
25915 
25916                 ResourceTemplate ()
25917                 {
25918                     Register (SystemMemory, 
25919                         0x00,               // Bit Width
25920                         0x00,               // Bit Offset
25921                         0x0000000000000000, // Address
25922                         ,)
25923                 }, 
25924 
25925                 "C1"
25926             }, 
25927 
25928             Package (0x0A)
25929             {
25930                 0x00000024, 
25931                 0x00000012, 
25932                 0x00000001, 
25933                 0x00000000, 
25934                 0x00000000, 
25935                 0x00000000, 
25936                 ResourceTemplate ()
25937                 {
25938                     Register (SystemIO, 
25939                         0x08,               // Bit Width
25940                         0x00,               // Bit Offset
25941                         0x0000000000000414, // Address
25942                         0x01,               // Access Size
25943                         )
25944                 }, 
25945 
25946                 ResourceTemplate ()
25947                 {
25948                     Register (SystemMemory, 
25949                         0x00,               // Bit Width
25950                         0x00,               // Bit Offset
25951                         0x0000000000000000, // Address
25952                         ,)
25953                 }, 
25954 
25955                 ResourceTemplate ()
25956                 {
25957                     Register (SystemMemory, 
25958                         0x00,               // Bit Width
25959                         0x00,               // Bit Offset
25960                         0x0000000000000000, // Address
25961                         ,)
25962                 }, 
25963 
25964                 "C2"
25965             }, 
25966 
25967             Package (0x0A)
25968             {
25969                 0x000002BC, 
25970                 0x0000015E, 
25971                 0x00000001, 
25972                 0x00000000, 
25973                 0x00000000, 
25974                 0x00000001, 
25975                 ResourceTemplate ()
25976                 {
25977                     Register (SystemIO, 
25978                         0x08,               // Bit Width
25979                         0x00,               // Bit Offset
25980                         0x0000000000000415, // Address
25981                         0x01,               // Access Size
25982                         )
25983                 }, 
25984 
25985                 ResourceTemplate ()
25986                 {
25987                     Register (SystemMemory, 
25988                         0x00,               // Bit Width
25989                         0x00,               // Bit Offset
25990                         0x0000000000000000, // Address
25991                         ,)
25992                 }, 
25993 
25994                 ResourceTemplate ()
25995                 {
25996                     Register (SystemMemory, 
25997                         0x00,               // Bit Width
25998                         0x00,               // Bit Offset
25999                         0x0000000000000000, // Address
26000                         ,)
26001                 }, 
26002 
26003                 "C3"
26004             }
26005         })
26006         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
26007         {
26008             0x17, 
26009             0x03, 
26010             ResourceTemplate ()
26011             {
26012                 Register (FFixedHW, 
26013                     0x08,               // Bit Width
26014                     0x18,               // Bit Offset
26015                     0x00000000C00102B0, // Address
26016                     0x04,               // Access Size
26017                     )
26018             }, 
26019 
26020             ResourceTemplate ()
26021             {
26022                 Register (FFixedHW, 
26023                     0x08,               // Bit Width
26024                     0x10,               // Bit Offset
26025                     0x00000000C00102B0, // Address
26026                     0x04,               // Access Size
26027                     )
26028             }, 
26029 
26030             ResourceTemplate ()
26031             {
26032                 Register (FFixedHW, 
26033                     0x08,               // Bit Width
26034                     0x08,               // Bit Offset
26035                     0x00000000C00102B0, // Address
26036                     0x04,               // Access Size
26037                     )
26038             }, 
26039 
26040             ResourceTemplate ()
26041             {
26042                 Register (FFixedHW, 
26043                     0x08,               // Bit Width
26044                     0x00,               // Bit Offset
26045                     0x00000000C00102B0, // Address
26046                     0x04,               // Access Size
26047                     )
26048             }, 
26049 
26050             ResourceTemplate ()
26051             {
26052                 Register (SystemMemory, 
26053                     0x00,               // Bit Width
26054                     0x00,               // Bit Offset
26055                     0x0000000000000000, // Address
26056                     ,)
26057             }, 
26058 
26059             ResourceTemplate ()
26060             {
26061                 Register (FFixedHW, 
26062                     0x08,               // Bit Width
26063                     0x10,               // Bit Offset
26064                     0x00000000C00102B3, // Address
26065                     0x04,               // Access Size
26066                     )
26067             }, 
26068 
26069             ResourceTemplate ()
26070             {
26071                 Register (FFixedHW, 
26072                     0x08,               // Bit Width
26073                     0x08,               // Bit Offset
26074                     0x00000000C00102B3, // Address
26075                     0x04,               // Access Size
26076                     )
26077             }, 
26078 
26079             ResourceTemplate ()
26080             {
26081                 Register (FFixedHW, 
26082                     0x08,               // Bit Width
26083                     0x00,               // Bit Offset
26084                     0x00000000C00102B3, // Address
26085                     0x04,               // Access Size
26086                     )
26087             }, 
26088 
26089             ResourceTemplate ()
26090             {
26091                 Register (SystemMemory, 
26092                     0x00,               // Bit Width
26093                     0x00,               // Bit Offset
26094                     0x0000000000000000, // Address
26095                     ,)
26096             }, 
26097 
26098             ResourceTemplate ()
26099             {
26100                 Register (SystemMemory, 
26101                     0x00,               // Bit Width
26102                     0x00,               // Bit Offset
26103                     0x0000000000000000, // Address
26104                     ,)
26105             }, 
26106 
26107             ResourceTemplate ()
26108             {
26109                 Register (SystemMemory, 
26110                     0x00,               // Bit Width
26111                     0x00,               // Bit Offset
26112                     0x0000000000000000, // Address
26113                     ,)
26114             }, 
26115 
26116             ResourceTemplate ()
26117             {
26118                 Register (FFixedHW, 
26119                     0x40,               // Bit Width
26120                     0x00,               // Bit Offset
26121                     0x00000000000000E7, // Address
26122                     0x04,               // Access Size
26123                     )
26124             }, 
26125 
26126             ResourceTemplate ()
26127             {
26128                 Register (FFixedHW, 
26129                     0x40,               // Bit Width
26130                     0x00,               // Bit Offset
26131                     0x00000000000000E8, // Address
26132                     0x04,               // Access Size
26133                     )
26134             }, 
26135 
26136             ResourceTemplate ()
26137             {
26138                 Register (FFixedHW, 
26139                     0x02,               // Bit Width
26140                     0x00,               // Bit Offset
26141                     0x00000000C00102B4, // Address
26142                     0x04,               // Access Size
26143                     )
26144             }, 
26145 
26146             ResourceTemplate ()
26147             {
26148                 Register (FFixedHW, 
26149                     0x01,               // Bit Width
26150                     0x00,               // Bit Offset
26151                     0x00000000C00102B1, // Address
26152                     0x04,               // Access Size
26153                     )
26154             }, 
26155 
26156             0x00000001, 
26157             ResourceTemplate ()
26158             {
26159                 Register (SystemMemory, 
26160                     0x00,               // Bit Width
26161                     0x00,               // Bit Offset
26162                     0x0000000000000000, // Address
26163                     ,)
26164             }, 
26165 
26166             ResourceTemplate ()
26167             {
26168                 Register (FFixedHW, 
26169                     0x08,               // Bit Width
26170                     0x18,               // Bit Offset
26171                     0x00000000C00102B3, // Address
26172                     0x04,               // Access Size
26173                     )
26174             }, 
26175 
26176             ResourceTemplate ()
26177             {
26178                 Register (SystemMemory, 
26179                     0x00,               // Bit Width
26180                     0x00,               // Bit Offset
26181                     0x0000000000000000, // Address
26182                     ,)
26183             }, 
26184 
26185             0x00000190, 
26186             0x00000A8D
26187         })
26188     }
26189 
26190     Scope (\_SB.PLTF.P00A)
26191     {
26192         Name (_PCT, Package (0x02)  // _PCT: Performance Control
26193         {
26194             ResourceTemplate ()
26195             {
26196                 Register (FFixedHW, 
26197                     0x40,               // Bit Width
26198                     0x00,               // Bit Offset
26199                     0x00000000C0010062, // Address
26200                     ,)
26201             }, 
26202 
26203             ResourceTemplate ()
26204             {
26205                 Register (FFixedHW, 
26206                     0x40,               // Bit Width
26207                     0x00,               // Bit Offset
26208                     0x0000000000000000, // Address
26209                     ,)
26210             }
26211         })
26212         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
26213         {
26214             Package (0x06)
26215             {
26216                 0x00000A8C, 
26217                 0x00000CA8, 
26218                 0x00000000, 
26219                 0x00000000, 
26220                 0x00000000, 
26221                 0x00000000
26222             }, 
26223 
26224             Package (0x06)
26225             {
26226                 0x00000708, 
26227                 0x000007BC, 
26228                 0x00000000, 
26229                 0x00000000, 
26230                 0x00000001, 
26231                 0x00000001
26232             }, 
26233 
26234             Package (0x06)
26235             {
26236                 0x00000640, 
26237                 0x00000640, 
26238                 0x00000000, 
26239                 0x00000000, 
26240                 0x00000002, 
26241                 0x00000002
26242             }
26243         })
26244         Name (XPSS, Package (0x03)
26245         {
26246             Package (0x08)
26247             {
26248                 0x00000A8C, 
26249                 0x00000CA8, 
26250                 0x00000000, 
26251                 0x00000000, 
26252                 Buffer (0x08)
26253                 {
26254                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26255                 }, 
26256 
26257                 Buffer (0x08)
26258                 {
26259                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26260                 }, 
26261 
26262                 Buffer (0x08)
26263                 {
26264                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26265                 }, 
26266 
26267                 Buffer (0x08)
26268                 {
26269                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26270                 }
26271             }, 
26272 
26273             Package (0x08)
26274             {
26275                 0x00000708, 
26276                 0x000007BC, 
26277                 0x00000000, 
26278                 0x00000000, 
26279                 Buffer (0x08)
26280                 {
26281                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26282                 }, 
26283 
26284                 Buffer (0x08)
26285                 {
26286                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26287                 }, 
26288 
26289                 Buffer (0x08)
26290                 {
26291                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26292                 }, 
26293 
26294                 Buffer (0x08)
26295                 {
26296                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26297                 }
26298             }, 
26299 
26300             Package (0x08)
26301             {
26302                 0x00000640, 
26303                 0x00000640, 
26304                 0x00000000, 
26305                 0x00000000, 
26306                 Buffer (0x08)
26307                 {
26308                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26309                 }, 
26310 
26311                 Buffer (0x08)
26312                 {
26313                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26314                 }, 
26315 
26316                 Buffer (0x08)
26317                 {
26318                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26319                 }, 
26320 
26321                 Buffer (0x08)
26322                 {
26323                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26324                 }
26325             }
26326         })
26327         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
26328         {
26329             Package (0x05)
26330             {
26331                 0x05, 
26332                 0x00, 
26333                 0x00000005, 
26334                 0x000000FE, 
26335                 0x00000002
26336             }
26337         })
26338         Name (PPCV, 0x00)
26339         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
26340         {
26341             Return (PPCV) /* \_SB_.PLTF.P00A.PPCV */
26342         }
26343 
26344         Name (_CST, Package (0x04)  // _CST: C-States
26345         {
26346             0x03, 
26347             Package (0x04)
26348             {
26349                 ResourceTemplate ()
26350                 {
26351                     Register (FFixedHW, 
26352                         0x02,               // Bit Width
26353                         0x02,               // Bit Offset
26354                         0x0000000000000000, // Address
26355                         ,)
26356                 }, 
26357 
26358                 0x01, 
26359                 0x0001, 
26360                 0x00000000
26361             }, 
26362 
26363             Package (0x04)
26364             {
26365                 ResourceTemplate ()
26366                 {
26367                     Register (SystemIO, 
26368                         0x08,               // Bit Width
26369                         0x00,               // Bit Offset
26370                         0x0000000000000414, // Address
26371                         0x01,               // Access Size
26372                         )
26373                 }, 
26374 
26375                 0x02, 
26376                 0x0012, 
26377                 0x00000000
26378             }, 
26379 
26380             Package (0x04)
26381             {
26382                 ResourceTemplate ()
26383                 {
26384                     Register (SystemIO, 
26385                         0x08,               // Bit Width
26386                         0x00,               // Bit Offset
26387                         0x0000000000000415, // Address
26388                         0x01,               // Access Size
26389                         )
26390                 }, 
26391 
26392                 0x03, 
26393                 0x015E, 
26394                 0x00000000
26395             }
26396         })
26397         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
26398         {
26399             Package (0x06)
26400             {
26401                 0x06, 
26402                 0x00, 
26403                 0x00000005, 
26404                 0x000000FE, 
26405                 0x00000002, 
26406                 0x00000000
26407             }
26408         })
26409         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
26410         {
26411             0x0000, 
26412             0x0000000000000000, 
26413             0x0003, 
26414             Package (0x0A)
26415             {
26416                 0x00000002, 
26417                 0x00000001, 
26418                 0x00000001, 
26419                 0x00000000, 
26420                 0x00000000, 
26421                 0x00000000, 
26422                 ResourceTemplate ()
26423                 {
26424                     Register (FFixedHW, 
26425                         0x02,               // Bit Width
26426                         0x02,               // Bit Offset
26427                         0x0000000000000000, // Address
26428                         ,)
26429                 }, 
26430 
26431                 ResourceTemplate ()
26432                 {
26433                     Register (SystemMemory, 
26434                         0x00,               // Bit Width
26435                         0x00,               // Bit Offset
26436                         0x0000000000000000, // Address
26437                         ,)
26438                 }, 
26439 
26440                 ResourceTemplate ()
26441                 {
26442                     Register (SystemMemory, 
26443                         0x00,               // Bit Width
26444                         0x00,               // Bit Offset
26445                         0x0000000000000000, // Address
26446                         ,)
26447                 }, 
26448 
26449                 "C1"
26450             }, 
26451 
26452             Package (0x0A)
26453             {
26454                 0x00000024, 
26455                 0x00000012, 
26456                 0x00000001, 
26457                 0x00000000, 
26458                 0x00000000, 
26459                 0x00000000, 
26460                 ResourceTemplate ()
26461                 {
26462                     Register (SystemIO, 
26463                         0x08,               // Bit Width
26464                         0x00,               // Bit Offset
26465                         0x0000000000000414, // Address
26466                         0x01,               // Access Size
26467                         )
26468                 }, 
26469 
26470                 ResourceTemplate ()
26471                 {
26472                     Register (SystemMemory, 
26473                         0x00,               // Bit Width
26474                         0x00,               // Bit Offset
26475                         0x0000000000000000, // Address
26476                         ,)
26477                 }, 
26478 
26479                 ResourceTemplate ()
26480                 {
26481                     Register (SystemMemory, 
26482                         0x00,               // Bit Width
26483                         0x00,               // Bit Offset
26484                         0x0000000000000000, // Address
26485                         ,)
26486                 }, 
26487 
26488                 "C2"
26489             }, 
26490 
26491             Package (0x0A)
26492             {
26493                 0x000002BC, 
26494                 0x0000015E, 
26495                 0x00000001, 
26496                 0x00000000, 
26497                 0x00000000, 
26498                 0x00000001, 
26499                 ResourceTemplate ()
26500                 {
26501                     Register (SystemIO, 
26502                         0x08,               // Bit Width
26503                         0x00,               // Bit Offset
26504                         0x0000000000000415, // Address
26505                         0x01,               // Access Size
26506                         )
26507                 }, 
26508 
26509                 ResourceTemplate ()
26510                 {
26511                     Register (SystemMemory, 
26512                         0x00,               // Bit Width
26513                         0x00,               // Bit Offset
26514                         0x0000000000000000, // Address
26515                         ,)
26516                 }, 
26517 
26518                 ResourceTemplate ()
26519                 {
26520                     Register (SystemMemory, 
26521                         0x00,               // Bit Width
26522                         0x00,               // Bit Offset
26523                         0x0000000000000000, // Address
26524                         ,)
26525                 }, 
26526 
26527                 "C3"
26528             }
26529         })
26530         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
26531         {
26532             0x17, 
26533             0x03, 
26534             ResourceTemplate ()
26535             {
26536                 Register (FFixedHW, 
26537                     0x08,               // Bit Width
26538                     0x18,               // Bit Offset
26539                     0x00000000C00102B0, // Address
26540                     0x04,               // Access Size
26541                     )
26542             }, 
26543 
26544             ResourceTemplate ()
26545             {
26546                 Register (FFixedHW, 
26547                     0x08,               // Bit Width
26548                     0x10,               // Bit Offset
26549                     0x00000000C00102B0, // Address
26550                     0x04,               // Access Size
26551                     )
26552             }, 
26553 
26554             ResourceTemplate ()
26555             {
26556                 Register (FFixedHW, 
26557                     0x08,               // Bit Width
26558                     0x08,               // Bit Offset
26559                     0x00000000C00102B0, // Address
26560                     0x04,               // Access Size
26561                     )
26562             }, 
26563 
26564             ResourceTemplate ()
26565             {
26566                 Register (FFixedHW, 
26567                     0x08,               // Bit Width
26568                     0x00,               // Bit Offset
26569                     0x00000000C00102B0, // Address
26570                     0x04,               // Access Size
26571                     )
26572             }, 
26573 
26574             ResourceTemplate ()
26575             {
26576                 Register (SystemMemory, 
26577                     0x00,               // Bit Width
26578                     0x00,               // Bit Offset
26579                     0x0000000000000000, // Address
26580                     ,)
26581             }, 
26582 
26583             ResourceTemplate ()
26584             {
26585                 Register (FFixedHW, 
26586                     0x08,               // Bit Width
26587                     0x10,               // Bit Offset
26588                     0x00000000C00102B3, // Address
26589                     0x04,               // Access Size
26590                     )
26591             }, 
26592 
26593             ResourceTemplate ()
26594             {
26595                 Register (FFixedHW, 
26596                     0x08,               // Bit Width
26597                     0x08,               // Bit Offset
26598                     0x00000000C00102B3, // Address
26599                     0x04,               // Access Size
26600                     )
26601             }, 
26602 
26603             ResourceTemplate ()
26604             {
26605                 Register (FFixedHW, 
26606                     0x08,               // Bit Width
26607                     0x00,               // Bit Offset
26608                     0x00000000C00102B3, // Address
26609                     0x04,               // Access Size
26610                     )
26611             }, 
26612 
26613             ResourceTemplate ()
26614             {
26615                 Register (SystemMemory, 
26616                     0x00,               // Bit Width
26617                     0x00,               // Bit Offset
26618                     0x0000000000000000, // Address
26619                     ,)
26620             }, 
26621 
26622             ResourceTemplate ()
26623             {
26624                 Register (SystemMemory, 
26625                     0x00,               // Bit Width
26626                     0x00,               // Bit Offset
26627                     0x0000000000000000, // Address
26628                     ,)
26629             }, 
26630 
26631             ResourceTemplate ()
26632             {
26633                 Register (SystemMemory, 
26634                     0x00,               // Bit Width
26635                     0x00,               // Bit Offset
26636                     0x0000000000000000, // Address
26637                     ,)
26638             }, 
26639 
26640             ResourceTemplate ()
26641             {
26642                 Register (FFixedHW, 
26643                     0x40,               // Bit Width
26644                     0x00,               // Bit Offset
26645                     0x00000000000000E7, // Address
26646                     0x04,               // Access Size
26647                     )
26648             }, 
26649 
26650             ResourceTemplate ()
26651             {
26652                 Register (FFixedHW, 
26653                     0x40,               // Bit Width
26654                     0x00,               // Bit Offset
26655                     0x00000000000000E8, // Address
26656                     0x04,               // Access Size
26657                     )
26658             }, 
26659 
26660             ResourceTemplate ()
26661             {
26662                 Register (FFixedHW, 
26663                     0x02,               // Bit Width
26664                     0x00,               // Bit Offset
26665                     0x00000000C00102B4, // Address
26666                     0x04,               // Access Size
26667                     )
26668             }, 
26669 
26670             ResourceTemplate ()
26671             {
26672                 Register (FFixedHW, 
26673                     0x01,               // Bit Width
26674                     0x00,               // Bit Offset
26675                     0x00000000C00102B1, // Address
26676                     0x04,               // Access Size
26677                     )
26678             }, 
26679 
26680             0x00000001, 
26681             ResourceTemplate ()
26682             {
26683                 Register (SystemMemory, 
26684                     0x00,               // Bit Width
26685                     0x00,               // Bit Offset
26686                     0x0000000000000000, // Address
26687                     ,)
26688             }, 
26689 
26690             ResourceTemplate ()
26691             {
26692                 Register (FFixedHW, 
26693                     0x08,               // Bit Width
26694                     0x18,               // Bit Offset
26695                     0x00000000C00102B3, // Address
26696                     0x04,               // Access Size
26697                     )
26698             }, 
26699 
26700             ResourceTemplate ()
26701             {
26702                 Register (SystemMemory, 
26703                     0x00,               // Bit Width
26704                     0x00,               // Bit Offset
26705                     0x0000000000000000, // Address
26706                     ,)
26707             }, 
26708 
26709             0x00000190, 
26710             0x00000A8D
26711         })
26712     }
26713 
26714     Scope (\_SB.PLTF.P00B)
26715     {
26716         Name (_PCT, Package (0x02)  // _PCT: Performance Control
26717         {
26718             ResourceTemplate ()
26719             {
26720                 Register (FFixedHW, 
26721                     0x40,               // Bit Width
26722                     0x00,               // Bit Offset
26723                     0x00000000C0010062, // Address
26724                     ,)
26725             }, 
26726 
26727             ResourceTemplate ()
26728             {
26729                 Register (FFixedHW, 
26730                     0x40,               // Bit Width
26731                     0x00,               // Bit Offset
26732                     0x0000000000000000, // Address
26733                     ,)
26734             }
26735         })
26736         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
26737         {
26738             Package (0x06)
26739             {
26740                 0x00000A8C, 
26741                 0x00000CA8, 
26742                 0x00000000, 
26743                 0x00000000, 
26744                 0x00000000, 
26745                 0x00000000
26746             }, 
26747 
26748             Package (0x06)
26749             {
26750                 0x00000708, 
26751                 0x000007BC, 
26752                 0x00000000, 
26753                 0x00000000, 
26754                 0x00000001, 
26755                 0x00000001
26756             }, 
26757 
26758             Package (0x06)
26759             {
26760                 0x00000640, 
26761                 0x00000640, 
26762                 0x00000000, 
26763                 0x00000000, 
26764                 0x00000002, 
26765                 0x00000002
26766             }
26767         })
26768         Name (XPSS, Package (0x03)
26769         {
26770             Package (0x08)
26771             {
26772                 0x00000A8C, 
26773                 0x00000CA8, 
26774                 0x00000000, 
26775                 0x00000000, 
26776                 Buffer (0x08)
26777                 {
26778                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26779                 }, 
26780 
26781                 Buffer (0x08)
26782                 {
26783                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26784                 }, 
26785 
26786                 Buffer (0x08)
26787                 {
26788                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26789                 }, 
26790 
26791                 Buffer (0x08)
26792                 {
26793                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26794                 }
26795             }, 
26796 
26797             Package (0x08)
26798             {
26799                 0x00000708, 
26800                 0x000007BC, 
26801                 0x00000000, 
26802                 0x00000000, 
26803                 Buffer (0x08)
26804                 {
26805                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26806                 }, 
26807 
26808                 Buffer (0x08)
26809                 {
26810                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26811                 }, 
26812 
26813                 Buffer (0x08)
26814                 {
26815                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26816                 }, 
26817 
26818                 Buffer (0x08)
26819                 {
26820                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26821                 }
26822             }, 
26823 
26824             Package (0x08)
26825             {
26826                 0x00000640, 
26827                 0x00000640, 
26828                 0x00000000, 
26829                 0x00000000, 
26830                 Buffer (0x08)
26831                 {
26832                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26833                 }, 
26834 
26835                 Buffer (0x08)
26836                 {
26837                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26838                 }, 
26839 
26840                 Buffer (0x08)
26841                 {
26842                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26843                 }, 
26844 
26845                 Buffer (0x08)
26846                 {
26847                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
26848                 }
26849             }
26850         })
26851         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
26852         {
26853             Package (0x05)
26854             {
26855                 0x05, 
26856                 0x00, 
26857                 0x00000005, 
26858                 0x000000FE, 
26859                 0x00000002
26860             }
26861         })
26862         Name (PPCV, 0x00)
26863         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
26864         {
26865             Return (PPCV) /* \_SB_.PLTF.P00B.PPCV */
26866         }
26867 
26868         Name (_CST, Package (0x04)  // _CST: C-States
26869         {
26870             0x03, 
26871             Package (0x04)
26872             {
26873                 ResourceTemplate ()
26874                 {
26875                     Register (FFixedHW, 
26876                         0x02,               // Bit Width
26877                         0x02,               // Bit Offset
26878                         0x0000000000000000, // Address
26879                         ,)
26880                 }, 
26881 
26882                 0x01, 
26883                 0x0001, 
26884                 0x00000000
26885             }, 
26886 
26887             Package (0x04)
26888             {
26889                 ResourceTemplate ()
26890                 {
26891                     Register (SystemIO, 
26892                         0x08,               // Bit Width
26893                         0x00,               // Bit Offset
26894                         0x0000000000000414, // Address
26895                         0x01,               // Access Size
26896                         )
26897                 }, 
26898 
26899                 0x02, 
26900                 0x0012, 
26901                 0x00000000
26902             }, 
26903 
26904             Package (0x04)
26905             {
26906                 ResourceTemplate ()
26907                 {
26908                     Register (SystemIO, 
26909                         0x08,               // Bit Width
26910                         0x00,               // Bit Offset
26911                         0x0000000000000415, // Address
26912                         0x01,               // Access Size
26913                         )
26914                 }, 
26915 
26916                 0x03, 
26917                 0x015E, 
26918                 0x00000000
26919             }
26920         })
26921         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
26922         {
26923             Package (0x06)
26924             {
26925                 0x06, 
26926                 0x00, 
26927                 0x00000005, 
26928                 0x000000FE, 
26929                 0x00000002, 
26930                 0x00000000
26931             }
26932         })
26933         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
26934         {
26935             0x0000, 
26936             0x0000000000000000, 
26937             0x0003, 
26938             Package (0x0A)
26939             {
26940                 0x00000002, 
26941                 0x00000001, 
26942                 0x00000001, 
26943                 0x00000000, 
26944                 0x00000000, 
26945                 0x00000000, 
26946                 ResourceTemplate ()
26947                 {
26948                     Register (FFixedHW, 
26949                         0x02,               // Bit Width
26950                         0x02,               // Bit Offset
26951                         0x0000000000000000, // Address
26952                         ,)
26953                 }, 
26954 
26955                 ResourceTemplate ()
26956                 {
26957                     Register (SystemMemory, 
26958                         0x00,               // Bit Width
26959                         0x00,               // Bit Offset
26960                         0x0000000000000000, // Address
26961                         ,)
26962                 }, 
26963 
26964                 ResourceTemplate ()
26965                 {
26966                     Register (SystemMemory, 
26967                         0x00,               // Bit Width
26968                         0x00,               // Bit Offset
26969                         0x0000000000000000, // Address
26970                         ,)
26971                 }, 
26972 
26973                 "C1"
26974             }, 
26975 
26976             Package (0x0A)
26977             {
26978                 0x00000024, 
26979                 0x00000012, 
26980                 0x00000001, 
26981                 0x00000000, 
26982                 0x00000000, 
26983                 0x00000000, 
26984                 ResourceTemplate ()
26985                 {
26986                     Register (SystemIO, 
26987                         0x08,               // Bit Width
26988                         0x00,               // Bit Offset
26989                         0x0000000000000414, // Address
26990                         0x01,               // Access Size
26991                         )
26992                 }, 
26993 
26994                 ResourceTemplate ()
26995                 {
26996                     Register (SystemMemory, 
26997                         0x00,               // Bit Width
26998                         0x00,               // Bit Offset
26999                         0x0000000000000000, // Address
27000                         ,)
27001                 }, 
27002 
27003                 ResourceTemplate ()
27004                 {
27005                     Register (SystemMemory, 
27006                         0x00,               // Bit Width
27007                         0x00,               // Bit Offset
27008                         0x0000000000000000, // Address
27009                         ,)
27010                 }, 
27011 
27012                 "C2"
27013             }, 
27014 
27015             Package (0x0A)
27016             {
27017                 0x000002BC, 
27018                 0x0000015E, 
27019                 0x00000001, 
27020                 0x00000000, 
27021                 0x00000000, 
27022                 0x00000001, 
27023                 ResourceTemplate ()
27024                 {
27025                     Register (SystemIO, 
27026                         0x08,               // Bit Width
27027                         0x00,               // Bit Offset
27028                         0x0000000000000415, // Address
27029                         0x01,               // Access Size
27030                         )
27031                 }, 
27032 
27033                 ResourceTemplate ()
27034                 {
27035                     Register (SystemMemory, 
27036                         0x00,               // Bit Width
27037                         0x00,               // Bit Offset
27038                         0x0000000000000000, // Address
27039                         ,)
27040                 }, 
27041 
27042                 ResourceTemplate ()
27043                 {
27044                     Register (SystemMemory, 
27045                         0x00,               // Bit Width
27046                         0x00,               // Bit Offset
27047                         0x0000000000000000, // Address
27048                         ,)
27049                 }, 
27050 
27051                 "C3"
27052             }
27053         })
27054         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
27055         {
27056             0x17, 
27057             0x03, 
27058             ResourceTemplate ()
27059             {
27060                 Register (FFixedHW, 
27061                     0x08,               // Bit Width
27062                     0x18,               // Bit Offset
27063                     0x00000000C00102B0, // Address
27064                     0x04,               // Access Size
27065                     )
27066             }, 
27067 
27068             ResourceTemplate ()
27069             {
27070                 Register (FFixedHW, 
27071                     0x08,               // Bit Width
27072                     0x10,               // Bit Offset
27073                     0x00000000C00102B0, // Address
27074                     0x04,               // Access Size
27075                     )
27076             }, 
27077 
27078             ResourceTemplate ()
27079             {
27080                 Register (FFixedHW, 
27081                     0x08,               // Bit Width
27082                     0x08,               // Bit Offset
27083                     0x00000000C00102B0, // Address
27084                     0x04,               // Access Size
27085                     )
27086             }, 
27087 
27088             ResourceTemplate ()
27089             {
27090                 Register (FFixedHW, 
27091                     0x08,               // Bit Width
27092                     0x00,               // Bit Offset
27093                     0x00000000C00102B0, // Address
27094                     0x04,               // Access Size
27095                     )
27096             }, 
27097 
27098             ResourceTemplate ()
27099             {
27100                 Register (SystemMemory, 
27101                     0x00,               // Bit Width
27102                     0x00,               // Bit Offset
27103                     0x0000000000000000, // Address
27104                     ,)
27105             }, 
27106 
27107             ResourceTemplate ()
27108             {
27109                 Register (FFixedHW, 
27110                     0x08,               // Bit Width
27111                     0x10,               // Bit Offset
27112                     0x00000000C00102B3, // Address
27113                     0x04,               // Access Size
27114                     )
27115             }, 
27116 
27117             ResourceTemplate ()
27118             {
27119                 Register (FFixedHW, 
27120                     0x08,               // Bit Width
27121                     0x08,               // Bit Offset
27122                     0x00000000C00102B3, // Address
27123                     0x04,               // Access Size
27124                     )
27125             }, 
27126 
27127             ResourceTemplate ()
27128             {
27129                 Register (FFixedHW, 
27130                     0x08,               // Bit Width
27131                     0x00,               // Bit Offset
27132                     0x00000000C00102B3, // Address
27133                     0x04,               // Access Size
27134                     )
27135             }, 
27136 
27137             ResourceTemplate ()
27138             {
27139                 Register (SystemMemory, 
27140                     0x00,               // Bit Width
27141                     0x00,               // Bit Offset
27142                     0x0000000000000000, // Address
27143                     ,)
27144             }, 
27145 
27146             ResourceTemplate ()
27147             {
27148                 Register (SystemMemory, 
27149                     0x00,               // Bit Width
27150                     0x00,               // Bit Offset
27151                     0x0000000000000000, // Address
27152                     ,)
27153             }, 
27154 
27155             ResourceTemplate ()
27156             {
27157                 Register (SystemMemory, 
27158                     0x00,               // Bit Width
27159                     0x00,               // Bit Offset
27160                     0x0000000000000000, // Address
27161                     ,)
27162             }, 
27163 
27164             ResourceTemplate ()
27165             {
27166                 Register (FFixedHW, 
27167                     0x40,               // Bit Width
27168                     0x00,               // Bit Offset
27169                     0x00000000000000E7, // Address
27170                     0x04,               // Access Size
27171                     )
27172             }, 
27173 
27174             ResourceTemplate ()
27175             {
27176                 Register (FFixedHW, 
27177                     0x40,               // Bit Width
27178                     0x00,               // Bit Offset
27179                     0x00000000000000E8, // Address
27180                     0x04,               // Access Size
27181                     )
27182             }, 
27183 
27184             ResourceTemplate ()
27185             {
27186                 Register (FFixedHW, 
27187                     0x02,               // Bit Width
27188                     0x00,               // Bit Offset
27189                     0x00000000C00102B4, // Address
27190                     0x04,               // Access Size
27191                     )
27192             }, 
27193 
27194             ResourceTemplate ()
27195             {
27196                 Register (FFixedHW, 
27197                     0x01,               // Bit Width
27198                     0x00,               // Bit Offset
27199                     0x00000000C00102B1, // Address
27200                     0x04,               // Access Size
27201                     )
27202             }, 
27203 
27204             0x00000001, 
27205             ResourceTemplate ()
27206             {
27207                 Register (SystemMemory, 
27208                     0x00,               // Bit Width
27209                     0x00,               // Bit Offset
27210                     0x0000000000000000, // Address
27211                     ,)
27212             }, 
27213 
27214             ResourceTemplate ()
27215             {
27216                 Register (FFixedHW, 
27217                     0x08,               // Bit Width
27218                     0x18,               // Bit Offset
27219                     0x00000000C00102B3, // Address
27220                     0x04,               // Access Size
27221                     )
27222             }, 
27223 
27224             ResourceTemplate ()
27225             {
27226                 Register (SystemMemory, 
27227                     0x00,               // Bit Width
27228                     0x00,               // Bit Offset
27229                     0x0000000000000000, // Address
27230                     ,)
27231             }, 
27232 
27233             0x00000190, 
27234             0x00000A8D
27235         })
27236     }
27237 
27238     Scope (\_SB.PLTF.P00C)
27239     {
27240         Name (_PCT, Package (0x02)  // _PCT: Performance Control
27241         {
27242             ResourceTemplate ()
27243             {
27244                 Register (FFixedHW, 
27245                     0x40,               // Bit Width
27246                     0x00,               // Bit Offset
27247                     0x00000000C0010062, // Address
27248                     ,)
27249             }, 
27250 
27251             ResourceTemplate ()
27252             {
27253                 Register (FFixedHW, 
27254                     0x40,               // Bit Width
27255                     0x00,               // Bit Offset
27256                     0x0000000000000000, // Address
27257                     ,)
27258             }
27259         })
27260         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
27261         {
27262             Package (0x06)
27263             {
27264                 0x00000A8C, 
27265                 0x00000CA8, 
27266                 0x00000000, 
27267                 0x00000000, 
27268                 0x00000000, 
27269                 0x00000000
27270             }, 
27271 
27272             Package (0x06)
27273             {
27274                 0x00000708, 
27275                 0x000007BC, 
27276                 0x00000000, 
27277                 0x00000000, 
27278                 0x00000001, 
27279                 0x00000001
27280             }, 
27281 
27282             Package (0x06)
27283             {
27284                 0x00000640, 
27285                 0x00000640, 
27286                 0x00000000, 
27287                 0x00000000, 
27288                 0x00000002, 
27289                 0x00000002
27290             }
27291         })
27292         Name (XPSS, Package (0x03)
27293         {
27294             Package (0x08)
27295             {
27296                 0x00000A8C, 
27297                 0x00000CA8, 
27298                 0x00000000, 
27299                 0x00000000, 
27300                 Buffer (0x08)
27301                 {
27302                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27303                 }, 
27304 
27305                 Buffer (0x08)
27306                 {
27307                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27308                 }, 
27309 
27310                 Buffer (0x08)
27311                 {
27312                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27313                 }, 
27314 
27315                 Buffer (0x08)
27316                 {
27317                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27318                 }
27319             }, 
27320 
27321             Package (0x08)
27322             {
27323                 0x00000708, 
27324                 0x000007BC, 
27325                 0x00000000, 
27326                 0x00000000, 
27327                 Buffer (0x08)
27328                 {
27329                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27330                 }, 
27331 
27332                 Buffer (0x08)
27333                 {
27334                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27335                 }, 
27336 
27337                 Buffer (0x08)
27338                 {
27339                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27340                 }, 
27341 
27342                 Buffer (0x08)
27343                 {
27344                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27345                 }
27346             }, 
27347 
27348             Package (0x08)
27349             {
27350                 0x00000640, 
27351                 0x00000640, 
27352                 0x00000000, 
27353                 0x00000000, 
27354                 Buffer (0x08)
27355                 {
27356                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27357                 }, 
27358 
27359                 Buffer (0x08)
27360                 {
27361                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27362                 }, 
27363 
27364                 Buffer (0x08)
27365                 {
27366                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27367                 }, 
27368 
27369                 Buffer (0x08)
27370                 {
27371                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27372                 }
27373             }
27374         })
27375         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
27376         {
27377             Package (0x05)
27378             {
27379                 0x05, 
27380                 0x00, 
27381                 0x00000006, 
27382                 0x000000FE, 
27383                 0x00000002
27384             }
27385         })
27386         Name (PPCV, 0x00)
27387         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
27388         {
27389             Return (PPCV) /* \_SB_.PLTF.P00C.PPCV */
27390         }
27391 
27392         Name (_CST, Package (0x04)  // _CST: C-States
27393         {
27394             0x03, 
27395             Package (0x04)
27396             {
27397                 ResourceTemplate ()
27398                 {
27399                     Register (FFixedHW, 
27400                         0x02,               // Bit Width
27401                         0x02,               // Bit Offset
27402                         0x0000000000000000, // Address
27403                         ,)
27404                 }, 
27405 
27406                 0x01, 
27407                 0x0001, 
27408                 0x00000000
27409             }, 
27410 
27411             Package (0x04)
27412             {
27413                 ResourceTemplate ()
27414                 {
27415                     Register (SystemIO, 
27416                         0x08,               // Bit Width
27417                         0x00,               // Bit Offset
27418                         0x0000000000000414, // Address
27419                         0x01,               // Access Size
27420                         )
27421                 }, 
27422 
27423                 0x02, 
27424                 0x0012, 
27425                 0x00000000
27426             }, 
27427 
27428             Package (0x04)
27429             {
27430                 ResourceTemplate ()
27431                 {
27432                     Register (SystemIO, 
27433                         0x08,               // Bit Width
27434                         0x00,               // Bit Offset
27435                         0x0000000000000415, // Address
27436                         0x01,               // Access Size
27437                         )
27438                 }, 
27439 
27440                 0x03, 
27441                 0x015E, 
27442                 0x00000000
27443             }
27444         })
27445         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
27446         {
27447             Package (0x06)
27448             {
27449                 0x06, 
27450                 0x00, 
27451                 0x00000006, 
27452                 0x000000FE, 
27453                 0x00000002, 
27454                 0x00000000
27455             }
27456         })
27457         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
27458         {
27459             0x0000, 
27460             0x0000000000000000, 
27461             0x0003, 
27462             Package (0x0A)
27463             {
27464                 0x00000002, 
27465                 0x00000001, 
27466                 0x00000001, 
27467                 0x00000000, 
27468                 0x00000000, 
27469                 0x00000000, 
27470                 ResourceTemplate ()
27471                 {
27472                     Register (FFixedHW, 
27473                         0x02,               // Bit Width
27474                         0x02,               // Bit Offset
27475                         0x0000000000000000, // Address
27476                         ,)
27477                 }, 
27478 
27479                 ResourceTemplate ()
27480                 {
27481                     Register (SystemMemory, 
27482                         0x00,               // Bit Width
27483                         0x00,               // Bit Offset
27484                         0x0000000000000000, // Address
27485                         ,)
27486                 }, 
27487 
27488                 ResourceTemplate ()
27489                 {
27490                     Register (SystemMemory, 
27491                         0x00,               // Bit Width
27492                         0x00,               // Bit Offset
27493                         0x0000000000000000, // Address
27494                         ,)
27495                 }, 
27496 
27497                 "C1"
27498             }, 
27499 
27500             Package (0x0A)
27501             {
27502                 0x00000024, 
27503                 0x00000012, 
27504                 0x00000001, 
27505                 0x00000000, 
27506                 0x00000000, 
27507                 0x00000000, 
27508                 ResourceTemplate ()
27509                 {
27510                     Register (SystemIO, 
27511                         0x08,               // Bit Width
27512                         0x00,               // Bit Offset
27513                         0x0000000000000414, // Address
27514                         0x01,               // Access Size
27515                         )
27516                 }, 
27517 
27518                 ResourceTemplate ()
27519                 {
27520                     Register (SystemMemory, 
27521                         0x00,               // Bit Width
27522                         0x00,               // Bit Offset
27523                         0x0000000000000000, // Address
27524                         ,)
27525                 }, 
27526 
27527                 ResourceTemplate ()
27528                 {
27529                     Register (SystemMemory, 
27530                         0x00,               // Bit Width
27531                         0x00,               // Bit Offset
27532                         0x0000000000000000, // Address
27533                         ,)
27534                 }, 
27535 
27536                 "C2"
27537             }, 
27538 
27539             Package (0x0A)
27540             {
27541                 0x000002BC, 
27542                 0x0000015E, 
27543                 0x00000001, 
27544                 0x00000000, 
27545                 0x00000000, 
27546                 0x00000001, 
27547                 ResourceTemplate ()
27548                 {
27549                     Register (SystemIO, 
27550                         0x08,               // Bit Width
27551                         0x00,               // Bit Offset
27552                         0x0000000000000415, // Address
27553                         0x01,               // Access Size
27554                         )
27555                 }, 
27556 
27557                 ResourceTemplate ()
27558                 {
27559                     Register (SystemMemory, 
27560                         0x00,               // Bit Width
27561                         0x00,               // Bit Offset
27562                         0x0000000000000000, // Address
27563                         ,)
27564                 }, 
27565 
27566                 ResourceTemplate ()
27567                 {
27568                     Register (SystemMemory, 
27569                         0x00,               // Bit Width
27570                         0x00,               // Bit Offset
27571                         0x0000000000000000, // Address
27572                         ,)
27573                 }, 
27574 
27575                 "C3"
27576             }
27577         })
27578         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
27579         {
27580             0x17, 
27581             0x03, 
27582             ResourceTemplate ()
27583             {
27584                 Register (FFixedHW, 
27585                     0x08,               // Bit Width
27586                     0x18,               // Bit Offset
27587                     0x00000000C00102B0, // Address
27588                     0x04,               // Access Size
27589                     )
27590             }, 
27591 
27592             ResourceTemplate ()
27593             {
27594                 Register (FFixedHW, 
27595                     0x08,               // Bit Width
27596                     0x10,               // Bit Offset
27597                     0x00000000C00102B0, // Address
27598                     0x04,               // Access Size
27599                     )
27600             }, 
27601 
27602             ResourceTemplate ()
27603             {
27604                 Register (FFixedHW, 
27605                     0x08,               // Bit Width
27606                     0x08,               // Bit Offset
27607                     0x00000000C00102B0, // Address
27608                     0x04,               // Access Size
27609                     )
27610             }, 
27611 
27612             ResourceTemplate ()
27613             {
27614                 Register (FFixedHW, 
27615                     0x08,               // Bit Width
27616                     0x00,               // Bit Offset
27617                     0x00000000C00102B0, // Address
27618                     0x04,               // Access Size
27619                     )
27620             }, 
27621 
27622             ResourceTemplate ()
27623             {
27624                 Register (SystemMemory, 
27625                     0x00,               // Bit Width
27626                     0x00,               // Bit Offset
27627                     0x0000000000000000, // Address
27628                     ,)
27629             }, 
27630 
27631             ResourceTemplate ()
27632             {
27633                 Register (FFixedHW, 
27634                     0x08,               // Bit Width
27635                     0x10,               // Bit Offset
27636                     0x00000000C00102B3, // Address
27637                     0x04,               // Access Size
27638                     )
27639             }, 
27640 
27641             ResourceTemplate ()
27642             {
27643                 Register (FFixedHW, 
27644                     0x08,               // Bit Width
27645                     0x08,               // Bit Offset
27646                     0x00000000C00102B3, // Address
27647                     0x04,               // Access Size
27648                     )
27649             }, 
27650 
27651             ResourceTemplate ()
27652             {
27653                 Register (FFixedHW, 
27654                     0x08,               // Bit Width
27655                     0x00,               // Bit Offset
27656                     0x00000000C00102B3, // Address
27657                     0x04,               // Access Size
27658                     )
27659             }, 
27660 
27661             ResourceTemplate ()
27662             {
27663                 Register (SystemMemory, 
27664                     0x00,               // Bit Width
27665                     0x00,               // Bit Offset
27666                     0x0000000000000000, // Address
27667                     ,)
27668             }, 
27669 
27670             ResourceTemplate ()
27671             {
27672                 Register (SystemMemory, 
27673                     0x00,               // Bit Width
27674                     0x00,               // Bit Offset
27675                     0x0000000000000000, // Address
27676                     ,)
27677             }, 
27678 
27679             ResourceTemplate ()
27680             {
27681                 Register (SystemMemory, 
27682                     0x00,               // Bit Width
27683                     0x00,               // Bit Offset
27684                     0x0000000000000000, // Address
27685                     ,)
27686             }, 
27687 
27688             ResourceTemplate ()
27689             {
27690                 Register (FFixedHW, 
27691                     0x40,               // Bit Width
27692                     0x00,               // Bit Offset
27693                     0x00000000000000E7, // Address
27694                     0x04,               // Access Size
27695                     )
27696             }, 
27697 
27698             ResourceTemplate ()
27699             {
27700                 Register (FFixedHW, 
27701                     0x40,               // Bit Width
27702                     0x00,               // Bit Offset
27703                     0x00000000000000E8, // Address
27704                     0x04,               // Access Size
27705                     )
27706             }, 
27707 
27708             ResourceTemplate ()
27709             {
27710                 Register (FFixedHW, 
27711                     0x02,               // Bit Width
27712                     0x00,               // Bit Offset
27713                     0x00000000C00102B4, // Address
27714                     0x04,               // Access Size
27715                     )
27716             }, 
27717 
27718             ResourceTemplate ()
27719             {
27720                 Register (FFixedHW, 
27721                     0x01,               // Bit Width
27722                     0x00,               // Bit Offset
27723                     0x00000000C00102B1, // Address
27724                     0x04,               // Access Size
27725                     )
27726             }, 
27727 
27728             0x00000001, 
27729             ResourceTemplate ()
27730             {
27731                 Register (SystemMemory, 
27732                     0x00,               // Bit Width
27733                     0x00,               // Bit Offset
27734                     0x0000000000000000, // Address
27735                     ,)
27736             }, 
27737 
27738             ResourceTemplate ()
27739             {
27740                 Register (FFixedHW, 
27741                     0x08,               // Bit Width
27742                     0x18,               // Bit Offset
27743                     0x00000000C00102B3, // Address
27744                     0x04,               // Access Size
27745                     )
27746             }, 
27747 
27748             ResourceTemplate ()
27749             {
27750                 Register (SystemMemory, 
27751                     0x00,               // Bit Width
27752                     0x00,               // Bit Offset
27753                     0x0000000000000000, // Address
27754                     ,)
27755             }, 
27756 
27757             0x00000190, 
27758             0x00000A8D
27759         })
27760     }
27761 
27762     Scope (\_SB.PLTF.P00D)
27763     {
27764         Name (_PCT, Package (0x02)  // _PCT: Performance Control
27765         {
27766             ResourceTemplate ()
27767             {
27768                 Register (FFixedHW, 
27769                     0x40,               // Bit Width
27770                     0x00,               // Bit Offset
27771                     0x00000000C0010062, // Address
27772                     ,)
27773             }, 
27774 
27775             ResourceTemplate ()
27776             {
27777                 Register (FFixedHW, 
27778                     0x40,               // Bit Width
27779                     0x00,               // Bit Offset
27780                     0x0000000000000000, // Address
27781                     ,)
27782             }
27783         })
27784         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
27785         {
27786             Package (0x06)
27787             {
27788                 0x00000A8C, 
27789                 0x00000CA8, 
27790                 0x00000000, 
27791                 0x00000000, 
27792                 0x00000000, 
27793                 0x00000000
27794             }, 
27795 
27796             Package (0x06)
27797             {
27798                 0x00000708, 
27799                 0x000007BC, 
27800                 0x00000000, 
27801                 0x00000000, 
27802                 0x00000001, 
27803                 0x00000001
27804             }, 
27805 
27806             Package (0x06)
27807             {
27808                 0x00000640, 
27809                 0x00000640, 
27810                 0x00000000, 
27811                 0x00000000, 
27812                 0x00000002, 
27813                 0x00000002
27814             }
27815         })
27816         Name (XPSS, Package (0x03)
27817         {
27818             Package (0x08)
27819             {
27820                 0x00000A8C, 
27821                 0x00000CA8, 
27822                 0x00000000, 
27823                 0x00000000, 
27824                 Buffer (0x08)
27825                 {
27826                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27827                 }, 
27828 
27829                 Buffer (0x08)
27830                 {
27831                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27832                 }, 
27833 
27834                 Buffer (0x08)
27835                 {
27836                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27837                 }, 
27838 
27839                 Buffer (0x08)
27840                 {
27841                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27842                 }
27843             }, 
27844 
27845             Package (0x08)
27846             {
27847                 0x00000708, 
27848                 0x000007BC, 
27849                 0x00000000, 
27850                 0x00000000, 
27851                 Buffer (0x08)
27852                 {
27853                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27854                 }, 
27855 
27856                 Buffer (0x08)
27857                 {
27858                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27859                 }, 
27860 
27861                 Buffer (0x08)
27862                 {
27863                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27864                 }, 
27865 
27866                 Buffer (0x08)
27867                 {
27868                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27869                 }
27870             }, 
27871 
27872             Package (0x08)
27873             {
27874                 0x00000640, 
27875                 0x00000640, 
27876                 0x00000000, 
27877                 0x00000000, 
27878                 Buffer (0x08)
27879                 {
27880                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27881                 }, 
27882 
27883                 Buffer (0x08)
27884                 {
27885                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27886                 }, 
27887 
27888                 Buffer (0x08)
27889                 {
27890                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27891                 }, 
27892 
27893                 Buffer (0x08)
27894                 {
27895                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
27896                 }
27897             }
27898         })
27899         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
27900         {
27901             Package (0x05)
27902             {
27903                 0x05, 
27904                 0x00, 
27905                 0x00000006, 
27906                 0x000000FE, 
27907                 0x00000002
27908             }
27909         })
27910         Name (PPCV, 0x00)
27911         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
27912         {
27913             Return (PPCV) /* \_SB_.PLTF.P00D.PPCV */
27914         }
27915 
27916         Name (_CST, Package (0x04)  // _CST: C-States
27917         {
27918             0x03, 
27919             Package (0x04)
27920             {
27921                 ResourceTemplate ()
27922                 {
27923                     Register (FFixedHW, 
27924                         0x02,               // Bit Width
27925                         0x02,               // Bit Offset
27926                         0x0000000000000000, // Address
27927                         ,)
27928                 }, 
27929 
27930                 0x01, 
27931                 0x0001, 
27932                 0x00000000
27933             }, 
27934 
27935             Package (0x04)
27936             {
27937                 ResourceTemplate ()
27938                 {
27939                     Register (SystemIO, 
27940                         0x08,               // Bit Width
27941                         0x00,               // Bit Offset
27942                         0x0000000000000414, // Address
27943                         0x01,               // Access Size
27944                         )
27945                 }, 
27946 
27947                 0x02, 
27948                 0x0012, 
27949                 0x00000000
27950             }, 
27951 
27952             Package (0x04)
27953             {
27954                 ResourceTemplate ()
27955                 {
27956                     Register (SystemIO, 
27957                         0x08,               // Bit Width
27958                         0x00,               // Bit Offset
27959                         0x0000000000000415, // Address
27960                         0x01,               // Access Size
27961                         )
27962                 }, 
27963 
27964                 0x03, 
27965                 0x015E, 
27966                 0x00000000
27967             }
27968         })
27969         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
27970         {
27971             Package (0x06)
27972             {
27973                 0x06, 
27974                 0x00, 
27975                 0x00000006, 
27976                 0x000000FE, 
27977                 0x00000002, 
27978                 0x00000000
27979             }
27980         })
27981         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
27982         {
27983             0x0000, 
27984             0x0000000000000000, 
27985             0x0003, 
27986             Package (0x0A)
27987             {
27988                 0x00000002, 
27989                 0x00000001, 
27990                 0x00000001, 
27991                 0x00000000, 
27992                 0x00000000, 
27993                 0x00000000, 
27994                 ResourceTemplate ()
27995                 {
27996                     Register (FFixedHW, 
27997                         0x02,               // Bit Width
27998                         0x02,               // Bit Offset
27999                         0x0000000000000000, // Address
28000                         ,)
28001                 }, 
28002 
28003                 ResourceTemplate ()
28004                 {
28005                     Register (SystemMemory, 
28006                         0x00,               // Bit Width
28007                         0x00,               // Bit Offset
28008                         0x0000000000000000, // Address
28009                         ,)
28010                 }, 
28011 
28012                 ResourceTemplate ()
28013                 {
28014                     Register (SystemMemory, 
28015                         0x00,               // Bit Width
28016                         0x00,               // Bit Offset
28017                         0x0000000000000000, // Address
28018                         ,)
28019                 }, 
28020 
28021                 "C1"
28022             }, 
28023 
28024             Package (0x0A)
28025             {
28026                 0x00000024, 
28027                 0x00000012, 
28028                 0x00000001, 
28029                 0x00000000, 
28030                 0x00000000, 
28031                 0x00000000, 
28032                 ResourceTemplate ()
28033                 {
28034                     Register (SystemIO, 
28035                         0x08,               // Bit Width
28036                         0x00,               // Bit Offset
28037                         0x0000000000000414, // Address
28038                         0x01,               // Access Size
28039                         )
28040                 }, 
28041 
28042                 ResourceTemplate ()
28043                 {
28044                     Register (SystemMemory, 
28045                         0x00,               // Bit Width
28046                         0x00,               // Bit Offset
28047                         0x0000000000000000, // Address
28048                         ,)
28049                 }, 
28050 
28051                 ResourceTemplate ()
28052                 {
28053                     Register (SystemMemory, 
28054                         0x00,               // Bit Width
28055                         0x00,               // Bit Offset
28056                         0x0000000000000000, // Address
28057                         ,)
28058                 }, 
28059 
28060                 "C2"
28061             }, 
28062 
28063             Package (0x0A)
28064             {
28065                 0x000002BC, 
28066                 0x0000015E, 
28067                 0x00000001, 
28068                 0x00000000, 
28069                 0x00000000, 
28070                 0x00000001, 
28071                 ResourceTemplate ()
28072                 {
28073                     Register (SystemIO, 
28074                         0x08,               // Bit Width
28075                         0x00,               // Bit Offset
28076                         0x0000000000000415, // Address
28077                         0x01,               // Access Size
28078                         )
28079                 }, 
28080 
28081                 ResourceTemplate ()
28082                 {
28083                     Register (SystemMemory, 
28084                         0x00,               // Bit Width
28085                         0x00,               // Bit Offset
28086                         0x0000000000000000, // Address
28087                         ,)
28088                 }, 
28089 
28090                 ResourceTemplate ()
28091                 {
28092                     Register (SystemMemory, 
28093                         0x00,               // Bit Width
28094                         0x00,               // Bit Offset
28095                         0x0000000000000000, // Address
28096                         ,)
28097                 }, 
28098 
28099                 "C3"
28100             }
28101         })
28102         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
28103         {
28104             0x17, 
28105             0x03, 
28106             ResourceTemplate ()
28107             {
28108                 Register (FFixedHW, 
28109                     0x08,               // Bit Width
28110                     0x18,               // Bit Offset
28111                     0x00000000C00102B0, // Address
28112                     0x04,               // Access Size
28113                     )
28114             }, 
28115 
28116             ResourceTemplate ()
28117             {
28118                 Register (FFixedHW, 
28119                     0x08,               // Bit Width
28120                     0x10,               // Bit Offset
28121                     0x00000000C00102B0, // Address
28122                     0x04,               // Access Size
28123                     )
28124             }, 
28125 
28126             ResourceTemplate ()
28127             {
28128                 Register (FFixedHW, 
28129                     0x08,               // Bit Width
28130                     0x08,               // Bit Offset
28131                     0x00000000C00102B0, // Address
28132                     0x04,               // Access Size
28133                     )
28134             }, 
28135 
28136             ResourceTemplate ()
28137             {
28138                 Register (FFixedHW, 
28139                     0x08,               // Bit Width
28140                     0x00,               // Bit Offset
28141                     0x00000000C00102B0, // Address
28142                     0x04,               // Access Size
28143                     )
28144             }, 
28145 
28146             ResourceTemplate ()
28147             {
28148                 Register (SystemMemory, 
28149                     0x00,               // Bit Width
28150                     0x00,               // Bit Offset
28151                     0x0000000000000000, // Address
28152                     ,)
28153             }, 
28154 
28155             ResourceTemplate ()
28156             {
28157                 Register (FFixedHW, 
28158                     0x08,               // Bit Width
28159                     0x10,               // Bit Offset
28160                     0x00000000C00102B3, // Address
28161                     0x04,               // Access Size
28162                     )
28163             }, 
28164 
28165             ResourceTemplate ()
28166             {
28167                 Register (FFixedHW, 
28168                     0x08,               // Bit Width
28169                     0x08,               // Bit Offset
28170                     0x00000000C00102B3, // Address
28171                     0x04,               // Access Size
28172                     )
28173             }, 
28174 
28175             ResourceTemplate ()
28176             {
28177                 Register (FFixedHW, 
28178                     0x08,               // Bit Width
28179                     0x00,               // Bit Offset
28180                     0x00000000C00102B3, // Address
28181                     0x04,               // Access Size
28182                     )
28183             }, 
28184 
28185             ResourceTemplate ()
28186             {
28187                 Register (SystemMemory, 
28188                     0x00,               // Bit Width
28189                     0x00,               // Bit Offset
28190                     0x0000000000000000, // Address
28191                     ,)
28192             }, 
28193 
28194             ResourceTemplate ()
28195             {
28196                 Register (SystemMemory, 
28197                     0x00,               // Bit Width
28198                     0x00,               // Bit Offset
28199                     0x0000000000000000, // Address
28200                     ,)
28201             }, 
28202 
28203             ResourceTemplate ()
28204             {
28205                 Register (SystemMemory, 
28206                     0x00,               // Bit Width
28207                     0x00,               // Bit Offset
28208                     0x0000000000000000, // Address
28209                     ,)
28210             }, 
28211 
28212             ResourceTemplate ()
28213             {
28214                 Register (FFixedHW, 
28215                     0x40,               // Bit Width
28216                     0x00,               // Bit Offset
28217                     0x00000000000000E7, // Address
28218                     0x04,               // Access Size
28219                     )
28220             }, 
28221 
28222             ResourceTemplate ()
28223             {
28224                 Register (FFixedHW, 
28225                     0x40,               // Bit Width
28226                     0x00,               // Bit Offset
28227                     0x00000000000000E8, // Address
28228                     0x04,               // Access Size
28229                     )
28230             }, 
28231 
28232             ResourceTemplate ()
28233             {
28234                 Register (FFixedHW, 
28235                     0x02,               // Bit Width
28236                     0x00,               // Bit Offset
28237                     0x00000000C00102B4, // Address
28238                     0x04,               // Access Size
28239                     )
28240             }, 
28241 
28242             ResourceTemplate ()
28243             {
28244                 Register (FFixedHW, 
28245                     0x01,               // Bit Width
28246                     0x00,               // Bit Offset
28247                     0x00000000C00102B1, // Address
28248                     0x04,               // Access Size
28249                     )
28250             }, 
28251 
28252             0x00000001, 
28253             ResourceTemplate ()
28254             {
28255                 Register (SystemMemory, 
28256                     0x00,               // Bit Width
28257                     0x00,               // Bit Offset
28258                     0x0000000000000000, // Address
28259                     ,)
28260             }, 
28261 
28262             ResourceTemplate ()
28263             {
28264                 Register (FFixedHW, 
28265                     0x08,               // Bit Width
28266                     0x18,               // Bit Offset
28267                     0x00000000C00102B3, // Address
28268                     0x04,               // Access Size
28269                     )
28270             }, 
28271 
28272             ResourceTemplate ()
28273             {
28274                 Register (SystemMemory, 
28275                     0x00,               // Bit Width
28276                     0x00,               // Bit Offset
28277                     0x0000000000000000, // Address
28278                     ,)
28279             }, 
28280 
28281             0x00000190, 
28282             0x00000A8D
28283         })
28284     }
28285 
28286     Scope (\_SB.PLTF.P00E)
28287     {
28288         Name (_PCT, Package (0x02)  // _PCT: Performance Control
28289         {
28290             ResourceTemplate ()
28291             {
28292                 Register (FFixedHW, 
28293                     0x40,               // Bit Width
28294                     0x00,               // Bit Offset
28295                     0x00000000C0010062, // Address
28296                     ,)
28297             }, 
28298 
28299             ResourceTemplate ()
28300             {
28301                 Register (FFixedHW, 
28302                     0x40,               // Bit Width
28303                     0x00,               // Bit Offset
28304                     0x0000000000000000, // Address
28305                     ,)
28306             }
28307         })
28308         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
28309         {
28310             Package (0x06)
28311             {
28312                 0x00000A8C, 
28313                 0x00000CA8, 
28314                 0x00000000, 
28315                 0x00000000, 
28316                 0x00000000, 
28317                 0x00000000
28318             }, 
28319 
28320             Package (0x06)
28321             {
28322                 0x00000708, 
28323                 0x000007BC, 
28324                 0x00000000, 
28325                 0x00000000, 
28326                 0x00000001, 
28327                 0x00000001
28328             }, 
28329 
28330             Package (0x06)
28331             {
28332                 0x00000640, 
28333                 0x00000640, 
28334                 0x00000000, 
28335                 0x00000000, 
28336                 0x00000002, 
28337                 0x00000002
28338             }
28339         })
28340         Name (XPSS, Package (0x03)
28341         {
28342             Package (0x08)
28343             {
28344                 0x00000A8C, 
28345                 0x00000CA8, 
28346                 0x00000000, 
28347                 0x00000000, 
28348                 Buffer (0x08)
28349                 {
28350                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28351                 }, 
28352 
28353                 Buffer (0x08)
28354                 {
28355                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28356                 }, 
28357 
28358                 Buffer (0x08)
28359                 {
28360                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28361                 }, 
28362 
28363                 Buffer (0x08)
28364                 {
28365                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28366                 }
28367             }, 
28368 
28369             Package (0x08)
28370             {
28371                 0x00000708, 
28372                 0x000007BC, 
28373                 0x00000000, 
28374                 0x00000000, 
28375                 Buffer (0x08)
28376                 {
28377                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28378                 }, 
28379 
28380                 Buffer (0x08)
28381                 {
28382                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28383                 }, 
28384 
28385                 Buffer (0x08)
28386                 {
28387                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28388                 }, 
28389 
28390                 Buffer (0x08)
28391                 {
28392                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28393                 }
28394             }, 
28395 
28396             Package (0x08)
28397             {
28398                 0x00000640, 
28399                 0x00000640, 
28400                 0x00000000, 
28401                 0x00000000, 
28402                 Buffer (0x08)
28403                 {
28404                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28405                 }, 
28406 
28407                 Buffer (0x08)
28408                 {
28409                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28410                 }, 
28411 
28412                 Buffer (0x08)
28413                 {
28414                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28415                 }, 
28416 
28417                 Buffer (0x08)
28418                 {
28419                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28420                 }
28421             }
28422         })
28423         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
28424         {
28425             Package (0x05)
28426             {
28427                 0x05, 
28428                 0x00, 
28429                 0x00000007, 
28430                 0x000000FE, 
28431                 0x00000002
28432             }
28433         })
28434         Name (PPCV, 0x00)
28435         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
28436         {
28437             Return (PPCV) /* \_SB_.PLTF.P00E.PPCV */
28438         }
28439 
28440         Name (_CST, Package (0x04)  // _CST: C-States
28441         {
28442             0x03, 
28443             Package (0x04)
28444             {
28445                 ResourceTemplate ()
28446                 {
28447                     Register (FFixedHW, 
28448                         0x02,               // Bit Width
28449                         0x02,               // Bit Offset
28450                         0x0000000000000000, // Address
28451                         ,)
28452                 }, 
28453 
28454                 0x01, 
28455                 0x0001, 
28456                 0x00000000
28457             }, 
28458 
28459             Package (0x04)
28460             {
28461                 ResourceTemplate ()
28462                 {
28463                     Register (SystemIO, 
28464                         0x08,               // Bit Width
28465                         0x00,               // Bit Offset
28466                         0x0000000000000414, // Address
28467                         0x01,               // Access Size
28468                         )
28469                 }, 
28470 
28471                 0x02, 
28472                 0x0012, 
28473                 0x00000000
28474             }, 
28475 
28476             Package (0x04)
28477             {
28478                 ResourceTemplate ()
28479                 {
28480                     Register (SystemIO, 
28481                         0x08,               // Bit Width
28482                         0x00,               // Bit Offset
28483                         0x0000000000000415, // Address
28484                         0x01,               // Access Size
28485                         )
28486                 }, 
28487 
28488                 0x03, 
28489                 0x015E, 
28490                 0x00000000
28491             }
28492         })
28493         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
28494         {
28495             Package (0x06)
28496             {
28497                 0x06, 
28498                 0x00, 
28499                 0x00000007, 
28500                 0x000000FE, 
28501                 0x00000002, 
28502                 0x00000000
28503             }
28504         })
28505         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
28506         {
28507             0x0000, 
28508             0x0000000000000000, 
28509             0x0003, 
28510             Package (0x0A)
28511             {
28512                 0x00000002, 
28513                 0x00000001, 
28514                 0x00000001, 
28515                 0x00000000, 
28516                 0x00000000, 
28517                 0x00000000, 
28518                 ResourceTemplate ()
28519                 {
28520                     Register (FFixedHW, 
28521                         0x02,               // Bit Width
28522                         0x02,               // Bit Offset
28523                         0x0000000000000000, // Address
28524                         ,)
28525                 }, 
28526 
28527                 ResourceTemplate ()
28528                 {
28529                     Register (SystemMemory, 
28530                         0x00,               // Bit Width
28531                         0x00,               // Bit Offset
28532                         0x0000000000000000, // Address
28533                         ,)
28534                 }, 
28535 
28536                 ResourceTemplate ()
28537                 {
28538                     Register (SystemMemory, 
28539                         0x00,               // Bit Width
28540                         0x00,               // Bit Offset
28541                         0x0000000000000000, // Address
28542                         ,)
28543                 }, 
28544 
28545                 "C1"
28546             }, 
28547 
28548             Package (0x0A)
28549             {
28550                 0x00000024, 
28551                 0x00000012, 
28552                 0x00000001, 
28553                 0x00000000, 
28554                 0x00000000, 
28555                 0x00000000, 
28556                 ResourceTemplate ()
28557                 {
28558                     Register (SystemIO, 
28559                         0x08,               // Bit Width
28560                         0x00,               // Bit Offset
28561                         0x0000000000000414, // Address
28562                         0x01,               // Access Size
28563                         )
28564                 }, 
28565 
28566                 ResourceTemplate ()
28567                 {
28568                     Register (SystemMemory, 
28569                         0x00,               // Bit Width
28570                         0x00,               // Bit Offset
28571                         0x0000000000000000, // Address
28572                         ,)
28573                 }, 
28574 
28575                 ResourceTemplate ()
28576                 {
28577                     Register (SystemMemory, 
28578                         0x00,               // Bit Width
28579                         0x00,               // Bit Offset
28580                         0x0000000000000000, // Address
28581                         ,)
28582                 }, 
28583 
28584                 "C2"
28585             }, 
28586 
28587             Package (0x0A)
28588             {
28589                 0x000002BC, 
28590                 0x0000015E, 
28591                 0x00000001, 
28592                 0x00000000, 
28593                 0x00000000, 
28594                 0x00000001, 
28595                 ResourceTemplate ()
28596                 {
28597                     Register (SystemIO, 
28598                         0x08,               // Bit Width
28599                         0x00,               // Bit Offset
28600                         0x0000000000000415, // Address
28601                         0x01,               // Access Size
28602                         )
28603                 }, 
28604 
28605                 ResourceTemplate ()
28606                 {
28607                     Register (SystemMemory, 
28608                         0x00,               // Bit Width
28609                         0x00,               // Bit Offset
28610                         0x0000000000000000, // Address
28611                         ,)
28612                 }, 
28613 
28614                 ResourceTemplate ()
28615                 {
28616                     Register (SystemMemory, 
28617                         0x00,               // Bit Width
28618                         0x00,               // Bit Offset
28619                         0x0000000000000000, // Address
28620                         ,)
28621                 }, 
28622 
28623                 "C3"
28624             }
28625         })
28626         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
28627         {
28628             0x17, 
28629             0x03, 
28630             ResourceTemplate ()
28631             {
28632                 Register (FFixedHW, 
28633                     0x08,               // Bit Width
28634                     0x18,               // Bit Offset
28635                     0x00000000C00102B0, // Address
28636                     0x04,               // Access Size
28637                     )
28638             }, 
28639 
28640             ResourceTemplate ()
28641             {
28642                 Register (FFixedHW, 
28643                     0x08,               // Bit Width
28644                     0x10,               // Bit Offset
28645                     0x00000000C00102B0, // Address
28646                     0x04,               // Access Size
28647                     )
28648             }, 
28649 
28650             ResourceTemplate ()
28651             {
28652                 Register (FFixedHW, 
28653                     0x08,               // Bit Width
28654                     0x08,               // Bit Offset
28655                     0x00000000C00102B0, // Address
28656                     0x04,               // Access Size
28657                     )
28658             }, 
28659 
28660             ResourceTemplate ()
28661             {
28662                 Register (FFixedHW, 
28663                     0x08,               // Bit Width
28664                     0x00,               // Bit Offset
28665                     0x00000000C00102B0, // Address
28666                     0x04,               // Access Size
28667                     )
28668             }, 
28669 
28670             ResourceTemplate ()
28671             {
28672                 Register (SystemMemory, 
28673                     0x00,               // Bit Width
28674                     0x00,               // Bit Offset
28675                     0x0000000000000000, // Address
28676                     ,)
28677             }, 
28678 
28679             ResourceTemplate ()
28680             {
28681                 Register (FFixedHW, 
28682                     0x08,               // Bit Width
28683                     0x10,               // Bit Offset
28684                     0x00000000C00102B3, // Address
28685                     0x04,               // Access Size
28686                     )
28687             }, 
28688 
28689             ResourceTemplate ()
28690             {
28691                 Register (FFixedHW, 
28692                     0x08,               // Bit Width
28693                     0x08,               // Bit Offset
28694                     0x00000000C00102B3, // Address
28695                     0x04,               // Access Size
28696                     )
28697             }, 
28698 
28699             ResourceTemplate ()
28700             {
28701                 Register (FFixedHW, 
28702                     0x08,               // Bit Width
28703                     0x00,               // Bit Offset
28704                     0x00000000C00102B3, // Address
28705                     0x04,               // Access Size
28706                     )
28707             }, 
28708 
28709             ResourceTemplate ()
28710             {
28711                 Register (SystemMemory, 
28712                     0x00,               // Bit Width
28713                     0x00,               // Bit Offset
28714                     0x0000000000000000, // Address
28715                     ,)
28716             }, 
28717 
28718             ResourceTemplate ()
28719             {
28720                 Register (SystemMemory, 
28721                     0x00,               // Bit Width
28722                     0x00,               // Bit Offset
28723                     0x0000000000000000, // Address
28724                     ,)
28725             }, 
28726 
28727             ResourceTemplate ()
28728             {
28729                 Register (SystemMemory, 
28730                     0x00,               // Bit Width
28731                     0x00,               // Bit Offset
28732                     0x0000000000000000, // Address
28733                     ,)
28734             }, 
28735 
28736             ResourceTemplate ()
28737             {
28738                 Register (FFixedHW, 
28739                     0x40,               // Bit Width
28740                     0x00,               // Bit Offset
28741                     0x00000000000000E7, // Address
28742                     0x04,               // Access Size
28743                     )
28744             }, 
28745 
28746             ResourceTemplate ()
28747             {
28748                 Register (FFixedHW, 
28749                     0x40,               // Bit Width
28750                     0x00,               // Bit Offset
28751                     0x00000000000000E8, // Address
28752                     0x04,               // Access Size
28753                     )
28754             }, 
28755 
28756             ResourceTemplate ()
28757             {
28758                 Register (FFixedHW, 
28759                     0x02,               // Bit Width
28760                     0x00,               // Bit Offset
28761                     0x00000000C00102B4, // Address
28762                     0x04,               // Access Size
28763                     )
28764             }, 
28765 
28766             ResourceTemplate ()
28767             {
28768                 Register (FFixedHW, 
28769                     0x01,               // Bit Width
28770                     0x00,               // Bit Offset
28771                     0x00000000C00102B1, // Address
28772                     0x04,               // Access Size
28773                     )
28774             }, 
28775 
28776             0x00000001, 
28777             ResourceTemplate ()
28778             {
28779                 Register (SystemMemory, 
28780                     0x00,               // Bit Width
28781                     0x00,               // Bit Offset
28782                     0x0000000000000000, // Address
28783                     ,)
28784             }, 
28785 
28786             ResourceTemplate ()
28787             {
28788                 Register (FFixedHW, 
28789                     0x08,               // Bit Width
28790                     0x18,               // Bit Offset
28791                     0x00000000C00102B3, // Address
28792                     0x04,               // Access Size
28793                     )
28794             }, 
28795 
28796             ResourceTemplate ()
28797             {
28798                 Register (SystemMemory, 
28799                     0x00,               // Bit Width
28800                     0x00,               // Bit Offset
28801                     0x0000000000000000, // Address
28802                     ,)
28803             }, 
28804 
28805             0x00000190, 
28806             0x00000A8D
28807         })
28808     }
28809 
28810     Scope (\_SB.PLTF.P00F)
28811     {
28812         Name (_PCT, Package (0x02)  // _PCT: Performance Control
28813         {
28814             ResourceTemplate ()
28815             {
28816                 Register (FFixedHW, 
28817                     0x40,               // Bit Width
28818                     0x00,               // Bit Offset
28819                     0x00000000C0010062, // Address
28820                     ,)
28821             }, 
28822 
28823             ResourceTemplate ()
28824             {
28825                 Register (FFixedHW, 
28826                     0x40,               // Bit Width
28827                     0x00,               // Bit Offset
28828                     0x0000000000000000, // Address
28829                     ,)
28830             }
28831         })
28832         Name (_PSS, Package (0x03)  // _PSS: Performance Supported States
28833         {
28834             Package (0x06)
28835             {
28836                 0x00000A8C, 
28837                 0x00000CA8, 
28838                 0x00000000, 
28839                 0x00000000, 
28840                 0x00000000, 
28841                 0x00000000
28842             }, 
28843 
28844             Package (0x06)
28845             {
28846                 0x00000708, 
28847                 0x000007BC, 
28848                 0x00000000, 
28849                 0x00000000, 
28850                 0x00000001, 
28851                 0x00000001
28852             }, 
28853 
28854             Package (0x06)
28855             {
28856                 0x00000640, 
28857                 0x00000640, 
28858                 0x00000000, 
28859                 0x00000000, 
28860                 0x00000002, 
28861                 0x00000002
28862             }
28863         })
28864         Name (XPSS, Package (0x03)
28865         {
28866             Package (0x08)
28867             {
28868                 0x00000A8C, 
28869                 0x00000CA8, 
28870                 0x00000000, 
28871                 0x00000000, 
28872                 Buffer (0x08)
28873                 {
28874                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28875                 }, 
28876 
28877                 Buffer (0x08)
28878                 {
28879                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28880                 }, 
28881 
28882                 Buffer (0x08)
28883                 {
28884                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28885                 }, 
28886 
28887                 Buffer (0x08)
28888                 {
28889                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28890                 }
28891             }, 
28892 
28893             Package (0x08)
28894             {
28895                 0x00000708, 
28896                 0x000007BC, 
28897                 0x00000000, 
28898                 0x00000000, 
28899                 Buffer (0x08)
28900                 {
28901                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28902                 }, 
28903 
28904                 Buffer (0x08)
28905                 {
28906                      0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28907                 }, 
28908 
28909                 Buffer (0x08)
28910                 {
28911                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28912                 }, 
28913 
28914                 Buffer (0x08)
28915                 {
28916                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28917                 }
28918             }, 
28919 
28920             Package (0x08)
28921             {
28922                 0x00000640, 
28923                 0x00000640, 
28924                 0x00000000, 
28925                 0x00000000, 
28926                 Buffer (0x08)
28927                 {
28928                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28929                 }, 
28930 
28931                 Buffer (0x08)
28932                 {
28933                      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28934                 }, 
28935 
28936                 Buffer (0x08)
28937                 {
28938                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28939                 }, 
28940 
28941                 Buffer (0x08)
28942                 {
28943                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
28944                 }
28945             }
28946         })
28947         Name (_PSD, Package (0x01)  // _PSD: Power State Dependencies
28948         {
28949             Package (0x05)
28950             {
28951                 0x05, 
28952                 0x00, 
28953                 0x00000007, 
28954                 0x000000FE, 
28955                 0x00000002
28956             }
28957         })
28958         Name (PPCV, 0x00)
28959         Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present Capabilities
28960         {
28961             Return (PPCV) /* \_SB_.PLTF.P00F.PPCV */
28962         }
28963 
28964         Name (_CST, Package (0x04)  // _CST: C-States
28965         {
28966             0x03, 
28967             Package (0x04)
28968             {
28969                 ResourceTemplate ()
28970                 {
28971                     Register (FFixedHW, 
28972                         0x02,               // Bit Width
28973                         0x02,               // Bit Offset
28974                         0x0000000000000000, // Address
28975                         ,)
28976                 }, 
28977 
28978                 0x01, 
28979                 0x0001, 
28980                 0x00000000
28981             }, 
28982 
28983             Package (0x04)
28984             {
28985                 ResourceTemplate ()
28986                 {
28987                     Register (SystemIO, 
28988                         0x08,               // Bit Width
28989                         0x00,               // Bit Offset
28990                         0x0000000000000414, // Address
28991                         0x01,               // Access Size
28992                         )
28993                 }, 
28994 
28995                 0x02, 
28996                 0x0012, 
28997                 0x00000000
28998             }, 
28999 
29000             Package (0x04)
29001             {
29002                 ResourceTemplate ()
29003                 {
29004                     Register (SystemIO, 
29005                         0x08,               // Bit Width
29006                         0x00,               // Bit Offset
29007                         0x0000000000000415, // Address
29008                         0x01,               // Access Size
29009                         )
29010                 }, 
29011 
29012                 0x03, 
29013                 0x015E, 
29014                 0x00000000
29015             }
29016         })
29017         Name (_CSD, Package (0x01)  // _CSD: C-State Dependencies
29018         {
29019             Package (0x06)
29020             {
29021                 0x06, 
29022                 0x00, 
29023                 0x00000007, 
29024                 0x000000FE, 
29025                 0x00000002, 
29026                 0x00000000
29027             }
29028         })
29029         Name (_LPI, Package (0x06)  // _LPI: Low Power Idle States
29030         {
29031             0x0000, 
29032             0x0000000000000000, 
29033             0x0003, 
29034             Package (0x0A)
29035             {
29036                 0x00000002, 
29037                 0x00000001, 
29038                 0x00000001, 
29039                 0x00000000, 
29040                 0x00000000, 
29041                 0x00000000, 
29042                 ResourceTemplate ()
29043                 {
29044                     Register (FFixedHW, 
29045                         0x02,               // Bit Width
29046                         0x02,               // Bit Offset
29047                         0x0000000000000000, // Address
29048                         ,)
29049                 }, 
29050 
29051                 ResourceTemplate ()
29052                 {
29053                     Register (SystemMemory, 
29054                         0x00,               // Bit Width
29055                         0x00,               // Bit Offset
29056                         0x0000000000000000, // Address
29057                         ,)
29058                 }, 
29059 
29060                 ResourceTemplate ()
29061                 {
29062                     Register (SystemMemory, 
29063                         0x00,               // Bit Width
29064                         0x00,               // Bit Offset
29065                         0x0000000000000000, // Address
29066                         ,)
29067                 }, 
29068 
29069                 "C1"
29070             }, 
29071 
29072             Package (0x0A)
29073             {
29074                 0x00000024, 
29075                 0x00000012, 
29076                 0x00000001, 
29077                 0x00000000, 
29078                 0x00000000, 
29079                 0x00000000, 
29080                 ResourceTemplate ()
29081                 {
29082                     Register (SystemIO, 
29083                         0x08,               // Bit Width
29084                         0x00,               // Bit Offset
29085                         0x0000000000000414, // Address
29086                         0x01,               // Access Size
29087                         )
29088                 }, 
29089 
29090                 ResourceTemplate ()
29091                 {
29092                     Register (SystemMemory, 
29093                         0x00,               // Bit Width
29094                         0x00,               // Bit Offset
29095                         0x0000000000000000, // Address
29096                         ,)
29097                 }, 
29098 
29099                 ResourceTemplate ()
29100                 {
29101                     Register (SystemMemory, 
29102                         0x00,               // Bit Width
29103                         0x00,               // Bit Offset
29104                         0x0000000000000000, // Address
29105                         ,)
29106                 }, 
29107 
29108                 "C2"
29109             }, 
29110 
29111             Package (0x0A)
29112             {
29113                 0x000002BC, 
29114                 0x0000015E, 
29115                 0x00000001, 
29116                 0x00000000, 
29117                 0x00000000, 
29118                 0x00000001, 
29119                 ResourceTemplate ()
29120                 {
29121                     Register (SystemIO, 
29122                         0x08,               // Bit Width
29123                         0x00,               // Bit Offset
29124                         0x0000000000000415, // Address
29125                         0x01,               // Access Size
29126                         )
29127                 }, 
29128 
29129                 ResourceTemplate ()
29130                 {
29131                     Register (SystemMemory, 
29132                         0x00,               // Bit Width
29133                         0x00,               // Bit Offset
29134                         0x0000000000000000, // Address
29135                         ,)
29136                 }, 
29137 
29138                 ResourceTemplate ()
29139                 {
29140                     Register (SystemMemory, 
29141                         0x00,               // Bit Width
29142                         0x00,               // Bit Offset
29143                         0x0000000000000000, // Address
29144                         ,)
29145                 }, 
29146 
29147                 "C3"
29148             }
29149         })
29150         Name (_CPC, Package (0x17)  // _CPC: Continuous Performance Control
29151         {
29152             0x17, 
29153             0x03, 
29154             ResourceTemplate ()
29155             {
29156                 Register (FFixedHW, 
29157                     0x08,               // Bit Width
29158                     0x18,               // Bit Offset
29159                     0x00000000C00102B0, // Address
29160                     0x04,               // Access Size
29161                     )
29162             }, 
29163 
29164             ResourceTemplate ()
29165             {
29166                 Register (FFixedHW, 
29167                     0x08,               // Bit Width
29168                     0x10,               // Bit Offset
29169                     0x00000000C00102B0, // Address
29170                     0x04,               // Access Size
29171                     )
29172             }, 
29173 
29174             ResourceTemplate ()
29175             {
29176                 Register (FFixedHW, 
29177                     0x08,               // Bit Width
29178                     0x08,               // Bit Offset
29179                     0x00000000C00102B0, // Address
29180                     0x04,               // Access Size
29181                     )
29182             }, 
29183 
29184             ResourceTemplate ()
29185             {
29186                 Register (FFixedHW, 
29187                     0x08,               // Bit Width
29188                     0x00,               // Bit Offset
29189                     0x00000000C00102B0, // Address
29190                     0x04,               // Access Size
29191                     )
29192             }, 
29193 
29194             ResourceTemplate ()
29195             {
29196                 Register (SystemMemory, 
29197                     0x00,               // Bit Width
29198                     0x00,               // Bit Offset
29199                     0x0000000000000000, // Address
29200                     ,)
29201             }, 
29202 
29203             ResourceTemplate ()
29204             {
29205                 Register (FFixedHW, 
29206                     0x08,               // Bit Width
29207                     0x10,               // Bit Offset
29208                     0x00000000C00102B3, // Address
29209                     0x04,               // Access Size
29210                     )
29211             }, 
29212 
29213             ResourceTemplate ()
29214             {
29215                 Register (FFixedHW, 
29216                     0x08,               // Bit Width
29217                     0x08,               // Bit Offset
29218                     0x00000000C00102B3, // Address
29219                     0x04,               // Access Size
29220                     )
29221             }, 
29222 
29223             ResourceTemplate ()
29224             {
29225                 Register (FFixedHW, 
29226                     0x08,               // Bit Width
29227                     0x00,               // Bit Offset
29228                     0x00000000C00102B3, // Address
29229                     0x04,               // Access Size
29230                     )
29231             }, 
29232 
29233             ResourceTemplate ()
29234             {
29235                 Register (SystemMemory, 
29236                     0x00,               // Bit Width
29237                     0x00,               // Bit Offset
29238                     0x0000000000000000, // Address
29239                     ,)
29240             }, 
29241 
29242             ResourceTemplate ()
29243             {
29244                 Register (SystemMemory, 
29245                     0x00,               // Bit Width
29246                     0x00,               // Bit Offset
29247                     0x0000000000000000, // Address
29248                     ,)
29249             }, 
29250 
29251             ResourceTemplate ()
29252             {
29253                 Register (SystemMemory, 
29254                     0x00,               // Bit Width
29255                     0x00,               // Bit Offset
29256                     0x0000000000000000, // Address
29257                     ,)
29258             }, 
29259 
29260             ResourceTemplate ()
29261             {
29262                 Register (FFixedHW, 
29263                     0x40,               // Bit Width
29264                     0x00,               // Bit Offset
29265                     0x00000000000000E7, // Address
29266                     0x04,               // Access Size
29267                     )
29268             }, 
29269 
29270             ResourceTemplate ()
29271             {
29272                 Register (FFixedHW, 
29273                     0x40,               // Bit Width
29274                     0x00,               // Bit Offset
29275                     0x00000000000000E8, // Address
29276                     0x04,               // Access Size
29277                     )
29278             }, 
29279 
29280             ResourceTemplate ()
29281             {
29282                 Register (FFixedHW, 
29283                     0x02,               // Bit Width
29284                     0x00,               // Bit Offset
29285                     0x00000000C00102B4, // Address
29286                     0x04,               // Access Size
29287                     )
29288             }, 
29289 
29290             ResourceTemplate ()
29291             {
29292                 Register (FFixedHW, 
29293                     0x01,               // Bit Width
29294                     0x00,               // Bit Offset
29295                     0x00000000C00102B1, // Address
29296                     0x04,               // Access Size
29297                     )
29298             }, 
29299 
29300             0x00000001, 
29301             ResourceTemplate ()
29302             {
29303                 Register (SystemMemory, 
29304                     0x00,               // Bit Width
29305                     0x00,               // Bit Offset
29306                     0x0000000000000000, // Address
29307                     ,)
29308             }, 
29309 
29310             ResourceTemplate ()
29311             {
29312                 Register (FFixedHW, 
29313                     0x08,               // Bit Width
29314                     0x18,               // Bit Offset
29315                     0x00000000C00102B3, // Address
29316                     0x04,               // Access Size
29317                     )
29318             }, 
29319 
29320             ResourceTemplate ()
29321             {
29322                 Register (SystemMemory, 
29323                     0x00,               // Bit Width
29324                     0x00,               // Bit Offset
29325                     0x0000000000000000, // Address
29326                     ,)
29327             }, 
29328 
29329             0x00000190, 
29330             0x00000A8D
29331         })
29332     }
29333 
29334     Scope (\_SB.PCI0.GP17.VGA)
29335     {
29336         Name (M207, Buffer (0xFF){})
29337         Name (M208, Buffer (0x03){})
29338         Name (M204, One)
29339         Method (ATCS, 2, Serialized)
29340         {
29341             If ((Arg0 == Zero))
29342             {
29343                 M000 (0x0D60)
29344                 ATC0 ()
29345                 M000 (0x0D70)
29346             }
29347 
29348             If ((Arg0 == One))
29349             {
29350                 M000 (0x0D61)
29351                 ATC1 ()
29352                 M000 (0x0D71)
29353             }
29354 
29355             If ((Arg0 == 0x02))
29356             {
29357                 M000 (0x0D62)
29358                 ATC2 (Arg1)
29359                 M000 (0x0D72)
29360             }
29361 
29362             If ((Arg0 == 0x03))
29363             {
29364                 M000 (0x0D63)
29365                 ATC3 ()
29366                 M000 (0x0D73)
29367             }
29368 
29369             If ((Arg0 == 0x04))
29370             {
29371                 M000 (0x0D64)
29372                 ATC4 (Arg1)
29373                 M000 (0x0D74)
29374             }
29375 
29376             If ((Arg0 == 0x06))
29377             {
29378                 M000 (0x0D66)
29379                 ATC6 (Arg1)
29380                 M000 (0x0D76)
29381             }
29382 
29383             If ((Arg0 == 0x07))
29384             {
29385                 M000 (0x0D67)
29386                 ATC7 (Arg1)
29387                 M000 (0x0D77)
29388             }
29389 
29390             If ((Arg0 == 0x08))
29391             {
29392                 M000 (0x0D68)
29393                 ATC8 (DerefOf (Arg1 [0x02]), DerefOf (Arg1 [0x03]), DerefOf (
29394                     Arg1 [0x04]), DerefOf (Arg1 [0x05]))
29395                 M000 (0x0D78)
29396             }
29397 
29398             If ((Arg0 == 0x09))
29399             {
29400                 M000 (0x0D69)
29401                 ATC9 ()
29402                 M000 (0x0D79)
29403             }
29404 
29405             If ((Arg0 == 0x0A))
29406             {
29407                 M000 (0x0D6A)
29408                 ATCA (Arg1)
29409                 M000 (0x0D7A)
29410             }
29411 
29412             Return (M207) /* \_SB_.PCI0.GP17.VGA_.M207 */
29413         }
29414 
29415         Method (ATC0, 0, NotSerialized)
29416         {
29417             CreateWordField (M207, Zero, M157)
29418             CreateWordField (M207, 0x02, M158)
29419             CreateDWordField (M207, 0x04, M160)
29420             M157 = 0x08
29421             M158 = One
29422             M160 = M100 /* External reference */
29423             M207 = \_SB.ALIB (Zero, M207)
29424         }
29425 
29426         Method (ATC1, 0, Serialized)
29427         {
29428             CreateWordField (M207, Zero, M157)
29429             CreateDWordField (M207, 0x02, M161)
29430             CreateDWordField (M207, 0x06, M162)
29431             CreateField (M207, 0x30, One, M203)
29432             M157 = 0x0A
29433             M161 = One
29434             M162 = M100 /* External reference */
29435             Local0 = M049 (M133, 0x15)
29436             If ((Local0 & 0x80))
29437             {
29438                 M204 = (Local0 & One)
29439             }
29440             ElseIf ((Local0 & 0x7F))
29441             {
29442                 M204 = M113 (Local0)
29443             }
29444 
29445             M203 = M204 /* \_SB_.PCI0.GP17.VGA_.M204 */
29446         }
29447 
29448         Method (ATC2, 1, Serialized)
29449         {
29450             CreateWordField (M207, Zero, M157)
29451             CreateByteField (M207, 0x02, M205)
29452             M157 = 0x03
29453             M205 = One
29454             M207 = \_SB.ALIB (0x02, Arg0)
29455         }
29456 
29457         Method (ATC3, 0, Serialized)
29458         {
29459             CreateWordField (M207, Zero, M157)
29460             CreateByteField (M207, 0x02, M205)
29461             CreateWordField (M208, Zero, M197)
29462             CreateByteField (M208, 0x02, M206)
29463             M157 = 0x03
29464             M205 = One
29465             M197 = 0x03
29466             M206 = One
29467             M207 = \_SB.ALIB (0x03, M208)
29468         }
29469 
29470         Method (ATC4, 1, Serialized)
29471         {
29472             CreateWordField (M207, Zero, M157)
29473             CreateByteField (M207, 0x02, M209)
29474             M157 = 0x03
29475             M209 = One
29476             M207 = \_SB.ALIB (0x04, Arg0)
29477         }
29478 
29479         Method (ATC6, 1, Serialized)
29480         {
29481             CreateWordField (M207, Zero, M157)
29482             CreateDWordField (M207, 0x02, M234)
29483             M157 = 0x06
29484             M234 = M233 /* External reference */
29485         }
29486 
29487         Method (ATC7, 1, Serialized)
29488         {
29489             M232 (M235, Zero, One)
29490         }
29491 
29492         Method (ATC8, 4, Serialized)
29493         {
29494             Local0 = Buffer (0x05){}
29495             CreateWordField (Local0, Zero, M157)
29496             CreateByteField (Local0, 0x02, M425)
29497             CreateWordField (Local0, 0x03, M426)
29498             M157 = 0x05
29499             Local1 = Arg0
29500             Local2 = Arg1
29501             M426 = ((Local2 << 0x08) + Local1)
29502             Local3 = Arg2
29503             Local4 = Arg3
29504             If (((Local3 == Zero) && (Local4 == Zero)))
29505             {
29506                 M425 = One
29507                 \_SB.ALIB (0xAA, Local0)
29508             }
29509             ElseIf (((Local3 == Zero) && (Local4 == One)))
29510             {
29511                 M425 = Zero
29512                 \_SB.ALIB (0xAA, Local0)
29513             }
29514             ElseIf (((Local3 == 0x03) && (Local4 == One)))
29515             {
29516                 M425 = 0x03
29517                 \_SB.ALIB (0xAA, Local0)
29518             }
29519         }
29520 
29521         Method (ATC9, 0, Serialized)
29522         {
29523             M207 = M444 /* External reference */
29524         }
29525 
29526         Method (ATCA, 1, Serialized)
29527         {
29528             CreateWordField (Arg0, Zero, M157)
29529             CreateWordField (Arg0, 0x02, M240)
29530             M232 (M23A, M240, One)
29531         }
29532 
29533         Method (XTRM, 2, Serialized)
29534         {
29535             If ((M105 == Zero))
29536             {
29537                 Return (Buffer (One)
29538                 {
29539                      0x00                                             // .
29540                 })
29541             }
29542 
29543             Local4 = M105 /* External reference */
29544             If ((Local4 > 0x00010000))
29545             {
29546                 Local4 = 0x00010000
29547             }
29548 
29549             Local5 = Arg0
29550             Local6 = Arg1
29551             If ((Local6 > 0x1000))
29552             {
29553                 Local6 = 0x1000
29554             }
29555 
29556             If ((Local5 >= Local4))
29557             {
29558                 Return (Buffer (Local6)
29559                 {
29560                      0x00                                             // .
29561                 })
29562             }
29563 
29564             If ((((Local5 & 0x0FFF) + Local6) > 0x1000))
29565             {
29566                 Local6 = (0x1000 - (Local5 & 0x0FFF))
29567             }
29568 
29569             Name (M202, Buffer (0x1000)
29570             {
29571                  0x00                                             // .
29572             })
29573             If (((Local5 & 0xF000) == Zero))
29574             {
29575                 M202 = M106 /* External reference */
29576             }
29577             ElseIf (((Local5 & 0xF000) == 0x1000))
29578             {
29579                 M202 = M378 /* External reference */
29580             }
29581             ElseIf (((Local5 & 0xF000) == 0x2000))
29582             {
29583                 M202 = M379 /* External reference */
29584             }
29585             ElseIf (((Local5 & 0xF000) == 0x3000))
29586             {
29587                 M202 = M380 /* External reference */
29588             }
29589             ElseIf (((Local5 & 0xF000) == 0x4000))
29590             {
29591                 M202 = M381 /* External reference */
29592             }
29593             ElseIf (((Local5 & 0xF000) == 0x5000))
29594             {
29595                 M202 = M382 /* External reference */
29596             }
29597             ElseIf (((Local5 & 0xF000) == 0x6000))
29598             {
29599                 M202 = M383 /* External reference */
29600             }
29601             ElseIf (((Local5 & 0xF000) == 0x7000))
29602             {
29603                 M202 = M384 /* External reference */
29604             }
29605             ElseIf (((Local5 & 0xF000) == 0x8000))
29606             {
29607                 M202 = M385 /* External reference */
29608             }
29609             ElseIf (((Local5 & 0xF000) == 0x9000))
29610             {
29611                 M202 = M386 /* External reference */
29612             }
29613             ElseIf (((Local5 & 0xF000) == 0xA000))
29614             {
29615                 M202 = M387 /* External reference */
29616             }
29617             ElseIf (((Local5 & 0xF000) == 0xB000))
29618             {
29619                 M202 = M388 /* External reference */
29620             }
29621             ElseIf (((Local5 & 0xF000) == 0xC000))
29622             {
29623                 M202 = M389 /* External reference */
29624             }
29625             ElseIf (((Local5 & 0xF000) == 0xD000))
29626             {
29627                 M202 = M390 /* External reference */
29628             }
29629             ElseIf (((Local5 & 0xF000) == 0xE000))
29630             {
29631                 M202 = M391 /* External reference */
29632             }
29633             ElseIf (((Local5 & 0xF000) == 0xF000))
29634             {
29635                 M202 = M392 /* External reference */
29636             }
29637 
29638             If (((Local5 + Local6) <= Local4))
29639             {
29640                 If ((Local6 == 0x1000))
29641                 {
29642                     Return (M202) /* \_SB_.PCI0.GP17.VGA_.XTRM.M202 */
29643                 }
29644             }
29645             Else
29646             {
29647                 Local6 = (Local4 - Local5)
29648             }
29649 
29650             Name (M393, Buffer (Local6)
29651             {
29652                  0x00                                             // .
29653             })
29654             CreateField (M202, ((Local5 & 0x0FFF) * 0x08), (Local6 * 0x08
29655                 ), M394)
29656             M393 = M394 /* \_SB_.PCI0.GP17.VGA_.XTRM.M394 */
29657             Return (M393) /* \_SB_.PCI0.GP17.VGA_.XTRM.M393 */
29658         }
29659     }
29660 
29661     Method (AFN0, 0, Serialized)
29662     {
29663         If ((M087 == Zero))
29664         {
29665             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN0))
29666             {
29667                 \_SB.PCI0.GP17.VGA.AFN0 ()
29668             }
29669         }
29670 
29671         If ((M087 == One))
29672         {
29673             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN0))
29674             {
29675                 \_SB.PCI0.GPP0.VGA.AFN0 ()
29676             }
29677 
29678             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN0))
29679             {
29680                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN0 ()
29681             }
29682         }
29683     }
29684 
29685     Method (AFN1, 1, Serialized)
29686     {
29687         If ((M087 == Zero))
29688         {
29689             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN1))
29690             {
29691                 \_SB.PCI0.GP17.VGA.AFN1 (Arg0)
29692             }
29693         }
29694 
29695         If ((M087 == One))
29696         {
29697             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN1))
29698             {
29699                 \_SB.PCI0.GPP0.VGA.AFN1 (Arg0)
29700             }
29701 
29702             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN1))
29703             {
29704                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN1 (Arg0)
29705             }
29706         }
29707     }
29708 
29709     Method (AFN2, 2, Serialized)
29710     {
29711         If ((M087 == Zero))
29712         {
29713             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN2))
29714             {
29715                 \_SB.PCI0.GP17.VGA.AFN2 (Arg0, Arg1)
29716             }
29717         }
29718 
29719         If ((M087 == One))
29720         {
29721             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN2))
29722             {
29723                 \_SB.PCI0.GPP0.VGA.AFN2 (Arg0, Arg1)
29724             }
29725 
29726             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN2))
29727             {
29728                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN2 (Arg0, Arg1)
29729             }
29730         }
29731     }
29732 
29733     Method (AFN3, 2, Serialized)
29734     {
29735         If ((M087 == Zero))
29736         {
29737             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN3))
29738             {
29739                 \_SB.PCI0.GP17.VGA.AFN3 (Arg0, Arg1)
29740             }
29741         }
29742 
29743         If ((M087 == One))
29744         {
29745             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN3))
29746             {
29747                 \_SB.PCI0.GPP0.VGA.AFN3 (Arg0, Arg1)
29748             }
29749 
29750             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN3))
29751             {
29752                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN3 (Arg0, Arg1)
29753             }
29754         }
29755     }
29756 
29757     Method (AFN4, 1, Serialized)
29758     {
29759         If ((M087 == Zero))
29760         {
29761             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN4))
29762             {
29763                 \_SB.PCI0.GP17.VGA.AFN4 (Arg0)
29764             }
29765         }
29766 
29767         If ((M087 == One))
29768         {
29769             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN4))
29770             {
29771                 \_SB.PCI0.GPP0.VGA.AFN4 (Arg0)
29772             }
29773 
29774             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN4))
29775             {
29776                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN4 (Arg0)
29777             }
29778         }
29779     }
29780 
29781     Method (AFN5, 0, Serialized)
29782     {
29783         If ((M087 == Zero))
29784         {
29785             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN5))
29786             {
29787                 \_SB.PCI0.GP17.VGA.AFN5 ()
29788             }
29789         }
29790 
29791         If ((M087 == One))
29792         {
29793             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN5))
29794             {
29795                 \_SB.PCI0.GPP0.VGA.AFN5 ()
29796             }
29797 
29798             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN5))
29799             {
29800                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN5 ()
29801             }
29802         }
29803     }
29804 
29805     Method (AFN6, 0, Serialized)
29806     {
29807         If ((M087 == Zero))
29808         {
29809             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN6))
29810             {
29811                 \_SB.PCI0.GP17.VGA.AFN6 ()
29812             }
29813         }
29814 
29815         If ((M087 == One))
29816         {
29817             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN6))
29818             {
29819                 \_SB.PCI0.GPP0.VGA.AFN6 ()
29820             }
29821 
29822             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN6))
29823             {
29824                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN6 ()
29825             }
29826         }
29827     }
29828 
29829     Method (AFN7, 1, Serialized)
29830     {
29831         If ((M087 == Zero))
29832         {
29833             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN7))
29834             {
29835                 \_SB.PCI0.GP17.VGA.AFN7 (Arg0)
29836             }
29837         }
29838 
29839         If ((M087 == One))
29840         {
29841             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN7))
29842             {
29843                 \_SB.PCI0.GPP0.VGA.AFN7 (Arg0)
29844             }
29845 
29846             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN7))
29847             {
29848                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN7 (Arg0)
29849             }
29850         }
29851     }
29852 
29853     Method (AFN8, 0, Serialized)
29854     {
29855         If ((M087 == Zero))
29856         {
29857             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN8))
29858             {
29859                 \_SB.PCI0.GP17.VGA.AFN8 ()
29860             }
29861         }
29862 
29863         If ((M087 == One))
29864         {
29865             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFN8))
29866             {
29867                 \_SB.PCI0.GPP0.VGA.AFN8 ()
29868             }
29869 
29870             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN8))
29871             {
29872                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFN8 ()
29873             }
29874         }
29875     }
29876 
29877     Method (AFNC, 2, Serialized)
29878     {
29879         If ((M087 == Zero))
29880         {
29881             If (CondRefOf (\_SB.PCI0.GP17.VGA.AFNC))
29882             {
29883                 \_SB.PCI0.GP17.VGA.AFNC (Arg0, Arg1)
29884             }
29885         }
29886 
29887         If ((M087 == One))
29888         {
29889             If (CondRefOf (\_SB.PCI0.GPP0.VGA.AFNC))
29890             {
29891                 \_SB.PCI0.GPP0.VGA.AFNC (Arg0, Arg1)
29892             }
29893 
29894             If (CondRefOf (\_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFNC))
29895             {
29896                 \_SB.PCI0.GPP0.SWUS.SWDS.VGA.AFNC (Arg0, Arg1)
29897             }
29898         }
29899     }
29900 
29901     Scope (\_SB)
29902     {
29903         Name (MACO, Zero)
29904     }
29905 
29906     Scope (\_SB.PCI0.GP17.VGA)
29907     {
29908         Name (M189, Buffer (0x0100){})
29909         Name (M190, Ones)
29910         Name (M191, Ones)
29911         Method (ATPX, 2, Serialized)
29912         {
29913             M460 ("  FEA-ASL-ATPX Function %d\n", Arg0, Zero, Zero, Zero, Zero, Zero)
29914             If ((Arg0 == Zero))
29915             {
29916                 Return (PX00 ())
29917             }
29918 
29919             If ((Arg0 == One))
29920             {
29921                 Return (PX01 ())
29922             }
29923 
29924             If ((Arg0 == 0x02))
29925             {
29926                 PX02 (DerefOf (Arg1 [0x02]))
29927                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29928             }
29929 
29930             If ((Arg0 == 0x03))
29931             {
29932                 PX03 (DerefOf (Arg1 [0x02]))
29933                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29934             }
29935 
29936             If ((Arg0 == 0x04))
29937             {
29938                 PX04 (DerefOf (Arg1 [0x02]))
29939                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29940             }
29941 
29942             If ((Arg0 == 0x08))
29943             {
29944                 Return (PX08 ())
29945             }
29946 
29947             If ((Arg0 == 0x09))
29948             {
29949                 Return (PX09 ())
29950             }
29951 
29952             If ((Arg0 == 0x0A))
29953             {
29954                 PX10 (DerefOf (Arg1 [0x02]))
29955                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29956             }
29957 
29958             If ((Arg0 == 0x0B))
29959             {
29960                 PX11 (DerefOf (Arg1 [0x02]))
29961                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29962             }
29963 
29964             If ((Arg0 == 0x0C))
29965             {
29966                 PX12 (DerefOf (Arg1 [0x02]))
29967                 Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29968             }
29969 
29970             CreateWordField (M189, Zero, M157)
29971             CreateWordField (M189, 0x02, M158)
29972             CreateDWordField (M189, 0x04, M160)
29973             M157 = Zero
29974             M158 = Zero
29975             M160 = Zero
29976             Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
29977         }
29978 
29979         Method (PX00, 0, NotSerialized)
29980         {
29981             CreateWordField (M189, Zero, M157)
29982             CreateWordField (M189, 0x02, M158)
29983             CreateDWordField (M189, 0x04, M160)
29984             M157 = 0x08
29985             M158 = One
29986             M160 = M098 /* External reference */
29987             If (((M098 & 0x02) == 0x02))
29988             {
29989                 Local5 = 0x7FFFFFFF
29990                 Local5 |= 0x80000000
29991                 Local0 = M019 (M095, M094, M093, 0x2C)
29992                 Local1 = M019 (M095, M094, (M093 + One), 0x2C)
29993                 If ((Local0 != Local5))
29994                 {
29995                     M190 = Local0
29996                 }
29997 
29998                 If ((Local1 != Local5))
29999                 {
30000                     M191 = Local1
30001                 }
30002             }
30003 
30004             M460 ("    Return Supported Functions Bit Vector = 0x%X\n", M160, Zero, Zero, Zero, Zero, Zero)
30005             Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
30006         }
30007 
30008         Method (PX01, 0, NotSerialized)
30009         {
30010             CreateWordField (M189, Zero, M157)
30011             CreateDWordField (M189, 0x02, M161)
30012             CreateDWordField (M189, 0x06, M162)
30013             M157 = 0x0A
30014             M161 = 0x000C4800
30015             M162 = M099 /* External reference */
30016             M460 ("    Return Valid Flags Mask = 0x%X  Flags = 0x%X\n", M161, M162, Zero, Zero, Zero, Zero)
30017             Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
30018         }
30019 
30020         Method (PX02, 1, NotSerialized)
30021         {
30022             CreateWordField (M189, Zero, M157)
30023             CreateByteField (M189, 0x02, M192)
30024             M157 = 0x03
30025             M192 = (Arg0 & One)
30026             Local7 = Buffer (0x05){}
30027             CreateWordField (Local7, Zero, M197)
30028             CreateField (Local7, 0x10, 0x03, M200)
30029             CreateField (Local7, 0x13, 0x05, M199)
30030             CreateByteField (Local7, 0x03, M198)
30031             CreateByteField (Local7, 0x04, M201)
30032             M197 = 0x05
30033             M198 = Zero
30034             M199 = M091 /* External reference */
30035             M200 = M090 /* External reference */
30036             Name (HPOK, Zero)
30037             Local0 = M049 (M133, 0x11)
30038             Local6 = M113 (Local0)
30039             M023 (Zero, M091, M090)
30040             If ((M192 && Local6))
30041             {
30042                 M000 (0x0D86)
30043                 M112 (Local0, Zero)
30044                 M111 (Local0, One)
30045                 Sleep (0x20)
30046                 M112 (Local0, 0x02)
30047                 M112 (Local0, One)
30048                 M000 (0x0D87)
30049                 HPOK = Zero
30050                 Sleep (0x14)
30051                 M201 = One
30052                 Local6 = \_SB.ALIB (0x06, Local7)
30053                 Local2 = Zero
30054                 While ((Local2 < 0x0F))
30055                 {
30056                     M023 (Zero, M091, M090)
30057                     Local4 = One
30058                     Local5 = 0xC8
30059                     While ((Local4 && Local5))
30060                     {
30061                         Local0 = M021 (Zero, M091, M090, 0xA5)
30062                         Local0 &= 0x7F
30063                         If (((Local0 >= 0x10) && (Local0 != 0x7F)))
30064                         {
30065                             Local4 = Zero
30066                         }
30067                         Else
30068                         {
30069                             Sleep (0x05)
30070                             Local5--
30071                         }
30072                     }
30073 
30074                     If (!Local4)
30075                     {
30076                         Local5 = M024 (Zero, M091, M090)
30077                         If (Local5)
30078                         {
30079                             M026 (Zero, M091, M090)
30080                             Sleep (0x05)
30081                             Local2++
30082                         }
30083                         Else
30084                         {
30085                             Local0 = Zero
30086                             If ((M025 (Zero, M091, M090, Zero) == Ones))
30087                             {
30088                                 Local0 = One
30089                             }
30090 
30091                             If (Local0)
30092                             {
30093                                 M111 (M049 (M133, 0x17), One)
30094                                 M111 (M049 (M133, 0x18), One)
30095                                 HPOK = One
30096                                 Local2 = 0x10
30097                             }
30098                             Else
30099                             {
30100                                 HPOK = Zero
30101                                 Local2 = 0x10
30102                             }
30103                         }
30104                     }
30105                     Else
30106                     {
30107                         Local2 = 0x10
30108                     }
30109                 }
30110 
30111                 If (!HPOK)
30112                 {
30113                     M000 (0x0D88)
30114                     Local1 = M019 (M095, M094, M093, Zero)
30115                     Sleep (0x0A)
30116                     Local4 = One
30117                     Local5 = 0x05
30118                     While ((Local4 && Local5))
30119                     {
30120                         Local0 = M021 (Zero, M091, M090, 0xA5)
30121                         Local0 &= 0x7F
30122                         If (((Local0 <= 0x04) || (Local0 == 0x1F)))
30123                         {
30124                             Local4 = Zero
30125                         }
30126                         Else
30127                         {
30128                             Local0 = M019 (M095, M094, M093, Zero)
30129                             Sleep (0x05)
30130                             Local5--
30131                         }
30132                     }
30133 
30134                     M201 = Zero
30135                     \_SB.ALIB (0x06, Local7)
30136                 }
30137 
30138                 If ((M097 != Zero))
30139                 {
30140                     Local0 = M019 (Zero, M091, M090, 0x54)
30141                     M020 (Zero, M091, M090, 0x54, (Local0 & 0xFFFF7FFC))
30142                     M232 (M097, Zero, 0x10)
30143                     M020 (Zero, M091, M090, 0x54, (Local0 & 0xFFFF7FFF))
30144                 }
30145 
30146                 M000 (0x0D89)
30147             }
30148             Else
30149             {
30150                 M000 (0x0D8A)
30151                 M201 = Zero
30152                 \_SB.ALIB (0x06, Local7)
30153                 M000 (0x0D8B)
30154                 M111 (M049 (M133, 0x17), Zero)
30155                 M111 (M049 (M133, 0x18), Zero)
30156                 M112 (Local0, Zero)
30157                 Sleep (0x0A)
30158                 M111 (Local0, Zero)
30159                 M023 (Zero, M091, M090)
30160                 Local1 = M019 (M095, M094, M093, Zero)
30161                 Sleep (0x0A)
30162                 Local4 = One
30163                 Local5 = 0x05
30164                 While ((Local4 && Local5))
30165                 {
30166                     Local0 = M021 (Zero, M091, M090, 0xA5)
30167                     Local0 &= 0x7F
30168                     If (((Local0 <= 0x04) || (Local0 == 0x1F)))
30169                     {
30170                         Local4 = Zero
30171                     }
30172                     Else
30173                     {
30174                         Local1 = M019 (M095, M094, M093, Zero)
30175                         Sleep (0x05)
30176                         Local5--
30177                     }
30178                 }
30179 
30180                 HPOK = 0x02
30181                 M000 (0x0D8C)
30182             }
30183 
30184             If (HPOK)
30185             {
30186                 Local5 = 0x7FFFFFFF
30187                 Local5 |= 0x80000000
30188                 Local1 = M019 (Zero, M091, M090, 0x54)
30189                 M020 (Zero, M091, M090, 0x54, (Local1 & 0xFFFF7FFC))
30190                 Local0 = M019 (M095, M094, M093, Zero)
30191                 If (((HPOK == One) && (Local0 != Local5)))
30192                 {
30193                     M020 (M095, M094, M093, 0x4C, M190)
30194                     Sleep (0x0A)
30195                     If ((M191 != Local5))
30196                     {
30197                         M020 (M095, M094, (M093 + One), 0x4C, M191)
30198                     }
30199 
30200                     Sleep (0x0A)
30201                 }
30202 
30203                 M020 (Zero, M091, M090, 0x54, (Local1 & 0xFFFF7FFF))
30204             }
30205         }
30206 
30207         Method (PX03, 1, NotSerialized)
30208         {
30209             CreateWordField (M189, Zero, M157)
30210             CreateWordField (M189, 0x02, M195)
30211             M157 = 0x04
30212             M195 = (Arg0 & One)
30213             If (M195)
30214             {
30215                 M111 (M049 (M133, 0x17), One)
30216             }
30217             Else
30218             {
30219                 M111 (M049 (M133, 0x17), Zero)
30220             }
30221         }
30222 
30223         Method (PX04, 1, NotSerialized)
30224         {
30225             CreateWordField (M189, Zero, M157)
30226             CreateWordField (M189, 0x02, M196)
30227             M157 = 0x04
30228             M196 = (Arg0 & One)
30229             If (M196)
30230             {
30231                 M111 (M049 (M133, 0x18), One)
30232             }
30233             Else
30234             {
30235                 M111 (M049 (M133, 0x18), Zero)
30236             }
30237         }
30238 
30239         Method (PX08, 0, NotSerialized)
30240         {
30241             CreateWordField (M189, Zero, M193)
30242             CreateWordField (M189, 0x02, M157)
30243             Local0 = M049 (M133, 0x19)
30244             M193 = Local0
30245             M157 = 0x05
30246             Local0 *= M157 /* \_SB_.PCI0.GP17.VGA_.PX08.M157 */
30247             Local1 = Zero
30248             While ((Local1 < Local0))
30249             {
30250                 Local2 = M049 (M133, (0x1A + Local1))
30251                 M189 [(0x04 + Local1)] = Local2
30252                 Local1++
30253             }
30254 
30255             Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
30256         }
30257 
30258         Method (PX09, 0, NotSerialized)
30259         {
30260             CreateWordField (M189, Zero, M193)
30261             CreateWordField (M189, 0x02, M157)
30262             Local0 = M049 (M133, 0x7E)
30263             M193 = Local0
30264             M157 = 0x03
30265             Local0 *= M157 /* \_SB_.PCI0.GP17.VGA_.PX09.M157 */
30266             Local1 = Zero
30267             While ((Local1 < Local0))
30268             {
30269                 Local2 = M049 (M133, (0x7F + Local1))
30270                 M189 [(0x04 + Local1)] = Local2
30271                 Local1++
30272             }
30273 
30274             Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
30275         }
30276 
30277         Method (PX10, 1, NotSerialized)
30278         {
30279             CreateWordField (M189, Zero, M157)
30280             CreateByteField (M189, 0x02, M192)
30281             M157 = 0x03
30282             M192 = (Arg0 & One)
30283             \_SB.MACO = (Arg0 & One)
30284             M460 ("    Set _SB.MACO to %d\n", Arg0, Zero, Zero, Zero, Zero, Zero)
30285         }
30286 
30287         Method (PX11, 1, NotSerialized)
30288         {
30289             CreateWordField (M189, Zero, M157)
30290             CreateByteField (M189, 0x02, M162)
30291             M157 = 0x03
30292             M162 = (Arg0 & One)
30293             Local2 = M162 /* \_SB_.PCI0.GP17.VGA_.PX11.M162 */
30294             Local0 = M131 /* External reference */
30295             If (Local0)
30296             {
30297                 Local0 = M049 (M131, 0x10)
30298                 Local1 = M049 (M131, 0x11)
30299                 Local1 = (M084 + ((Local0 * 0x0100) + Local1))
30300                 M012 (Local1, 0x0E, Zero, One, Local2)
30301             }
30302         }
30303 
30304         Method (PX12, 1, NotSerialized)
30305         {
30306             CreateWordField (M189, Zero, M157)
30307             CreateByteField (M189, 0x02, M162)
30308             M157 = 0x03
30309             Local0 = M049 (M133, 0x17)
30310             If ((Local0 != Zero))
30311             {
30312                 M111 (Local0, (Arg0 & One))
30313             }
30314 
30315             M460 ("    Set Display Panel Reset to %d\n", Arg0, Zero, Zero, Zero, Zero, Zero)
30316         }
30317 
30318         Name (ATIB, Buffer (0x0100){})
30319         Method (ATIF, 2, Serialized)
30320         {
30321             If ((Arg0 == Zero))
30322             {
30323                 Return (AF00 ())
30324             }
30325 
30326             If ((Arg0 == One))
30327             {
30328                 Return (AF01 ())
30329             }
30330 
30331             If ((Arg0 == 0x02))
30332             {
30333                 Return (AF02 ())
30334             }
30335 
30336             If ((Arg0 == 0x03))
30337             {
30338                 Return (AF03 (DerefOf (Arg1 [0x02]), DerefOf (Arg1 [0x04])))
30339             }
30340 
30341             If ((Arg0 == 0x04))
30342             {
30343                 Return (AF04 ())
30344             }
30345 
30346             If ((Arg0 == 0x0F))
30347             {
30348                 Return (AF15 ())
30349             }
30350 
30351             If ((Arg0 == 0x10))
30352             {
30353                 Return (AF16 (DerefOf (Arg1 [0x02])))
30354             }
30355 
30356             If ((Arg0 == 0x17))
30357             {
30358                 Return (AF23 ())
30359             }
30360             Else
30361             {
30362                 CreateWordField (ATIB, Zero, M157)
30363                 CreateWordField (ATIB, 0x02, M158)
30364                 CreateDWordField (ATIB, 0x04, M159)
30365                 CreateDWordField (ATIB, 0x08, M160)
30366                 M157 = Zero
30367                 M158 = Zero
30368                 M159 = Zero
30369                 M160 = Zero
30370                 Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30371             }
30372         }
30373 
30374         Method (AF00, 0, NotSerialized)
30375         {
30376             CreateWordField (ATIB, Zero, M157)
30377             CreateWordField (ATIB, 0x02, M158)
30378             CreateDWordField (ATIB, 0x04, M159)
30379             CreateDWordField (ATIB, 0x08, M160)
30380             M157 = 0x0C
30381             M158 = One
30382             M159 = M101 /* External reference */
30383             If (!CondRefOf (\_SB.LID._LID))
30384             {
30385                 M102 &= 0xFFFFFFF7
30386             }
30387 
30388             M160 = M102 /* External reference */
30389             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30390         }
30391 
30392         Method (AF01, 0, NotSerialized)
30393         {
30394             CreateWordField (ATIB, Zero, M157)
30395             CreateDWordField (ATIB, 0x02, M161)
30396             CreateDWordField (ATIB, 0x06, M162)
30397             CreateByteField (ATIB, 0x0A, M163)
30398             Local0 = (M103 & 0xFF000000)
30399             Local1 = (M103 & 0x03)
30400             If ((Local1 == 0x02))
30401             {
30402                 M157 = 0x0B
30403                 M161 = 0x03
30404                 M162 = Local1
30405                 M163 = Local0
30406             }
30407             Else
30408             {
30409                 M157 = 0x0A
30410                 M161 = 0x03
30411                 M162 = M103 /* External reference */
30412             }
30413 
30414             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30415         }
30416 
30417         Name (M164, Buffer (0x04)
30418         {
30419              0x00, 0x00, 0x00, 0x00                           // ....
30420         })
30421         Name (M210, Zero)
30422         Name (M211, Zero)
30423         Name (M212, Zero)
30424         Name (M213, Zero)
30425         Name (M214, Zero)
30426         Name (M215, Zero)
30427         Name (M303, Zero)
30428         Name (M304, Zero)
30429         Name (SSDM, 0x0A)
30430         Name (SCDY, Zero)
30431         Method (AF02, 0, NotSerialized)
30432         {
30433             CreateBitField (M164, Zero, M165)
30434             CreateBitField (M164, One, M166)
30435             CreateBitField (M164, 0x02, M167)
30436             CreateBitField (M164, 0x03, M168)
30437             CreateBitField (M164, 0x04, M169)
30438             CreateBitField (M164, 0x05, M170)
30439             CreateBitField (M164, 0x06, M171)
30440             CreateBitField (M164, 0x07, M172)
30441             CreateBitField (M164, 0x08, M173)
30442             CreateBitField (M164, 0x0C, M300)
30443             CreateWordField (ATIB, Zero, M157)
30444             CreateDWordField (ATIB, 0x02, M174)
30445             CreateByteField (ATIB, 0x06, M175)
30446             CreateByteField (ATIB, 0x07, M176)
30447             CreateByteField (ATIB, 0x08, M177)
30448             CreateByteField (ATIB, 0x09, M178)
30449             CreateByteField (ATIB, 0x0A, M179)
30450             CreateByteField (ATIB, 0x0B, M180)
30451             CreateByteField (ATIB, 0x0C, M181)
30452             CreateByteField (ATIB, 0x0D, M301)
30453             CreateDWordField (ATIB, 0x0E, M302)
30454             M157 = 0x12
30455             M174 = M164 /* \_SB_.PCI0.GP17.VGA_.M164 */
30456             If (M165)
30457             {
30458                 M165 = Zero
30459             }
30460 
30461             If (M166)
30462             {
30463                 M175 = M210 /* \_SB_.PCI0.GP17.VGA_.M210 */
30464                 M210 = Zero
30465                 M166 = Zero
30466             }
30467 
30468             If (M167)
30469             {
30470                 M176 = M211 /* \_SB_.PCI0.GP17.VGA_.M211 */
30471                 M177 = M212 /* \_SB_.PCI0.GP17.VGA_.M212 */
30472                 M211 = Zero
30473                 M212 = Zero
30474                 M167 = Zero
30475             }
30476 
30477             If (M168)
30478             {
30479                 M178 = M213 /* \_SB_.PCI0.GP17.VGA_.M213 */
30480                 M179 = M214 /* \_SB_.PCI0.GP17.VGA_.M214 */
30481                 M213 = Zero
30482                 M214 = Zero
30483                 M168 = Zero
30484             }
30485 
30486             If (M169)
30487             {
30488                 M180 = M215 /* \_SB_.PCI0.GP17.VGA_.M215 */
30489                 M169 = Zero
30490             }
30491 
30492             If (M171)
30493             {
30494                 M171 = Zero
30495             }
30496 
30497             If (M172)
30498             {
30499                 M172 = Zero
30500             }
30501 
30502             If (M173)
30503             {
30504                 M173 = Zero
30505             }
30506 
30507             If (M300)
30508             {
30509                 M301 = M303 /* \_SB_.PCI0.GP17.VGA_.M303 */
30510                 M302 = M304 /* \_SB_.PCI0.GP17.VGA_.M304 */
30511                 M303 = Zero
30512                 M304 = Zero
30513                 M300 = Zero
30514             }
30515 
30516             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30517         }
30518 
30519         Method (AF03, 2, NotSerialized)
30520         {
30521             CreateWordField (ATIB, Zero, M157)
30522             CreateWordField (ATIB, 0x02, M182)
30523             CreateWordField (ATIB, 0x04, M183)
30524             M182 = Arg0
30525             M183 = Arg1
30526             Name (M184, 0x06)
30527             Name (M185, 0x06)
30528             Name (M186, Buffer (0x14)
30529             {
30530                  0x00                                             // .
30531             })
30532             Name (M187, Zero)
30533             M187 = M049 (M133, 0xBF)
30534             Local1 = Zero
30535             While ((Local1 < M187))
30536             {
30537                 Local2 = M049 (M133, (0xC0 + Local1))
30538                 M186 [Local1] = Local2
30539                 Local1++
30540             }
30541 
30542             Local1 = M182 /* \_SB_.PCI0.GP17.VGA_.AF03.M182 */
30543             Local1 &= 0x8B
30544             Local2 = M183 /* \_SB_.PCI0.GP17.VGA_.AF03.M183 */
30545             If (CondRefOf (\_SB.LID._LID))
30546             {
30547                 Local0 = \_SB.LID._LID ()
30548                 Local2 &= 0xFFFFFFFE
30549                 Local2 |= Local0
30550             }
30551 
30552             Local0 = Zero
30553             While ((Local0 < M187))
30554             {
30555                 Local3 = DerefOf (M186 [Local0])
30556                 If ((Local3 == Local1))
30557                 {
30558                     M185 = Local0
30559                     Local0 = M187 /* \_SB_.PCI0.GP17.VGA_.AF03.M187 */
30560                 }
30561                 Else
30562                 {
30563                     Local0++
30564                 }
30565             }
30566 
30567             Local0 = M185 /* \_SB_.PCI0.GP17.VGA_.AF03.M185 */
30568             While ((Local0 < M187))
30569             {
30570                 Local0++
30571                 If ((Local0 == M187))
30572                 {
30573                     Local0 = Zero
30574                 }
30575 
30576                 Local3 = DerefOf (M186 [Local0])
30577                 If (((Local3 & Local2) == Local3))
30578                 {
30579                     M184 = Local0
30580                     Local0 = M187 /* \_SB_.PCI0.GP17.VGA_.AF03.M187 */
30581                 }
30582             }
30583 
30584             If ((M184 == M187))
30585             {
30586                 M182 = Zero
30587             }
30588             Else
30589             {
30590                 Local0 = M184 /* \_SB_.PCI0.GP17.VGA_.AF03.M184 */
30591                 Local3 = DerefOf (M186 [Local0])
30592                 M182 &= 0xFFFFFFF4
30593                 M182 |= Local3
30594             }
30595 
30596             M157 = 0x04
30597             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30598         }
30599 
30600         Method (AF04, 0, NotSerialized)
30601         {
30602             CreateWordField (ATIB, Zero, M157)
30603             CreateByteField (ATIB, 0x02, M188)
30604             M157 = 0x03
30605             Local1 = Zero
30606             If (CondRefOf (\_SB.LID._LID))
30607             {
30608                 Local0 = \_SB.LID._LID ()
30609                 Local1 = (Local0 ^ One)
30610             }
30611 
30612             M188 = Local1
30613             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30614         }
30615 
30616         Method (AF15, 0, NotSerialized)
30617         {
30618             ATIB = M104 /* External reference */
30619             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30620         }
30621 
30622         Method (AF16, 1, NotSerialized)
30623         {
30624             Local0 = M013 (M133, 0xD4, Zero, 0x10)
30625             If (Local0)
30626             {
30627                 Local1 = Zero
30628                 While ((Local1 < Local0))
30629                 {
30630                     Local2 = M049 (M133, (0xD4 + Local1))
30631                     ATIB [Local1] = Local2
30632                     Local1++
30633                 }
30634             }
30635             Else
30636             {
30637                 Local3 = M043 (Zero, Arg0, Zero)
30638                 If ((ObjectType (Local3) == 0x03))
30639                 {
30640                     ATIB = Local3
30641                 }
30642                 Else
30643                 {
30644                     ATIB [Zero] = 0x05
30645                     ATIB [One] = Zero
30646                     ATIB [0x02] = Zero
30647                     ATIB [0x03] = Zero
30648                     ATIB [0x04] = 0x02
30649                 }
30650             }
30651 
30652             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30653         }
30654 
30655         Method (AF23, 0, NotSerialized)
30656         {
30657             ATIB = M449 /* External reference */
30658             Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
30659         }
30660 
30661         Method (AFN0, 0, Serialized)
30662         {
30663             If ((M101 & One))
30664             {
30665                 CreateBitField (M164, Zero, M165)
30666                 M165 = One
30667                 Notify (VGA, 0x81) // Information Change
30668             }
30669         }
30670 
30671         Method (AFN1, 1, Serialized)
30672         {
30673             If ((M101 & 0x02))
30674             {
30675                 Local0 = Arg0
30676                 M210 = Local0
30677                 CreateBitField (M164, One, M166)
30678                 M166 = One
30679                 Notify (VGA, 0x81) // Information Change
30680             }
30681         }
30682 
30683         Method (AFN2, 2, Serialized)
30684         {
30685             If ((M101 & 0x04))
30686             {
30687                 Local0 = Arg0
30688                 M212 = Local0
30689                 Local0 = Arg1
30690                 M211 = Local0 &= 0x03
30691                 CreateBitField (M164, 0x02, M167)
30692                 M167 = One
30693                 Notify (VGA, 0x81) // Information Change
30694             }
30695         }
30696 
30697         Method (AFN3, 2, Serialized)
30698         {
30699             If ((M101 & 0x08))
30700             {
30701                 Local0 = Arg0
30702                 M214 = Local0
30703                 Local0 = Arg1
30704                 M213 = Local0 &= 0x03
30705                 CreateBitField (M164, 0x03, M168)
30706                 M168 = One
30707                 Notify (VGA, 0x81) // Information Change
30708             }
30709         }
30710 
30711         Method (AFN4, 1, Serialized)
30712         {
30713             If ((M101 & 0x10))
30714             {
30715                 Local0 = Arg0
30716                 Local1 = M215 /* \_SB_.PCI0.GP17.VGA_.M215 */
30717                 M215 = Local0
30718                 If ((Local0 == Local1)){}
30719                 Else
30720                 {
30721                     CreateBitField (M164, 0x04, M169)
30722                     M169 = One
30723                     Notify (VGA, 0x81) // Information Change
30724                 }
30725             }
30726         }
30727 
30728         Method (AFN5, 0, Serialized)
30729         {
30730             If ((M101 & 0x20))
30731             {
30732                 CreateBitField (M164, 0x05, M170)
30733                 M170 = One
30734                 Notify (VGA, 0x81) // Information Change
30735             }
30736         }
30737 
30738         Method (AFN6, 0, Serialized)
30739         {
30740             If ((M101 & 0x40))
30741             {
30742                 CreateBitField (M164, 0x06, M171)
30743                 M171 = One
30744                 Notify (VGA, 0x81) // Information Change
30745             }
30746         }
30747 
30748         Method (AFN7, 1, Serialized)
30749         {
30750             If ((M101 & 0x80))
30751             {
30752                 CreateBitField (M164, 0x07, M172)
30753                 M172 = One
30754                 CreateByteField (ATIB, 0x0C, M181)
30755                 M181 = Arg0
30756                 Notify (VGA, 0x81) // Information Change
30757             }
30758         }
30759 
30760         Method (AFN8, 0, Serialized)
30761         {
30762             If ((M101 & 0x0100))
30763             {
30764                 CreateBitField (M164, 0x08, M173)
30765                 M173 = One
30766             }
30767         }
30768 
30769         Method (AFNC, 2, Serialized)
30770         {
30771             If ((M101 & 0x1000))
30772             {
30773                 Local0 = (Arg0 & 0x03)
30774                 M303 = Local0
30775                 Local0 = (Arg1 & Ones)
30776                 M304 = Local0
30777                 CreateBitField (M164, 0x0C, M300)
30778                 M300 = One
30779                 Notify (VGA, 0x81) // Information Change
30780             }
30781         }
30782     }
30783 
30784     Scope (\_SB)
30785     {
30786         Name (PF0A, 0xD7DCC914)
30787         Name (PF3A, 0xD7DCC921)
30788         Name (PF5A, 0xD7DCC946)
30789         Name (PF6A, 0xD7DCC9D8)
30790         Name (PF9A, 0xD7DCCA0C)
30791         Name (PFBA, 0xD7DCCAC4)
30792         Name (PFCA, 0xD7DCCB58)
30793         Name (PFDA, 0xD7DCCBEC)
30794         Name (PRME, Zero)
30795         OperationRegion (PMT0, SystemMemory, PF0A, 0x0D)
30796         Field (PMT0, ByteAcc, Lock, Preserve)
30797         {
30798             M481,   32, 
30799             M482,   32, 
30800             M483,   8, 
30801             M493,   32
30802         }
30803 
30804         Device (PMF)
30805         {
30806             Name (_HID, "AMDI0100")  // _HID: Hardware ID
30807             Name (_UID, Zero)  // _UID: Unique ID
30808             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
30809             {
30810                 Memory32Fixed (ReadWrite,
30811                     0xD85CF000,         // Address Base
30812                     0x0004B000,         // Address Length
30813                     )
30814             })
30815             Name (M4B0, Zero)
30816             Name (M4B1, Zero)
30817             Name (M4B2, Zero)
30818             Name (M4B3, Zero)
30819             Name (M4B4, Zero)
30820             Name (M4B5, Zero)
30821             Name (M4B6, Zero)
30822             Name (M4B7, Zero)
30823             Name (M4B8, Zero)
30824             Name (M4B9, Zero)
30825             Name (M4BA, Zero)
30826             Name (M4BB, Zero)
30827             Name (M4BC, Zero)
30828             Name (M480, Buffer (0xFF){})
30829             Method (APMF, 2, Serialized)
30830             {
30831                 Switch (Arg0)
30832                 {
30833                     Case (Zero)
30834                     {
30835                         PMF0 ()
30836                         Return (M480) /* \_SB_.PMF_.M480 */
30837                     }
30838                     Case (One)
30839                     {
30840                         PMF1 ()
30841                         Return (M480) /* \_SB_.PMF_.M480 */
30842                     }
30843                     Case (0x02)
30844                     {
30845                         PMF2 ()
30846                         Return (M480) /* \_SB_.PMF_.M480 */
30847                     }
30848                     Case (0x03)
30849                     {
30850                         PMF3 ()
30851                         Return (M480) /* \_SB_.PMF_.M480 */
30852                     }
30853                     Case (0x04)
30854                     {
30855                         PMF4 ()
30856                     }
30857                     Case (0x05)
30858                     {
30859                         PMF5 ()
30860                         Return (M480) /* \_SB_.PMF_.M480 */
30861                     }
30862                     Case (0x06)
30863                     {
30864                         PMF6 ()
30865                         Return (M480) /* \_SB_.PMF_.M480 */
30866                     }
30867                     Case (0x07)
30868                     {
30869                         PMF7 (Arg1)
30870                     }
30871                     Case (0x08)
30872                     {
30873                         PMF8 (Arg1)
30874                     }
30875                     Case (0x09)
30876                     {
30877                         PMF9 ()
30878                         Return (M480) /* \_SB_.PMF_.M480 */
30879                     }
30880                     Case (0x0A)
30881                     {
30882                         PMFA (Arg1)
30883                     }
30884                     Case (0x0B)
30885                     {
30886                         PMFB ()
30887                         Return (M480) /* \_SB_.PMF_.M480 */
30888                     }
30889                     Case (0x0C)
30890                     {
30891                         PMFC ()
30892                         Return (M480) /* \_SB_.PMF_.M480 */
30893                     }
30894                     Case (0x0D)
30895                     {
30896                         PMFD ()
30897                         Return (M480) /* \_SB_.PMF_.M480 */
30898                     }
30899                     Case (0x0E)
30900                     {
30901                         PMFE (Arg1)
30902                     }
30903 
30904                 }
30905             }
30906 
30907             Method (PMF0, 0, Serialized)
30908             {
30909                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 0 call PMF0\n", Zero, Zero, Zero, Zero, Zero, Zero)
30910                 CreateWordField (M480, Zero, M157)
30911                 CreateWordField (M480, 0x02, M158)
30912                 CreateDWordField (M480, 0x04, M159)
30913                 CreateDWordField (M480, 0x08, M160)
30914                 M157 = 0x0C
30915                 M158 = One
30916                 M159 = M481 /* \_SB_.M481 */
30917                 M160 = M482 /* \_SB_.M482 */
30918             }
30919 
30920             Method (PMF1, 0, Serialized)
30921             {
30922                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 1 call PMF1\n", Zero, Zero, Zero, Zero, Zero, Zero)
30923                 CreateWordField (M480, Zero, M157)
30924                 CreateDWordField (M480, 0x02, M161)
30925                 CreateDWordField (M480, 0x06, M162)
30926                 CreateByteField (M480, 0x0A, M163)
30927                 CreateDWordField (M480, 0x0B, M492)
30928                 M157 = 0x0F
30929                 M161 = 0x03
30930                 If ((M483 == 0x81))
30931                 {
30932                     M162 = One
30933                 }
30934                 ElseIf (((M483 >= 0xD0) && (M483 <= 0xD9)))
30935                 {
30936                     M162 = 0x02
30937                     M163 = M483 /* \_SB_.M483 */
30938                 }
30939                 Else
30940                 {
30941                     M162 = Zero
30942                 }
30943 
30944                 M492 = M493 /* \_SB_.M493 */
30945             }
30946 
30947             Method (PMF2, 0, Serialized)
30948             {
30949                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 2 call PMF2.\n", Zero, Zero, Zero, Zero, Zero, Zero)
30950                 CreateWordField (M480, Zero, M157)
30951                 CreateDWordField (M480, 0x02, M484)
30952                 CreateByteField (M480, 0x07, M485)
30953                 CreateByteField (M480, 0x08, M486)
30954                 CreateDWordField (M480, 0x09, M487)
30955                 CreateDWordField (M480, 0x0D, M488)
30956                 CreateDWordField (M480, 0x11, M489)
30957                 CreateDWordField (M480, 0x15, M48A)
30958                 CreateDWordField (M480, 0x19, M48B)
30959                 CreateByteField (M480, 0x1D, M48C)
30960                 CreateByteField (M480, 0x1E, M48D)
30961                 CreateByteField (M480, 0x1F, M497)
30962                 CreateDWordField (M480, 0x20, M498)
30963                 CreateDWordField (M480, 0x24, M499)
30964                 M157 = 0x1F
30965                 M484 = M4B0 /* \_SB_.PMF_.M4B0 */
30966                 M485 = M4B1 /* \_SB_.PMF_.M4B1 */
30967                 M485 = M4B1 /* \_SB_.PMF_.M4B1 */
30968                 M486 = M4B2 /* \_SB_.PMF_.M4B2 */
30969                 M487 = M4B3 /* \_SB_.PMF_.M4B3 */
30970                 M488 = M4B4 /* \_SB_.PMF_.M4B4 */
30971                 M489 = M4B5 /* \_SB_.PMF_.M4B5 */
30972                 M48A = M4B6 /* \_SB_.PMF_.M4B6 */
30973                 M48B = M4B7 /* \_SB_.PMF_.M4B7 */
30974                 M48C = M4B8 /* \_SB_.PMF_.M4B8 */
30975                 M48D = M4B9 /* \_SB_.PMF_.M4B9 */
30976                 M497 = M4BA /* \_SB_.PMF_.M4BA */
30977                 M498 = M4BB /* \_SB_.PMF_.M4BB */
30978                 M499 = M4BC /* \_SB_.PMF_.M4BC */
30979             }
30980 
30981             Method (PMF3, 0, Serialized)
30982             {
30983                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 3 call PMF3.\n", Zero, Zero, Zero, Zero, Zero, Zero)
30984                 Local0 = M013 (PF3A, Zero, Zero, 0x10)
30985                 Local1 = Zero
30986                 While ((Local1 < Local0))
30987                 {
30988                     Local2 = M011 (PF3A, Local1, Zero, 0x08)
30989                     M480 [Local1] = Local2
30990                     Local1++
30991                 }
30992             }
30993 
30994             Method (PMF4, 0, Serialized)
30995             {
30996                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 4 call PMF4.\n", Zero, Zero, Zero, Zero, Zero, Zero)
30997                 If (CondRefOf (\_SB.APX4))
30998                 {
30999                     M460 ("  Call OEM ACPI APX4\n", Zero, Zero, Zero, Zero, Zero, Zero)
31000                     \_SB.APX4 ()
31001                 }
31002             }
31003 
31004             Method (PMF5, 0, Serialized)
31005             {
31006                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 5 call PMF5.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31007                 Local0 = M013 (PF5A, Zero, Zero, 0x10)
31008                 Local1 = Zero
31009                 While ((Local1 < Local0))
31010                 {
31011                     Local2 = M011 (PF5A, Local1, Zero, 0x08)
31012                     M480 [Local1] = Local2
31013                     Local1++
31014                 }
31015             }
31016 
31017             Method (PMF6, 0, Serialized)
31018             {
31019                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 6 call PMF6.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31020                 Local0 = M013 (PF6A, Zero, Zero, 0x10)
31021                 Local1 = Zero
31022                 While ((Local1 < Local0))
31023                 {
31024                     Local2 = M011 (PF6A, Local1, Zero, 0x08)
31025                     M480 [Local1] = Local2
31026                     Local1++
31027                 }
31028             }
31029 
31030             Method (PMF7, 1, Serialized)
31031             {
31032                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 7 call PMF7\n", Zero, Zero, Zero, Zero, Zero, Zero)
31033                 CreateByteField (Arg0, 0x02, M48E)
31034                 CreateDWordField (Arg0, 0x03, M48F)
31035                 M460 ("  FanControlMode: 0x%x\n", M48E, Zero, Zero, Zero, Zero, Zero)
31036                 M460 ("  FanControlIndex: 0x%x\n", M48F, Zero, Zero, Zero, Zero, Zero)
31037                 If (CondRefOf (\_SB.APX7))
31038                 {
31039                     M460 ("  Call OEM ACPI APX7\n", Zero, Zero, Zero, Zero, Zero, Zero)
31040                     \_SB.APX7 (M48E, M48F)
31041                 }
31042             }
31043 
31044             Method (PMF8, 1, Serialized)
31045             {
31046                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 8 call PMF8\n", Zero, Zero, Zero, Zero, Zero, Zero)
31047                 CreateByteField (Arg0, 0x02, M490)
31048                 M460 ("  Slider Event Notification: 0x%x\n", M490, Zero, Zero, Zero, Zero, Zero)
31049                 If (CondRefOf (\_SB.APX8))
31050                 {
31051                     M460 ("  Call OEM ACPI APX8\n", Zero, Zero, Zero, Zero, Zero, Zero)
31052                     PRME = M490 /* \_SB_.PMF_.PMF8.M490 */
31053                     \_SB.PCI0.SBRG.H_EC.ADP1._PSR ()
31054                     \_SB.APX8 (M490)
31055                 }
31056             }
31057 
31058             Method (PMF9, 0, Serialized)
31059             {
31060                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 9 call PMF9.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31061                 Local0 = M013 (PF9A, Zero, Zero, 0x10)
31062                 Local1 = Zero
31063                 While ((Local1 < Local0))
31064                 {
31065                     Local2 = M011 (PF9A, Local1, Zero, 0x08)
31066                     M480 [Local1] = Local2
31067                     Local1++
31068                 }
31069             }
31070 
31071             Method (PMFA, 1, Serialized)
31072             {
31073                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 10 call PMFA\n", Zero, Zero, Zero, Zero, Zero, Zero)
31074                 CreateByteField (Arg0, 0x02, M491)
31075                 M460 ("  Policy Mask: 0x%x\n", M491, Zero, Zero, Zero, Zero, Zero)
31076                 If (CondRefOf (\_SB.APXA))
31077                 {
31078                     M460 ("  Call OEM ACPI APXA\n", Zero, Zero, Zero, Zero, Zero, Zero)
31079                     \_SB.APXA (M491)
31080                 }
31081             }
31082 
31083             Method (PMFB, 0, Serialized)
31084             {
31085                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 11 call PMFB.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31086                 Local0 = M013 (PFBA, Zero, Zero, 0x10)
31087                 Local1 = Zero
31088                 While ((Local1 < Local0))
31089                 {
31090                     Local2 = M011 (PFBA, Local1, Zero, 0x08)
31091                     M480 [Local1] = Local2
31092                     Local1++
31093                 }
31094             }
31095 
31096             Method (PMFC, 0, Serialized)
31097             {
31098                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 12 call PMFC.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31099                 Local0 = M013 (PFCA, Zero, Zero, 0x10)
31100                 Local1 = Zero
31101                 While ((Local1 < Local0))
31102                 {
31103                     Local2 = M011 (PFCA, Local1, Zero, 0x08)
31104                     M480 [Local1] = Local2
31105                     Local1++
31106                 }
31107             }
31108 
31109             Method (PMFD, 0, Serialized)
31110             {
31111                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 13 call PMFD.\n", Zero, Zero, Zero, Zero, Zero, Zero)
31112                 Local0 = M013 (PFDA, Zero, Zero, 0x10)
31113                 Local1 = Zero
31114                 While ((Local1 < Local0))
31115                 {
31116                     Local2 = M011 (PFDA, Local1, Zero, 0x08)
31117                     M480 [Local1] = Local2
31118                     Local1++
31119                 }
31120             }
31121 
31122             Method (PMFE, 1, Serialized)
31123             {
31124                 M460 ("FEA-ASL-\\_SB.PMF.APMF Function 14 call PMFE\n", Zero, Zero, Zero, Zero, Zero, Zero)
31125                 CreateDWordField (Arg0, 0x02, M494)
31126                 CreateDWordField (Arg0, 0x06, M495)
31127                 CreateDWordField (Arg0, 0x0A, M496)
31128                 M460 ("  Pending requests Bits: 0x%x, Custom BIOS output 1: 0x%x, Custom BIOS output 2: 0x%x\n", M494, M495, M496, Zero, Zero, Zero)
31129                 If (CondRefOf (\_SB.APXE))
31130                 {
31131                     M460 ("  Call OEM ACPI APXE\n", Zero, Zero, Zero, Zero, Zero, Zero)
31132                     \_SB.APXE (M494, M495, M496)
31133                 }
31134             }
31135 
31136             Name (M4A0, Buffer (0xFF){})
31137             Method (ATST, 2, Serialized)
31138             {
31139                 Switch (Arg0)
31140                 {
31141                     Case (Zero)
31142                     {
31143                         ATS0 ()
31144                         Return (M4A0) /* \_SB_.PMF_.M4A0 */
31145                     }
31146                     Case (One)
31147                     {
31148                         ATS1 (Arg1)
31149                     }
31150 
31151                 }
31152             }
31153 
31154             Method (ATS0, 0, Serialized)
31155             {
31156                 M460 ("FEA-ASL-\\_SB.PMF.ATST Function 0\n", Zero, Zero, Zero, Zero, Zero, Zero)
31157                 CreateWordField (M4A0, Zero, M157)
31158                 CreateWordField (M4A0, 0x02, M158)
31159                 CreateDWordField (M4A0, 0x04, M159)
31160                 CreateDWordField (M4A0, 0x08, M160)
31161                 M157 = 0x0C
31162                 M158 = One
31163                 M159 = M481 /* \_SB_.M481 */
31164                 M160 = M482 /* \_SB_.M482 */
31165             }
31166 
31167             Method (ATS1, 1, Serialized)
31168             {
31169                 M460 ("FEA-ASL-\\_SB.PMF.ATST Function 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
31170                 CreateWordField (Arg0, Zero, M157)
31171                 CreateDWordField (Arg0, 0x02, M4A1)
31172                 CreateByteField (Arg0, 0x07, M4A2)
31173                 CreateByteField (Arg0, 0x08, M4A3)
31174                 CreateDWordField (Arg0, 0x09, M4A4)
31175                 CreateDWordField (Arg0, 0x0D, M4A5)
31176                 CreateDWordField (Arg0, 0x11, M4A6)
31177                 CreateDWordField (Arg0, 0x15, M4A7)
31178                 CreateDWordField (Arg0, 0x19, M4A8)
31179                 CreateByteField (Arg0, 0x1D, M4AA)
31180                 CreateByteField (Arg0, 0x1E, M4AB)
31181                 CreateByteField (Arg0, 0x1F, M4AC)
31182                 CreateDWordField (Arg0, 0x20, M4AD)
31183                 CreateDWordField (Arg0, 0x24, M4AE)
31184                 M4B0 = M4A1 /* \_SB_.PMF_.ATS1.M4A1 */
31185                 M4B1 = M4A2 /* \_SB_.PMF_.ATS1.M4A2 */
31186                 M4B2 = M4A3 /* \_SB_.PMF_.ATS1.M4A3 */
31187                 M4B3 = M4A4 /* \_SB_.PMF_.ATS1.M4A4 */
31188                 M4B4 = M4A5 /* \_SB_.PMF_.ATS1.M4A5 */
31189                 M4B5 = M4A6 /* \_SB_.PMF_.ATS1.M4A6 */
31190                 M4B6 = M4A7 /* \_SB_.PMF_.ATS1.M4A7 */
31191                 M4B7 = M4A8 /* \_SB_.PMF_.ATS1.M4A8 */
31192                 M4B8 = M4AA /* \_SB_.PMF_.ATS1.M4AA */
31193                 M4B9 = M4AB /* \_SB_.PMF_.ATS1.M4AB */
31194                 M4BA = M4AC /* \_SB_.PMF_.ATS1.M4AC */
31195                 M4BB = M4AD /* \_SB_.PMF_.ATS1.M4AD */
31196                 M4BC = M4AE /* \_SB_.PMF_.ATS1.M4AE */
31197                 If ((M483 == 0x81))
31198                 {
31199                     Notify (\_SB.PMF, M483)
31200                 }
31201                 ElseIf (((M483 >= 0xD0) && (M483 <= 0xD9)))
31202                 {
31203                     Notify (\_SB.PMF, M483)
31204                 }
31205             }
31206         }
31207     }
31208 
31209     Scope (\_SB)
31210     {
31211         OperationRegion (TP80, SystemIO, 0x80, 0x04)
31212         Field (TP80, DWordAcc, NoLock, Preserve)
31213         {
31214             PMTP,   32
31215         }
31216 
31217         Name (DPX4, 0xA9F40000)
31218         Method (APX4, 0, Serialized)
31219         {
31220             PMTP = DPX4 /* \_SB_.DPX4 */
31221             DPX4 += One
31222         }
31223 
31224         Method (APX7, 2, Serialized)
31225         {
31226             PMTP = (0xA9F70000 | Arg0)
31227             Sleep (One)
31228             PMTP = Arg1
31229         }
31230 
31231         Method (APX8, 1, Serialized)
31232         {
31233             PMTP = (0xA9F80000 | Arg0)
31234         }
31235 
31236         Method (APXA, 1, Serialized)
31237         {
31238             PMTP = (0xA9FA0000 | Arg0)
31239         }
31240 
31241         Method (APXE, 3, Serialized)
31242         {
31243             PMTP = (0xA9FE0000 | Arg0)
31244             Sleep (One)
31245             PMTP = Arg1
31246             Sleep (One)
31247             PMTP = Arg2
31248         }
31249     }
31250 
31251     OperationRegion (CPNV, SystemMemory, 0xD7DB7018, 0x000100F7)
31252     Field (CPNV, AnyAcc, Lock, Preserve)
31253     {
31254         M082,   32, 
31255         M083,   32, 
31256         M084,   32, 
31257         M085,   8, 
31258         M221,   8, 
31259         M086,   16, 
31260         M229,   8, 
31261         M231,   16, 
31262         M235,   8, 
31263         M233,   32, 
31264             ,   1, 
31265             ,   2, 
31266             ,   1, 
31267             ,   1, 
31268             ,   1, 
31269             ,   1, 
31270         Offset (0x19), 
31271         M087,   1, 
31272             ,   1, 
31273         Offset (0x1C), 
31274         M088,   16, 
31275         M089,   16, 
31276         M090,   3, 
31277         M091,   5, 
31278         M092,   8, 
31279         M093,   3, 
31280         M094,   5, 
31281         M095,   8, 
31282         M096,   8, 
31283         M097,   8, 
31284         M098,   32, 
31285         M099,   32, 
31286         M100,   32, 
31287         M101,   32, 
31288         M102,   32, 
31289         M103,   32, 
31290         M104,   224, 
31291         M105,   32, 
31292         M106,   32768, 
31293         M378,   32768, 
31294         M379,   32768, 
31295         M380,   32768, 
31296         M381,   32768, 
31297         M382,   32768, 
31298         M383,   32768, 
31299         M384,   32768, 
31300         M385,   32768, 
31301         M386,   32768, 
31302         M387,   32768, 
31303         M388,   32768, 
31304         M389,   32768, 
31305         M390,   32768, 
31306         M391,   32768, 
31307         M392,   32768, 
31308         M107,   64, 
31309         M320,   32, 
31310         M321,   32, 
31311         M322,   32, 
31312         M323,   32, 
31313         M324,   32, 
31314         M325,   32, 
31315         M326,   32, 
31316         M327,   16, 
31317         M328,   8, 
31318         M128,   32, 
31319         M108,   32, 
31320         M109,   32, 
31321         M110,   32, 
31322         M122,   32, 
31323         M131,   32, 
31324         M132,   32, 
31325         M133,   32, 
31326         M134,   32, 
31327         M135,   32, 
31328         M136,   32, 
31329         M220,   32, 
31330         M226,   32, 
31331         M251,   32, 
31332         M310,   32, 
31333         M280,   32, 
31334         M290,   32, 
31335         M331,   32, 
31336         M414,   16, 
31337         M444,   72, 
31338         M453,   32, 
31339         M454,   16, 
31340         M455,   8, 
31341         M456,   8, 
31342         M457,   8, 
31343         M449,   72, 
31344         M4C0,   32, 
31345         M23A,   8, 
31346         M31C,   32, 
31347         M4F0,   32
31348     }
31349 
31350     Name (CTMR, Zero)
31351     Name (M285, Buffer (0x04)
31352     {
31353          0x01, 0x03, 0x80, 0x00                           // ....
31354     })
31355     Method (M000, 1, Serialized)
31356     {
31357         CreateByteField (M285, Zero, M286)
31358         CreateByteField (M285, One, M287)
31359         CreateWordField (M285, 0x02, M288)
31360         Name (M450, Buffer (0x05)
31361         {
31362              0x00, 0x96, 0x05, 0x00, 0x00                     // .....
31363         })
31364         CreateDWordField (M450, Zero, M452)
31365         CreateByteField (M450, 0x04, M451)
31366         Local0 = (Arg0 + 0xB0000000)
31367         If ((ToInteger (M286) == One))
31368         {
31369             Local1 = ToInteger (M288)
31370             If ((ToInteger (M287) == 0x03))
31371             {
31372                 OperationRegion (VARM, SystemIO, Local1, 0x04)
31373                 Field (VARM, DWordAcc, NoLock, Preserve)
31374                 {
31375                     VARR,   32
31376                 }
31377 
31378                 VARR = Local0
31379             }
31380             ElseIf ((ToInteger (M287) == 0x02))
31381             {
31382                 OperationRegion (VARN, SystemIO, Local1, 0x02)
31383                 Field (VARN, WordAcc, NoLock, Preserve)
31384                 {
31385                     VARS,   16
31386                 }
31387 
31388                 VARS = (Local0 & 0xFFFF)
31389             }
31390             ElseIf ((ToInteger (M287) == One))
31391             {
31392                 OperationRegion (VARO, SystemIO, Local1, One)
31393                 Field (VARO, ByteAcc, NoLock, Preserve)
31394                 {
31395                     VART,   8
31396                 }
31397 
31398                 VART = (Local0 & 0xFF)
31399             }
31400         }
31401 
31402         If ((ToInteger (M451) == One))
31403         {
31404             Local2 = ToInteger (M452)
31405             M250 (Zero, Zero, Zero, Local2, Local0)
31406         }
31407 
31408         OperationRegion (VARP, SystemMemory, 0xFED80808, 0x04)
31409         Field (VARP, DWordAcc, NoLock, Preserve)
31410         {
31411             VARU,   32
31412         }
31413 
31414         Local1 = VARU /* \M000.VARU */
31415         If ((Local1 >= CTMR))
31416         {
31417             Local2 = (Local1 - CTMR) /* \CTMR */
31418         }
31419         Else
31420         {
31421             Local2 = (Local1 + ((0xFFFFFFFE - CTMR) + One))
31422         }
31423 
31424         Divide (Local2, 0x19, Local3, Local2)
31425         Divide ((Local2 * 0x07), 0x03E8, Local3, Local2)
31426         If ((Local3 >= 0x64))
31427         {
31428             M460 ("  POST CODE: %X  ACPI TIMER: %X  TIME: %d.%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
31429         }
31430         ElseIf ((Local3 >= 0x0A))
31431         {
31432             M460 ("  POST CODE: %X  ACPI TIMER: %X  TIME: %d.0%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
31433         }
31434         Else
31435         {
31436             M460 ("  POST CODE: %X  ACPI TIMER: %X  TIME: %d.00%d ms\n", Local0, Local1, Local2, Local3, Zero, Zero)
31437         }
31438 
31439         CTMR = Local1
31440     }
31441 
31442     Method (M034, 1, Serialized)
31443     {
31444         Return (M011 ((M084 + 0x0700), Arg0, Zero, 0x08))
31445     }
31446 
31447     Method (M015, 1, Serialized)
31448     {
31449         Return (M011 ((M084 + 0x0400), Arg0, Zero, 0x08))
31450     }
31451 
31452     Method (M016, 2, Serialized)
31453     {
31454         M012 ((M084 + 0x0400), Arg0, Zero, 0x08, Arg1)
31455     }
31456 
31457     Method (M035, 1, Serialized)
31458     {
31459         Return (M011 (M084, Arg0, Zero, 0x08))
31460     }
31461 
31462     Method (M036, 2, Serialized)
31463     {
31464         M012 (M084, Arg0, Zero, 0x08, Arg1)
31465     }
31466 
31467     Method (M001, 2, Serialized)
31468     {
31469         Local0 = Zero
31470         If ((Arg0 == 0x15))
31471         {
31472             Local0 = One
31473         }
31474 
31475         Return (Local0)
31476     }
31477 
31478     Method (M003, 3, Serialized)
31479     {
31480         Local0 = (Arg0 << 0x05)
31481         Local1 = (Local0 + Arg1)
31482         Local2 = (Local1 << 0x18)
31483         Local3 = (Local2 + Arg2)
31484         Return (Local3)
31485     }
31486 
31487     Method (M004, 1, Serialized)
31488     {
31489         OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
31490         Field (VARM, DWordAcc, NoLock, Preserve)
31491         {
31492             VAR1,   32
31493         }
31494 
31495         BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
31496         {
31497             Offset (0x04), 
31498             VAR2,   32
31499         }
31500 
31501         Local0 = VAR2 /* \M004.VAR2 */
31502         Return (Local0)
31503     }
31504 
31505     Method (M005, 2, Serialized)
31506     {
31507         OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
31508         Field (VARM, DWordAcc, NoLock, Preserve)
31509         {
31510             VAR1,   32
31511         }
31512 
31513         BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
31514         {
31515             Offset (0x04), 
31516             VAR2,   32
31517         }
31518 
31519         VAR2 = Arg1
31520     }
31521 
31522     Method (M006, 3, Serialized)
31523     {
31524         Local0 = (M004 (Arg0) & Arg1)
31525         Local1 = (Local0 | Arg2)
31526         M005 (Arg0, Local1)
31527     }
31528 
31529     Method (M002, 2, Serialized)
31530     {
31531         If ((Arg0 == Zero))
31532         {
31533             If ((Arg1 == Zero))
31534             {
31535                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFEFFF, Zero)
31536                 M006 (M003 (One, Zero, 0x65), 0xFFFFFEFE, Zero)
31537             }
31538 
31539             If ((Arg1 == One))
31540             {
31541                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFDFFF, Zero)
31542                 M006 (M003 (One, Zero, 0x65), 0xFFFFFDFD, Zero)
31543             }
31544 
31545             If ((Arg1 == 0x02))
31546             {
31547                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFBFFF, Zero)
31548                 M006 (M003 (One, Zero, 0x65), 0xFFFFFBFB, Zero)
31549             }
31550 
31551             If ((Arg1 == 0x03))
31552             {
31553                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFF7FFF, Zero)
31554                 M006 (M003 (One, Zero, 0x65), 0xFFFFF7F7, Zero)
31555             }
31556 
31557             Sleep (One)
31558         }
31559 
31560         If ((Arg0 == One))
31561         {
31562             If ((Arg1 == Zero))
31563             {
31564                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFEFFF, 0x1000)
31565                 M006 (M003 (One, Zero, 0x65), 0xFFFFFEFE, 0x0101)
31566             }
31567 
31568             If ((Arg1 == One))
31569             {
31570                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFDFFF, 0x2000)
31571                 M006 (M003 (One, Zero, 0x65), 0xFFFFFDFD, 0x0202)
31572             }
31573 
31574             If ((Arg1 == 0x02))
31575             {
31576                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFFBFFF, 0x4000)
31577                 M006 (M003 (One, Zero, 0x65), 0xFFFFFBFB, 0x0404)
31578             }
31579 
31580             If ((Arg1 == 0x03))
31581             {
31582                 M006 (M003 (0x06, Zero, 0xC0), 0xFFFF7FFF, 0x8000)
31583                 M006 (M003 (One, Zero, 0x65), 0xFFFFF7F7, 0x0808)
31584             }
31585 
31586             Sleep (One)
31587         }
31588 
31589         If ((Arg0 == Zero))
31590         {
31591             M008 (Arg1)
31592             Local0 = M004 (M003 (0x03, Arg1, 0xA5))
31593             Local0 &= 0xFF
31594             Local1 = 0x01F4
31595             While (((Local1 > Zero) && (Local0 != 0x10)))
31596             {
31597                 Local0 = M004 (M003 (0x03, Arg1, 0xA5))
31598                 Local0 &= 0xFF
31599                 Local1--
31600                 Sleep (One)
31601             }
31602 
31603             If ((Local0 != 0x10))
31604             {
31605                 M007 (Arg1)
31606             }
31607         }
31608     }
31609 
31610     Method (M008, 1, Serialized)
31611     {
31612         Local0 = M019 (Zero, 0x15, Arg0, 0x88)
31613         Local1 = ((Local0 & 0xFFFFFFF0) | 0x02)
31614         M020 (Zero, 0x15, Arg0, 0x88, Local1)
31615         M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, One)
31616         M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
31617         M006 (M003 (0x03, Arg0, 0xC0), 0xFFFF7FFF, 0x8000)
31618         M006 (M003 (0x03, Arg0, 0xA4), 0xDFFFFFFF, 0x20000000)
31619         Sleep (One)
31620     }
31621 
31622     Method (M007, 1, Serialized)
31623     {
31624         Local0 = M019 (Zero, 0x15, Arg0, 0x88)
31625         Local1 = ((Local0 & 0xFFFFFFF0) | One)
31626         M020 (Zero, 0x15, Arg0, 0x88, Local1)
31627         M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, Zero)
31628         M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
31629         Sleep (One)
31630     }
31631 
31632     Method (M111, 2, Serialized)
31633     {
31634         If ((Arg0 != Zero))
31635         {
31636             Local0 = M110 /* External reference */
31637             If (Local0)
31638             {
31639                 Local0 += 0x10
31640                 Local1 = Zero
31641                 Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31642                 While (((Local2 != 0xFF) && (Local2 != Zero)))
31643                 {
31644                     Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
31645                     If (((Local2 == Arg0) && (Local3 == Arg1)))
31646                     {
31647                         Local3 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
31648                         If ((Local3 != Zero))
31649                         {
31650                             Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
31651                             If ((Local4 == Zero))
31652                             {
31653                                 Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31654                                 Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31655                                 M010 ((Local5 & 0xFF00FFFF), Local6)
31656                                 If ((Arg1 == Zero))
31657                                 {
31658                                     M000 (0x0DD8)
31659                                 }
31660                                 Else
31661                                 {
31662                                     M000 (0x0DDB)
31663                                 }
31664                             }
31665 
31666                             If ((Local4 == One))
31667                             {
31668                                 Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31669                                 Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31670                                 While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)){}
31671                                 If ((Arg1 == Zero))
31672                                 {
31673                                     M000 (0x0DD9)
31674                                 }
31675                                 Else
31676                                 {
31677                                     M000 (0x0DDC)
31678                                 }
31679                             }
31680 
31681                             If ((Local4 == 0x02))
31682                             {
31683                                 Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31684                                 Sleep (((Local5 + 0x03E7) / 0x03E8))
31685                                 If ((Arg1 == Zero))
31686                                 {
31687                                     M000 (0x0DDA)
31688                                 }
31689                                 Else
31690                                 {
31691                                     M000 (0x0DDD)
31692                                 }
31693                             }
31694                         }
31695                     }
31696 
31697                     Local1 += 0x08
31698                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31699                 }
31700             }
31701         }
31702     }
31703 
31704     Method (M470, 2, Serialized)
31705     {
31706         Local7 = Zero
31707         If ((Arg0 != Zero))
31708         {
31709             Local0 = M110 /* External reference */
31710             If (Local0)
31711             {
31712                 Local0 += 0x10
31713                 Local1 = Zero
31714                 Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31715                 While (((Local2 != 0xFF) && (Local2 != Zero)))
31716                 {
31717                     Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
31718                     If (((Local2 == Arg0) && (Local3 == Arg1)))
31719                     {
31720                         Local3 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
31721                         Local4 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
31722                         If (((Local3 == Zero) && (Local4 != Zero)))
31723                         {
31724                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31725                             Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31726                             If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
31727                             {
31728                                 Local7 = One
31729                             }
31730                         }
31731                     }
31732 
31733                     Local1 += 0x08
31734                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31735                 }
31736             }
31737         }
31738 
31739         Return (Local7)
31740     }
31741 
31742     Method (M228, 1, Serialized)
31743     {
31744         If ((Arg0 > 0x03))
31745         {
31746             Local0 = M110 /* External reference */
31747             If (Local0)
31748             {
31749                 Local0 += 0x10
31750                 Local1 = Zero
31751                 Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31752                 While (((Local2 != 0xFF) && (Local2 != Zero)))
31753                 {
31754                     Local3 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
31755                     If ((Local3 == Arg0))
31756                     {
31757                         Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
31758                         If ((Local4 == Zero))
31759                         {
31760                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31761                             Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31762                             M010 ((Local5 & 0xFF00FFFF), Local6)
31763                         }
31764 
31765                         If ((Local4 == One))
31766                         {
31767                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31768                             Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31769                             While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)){}
31770                         }
31771 
31772                         If ((Local4 == 0x02))
31773                         {
31774                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31775                             Sleep (((Local5 + 0x03E7) / 0x03E8))
31776                         }
31777                     }
31778 
31779                     Local1 += 0x08
31780                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31781                 }
31782             }
31783         }
31784     }
31785 
31786     Method (M219, 2, Serialized)
31787     {
31788         If ((Arg0 != Zero))
31789         {
31790             Local0 = M221 /* External reference */
31791             If ((Local0 & 0x02))
31792             {
31793                 Local0 = M220 /* External reference */
31794                 If (Local0)
31795                 {
31796                     Local0 += 0x10
31797                     Local1 = Zero
31798                     Local2 = One
31799                     While ((Local2 != 0xFF))
31800                     {
31801                         Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31802                         Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
31803                         Local4 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
31804                         Local5 = M013 ((Local0 + Local1), 0x07, Zero, 0x08)
31805                         Local7 = M013 ((Local0 + Local1), 0x08, Zero, 0x20)
31806                         If ((Local4 == Arg0))
31807                         {
31808                             If (((Local2 < 0x0A) && (Local5 & 0x80)))
31809                             {
31810                                 If ((Arg1 == Zero))
31811                                 {
31812                                     Local3 = Zero
31813                                 }
31814                                 ElseIf ((Local5 & 0x04))
31815                                 {
31816                                     If ((Arg1 == One))
31817                                     {
31818                                         If ((M085 >= 0x04))
31819                                         {
31820                                             Local3 = 0x03
31821                                         }
31822                                         Else
31823                                         {
31824                                             Local3 = 0x0F
31825                                         }
31826                                     }
31827 
31828                                     If ((Arg1 == 0x02))
31829                                     {
31830                                         Local6 = M017 (Zero, M013 ((Local0 + Local1), 0x05, Zero, 0x08), 
31831                                             M013 ((Local0 + Local1), 0x06, Zero, 0x08), 0x19, Zero, 0x08)
31832                                         If ((M265 (Local6, Zero, Zero) == One))
31833                                         {
31834                                             If ((M085 >= 0x04))
31835                                             {
31836                                                 Local3 = One
31837                                             }
31838                                         }
31839                                         ElseIf ((M085 >= 0x04))
31840                                         {
31841                                             Local3 = 0x03
31842                                         }
31843                                         Else
31844                                         {
31845                                             Local3 = 0x0F
31846                                         }
31847                                     }
31848                                 }
31849                                 ElseIf ((M085 >= 0x04))
31850                                 {
31851                                     Local3 = 0x03
31852                                 }
31853                                 Else
31854                                 {
31855                                     Local3 = 0x0F
31856                                 }
31857 
31858                                 If ((M085 >= 0x04))
31859                                 {
31860                                     If ((M085 == 0x08))
31861                                     {
31862                                         If (((Local7 & 0x0FF00000) > Zero))
31863                                         {
31864                                             Local6 = M249 (((Local7 >> 0x18) & 0x0F), ((
31865                                                 Local7 >> 0x14) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00)
31866                                             Local6 &= (Ones ^ (0x03 << (Local2 << One)))
31867                                             Local6 |= (Local3 << (Local2 << One))
31868                                             M250 (((Local7 >> 0x18) & 0x0F), ((Local7 >> 0x14
31869                                                 ) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00, Local6)
31870                                         }
31871                                         Else
31872                                         {
31873                                             M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 & 
31874                                                 0x03) << One), 0x02, Local3)
31875                                         }
31876                                     }
31877                                     ElseIf (((Local7 >> 0x1C) == 0x02))
31878                                     {
31879                                         M012 ((M084 + 0x1300), (Local2 >> 0x02), ((Local2 & 
31880                                             0x03) << One), 0x02, Local3)
31881                                     }
31882                                     Else
31883                                     {
31884                                         M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 & 
31885                                             0x03) << One), 0x02, Local3)
31886                                     }
31887                                 }
31888                                 Else
31889                                 {
31890                                     M012 ((M084 + 0x0E00), (Local2 >> One), ((Local2 & 
31891                                         One) << 0x02), 0x04, Local3)
31892                                 }
31893 
31894                                 If ((Arg1 == Zero))
31895                                 {
31896                                     M000 (0x0DE0)
31897                                 }
31898 
31899                                 If ((Arg1 == One))
31900                                 {
31901                                     M000 (0x0DE1)
31902                                 }
31903 
31904                                 If ((Arg1 == 0x02))
31905                                 {
31906                                     M000 (0x0DE2)
31907                                 }
31908 
31909                                 Local2 = 0xFF
31910                             }
31911                         }
31912 
31913                         Local1 += 0x0C
31914                     }
31915                 }
31916             }
31917         }
31918     }
31919 
31920     Method (M112, 2, Serialized)
31921     {
31922         If ((Arg0 != Zero))
31923         {
31924             Local0 = M109 /* External reference */
31925             If (Local0)
31926             {
31927                 Local0 += 0x10
31928                 Local1 = Zero
31929                 Local2 = One
31930                 While (((Local2 != 0xFF) && (Local2 != Zero)))
31931                 {
31932                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
31933                     Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
31934                     If (((Local2 == Arg0) && (Local3 == Arg1)))
31935                     {
31936                         If ((Local3 < 0x02))
31937                         {
31938                             Local4 = M013 ((Local0 + Local1), 0x02, Zero, 0x08)
31939                             If ((Local4 == Zero))
31940                             {
31941                                 Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x10)
31942                                 Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31943                                 M010 (Local5, Local6)
31944                             }
31945 
31946                             If ((Local4 == One))
31947                             {
31948                                 Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31949                                 Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
31950                                 M010 ((Local5 & 0xFF00FFFF), Local6)
31951                                 Local7 = M009 ((Local5 & 0xFF00FFFF))
31952                                 Local4 = 0x03F2
31953                                 While (((Local4 > Zero) && (Local7 != Local6)))
31954                                 {
31955                                     Local4 = (Local4 - One)
31956                                     Stall (0x63)
31957                                     Local7 = M009 ((Local5 & 0xFF00FFFF))
31958                                 }
31959                             }
31960 
31961                             If ((Local3 == Zero))
31962                             {
31963                                 M000 (0x0DD5)
31964                             }
31965 
31966                             If ((Local3 == One))
31967                             {
31968                                 M000 (0x0DD6)
31969                             }
31970                         }
31971 
31972                         If ((Local3 == 0x02))
31973                         {
31974                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
31975                             Sleep (((Local5 + 0x03E7) / 0x03E8))
31976                             M000 (0x0DD7)
31977                         }
31978                     }
31979 
31980                     Local1 += 0x08
31981                 }
31982             }
31983         }
31984     }
31985 
31986     Method (M275, 2, Serialized)
31987     {
31988         Local7 = Zero
31989         If ((Arg0 != Zero))
31990         {
31991             Local0 = M109 /* External reference */
31992             If (Local0)
31993             {
31994                 Local0 += 0x10
31995                 Local1 = Zero
31996                 Local2 = One
31997                 While (((Local2 != 0xFF) && (Local2 != Zero)))
31998                 {
31999                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
32000                     Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
32001                     If (((Local2 == Arg0) && (Local3 == Arg1)))
32002                     {
32003                         If ((Local3 < 0x02))
32004                         {
32005                             Local5 = M013 ((Local0 + Local1), 0x03, Zero, 0x20)
32006                             Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
32007                             If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
32008                             {
32009                                 Local7 = One
32010                             }
32011                         }
32012                     }
32013 
32014                     Local1 += 0x08
32015                 }
32016             }
32017         }
32018 
32019         Return (Local7)
32020     }
32021 
32022     Method (M113, 1, Serialized)
32023     {
32024         If ((Arg0 != Zero))
32025         {
32026             Local0 = M108 /* External reference */
32027             Local7 = One
32028             If (Local0)
32029             {
32030                 Local0 += 0x10
32031                 Local1 = Zero
32032                 Local2 = One
32033                 While (((Local2 != 0xFF) && (Local2 != Zero)))
32034                 {
32035                     Local2 = M013 ((Local0 + Local1), Zero, Zero, 0x08)
32036                     If ((Local2 == Arg0))
32037                     {
32038                         Local2 = 0xFF
32039                         Local3 = M013 ((Local0 + Local1), One, Zero, 0x08)
32040                         If ((Local3 == Zero))
32041                         {
32042                             Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
32043                             Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
32044                             Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32045                         }
32046 
32047                         If ((Local3 == One))
32048                         {
32049                             Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
32050                             Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
32051                             Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32052                             Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
32053                             Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
32054                             Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32055                         }
32056 
32057                         If ((Local3 == 0x02))
32058                         {
32059                             Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
32060                             Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
32061                             Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32062                             Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
32063                             Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
32064                             Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32065                             Local5 = M013 ((Local0 + Local1), 0x0A, Zero, 0x20)
32066                             Local6 = M013 ((Local0 + Local1), 0x0C, Zero, 0x08)
32067                             Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32068                         }
32069 
32070                         If ((Local3 == 0x03))
32071                         {
32072                             Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
32073                             Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
32074                             Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32075                             Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
32076                             Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
32077                             Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32078                         }
32079 
32080                         If ((Local3 == 0x04))
32081                         {
32082                             Local5 = M013 ((Local0 + Local1), 0x02, Zero, 0x20)
32083                             Local6 = M013 ((Local0 + Local1), 0x04, Zero, 0x08)
32084                             Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32085                             Local5 = M013 ((Local0 + Local1), 0x06, Zero, 0x20)
32086                             Local6 = M013 ((Local0 + Local1), 0x08, Zero, 0x08)
32087                             Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32088                             Local5 = M013 ((Local0 + Local1), 0x0A, Zero, 0x20)
32089                             Local6 = M013 ((Local0 + Local1), 0x0C, Zero, 0x08)
32090                             Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
32091                         }
32092                     }
32093                     Else
32094                     {
32095                         Local1 += 0x0E
32096                     }
32097                 }
32098             }
32099         }
32100         Else
32101         {
32102             Local7 = Zero
32103         }
32104 
32105         If (Local7)
32106         {
32107             Local7 = One
32108         }
32109 
32110         Return (Local7)
32111     }
32112 
32113     Name (M046, 0xAA)
32114     Method (M045, 0, Serialized)
32115     {
32116         Local0 = Zero
32117         If ((M046 == 0xAA))
32118         {
32119             M046 = Zero
32120             If (CondRefOf (\_OSI))
32121             {
32122                 If (\_OSI ("Windows 2021"))
32123                 {
32124                     M046 = 0x0B
32125                     M460 ("  KER-ASL-_OSI = Windows 11\n", Zero, Zero, Zero, Zero, Zero, Zero)
32126                 }
32127                 ElseIf (\_OSI ("Windows 2020"))
32128                 {
32129                     M046 = 0x0A
32130                     M460 ("  KER-ASL-_OSI = Windows 10, version 2004\n", Zero, Zero, Zero, Zero, Zero, Zero)
32131                 }
32132                 ElseIf (\_OSI ("Windows 2019"))
32133                 {
32134                     M046 = 0x09
32135                     M460 ("  KER-ASL-_OSI = Windows 10, version 1903\n", Zero, Zero, Zero, Zero, Zero, Zero)
32136                 }
32137                 ElseIf (\_OSI ("Windows 2018.2"))
32138                 {
32139                     M046 = 0x08
32140                     M460 ("  KER-ASL-_OSI = Windows 10, version 1809\n", Zero, Zero, Zero, Zero, Zero, Zero)
32141                 }
32142                 ElseIf (\_OSI ("Windows 2018"))
32143                 {
32144                     M046 = 0x07
32145                     M460 ("  KER-ASL-_OSI = Windows 10, version 1803\n", Zero, Zero, Zero, Zero, Zero, Zero)
32146                 }
32147                 ElseIf (\_OSI ("Windows 2017.2"))
32148                 {
32149                     M046 = 0x06
32150                     M460 ("  KER-ASL-_OSI = Windows 10, version 1709\n", Zero, Zero, Zero, Zero, Zero, Zero)
32151                 }
32152                 ElseIf (\_OSI ("Windows 2017"))
32153                 {
32154                     M046 = 0x05
32155                     M460 ("  KER-ASL-_OSI = Windows 10, version 1703\n", Zero, Zero, Zero, Zero, Zero, Zero)
32156                 }
32157                 ElseIf (\_OSI ("Windows 2016"))
32158                 {
32159                     M046 = 0x04
32160                     M460 ("  KER-ASL-_OSI = Windows 10, version 1607\n", Zero, Zero, Zero, Zero, Zero, Zero)
32161                 }
32162                 ElseIf (\_OSI ("Windows 2015"))
32163                 {
32164                     M046 = 0x03
32165                     M460 ("  KER-ASL-_OSI = Windows 10\n", Zero, Zero, Zero, Zero, Zero, Zero)
32166                 }
32167                 ElseIf (\_OSI ("Windows 2013"))
32168                 {
32169                     M046 = 0x02
32170                     M460 ("  KER-ASL-_OSI = Windows 8.1\n", Zero, Zero, Zero, Zero, Zero, Zero)
32171                 }
32172                 ElseIf (\_OSI ("Windows 2012"))
32173                 {
32174                     M046 = One
32175                     M460 ("  KER-ASL-_OSI = Windows 8, Win Server 2012\n", Zero, Zero, Zero, Zero, Zero, Zero)
32176                 }
32177             }
32178         }
32179 
32180         If ((M046 >= One))
32181         {
32182             Local0 = One
32183         }
32184 
32185         Return (Local0)
32186     }
32187 
32188     Mutex (M230, 0x00)
32189     Method (M232, 3, Serialized)
32190     {
32191         Local0 = Arg0
32192         Local1 = Arg1
32193         Local2 = Arg2
32194         M460 ("  KER-ASL-CpmTriggerSmi (0x%X, 0x%X, %d)\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
32195         Acquire (M230, 0xFFFF)
32196         Local0 = Arg0
32197         OperationRegion (VARM, SystemIO, M231, 0x02)
32198         Field (VARM, ByteAcc, NoLock, Preserve)
32199         {
32200             VAR1,   8, 
32201             VAR2,   8
32202         }
32203 
32204         VAR2 = Local1
32205         VAR1 = Local0
32206         If ((Local2 > Zero))
32207         {
32208             Sleep (Local2)
32209         }
32210 
32211         Release (M230)
32212     }
32213 
32214     Method (M043, 3, Serialized)
32215     {
32216         If (CondRefOf (MOEM))
32217         {
32218             Return (MOEM (Arg0, Arg1, Arg2))
32219         }
32220         Else
32221         {
32222             Return (Zero)
32223         }
32224     }
32225 
32226     Method (MLIB, 2, Serialized)
32227     {
32228         Switch (ToInteger (Arg0))
32229         {
32230             Case (Zero)
32231             {
32232                 Local0 = DerefOf (Arg1 [0x02])
32233                 Switch (ToInteger (Local0))
32234                 {
32235                     Case (0x03)
32236                     {
32237                         M228 (0x04)
32238                         M228 (0x05)
32239                     }
32240                     Case (0x04)
32241                     {
32242                         M228 (0x04)
32243                         M228 (0x06)
32244                     }
32245                     Case (0x05)
32246                     {
32247                         M228 (0x04)
32248                         M228 (0x07)
32249                     }
32250 
32251                 }
32252             }
32253 
32254         }
32255     }
32256 
32257     Method (M458, 1, NotSerialized)
32258     {
32259         ToInteger (M453, Local0)
32260         If ((Local0 > 0xFFFF))
32261         {
32262             OperationRegion (VARM, SystemMemory, Local0, 0x20)
32263             Field (VARM, ByteAcc, NoLock, Preserve)
32264             {
32265                 THRM,   8, 
32266                 Offset (0x14), 
32267                 LSRM,   8, 
32268                 Offset (0x18), 
32269                 MSRM,   8
32270             }
32271 
32272             Local1 = 0x001E8480
32273             While (((Local1 > Zero) && ((LSRM & 0x60) != 0x60)))
32274             {
32275                 Local1 -= One
32276             }
32277 
32278             If ((M457 != Zero))
32279             {
32280                 Local2 = 0x001E8480
32281                 While (((Local2 > Zero) && ((MSRM & 0x10) != 0x10)))
32282                 {
32283                     Local2 -= One
32284                 }
32285             }
32286 
32287             If ((Local1 != Zero))
32288             {
32289                 THRM = Arg0
32290                 Return (Zero)
32291             }
32292         }
32293         ElseIf ((Local0 > Zero))
32294         {
32295             CreateWordField (M285, 0x02, M288)
32296             OperationRegion (VARN, SystemIO, Local0, 0x08)
32297             Field (VARN, ByteAcc, NoLock, Preserve)
32298             {
32299                 THRI,   8, 
32300                 Offset (0x05), 
32301                 LSRI,   8
32302             }
32303 
32304             Local1 = 0x001E8480
32305             If ((ToInteger (M288) != Local0))
32306             {
32307                 While (((Local1 > Zero) && ((LSRI & 0x60) != 0x60)))
32308                 {
32309                     Local1 -= One
32310                 }
32311             }
32312 
32313             If ((Local1 != Zero))
32314             {
32315                 THRI = Arg0
32316                 Return (Zero)
32317             }
32318         }
32319 
32320         Return (0xFF)
32321     }
32322 
32323     Method (M459, 2, NotSerialized)
32324     {
32325         ToInteger (M453, Local0)
32326         If ((Local0 == Zero))
32327         {
32328             Return (0xFF)
32329         }
32330         ElseIf ((Local0 > 0xFFFF))
32331         {
32332             OperationRegion (VARM, SystemMemory, Local0, 0x20)
32333             Field (VARM, ByteAcc, NoLock, Preserve)
32334             {
32335                 DLLM,   8, 
32336                 Offset (0x04), 
32337                 DLHM,   8, 
32338                 Offset (0x08), 
32339                 FCRM,   8, 
32340                 Offset (0x0C), 
32341                 LCRM,   8, 
32342                 Offset (0x10), 
32343                 MCRM,   8
32344             }
32345 
32346             If (((LCRM & 0x3F) != M455))
32347             {
32348                 LCRM = 0x80
32349                 DLHM = (M454 >> 0x08)
32350                 DLLM = (M454 & 0xFF)
32351                 LCRM = M455 /* External reference */
32352                 FCRM = Zero
32353                 FCRM = M456 /* External reference */
32354                 DLHM = Zero
32355                 MCRM = Zero
32356             }
32357         }
32358 
32359         Local0 = SizeOf (Arg0)
32360         ToInteger (Arg1, Local1)
32361         Local2 = Zero
32362         ToBuffer (Arg0, Local3)
32363         If ((Local0 != Zero))
32364         {
32365             While (((Local0 > Local1) && (Local2 == Zero)))
32366             {
32367                 Local2 = M458 (DerefOf (Local3 [Local1]))
32368                 Local1 += One
32369             }
32370         }
32371 
32372         Return (Local2)
32373     }
32374 
32375     Method (M460, 7, Serialized)
32376     {
32377         CreateWordField (M285, 0x02, M288)
32378         ToInteger (M453, Local7)
32379         If ((Local7 == Zero))
32380         {
32381             Return (0xFF)
32382         }
32383         ElseIf ((Local7 > 0xFFFF))
32384         {
32385             OperationRegion (VARM, SystemMemory, Local7, 0x20)
32386             Field (VARM, ByteAcc, NoLock, Preserve)
32387             {
32388                 DLLM,   8, 
32389                 Offset (0x04), 
32390                 DLHM,   8, 
32391                 Offset (0x08), 
32392                 FCRM,   8, 
32393                 Offset (0x0C), 
32394                 LCRM,   8, 
32395                 Offset (0x10), 
32396                 MCRM,   8
32397             }
32398 
32399             If (((LCRM & 0x3F) != M455))
32400             {
32401                 LCRM = 0x80
32402                 DLHM = (M454 >> 0x08)
32403                 DLLM = (M454 & 0xFF)
32404                 LCRM = M455 /* External reference */
32405                 FCRM = Zero
32406                 FCRM = M456 /* External reference */
32407                 DLHM = Zero
32408                 MCRM = Zero
32409             }
32410         }
32411         ElseIf ((ToInteger (M288) == Local7))
32412         {
32413             OperationRegion (VARS, SystemIO, Local7, 0x04)
32414             Field (VARS, DWordAcc, NoLock, Preserve)
32415             {
32416                 VART,   32
32417             }
32418 
32419             VART = 0x5F535452
32420         }
32421 
32422         Local0 = SizeOf (Arg0)
32423         Local1 = Zero
32424         Local2 = Zero
32425         Local5 = One
32426         ToBuffer (Arg0, Local3)
32427         If ((Local0 != Zero))
32428         {
32429             While (((Local0 > Local1) && (Local2 == Zero)))
32430             {
32431                 Local4 = DerefOf (Local3 [Local1])
32432                 If (((Local4 == 0x25) && (0x07 > Local5)))
32433                 {
32434                     If ((Local5 == One))
32435                     {
32436                         Local6 = Arg1
32437                     }
32438                     ElseIf ((Local5 == 0x02))
32439                     {
32440                         Local6 = Arg2
32441                     }
32442                     ElseIf ((Local5 == 0x03))
32443                     {
32444                         Local6 = Arg3
32445                     }
32446                     ElseIf ((Local5 == 0x04))
32447                     {
32448                         Local6 = Arg4
32449                     }
32450                     ElseIf ((Local5 == 0x05))
32451                     {
32452                         Local6 = Arg5
32453                     }
32454                     ElseIf ((Local5 == 0x06))
32455                     {
32456                         Local6 = Arg6
32457                     }
32458 
32459                     Local5 += One
32460                     Local1 += One
32461                     Local4 = DerefOf (Local3 [Local1])
32462                     If (((Local4 == 0x58) || (Local4 == 0x78)))
32463                     {
32464                         Local2 = M459 (ToHexString (Local6), 0x02)
32465                     }
32466                     ElseIf (((Local4 == 0x44) || (Local4 == 0x64)))
32467                     {
32468                         Local2 = M459 (ToDecimalString (Local6), Zero)
32469                     }
32470                     ElseIf (((Local4 == 0x53) || (Local4 == 0x73)))
32471                     {
32472                         Local2 = M459 (Local6, Zero)
32473                     }
32474                     Else
32475                     {
32476                         Local2 = M458 (0x25)
32477                         Local5 -= One
32478                         Local1 -= One
32479                     }
32480                 }
32481                 ElseIf ((Local4 == 0x0A))
32482                 {
32483                     Local2 = M458 (0x0D)
32484                     Local2 = M458 (0x0A)
32485                 }
32486                 Else
32487                 {
32488                     Local2 = M458 (Local4)
32489                 }
32490 
32491                 Local1 += One
32492             }
32493         }
32494 
32495         If ((ToInteger (M288) == Local7))
32496         {
32497             OperationRegion (VARU, SystemIO, Local7, 0x04)
32498             Field (VARU, DWordAcc, NoLock, Preserve)
32499             {
32500                 VARV,   32
32501             }
32502 
32503             VARV = 0x5F454E44
32504         }
32505 
32506         Return (Local2)
32507     }
32508 
32509     Name (M404, Buffer (0x07)
32510     {
32511          0x00, 0x02, 0x06, 0x08, 0x04, 0x0A, 0x0C         // .......
32512     })
32513     Method (M405, 5, Serialized)
32514     {
32515         If ((M085 >= 0x04))
32516         {
32517             If ((M085 == 0x08))
32518             {
32519                 Local1 = DerefOf (M404 [Arg4])
32520                 If (((Arg0 > Zero) || (Arg1 > Zero)))
32521                 {
32522                     Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
32523                     Local0 >>= Local1
32524                     Local0 &= 0x03
32525                 }
32526                 Else
32527                 {
32528                     Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
32529                         Local1 & 0x07), 0x02)
32530                 }
32531             }
32532             ElseIf ((Arg3 == 0x02))
32533             {
32534                 Local0 = M011 ((M084 + 0x1300), (Local1 >> 0x08), (
32535                     Local1 & 0x07), 0x02)
32536             }
32537             Else
32538             {
32539                 Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
32540                     Local1 & 0x07), 0x02)
32541             }
32542         }
32543         Else
32544         {
32545             Local0 = M011 ((M084 + 0x0E00), (Arg4 >> One), (
32546                 (Arg4 & One) << 0x02), 0x04)
32547         }
32548 
32549         M460 ("  KER-ASL-CpmReadClkReq  (%d, %d, %d, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Arg4, Local0)
32550         Return (Local0)
32551     }
32552 
32553     Method (M406, 6, Serialized)
32554     {
32555         M460 ("  KER-ASL-CpmWriteClkReq (%d, %d, %d, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Arg5)
32556         If ((M085 >= 0x04))
32557         {
32558             If ((M085 == 0x08))
32559             {
32560                 Local1 = DerefOf (M404 [Arg4])
32561                 If (((Arg0 > Zero) || (Arg1 > Zero)))
32562                 {
32563                     Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
32564                     Local0 &= (Ones ^ (0x03 << Local1))
32565                     Local0 |= (Arg5 << Local1)
32566                     M250 (Arg0, Arg1, Arg2, 0x02D01E00, Local0)
32567                 }
32568                 Else
32569                 {
32570                     M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
32571                         ), 0x02, Arg5)
32572                 }
32573             }
32574             ElseIf ((Arg3 == 0x02))
32575             {
32576                 M012 ((M084 + 0x1300), (Local1 >> 0x08), (Local1 & 0x07
32577                     ), 0x02, Arg5)
32578             }
32579             Else
32580             {
32581                 M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
32582                     ), 0x02, Arg5)
32583             }
32584         }
32585         Else
32586         {
32587             M012 ((M084 + 0x0E00), (Arg4 >> One), ((Arg4 & 
32588                 One) << 0x02), 0x04, Arg5)
32589         }
32590     }
32591 
32592     Method (MPTS, 1, NotSerialized)
32593     {
32594         M460 ("  KER-ASL-MPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32595         M000 (0x0DE7)
32596         Local0 = M049 (M128, 0x67)
32597         If (((Local0 & 0x03) == 0x03))
32598         {
32599             If ((M085 >= 0x08))
32600             {
32601                 If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TPTS))
32602                 {
32603                     M460 ("    KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32604                     \_SB.PCXX.GPXX.SAXX.TPTS (Arg0)
32605                 }
32606 
32607                 If (CondRefOf (\_SB.PCI0.PTBR.PTST.TPTS))
32608                 {
32609                     M460 ("    KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32610                     \_SB.PCI0.PTBR.PTST.TPTS (Arg0)
32611                 }
32612             }
32613             ElseIf (CondRefOf (\_SB.PCXX.SAXX.TPTS))
32614             {
32615                 M460 ("    KER-ASL-Call \\_SB.PCXX.SAXX.TPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32616                 \_SB.PCXX.SAXX.TPTS (Arg0)
32617             }
32618         }
32619 
32620         If ((M226 != Zero))
32621         {
32622             If (CondRefOf (\_SB.M263))
32623             {
32624                 M460 ("    KER-ASL-Call \\_SB.CpmOtherHotplugCard_PTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32625                 \_SB.M263 (Arg0)
32626             }
32627         }
32628 
32629         If ((M331 != Zero))
32630         {
32631             Local0 = M049 (M331, 0x10)
32632             Local1 = M049 (M331, 0x21)
32633             If (((Local0 != Zero) && (Local1 != Zero)))
32634             {
32635                 If (CondRefOf (\_SB.IPTS))
32636                 {
32637                     M460 ("    KER-ASL-Call \\_SB.IPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32638                     \_SB.IPTS (Arg0)
32639                 }
32640             }
32641         }
32642 
32643         If ((M4F0 != Zero))
32644         {
32645             If (CondRefOf (\_GPE.PTS0))
32646             {
32647                 M460 ("    KER-ASL-Call \\_GPE.PTS0 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32648                 \_GPE.PTS0 (Arg0)
32649             }
32650 
32651             If (CondRefOf (\_GPE.PTS1))
32652             {
32653                 M460 ("    KER-ASL-Call \\_GPE.PTS1 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32654                 \_GPE.PTS1 (Arg0)
32655             }
32656 
32657             If (CondRefOf (\_GPE.PTS2))
32658             {
32659                 M460 ("    KER-ASL-Call \\_GPE.PTS2 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32660                 \_GPE.PTS2 (Arg0)
32661             }
32662 
32663             If (CondRefOf (\_GPE.PTS3))
32664             {
32665                 M460 ("    KER-ASL-Call \\_GPE.PTS3 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32666                 \_GPE.PTS3 (Arg0)
32667             }
32668         }
32669 
32670         If (CondRefOf (\_SB.OPTS))
32671         {
32672             M460 ("    KER-ASL-Call \\_SB.OPTS (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32673             \_SB.OPTS (Arg0)
32674         }
32675 
32676         M000 (0x0DE8)
32677     }
32678 
32679     Method (MWAK, 1, NotSerialized)
32680     {
32681         M460 ("  KER-ASL-MWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32682         M000 (0x0DE9)
32683         Local0 = M049 (M128, 0x67)
32684         If (((Local0 & 0x03) == 0x03))
32685         {
32686             If ((M085 >= 0x08))
32687             {
32688                 If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TWAK))
32689                 {
32690                     M460 ("    KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32691                     \_SB.PCXX.GPXX.SAXX.TWAK (Arg0)
32692                 }
32693 
32694                 If (CondRefOf (\_SB.PCI0.PTBR.PTST.TWAK))
32695                 {
32696                     M460 ("    KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32697                     \_SB.PCI0.PTBR.PTST.TWAK (Arg0)
32698                 }
32699             }
32700             ElseIf (CondRefOf (\_SB.PCXX.SAXX.TWAK))
32701             {
32702                 M460 ("    KER-ASL-Call \\_SB.PCXX.SAXX.TWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32703                 \_SB.PCXX.SAXX.TWAK (Arg0)
32704             }
32705         }
32706 
32707         If ((M226 != Zero))
32708         {
32709             If (CondRefOf (\_SB.M264))
32710             {
32711                 M460 ("    KER-ASL-Call \\_SB.CpmOtherHotplugCard_WAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32712                 \_SB.M264 (Arg0)
32713             }
32714         }
32715 
32716         If ((M280 != Zero))
32717         {
32718             If (CondRefOf (\_SB.M284))
32719             {
32720                 M460 ("    KER-ASL-Call \\_SB.CpmLowPowerEthernet_WAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32721                 \_SB.M284 (Arg0)
32722             }
32723         }
32724 
32725         If ((M331 != Zero))
32726         {
32727             Local0 = M049 (M331, 0x10)
32728             Local1 = M049 (M331, 0x21)
32729             If (((Local0 != Zero) && (Local1 != Zero)))
32730             {
32731                 If (CondRefOf (\_SB.IWAK))
32732                 {
32733                     M460 ("    KER-ASL-Call \\_SB.IWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32734                     \_SB.IWAK (Arg0)
32735                 }
32736             }
32737         }
32738 
32739         If ((M4F0 != Zero))
32740         {
32741             If (CondRefOf (\_GPE.WAK0))
32742             {
32743                 M460 ("    KER-ASL-Call \\_GPE.WAK0 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32744                 \_GPE.WAK0 (Arg0)
32745             }
32746 
32747             If (CondRefOf (\_GPE.WAK1))
32748             {
32749                 M460 ("    KER-ASL-Call \\_GPE.WAK1 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32750                 \_GPE.WAK1 (Arg0)
32751             }
32752 
32753             If (CondRefOf (\_GPE.WAK2))
32754             {
32755                 M460 ("    KER-ASL-Call \\_GPE.WAK2 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32756                 \_GPE.WAK2 (Arg0)
32757             }
32758 
32759             If (CondRefOf (\_GPE.WAK3))
32760             {
32761                 M460 ("    KER-ASL-Call \\_GPE.WAK3 (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32762                 \_GPE.WAK3 (Arg0)
32763             }
32764         }
32765 
32766         If (CondRefOf (\_SB.OWAK))
32767         {
32768             M460 ("    KER-ASL-Call \\_SB.OWAK (0x%X)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
32769             \_SB.OWAK (Arg0)
32770         }
32771 
32772         M000 (0x0DEA)
32773     }
32774 
32775     Method (M019, 4, Serialized)
32776     {
32777         Return (M017 (Arg0, Arg1, Arg2, Arg3, Zero, 0x20))
32778     }
32779 
32780     Method (M020, 5, Serialized)
32781     {
32782         M018 (Arg0, Arg1, Arg2, Arg3, Zero, 0x20, Arg4)
32783     }
32784 
32785     Method (M021, 4, Serialized)
32786     {
32787         Local0 = (M083 + (Arg0 << 0x14))
32788         Local0 += (Arg1 << 0x0F)
32789         Local0 += (Arg2 << 0x0C)
32790         Local0 += 0xE0
32791         OperationRegion (VARM, SystemMemory, Local0, 0x08)
32792         Field (VARM, DWordAcc, NoLock, Preserve)
32793         {
32794             VAR1,   32
32795         }
32796 
32797         BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
32798         {
32799             Offset (0x04), 
32800             VAR2,   32
32801         }
32802 
32803         Local0 = VAR2 /* \M021.VAR2 */
32804         M460 ("  KER-ASL-CpmReadPcieRegister  (0x%X, 0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local0, Zero)
32805         Return (Local0)
32806     }
32807 
32808     Method (M022, 5, Serialized)
32809     {
32810         M460 ("  KER-ASL-CpmWritePcieRegister (0x%X, 0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
32811         Local0 = (M083 + (Arg0 << 0x14))
32812         Local0 += (Arg1 << 0x0F)
32813         Local0 += (Arg2 << 0x0C)
32814         Local0 += 0xE0
32815         OperationRegion (VARM, SystemMemory, Local0, 0x08)
32816         Field (VARM, DWordAcc, NoLock, Preserve)
32817         {
32818             VAR1,   32
32819         }
32820 
32821         BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
32822         {
32823             Offset (0x04), 
32824             VAR2,   32
32825         }
32826 
32827         VAR2 = Arg4
32828     }
32829 
32830     Method (M023, 3, Serialized)
32831     {
32832         M018 (Arg0, Arg1, Arg2, 0x70, 0x03, One, Zero)
32833         M018 (Arg0, Arg1, Arg2, 0x70, 0x13, One, One)
32834     }
32835 
32836     Method (M024, 3, Serialized)
32837     {
32838         Local0 = M019 (Arg0, Arg1, Arg2, 0x0128)
32839         If ((Local0 & 0x00020000))
32840         {
32841             Return (Ones)
32842         }
32843         Else
32844         {
32845             Return (Zero)
32846         }
32847     }
32848 
32849     Method (M026, 3, Serialized)
32850     {
32851         Local0 = M021 (Arg0, Arg1, Arg2, 0xA2)
32852         Local0 &= 0xFFFFFFF8
32853         Local1 = (Local0 >> 0x04)
32854         Local1 &= 0x07
32855         Local0 |= Local1
32856         Local0 |= 0x0100
32857         M022 (Arg0, Arg1, Arg2, 0xA2, Local0)
32858     }
32859 
32860     Method (M025, 4, Serialized)
32861     {
32862         M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, Zero)
32863         If (Arg3)
32864         {
32865             M429 (Arg0, Arg1, Arg2, 0x88, Zero, 0x04, Arg3)
32866         }
32867 
32868         M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, One)
32869         Local1 = 0x64
32870         Local2 = One
32871         While ((Local1 && Local2))
32872         {
32873             Sleep (One)
32874             Local3 = M430 (Arg0, Arg1, Arg2)
32875             If ((Local3 & 0x0800))
32876             {
32877                 Local1--
32878             }
32879             Else
32880             {
32881                 Local2 = Zero
32882             }
32883         }
32884 
32885         M429 (Arg0, Arg1, Arg2, 0x68, 0x05, One, Zero)
32886         If (!Local2)
32887         {
32888             Return (Ones)
32889         }
32890         Else
32891         {
32892             Return (Zero)
32893         }
32894     }
32895 
32896     Method (M430, 3, Serialized)
32897     {
32898         Local0 = M017 (Arg0, Arg1, Arg2, 0x68, 0x10, 0x10)
32899         Return (Local0)
32900     }
32901 
32902     Method (M017, 6, Serialized)
32903     {
32904         Local0 = M083 /* External reference */
32905         Local1 = (M083 >> 0x14)
32906         Local2 = (Local1 & 0x0F00)
32907         Local2 += 0x0100
32908         If (((Local1 + Arg0) >= Local2))
32909         {
32910             Local3 = 0x7FFFFFFF
32911             Local3 |= 0x80000000
32912             Local4 = ((Local3 >> Arg4) & (Local3 >> (0x20 - Arg5)
32913                 ))
32914             Return (Local4)
32915         }
32916 
32917         Local0 += (Arg0 << 0x14)
32918         Local0 += (Arg1 << 0x0F)
32919         Local0 += (Arg2 << 0x0C)
32920         Return (M013 (Local0, Arg3, Arg4, Arg5))
32921     }
32922 
32923     Method (M018, 7, Serialized)
32924     {
32925         Local0 = M083 /* External reference */
32926         Local1 = (M083 >> 0x14)
32927         Local2 = (Local1 & 0x0F00)
32928         Local2 += 0x0100
32929         If (((Local1 + Arg0) < Local2))
32930         {
32931             Local0 += (Arg0 << 0x14)
32932             Local0 += (Arg1 << 0x0F)
32933             Local0 += (Arg2 << 0x0C)
32934             Local3 = 0x7FFFFFFF
32935             Local3 |= 0x80000000
32936             If ((M013 (Local0, Zero, Zero, 0x20) != Local3))
32937             {
32938                 M014 (Local0, Arg3, Arg4, Arg5, Arg6)
32939             }
32940         }
32941     }
32942 
32943     Method (M428, 6, Serialized)
32944     {
32945         Local0 = M083 /* External reference */
32946         Local1 = (M083 >> 0x14)
32947         Local2 = (Local1 & 0x0F00)
32948         Local2 += 0x0100
32949         If (((Local1 + Arg0) >= Local2))
32950         {
32951             Local3 = 0xFF
32952             Local4 = ((Local3 >> Arg4) & (Local3 >> (0x08 - Arg5)
32953                 ))
32954             Return (Local4)
32955         }
32956 
32957         Local0 += (Arg0 << 0x14)
32958         Local0 += (Arg1 << 0x0F)
32959         Local0 += (Arg2 << 0x0C)
32960         Return (M011 (Local0, Arg3, Arg4, Arg5))
32961     }
32962 
32963     Method (M429, 7, Serialized)
32964     {
32965         Local0 = M083 /* External reference */
32966         Local1 = (M083 >> 0x14)
32967         Local2 = (Local1 & 0x0F00)
32968         Local2 += 0x0100
32969         If (((Local1 + Arg0) < Local2))
32970         {
32971             Local0 += (Arg0 << 0x14)
32972             Local0 += (Arg1 << 0x0F)
32973             Local0 += (Arg2 << 0x0C)
32974             Local3 = 0x7FFFFFFF
32975             Local3 |= 0x80000000
32976             If ((M013 (Local0, Zero, Zero, 0x20) != Local3))
32977             {
32978                 M012 (Local0, Arg3, Arg4, Arg5, Arg6)
32979             }
32980         }
32981     }
32982 
32983     Method (M265, 3, Serialized)
32984     {
32985         Local0 = Zero
32986         Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
32987         While ((Local1 != Zero))
32988         {
32989             Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
32990             If (((Local2 == Zero) || (Local2 == 0xFF)))
32991             {
32992                 Break
32993             }
32994 
32995             If ((Local2 == 0x10))
32996             {
32997                 Local3 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x0C), 0x12, One)
32998                 Local4 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x10), 0x08, One)
32999                 If (((Local3 == One) && (Local4 == One)))
33000                 {
33001                     Local0 = One
33002                 }
33003 
33004                 Break
33005             }
33006 
33007             Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
33008         }
33009 
33010         Return (Local0)
33011     }
33012 
33013     Method (M033, 3, Serialized)
33014     {
33015         Local0 = Zero
33016         Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
33017         While ((Local1 != Zero))
33018         {
33019             Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
33020             If (((Local2 == Zero) || (Local2 == 0xFF)))
33021             {
33022                 Break
33023             }
33024 
33025             If ((Local2 == 0x10))
33026             {
33027                 Local0 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x0C), 0x0A, 0x02)
33028                 Break
33029             }
33030 
33031             Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
33032         }
33033 
33034         Return (Local0)
33035     }
33036 
33037     Method (M027, 3, Serialized)
33038     {
33039         Local0 = Zero
33040         Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
33041         While ((Local1 != Zero))
33042         {
33043             Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
33044             If (((Local2 == Zero) || (Local2 == 0xFF)))
33045             {
33046                 Break
33047             }
33048 
33049             If ((Local2 == 0x10))
33050             {
33051                 Local0 = M017 (Arg0, Arg1, Arg2, (Local1 + 0x10), Zero, 0x02)
33052                 Break
33053             }
33054 
33055             Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
33056         }
33057 
33058         M460 ("  KER-ASL-CpmGetPcieAspm (0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Local0, Zero, Zero)
33059         Return (Local0)
33060     }
33061 
33062     Method (M028, 4, Serialized)
33063     {
33064         M460 ("  KER-ASL-CpmSetPcieAspm (0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Zero, Zero)
33065         Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
33066         While (((Local1 != Zero) && (Local1 < 0xFF)))
33067         {
33068             Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
33069             If (((Local2 == Zero) || (Local2 == 0xFF)))
33070             {
33071                 Break
33072             }
33073 
33074             If ((Local2 == 0x10))
33075             {
33076                 M018 (Arg0, Arg1, Arg2, (Local1 + 0x10), Zero, 0x02, Arg3)
33077                 Break
33078             }
33079 
33080             Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
33081         }
33082     }
33083 
33084     Method (M114, 4, Serialized)
33085     {
33086         Local7 = Zero
33087         If (!M001 (Arg0, Arg1))
33088         {
33089             Name (M115, Buffer (0x05){})
33090             CreateWordField (M115, Zero, M116)
33091             CreateField (M115, 0x10, 0x03, M117)
33092             CreateField (M115, 0x13, 0x05, M118)
33093             CreateByteField (M115, 0x03, M119)
33094             CreateByteField (M115, 0x04, M120)
33095             M116 = 0x05
33096             M119 = Zero
33097             M118 = Arg0
33098             M117 = Arg1
33099             If ((Arg2 == Zero))
33100             {
33101                 If ((Arg3 != One))
33102                 {
33103                     M120 = Zero
33104                     \_SB.ALIB (0x06, M115)
33105                 }
33106             }
33107             Else
33108             {
33109                 If ((Arg3 != One))
33110                 {
33111                     M120 = One
33112                     \_SB.ALIB (0x06, M115)
33113                 }
33114 
33115                 Local0 = M017 (Zero, Arg0, Arg1, 0x19, Zero, 0x08)
33116                 If (((Local0 != Zero) && (Local0 != 0xFF)))
33117                 {
33118                     Local1 = M019 (Local0, Zero, Zero, Zero)
33119                     Local2 = 0x7FFFFFFF
33120                     Local2 |= 0x80000000
33121                     If (((Local1 != Zero) && (Local1 != Local2)))
33122                     {
33123                         Local7 = One
33124                     }
33125                 }
33126             }
33127         }
33128         ElseIf ((Arg2 == Zero))
33129         {
33130             M002 (One, Arg1)
33131         }
33132         Else
33133         {
33134             M002 (Zero, Arg1)
33135             Local0 = M017 (Zero, Arg0, Arg1, 0x19, Zero, 0x08)
33136             If (((Local0 != Zero) && (Local0 != 0xFF)))
33137             {
33138                 Local1 = M019 (Local0, Zero, Zero, Zero)
33139                 Local2 = 0x7FFFFFFF
33140                 Local2 |= 0x80000000
33141                 If (((Local1 != Zero) && (Local1 != Local2)))
33142                 {
33143                     Local7 = One
33144                 }
33145             }
33146         }
33147 
33148         Return (Local7)
33149     }
33150 
33151     Method (M248, 1, Serialized)
33152     {
33153         If ((M085 == 0x08))
33154         {
33155             If ((Arg0 == Zero))
33156             {
33157                 Return (M017 (Zero, 0x07, One, 0x19, Zero, 0x08))
33158             }
33159             Else
33160             {
33161                 Return (M017 (Zero, 0x08, One, 0x19, Zero, 0x08))
33162             }
33163         }
33164         ElseIf ((M085 >= 0x0B))
33165         {
33166             If ((M085 >= 0x0D))
33167             {
33168                 Return (M017 (Zero, 0x08, (Arg0 + One), 0x19, Zero, 0x08))
33169             }
33170             ElseIf ((Arg0 == Zero))
33171             {
33172                 Return (M017 (Zero, 0x07, One, 0x19, Zero, 0x08))
33173             }
33174             Else
33175             {
33176                 Return (M017 (Zero, 0x08, Arg0, 0x19, Zero, 0x08))
33177             }
33178         }
33179         ElseIf ((M085 >= 0x09))
33180         {
33181             If ((Arg0 == Zero))
33182             {
33183                 Return (M017 (Zero, 0x08, One, 0x19, Zero, 0x08))
33184             }
33185             Else
33186             {
33187                 Return (M017 (Zero, 0x08, 0x02, 0x19, Zero, 0x08))
33188             }
33189         }
33190         Else
33191         {
33192             Return (Zero)
33193         }
33194     }
33195 
33196     Method (M401, 3, Serialized)
33197     {
33198         If (((M085 >= 0x0B) && (M085 <= 0x0C)))
33199         {
33200             If ((Arg0 <= 0x03))
33201             {
33202                 Local3 = (0x06 - Arg0)
33203             }
33204             Else
33205             {
33206                 Local3 = 0x06
33207             }
33208         }
33209         Else
33210         {
33211             Local3 = 0x03
33212         }
33213 
33214         Local3 = (0x14001000 + (Local3 << 0x14))
33215         Local0 = (Arg1 & 0x1F)
33216         Local0 = ((Local0 << 0x03) | (Arg2 & 0x07))
33217         Local1 = Zero
33218         If (((M085 >= 0x09) && (M085 <= 0x0A)))
33219         {
33220             Local2 = 0x09
33221         }
33222         ElseIf (((M085 >= 0x0B) && (M085 <= 0x0C)))
33223         {
33224             Local2 = 0x16
33225         }
33226         ElseIf ((M085 == 0x0D))
33227         {
33228             Local2 = 0x0D
33229         }
33230         ElseIf ((M085 == 0x0E))
33231         {
33232             Local2 = 0x0A
33233         }
33234         ElseIf ((M085 == 0x0F))
33235         {
33236             Local2 = 0x10
33237         }
33238         Else
33239         {
33240             Local2 = 0x12
33241         }
33242 
33243         Local4 = M249 (Zero, Zero, Zero, ((Local1 * 0x04) + Local3
33244             ))
33245         While (((Local1 < Local2) && (Local4 != Local0)))
33246         {
33247             Local1++
33248             Local4 = M249 (Zero, Zero, Zero, ((Local1 * 0x04) + Local3
33249                 ))
33250         }
33251 
33252         If ((Local1 <= Local2))
33253         {
33254             Return (Local1)
33255         }
33256         Else
33257         {
33258             Return (0xFF)
33259         }
33260     }
33261 
33262     Method (M471, 3, Serialized)
33263     {
33264         If (((M085 >= 0x0B) && (M085 <= 0x0C)))
33265         {
33266             If ((Arg0 <= 0x03))
33267             {
33268                 Local5 = (0x04 - Arg0)
33269             }
33270             Else
33271             {
33272                 Local5 = 0x04
33273             }
33274         }
33275         Else
33276         {
33277             Local5 = (Arg0 + One)
33278         }
33279 
33280         ToInteger (Arg1, Local4)
33281         If (((M085 >= 0x0D) && (M085 <= 0x0E)))
33282         {
33283             If ((Local4 >= 0x03))
33284             {
33285                 Local4 -= 0x03
33286                 Local5 += One
33287             }
33288         }
33289         ElseIf ((M085 == 0x0F))
33290         {
33291             If ((Local4 >= 0x0C))
33292             {
33293                 Local4 -= 0x0C
33294                 Local5 += 0x03
33295             }
33296             ElseIf ((Local4 == 0x0B))
33297             {
33298                 Local4 -= 0x0B
33299                 Local5 += 0x02
33300             }
33301             ElseIf ((Local4 >= 0x05))
33302             {
33303                 Local4 -= 0x05
33304                 Local5 += One
33305             }
33306         }
33307         ElseIf ((Local4 >= 0x08))
33308         {
33309             Local4 -= 0x08
33310             If (((M085 >= 0x0B) && (M085 <= 0x0C)))
33311             {
33312                 Local5 += 0x04
33313             }
33314             Else
33315             {
33316                 Local5 += One
33317             }
33318         }
33319 
33320         Local6 = (0x11000000 + (Local5 << 0x14))
33321         Local6 += (Arg2 << 0x10)
33322         If (((Arg2 == Zero) || (Arg2 == 0x04)))
33323         {
33324             Local6 += (Local4 << 0x0C)
33325         }
33326 
33327         Return (Local6)
33328     }
33329 
33330     Method (M402, 3, Serialized)
33331     {
33332         Local4 = M401 (Arg0, Arg1, Arg2)
33333         If ((Local4 != 0xFF))
33334         {
33335             If (((M085 >= 0x08) && (M085 <= 0x0B)))
33336             {
33337                 Local7 = (M471 (Arg0, Local4, 0x08) + 0x0188)
33338                 Local0 = M249 (Zero, Zero, Zero, Local7)
33339                 Local0 &= 0xFFFFDFFF
33340                 M250 (Zero, Zero, Zero, Local7, (Local0 | 0x2000))
33341             }
33342 
33343             Local1 = (M019 (Zero, Zero, Zero, 0x84) & 0xFF00FCFF)
33344             Local2 = ((Arg1 << 0x13) | (Arg2 << 0x10))
33345             Local1 |= Local2
33346             M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0100))
33347             M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0300))
33348             If ((M085 >= 0x0C))
33349             {
33350                 Local3 = M019 (Zero, Zero, Zero, 0x84)
33351                 Local5 = 0x4EEA
33352                 While (((Local5 > Zero) && ((Local3 & 0x0400) != 0x0400)))
33353                 {
33354                     Local5 = (Local5 - One)
33355                     Stall (0x63)
33356                     Local3 = M019 (Zero, Zero, Zero, 0x84)
33357                 }
33358             }
33359 
33360             Local6 = (M471 (Arg0, Local4, 0x04) + 0x0294)
33361             Local3 = M249 (Zero, Zero, Zero, Local6)
33362             Local5 = 0x4EEA
33363             While (((Local5 > Zero) && ((Local3 & 0x3F) != 0x1F)))
33364             {
33365                 Local5 = (Local5 - One)
33366                 Stall (0x63)
33367                 Local3 = M249 (Zero, Zero, Zero, Local6)
33368             }
33369 
33370             M020 (Zero, Zero, Zero, 0x84, (Local1 | 0x0100))
33371             If (((M085 >= 0x08) && (M085 <= 0x0B)))
33372             {
33373                 M250 (Zero, Zero, Zero, Local7, Local0)
33374             }
33375         }
33376     }
33377 
33378     Method (M403, 4, Serialized)
33379     {
33380         Local4 = M401 (Arg0, Arg1, Arg2)
33381         If ((Local4 != 0xFF))
33382         {
33383             Local2 = (M471 (Arg0, Local4, 0x04) + 0x0280)
33384             Local0 = M249 (Zero, Zero, Zero, Local2)
33385             Local0 &= 0xFFBFFFFF
33386             Local1 = Arg3
33387             Local0 |= (Local1 << 0x16)
33388             M250 (Zero, Zero, Zero, Local2, Local0)
33389         }
33390     }
33391 
33392     Method (M472, 4, Serialized)
33393     {
33394         Local4 = M401 (Arg0, Arg1, Arg2)
33395         If ((Local4 != 0xFF))
33396         {
33397             Local7 = (M471 (Arg0, Local4, 0x08) + 0x0428)
33398             If (((M085 >= 0x0D) && (M085 <= 0x0E)))
33399             {
33400                 If ((Local4 >= 0x03))
33401                 {
33402                     Local4 -= 0x03
33403                 }
33404             }
33405             ElseIf ((M085 == 0x0F))
33406             {
33407                 If ((Local4 >= 0x05))
33408                 {
33409                     Local4 -= 0x05
33410                 }
33411             }
33412             ElseIf ((Local4 >= 0x08))
33413             {
33414                 Local4 -= 0x08
33415             }
33416 
33417             Local0 = M249 (Zero, Zero, Zero, Local7)
33418             Local1 = (One << Local4)
33419             Local2 = (Arg3 << Local4)
33420             If (((Local0 & Local1) != Local2))
33421             {
33422                 Local3 = (Local0 & (Ones ^ Local1))
33423                 M250 (Zero, Zero, Zero, Local7, (Local3 | Local2))
33424             }
33425         }
33426     }
33427 
33428     Mutex (M421, 0x00)
33429     Method (M422, 4, Serialized)
33430     {
33431         Local0 = M049 (M128, 0x81)
33432         If ((Local0 == Zero))
33433         {
33434             Return (Ones)
33435         }
33436 
33437         Local0 = (M083 + (Local0 << 0x14))
33438         Local0 += 0xE0
33439         Acquire (M421, 0xFFFF)
33440         OperationRegion (VARM, SystemMemory, Local0, 0x08)
33441         Field (VARM, DWordAcc, NoLock, Preserve)
33442         {
33443             VAR1,   32
33444         }
33445 
33446         BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
33447         {
33448             Offset (0x04), 
33449             VAR2,   32
33450         }
33451 
33452         Local1 = VAR1 /* \M422.VAR1 */
33453         Local2 = VAR2 /* \M422.VAR2 */
33454         VAR1 = Local1
33455         Release (M421)
33456         M460 ("  KER-ASL-CpmReadBxbSmnRegister  (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
33457         Return (Local2)
33458     }
33459 
33460     Method (M423, 5, Serialized)
33461     {
33462         Local0 = M049 (M128, 0x81)
33463         If ((Local0 != Zero))
33464         {
33465             M460 ("  KER-ASL-CpmWriteBxbSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
33466             Local0 = (M083 + (Local0 << 0x14))
33467             Local0 += 0xE0
33468             Acquire (M421, 0xFFFF)
33469             OperationRegion (VARM, SystemMemory, Local0, 0x08)
33470             Field (VARM, DWordAcc, NoLock, Preserve)
33471             {
33472                 VAR1,   32
33473             }
33474 
33475             BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
33476             {
33477                 Offset (0x04), 
33478                 VAR2,   32
33479             }
33480 
33481             Local1 = VAR1 /* \M423.VAR1 */
33482             VAR2 = Arg4
33483             VAR1 = Local1
33484             Release (M421)
33485         }
33486     }
33487 
33488     Mutex (M253, 0x00)
33489     Method (M249, 4, Serialized)
33490     {
33491         If ((((Arg0 + Arg1) + Arg2) == Zero))
33492         {
33493             Local0 = Zero
33494         }
33495         Else
33496         {
33497             Local0 = M252 (Arg0, Arg1, Arg2)
33498         }
33499 
33500         If ((Local0 == Ones))
33501         {
33502             Return (Ones)
33503         }
33504 
33505         Local0 = (M083 + (Local0 << 0x14))
33506         Local0 += 0xB8
33507         If (CondRefOf (\_SB.AM00))
33508         {
33509             Acquire (\_SB.AM00, 0xFFFF)
33510         }
33511         Else
33512         {
33513             Acquire (M253, 0xFFFF)
33514         }
33515 
33516         OperationRegion (VARM, SystemMemory, Local0, 0x08)
33517         Field (VARM, DWordAcc, NoLock, Preserve)
33518         {
33519             VAR1,   32
33520         }
33521 
33522         BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
33523         {
33524             Offset (0x04), 
33525             VAR2,   32
33526         }
33527 
33528         Local1 = VAR1 /* \M249.VAR1 */
33529         Local2 = VAR2 /* \M249.VAR2 */
33530         VAR1 = Local1
33531         If (CondRefOf (\_SB.AM00))
33532         {
33533             Release (\_SB.AM00)
33534         }
33535         Else
33536         {
33537             Release (M253)
33538         }
33539 
33540         M460 ("  KER-ASL-CpmReadSmnRegister  (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
33541         Return (Local2)
33542     }
33543 
33544     Method (M250, 5, Serialized)
33545     {
33546         If ((((Arg0 + Arg1) + Arg2) == Zero))
33547         {
33548             Local0 = Zero
33549         }
33550         Else
33551         {
33552             Local0 = M252 (Arg0, Arg1, Arg2)
33553         }
33554 
33555         If ((Local0 != Ones))
33556         {
33557             M460 ("  KER-ASL-CpmWriteSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
33558             Local0 = (M083 + (Local0 << 0x14))
33559             Local0 += 0xB8
33560             If (CondRefOf (\_SB.AM00))
33561             {
33562                 Acquire (\_SB.AM00, 0xFFFF)
33563             }
33564             Else
33565             {
33566                 Acquire (M253, 0xFFFF)
33567             }
33568 
33569             OperationRegion (VARM, SystemMemory, Local0, 0x08)
33570             Field (VARM, DWordAcc, NoLock, Preserve)
33571             {
33572                 VAR1,   32
33573             }
33574 
33575             BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
33576             {
33577                 Offset (0x04), 
33578                 VAR2,   32
33579             }
33580 
33581             Local1 = VAR1 /* \M250.VAR1 */
33582             VAR2 = Arg4
33583             VAR1 = Local1
33584             If (CondRefOf (\_SB.AM00))
33585             {
33586                 Release (\_SB.AM00)
33587             }
33588             Else
33589             {
33590                 Release (M253)
33591             }
33592         }
33593     }
33594 
33595     Method (M013, 4, Serialized)
33596     {
33597         Local0 = (Arg0 + Arg1)
33598         OperationRegion (VARM, SystemMemory, Local0, 0x04)
33599         Field (VARM, DWordAcc, NoLock, Preserve)
33600         {
33601             VARR,   32
33602         }
33603 
33604         Local1 = VARR /* \M013.VARR */
33605         Local5 = 0x7FFFFFFF
33606         Local5 |= 0x80000000
33607         Local2 = ((Local1 >> Arg2) & (Local5 >> (0x20 - Arg3)
33608             ))
33609         M460 ("  KER-ASL-CpmReadMem32  (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
33610         Return (Local2)
33611     }
33612 
33613     Method (M014, 5, Serialized)
33614     {
33615         M460 ("  KER-ASL-CpmWriteMem32 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
33616         Local0 = (Arg0 + Arg1)
33617         OperationRegion (VARM, SystemMemory, Local0, 0x04)
33618         Field (VARM, DWordAcc, NoLock, Preserve)
33619         {
33620             VARR,   32
33621         }
33622 
33623         Local1 = VARR /* \M014.VARR */
33624         Local5 = 0x7FFFFFFF
33625         Local5 |= 0x80000000
33626         Local2 = (Arg2 + Arg3)
33627         Local2 = (0x20 - Local2)
33628         Local2 = (((Local5 << Local2) & Local5) >> Local2)
33629         Local2 = ((Local2 >> Arg2) << Arg2)
33630         Local3 = (Arg4 << Arg2)
33631         Local4 = ((Local1 & (Local5 ^ Local2)) | Local3)
33632         VARR = Local4
33633     }
33634 
33635     Method (M011, 4, Serialized)
33636     {
33637         Local0 = (Arg0 + Arg1)
33638         OperationRegion (VARM, SystemMemory, Local0, One)
33639         Field (VARM, ByteAcc, NoLock, Preserve)
33640         {
33641             VARR,   8
33642         }
33643 
33644         Local1 = VARR /* \M011.VARR */
33645         Local2 = ((Local1 >> Arg2) & (0xFF >> (0x08 - Arg3)
33646             ))
33647         M460 ("  KER-ASL-CpmReadMem8  (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, Zero)
33648         Return (Local2)
33649     }
33650 
33651     Method (M012, 5, Serialized)
33652     {
33653         M460 ("  KER-ASL-CpmWriteMem8 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
33654         Local0 = (Arg0 + Arg1)
33655         OperationRegion (VARM, SystemMemory, Local0, One)
33656         Field (VARM, ByteAcc, NoLock, Preserve)
33657         {
33658             VARR,   8
33659         }
33660 
33661         Local1 = VARR /* \M012.VARR */
33662         Local2 = (Arg2 + Arg3)
33663         Local2 = (0x08 - Local2)
33664         Local2 = (((0xFF << Local2) & 0xFF) >> Local2)
33665         Local2 = ((Local2 >> Arg2) << Arg2)
33666         Local3 = (Arg4 << Arg2)
33667         Local4 = ((Local1 & (0xFF ^ Local2)) | Local3)
33668         VARR = Local4
33669     }
33670 
33671     Method (M252, 3, Serialized)
33672     {
33673         If ((M085 >= 0x08))
33674         {
33675             Local0 = M251 /* External reference */
33676             If (Local0)
33677             {
33678                 Local0 += 0x10
33679                 Local1 = Zero
33680                 Local2 = Zero
33681                 While ((Local2 != 0xFF))
33682                 {
33683                     Local2 = M011 ((Local0 + Local1), Zero, Zero, 0x08)
33684                     Local3 = M011 ((Local0 + Local1), One, Zero, 0x08)
33685                     Local4 = M011 ((Local0 + Local1), 0x02, Zero, 0x08)
33686                     Local5 = M011 ((Local0 + Local1), 0x03, Zero, 0x08)
33687                     If (((Local2 == Arg0) && (Local3 == Arg1)))
33688                     {
33689                         If ((Local4 == Arg2))
33690                         {
33691                             Return (Local5)
33692                         }
33693                     }
33694 
33695                     Local1 += 0x04
33696                 }
33697             }
33698         }
33699 
33700         Return (Ones)
33701     }
33702 
33703     Method (M049, 2, Serialized)
33704     {
33705         Local0 = Zero
33706         If ((Arg0 != Zero))
33707         {
33708             Local0 = (Arg0 + Arg1)
33709             OperationRegion (VARM, SystemMemory, Local0, One)
33710             Field (VARM, ByteAcc, NoLock, Preserve)
33711             {
33712                 VARR,   8
33713             }
33714 
33715             Local0 = VARR /* \M049.VARR */
33716         }
33717 
33718         Return (Local0)
33719     }
33720 
33721     Method (M04A, 2, Serialized)
33722     {
33723         Local0 = Zero
33724         If ((Arg0 != Zero))
33725         {
33726             Local0 = (Arg0 + Arg1)
33727             OperationRegion (VARM, SystemMemory, Local0, 0x02)
33728             Field (VARM, WordAcc, NoLock, Preserve)
33729             {
33730                 VARR,   16
33731             }
33732 
33733             Local0 = VARR /* \M04A.VARR */
33734         }
33735 
33736         Return (Local0)
33737     }
33738 
33739     Method (M04B, 2, Serialized)
33740     {
33741         Local0 = Zero
33742         If ((Arg0 != Zero))
33743         {
33744             Local0 = (Arg0 + Arg1)
33745             OperationRegion (VARM, SystemMemory, Local0, 0x04)
33746             Field (VARM, DWordAcc, NoLock, Preserve)
33747             {
33748                 VARR,   32
33749             }
33750 
33751             Local0 = VARR /* \M04B.VARR */
33752         }
33753 
33754         Return (Local0)
33755     }
33756 
33757     Method (M04C, 3, Serialized)
33758     {
33759         If ((Arg0 != Zero))
33760         {
33761             Local0 = (Arg0 + Arg1)
33762             OperationRegion (VARM, SystemMemory, Local0, One)
33763             Field (VARM, ByteAcc, NoLock, Preserve)
33764             {
33765                 VARR,   8
33766             }
33767 
33768             VARR = Arg2
33769         }
33770     }
33771 
33772     Method (M04D, 3, Serialized)
33773     {
33774         If ((Arg0 != Zero))
33775         {
33776             Local0 = (Arg0 + Arg1)
33777             OperationRegion (VARM, SystemMemory, Local0, 0x02)
33778             Field (VARM, WordAcc, NoLock, Preserve)
33779             {
33780                 VARR,   16
33781             }
33782 
33783             VARR = Arg2
33784         }
33785     }
33786 
33787     Method (M04E, 3, Serialized)
33788     {
33789         If ((Arg0 != Zero))
33790         {
33791             Local0 = (Arg0 + Arg1)
33792             OperationRegion (VARM, SystemMemory, Local0, 0x04)
33793             Field (VARM, DWordAcc, NoLock, Preserve)
33794             {
33795                 VARR,   32
33796             }
33797 
33798             VARR = Arg2
33799         }
33800     }
33801 
33802     Method (M412, 1, Serialized)
33803     {
33804         Local0 = (Arg0 >> 0x1F)
33805         Local0 &= One
33806         Local1 = (Arg0 >> 0x18)
33807         Local1 &= 0x7F
33808         Local3 = (Arg0 >> 0x04)
33809         Local3 &= 0x03
33810         Local4 = (Arg0 & 0x07)
33811         Local5 = M409 (Local0, Local1, Local3)
33812         Local5 >>= Local4
33813         Local5 &= One
33814         Return (Local5)
33815     }
33816 
33817     Method (M4E3, 1, Serialized)
33818     {
33819         Local0 = (Arg0 >> 0x15)
33820         Local0 &= 0x07
33821         Local1 = (Arg0 >> 0x18)
33822         Local1 &= 0x7F
33823         Local3 = (Arg0 >> 0x04)
33824         Local3 &= 0x03
33825         Local4 = (Arg0 & 0x07)
33826         Local5 = M4E1 (Local0, Local1, Local3)
33827         Local5 >>= Local4
33828         Local5 &= One
33829         Return (Local5)
33830     }
33831 
33832     Method (M413, 2, Serialized)
33833     {
33834         Local0 = (Arg0 >> 0x1F)
33835         Local0 &= One
33836         Local1 = (Arg0 >> 0x18)
33837         Local1 &= 0x7F
33838         Local2 = (Arg0 >> 0x06)
33839         Local2 &= 0x03
33840         Local3 = (Arg0 >> 0x04)
33841         Local3 &= 0x03
33842         Local4 = (Arg0 & 0x07)
33843         Local5 = M409 (Local0, Local1, (((Local2 + One) * One
33844             ) + Local3))
33845         Local6 = Local5
33846         Local5 &= (Ones ^ (One << Local4))
33847         Local5 |= ((Arg1 & One) << Local4)
33848         If ((Local5 != Local6))
33849         {
33850             M410 (Local0, Local1, (((Local2 + One) * One) + Local3
33851                 ), Local5)
33852         }
33853     }
33854 
33855     Method (M4E4, 2, Serialized)
33856     {
33857         Local0 = (Arg0 >> 0x15)
33858         Local0 &= 0x07
33859         Local1 = (Arg0 >> 0x18)
33860         Local1 &= 0x7F
33861         Local2 = (Arg0 >> 0x06)
33862         Local2 &= 0x03
33863         Local3 = (Arg0 >> 0x04)
33864         Local3 &= 0x03
33865         Local4 = (Arg0 & 0x07)
33866         Local5 = M4E1 (Local0, Local1, (((Local2 + One) * One
33867             ) + Local3))
33868         Local6 = Local5
33869         Local5 &= (Ones ^ (One << Local4))
33870         Local5 |= ((Arg1 & One) << Local4)
33871         If ((Local5 != Local6))
33872         {
33873             M4E2 (Local0, Local1, (((Local2 + One) * One) + Local3
33874                 ), Local5)
33875         }
33876     }
33877 
33878     Method (M440, 1, Serialized)
33879     {
33880         M012 (0xFEC30000, Zero, Arg0, One, Zero)
33881         Local0 = M011 (0xFEC30000, 0x04, Arg0, One)
33882         Return (Local0)
33883     }
33884 
33885     Method (M441, 2, Serialized)
33886     {
33887         M012 (0xFEC30000, Zero, Arg0, One, One)
33888         M012 (0xFEC30000, 0x08, Arg0, One, Arg1)
33889     }
33890 
33891     Method (M009, 1, Serialized)
33892     {
33893         Local0 = (Arg0 >> 0x08)
33894         Local0 &= 0x07
33895         Local1 = (Arg0 & 0xFF)
33896         Local2 = Zero
33897         If (((Local0 == Zero) || (Local0 == One)))
33898         {
33899             If ((M085 >= 0x02))
33900             {
33901                 If (((Arg0 & 0xF8000000) == Zero))
33902                 {
33903                     If ((Local0 == Zero))
33904                     {
33905                         Local2 = M011 ((M084 + 0x1502), (Local1 * 0x04), Zero, 
33906                             One)
33907                     }
33908                     Else
33909                     {
33910                         Local2 = M011 ((M084 + 0x1202), (Local1 * 0x04), Zero, 
33911                             One)
33912                     }
33913                 }
33914                 Else
33915                 {
33916                     Local3 = (Arg0 >> 0x1F)
33917                     Local3 &= One
33918                     Local4 = (Arg0 >> 0x1D)
33919                     Local4 &= 0x03
33920                     Local5 = (Arg0 >> 0x1B)
33921                     Local5 &= 0x03
33922                     If ((Local0 == Zero))
33923                     {
33924                         Local6 = (0x02D02500 + (Local1 * 0x04))
33925                     }
33926                     Else
33927                     {
33928                         Local6 = (0x02D02200 + (Local1 * 0x04))
33929                     }
33930 
33931                     Local2 = M249 (Local3, Local4, Local5, Local6)
33932                     Local2 >>= 0x10
33933                     Local2 &= One
33934                 }
33935             }
33936             Else
33937             {
33938                 Local2 = M011 ((M084 + 0x0100), Local1, 0x07, One)
33939             }
33940         }
33941         ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
33942         {
33943             Local3 = (Arg0 >> 0x1F)
33944             Local3 &= One
33945             Local4 = (Arg0 >> 0x1D)
33946             Local4 &= 0x03
33947             Local5 = (Arg0 >> 0x1B)
33948             Local5 &= 0x03
33949             If ((Local0 == 0x04))
33950             {
33951                 Local6 = (0x02D02500 + (Local1 * 0x04))
33952             }
33953             Else
33954             {
33955                 Local6 = (0x02D02200 + (Local1 * 0x04))
33956             }
33957 
33958             Local2 = M422 (Local3, Local4, Local5, Local6)
33959             Local2 >>= 0x10
33960             Local2 &= One
33961         }
33962         ElseIf ((Local0 == 0x02))
33963         {
33964             OperationRegion (VARM, EmbeddedControl, 0xB1, One)
33965             Field (VARM, ByteAcc, NoLock, Preserve)
33966             {
33967                 VARR,   8
33968             }
33969 
33970             Local2 = (VARR >> Local1)
33971         }
33972         ElseIf ((Local0 == 0x03))
33973         {
33974             Local2 = M440 (Local1)
33975         }
33976         ElseIf ((Local0 == 0x06))
33977         {
33978             Local2 = M412 (Arg0)
33979         }
33980         ElseIf ((Local0 == 0x07))
33981         {
33982             Local2 = M4E3 (Arg0)
33983         }
33984 
33985         M460 ("  KER-ASL-CpmReadGpio  (0x%X) = 0x%X\n", Arg0, Local2, Zero, Zero, Zero, Zero)
33986         Return (Local2)
33987     }
33988 
33989     Method (M010, 2, Serialized)
33990     {
33991         Local0 = (Arg0 >> 0x08)
33992         Local0 &= 0x07
33993         Local1 = (Arg0 & 0xFF)
33994         M460 ("  KER-ASL-CpmWriteGpio (0x%X, 0x%X)\n", Arg0, Arg1, Zero, Zero, Zero, Zero)
33995         If (((Local0 == Zero) || (Local0 == One)))
33996         {
33997             If ((M085 >= 0x02))
33998             {
33999                 If (((Arg0 & 0xF8000000) == Zero))
34000                 {
34001                     If ((Local0 == Zero))
34002                     {
34003                         M012 ((M084 + 0x1502), (Local1 * 0x04), 0x06, 0x02, (
34004                             0x02 | Arg1))
34005                     }
34006                     Else
34007                     {
34008                         M012 ((M084 + 0x1202), (Local1 * 0x04), 0x06, 0x02, (
34009                             0x02 | Arg1))
34010                     }
34011                 }
34012                 Else
34013                 {
34014                     Local3 = (Arg0 >> 0x1F)
34015                     Local3 &= One
34016                     Local4 = (Arg0 >> 0x1D)
34017                     Local4 &= 0x03
34018                     Local5 = (Arg0 >> 0x1B)
34019                     Local5 &= 0x03
34020                     If ((Local0 == Zero))
34021                     {
34022                         Local6 = (0x02D02500 + (Local1 * 0x04))
34023                     }
34024                     Else
34025                     {
34026                         Local6 = (0x02D02200 + (Local1 * 0x04))
34027                     }
34028 
34029                     Local2 = M249 (Local3, Local4, Local5, Local6)
34030                     Local2 &= 0xCF3FFFFF
34031                     Local2 |= 0x00800000
34032                     Local2 |= (Arg1 << 0x16)
34033                     M250 (Local3, Local4, Local5, Local6, Local2)
34034                 }
34035             }
34036             Else
34037             {
34038                 M012 ((M084 + 0x0100), Local1, 0x06, One, Arg1)
34039                 M012 ((M084 + 0x0100), Local1, 0x05, One, Zero)
34040             }
34041         }
34042         ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
34043         {
34044             Local3 = (Arg0 >> 0x1F)
34045             Local3 &= One
34046             Local4 = (Arg0 >> 0x1D)
34047             Local4 &= 0x03
34048             Local5 = (Arg0 >> 0x1B)
34049             Local5 &= 0x03
34050             If ((Local0 == 0x04))
34051             {
34052                 Local6 = (0x02D02500 + (Local1 * 0x04))
34053             }
34054             Else
34055             {
34056                 Local6 = (0x02D02200 + (Local1 * 0x04))
34057             }
34058 
34059             Local2 = M422 (Local3, Local4, Local5, Local6)
34060             Local2 &= 0xCF3FFFFF
34061             Local2 |= 0x00800000
34062             Local2 |= (Arg1 << 0x16)
34063             M423 (Local3, Local4, Local5, Local6, Local2)
34064         }
34065         ElseIf ((Local0 == 0x02))
34066         {
34067             OperationRegion (VARM, EmbeddedControl, 0xB1, One)
34068             Field (VARM, ByteAcc, NoLock, Preserve)
34069             {
34070                 VARR,   8
34071             }
34072 
34073             Local6 = (One << Local1)
34074             Local7 = ~Local6
34075             VARR = ((VARR & Local7) | (Arg1 << Local1))
34076         }
34077         ElseIf ((Local0 == 0x03))
34078         {
34079             M441 (Local1, Arg1)
34080         }
34081         ElseIf ((Local0 == 0x06))
34082         {
34083             M413 (Arg0, Arg1)
34084         }
34085         ElseIf ((Local0 == 0x07))
34086         {
34087             M4E4 (Arg0, Arg1)
34088         }
34089     }
34090 
34091     Name (M037, Buffer (0x17)
34092     {
34093         /* 0000 */  0x7E, 0x81, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05,  // ~.......
34094         /* 0008 */  0x02, 0x20, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18,  // . ......
34095         /* 0010 */  0x17, 0x19, 0x0B, 0x01, 0x0F, 0x0D, 0x09         // .......
34096     })
34097     Name (M227, Buffer (0x18)
34098     {
34099         /* 0000 */  0x41, 0x42, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05,  // AB......
34100         /* 0008 */  0x02, 0x44, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18,  // .D......
34101         /* 0010 */  0x17, 0x45, 0x0B, 0x01, 0x0F, 0x0D, 0x09, 0x08   // .E......
34102     })
34103     Name (M329, Buffer (0x18)
34104     {
34105         /* 0000 */  0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05,  // YZ....[.
34106         /* 0008 */  0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x12, 0x18,  // .V.L....
34107         /* 0010 */  0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08   // ..T.(...
34108     })
34109     Name (M32A, Buffer (0x18)
34110     {
34111         /* 0000 */  0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05,  // YZ....[.
34112         /* 0008 */  0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x1D, 0x1E,  // .V.L....
34113         /* 0010 */  0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08   // ..T.(...
34114     })
34115     Name (M330, Buffer (0x18)
34116     {
34117         /* 0000 */  0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05,  // YZ....[.
34118         /* 0008 */  0x02, 0x56, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18,  // .V......
34119         /* 0010 */  0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08   // ..T.(...
34120     })
34121     Name (M32B, Buffer (0x18)
34122     {
34123         /* 0000 */  0x59, 0x5A, 0x03, 0x16, 0x04, 0x0B, 0x5B, 0x05,  // YZ....[.
34124         /* 0008 */  0x02, 0x1D, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18,  // ........
34125         /* 0010 */  0x17, 0x20, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08   // . T.(...
34126     })
34127     Method (M029, 1, Serialized)
34128     {
34129         If ((M085 == 0x02))
34130         {
34131             Return (M011 ((M084 + 0x1502), (DerefOf (M037 [Arg0]) * 
34132                 0x04), Zero, One))
34133         }
34134         ElseIf ((M085 < 0x02))
34135         {
34136             Return (M011 ((M084 + 0x0160), Arg0, 0x07, One))
34137         }
34138         ElseIf (((M085 > 0x02) && (M085 < 0x08)))
34139         {
34140             Return (M011 ((M084 + 0x1502), (DerefOf (M227 [Arg0]) * 
34141                 0x04), Zero, One))
34142         }
34143         ElseIf ((M085 == 0x08))
34144         {
34145             Return (M011 ((M084 + 0x1502), (DerefOf (M329 [Arg0]) * 
34146                 0x04), Zero, One))
34147         }
34148         ElseIf (((M085 == 0x09) || (M085 == 0x0A)))
34149         {
34150             Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) * 
34151                 0x04), Zero, One))
34152         }
34153         ElseIf (((M085 == 0x0B) || (M085 == 0x0C)))
34154         {
34155             Return (M011 ((M084 + 0x1502), (DerefOf (M32A [Arg0]) * 
34156                 0x04), Zero, One))
34157         }
34158         ElseIf (((M085 == 0x0D) || (M085 == 0x0E)))
34159         {
34160             Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) * 
34161                 0x04), Zero, One))
34162         }
34163         ElseIf ((M085 == 0x0F))
34164         {
34165             Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) * 
34166                 0x04), Zero, One))
34167         }
34168     }
34169 
34170     Method (M031, 1, Serialized)
34171     {
34172         Local0 = M011 ((M084 + 0x0240), Arg0, Zero, 0x05)
34173         Return (M011 ((M084 + 0x0208), (Local0 / 0x08), (Local0 & 
34174             0x07), One))
34175     }
34176 
34177     Method (M032, 2, Serialized)
34178     {
34179         Local0 = M011 ((M084 + 0x0240), Arg0, Zero, 0x05)
34180         M012 ((M084 + 0x0208), (Local0 / 0x08), (Local0 & 0x07
34181             ), One, Arg1)
34182     }
34183 
34184     Method (M477, 2, Serialized)
34185     {
34186         If ((Arg1 == Zero))
34187         {
34188             Return (Zero)
34189         }
34190 
34191         OperationRegion (VARM, SystemIO, Arg0, 0x09)
34192         Field (VARM, ByteAcc, NoLock, Preserve)
34193         {
34194             Offset (0x08), 
34195             SMB8,   8
34196         }
34197 
34198         Local0 = Arg1
34199         While ((Local0 > Zero))
34200         {
34201             SMB8 |= 0x40
34202             If ((Local0 < 0x00FFFFFF))
34203             {
34204                 If ((Local0 > 0x05))
34205                 {
34206                     Local0 = (Local0 - 0x05)
34207                 }
34208                 Else
34209                 {
34210                     Local0 = Zero
34211                 }
34212             }
34213 
34214             Stall (0x05)
34215             Local1 = SMB8 /* \M477.SMB8 */
34216             If (((Local1 & 0x50) == 0x40))
34217             {
34218                 Return (Zero)
34219             }
34220         }
34221 
34222         Return (One)
34223     }
34224 
34225     Method (M478, 1, Serialized)
34226     {
34227         OperationRegion (VARM, SystemIO, Arg0, 0x09)
34228         Field (VARM, ByteAcc, NoLock, Preserve)
34229         {
34230             Offset (0x08), 
34231             SMB8,   8
34232         }
34233 
34234         SMB8 |= 0x80
34235     }
34236 
34237     Method (M479, 2, Serialized)
34238     {
34239         OperationRegion (VARM, SystemIO, Arg0, 0x03)
34240         Field (VARM, ByteAcc, NoLock, Preserve)
34241         {
34242             SMB0,   8, 
34243             SMB1,   8, 
34244             SMB2,   8
34245         }
34246 
34247         Local0 = Arg1
34248         While ((Local0 > Zero))
34249         {
34250             Local1 = 0x64
34251             Local2 = One
34252             While (((Local1 > Zero) && ((Local2 & One) != Zero)))
34253             {
34254                 SMB0 = 0x1F
34255                 If ((Local0 < 0x00FFFFFF))
34256                 {
34257                     If ((Local0 > 0x05))
34258                     {
34259                         Local0 = (Local0 - 0x05)
34260                     }
34261                     Else
34262                     {
34263                         Local0 = Zero
34264                     }
34265                 }
34266 
34267                 Local1--
34268                 Stall (0x05)
34269                 Local2 = SMB0 /* \M479.SMB0 */
34270             }
34271 
34272             If (((Local2 & One) != Zero))
34273             {
34274                 SMB2 = 0x02
34275             }
34276             Else
34277             {
34278                 Break
34279             }
34280         }
34281 
34282         If (((SMB0 & One) != Zero))
34283         {
34284             Return (One)
34285         }
34286 
34287         While ((Local0 > Zero))
34288         {
34289             Local1 = 0x64
34290             Local2 = One
34291             While (((Local1 > Zero) && ((Local2 & One) != Zero)))
34292             {
34293                 SMB1 = 0x3F
34294                 If ((Local0 < 0x00FFFFFF))
34295                 {
34296                     If ((Local0 > 0x05))
34297                     {
34298                         Local0 = (Local0 - 0x05)
34299                     }
34300                     Else
34301                     {
34302                         Local0 = Zero
34303                     }
34304                 }
34305 
34306                 Local1--
34307                 Stall (0x05)
34308                 Local2 = SMB1 /* \M479.SMB1 */
34309             }
34310 
34311             If (((Local2 & One) != Zero))
34312             {
34313                 SMB1 = 0x02
34314             }
34315             Else
34316             {
34317                 Break
34318             }
34319         }
34320 
34321         If (((SMB1 & One) != Zero))
34322         {
34323             Return (One)
34324         }
34325 
34326         Return (Zero)
34327     }
34328 
34329     Mutex (M408, 0x00)
34330     Method (M47A, 6, Serialized)
34331     {
34332         Local0 = Buffer (0x22){}
34333         CreateByteField (Local0, Zero, STAT)
34334         CreateByteField (Local0, One, LEN)
34335         CreateByteField (Local0, 0x02, DATB)
34336         CreateWordField (Local0, 0x02, DATW)
34337         CreateField (Local0, 0x10, 0x0100, DTBF)
34338         STAT = 0xFF
34339         LEN = Zero
34340         DTBF = Zero
34341         M000 (0x0DE5)
34342         M460 ("  KER-ASL-CpmSmbusExecutor (Port%d, isRead %d, Potcl %d, DevAddr 0x%X, Cmd 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Zero)
34343         If (((Arg0 != Zero) && (Arg0 != One)))
34344         {
34345             STAT = 0x80
34346             M459 ("  KER-ASL-CpmSmbusExecutor return 0x80\n", Zero)
34347             Return (Local0)
34348         }
34349 
34350         If (((Arg1 != Zero) && (Arg1 != One)))
34351         {
34352             STAT = 0x81
34353             M459 ("  KER-ASL-CpmSmbusExecutor return 0x81\n", Zero)
34354             Return (Local0)
34355         }
34356 
34357         Name (VALP, Package (0x05)
34358         {
34359             Zero, 
34360             One, 
34361             0x02, 
34362             0x03, 
34363             0x05
34364         })
34365         If ((Match (VALP, MEQ, Arg2, MTR, Zero, Zero) == Ones))
34366         {
34367             STAT = 0x82
34368             M459 ("  KER-ASL-CpmSmbusExecutor return 0x82\n", Zero)
34369             Return (Local0)
34370         }
34371 
34372         If (((Arg1 == Zero) && (Arg2 == 0x05)))
34373         {
34374             Local7 = Arg5
34375             Local2 = DerefOf (Local7 [Zero])
34376             If (((Local2 < One) || (Local2 > 0x20)))
34377             {
34378                 STAT = 0x83
34379                 M460 ("  KER-ASL-CpmSmbusExecutor return 0x83, Length %d\n", Local2, Zero, Zero, Zero, Zero, Zero)
34380                 Return (Local0)
34381             }
34382         }
34383 
34384         Acquire (M408, 0xFFFF)
34385         Local4 = (M414 + (Arg0 << 0x05))
34386         If ((Local4 == Zero))
34387         {
34388             Release (M408)
34389             STAT = 0x84
34390             M460 ("  KER-ASL-CpmSmbusExecutor return 0x84, Local4 %d\n", Local4, Zero, Zero, Zero, Zero, Zero)
34391             Return (Local0)
34392         }
34393 
34394         OperationRegion (VARM, SystemIO, Local4, 0x09)
34395         Field (VARM, ByteAcc, NoLock, Preserve)
34396         {
34397             SMB0,   8, 
34398             SMB1,   8, 
34399             SMB2,   8, 
34400             SMB3,   8, 
34401             SMB4,   8, 
34402             SMB5,   8, 
34403             SMB6,   8, 
34404             SMB7,   8, 
34405             SMB8,   8
34406         }
34407 
34408         Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
34409         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
34410         If ((Arg0 == One))
34411         {
34412             Local6 = SMB2 /* \M47A.SMB2 */
34413             SMB2 = (Local6 & 0x7F)
34414         }
34415 
34416         If (M477 (Local4, 0x4E20))
34417         {
34418             If ((Arg0 == One))
34419             {
34420                 SMB2 = Local6
34421             }
34422 
34423             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34424             Release (M408)
34425             STAT = 0x85
34426             M459 ("  KER-ASL-CpmSmbusExecutor return 0x85\n", Zero)
34427             Return (Local0)
34428         }
34429 
34430         If (M479 (Local4, 0x4E20))
34431         {
34432             If ((Arg0 == One))
34433             {
34434                 SMB2 = Local6
34435             }
34436 
34437             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34438             M478 (Local4)
34439             Release (M408)
34440             STAT = 0x86
34441             M459 ("  KER-ASL-CpmSmbusExecutor return 0x86\n", Zero)
34442             Return (Local0)
34443         }
34444 
34445         Local7 = Arg5
34446         Local3 = 0x03
34447         While ((Local3 > Zero))
34448         {
34449             SMB0 = 0x1F
34450             SMB4 = ((Arg3 << One) | Arg1)
34451             SMB3 = Arg4
34452             SMB2 = (Arg2 << 0x02)
34453             Local1 = SMB2 /* \M47A.SMB2 */
34454             If ((Arg1 == Zero))
34455             {
34456                 If (((Arg2 == One) || (Arg2 == 0x02)))
34457                 {
34458                     SMB5 = DerefOf (Local7 [One])
34459                 }
34460 
34461                 If ((Arg2 == 0x03))
34462                 {
34463                     SMB6 = DerefOf (Local7 [0x02])
34464                     SMB5 = DerefOf (Local7 [One])
34465                 }
34466 
34467                 If ((Arg2 == 0x05))
34468                 {
34469                     Local2 = DerefOf (Local7 [Zero])
34470                     SMB5 = Local2
34471                     Local1 = One
34472                     While ((Local1 <= Local2))
34473                     {
34474                         SMB7 = DerefOf (Local7 [Local1])
34475                         Local1++
34476                     }
34477                 }
34478             }
34479             ElseIf ((Arg2 == 0x05))
34480             {
34481                 Local2 = DerefOf (Local7 [Zero])
34482                 SMB5 = Local2
34483             }
34484 
34485             SMB2 = ((Arg2 << 0x02) | 0x40)
34486             If ((Arg2 == 0x05))
34487             {
34488                 Local1 = 0x1B58
34489             }
34490             Else
34491             {
34492                 Local1 = 0x03E8
34493             }
34494 
34495             Local2 = One
34496             While (((Local1 > Zero) && ((Local2 & 0x0E) == Zero)))
34497             {
34498                 If (((Local2 & One) == Zero))
34499                 {
34500                     Break
34501                 }
34502 
34503                 Local1--
34504                 Stall (0x05)
34505                 Local2 = SMB0 /* \M47A.SMB0 */
34506             }
34507 
34508             If (((Local1 == Zero) && ((Local2 & One) != Zero)))
34509             {
34510                 SMB2 = 0x02
34511                 If ((Arg0 == One))
34512                 {
34513                     SMB2 = Local6
34514                 }
34515 
34516                 M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34517                 M478 (Local4)
34518                 Release (M408)
34519                 STAT = 0x87
34520                 M459 ("  KER-ASL-CpmSmbusExecutor return 0x87\n", Zero)
34521                 Return (Local0)
34522             }
34523 
34524             If (((Local2 & 0x04) != Zero))
34525             {
34526                 Local3 = Zero
34527             }
34528             ElseIf (((Local2 & 0x08) != Zero))
34529             {
34530                 SMB0 = 0x08
34531                 Local3--
34532             }
34533             Else
34534             {
34535                 Local3 = Zero
34536                 STAT = Zero
34537                 If ((Arg1 != Zero))
34538                 {
34539                     If (((Arg2 == One) || (Arg2 == 0x02)))
34540                     {
34541                         DATB = SMB5 /* \M47A.SMB5 */
34542                         LEN = One
34543                     }
34544 
34545                     If ((Arg2 == 0x03))
34546                     {
34547                         Local0 [0x03] = SMB6 /* \M47A.SMB6 */
34548                         Local0 [0x02] = SMB5 /* \M47A.SMB5 */
34549                         LEN = 0x02
34550                     }
34551 
34552                     If ((Arg2 == 0x05))
34553                     {
34554                         Local2 = SMB2 /* \M47A.SMB2 */
34555                         Local2 = SMB5 /* \M47A.SMB5 */
34556                         If ((Local2 > 0x20))
34557                         {
34558                             Local2 = 0x20
34559                         }
34560 
34561                         LEN = Local2
34562                         Local1 = 0x02
34563                         Local2 += 0x02
34564                         While ((Local1 < Local2))
34565                         {
34566                             Local0 [Local1] = 0xCC
34567                             Local0 [Local1] = SMB7 /* \M47A.SMB7 */
34568                             Local1++
34569                         }
34570                     }
34571                 }
34572             }
34573         }
34574 
34575         Local1 = (SMB0 & 0x1D)
34576         STAT = Local1
34577         SMB0 = 0x1F
34578         If ((Arg0 == One))
34579         {
34580             SMB2 = Local6
34581         }
34582 
34583         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34584         M478 (Local4)
34585         Release (M408)
34586         M460 ("  KER-ASL-CpmSmbusExecutor return St: 0x%X, Len %d, Data: 0x%X, 0x%X, 0x%X, 0x%X ...\n", STAT, LEN, DerefOf (Local0 [0x02]), DerefOf (Local0 [
34587             0x03]), DerefOf (Local0 [0x04]), DerefOf (Local0 [0x05]))
34588         M000 (0x0DE6)
34589         Return (Local0)
34590     }
34591 
34592     Method (M47B, 3, Serialized)
34593     {
34594         Local0 = M47A (Arg0, Arg1, Zero, Arg2, Zero, Zero)
34595         Return (DerefOf (Local0 [Zero]))
34596     }
34597 
34598     Method (M47C, 4, Serialized)
34599     {
34600         Local0 = Buffer (0x02){}
34601         CreateByteField (Local0, Zero, LEN)
34602         CreateByteField (Local0, One, DATB)
34603         LEN = One
34604         DATB = Arg3
34605         Local1 = M47A (Arg0, Arg1, One, Arg2, Zero, Local0)
34606         Return (Local1)
34607     }
34608 
34609     Method (M47D, 5, Serialized)
34610     {
34611         Local0 = Buffer (0x02){}
34612         CreateByteField (Local0, Zero, LEN)
34613         CreateByteField (Local0, One, DATB)
34614         LEN = One
34615         DATB = Arg4
34616         Local1 = M47A (Arg0, Arg1, 0x02, Arg2, Arg3, Local0)
34617         Return (Local1)
34618     }
34619 
34620     Method (M47E, 5, Serialized)
34621     {
34622         Local0 = Buffer (0x03){}
34623         CreateByteField (Local0, Zero, LEN)
34624         CreateByteField (Local0, One, DATL)
34625         CreateByteField (Local0, 0x02, DATH)
34626         LEN = 0x02
34627         DATL = (Arg4 & 0xFF)
34628         DATH = ((Arg4 >> 0x08) & 0xFF)
34629         Local1 = M47A (Arg0, Arg1, 0x03, Arg2, Arg3, Local0)
34630         Return (Local1)
34631     }
34632 
34633     Method (M47F, 5, Serialized)
34634     {
34635         Local1 = M47A (Arg0, Arg1, 0x05, Arg2, Arg3, Arg4)
34636         Return (Local1)
34637     }
34638 
34639     Method (M409, 3, Serialized)
34640     {
34641         Acquire (M408, 0xFFFF)
34642         Local0 = (M414 + (Arg0 << 0x05))
34643         OperationRegion (VARM, SystemIO, Local0, 0x09)
34644         Field (VARM, ByteAcc, NoLock, Preserve)
34645         {
34646             SMB0,   8, 
34647             SMB1,   8, 
34648             SMB2,   8, 
34649             SMB3,   8, 
34650             SMB4,   8, 
34651             SMB5,   8, 
34652             SMB6,   8, 
34653             SMB7,   8, 
34654             SMB8,   8
34655         }
34656 
34657         Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
34658         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
34659         If ((Arg0 == One))
34660         {
34661             Local6 = SMB2 /* \M409.SMB2 */
34662             SMB2 = (Local6 & 0x7F)
34663         }
34664 
34665         Local1 = Zero
34666         Local2 = 0x64
34667         While (((Local2 > Zero) && ((Local1 & 0x10) != 0x10)))
34668         {
34669             SMB8 |= 0x10
34670             Local2 = (Local2 - One)
34671             Stall (0x05)
34672             Local1 = SMB8 /* \M409.SMB8 */
34673         }
34674 
34675         Local3 = 0x03
34676         While ((Local3 > Zero))
34677         {
34678             Local1 = One
34679             Local2 = 0x64
34680             While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34681             {
34682                 SMB0 = 0x1F
34683                 Local2 = (Local2 - One)
34684                 Stall (0x05)
34685                 Local1 = SMB0 /* \M409.SMB0 */
34686             }
34687 
34688             If ((Local2 == Zero))
34689             {
34690                 SMB2 = 0x02
34691                 Local3 = (Local3 - One)
34692             }
34693             Else
34694             {
34695                 Local3 = Zero
34696             }
34697         }
34698 
34699         If (((Local2 == Zero) && (Local3 == Zero)))
34700         {
34701             If ((Arg0 == One))
34702             {
34703                 SMB2 = Local6
34704             }
34705 
34706             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34707             Release (M408)
34708             M460 ("  KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 1\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
34709             Return (Zero)
34710         }
34711 
34712         Local3 = 0x03
34713         While ((Local3 > Zero))
34714         {
34715             Local1 = One
34716             Local2 = 0x64
34717             While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34718             {
34719                 SMB1 = 0x3F
34720                 Local2 = (Local2 - One)
34721                 Stall (0x05)
34722                 Local1 = SMB1 /* \M409.SMB1 */
34723             }
34724 
34725             If ((Local2 == Zero))
34726             {
34727                 SMB1 = 0x02
34728                 Local3 = (Local3 - One)
34729             }
34730             Else
34731             {
34732                 Local3 = Zero
34733             }
34734         }
34735 
34736         If (((Local2 == Zero) && (Local3 == Zero)))
34737         {
34738             If ((Arg0 == One))
34739             {
34740                 SMB2 = Local6
34741             }
34742 
34743             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34744             Release (M408)
34745             M460 ("  KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 2\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
34746             Return (Zero)
34747         }
34748 
34749         Local3 = 0x03
34750         While ((Local3 > Zero))
34751         {
34752             SMB0 = 0x1F
34753             SMB4 = ((Arg1 << One) | One)
34754             SMB3 = Arg2
34755             SMB2 = 0x08
34756             Local1 = SMB2 /* \M409.SMB2 */
34757             SMB2 = 0x48
34758             Local1 = One
34759             Local4 = 0x03E8
34760             While (((Local4 > Zero) && ((Local1 & 0x0E) == Zero)))
34761             {
34762                 Local2 = 0x03E8
34763                 While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34764                 {
34765                     Local2 = (Local2 - One)
34766                     Stall (0x05)
34767                     Local1 = SMB0 /* \M409.SMB0 */
34768                 }
34769 
34770                 If ((Local2 == Zero))
34771                 {
34772                     SMB2 = 0x02
34773                     If ((Arg0 == One))
34774                     {
34775                         SMB2 = Local6
34776                     }
34777 
34778                     M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34779                     Release (M408)
34780                     M460 ("  KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 3\n", Arg0, Arg1, Arg2, Zero, Zero, Zero)
34781                     Return (Zero)
34782                 }
34783 
34784                 Local4 = (Local4 - One)
34785                 Stall (0x05)
34786                 Local1 = SMB0 /* \M409.SMB0 */
34787             }
34788 
34789             If (((Local1 & 0x04) != Zero))
34790             {
34791                 Local3 = Zero
34792                 Local4 = Zero
34793             }
34794             ElseIf (((Local1 & 0x08) != Zero))
34795             {
34796                 SMB0 = 0x08
34797                 Local3 = (Local3 - One)
34798                 Local4 = Zero
34799             }
34800             Else
34801             {
34802                 Local3 = Zero
34803                 Local4 = SMB5 /* \M409.SMB5 */
34804             }
34805         }
34806 
34807         SMB0 = 0x1F
34808         SMB8 |= 0x20
34809         If ((Arg0 == One))
34810         {
34811             SMB2 = Local6
34812         }
34813 
34814         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34815         Release (M408)
34816         M460 ("  KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0x%X Success\n", Arg0, Arg1, Arg2, Local4, Zero, Zero)
34817         Return (Local4)
34818     }
34819 
34820     Method (M410, 4, Serialized)
34821     {
34822         Acquire (M408, 0xFFFF)
34823         Local0 = (M414 + (Arg0 << 0x05))
34824         OperationRegion (VARM, SystemIO, Local0, 0x09)
34825         Field (VARM, ByteAcc, NoLock, Preserve)
34826         {
34827             SMB0,   8, 
34828             SMB1,   8, 
34829             SMB2,   8, 
34830             SMB3,   8, 
34831             SMB4,   8, 
34832             SMB5,   8, 
34833             SMB6,   8, 
34834             SMB7,   8, 
34835             SMB8,   8
34836         }
34837 
34838         Local5 = M011 ((M084 + 0x0300), 0x02, Zero, 0x08)
34839         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, (Local5 | One))
34840         If ((Arg0 == One))
34841         {
34842             Local6 = SMB2 /* \M410.SMB2 */
34843             SMB2 = (Local6 & 0x7F)
34844         }
34845 
34846         Local1 = Zero
34847         Local2 = 0x64
34848         While (((Local2 > Zero) && ((Local1 & 0x10) != 0x10)))
34849         {
34850             SMB8 |= 0x10
34851             Local2 = (Local2 - One)
34852             Stall (0x05)
34853             Local1 = SMB8 /* \M410.SMB8 */
34854         }
34855 
34856         Local3 = 0x03
34857         While ((Local3 > Zero))
34858         {
34859             Local1 = One
34860             Local2 = 0x64
34861             While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34862             {
34863                 SMB0 = 0x1F
34864                 Local2 = (Local2 - One)
34865                 Stall (0x05)
34866                 Local1 = SMB0 /* \M410.SMB0 */
34867             }
34868 
34869             If ((Local2 == Zero))
34870             {
34871                 SMB2 = 0x02
34872                 Local3 = (Local3 - One)
34873             }
34874             Else
34875             {
34876                 Local3 = Zero
34877             }
34878         }
34879 
34880         If (((Local2 == Zero) && (Local3 == Zero)))
34881         {
34882             If ((Arg0 == One))
34883             {
34884                 SMB2 = Local6
34885             }
34886 
34887             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34888             Release (M408)
34889             Return (Zero)
34890         }
34891 
34892         Local3 = 0x03
34893         While ((Local3 > Zero))
34894         {
34895             Local1 = One
34896             Local2 = 0x64
34897             While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34898             {
34899                 SMB1 = 0x3F
34900                 Local2 = (Local2 - One)
34901                 Stall (0x05)
34902                 Local1 = SMB1 /* \M410.SMB1 */
34903             }
34904 
34905             If ((Local2 == Zero))
34906             {
34907                 SMB1 = 0x02
34908                 Local3 = (Local3 - One)
34909             }
34910             Else
34911             {
34912                 Local3 = Zero
34913             }
34914         }
34915 
34916         If (((Local2 == Zero) && (Local3 == Zero)))
34917         {
34918             If ((Arg0 == One))
34919             {
34920                 SMB2 = Local6
34921             }
34922 
34923             M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34924             Release (M408)
34925             Return (Zero)
34926         }
34927 
34928         Local3 = 0x03
34929         While ((Local3 > Zero))
34930         {
34931             SMB0 = 0x1F
34932             SMB4 = (Arg1 << One)
34933             SMB3 = Arg2
34934             SMB2 = 0x08
34935             Local1 = SMB2 /* \M410.SMB2 */
34936             SMB5 = Arg3
34937             SMB2 = 0x48
34938             Local1 = One
34939             Local4 = 0x03E8
34940             While (((Local4 > Zero) && ((Local1 & 0x0E) == Zero)))
34941             {
34942                 Local2 = 0x03E8
34943                 While (((Local2 > Zero) && ((Local1 & One) != Zero)))
34944                 {
34945                     Local2 = (Local2 - One)
34946                     Stall (0x05)
34947                     Local1 = SMB0 /* \M410.SMB0 */
34948                 }
34949 
34950                 If ((Local2 == Zero))
34951                 {
34952                     SMB2 = 0x02
34953                     If ((Arg0 == One))
34954                     {
34955                         SMB2 = Local6
34956                     }
34957 
34958                     M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34959                     Release (M408)
34960                     Return (Zero)
34961                 }
34962 
34963                 Local4 = (Local4 - One)
34964                 Stall (0x05)
34965                 Local1 = SMB0 /* \M410.SMB0 */
34966             }
34967 
34968             If (((Local1 & 0x04) != Zero))
34969             {
34970                 Local3 = Zero
34971                 Local4 = Zero
34972             }
34973             ElseIf (((Local1 & 0x08) != Zero))
34974             {
34975                 SMB0 = 0x08
34976                 Local3 = (Local3 - One)
34977                 Local4 = Zero
34978             }
34979             Else
34980             {
34981                 Local3 = Zero
34982                 Local4 = Zero
34983             }
34984         }
34985 
34986         SMB0 = 0x1F
34987         SMB8 |= 0x20
34988         If ((Arg0 == One))
34989         {
34990             SMB2 = Local6
34991         }
34992 
34993         M012 ((M084 + 0x0300), 0x02, Zero, 0x08, Local5)
34994         Release (M408)
34995         Return (Local4)
34996     }
34997 
34998     Method (M4F1, 1, Serialized)
34999     {
35000         M460 ("  KER-ASL-CpmCheckExpanderInputEvent (0x%X) Start\n", Arg0, Zero, Zero, Zero, Zero, Zero)
35001         Local5 = Zero
35002         If (((Arg0 >= Zero) && (Arg0 <= 0x03)))
35003         {
35004             Local0 = M4F0 /* External reference */
35005             If ((Local0 != Zero))
35006             {
35007                 Local0 += 0x10
35008                 Local0 += (Arg0 * 0x26)
35009                 If ((M049 (Local0, Zero) == Arg0))
35010                 {
35011                     Local1 = M049 (Local0, 0x15)
35012                     Local2 = M049 (Local0, 0x16)
35013                     Local3 = M049 (Local0, 0x1E)
35014                     Local4 = M409 (Local1, Local2, Zero)
35015                     M000 ((Local4 + (Arg0 << 0x0C)))
35016                     M04C (Local0, 0x1E, Local4)
35017                     Local4 ^= Local3
35018                     Local4 &= M049 (Local0, 0x1C)
35019                     Local4 |= M049 (Local0, 0x1D)
35020                     If ((M049 (Local0, 0x17) >= One))
35021                     {
35022                         Local3 = M049 (Local0, 0x25)
35023                         Local5 = M409 (Local1, Local2, One)
35024                         M000 (((Local5 + 0x0100) + (Arg0 << 0x0C)))
35025                         M04C (Local0, 0x25, Local5)
35026                         Local5 ^= Local3
35027                         Local5 &= M049 (Local0, 0x23)
35028                         Local5 |= M049 (Local0, 0x24)
35029                         Local5 <<= 0x08
35030                     }
35031 
35032                     Local5 |= Local4
35033                 }
35034             }
35035         }
35036 
35037         M460 ("  KER-ASL-CpmCheckExpanderInputEvent (0x%X) = 0x%X End\n", Arg0, Local5, Zero, Zero, Zero, Zero)
35038         Return (Local5)
35039     }
35040 
35041     Mutex (M4E5, 0x00)
35042     Name (M4E7, 0x5A)
35043     Name (M4E8, 0x5A)
35044     Name (M4E9, 0x5A)
35045     Name (M4EA, 0x5A5A5A5A)
35046     Name (M4EB, 0x5A5A5A5A)
35047     Name (M4EC, Package (0x04)
35048     {
35049         0x03, 
35050         Package (0x05)
35051         {
35052             0x0F, 
35053             Package (0x06)
35054             {
35055                 "I2C0", 
35056                 0x91, 
35057                 0x92, 
35058                 Zero, 
35059                 0xFED81E4A, 
35060                 0xFEDC2000
35061             }, 
35062 
35063             Package (0x06)
35064             {
35065                 "I2C1", 
35066                 0x93, 
35067                 0x94, 
35068                 Zero, 
35069                 0xFED81E4C, 
35070                 0xFEDC3000
35071             }, 
35072 
35073             Package (0x06)
35074             {
35075                 "I2C2", 
35076                 0x71, 
35077                 0x72, 
35078                 One, 
35079                 0xFED81E4E, 
35080                 0xFEDC4000
35081             }, 
35082 
35083             Package (0x06)
35084             {
35085                 "I2C3", 
35086                 0x13, 
35087                 0x14, 
35088                 One, 
35089                 0xFED81E50, 
35090                 0xFEDC5000
35091             }
35092         }, 
35093 
35094         Package (0x05)
35095         {
35096             0x10, 
35097             Package (0x06)
35098             {
35099                 "I2C0", 
35100                 0x91, 
35101                 0x92, 
35102                 Zero, 
35103                 0xFED81E4A, 
35104                 0xFEDC2000
35105             }, 
35106 
35107             Package (0x06)
35108             {
35109                 "I2C1", 
35110                 0x93, 
35111                 0x94, 
35112                 Zero, 
35113                 0xFED81E4C, 
35114                 0xFEDC3000
35115             }, 
35116 
35117             Package (0x06)
35118             {
35119                 "I2C2", 
35120                 0x71, 
35121                 0x72, 
35122                 One, 
35123                 0xFED81E4E, 
35124                 0xFEDC4000
35125             }, 
35126 
35127             Package (0x06)
35128             {
35129                 "I2C3", 
35130                 0x13, 
35131                 0x14, 
35132                 One, 
35133                 0xFED81E50, 
35134                 0xFEDC5000
35135             }
35136         }, 
35137 
35138         Package (0x07)
35139         {
35140             0x11, 
35141             Package (0x06)
35142             {
35143                 "I2C0", 
35144                 0x91, 
35145                 0x92, 
35146                 One, 
35147                 0xFED81E4A, 
35148                 0xFEDC2000
35149             }, 
35150 
35151             Package (0x06)
35152             {
35153                 "I2C1", 
35154                 0x93, 
35155                 0x94, 
35156                 One, 
35157                 0xFED81E4C, 
35158                 0xFEDC3000
35159             }, 
35160 
35161             Package (0x06)
35162             {
35163                 "I2C2", 
35164                 0x95, 
35165                 0x96, 
35166                 One, 
35167                 0xFED81E4E, 
35168                 0xFEDC4000
35169             }, 
35170 
35171             Package (0x06)
35172             {
35173                 "I2C3", 
35174                 0x97, 
35175                 0x98, 
35176                 One, 
35177                 0xFED81E50, 
35178                 0xFEDC5000
35179             }, 
35180 
35181             Package (0x06)
35182             {
35183                 "I2C4", 
35184                 0x0D, 
35185                 0x0E, 
35186                 Zero, 
35187                 0xFED81E52, 
35188                 0xFEDC6000
35189             }, 
35190 
35191             Package (0x06)
35192             {
35193                 "I2C5", 
35194                 0x13, 
35195                 0x14, 
35196                 Zero, 
35197                 0xFED81E54, 
35198                 0xFEDCB000
35199             }
35200         }
35201     })
35202     Method (M4E6, 1, Serialized)
35203     {
35204         Local0 = M085 /* External reference */
35205         Local1 = DerefOf (M4EC [Zero])
35206         Local2 = One
35207         While ((Local2 <= Local1))
35208         {
35209             Local3 = DerefOf (M4EC [Local2])
35210             Local4 = DerefOf (Local3 [Zero])
35211             If ((Local4 == Local0))
35212             {
35213                 Break
35214             }
35215 
35216             Local2++
35217         }
35218 
35219         If ((Local2 > Local1))
35220         {
35221             Return (Zero)
35222         }
35223 
35224         Local2 = One
35225         Local1 = SizeOf (Local3)
35226         Switch (ToInteger (Arg0))
35227         {
35228             Case (Zero)
35229             {
35230                 Local0 = "I2C0"
35231             }
35232             Case (One)
35233             {
35234                 Local0 = "I2C1"
35235             }
35236             Case (0x02)
35237             {
35238                 Local0 = "I2C2"
35239             }
35240             Case (0x03)
35241             {
35242                 Local0 = "I2C3"
35243             }
35244             Case (0x04)
35245             {
35246                 Local0 = "I2C4"
35247             }
35248             Case (0x05)
35249             {
35250                 Local0 = "I2C5"
35251             }
35252 
35253         }
35254 
35255         While ((Local2 <= Local1))
35256         {
35257             Local4 = DerefOf (Local3 [Local2])
35258             Local5 = DerefOf (Local4 [Zero])
35259             If ((Local5 == Local0))
35260             {
35261                 Break
35262             }
35263 
35264             Local2++
35265         }
35266 
35267         If ((Local2 > Local1))
35268         {
35269             Return (Zero)
35270         }
35271 
35272         M4E7 = DerefOf (Local4 [One])
35273         M4E8 = DerefOf (Local4 [0x02])
35274         M4E9 = DerefOf (Local4 [0x03])
35275         M4EA = DerefOf (Local4 [0x04])
35276         M4EB = DerefOf (Local4 [0x05])
35277         Return (One)
35278     }
35279 
35280     Method (M4E0, 5, Serialized)
35281     {
35282         Local0 = M4E6 (Arg0)
35283         If ((Local0 == Zero))
35284         {
35285             Return (0xFF00)
35286         }
35287 
35288         Name (RTFF, Buffer (0x0100)
35289         {
35290              0x00                                             // .
35291         })
35292         Local0 = M4EA /* \M4EA */
35293         Local1 = M4EB /* \M4EB */
35294         OperationRegion (VAR0, SystemMemory, Local0, 0x02)
35295         Field (VAR0, ByteAcc, NoLock, Preserve)
35296         {
35297             ADTD,   2, 
35298             ADPS,   1, 
35299             ADPD,   1, 
35300             ADSO,   1, 
35301             ADSC,   1, 
35302             ADSR,   1, 
35303             ADIS,   1, 
35304             ADDS,   3
35305         }
35306 
35307         OperationRegion (VAR1, SystemMemory, Local1, 0x0100)
35308         Field (VAR1, DWordAcc, NoLock, Preserve)
35309         {
35310             IC00,   32, 
35311             IC04,   32, 
35312             Offset (0x10), 
35313             IC10,   32, 
35314             IC14,   32, 
35315             IC18,   32, 
35316             IC1C,   32, 
35317             IC20,   32, 
35318             Offset (0x30), 
35319             IC30,   32, 
35320             IC34,   32, 
35321             IC38,   32, 
35322             IC3C,   32, 
35323             IC40,   32, 
35324             IC44,   32, 
35325             IC48,   32, 
35326             Offset (0x54), 
35327             IC54,   32, 
35328             Offset (0x6C), 
35329             IC6C,   32, 
35330             IC70,   32, 
35331             IC74,   32, 
35332             IC78,   32, 
35333             IC7C,   32, 
35334             IC80,   32, 
35335             Offset (0x9C), 
35336             IC9C,   32, 
35337             Offset (0xF4), 
35338             ICF4,   32
35339         }
35340 
35341         Name (BUFF, Buffer (0x03)
35342         {
35343              0x00, 0x00, 0x00                                 // ...
35344         })
35345         CreateByteField (BUFF, Zero, AOAC)
35346         CreateByteField (BUFF, One, ISCL)
35347         CreateByteField (BUFF, 0x02, ISDA)
35348         Acquire (M4E5, 0xFFFF)
35349         Local1 = 0x000186A0
35350         Local0 = Zero
35351         AOAC = ADTD /* \M4E0.ADTD */
35352         ISCL = M011 (0xFED80D00, M4E7, Zero, 0x08)
35353         ISDA = M011 (0xFED80D00, M4E8, Zero, 0x08)
35354         M012 (0xFED80D00, M4E7, Zero, 0x08, M4E9)
35355         M012 (0xFED80D00, M4E8, Zero, 0x08, M4E9)
35356         Local2 = AOAC /* \M4E0.AOAC */
35357         If ((Local2 == 0x03))
35358         {
35359             ADTD = Zero
35360             ADPD = One
35361             Local3 = ADDS /* \M4E0.ADDS */
35362             While ((Local3 != 0x07))
35363             {
35364                 Local1--
35365                 Stall (0x0A)
35366                 Local3 = ADDS /* \M4E0.ADDS */
35367                 If ((Local1 == Zero))
35368                 {
35369                     Local0 = 0xFF01
35370                     Break
35371                 }
35372             }
35373         }
35374 
35375         If ((Local0 == Zero))
35376         {
35377             Local2 = IC70 /* \M4E0.IC70 */
35378             While ((0x20 == (Local2 & 0x20)))
35379             {
35380                 If ((Local1 == Zero))
35381                 {
35382                     M460 ("  I2cTimeout for IDE : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35383                     Local0 = 0xFF02
35384                     Break
35385                 }
35386 
35387                 Local2 = IC70 /* \M4E0.IC70 */
35388                 Local1--
35389                 Stall (0x0A)
35390             }
35391         }
35392 
35393         If ((Local0 == Zero))
35394         {
35395             IC6C = Zero
35396             Local2 = IC9C /* \M4E0.IC9C */
35397             While ((Zero != (Local2 & One)))
35398             {
35399                 If ((Local1 == Zero))
35400                 {
35401                     M460 ("  I2cTimeout for fI2cDisable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35402                     Local0 = 0xFF03
35403                     Break
35404                 }
35405 
35406                 Local2 = IC9C /* \M4E0.IC9C */
35407                 Local1--
35408                 Stall (0x0A)
35409             }
35410         }
35411 
35412         If ((Local0 == Zero))
35413         {
35414             IC00 = 0x65
35415             IC04 = Arg1
35416             IC1C = 0x87
35417             IC20 = 0xF0
35418             IC7C = 0x00300030
35419             IC38 = Zero
35420             IC34 = Zero
35421             IC30 = Zero
35422             Local2 = IC40 /* \M4E0.IC40 */
35423             Local2 = IC54 /* \M4E0.IC54 */
35424         }
35425 
35426         If ((Local0 == Zero))
35427         {
35428             IC6C = One
35429             Local2 = IC9C /* \M4E0.IC9C */
35430             While ((Zero == (Local2 & One)))
35431             {
35432                 If ((Local1 == Zero))
35433                 {
35434                     M460 ("  I2cTimeout for I2cEnable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35435                     Local0 = 0xFF04
35436                     Break
35437                 }
35438 
35439                 Local2 = IC9C /* \M4E0.IC9C */
35440                 Local1--
35441                 Stall (0x0A)
35442             }
35443         }
35444 
35445         If ((Local0 == Zero))
35446         {
35447             Local3 = Arg3
35448             Local4 = Arg2
35449             Local5 = Zero
35450             Local6 = Zero
35451             Local7 = 0x02
35452             While (((Local3 + Local4) > Zero))
35453             {
35454                 If ((Local1 == Zero))
35455                 {
35456                     M460 ("  I2cTimeout for TxRx: (0x%X, 0x%X)\n", Local3, Local4, Zero, Zero, Zero, Zero)
35457                     Local0 = 0xFF06
35458                     Break
35459                 }
35460 
35461                 Local2 = IC70 /* \M4E0.IC70 */
35462                 If (((Local2 & 0x08) != Zero))
35463                 {
35464                     Local2 = IC10 /* \M4E0.IC10 */
35465                     Local1--
35466                     Stall (0x0A)
35467                     Continue
35468                 }
35469 
35470                 Local2 = IC74 /* \M4E0.IC74 */
35471                 If ((Local2 != Zero))
35472                 {
35473                     Local1--
35474                     Stall (0x0A)
35475                     Continue
35476                 }
35477 
35478                 If ((Local3 > One))
35479                 {
35480                     IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
35481                     Local3--
35482                     Local5++
35483                 }
35484                 ElseIf (((Local3 == One) && (Local4 != Zero)))
35485                 {
35486                     IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
35487                     Local3--
35488                     Local5++
35489                 }
35490                 ElseIf (((Local3 == One) && (Local4 == Zero)))
35491                 {
35492                     IC10 = ((ToInteger (DerefOf (Arg4 [Local5])) & 0xFF
35493                         ) | 0x0200)
35494                     Local3--
35495                     Local5++
35496                 }
35497                 ElseIf (((Local3 == Zero) && (Local4 > One)))
35498                 {
35499                     IC10 = 0x0100
35500                     Local6 = One
35501                     Local4--
35502                 }
35503                 ElseIf (((Local3 == Zero) && (Local4 == One)))
35504                 {
35505                     IC10 = 0x0300
35506                     Local6 = One
35507                     Local4--
35508                 }
35509 
35510                 Local1--
35511                 Stall (0x0A)
35512                 Local2 = IC34 /* \M4E0.IC34 */
35513                 If ((Zero != (Local2 & 0x40)))
35514                 {
35515                     Local7 = IC54 /* \M4E0.IC54 */
35516                     Local2 = IC80 /* \M4E0.IC80 */
35517                     M460 ("  I2cTX Abrt Source: (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35518                     Local0 = 0xFF05
35519                     Break
35520                 }
35521 
35522                 If ((Local6 != Zero))
35523                 {
35524                     Local2 = IC70 /* \M4E0.IC70 */
35525                     While (((Local2 & 0x08) != 0x08))
35526                     {
35527                         Local2 = IC70 /* \M4E0.IC70 */
35528                         If ((Local1 == Zero))
35529                         {
35530                             M460 ("  I2cTimeout for Rx : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35531                             Local0 = 0xFF07
35532                             Break
35533                         }
35534 
35535                         Local1--
35536                         Stall (0x0A)
35537                     }
35538                 }
35539 
35540                 If ((Local6 != Zero))
35541                 {
35542                     Local2 = IC10 /* \M4E0.IC10 */
35543                     RTFF [Local7] = Local2
35544                     Local1--
35545                     Stall (0x14)
35546                     Local6 = Zero
35547                 }
35548             }
35549         }
35550 
35551         Release (M4E5)
35552         If ((Local0 == Zero))
35553         {
35554             Local2 = IC70 /* \M4E0.IC70 */
35555             While ((0x20 == (Local2 & 0x20)))
35556             {
35557                 If ((Local1 == Zero))
35558                 {
35559                     M460 ("  I2cTimeout for IDE2 : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35560                     Local0 = 0xFF08
35561                     Break
35562                 }
35563 
35564                 Local2 = IC70 /* \M4E0.IC70 */
35565                 Local1--
35566                 Stall (0x0A)
35567             }
35568         }
35569 
35570         If (((Local0 > 0xFF04) && (Local0 < 0xFF08)))
35571         {
35572             IC6C = Zero
35573             Local2 = IC9C /* \M4E0.IC9C */
35574             While ((Zero != (Local2 & One)))
35575             {
35576                 If ((Local1 == Zero))
35577                 {
35578                     M460 ("  I2cTimeout for fI2cDisable : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35579                     Local0 = 0xFF09
35580                     Break
35581                 }
35582 
35583                 Local2 = IC9C /* \M4E0.IC9C */
35584                 Local1--
35585                 Stall (0x0A)
35586             }
35587         }
35588 
35589         Local3 = AOAC /* \M4E0.AOAC */
35590         If ((Local3 == 0x03))
35591         {
35592             ADPD = Zero
35593             Local2 = ADDS /* \M4E0.ADDS */
35594             While ((Local2 != Zero))
35595             {
35596                 If ((Local1 == Zero))
35597                 {
35598                     M460 ("  I2cTimeout for AOAC Off : (0x%X)\n", Local2, Zero, Zero, Zero, Zero, Zero)
35599                     Local0 = 0xFF10
35600                     Break
35601                 }
35602 
35603                 Local1--
35604                 Stall (0x0A)
35605                 Local2 = ADDS /* \M4E0.ADDS */
35606             }
35607 
35608             ADTD = 0x03
35609         }
35610 
35611         M012 (0xFED80D00, M4E7, Zero, 0x08, ISCL)
35612         M012 (0xFED80D00, M4E8, Zero, 0x08, ISDA)
35613         CreateWordField (RTFF, Zero, STAT)
35614         STAT = Local0
35615         Return (RTFF) /* \M4E0.RTFF */
35616     }
35617 
35618     Method (M4E1, 3, Serialized)
35619     {
35620         Name (RTFF, Buffer (0x0100)
35621         {
35622              0x00                                             // .
35623         })
35624         Name (WRFF, Buffer (One)
35625         {
35626              0x00                                             // .
35627         })
35628         CreateByteField (WRFF, Zero, WDAT)
35629         WDAT = Arg2
35630         RTFF = M4E0 (Arg0, Arg1, One, One, WRFF)
35631         CreateWordField (RTFF, Zero, STAT)
35632         CreateByteField (RTFF, 0x02, RDAT)
35633         Local0 = STAT /* \M4E1.STAT */
35634         Local1 = RDAT /* \M4E1.RDAT */
35635         M460 ("  Read I2C Byte (0x%X, 0x%X)\n", Local0, Local1, Zero, Zero, Zero, Zero)
35636         If ((Local0 == Zero))
35637         {
35638             Return ((RDAT & 0xFF))
35639         }
35640 
35641         Return (Zero)
35642     }
35643 
35644     Method (M4E2, 4, Serialized)
35645     {
35646         Name (WRFF, Buffer (0x02)
35647         {
35648              0x00, 0x00                                       // ..
35649         })
35650         CreateByteField (WRFF, Zero, WDA1)
35651         CreateByteField (WRFF, One, WDA2)
35652         WDA1 = Arg2
35653         WDA2 = (Arg3 & 0xFF)
35654         Local0 = M4E0 (Arg0, Arg1, Zero, 0x02, WRFF)
35655         CreateWordField (Local0, Zero, STAT)
35656         Local1 = STAT /* \M4E2.STAT */
35657         M460 ("  Write I2C Byte(0x%X)\n", Local1, Zero, Zero, Zero, Zero, Zero)
35658     }
35659 
35660     Scope (\_SB.GPIO)
35661     {
35662         Method (XINI, 0, NotSerialized)
35663         {
35664             M460 ("  KER-ASL-\\_SB.GPIO._INI Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
35665             If ((M4F0 != Zero))
35666             {
35667                 Local0 = M4F1 (Zero)
35668                 Local0 = M4F1 (One)
35669                 Local0 = M4F1 (0x02)
35670                 Local0 = M4F1 (0x03)
35671             }
35672 
35673             M460 ("  KER-ASL-\\_SB.GPIO._INI End\n", Zero, Zero, Zero, Zero, Zero, Zero)
35674         }
35675     }
35676 
35677     Scope (\_GPE)
35678     {
35679         Method (SIE0, 0, NotSerialized)
35680         {
35681             M460 ("  KER-ASL-\\_GPE.SIE0 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
35682             If (CondRefOf (\_GPE.BIE0))
35683             {
35684                 M460 ("  KER-ASL-Callout \\_GPE.BIE0\n", Zero, Zero, Zero, Zero, Zero, Zero)
35685                 \_GPE.BIE0 ()
35686             }
35687 
35688             Local0 = M4F1 (Zero)
35689             If (((Local0 & One) == One))
35690             {
35691                 If (CondRefOf (\_GPE.SP00))
35692                 {
35693                     M460 ("  KER-ASL-Callout \\_GPE.SP00\n", Zero, Zero, Zero, Zero, Zero, Zero)
35694                     \_GPE.SP00 ()
35695                 }
35696             }
35697 
35698             If (((Local0 & 0x02) == 0x02))
35699             {
35700                 If (CondRefOf (\_GPE.SP01))
35701                 {
35702                     M460 ("  KER-ASL-Callout \\_GPE.SP01\n", Zero, Zero, Zero, Zero, Zero, Zero)
35703                     \_GPE.SP01 ()
35704                 }
35705             }
35706 
35707             If (((Local0 & 0x04) == 0x04))
35708             {
35709                 If (CondRefOf (\_GPE.SP02))
35710                 {
35711                     M460 ("  KER-ASL-Callout \\_GPE.SP02\n", Zero, Zero, Zero, Zero, Zero, Zero)
35712                     \_GPE.SP02 ()
35713                 }
35714             }
35715 
35716             If (((Local0 & 0x08) == 0x08))
35717             {
35718                 If (CondRefOf (\_GPE.SP03))
35719                 {
35720                     M460 ("  KER-ASL-Callout \\_GPE.SP03\n", Zero, Zero, Zero, Zero, Zero, Zero)
35721                     \_GPE.SP03 ()
35722                 }
35723             }
35724 
35725             If (((Local0 & 0x10) == 0x10))
35726             {
35727                 If (CondRefOf (\_GPE.SP04))
35728                 {
35729                     M460 ("  KER-ASL-Callout \\_GPE.SP04\n", Zero, Zero, Zero, Zero, Zero, Zero)
35730                     \_GPE.SP04 ()
35731                 }
35732             }
35733 
35734             If (((Local0 & 0x20) == 0x20))
35735             {
35736                 If (CondRefOf (\_GPE.SP05))
35737                 {
35738                     M460 ("  KER-ASL-Callout \\_GPE.SP05\n", Zero, Zero, Zero, Zero, Zero, Zero)
35739                     \_GPE.SP05 ()
35740                 }
35741             }
35742 
35743             If (((Local0 & 0x40) == 0x40))
35744             {
35745                 If (CondRefOf (\_GPE.SP06))
35746                 {
35747                     M460 ("  KER-ASL-Callout \\_GPE.SP06\n", Zero, Zero, Zero, Zero, Zero, Zero)
35748                     \_GPE.SP06 ()
35749                 }
35750             }
35751 
35752             If (((Local0 & 0x80) == 0x80))
35753             {
35754                 If (CondRefOf (\_GPE.SP07))
35755                 {
35756                     M460 ("  KER-ASL-Callout \\_GPE.SP07\n", Zero, Zero, Zero, Zero, Zero, Zero)
35757                     \_GPE.SP07 ()
35758                 }
35759             }
35760 
35761             If (((Local0 & 0x0100) == 0x0100))
35762             {
35763                 If (CondRefOf (\_GPE.SP10))
35764                 {
35765                     M460 ("  KER-ASL-Callout \\_GPE.SP10\n", Zero, Zero, Zero, Zero, Zero, Zero)
35766                     \_GPE.SP10 ()
35767                 }
35768             }
35769 
35770             If (((Local0 & 0x0200) == 0x0200))
35771             {
35772                 If (CondRefOf (\_GPE.SP11))
35773                 {
35774                     M460 ("  KER-ASL-Callout \\_GPE.SP11\n", Zero, Zero, Zero, Zero, Zero, Zero)
35775                     \_GPE.SP11 ()
35776                 }
35777             }
35778 
35779             If (((Local0 & 0x0400) == 0x0400))
35780             {
35781                 If (CondRefOf (\_GPE.SP12))
35782                 {
35783                     M460 ("  KER-ASL-Callout \\_GPE.SP12\n", Zero, Zero, Zero, Zero, Zero, Zero)
35784                     \_GPE.SP12 ()
35785                 }
35786             }
35787 
35788             If (((Local0 & 0x0800) == 0x0800))
35789             {
35790                 If (CondRefOf (\_GPE.SP13))
35791                 {
35792                     M460 ("  KER-ASL-Callout \\_GPE.SP13\n", Zero, Zero, Zero, Zero, Zero, Zero)
35793                     \_GPE.SP13 ()
35794                 }
35795             }
35796 
35797             If (((Local0 & 0x1000) == 0x1000))
35798             {
35799                 If (CondRefOf (\_GPE.SP14))
35800                 {
35801                     M460 ("  KER-ASL-Callout \\_GPE.SP14\n", Zero, Zero, Zero, Zero, Zero, Zero)
35802                     \_GPE.SP14 ()
35803                 }
35804             }
35805 
35806             If (((Local0 & 0x2000) == 0x2000))
35807             {
35808                 If (CondRefOf (\_GPE.SP15))
35809                 {
35810                     M460 ("  KER-ASL-Callout \\_GPE.SP15\n", Zero, Zero, Zero, Zero, Zero, Zero)
35811                     \_GPE.SP15 ()
35812                 }
35813             }
35814 
35815             If (((Local0 & 0x4000) == 0x4000))
35816             {
35817                 If (CondRefOf (\_GPE.SP16))
35818                 {
35819                     M460 ("  KER-ASL-Callout \\_GPE.SP16\n", Zero, Zero, Zero, Zero, Zero, Zero)
35820                     \_GPE.SP16 ()
35821                 }
35822             }
35823 
35824             If (((Local0 & 0x8000) == 0x8000))
35825             {
35826                 If (CondRefOf (\_GPE.SP17))
35827                 {
35828                     M460 ("  KER-ASL-Callout \\_GPE.SP17\n", Zero, Zero, Zero, Zero, Zero, Zero)
35829                     \_GPE.SP17 ()
35830                 }
35831             }
35832 
35833             If (CondRefOf (\_GPE.AIE0))
35834             {
35835                 M460 ("  KER-ASL-Callout \\_GPE.AIE0\n", Zero, Zero, Zero, Zero, Zero, Zero)
35836                 \_GPE.AIE0 ()
35837             }
35838 
35839             M460 ("  KER-ASL-\\_GPE.SIE0 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
35840         }
35841 
35842         Method (SIE1, 0, NotSerialized)
35843         {
35844             M460 ("  KER-ASL-\\_GPE.SIE1 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
35845             If (CondRefOf (\_GPE.BIE1))
35846             {
35847                 M460 ("  KER-ASL-Callout \\_GPE.BIE1\n", Zero, Zero, Zero, Zero, Zero, Zero)
35848                 \_GPE.BIE1 ()
35849             }
35850 
35851             Local0 = M4F1 (One)
35852             If (((Local0 & One) == One))
35853             {
35854                 If (CondRefOf (\_GPE.SP20))
35855                 {
35856                     M460 ("  KER-ASL-Callout \\_GPE.SP20\n", Zero, Zero, Zero, Zero, Zero, Zero)
35857                     \_GPE.SP20 ()
35858                 }
35859             }
35860 
35861             If (((Local0 & 0x02) == 0x02))
35862             {
35863                 If (CondRefOf (\_GPE.SP21))
35864                 {
35865                     M460 ("  KER-ASL-Callout \\_GPE.SP21\n", Zero, Zero, Zero, Zero, Zero, Zero)
35866                     \_GPE.SP21 ()
35867                 }
35868             }
35869 
35870             If (((Local0 & 0x04) == 0x04))
35871             {
35872                 If (CondRefOf (\_GPE.SP22))
35873                 {
35874                     M460 ("  KER-ASL-Callout \\_GPE.SP22\n", Zero, Zero, Zero, Zero, Zero, Zero)
35875                     \_GPE.SP22 ()
35876                 }
35877             }
35878 
35879             If (((Local0 & 0x08) == 0x08))
35880             {
35881                 If (CondRefOf (\_GPE.SP23))
35882                 {
35883                     M460 ("  KER-ASL-Callout \\_GPE.SP23\n", Zero, Zero, Zero, Zero, Zero, Zero)
35884                     \_GPE.SP23 ()
35885                 }
35886             }
35887 
35888             If (((Local0 & 0x10) == 0x10))
35889             {
35890                 If (CondRefOf (\_GPE.SP24))
35891                 {
35892                     M460 ("  KER-ASL-Callout \\_GPE.SP24\n", Zero, Zero, Zero, Zero, Zero, Zero)
35893                     \_GPE.SP24 ()
35894                 }
35895             }
35896 
35897             If (((Local0 & 0x20) == 0x20))
35898             {
35899                 If (CondRefOf (\_GPE.SP25))
35900                 {
35901                     M460 ("  KER-ASL-Callout \\_GPE.SP25\n", Zero, Zero, Zero, Zero, Zero, Zero)
35902                     \_GPE.SP25 ()
35903                 }
35904             }
35905 
35906             If (((Local0 & 0x40) == 0x40))
35907             {
35908                 If (CondRefOf (\_GPE.SP26))
35909                 {
35910                     M460 ("  KER-ASL-Callout \\_GPE.SP26\n", Zero, Zero, Zero, Zero, Zero, Zero)
35911                     \_GPE.SP26 ()
35912                 }
35913             }
35914 
35915             If (((Local0 & 0x80) == 0x80))
35916             {
35917                 If (CondRefOf (\_GPE.SP27))
35918                 {
35919                     M460 ("  KER-ASL-Callout \\_GPE.SP27\n", Zero, Zero, Zero, Zero, Zero, Zero)
35920                     \_GPE.SP27 ()
35921                 }
35922             }
35923 
35924             If (((Local0 & 0x0100) == 0x0100))
35925             {
35926                 If (CondRefOf (\_GPE.SP30))
35927                 {
35928                     M460 ("  KER-ASL-Callout \\_GPE.SP30\n", Zero, Zero, Zero, Zero, Zero, Zero)
35929                     \_GPE.SP30 ()
35930                 }
35931             }
35932 
35933             If (((Local0 & 0x0200) == 0x0200))
35934             {
35935                 If (CondRefOf (\_GPE.SP31))
35936                 {
35937                     M460 ("  KER-ASL-Callout \\_GPE.SP31\n", Zero, Zero, Zero, Zero, Zero, Zero)
35938                     \_GPE.SP31 ()
35939                 }
35940             }
35941 
35942             If (((Local0 & 0x0400) == 0x0400))
35943             {
35944                 If (CondRefOf (\_GPE.SP32))
35945                 {
35946                     M460 ("  KER-ASL-Callout \\_GPE.SP32\n", Zero, Zero, Zero, Zero, Zero, Zero)
35947                     \_GPE.SP32 ()
35948                 }
35949             }
35950 
35951             If (((Local0 & 0x0800) == 0x0800))
35952             {
35953                 If (CondRefOf (\_GPE.SP33))
35954                 {
35955                     M460 ("  KER-ASL-Callout \\_GPE.SP33\n", Zero, Zero, Zero, Zero, Zero, Zero)
35956                     \_GPE.SP33 ()
35957                 }
35958             }
35959 
35960             If (((Local0 & 0x1000) == 0x1000))
35961             {
35962                 If (CondRefOf (\_GPE.SP34))
35963                 {
35964                     M460 ("  KER-ASL-Callout \\_GPE.SP34\n", Zero, Zero, Zero, Zero, Zero, Zero)
35965                     \_GPE.SP34 ()
35966                 }
35967             }
35968 
35969             If (((Local0 & 0x2000) == 0x2000))
35970             {
35971                 If (CondRefOf (\_GPE.SP35))
35972                 {
35973                     M460 ("  KER-ASL-Callout \\_GPE.SP35\n", Zero, Zero, Zero, Zero, Zero, Zero)
35974                     \_GPE.SP35 ()
35975                 }
35976             }
35977 
35978             If (((Local0 & 0x4000) == 0x4000))
35979             {
35980                 If (CondRefOf (\_GPE.SP36))
35981                 {
35982                     M460 ("  KER-ASL-Callout \\_GPE.SP36\n", Zero, Zero, Zero, Zero, Zero, Zero)
35983                     \_GPE.SP36 ()
35984                 }
35985             }
35986 
35987             If (((Local0 & 0x8000) == 0x8000))
35988             {
35989                 If (CondRefOf (\_GPE.SP37))
35990                 {
35991                     M460 ("  KER-ASL-Callout \\_GPE.SP37\n", Zero, Zero, Zero, Zero, Zero, Zero)
35992                     \_GPE.SP37 ()
35993                 }
35994             }
35995 
35996             If (CondRefOf (\_GPE.AIE1))
35997             {
35998                 M460 ("  KER-ASL-Callout \\_GPE.AIE1\n", Zero, Zero, Zero, Zero, Zero, Zero)
35999                 \_GPE.AIE1 ()
36000             }
36001 
36002             M460 ("  KER-ASL-\\_GPE.SIE1 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36003         }
36004 
36005         Method (SIE2, 0, NotSerialized)
36006         {
36007             M460 ("  KER-ASL-\\_GPE.SIE2 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36008             If (CondRefOf (\_GPE.BIE2))
36009             {
36010                 M460 ("  KER-ASL-Callout \\_GPE.BIE2\n", Zero, Zero, Zero, Zero, Zero, Zero)
36011                 \_GPE.BIE2 ()
36012             }
36013 
36014             Local0 = M4F1 (0x02)
36015             If (((Local0 & One) == One))
36016             {
36017                 If (CondRefOf (\_GPE.SP40))
36018                 {
36019                     M460 ("  KER-ASL-Callout \\_GPE.SP40\n", Zero, Zero, Zero, Zero, Zero, Zero)
36020                     \_GPE.SP40 ()
36021                 }
36022             }
36023 
36024             If (((Local0 & 0x02) == 0x02))
36025             {
36026                 If (CondRefOf (\_GPE.SP41))
36027                 {
36028                     M460 ("  KER-ASL-Callout \\_GPE.SP41\n", Zero, Zero, Zero, Zero, Zero, Zero)
36029                     \_GPE.SP41 ()
36030                 }
36031             }
36032 
36033             If (((Local0 & 0x04) == 0x04))
36034             {
36035                 If (CondRefOf (\_GPE.SP42))
36036                 {
36037                     M460 ("  KER-ASL-Callout \\_GPE.SP42\n", Zero, Zero, Zero, Zero, Zero, Zero)
36038                     \_GPE.SP42 ()
36039                 }
36040             }
36041 
36042             If (((Local0 & 0x08) == 0x08))
36043             {
36044                 If (CondRefOf (\_GPE.SP43))
36045                 {
36046                     M460 ("  KER-ASL-Callout \\_GPE.SP43\n", Zero, Zero, Zero, Zero, Zero, Zero)
36047                     \_GPE.SP43 ()
36048                 }
36049             }
36050 
36051             If (((Local0 & 0x10) == 0x10))
36052             {
36053                 If (CondRefOf (\_GPE.SP44))
36054                 {
36055                     M460 ("  KER-ASL-Callout \\_GPE.SP44\n", Zero, Zero, Zero, Zero, Zero, Zero)
36056                     \_GPE.SP44 ()
36057                 }
36058             }
36059 
36060             If (((Local0 & 0x20) == 0x20))
36061             {
36062                 If (CondRefOf (\_GPE.SP45))
36063                 {
36064                     M460 ("  KER-ASL-Callout \\_GPE.SP45\n", Zero, Zero, Zero, Zero, Zero, Zero)
36065                     \_GPE.SP45 ()
36066                 }
36067             }
36068 
36069             If (((Local0 & 0x40) == 0x40))
36070             {
36071                 If (CondRefOf (\_GPE.SP46))
36072                 {
36073                     M460 ("  KER-ASL-Callout \\_GPE.SP46\n", Zero, Zero, Zero, Zero, Zero, Zero)
36074                     \_GPE.SP46 ()
36075                 }
36076             }
36077 
36078             If (((Local0 & 0x80) == 0x80))
36079             {
36080                 If (CondRefOf (\_GPE.SP47))
36081                 {
36082                     M460 ("  KER-ASL-Callout \\_GPE.SP47\n", Zero, Zero, Zero, Zero, Zero, Zero)
36083                     \_GPE.SP47 ()
36084                 }
36085             }
36086 
36087             If (((Local0 & 0x0100) == 0x0100))
36088             {
36089                 If (CondRefOf (\_GPE.SP50))
36090                 {
36091                     M460 ("  KER-ASL-Callout \\_GPE.SP50\n", Zero, Zero, Zero, Zero, Zero, Zero)
36092                     \_GPE.SP50 ()
36093                 }
36094             }
36095 
36096             If (((Local0 & 0x0200) == 0x0200))
36097             {
36098                 If (CondRefOf (\_GPE.SP51))
36099                 {
36100                     M460 ("  KER-ASL-Callout \\_GPE.SP51\n", Zero, Zero, Zero, Zero, Zero, Zero)
36101                     \_GPE.SP51 ()
36102                 }
36103             }
36104 
36105             If (((Local0 & 0x0400) == 0x0400))
36106             {
36107                 If (CondRefOf (\_GPE.SP52))
36108                 {
36109                     M460 ("  KER-ASL-Callout \\_GPE.SP52\n", Zero, Zero, Zero, Zero, Zero, Zero)
36110                     \_GPE.SP52 ()
36111                 }
36112             }
36113 
36114             If (((Local0 & 0x0800) == 0x0800))
36115             {
36116                 If (CondRefOf (\_GPE.SP53))
36117                 {
36118                     M460 ("  KER-ASL-Callout \\_GPE.SP53\n", Zero, Zero, Zero, Zero, Zero, Zero)
36119                     \_GPE.SP53 ()
36120                 }
36121             }
36122 
36123             If (((Local0 & 0x1000) == 0x1000))
36124             {
36125                 If (CondRefOf (\_GPE.SP54))
36126                 {
36127                     M460 ("  KER-ASL-Callout \\_GPE.SP54\n", Zero, Zero, Zero, Zero, Zero, Zero)
36128                     \_GPE.SP54 ()
36129                 }
36130             }
36131 
36132             If (((Local0 & 0x2000) == 0x2000))
36133             {
36134                 If (CondRefOf (\_GPE.SP55))
36135                 {
36136                     M460 ("  KER-ASL-Callout \\_GPE.SP55\n", Zero, Zero, Zero, Zero, Zero, Zero)
36137                     \_GPE.SP55 ()
36138                 }
36139             }
36140 
36141             If (((Local0 & 0x4000) == 0x4000))
36142             {
36143                 If (CondRefOf (\_GPE.SP56))
36144                 {
36145                     M460 ("  KER-ASL-Callout \\_GPE.SP56\n", Zero, Zero, Zero, Zero, Zero, Zero)
36146                     \_GPE.SP56 ()
36147                 }
36148             }
36149 
36150             If (((Local0 & 0x8000) == 0x8000))
36151             {
36152                 If (CondRefOf (\_GPE.SP57))
36153                 {
36154                     M460 ("  KER-ASL-Callout \\_GPE.SP57\n", Zero, Zero, Zero, Zero, Zero, Zero)
36155                     \_GPE.SP57 ()
36156                 }
36157             }
36158 
36159             If (CondRefOf (\_GPE.AIE2))
36160             {
36161                 M460 ("  KER-ASL-Callout \\_GPE.AIE2\n", Zero, Zero, Zero, Zero, Zero, Zero)
36162                 \_GPE.AIE2 ()
36163             }
36164 
36165             M460 ("  KER-ASL-\\_GPE.SIE2 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36166         }
36167 
36168         Method (SIE3, 0, NotSerialized)
36169         {
36170             M460 ("  KER-ASL-\\_GPE.SIE3 Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36171             If (CondRefOf (\_GPE.BIE3))
36172             {
36173                 M460 ("  KER-ASL-Callout \\_GPE.BIE3\n", Zero, Zero, Zero, Zero, Zero, Zero)
36174                 \_GPE.BIE3 ()
36175             }
36176 
36177             Local0 = M4F1 (0x03)
36178             If (((Local0 & One) == One))
36179             {
36180                 If (CondRefOf (\_GPE.SP60))
36181                 {
36182                     M460 ("  KER-ASL-Callout \\_GPE.SP60\n", Zero, Zero, Zero, Zero, Zero, Zero)
36183                     \_GPE.SP60 ()
36184                 }
36185             }
36186 
36187             If (((Local0 & 0x02) == 0x02))
36188             {
36189                 If (CondRefOf (\_GPE.SP61))
36190                 {
36191                     M460 ("  KER-ASL-Callout \\_GPE.SP61\n", Zero, Zero, Zero, Zero, Zero, Zero)
36192                     \_GPE.SP61 ()
36193                 }
36194             }
36195 
36196             If (((Local0 & 0x04) == 0x04))
36197             {
36198                 If (CondRefOf (\_GPE.SP62))
36199                 {
36200                     M460 ("  KER-ASL-Callout \\_GPE.SP62\n", Zero, Zero, Zero, Zero, Zero, Zero)
36201                     \_GPE.SP62 ()
36202                 }
36203             }
36204 
36205             If (((Local0 & 0x08) == 0x08))
36206             {
36207                 If (CondRefOf (\_GPE.SP63))
36208                 {
36209                     M460 ("  KER-ASL-Callout \\_GPE.SP63\n", Zero, Zero, Zero, Zero, Zero, Zero)
36210                     \_GPE.SP63 ()
36211                 }
36212             }
36213 
36214             If (((Local0 & 0x10) == 0x10))
36215             {
36216                 If (CondRefOf (\_GPE.SP64))
36217                 {
36218                     M460 ("  KER-ASL-Callout \\_GPE.SP64\n", Zero, Zero, Zero, Zero, Zero, Zero)
36219                     \_GPE.SP64 ()
36220                 }
36221             }
36222 
36223             If (((Local0 & 0x20) == 0x20))
36224             {
36225                 If (CondRefOf (\_GPE.SP65))
36226                 {
36227                     M460 ("  KER-ASL-Callout \\_GPE.SP65\n", Zero, Zero, Zero, Zero, Zero, Zero)
36228                     \_GPE.SP65 ()
36229                 }
36230             }
36231 
36232             If (((Local0 & 0x40) == 0x40))
36233             {
36234                 If (CondRefOf (\_GPE.SP66))
36235                 {
36236                     M460 ("  KER-ASL-Callout \\_GPE.SP66\n", Zero, Zero, Zero, Zero, Zero, Zero)
36237                     \_GPE.SP66 ()
36238                 }
36239             }
36240 
36241             If (((Local0 & 0x80) == 0x80))
36242             {
36243                 If (CondRefOf (\_GPE.SP67))
36244                 {
36245                     M460 ("  KER-ASL-Callout \\_GPE.SP67\n", Zero, Zero, Zero, Zero, Zero, Zero)
36246                     \_GPE.SP67 ()
36247                 }
36248             }
36249 
36250             If (((Local0 & 0x0100) == 0x0100))
36251             {
36252                 If (CondRefOf (\_GPE.SP70))
36253                 {
36254                     M460 ("  KER-ASL-Callout \\_GPE.SP70\n", Zero, Zero, Zero, Zero, Zero, Zero)
36255                     \_GPE.SP70 ()
36256                 }
36257             }
36258 
36259             If (((Local0 & 0x0200) == 0x0200))
36260             {
36261                 If (CondRefOf (\_GPE.SP71))
36262                 {
36263                     M460 ("  KER-ASL-Callout \\_GPE.SP71\n", Zero, Zero, Zero, Zero, Zero, Zero)
36264                     \_GPE.SP71 ()
36265                 }
36266             }
36267 
36268             If (((Local0 & 0x0400) == 0x0400))
36269             {
36270                 If (CondRefOf (\_GPE.SP72))
36271                 {
36272                     M460 ("  KER-ASL-Callout \\_GPE.SP72\n", Zero, Zero, Zero, Zero, Zero, Zero)
36273                     \_GPE.SP72 ()
36274                 }
36275             }
36276 
36277             If (((Local0 & 0x0800) == 0x0800))
36278             {
36279                 If (CondRefOf (\_GPE.SP73))
36280                 {
36281                     M460 ("  KER-ASL-Callout \\_GPE.SP73\n", Zero, Zero, Zero, Zero, Zero, Zero)
36282                     \_GPE.SP73 ()
36283                 }
36284             }
36285 
36286             If (((Local0 & 0x1000) == 0x1000))
36287             {
36288                 If (CondRefOf (\_GPE.SP74))
36289                 {
36290                     M460 ("  KER-ASL-Callout \\_GPE.SP74\n", Zero, Zero, Zero, Zero, Zero, Zero)
36291                     \_GPE.SP74 ()
36292                 }
36293             }
36294 
36295             If (((Local0 & 0x2000) == 0x2000))
36296             {
36297                 If (CondRefOf (\_GPE.SP75))
36298                 {
36299                     M460 ("  KER-ASL-Callout \\_GPE.SP75\n", Zero, Zero, Zero, Zero, Zero, Zero)
36300                     \_GPE.SP75 ()
36301                 }
36302             }
36303 
36304             If (((Local0 & 0x4000) == 0x4000))
36305             {
36306                 If (CondRefOf (\_GPE.SP76))
36307                 {
36308                     M460 ("  KER-ASL-Callout \\_GPE.SP76\n", Zero, Zero, Zero, Zero, Zero, Zero)
36309                     \_GPE.SP76 ()
36310                 }
36311             }
36312 
36313             If (((Local0 & 0x8000) == 0x8000))
36314             {
36315                 If (CondRefOf (\_GPE.SP77))
36316                 {
36317                     M460 ("  KER-ASL-Callout \\_GPE.SP77\n", Zero, Zero, Zero, Zero, Zero, Zero)
36318                     \_GPE.SP77 ()
36319                 }
36320             }
36321 
36322             If (CondRefOf (\_GPE.AIE3))
36323             {
36324                 M460 ("  KER-ASL-Callout \\_GPE.AIE3\n", Zero, Zero, Zero, Zero, Zero, Zero)
36325                 \_GPE.AIE3 ()
36326             }
36327 
36328             M460 ("  KER-ASL-\\_GPE.SIE3 End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36329         }
36330 
36331         Name (M4D2, Buffer (0x08){})
36332         Method (XL0B, 0, NotSerialized)
36333         {
36334             Local3 = Buffer (0x08){}
36335             CreateWordField (Local3, Zero, M254)
36336             CreateByteField (Local3, 0x02, M255)
36337             CreateDWordField (Local3, 0x03, M256)
36338             M256 = Zero
36339             M254 = 0x07
36340             M255 = 0x30
36341             If (CondRefOf (\_SB.ALIB))
36342             {
36343                 M460 ("  KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, Zero, Zero, Zero, Zero, Zero)
36344                 Local4 = \_SB.ALIB (0x0C, Local3)
36345                 M4D2 = Local4
36346                 CreateDWordField (M4D2, Zero, M4D0)
36347                 CreateDWordField (M4D2, 0x04, M4D1)
36348                 ToInteger (M4D0, Local0)
36349                 ToInteger (M4D1, Local1)
36350                 M460 ("  KER-ASL-ALIB Return Data (0x%X, 0x%X)\n", Local0, Local1, Zero, Zero, Zero, Zero)
36351                 If ((Local0 == Zero))
36352                 {
36353                     If (CondRefOf (\_SB.APAD))
36354                     {
36355                         \_SB.APAD.M446 [One] = Local1
36356                         M460 ("  KER-ASL-Notify \\_SB.APAD 0x80\n", Zero, Zero, Zero, Zero, Zero, Zero)
36357                         Notify (\_SB.APAD, 0x80) // Status Change
36358                     }
36359                 }
36360                 ElseIf ((Local0 == One))
36361                 {
36362                     M460 ("  KER-ASL-Notify \\_SB.APAD 0x84\n", Zero, Zero, Zero, Zero, Zero, Zero)
36363                 }
36364                 ElseIf ((Local0 == 0x02))
36365                 {
36366                     M460 ("  KER-ASL-Notify \\_SB.APAD 0x85\n", Zero, Zero, Zero, Zero, Zero, Zero)
36367                     If (CondRefOf (NFPC))
36368                     {
36369                         NFPC ()
36370                     }
36371                 }
36372             }
36373         }
36374     }
36375 
36376     Scope (\_SB)
36377     {
36378         Device (APAD)
36379         {
36380             Name (_HID, "ACPI000C" /* Processor Aggregator Device */)  // _HID: Hardware ID
36381             Name (M446, Package (0x02)
36382             {
36383                 One, 
36384                 Zero
36385             })
36386             Method (_STA, 0, NotSerialized)  // _STA: Status
36387             {
36388                 If (\_OSI ("Processor Aggregator Device"))
36389                 {
36390                     Local0 = M04A (M128, 0x91)
36391                     If (((Local0 & 0x80) == 0x80))
36392                     {
36393                         M460 ("  KER-ASL-\\_SB.APAD._STA = 0xF\n", Zero, Zero, Zero, Zero, Zero, Zero)
36394                         Return (0x0F)
36395                     }
36396                     Else
36397                     {
36398                         M460 ("  KER-ASL-\\_SB.APAD._STA = 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
36399                         Return (Zero)
36400                     }
36401                 }
36402                 Else
36403                 {
36404                     M460 ("  KER-ASL-1-\\_SB.APAD._STA = 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
36405                     Return (Zero)
36406                 }
36407             }
36408 
36409             Method (_INI, 0, NotSerialized)  // _INI: Initialize
36410             {
36411                 M460 ("  KER-ASL-\\_SB.APAD._INI\n", Zero, Zero, Zero, Zero, Zero, Zero)
36412                 Local0 = M04A (M128, 0x91)
36413                 If ((((Local0 & 0xC0) == 0xC0) && ((Local0 & 
36414                     0xFF00) != 0xFF00)))
36415                 {
36416                     Local3 = Buffer (0x08){}
36417                     CreateWordField (Local3, Zero, M254)
36418                     CreateByteField (Local3, 0x02, M255)
36419                     CreateDWordField (Local3, 0x03, M256)
36420                     M256 = (Local0 >> 0x08)
36421                     M254 = 0x07
36422                     M255 = 0x31
36423                     If (CondRefOf (\_SB.ALIB))
36424                     {
36425                         M460 ("  KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, Zero, Zero, Zero, Zero, Zero)
36426                         \_SB.ALIB (0x0C, Local3)
36427                     }
36428                 }
36429             }
36430 
36431             Method (_PUR, 0, NotSerialized)  // _PUR: Processor Utilization Request
36432             {
36433                 ToInteger (DerefOf (M446 [Zero]), Local0)
36434                 ToInteger (DerefOf (M446 [One]), Local1)
36435                 M460 ("  KER-ASL-\\_SB.APAD._PUR Return Package (2) (0x%X, 0x%X) to OSPM\n", Local0, Local1, Zero, Zero, Zero, Zero)
36436                 Return (M446) /* \_SB_.APAD.M446 */
36437             }
36438         }
36439     }
36440 
36441     Scope (\_SB)
36442     {
36443         Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
36444         {
36445             Name (MSDB, One)
36446             Name (U4PC, 0xFF)
36447             CreateDWordField (Arg0, Zero, UID0)
36448             CreateDWordField (Arg3, Zero, CDW1)
36449             If ((Arg2 >= 0x02))
36450             {
36451                 CreateDWordField (Arg3, 0x04, CDW2)
36452             }
36453 
36454             If ((Arg2 >= 0x03))
36455             {
36456                 CreateDWordField (Arg3, 0x08, CDW3)
36457             }
36458 
36459             If ((Arg2 == One))
36460             {
36461                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Start  CDW1 = 0x%X\n", UID0, CDW1, Zero, Zero, Zero, Zero)
36462             }
36463             ElseIf ((Arg2 == 0x02))
36464             {
36465                 Local2 = CDW2 /* \_SB_._OSC.CDW2 */
36466                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Start  CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, Zero, Zero, Zero)
36467             }
36468             Else
36469             {
36470                 Local3 = CDW3 /* \_SB_._OSC.CDW3 */
36471                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Start  CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, Zero, Zero)
36472             }
36473 
36474             If ((Arg0 == ToUUID ("23a0d13a-26ab-486c-9c5f-0ffa525a575a") /* USB4 Capabilities */))
36475             {
36476                 If ((U4PC != 0xFF))
36477                 {
36478                     Local3 &= 0xFFFFFFF0
36479                     Local3 |= U4PC /* \_SB_._OSC.U4PC */
36480                 }
36481 
36482                 If ((Local3 != CDW3))
36483                 {
36484                     CDW3 = Local3
36485                     CDW1 |= 0x10
36486                 }
36487             }
36488             ElseIf ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
36489             {
36490                 If ((Arg1 == One))
36491                 {
36492                     If ((CondRefOf (\DIMS) && CondRefOf (\DDEP)))
36493                     {
36494                         If (((\DDEP == One) && ((CDW2 & 0x00040000) == 0x00040000)))
36495                         {
36496                             M460 ("    Disable USB4 ACPI _DEP\n", Zero, Zero, Zero, Zero, Zero, Zero)
36497                             Local1 = \DIMS
36498                             M232 (Local1, 0x55, Zero)
36499                             \DDEP = Zero
36500                         }
36501                     }
36502 
36503                     Local2 |= 0x04
36504                     If ((MSDB == One))
36505                     {
36506                         Local2 &= 0xFFFFFF7F
36507                     }
36508 
36509                     If ((U4PC != 0xFF))
36510                     {
36511                         Local2 |= 0x00040000
36512                     }
36513 
36514                     If ((Local2 != CDW2))
36515                     {
36516                         CDW2 = Local2
36517                         CDW1 |= 0x10
36518                     }
36519                 }
36520                 Else
36521                 {
36522                     CDW1 |= 0x08
36523                 }
36524             }
36525             Else
36526             {
36527                 CDW1 |= 0x04
36528             }
36529 
36530             If ((Arg2 == One))
36531             {
36532                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X\n", UID0, CDW1, Zero, Zero, Zero, Zero)
36533             }
36534             ElseIf ((Arg2 == 0x02))
36535             {
36536                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, Zero, Zero, Zero)
36537             }
36538             Else
36539             {
36540                 M460 ("  FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, Zero, Zero)
36541             }
36542 
36543             Return (Arg3)
36544         }
36545     }
36546 
36547     Name (M278, One)
36548     Name (M279, One)
36549     Name (M27A, One)
36550     Name (M27B, One)
36551     Name (APGE, One)
36552     Name (ACGE, One)
36553     Mutex (M27E, 0x00)
36554     Method (M27D, 0, NotSerialized)
36555     {
36556         M460 ("FEA-ASL-CpmAcpRemovePowerGating-Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36557         Local0 = M249 (Zero, Zero, Zero, 0x01240644)
36558         M460 ("  ACP_DSP_FUSION_RUNSTALL   = %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
36559         If ((Local0 == Zero))
36560         {
36561             M250 (Zero, Zero, Zero, 0x01241A48, One)
36562             M250 (Zero, Zero, Zero, 0x01241A24, 0x02)
36563             Local5 = 0x64
36564             Local1 = M249 (Zero, Zero, Zero, 0x01241A48)
36565             While ((Local1 != 0x0101))
36566             {
36567                 Local1 = M249 (Zero, Zero, Zero, 0x01241A48)
36568                 Local5--
36569                 If ((Local5 == Zero))
36570                 {
36571                     M460 ("  Wait PGFSM status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36572                     Break
36573                 }
36574 
36575                 Stall (0x63)
36576             }
36577         }
36578         Else
36579         {
36580             M250 (Zero, Zero, Zero, 0x01241024, 0x07)
36581             Local5 = 0x64
36582             Local1 = M249 (Zero, Zero, Zero, 0x01241028)
36583             While ((Local1 != Zero))
36584             {
36585                 Local1 = M249 (Zero, Zero, Zero, 0x01241028)
36586                 Local5--
36587                 If ((Local5 == Zero))
36588                 {
36589                     M460 ("  Wait PGFSM status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36590                     Break
36591                 }
36592 
36593                 Stall (0x63)
36594             }
36595         }
36596 
36597         M460 ("FEA-ASL-CpmAcpRemovePowerGating-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36598     }
36599 
36600     Method (M27C, 0, NotSerialized)
36601     {
36602         M460 ("FEA-ASL-CpmAcpApplyPowerGating-Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36603         Local0 = M249 (Zero, Zero, Zero, 0x01240644)
36604         M460 ("  ACP_DSP_FUSION_RUNSTALL   = %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
36605         If ((Local0 == Zero))
36606         {
36607             M250 (Zero, Zero, Zero, 0x01241A48, 0x02)
36608             M250 (Zero, Zero, Zero, 0x01241A24, 0x02)
36609             Local5 = 0x64
36610             Local1 = M249 (Zero, Zero, Zero, 0x01241A48)
36611             While ((Local1 != 0x0202))
36612             {
36613                 Local1 = M249 (Zero, Zero, Zero, 0x01241A48)
36614                 Local5--
36615                 If ((Local5 == Zero))
36616                 {
36617                     M460 ("  Wait mmACP_P1_FUTURE_REG_ACLK_1 status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36618                     Break
36619                 }
36620 
36621                 Stall (0x63)
36622             }
36623         }
36624         Else
36625         {
36626             M250 (Zero, Zero, Zero, 0x01241024, 0x06)
36627             Local5 = 0x64
36628             Local1 = M249 (Zero, Zero, Zero, 0x01241028)
36629             While ((Local1 != 0x0A))
36630             {
36631                 Local1 = M249 (Zero, Zero, Zero, 0x01241028)
36632                 Local5--
36633                 If ((Local5 == Zero))
36634                 {
36635                     M460 ("  Wait PGFSM status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36636                     Break
36637                 }
36638 
36639                 Stall (0x63)
36640             }
36641         }
36642 
36643         M460 ("FEA-ASL-CpmAcpApplyPowerGating-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36644     }
36645 
36646     Method (M276, 0, NotSerialized)
36647     {
36648         M460 ("FEA-ASL-CpmPowerGateOn-Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36649         M460 ("  CpmAcpPresentState    = %d\n", M278, Zero, Zero, Zero, Zero, Zero)
36650         M460 ("  CpmAzaliaPresentState = %d\n", M279, Zero, Zero, Zero, Zero, Zero)
36651         M460 ("  ACGE                  = %d\n", ACGE, Zero, Zero, Zero, Zero, Zero)
36652         M460 ("  APGE                  = %d\n", APGE, Zero, Zero, Zero, Zero, Zero)
36653         If (!(M278 ^ M279))
36654         {
36655             M460 ("FEA-ASL-CpmPowerGateOn-1-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36656             Return (Zero)
36657         }
36658 
36659         If ((ACGE == One))
36660         {
36661             Local6 = \_SB.ALIB (0x16, 0xC8)
36662         }
36663 
36664         If ((APGE == One))
36665         {
36666             M000 (0x0DB4)
36667             If ((M27A == One))
36668             {
36669                 Local0 = M017 (Zero, 0x08, One, 0x19, Zero, 0x08)
36670                 Local1 = M019 (Local0, Zero, 0x05, Zero)
36671                 If (((Local0 != Zero) && (Local0 != 0xFF)))
36672                 {
36673                     If ((Local1 != Ones))
36674                     {
36675                         M27D ()
36676                     }
36677                 }
36678             }
36679             ElseIf ((M27B == One))
36680             {
36681                 M250 (Zero, Zero, Zero, 0x0900E784, 0x0303)
36682                 Local5 = 0x64
36683                 Local4 = M249 (Zero, Zero, Zero, 0x0900E790)
36684                 Local4 &= 0x0F
36685                 While ((Local4 != Zero))
36686                 {
36687                     Local4 = M249 (Zero, Zero, Zero, 0x0900E790)
36688                     Local4 &= 0x0F
36689                     Local5--
36690                     If ((Local5 == Zero))
36691                     {
36692                         M460 ("  Wait mmRSMU_PGFSM_STATUS_ACP status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36693                         Break
36694                     }
36695 
36696                     Stall (0x63)
36697                 }
36698             }
36699 
36700             M000 (0x0DB5)
36701         }
36702 
36703         M460 ("FEA-ASL-CpmPowerGateOn-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36704     }
36705 
36706     Method (M277, 0, NotSerialized)
36707     {
36708         M460 ("FEA-ASL-CpmPowerGateOff-Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36709         M460 ("  CpmAcpPresentState    = %d\n", M278, Zero, Zero, Zero, Zero, Zero)
36710         M460 ("  CpmAzaliaPresentState = %d\n", M279, Zero, Zero, Zero, Zero, Zero)
36711         M460 ("  APGE                  = %d\n", APGE, Zero, Zero, Zero, Zero, Zero)
36712         M460 ("  ACGE                  = %d\n", ACGE, Zero, Zero, Zero, Zero, Zero)
36713         If (!((M278 == Zero) && (M279 == Zero)))
36714         {
36715             M460 ("FEA-ASL-CpmPowerGateOff-1-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36716             Return (Zero)
36717         }
36718 
36719         If ((APGE == One))
36720         {
36721             M000 (0x0DB6)
36722             If ((M27A == One))
36723             {
36724                 Local0 = M017 (Zero, 0x08, One, 0x19, Zero, 0x08)
36725                 Local1 = M019 (Local0, Zero, 0x05, Zero)
36726                 If (((Local0 != Zero) && (Local0 != 0xFF)))
36727                 {
36728                     If ((Local1 != Ones))
36729                     {
36730                         M27C ()
36731                     }
36732                 }
36733             }
36734             ElseIf ((M27B == One))
36735             {
36736                 M250 (Zero, Zero, Zero, 0x0900E784, 0x0301)
36737                 Local5 = 0x64
36738                 Local4 = M249 (Zero, Zero, Zero, 0x0900E790)
36739                 Local4 &= 0x0F
36740                 While ((Local4 != 0x0A))
36741                 {
36742                     Local4 = M249 (Zero, Zero, Zero, 0x0900E790)
36743                     Local4 &= 0x0F
36744                     Local5--
36745                     If ((Local5 == Zero))
36746                     {
36747                         M460 ("  Wait mmRSMU_PGFSM_STATUS_ACP status timeout", Zero, Zero, Zero, Zero, Zero, Zero)
36748                         Break
36749                     }
36750 
36751                     Stall (0x63)
36752                 }
36753             }
36754 
36755             M000 (0x0DB7)
36756         }
36757 
36758         If ((ACGE == One))
36759         {
36760             Local6 = \_SB.ALIB (0x16, Zero)
36761         }
36762 
36763         M460 ("FEA-ASL-CpmPowerGateOff-End\n", Zero, Zero, Zero, Zero, Zero, Zero)
36764     }
36765 
36766     Scope (\_SB.PCI0.GP17.ACP)
36767     {
36768         Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
36769         {
36770             Acquire (\M27E, 0xFFFF)
36771             M460 ("FEA-ASL-\\_SB.PCI0.PBC.ACP._PS0 CpmAcpPresentState = 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
36772             M278 = One
36773             M276 ()
36774             Release (\M27E)
36775         }
36776 
36777         Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
36778         {
36779             Acquire (\M27E, 0xFFFF)
36780             M460 ("FEA-ASL-\\_SB.PCI0.PBC.ACP._PS3 CpmAcpPresentState = 0\n", Zero, Zero, Zero, Zero, Zero, Zero)
36781             M278 = Zero
36782             M277 ()
36783             Release (\M27E)
36784         }
36785 
36786         Method (MSG0, 3, Serialized)
36787         {
36788             M460 ("FEA-ASL-MSG0-Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
36789             M000 (0x5511)
36790             OperationRegion (VARM, SystemIO, 0x80, 0x04)
36791             Field (VARM, DWordAcc, NoLock, Preserve)
36792             {
36793                 VARR,   32
36794             }
36795 
36796             If ((Arg2 != 0x09))
36797             {
36798                 M000 (0x5518)
36799                 M250 (Zero, Zero, Zero, 0x00058A74, Arg0)
36800                 M250 (Zero, Zero, Zero, 0x00058A54, Arg1)
36801                 M250 (Zero, Zero, Zero, 0x00058A14, Arg2)
36802                 Local0 = M249 (Zero, Zero, Zero, 0x00058A74)
36803                 While ((Local0 == Zero))
36804                 {
36805                     Local0 = M249 (Zero, Zero, Zero, 0x00058A74)
36806                     If ((Local0 != Zero))
36807                     {
36808                         Break
36809                     }
36810                 }
36811 
36812                 M000 (0x5519)
36813                 Local1 = M249 (Zero, Zero, Zero, 0x00058A54)
36814                 M460 ("FEA-ASL-MSG0-End-1-Return 0x%X\n", Local1, Zero, Zero, Zero, Zero, Zero)
36815                 Return (Local1)
36816             }
36817 
36818             Name (MBOX, Buffer (0x04){})
36819             Local0 = M249 (Zero, Zero, Zero, 0x03810570)
36820             VARR = Local0
36821             MBOX = Local0
36822             CreateWordField (MBOX, Zero, STAS)
36823             CreateByteField (MBOX, 0x02, CMDI)
36824             CreateField (MBOX, 0x18, 0x05, RESV)
36825             CreateBitField (MBOX, 0x1D, RSET)
36826             CreateBitField (MBOX, 0x1E, RCOV)
36827             CreateBitField (MBOX, 0x1F, REDY)
36828             VARR = MBOX /* \_SB_.PCI0.GP17.ACP_.MSG0.MBOX */
36829             While (((REDY != One) || (CMDI != Zero)))
36830             {
36831                 Local0 = M249 (Zero, Zero, Zero, 0x03810570)
36832                 MBOX = Local0
36833                 M000 (0x5516)
36834                 VARR = MBOX /* \_SB_.PCI0.GP17.ACP_.MSG0.MBOX */
36835             }
36836 
36837             Local0 = Zero
36838             MBOX = Local0
36839             REDY = Zero
36840             CMDI = 0x33
36841             M000 (0x5514)
36842             Local0 = MBOX /* \_SB_.PCI0.GP17.ACP_.MSG0.MBOX */
36843             VARR = Local0
36844             M250 (Zero, Zero, Zero, 0x03810570, Local0)
36845             Sleep (One)
36846             M000 (0x5515)
36847             Local0 = M249 (Zero, Zero, Zero, 0x03810570)
36848             MBOX = Local0
36849             VARR = MBOX /* \_SB_.PCI0.GP17.ACP_.MSG0.MBOX */
36850             While ((CMDI != Zero))
36851             {
36852                 Local0 = M249 (Zero, Zero, Zero, 0x03810570)
36853                 MBOX = Local0
36854                 M000 (0x5517)
36855                 VARR = MBOX /* \_SB_.PCI0.GP17.ACP_.MSG0.MBOX */
36856             }
36857 
36858             If ((STAS != Zero))
36859             {
36860                 M000 (0x5513)
36861                 M460 ("FEA-ASL-MSG0-Command Fail\n", Zero, Zero, Zero, Zero, Zero, Zero)
36862             }
36863 
36864             M000 (0x5512)
36865             M460 ("FEA-ASL-MSG0-End-2-Return 0x%X\n", Local0, Zero, Zero, Zero, Zero, Zero)
36866             Return (Local0)
36867         }
36868     }
36869 
36870     Scope (\_SB.PCI0.GP17.AZAL)
36871     {
36872         Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
36873         {
36874             Acquire (\M27E, 0xFFFF)
36875             M460 ("FEA-ASL-\\_SB.PCI0.PBC.AZAL._PS0 CpmAzaliaPresentState = 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
36876             M279 = One
36877             M276 ()
36878             Release (\M27E)
36879         }
36880 
36881         Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
36882         {
36883             Acquire (\M27E, 0xFFFF)
36884             M460 ("FEA-ASL-\\_SB.PCI0.PBC.AZAL._PS3 CpmAzaliaPresentState = 0\n", Zero, Zero, Zero, Zero, Zero, Zero)
36885             M279 = Zero
36886             M277 ()
36887             Release (\M27E)
36888         }
36889     }
36890 
36891     Scope (\_TZ)
36892     {
36893         ThermalZone (TZ01)
36894         {
36895             Name (CRTT, 0x6E)
36896             Name (PSVT, 0x32)
36897             Name (TSPS, 0x14)
36898             Method (_TMP, 0, Serialized)  // _TMP: Temperature
36899             {
36900                 Local0 = 0x0B74
36901                 If (CondRefOf (\_SB.PCI0.SBRG.H_EC.ECMT))
36902                 {
36903                     Acquire (\_SB.PCI0.SBRG.H_EC.ECMT, 0xFFFF)
36904                     If (CondRefOf (\_SB.PCI0.SBRG.H_EC.TSRC))
36905                     {
36906                         Local0 = \_SB.PCI0.SBRG.H_EC.TSRC /* External reference */
36907                         Local0 = (0x0AAC + (Local0 * 0x0A))
36908                     }
36909 
36910                     Release (\_SB.PCI0.SBRG.H_EC.ECMT)
36911                 }
36912 
36913                 Return (Local0)
36914             }
36915 
36916             Method (_PSL, 0, Serialized)  // _PSL: Passive List
36917             {
36918                 Return (Package (0x10)
36919                 {
36920                     \_SB.PLTF.P000, 
36921                     \_SB.PLTF.P001, 
36922                     \_SB.PLTF.P002, 
36923                     \_SB.PLTF.P003, 
36924                     \_SB.PLTF.P004, 
36925                     \_SB.PLTF.P005, 
36926                     \_SB.PLTF.P006, 
36927                     \_SB.PLTF.P007, 
36928                     \_SB.PLTF.P008, 
36929                     \_SB.PLTF.P009, 
36930                     \_SB.PLTF.P00A, 
36931                     \_SB.PLTF.P00B, 
36932                     \_SB.PLTF.P00C, 
36933                     \_SB.PLTF.P00D, 
36934                     \_SB.PLTF.P00E, 
36935                     \_SB.PLTF.P00F
36936                 })
36937             }
36938 
36939             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
36940             {
36941                 Local0 = (0x0AAC + (CRTT * 0x0A))
36942                 Return (Local0)
36943             }
36944 
36945             Method (_TC1, 0, Serialized)  // _TC1: Thermal Constant 1
36946             {
36947                 Return (One)
36948             }
36949 
36950             Method (_TC2, 0, Serialized)  // _TC2: Thermal Constant 2
36951             {
36952                 Return (0x02)
36953             }
36954 
36955             Method (_TSP, 0, Serialized)  // _TSP: Thermal Sampling Period
36956             {
36957                 Return (TSPS) /* \_TZ_.TZ01.TSPS */
36958             }
36959         }
36960     }
36961 
36962     Scope (\)
36963     {
36964         Name (P3D3, 0x55)
36965         Name (G0D3, 0x04)
36966         Name (G3D3, 0x04)
36967         Name (RCRS, 0x55)
36968         Name (G5D3, 0x04)
36969         Name (P4D3, 0x04)
36970         Name (H0D3, 0x04)
36971         Name (CIMS, 0xCE)
36972         Name (CPSX, 0x80)
36973         Name (DIMS, 0xA7)
36974         Name (DDEP, 0x55)
36975     }
36976 
36977     Scope (\_SB)
36978     {
36979         Method (CK19, 0, NotSerialized)
36980         {
36981             Local0 = \_SB.PCI0.GP19.RPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02)
36982             \_SB.PCI0.GP19.WPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02, (Local0 & 0x7FFC))
36983             Local1 = \_SB.PCI0.GP19.XHC2.RPRM ((\_SB.PCI0.GP19.XHC2.DADR + 0x54), 0x02)
36984             Local1 = \_SB.PCI0.GP19.XHC3.RPRM ((\_SB.PCI0.GP19.XHC3.DADR + 0x54), 0x02)
36985             Local1 = \_SB.PCI0.GP19.XHC4.RPRM ((\_SB.PCI0.GP19.XHC4.DADR + 0x54), 0x02)
36986             Local1 = \_SB.PCI0.GP19.NHI0.RPRM ((\_SB.PCI0.GP19.NHI0.DADR + 0x54), 0x02)
36987             Local1 = \_SB.PCI0.GP19.NHI1.RPRM ((\_SB.PCI0.GP19.NHI1.DADR + 0x54), 0x02)
36988             \_SB.PCI0.GP19.WPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02, (Local0 & 0x7FFF))
36989             Local0 = \_SB.PCI0.GP11.RPRM ((\_SB.PCI0.GP11.DADR + 0x54), 0x02)
36990             Local0 = \_SB.PCI0.GP12.RPRM ((\_SB.PCI0.GP12.DADR + 0x54), 0x02)
36991         }
36992 
36993         Method (OPTS, 1, NotSerialized)
36994         {
36995             M460 ("  OEM-ASL-\\_SB.OPTS (0x%X) Start\n", Arg0, Zero, Zero, Zero, Zero, Zero)
36996             If (CondRefOf (\_SB.CK17))
36997             {
36998                 \_SB.CK17 ()
36999             }
37000 
37001             \_SB.CK19 ()
37002             M460 ("  OEM-ASL-\\_SB.OPTS (0x%X) End\n", Arg0, Zero, Zero, Zero, Zero, Zero)
37003         }
37004 
37005         Method (OWAK, 1, NotSerialized)
37006         {
37007             M460 ("  OEM-ASL-\\_SB.OWAK (0x%X) Start\n", Arg0, Zero, Zero, Zero, Zero, Zero)
37008             If (CondRefOf (\_SB.CK17))
37009             {
37010                 \_SB.CK17 ()
37011             }
37012 
37013             \_SB.CK19 ()
37014             M460 ("  OEM-ASL-\\_SB.OWAK (0x%X) End\n", Arg0, Zero, Zero, Zero, Zero, Zero)
37015         }
37016     }
37017 
37018     Scope (\_SB.PCI0.GP19)
37019     {
37020         Method (YS0W, 0, Serialized)
37021         {
37022             Local0 = Zero
37023             If ((\P3D3 != 0x55))
37024             {
37025                 Local0 = \P3D3 /* External reference */
37026             }
37027 
37028             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
37029             Return (Local0)
37030         }
37031 
37032         Method (YPRW, 0, Serialized)
37033         {
37034             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
37035             Return (Package (0x02)
37036             {
37037                 0x1A, 
37038                 0x04
37039             })
37040         }
37041 
37042         Name (DADR, 0xEEEEEEEE)
37043         Name (DSTA, 0xEE)
37044         Name (DBUS, 0xEEEE)
37045         Name (PCSA, Zero)
37046         Name (PWST, 0xD3)
37047         Name (ESTA, 0xEE)
37048         Name (EBUS, 0xEEEE)
37049         Method (RPRM, 2, NotSerialized)
37050         {
37051             Local0 = Arg0
37052             OperationRegion (VARM, SystemMemory, Local0, 0x04)
37053             Field (VARM, AnyAcc, NoLock, Preserve)
37054             {
37055                 VARR,   32
37056             }
37057 
37058             Local1 = VARR /* \_SB_.PCI0.GP19.RPRM.VARR */
37059             If ((Arg1 == One))
37060             {
37061                 Local1 &= 0xFF
37062             }
37063             ElseIf ((Arg1 == 0x02))
37064             {
37065                 Local1 &= 0xFFFF
37066             }
37067             ElseIf ((Arg1 == 0x03))
37068             {
37069                 Local1 &= 0x00FFFFFF
37070             }
37071 
37072             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
37073             Return (Local1)
37074         }
37075 
37076         Method (WPRM, 3, NotSerialized)
37077         {
37078             Local0 = Arg0
37079             If ((Arg1 == One))
37080             {
37081                 OperationRegion (VARA, SystemMemory, Local0, One)
37082                 Field (VARA, AnyAcc, NoLock, Preserve)
37083                 {
37084                     VARE,   8
37085                 }
37086 
37087                 VARE = Arg2
37088             }
37089             ElseIf ((Arg1 == 0x02))
37090             {
37091                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
37092                 Field (VARB, AnyAcc, NoLock, Preserve)
37093                 {
37094                     VARF,   16
37095                 }
37096 
37097                 VARF = Arg2
37098             }
37099             ElseIf ((Arg1 == 0x03))
37100             {
37101                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
37102                 Field (VARC, AnyAcc, NoLock, Preserve)
37103                 {
37104                     VARG,   24
37105                 }
37106 
37107                 VARG = Arg2
37108             }
37109             Else
37110             {
37111                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
37112                 Field (VARD, AnyAcc, NoLock, Preserve)
37113                 {
37114                     VARH,   32
37115                 }
37116 
37117                 VARH = Arg2
37118             }
37119 
37120             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
37121         }
37122 
37123         Method (SPDP, 1, NotSerialized)
37124         {
37125             Local5 = 0x7FFFFFFF
37126             Local5 |= 0x80000000
37127             Local2 = Zero
37128             Local0 = Zero
37129             While ((Local0 <= 0x1F))
37130             {
37131                 Local1 = Zero
37132                 While ((Local1 <= 0x07))
37133                 {
37134                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
37135                         0x0F) & 0x000F8000))
37136                     Local3 |= ((Local1 << 0x0C) & 0x7000)
37137                     Local4 = RPRM ((M083 + Local3), 0x04)
37138                     If (((Local4 != Local5) && (Local4 != Zero)))
37139                     {
37140                         Local2 |= (One << Local0)
37141                     }
37142                     ElseIf ((Local1 == Zero))
37143                     {
37144                         Break
37145                     }
37146 
37147                     Local1++
37148                 }
37149 
37150                 Local0++
37151             }
37152 
37153             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
37154             Return (Local2)
37155         }
37156 
37157         Method (SPCH, 2, NotSerialized)
37158         {
37159             Local0 = Zero
37160             Local1 = RPRM ((Arg0 + 0x34), One)
37161             While ((Local1 != Zero))
37162             {
37163                 Local2 = RPRM ((DADR + Local1), One)
37164                 If (((Local2 == Zero) || (Local2 == 0xFF)))
37165                 {
37166                     Break
37167                 }
37168 
37169                 If ((Local2 == Arg1))
37170                 {
37171                     Local0 = Local1
37172                     Break
37173                 }
37174 
37175                 Local1 = RPRM ((DADR + (Local1 + One)), One)
37176             }
37177 
37178             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
37179             Return (Local0)
37180         }
37181 
37182         Method (_STA, 0, Serialized)  // _STA: Status
37183         {
37184             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
37185             {
37186                 If ((DBUS == 0xEEEE))
37187                 {
37188                     If (CondRefOf (^^EBUS))
37189                     {
37190                         DBUS = ^^EBUS /* External reference */
37191                     }
37192                     Else
37193                     {
37194                         DBUS = Zero
37195                     }
37196                 }
37197 
37198                 If ((DBUS != 0xEEEE))
37199                 {
37200                     If ((DADR == 0xEEEEEEEE))
37201                     {
37202                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
37203                             One) & 0x000F8000))
37204                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
37205                         DADR = (M083 + Local0)
37206                     }
37207 
37208                     Local0 = 0x7FFFFFFF
37209                     Local0 |= 0x80000000
37210                     Local1 = RPRM ((DADR + Zero), 0x04)
37211                     If (((Local1 == Local0) || (Local1 == Zero)))
37212                     {
37213                         DSTA = Zero
37214                         ESTA = Zero
37215                         If ((DBUS != Zero))
37216                         {
37217                             Local2 = ^^SPCH (^^DADR, 0x10)
37218                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
37219                                 0x40) == 0x40))
37220                             {
37221                                 DSTA = 0x0F
37222                                 ESTA = 0xEE
37223                             }
37224                         }
37225                     }
37226                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
37227                     {
37228                         EBUS = RPRM ((DADR + 0x19), One)
37229                         Local2 = SPCH (DADR, 0x10)
37230                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
37231                             One) >> 0x04) & 0x0F) == 0x05))
37232                         {
37233                             If ((EBUS == Zero))
37234                             {
37235                                 DSTA = 0x0F
37236                                 ESTA = 0xEE
37237                             }
37238                             ElseIf ((SPDP (EBUS) == Zero))
37239                             {
37240                                 DSTA = Zero
37241                                 ESTA = Zero
37242                             }
37243                             Else
37244                             {
37245                                 DSTA = 0x0F
37246                                 ESTA = 0x0F
37247                             }
37248                         }
37249                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
37250                             One) & 0x40) == Zero))
37251                         {
37252                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
37253                                 0x40) == Zero))
37254                             {
37255                                 DSTA = Zero
37256                                 ESTA = Zero
37257                             }
37258                             Else
37259                             {
37260                                 DSTA = 0x0F
37261                                 ESTA = 0xEE
37262                             }
37263                         }
37264                         ElseIf ((EBUS == Zero))
37265                         {
37266                             DSTA = 0x0F
37267                             ESTA = 0xEE
37268                         }
37269                         Else
37270                         {
37271                             DSTA = 0x0F
37272                             ESTA = 0x0F
37273                         }
37274                     }
37275                     Else
37276                     {
37277                         DSTA = 0x0F
37278                         ESTA = Zero
37279                     }
37280                 }
37281                 Else
37282                 {
37283                     DSTA = Zero
37284                     ESTA = 0xEE
37285                 }
37286             }
37287 
37288             If (((PCSA == One) && (PWST == 0xD3)))
37289             {
37290                 PWST = 0xD0
37291             }
37292 
37293             If (((PCSA == Zero) && (PWST == 0xD0)))
37294             {
37295                 PWST = 0xD3
37296             }
37297 
37298             If (CondRefOf (SSTA))
37299             {
37300                 SSTA ()
37301             }
37302 
37303             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
37304             Return (DSTA) /* \_SB_.PCI0.GP19.DSTA */
37305         }
37306 
37307         Method (_INI, 0, Serialized)  // _INI: Initialize
37308         {
37309             Local0 = 0x7FFFFFFF
37310             Local0 |= 0x80000000
37311             Local1 = RPRM ((DADR + Zero), 0x04)
37312             If (((Local1 == Local0) || (Local1 == Zero)))
37313             {
37314                 PCSA = Zero
37315                 PWST = 0xD3
37316             }
37317             Else
37318             {
37319                 PCSA = One
37320                 PWST = 0xD0
37321             }
37322 
37323             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X\n", DADR, PCSA, PWST, Zero, Zero, Zero)
37324             If (CondRefOf (SINI))
37325             {
37326                 SINI ()
37327             }
37328         }
37329 
37330         Method (_REG, 2, Serialized)  // _REG: Region Availability
37331         {
37332             If (((Arg0 == 0x02) && (Arg1 == One)))
37333             {
37334                 If ((DSTA == 0x0F))
37335                 {
37336                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
37337                     {
37338                         PCSA = One
37339                     }
37340                 }
37341             }
37342 
37343             If (((Arg0 == 0x02) && (Arg1 == Zero)))
37344             {
37345                 PCSA = Zero
37346             }
37347 
37348             If (CondRefOf (SREG))
37349             {
37350                 SREG (Arg0, Arg1)
37351             }
37352 
37353             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
37354         }
37355     }
37356 
37357     Scope (\_SB.PCI0.GP19.XHC2)
37358     {
37359         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
37360         {
37361             Local0 = Zero
37362             If ((\G0D3 != 0x55))
37363             {
37364                 Local0 = \G0D3 /* External reference */
37365             }
37366 
37367             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
37368             Return (Local0)
37369         }
37370 
37371         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
37372         {
37373             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
37374             Return (Package (0x02)
37375             {
37376                 0x1A, 
37377                 0x04
37378             })
37379         }
37380 
37381         Method (PPS0, 0, Serialized)
37382         {
37383             M000 (0x3F01)
37384         }
37385 
37386         Method (PPS3, 0, Serialized)
37387         {
37388             M000 (0x3F03)
37389         }
37390 
37391         Method (PSTA, 0, Serialized)
37392         {
37393             M000 (0x3F05)
37394         }
37395 
37396         Method (P_ON, 0, Serialized)
37397         {
37398             M000 (0x3F06)
37399         }
37400 
37401         Method (P_OF, 0, Serialized)
37402         {
37403             M000 (0x3F08)
37404         }
37405 
37406         Name (DADR, 0xEEEEEEEE)
37407         Name (DSTA, 0xEE)
37408         Name (DBUS, 0xEEEE)
37409         Name (PCSA, Zero)
37410         Name (PWST, 0xD3)
37411         Name (ESTA, 0xEE)
37412         Name (EBUS, 0xEEEE)
37413         Name (PW3S, Zero)
37414         Method (RPRM, 2, NotSerialized)
37415         {
37416             Local0 = Arg0
37417             OperationRegion (VARM, SystemMemory, Local0, 0x04)
37418             Field (VARM, AnyAcc, NoLock, Preserve)
37419             {
37420                 VARR,   32
37421             }
37422 
37423             Local1 = VARR /* \_SB_.PCI0.GP19.XHC2.RPRM.VARR */
37424             If ((Arg1 == One))
37425             {
37426                 Local1 &= 0xFF
37427             }
37428             ElseIf ((Arg1 == 0x02))
37429             {
37430                 Local1 &= 0xFFFF
37431             }
37432             ElseIf ((Arg1 == 0x03))
37433             {
37434                 Local1 &= 0x00FFFFFF
37435             }
37436 
37437             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
37438             Return (Local1)
37439         }
37440 
37441         Method (WPRM, 3, NotSerialized)
37442         {
37443             Local0 = Arg0
37444             If ((Arg1 == One))
37445             {
37446                 OperationRegion (VARA, SystemMemory, Local0, One)
37447                 Field (VARA, AnyAcc, NoLock, Preserve)
37448                 {
37449                     VARE,   8
37450                 }
37451 
37452                 VARE = Arg2
37453             }
37454             ElseIf ((Arg1 == 0x02))
37455             {
37456                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
37457                 Field (VARB, AnyAcc, NoLock, Preserve)
37458                 {
37459                     VARF,   16
37460                 }
37461 
37462                 VARF = Arg2
37463             }
37464             ElseIf ((Arg1 == 0x03))
37465             {
37466                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
37467                 Field (VARC, AnyAcc, NoLock, Preserve)
37468                 {
37469                     VARG,   24
37470                 }
37471 
37472                 VARG = Arg2
37473             }
37474             Else
37475             {
37476                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
37477                 Field (VARD, AnyAcc, NoLock, Preserve)
37478                 {
37479                     VARH,   32
37480                 }
37481 
37482                 VARH = Arg2
37483             }
37484 
37485             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
37486         }
37487 
37488         Method (SPDP, 1, NotSerialized)
37489         {
37490             Local5 = 0x7FFFFFFF
37491             Local5 |= 0x80000000
37492             Local2 = Zero
37493             Local0 = Zero
37494             While ((Local0 <= 0x1F))
37495             {
37496                 Local1 = Zero
37497                 While ((Local1 <= 0x07))
37498                 {
37499                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
37500                         0x0F) & 0x000F8000))
37501                     Local3 |= ((Local1 << 0x0C) & 0x7000)
37502                     Local4 = RPRM ((M083 + Local3), 0x04)
37503                     If (((Local4 != Local5) && (Local4 != Zero)))
37504                     {
37505                         Local2 |= (One << Local0)
37506                     }
37507                     ElseIf ((Local1 == Zero))
37508                     {
37509                         Break
37510                     }
37511 
37512                     Local1++
37513                 }
37514 
37515                 Local0++
37516             }
37517 
37518             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
37519             Return (Local2)
37520         }
37521 
37522         Method (SPCH, 2, NotSerialized)
37523         {
37524             Local0 = Zero
37525             Local1 = RPRM ((Arg0 + 0x34), One)
37526             While ((Local1 != Zero))
37527             {
37528                 Local2 = RPRM ((DADR + Local1), One)
37529                 If (((Local2 == Zero) || (Local2 == 0xFF)))
37530                 {
37531                     Break
37532                 }
37533 
37534                 If ((Local2 == Arg1))
37535                 {
37536                     Local0 = Local1
37537                     Break
37538                 }
37539 
37540                 Local1 = RPRM ((DADR + (Local1 + One)), One)
37541             }
37542 
37543             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
37544             Return (Local0)
37545         }
37546 
37547         Method (_STA, 0, Serialized)  // _STA: Status
37548         {
37549             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
37550             {
37551                 If ((DBUS == 0xEEEE))
37552                 {
37553                     If (CondRefOf (^^EBUS))
37554                     {
37555                         DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
37556                     }
37557                     Else
37558                     {
37559                         DBUS = Zero
37560                     }
37561                 }
37562 
37563                 If ((DBUS != 0xEEEE))
37564                 {
37565                     If ((DADR == 0xEEEEEEEE))
37566                     {
37567                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
37568                             One) & 0x000F8000))
37569                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
37570                         DADR = (M083 + Local0)
37571                     }
37572 
37573                     Local0 = 0x7FFFFFFF
37574                     Local0 |= 0x80000000
37575                     Local1 = RPRM ((DADR + Zero), 0x04)
37576                     If (((Local1 == Local0) || (Local1 == Zero)))
37577                     {
37578                         DSTA = Zero
37579                         ESTA = Zero
37580                         If ((DBUS != Zero))
37581                         {
37582                             Local2 = ^^SPCH (^^DADR, 0x10)
37583                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
37584                                 0x40) == 0x40))
37585                             {
37586                                 DSTA = 0x0F
37587                                 ESTA = 0xEE
37588                             }
37589                         }
37590                     }
37591                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
37592                     {
37593                         EBUS = RPRM ((DADR + 0x19), One)
37594                         Local2 = SPCH (DADR, 0x10)
37595                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
37596                             One) >> 0x04) & 0x0F) == 0x05))
37597                         {
37598                             If ((EBUS == Zero))
37599                             {
37600                                 DSTA = 0x0F
37601                                 ESTA = 0xEE
37602                             }
37603                             ElseIf ((SPDP (EBUS) == Zero))
37604                             {
37605                                 DSTA = Zero
37606                                 ESTA = Zero
37607                             }
37608                             Else
37609                             {
37610                                 DSTA = 0x0F
37611                                 ESTA = 0x0F
37612                             }
37613                         }
37614                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
37615                             One) & 0x40) == Zero))
37616                         {
37617                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
37618                                 0x40) == Zero))
37619                             {
37620                                 DSTA = Zero
37621                                 ESTA = Zero
37622                             }
37623                             Else
37624                             {
37625                                 DSTA = 0x0F
37626                                 ESTA = 0xEE
37627                             }
37628                         }
37629                         ElseIf ((EBUS == Zero))
37630                         {
37631                             DSTA = 0x0F
37632                             ESTA = 0xEE
37633                         }
37634                         Else
37635                         {
37636                             DSTA = 0x0F
37637                             ESTA = 0x0F
37638                         }
37639                     }
37640                     Else
37641                     {
37642                         DSTA = 0x0F
37643                         ESTA = Zero
37644                     }
37645                 }
37646                 Else
37647                 {
37648                     DSTA = Zero
37649                     ESTA = 0xEE
37650                 }
37651             }
37652 
37653             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
37654             {
37655                 PWST = 0xD0
37656             }
37657 
37658             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
37659             {
37660                 PWST = 0xD3
37661             }
37662 
37663             If (CondRefOf (SSTA))
37664             {
37665                 SSTA ()
37666             }
37667 
37668             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
37669             Return (DSTA) /* \_SB_.PCI0.GP19.XHC2.DSTA */
37670         }
37671 
37672         Method (_INI, 0, Serialized)  // _INI: Initialize
37673         {
37674             Local0 = 0x7FFFFFFF
37675             Local0 |= 0x80000000
37676             Local1 = RPRM ((DADR + Zero), 0x04)
37677             If (((Local1 == Local0) || (Local1 == Zero)))
37678             {
37679                 PCSA = Zero
37680                 PWST = 0xD3
37681                 PW3S = Zero
37682             }
37683             Else
37684             {
37685                 PCSA = One
37686                 PWST = 0xD0
37687                 PW3S = One
37688             }
37689 
37690             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
37691             If (CondRefOf (SINI))
37692             {
37693                 SINI ()
37694             }
37695         }
37696 
37697         Method (_REG, 2, Serialized)  // _REG: Region Availability
37698         {
37699             If (((Arg0 == 0x02) && (Arg1 == One)))
37700             {
37701                 If ((DSTA == 0x0F))
37702                 {
37703                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
37704                     {
37705                         PCSA = One
37706                     }
37707                 }
37708             }
37709 
37710             If (((Arg0 == 0x02) && (Arg1 == Zero)))
37711             {
37712                 PCSA = Zero
37713             }
37714 
37715             If (CondRefOf (SREG))
37716             {
37717                 SREG (Arg0, Arg1)
37718             }
37719 
37720             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
37721         }
37722 
37723         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
37724         {
37725             If (CondRefOf (SDSW))
37726             {
37727                 SDSW (Arg0, Arg1, Arg2)
37728             }
37729 
37730             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
37731         }
37732 
37733         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
37734         {
37735             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
37736             If (CondRefOf (PPS0))
37737             {
37738                 PPS0 ()
37739             }
37740         }
37741 
37742         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
37743         {
37744             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
37745             If (CondRefOf (PPS3))
37746             {
37747                 PPS3 ()
37748             }
37749         }
37750 
37751         PowerResource (PWRS, 0x00, 0x0000)
37752         {
37753             Method (_STA, 0, Serialized)  // _STA: Status
37754             {
37755                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
37756                 If (CondRefOf (PSTA))
37757                 {
37758                     PSTA ()
37759                 }
37760 
37761                 Return (PW3S) /* \_SB_.PCI0.GP19.XHC2.PW3S */
37762             }
37763 
37764             Method (_ON, 0, Serialized)  // _ON_: Power On
37765             {
37766                 If ((PW3S == Zero))
37767                 {
37768                     PW3S = One
37769                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
37770                     If (CondRefOf (P_ON))
37771                     {
37772                         P_ON ()
37773                     }
37774                 }
37775             }
37776 
37777             Method (_OFF, 0, Serialized)  // _OFF: Power Off
37778             {
37779                 If ((PW3S == One))
37780                 {
37781                     PW3S = Zero
37782                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
37783                     If (CondRefOf (P_OF))
37784                     {
37785                         P_OF ()
37786                     }
37787                 }
37788             }
37789         }
37790 
37791         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
37792         {
37793             PWRS
37794         })
37795         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
37796         {
37797             PWRS
37798         })
37799     }
37800 
37801     Scope (\_SB.PCI0.GP19.XHC3)
37802     {
37803         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
37804         {
37805             M000 (0x3F34)
37806             Local0 = Zero
37807             If ((\G3D3 != 0x55))
37808             {
37809                 Local0 = \G3D3 /* External reference */
37810             }
37811 
37812             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
37813             Return (Local0)
37814         }
37815 
37816         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
37817         {
37818             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
37819             Return (Package (0x02)
37820             {
37821                 0x1A, 
37822                 0x04
37823             })
37824         }
37825 
37826         Method (PPS0, 0, Serialized)
37827         {
37828             M000 (0x3F31)
37829             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
37830         }
37831 
37832         Method (PPS3, 0, Serialized)
37833         {
37834             M000 (0x3F33)
37835             If ((CondRefOf (\_SB.PCI0.GP11.PCSA) && CondRefOf (\_SB.PCI0.GP19.NHI0.PCSA)))
37836             {
37837                 M460 ("    GP11.PCSA = %d  XHC3.PCSA = %d  NHI0.PCSA = %d\n", \_SB.PCI0.GP11.PCSA, \_SB.PCI0.GP19.XHC3.PCSA, \_SB.PCI0.GP19.NHI0.PCSA, Zero, Zero, Zero)
37838             }
37839 
37840             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
37841         }
37842 
37843         Method (PSTA, 0, Serialized)
37844         {
37845             M000 (0x3F35)
37846             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
37847         }
37848 
37849         Method (P_ON, 0, Serialized)
37850         {
37851             M000 (0x3F36)
37852             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
37853         }
37854 
37855         Method (P_OF, 0, Serialized)
37856         {
37857             M000 (0x3F38)
37858             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
37859         }
37860 
37861         Name (DADR, 0xEEEEEEEE)
37862         Name (DSTA, 0xEE)
37863         Name (DBUS, 0xEEEE)
37864         Name (PCSA, Zero)
37865         Name (PWST, 0xD3)
37866         Name (ESTA, 0xEE)
37867         Name (EBUS, 0xEEEE)
37868         Name (PW3S, Zero)
37869         Method (RPRM, 2, NotSerialized)
37870         {
37871             Local0 = Arg0
37872             OperationRegion (VARM, SystemMemory, Local0, 0x04)
37873             Field (VARM, AnyAcc, NoLock, Preserve)
37874             {
37875                 VARR,   32
37876             }
37877 
37878             Local1 = VARR /* \_SB_.PCI0.GP19.XHC3.RPRM.VARR */
37879             If ((Arg1 == One))
37880             {
37881                 Local1 &= 0xFF
37882             }
37883             ElseIf ((Arg1 == 0x02))
37884             {
37885                 Local1 &= 0xFFFF
37886             }
37887             ElseIf ((Arg1 == 0x03))
37888             {
37889                 Local1 &= 0x00FFFFFF
37890             }
37891 
37892             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
37893             Return (Local1)
37894         }
37895 
37896         Method (WPRM, 3, NotSerialized)
37897         {
37898             Local0 = Arg0
37899             If ((Arg1 == One))
37900             {
37901                 OperationRegion (VARA, SystemMemory, Local0, One)
37902                 Field (VARA, AnyAcc, NoLock, Preserve)
37903                 {
37904                     VARE,   8
37905                 }
37906 
37907                 VARE = Arg2
37908             }
37909             ElseIf ((Arg1 == 0x02))
37910             {
37911                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
37912                 Field (VARB, AnyAcc, NoLock, Preserve)
37913                 {
37914                     VARF,   16
37915                 }
37916 
37917                 VARF = Arg2
37918             }
37919             ElseIf ((Arg1 == 0x03))
37920             {
37921                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
37922                 Field (VARC, AnyAcc, NoLock, Preserve)
37923                 {
37924                     VARG,   24
37925                 }
37926 
37927                 VARG = Arg2
37928             }
37929             Else
37930             {
37931                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
37932                 Field (VARD, AnyAcc, NoLock, Preserve)
37933                 {
37934                     VARH,   32
37935                 }
37936 
37937                 VARH = Arg2
37938             }
37939 
37940             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
37941         }
37942 
37943         Method (SPDP, 1, NotSerialized)
37944         {
37945             Local5 = 0x7FFFFFFF
37946             Local5 |= 0x80000000
37947             Local2 = Zero
37948             Local0 = Zero
37949             While ((Local0 <= 0x1F))
37950             {
37951                 Local1 = Zero
37952                 While ((Local1 <= 0x07))
37953                 {
37954                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
37955                         0x0F) & 0x000F8000))
37956                     Local3 |= ((Local1 << 0x0C) & 0x7000)
37957                     Local4 = RPRM ((M083 + Local3), 0x04)
37958                     If (((Local4 != Local5) && (Local4 != Zero)))
37959                     {
37960                         Local2 |= (One << Local0)
37961                     }
37962                     ElseIf ((Local1 == Zero))
37963                     {
37964                         Break
37965                     }
37966 
37967                     Local1++
37968                 }
37969 
37970                 Local0++
37971             }
37972 
37973             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
37974             Return (Local2)
37975         }
37976 
37977         Method (SPCH, 2, NotSerialized)
37978         {
37979             Local0 = Zero
37980             Local1 = RPRM ((Arg0 + 0x34), One)
37981             While ((Local1 != Zero))
37982             {
37983                 Local2 = RPRM ((DADR + Local1), One)
37984                 If (((Local2 == Zero) || (Local2 == 0xFF)))
37985                 {
37986                     Break
37987                 }
37988 
37989                 If ((Local2 == Arg1))
37990                 {
37991                     Local0 = Local1
37992                     Break
37993                 }
37994 
37995                 Local1 = RPRM ((DADR + (Local1 + One)), One)
37996             }
37997 
37998             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
37999             Return (Local0)
38000         }
38001 
38002         Method (_STA, 0, Serialized)  // _STA: Status
38003         {
38004             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
38005             {
38006                 If ((DBUS == 0xEEEE))
38007                 {
38008                     If (CondRefOf (^^EBUS))
38009                     {
38010                         DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
38011                     }
38012                     Else
38013                     {
38014                         DBUS = Zero
38015                     }
38016                 }
38017 
38018                 If ((DBUS != 0xEEEE))
38019                 {
38020                     If ((DADR == 0xEEEEEEEE))
38021                     {
38022                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
38023                             One) & 0x000F8000))
38024                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
38025                         DADR = (M083 + Local0)
38026                     }
38027 
38028                     Local0 = 0x7FFFFFFF
38029                     Local0 |= 0x80000000
38030                     Local1 = RPRM ((DADR + Zero), 0x04)
38031                     If (((Local1 == Local0) || (Local1 == Zero)))
38032                     {
38033                         DSTA = Zero
38034                         ESTA = Zero
38035                         If ((DBUS != Zero))
38036                         {
38037                             Local2 = ^^SPCH (^^DADR, 0x10)
38038                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
38039                                 0x40) == 0x40))
38040                             {
38041                                 DSTA = 0x0F
38042                                 ESTA = 0xEE
38043                             }
38044                         }
38045                     }
38046                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
38047                     {
38048                         EBUS = RPRM ((DADR + 0x19), One)
38049                         Local2 = SPCH (DADR, 0x10)
38050                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
38051                             One) >> 0x04) & 0x0F) == 0x05))
38052                         {
38053                             If ((EBUS == Zero))
38054                             {
38055                                 DSTA = 0x0F
38056                                 ESTA = 0xEE
38057                             }
38058                             ElseIf ((SPDP (EBUS) == Zero))
38059                             {
38060                                 DSTA = Zero
38061                                 ESTA = Zero
38062                             }
38063                             Else
38064                             {
38065                                 DSTA = 0x0F
38066                                 ESTA = 0x0F
38067                             }
38068                         }
38069                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
38070                             One) & 0x40) == Zero))
38071                         {
38072                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
38073                                 0x40) == Zero))
38074                             {
38075                                 DSTA = Zero
38076                                 ESTA = Zero
38077                             }
38078                             Else
38079                             {
38080                                 DSTA = 0x0F
38081                                 ESTA = 0xEE
38082                             }
38083                         }
38084                         ElseIf ((EBUS == Zero))
38085                         {
38086                             DSTA = 0x0F
38087                             ESTA = 0xEE
38088                         }
38089                         Else
38090                         {
38091                             DSTA = 0x0F
38092                             ESTA = 0x0F
38093                         }
38094                     }
38095                     Else
38096                     {
38097                         DSTA = 0x0F
38098                         ESTA = Zero
38099                     }
38100                 }
38101                 Else
38102                 {
38103                     DSTA = Zero
38104                     ESTA = 0xEE
38105                 }
38106             }
38107 
38108             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
38109             {
38110                 PWST = 0xD0
38111             }
38112 
38113             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
38114             {
38115                 PWST = 0xD3
38116             }
38117 
38118             If (CondRefOf (SSTA))
38119             {
38120                 SSTA ()
38121             }
38122 
38123             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
38124             Return (DSTA) /* \_SB_.PCI0.GP19.XHC3.DSTA */
38125         }
38126 
38127         Method (_INI, 0, Serialized)  // _INI: Initialize
38128         {
38129             Local0 = 0x7FFFFFFF
38130             Local0 |= 0x80000000
38131             Local1 = RPRM ((DADR + Zero), 0x04)
38132             If (((Local1 == Local0) || (Local1 == Zero)))
38133             {
38134                 PCSA = Zero
38135                 PWST = 0xD3
38136                 PW3S = Zero
38137             }
38138             Else
38139             {
38140                 PCSA = One
38141                 PWST = 0xD0
38142                 PW3S = One
38143             }
38144 
38145             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
38146             If (CondRefOf (SINI))
38147             {
38148                 SINI ()
38149             }
38150         }
38151 
38152         Method (_REG, 2, Serialized)  // _REG: Region Availability
38153         {
38154             If (((Arg0 == 0x02) && (Arg1 == One)))
38155             {
38156                 If ((DSTA == 0x0F))
38157                 {
38158                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
38159                     {
38160                         PCSA = One
38161                     }
38162                 }
38163             }
38164 
38165             If (((Arg0 == 0x02) && (Arg1 == Zero)))
38166             {
38167                 PCSA = Zero
38168             }
38169 
38170             If (CondRefOf (SREG))
38171             {
38172                 SREG (Arg0, Arg1)
38173             }
38174 
38175             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
38176         }
38177 
38178         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
38179         {
38180             If (CondRefOf (SDSW))
38181             {
38182                 SDSW (Arg0, Arg1, Arg2)
38183             }
38184 
38185             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
38186         }
38187 
38188         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
38189         {
38190             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
38191             If (CondRefOf (PPS0))
38192             {
38193                 PPS0 ()
38194             }
38195         }
38196 
38197         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
38198         {
38199             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
38200             If (CondRefOf (PPS3))
38201             {
38202                 PPS3 ()
38203             }
38204         }
38205 
38206         PowerResource (PWRS, 0x00, 0x0000)
38207         {
38208             Method (_STA, 0, Serialized)  // _STA: Status
38209             {
38210                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38211                 If (CondRefOf (PSTA))
38212                 {
38213                     PSTA ()
38214                 }
38215 
38216                 Return (PW3S) /* \_SB_.PCI0.GP19.XHC3.PW3S */
38217             }
38218 
38219             Method (_ON, 0, Serialized)  // _ON_: Power On
38220             {
38221                 If ((PW3S == Zero))
38222                 {
38223                     PW3S = One
38224                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38225                     If (CondRefOf (P_ON))
38226                     {
38227                         P_ON ()
38228                     }
38229                 }
38230             }
38231 
38232             Method (_OFF, 0, Serialized)  // _OFF: Power Off
38233             {
38234                 If ((PW3S == One))
38235                 {
38236                     PW3S = Zero
38237                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38238                     If (CondRefOf (P_OF))
38239                     {
38240                         P_OF ()
38241                     }
38242                 }
38243             }
38244         }
38245 
38246         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
38247         {
38248             PWRS
38249         })
38250         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
38251         {
38252             PWRS
38253         })
38254     }
38255 
38256     Scope (\_SB.PCI0.GP19.XHC3.RHUB.PRT2)
38257     {
38258         Method (_DEP, 0, Serialized)  // _DEP: Dependencies
38259         {
38260             If ((M046 == 0xAA))
38261             {
38262                 Local0 = M045 ()
38263             }
38264 
38265             If (((\DDEP == One) && (CondRefOf (\_SB.PCI0.GP19.NHI0) && (M046 < 0x0B))))
38266             {
38267                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DEP  Return Package (1) {\\_SB.PCI0.GP19.NHI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38268                 Return (Package (0x01)
38269                 {
38270                     \_SB.PCI0.GP19.NHI0
38271                 })
38272             }
38273             Else
38274             {
38275                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DEP  Return Package (1) {\\_SB.PCI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38276                 Return (Package (0x01)
38277                 {
38278                     \_SB.PCI0
38279                 })
38280             }
38281         }
38282 
38283         Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
38284         {
38285             ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
38286             Package (0x02)
38287             {
38288                 Package (0x02)
38289                 {
38290                     "usb4-host-interface", 
38291                     \_SB.PCI0.GP19.NHI0
38292                 }, 
38293 
38294                 Package (0x02)
38295                 {
38296                     "usb4-port-number", 
38297                     One
38298                 }
38299             }
38300         })
38301         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
38302         {
38303             If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
38304             {
38305                 CreateDWordField (Arg0, Zero, UID0)
38306                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, Zero, Zero, Zero)
38307                 Switch (Arg2)
38308                 {
38309                     Case (Zero)
38310                     {
38311                         If ((M046 < 0x0B))
38312                         {
38313                             M460 ("    Return Buffer (1) {0x21}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38314                             Return (Buffer (One)
38315                             {
38316                                  0x21                                             // !
38317                             })
38318                         }
38319                         Else
38320                         {
38321                             M460 ("    Return Buffer (1) {0x00}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38322                             Return (Buffer (One)
38323                             {
38324                                  0x00                                             // .
38325                             })
38326                         }
38327                     }
38328                     Case (0x05)
38329                     {
38330                         If ((M046 < 0x0B))
38331                         {
38332                             M460 ("    Return Integer 0x01\n", Zero, Zero, Zero, Zero, Zero, Zero)
38333                             Return (One)
38334                         }
38335                         Else
38336                         {
38337                             M460 ("    Unsupported function\n", Zero, Zero, Zero, Zero, Zero, Zero)
38338                         }
38339                     }
38340                     Default
38341                     {
38342                         M460 ("    Unsupported function\n", Zero, Zero, Zero, Zero, Zero, Zero)
38343                     }
38344 
38345                 }
38346             }
38347             Else
38348             {
38349                 M460 ("    Return Buffer (1) {0x00} (Unsupported UUID)\n", Zero, Zero, Zero, Zero, Zero, Zero)
38350                 Return (Buffer (One)
38351                 {
38352                      0x00                                             // .
38353                 })
38354             }
38355         }
38356     }
38357 
38358     Scope (\_SB.PCI0.GP19.XHC4)
38359     {
38360         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
38361         {
38362             M000 (0x3F44)
38363             Local0 = Zero
38364             If ((\G3D3 != 0x55))
38365             {
38366                 Local0 = \G3D3 /* External reference */
38367             }
38368 
38369             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
38370             Return (Local0)
38371         }
38372 
38373         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
38374         {
38375             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
38376             Return (Package (0x02)
38377             {
38378                 0x1A, 
38379                 0x04
38380             })
38381         }
38382 
38383         Method (PPS0, 0, Serialized)
38384         {
38385             M000 (0x3F41)
38386             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38387         }
38388 
38389         Method (PPS3, 0, Serialized)
38390         {
38391             M000 (0x3F43)
38392             If ((CondRefOf (\_SB.PCI0.GP12.PCSA) && CondRefOf (\_SB.PCI0.GP19.NHI1.PCSA)))
38393             {
38394                 M460 ("    GP12.PCSA = %d  XHC4.PCSA = %d  NHI1.PCSA = %d\n", \_SB.PCI0.GP12.PCSA, \_SB.PCI0.GP19.XHC4.PCSA, \_SB.PCI0.GP19.NHI1.PCSA, Zero, Zero, Zero)
38395             }
38396 
38397             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38398         }
38399 
38400         Method (PSTA, 0, Serialized)
38401         {
38402             M000 (0x3F45)
38403             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38404         }
38405 
38406         Method (P_ON, 0, Serialized)
38407         {
38408             M000 (0x3F46)
38409             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38410         }
38411 
38412         Method (P_OF, 0, Serialized)
38413         {
38414             M000 (0x3F48)
38415             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38416         }
38417 
38418         Name (DADR, 0xEEEEEEEE)
38419         Name (DSTA, 0xEE)
38420         Name (DBUS, 0xEEEE)
38421         Name (PCSA, Zero)
38422         Name (PWST, 0xD3)
38423         Name (ESTA, 0xEE)
38424         Name (EBUS, 0xEEEE)
38425         Name (PW3S, Zero)
38426         Method (RPRM, 2, NotSerialized)
38427         {
38428             Local0 = Arg0
38429             OperationRegion (VARM, SystemMemory, Local0, 0x04)
38430             Field (VARM, AnyAcc, NoLock, Preserve)
38431             {
38432                 VARR,   32
38433             }
38434 
38435             Local1 = VARR /* \_SB_.PCI0.GP19.XHC4.RPRM.VARR */
38436             If ((Arg1 == One))
38437             {
38438                 Local1 &= 0xFF
38439             }
38440             ElseIf ((Arg1 == 0x02))
38441             {
38442                 Local1 &= 0xFFFF
38443             }
38444             ElseIf ((Arg1 == 0x03))
38445             {
38446                 Local1 &= 0x00FFFFFF
38447             }
38448 
38449             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
38450             Return (Local1)
38451         }
38452 
38453         Method (WPRM, 3, NotSerialized)
38454         {
38455             Local0 = Arg0
38456             If ((Arg1 == One))
38457             {
38458                 OperationRegion (VARA, SystemMemory, Local0, One)
38459                 Field (VARA, AnyAcc, NoLock, Preserve)
38460                 {
38461                     VARE,   8
38462                 }
38463 
38464                 VARE = Arg2
38465             }
38466             ElseIf ((Arg1 == 0x02))
38467             {
38468                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
38469                 Field (VARB, AnyAcc, NoLock, Preserve)
38470                 {
38471                     VARF,   16
38472                 }
38473 
38474                 VARF = Arg2
38475             }
38476             ElseIf ((Arg1 == 0x03))
38477             {
38478                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
38479                 Field (VARC, AnyAcc, NoLock, Preserve)
38480                 {
38481                     VARG,   24
38482                 }
38483 
38484                 VARG = Arg2
38485             }
38486             Else
38487             {
38488                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
38489                 Field (VARD, AnyAcc, NoLock, Preserve)
38490                 {
38491                     VARH,   32
38492                 }
38493 
38494                 VARH = Arg2
38495             }
38496 
38497             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
38498         }
38499 
38500         Method (SPDP, 1, NotSerialized)
38501         {
38502             Local5 = 0x7FFFFFFF
38503             Local5 |= 0x80000000
38504             Local2 = Zero
38505             Local0 = Zero
38506             While ((Local0 <= 0x1F))
38507             {
38508                 Local1 = Zero
38509                 While ((Local1 <= 0x07))
38510                 {
38511                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
38512                         0x0F) & 0x000F8000))
38513                     Local3 |= ((Local1 << 0x0C) & 0x7000)
38514                     Local4 = RPRM ((M083 + Local3), 0x04)
38515                     If (((Local4 != Local5) && (Local4 != Zero)))
38516                     {
38517                         Local2 |= (One << Local0)
38518                     }
38519                     ElseIf ((Local1 == Zero))
38520                     {
38521                         Break
38522                     }
38523 
38524                     Local1++
38525                 }
38526 
38527                 Local0++
38528             }
38529 
38530             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
38531             Return (Local2)
38532         }
38533 
38534         Method (SPCH, 2, NotSerialized)
38535         {
38536             Local0 = Zero
38537             Local1 = RPRM ((Arg0 + 0x34), One)
38538             While ((Local1 != Zero))
38539             {
38540                 Local2 = RPRM ((DADR + Local1), One)
38541                 If (((Local2 == Zero) || (Local2 == 0xFF)))
38542                 {
38543                     Break
38544                 }
38545 
38546                 If ((Local2 == Arg1))
38547                 {
38548                     Local0 = Local1
38549                     Break
38550                 }
38551 
38552                 Local1 = RPRM ((DADR + (Local1 + One)), One)
38553             }
38554 
38555             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
38556             Return (Local0)
38557         }
38558 
38559         Method (_STA, 0, Serialized)  // _STA: Status
38560         {
38561             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
38562             {
38563                 If ((DBUS == 0xEEEE))
38564                 {
38565                     If (CondRefOf (^^EBUS))
38566                     {
38567                         DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
38568                     }
38569                     Else
38570                     {
38571                         DBUS = Zero
38572                     }
38573                 }
38574 
38575                 If ((DBUS != 0xEEEE))
38576                 {
38577                     If ((DADR == 0xEEEEEEEE))
38578                     {
38579                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
38580                             One) & 0x000F8000))
38581                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
38582                         DADR = (M083 + Local0)
38583                     }
38584 
38585                     Local0 = 0x7FFFFFFF
38586                     Local0 |= 0x80000000
38587                     Local1 = RPRM ((DADR + Zero), 0x04)
38588                     If (((Local1 == Local0) || (Local1 == Zero)))
38589                     {
38590                         DSTA = Zero
38591                         ESTA = Zero
38592                         If ((DBUS != Zero))
38593                         {
38594                             Local2 = ^^SPCH (^^DADR, 0x10)
38595                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
38596                                 0x40) == 0x40))
38597                             {
38598                                 DSTA = 0x0F
38599                                 ESTA = 0xEE
38600                             }
38601                         }
38602                     }
38603                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
38604                     {
38605                         EBUS = RPRM ((DADR + 0x19), One)
38606                         Local2 = SPCH (DADR, 0x10)
38607                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
38608                             One) >> 0x04) & 0x0F) == 0x05))
38609                         {
38610                             If ((EBUS == Zero))
38611                             {
38612                                 DSTA = 0x0F
38613                                 ESTA = 0xEE
38614                             }
38615                             ElseIf ((SPDP (EBUS) == Zero))
38616                             {
38617                                 DSTA = Zero
38618                                 ESTA = Zero
38619                             }
38620                             Else
38621                             {
38622                                 DSTA = 0x0F
38623                                 ESTA = 0x0F
38624                             }
38625                         }
38626                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
38627                             One) & 0x40) == Zero))
38628                         {
38629                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
38630                                 0x40) == Zero))
38631                             {
38632                                 DSTA = Zero
38633                                 ESTA = Zero
38634                             }
38635                             Else
38636                             {
38637                                 DSTA = 0x0F
38638                                 ESTA = 0xEE
38639                             }
38640                         }
38641                         ElseIf ((EBUS == Zero))
38642                         {
38643                             DSTA = 0x0F
38644                             ESTA = 0xEE
38645                         }
38646                         Else
38647                         {
38648                             DSTA = 0x0F
38649                             ESTA = 0x0F
38650                         }
38651                     }
38652                     Else
38653                     {
38654                         DSTA = 0x0F
38655                         ESTA = Zero
38656                     }
38657                 }
38658                 Else
38659                 {
38660                     DSTA = Zero
38661                     ESTA = 0xEE
38662                 }
38663             }
38664 
38665             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
38666             {
38667                 PWST = 0xD0
38668             }
38669 
38670             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
38671             {
38672                 PWST = 0xD3
38673             }
38674 
38675             If (CondRefOf (SSTA))
38676             {
38677                 SSTA ()
38678             }
38679 
38680             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
38681             Return (DSTA) /* \_SB_.PCI0.GP19.XHC4.DSTA */
38682         }
38683 
38684         Method (_INI, 0, Serialized)  // _INI: Initialize
38685         {
38686             Local0 = 0x7FFFFFFF
38687             Local0 |= 0x80000000
38688             Local1 = RPRM ((DADR + Zero), 0x04)
38689             If (((Local1 == Local0) || (Local1 == Zero)))
38690             {
38691                 PCSA = Zero
38692                 PWST = 0xD3
38693                 PW3S = Zero
38694             }
38695             Else
38696             {
38697                 PCSA = One
38698                 PWST = 0xD0
38699                 PW3S = One
38700             }
38701 
38702             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
38703             If (CondRefOf (SINI))
38704             {
38705                 SINI ()
38706             }
38707         }
38708 
38709         Method (_REG, 2, Serialized)  // _REG: Region Availability
38710         {
38711             If (((Arg0 == 0x02) && (Arg1 == One)))
38712             {
38713                 If ((DSTA == 0x0F))
38714                 {
38715                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
38716                     {
38717                         PCSA = One
38718                     }
38719                 }
38720             }
38721 
38722             If (((Arg0 == 0x02) && (Arg1 == Zero)))
38723             {
38724                 PCSA = Zero
38725             }
38726 
38727             If (CondRefOf (SREG))
38728             {
38729                 SREG (Arg0, Arg1)
38730             }
38731 
38732             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
38733         }
38734 
38735         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
38736         {
38737             If (CondRefOf (SDSW))
38738             {
38739                 SDSW (Arg0, Arg1, Arg2)
38740             }
38741 
38742             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
38743         }
38744 
38745         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
38746         {
38747             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
38748             If (CondRefOf (PPS0))
38749             {
38750                 PPS0 ()
38751             }
38752         }
38753 
38754         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
38755         {
38756             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
38757             If (CondRefOf (PPS3))
38758             {
38759                 PPS3 ()
38760             }
38761         }
38762 
38763         PowerResource (PWRS, 0x00, 0x0000)
38764         {
38765             Method (_STA, 0, Serialized)  // _STA: Status
38766             {
38767                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38768                 If (CondRefOf (PSTA))
38769                 {
38770                     PSTA ()
38771                 }
38772 
38773                 Return (PW3S) /* \_SB_.PCI0.GP19.XHC4.PW3S */
38774             }
38775 
38776             Method (_ON, 0, Serialized)  // _ON_: Power On
38777             {
38778                 If ((PW3S == Zero))
38779                 {
38780                     PW3S = One
38781                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38782                     If (CondRefOf (P_ON))
38783                     {
38784                         P_ON ()
38785                     }
38786                 }
38787             }
38788 
38789             Method (_OFF, 0, Serialized)  // _OFF: Power Off
38790             {
38791                 If ((PW3S == One))
38792                 {
38793                     PW3S = Zero
38794                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
38795                     If (CondRefOf (P_OF))
38796                     {
38797                         P_OF ()
38798                     }
38799                 }
38800             }
38801         }
38802 
38803         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
38804         {
38805             PWRS
38806         })
38807         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
38808         {
38809             PWRS
38810         })
38811     }
38812 
38813     Scope (\_SB.PCI0.GP19.XHC4.RHUB.PRT2)
38814     {
38815         Method (_DEP, 0, Serialized)  // _DEP: Dependencies
38816         {
38817             If ((M046 == 0xAA))
38818             {
38819                 Local0 = M045 ()
38820             }
38821 
38822             If (((\DDEP == One) && (CondRefOf (\_SB.PCI0.GP19.NHI1) && (M046 < 0x0B))))
38823             {
38824                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DEP  Return Package (1) {\\_SB.PCI0.GP19.NHI1}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38825                 Return (Package (0x01)
38826                 {
38827                     \_SB.PCI0.GP19.NHI1
38828                 })
38829             }
38830             Else
38831             {
38832                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DEP  Return Package (1) {\\_SB.PCI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38833                 Return (Package (0x01)
38834                 {
38835                     \_SB.PCI0
38836                 })
38837             }
38838         }
38839 
38840         Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
38841         {
38842             ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
38843             Package (0x02)
38844             {
38845                 Package (0x02)
38846                 {
38847                     "usb4-host-interface", 
38848                     \_SB.PCI0.GP19.NHI1
38849                 }, 
38850 
38851                 Package (0x02)
38852                 {
38853                     "usb4-port-number", 
38854                     0x02
38855                 }
38856             }
38857         })
38858         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
38859         {
38860             If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
38861             {
38862                 CreateDWordField (Arg0, Zero, UID0)
38863                 M460 ("  OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, Zero, Zero, Zero)
38864                 Switch (Arg2)
38865                 {
38866                     Case (Zero)
38867                     {
38868                         If ((M046 < 0x0B))
38869                         {
38870                             M460 ("    Return Buffer (1) {0x21}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38871                             Return (Buffer (One)
38872                             {
38873                                  0x21                                             // !
38874                             })
38875                         }
38876                         Else
38877                         {
38878                             M460 ("    Return Buffer (1) {0x00}\n", Zero, Zero, Zero, Zero, Zero, Zero)
38879                             Return (Buffer (One)
38880                             {
38881                                  0x00                                             // .
38882                             })
38883                         }
38884                     }
38885                     Case (0x05)
38886                     {
38887                         If ((M046 < 0x0B))
38888                         {
38889                             M460 ("    Return Integer 0x01\n", Zero, Zero, Zero, Zero, Zero, Zero)
38890                             Return (One)
38891                         }
38892                         Else
38893                         {
38894                             M460 ("    Unsupported function\n", Zero, Zero, Zero, Zero, Zero, Zero)
38895                         }
38896                     }
38897                     Default
38898                     {
38899                         M460 ("    Unsupported function\n", Zero, Zero, Zero, Zero, Zero, Zero)
38900                     }
38901 
38902                 }
38903             }
38904             Else
38905             {
38906                 M460 ("    Return Buffer (1) {0x00} (Unsupported UUID)\n", Zero, Zero, Zero, Zero, Zero, Zero)
38907                 Return (Buffer (One)
38908                 {
38909                      0x00                                             // .
38910                 })
38911             }
38912         }
38913     }
38914 
38915     Scope (\_SB.PCI0.GP19.NHI0)
38916     {
38917         Method (SDEP, 1, Serialized)
38918         {
38919             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0.SDEP (%d)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
38920             If ((\DDEP != One))
38921             {
38922                 Local1 = \DIMS
38923                 M232 (Local1, Arg0, Zero)
38924                 \DDEP = One
38925             }
38926         }
38927 
38928         Method (_RST, 0, Serialized)  // _RST: Device Reset
38929         {
38930             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0._RST Call \\_SB.ALIB (0x15, 0)\n", Zero, Zero, Zero, Zero, Zero, Zero)
38931             \_SB.ALIB (0x15, Zero)
38932         }
38933 
38934         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
38935         {
38936             M000 (0x3F54)
38937             Local0 = Zero
38938             If ((\G5D3 != 0x55))
38939             {
38940                 Local0 = \G5D3 /* External reference */
38941             }
38942 
38943             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
38944             Return (Local0)
38945         }
38946 
38947         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
38948         {
38949             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
38950             Return (Package (0x03)
38951             {
38952                 0x1A, 
38953                 0x04, 
38954                 PWRS
38955             })
38956         }
38957 
38958         Method (PPS0, 0, Serialized)
38959         {
38960             M000 (0x3F51)
38961             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
38962             If ((\P4D3 != 0x55))
38963             {
38964                 If (CondRefOf (\_SB.PCI0.GP11.SWUS.PCSA))
38965                 {
38966                     If ((\_SB.PCI0.GP11.SWUS.PCSA == Zero))
38967                     {
38968                         Local1 = \CIMS
38969                         If (((\CPSX & One) == Zero))
38970                         {
38971                             \CPSX |= One
38972                             Local2 = \CPSX
38973                             M232 (Local1, Local2, Zero)
38974                         }
38975                     }
38976                 }
38977             }
38978         }
38979 
38980         Method (PPS3, 0, Serialized)
38981         {
38982             M000 (0x3F53)
38983             If ((CondRefOf (\_SB.PCI0.GP11.PCSA) && CondRefOf (\_SB.PCI0.GP19.XHC3.PCSA)))
38984             {
38985                 M460 ("    GP11.PCSA = %d  XHC3.PCSA = %d  NHI0.PCSA = %d\n", \_SB.PCI0.GP11.PCSA, \_SB.PCI0.GP19.XHC3.PCSA, \_SB.PCI0.GP19.NHI0.PCSA, Zero, Zero, Zero)
38986             }
38987 
38988             If ((\G5D3 == 0x04))
38989             {
38990                 M460 ("    Call \\_SB.ALIB (0x14, 1) - Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
38991                 \_SB.ALIB (0x14, One)
38992                 M460 ("    Call \\_SB.ALIB (0x14, 1) - End\n", Zero, Zero, Zero, Zero, Zero, Zero)
38993             }
38994 
38995             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0._PS3 - End\n", Zero, Zero, Zero, Zero, Zero, Zero)
38996             If ((\P4D3 != 0x55))
38997             {
38998                 Local1 = \CIMS
38999                 If (((\CPSX & One) == One))
39000                 {
39001                     \CPSX &= 0x7E
39002                     Local2 = \CPSX
39003                     M232 (Local1, Local2, Zero)
39004                 }
39005             }
39006         }
39007 
39008         Method (PSTA, 0, Serialized)
39009         {
39010             M000 (0x3F55)
39011             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39012         }
39013 
39014         Method (P_ON, 0, Serialized)
39015         {
39016             M000 (0x3F56)
39017             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS.ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39018         }
39019 
39020         Method (P_OF, 0, Serialized)
39021         {
39022             M000 (0x3F58)
39023             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS.OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39024         }
39025 
39026         Name (DADR, 0xEEEEEEEE)
39027         Name (DSTA, 0xEE)
39028         Name (DBUS, 0xEEEE)
39029         Name (PCSA, Zero)
39030         Name (PWST, 0xD3)
39031         Name (ESTA, 0xEE)
39032         Name (EBUS, 0xEEEE)
39033         Name (PW3S, Zero)
39034         Method (RPRM, 2, NotSerialized)
39035         {
39036             Local0 = Arg0
39037             OperationRegion (VARM, SystemMemory, Local0, 0x04)
39038             Field (VARM, AnyAcc, NoLock, Preserve)
39039             {
39040                 VARR,   32
39041             }
39042 
39043             Local1 = VARR /* \_SB_.PCI0.GP19.NHI0.RPRM.VARR */
39044             If ((Arg1 == One))
39045             {
39046                 Local1 &= 0xFF
39047             }
39048             ElseIf ((Arg1 == 0x02))
39049             {
39050                 Local1 &= 0xFFFF
39051             }
39052             ElseIf ((Arg1 == 0x03))
39053             {
39054                 Local1 &= 0x00FFFFFF
39055             }
39056 
39057             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
39058             Return (Local1)
39059         }
39060 
39061         Method (WPRM, 3, NotSerialized)
39062         {
39063             Local0 = Arg0
39064             If ((Arg1 == One))
39065             {
39066                 OperationRegion (VARA, SystemMemory, Local0, One)
39067                 Field (VARA, AnyAcc, NoLock, Preserve)
39068                 {
39069                     VARE,   8
39070                 }
39071 
39072                 VARE = Arg2
39073             }
39074             ElseIf ((Arg1 == 0x02))
39075             {
39076                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
39077                 Field (VARB, AnyAcc, NoLock, Preserve)
39078                 {
39079                     VARF,   16
39080                 }
39081 
39082                 VARF = Arg2
39083             }
39084             ElseIf ((Arg1 == 0x03))
39085             {
39086                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
39087                 Field (VARC, AnyAcc, NoLock, Preserve)
39088                 {
39089                     VARG,   24
39090                 }
39091 
39092                 VARG = Arg2
39093             }
39094             Else
39095             {
39096                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
39097                 Field (VARD, AnyAcc, NoLock, Preserve)
39098                 {
39099                     VARH,   32
39100                 }
39101 
39102                 VARH = Arg2
39103             }
39104 
39105             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
39106         }
39107 
39108         Method (SPDP, 1, NotSerialized)
39109         {
39110             Local5 = 0x7FFFFFFF
39111             Local5 |= 0x80000000
39112             Local2 = Zero
39113             Local0 = Zero
39114             While ((Local0 <= 0x1F))
39115             {
39116                 Local1 = Zero
39117                 While ((Local1 <= 0x07))
39118                 {
39119                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
39120                         0x0F) & 0x000F8000))
39121                     Local3 |= ((Local1 << 0x0C) & 0x7000)
39122                     Local4 = RPRM ((M083 + Local3), 0x04)
39123                     If (((Local4 != Local5) && (Local4 != Zero)))
39124                     {
39125                         Local2 |= (One << Local0)
39126                     }
39127                     ElseIf ((Local1 == Zero))
39128                     {
39129                         Break
39130                     }
39131 
39132                     Local1++
39133                 }
39134 
39135                 Local0++
39136             }
39137 
39138             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
39139             Return (Local2)
39140         }
39141 
39142         Method (SPCH, 2, NotSerialized)
39143         {
39144             Local0 = Zero
39145             Local1 = RPRM ((Arg0 + 0x34), One)
39146             While ((Local1 != Zero))
39147             {
39148                 Local2 = RPRM ((DADR + Local1), One)
39149                 If (((Local2 == Zero) || (Local2 == 0xFF)))
39150                 {
39151                     Break
39152                 }
39153 
39154                 If ((Local2 == Arg1))
39155                 {
39156                     Local0 = Local1
39157                     Break
39158                 }
39159 
39160                 Local1 = RPRM ((DADR + (Local1 + One)), One)
39161             }
39162 
39163             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
39164             Return (Local0)
39165         }
39166 
39167         Method (_STA, 0, Serialized)  // _STA: Status
39168         {
39169             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
39170             {
39171                 If ((DBUS == 0xEEEE))
39172                 {
39173                     If (CondRefOf (^^EBUS))
39174                     {
39175                         DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
39176                     }
39177                     Else
39178                     {
39179                         DBUS = Zero
39180                     }
39181                 }
39182 
39183                 If ((DBUS != 0xEEEE))
39184                 {
39185                     If ((DADR == 0xEEEEEEEE))
39186                     {
39187                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
39188                             One) & 0x000F8000))
39189                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
39190                         DADR = (M083 + Local0)
39191                     }
39192 
39193                     Local0 = 0x7FFFFFFF
39194                     Local0 |= 0x80000000
39195                     Local1 = RPRM ((DADR + Zero), 0x04)
39196                     If (((Local1 == Local0) || (Local1 == Zero)))
39197                     {
39198                         DSTA = Zero
39199                         ESTA = Zero
39200                         If ((DBUS != Zero))
39201                         {
39202                             Local2 = ^^SPCH (^^DADR, 0x10)
39203                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
39204                                 0x40) == 0x40))
39205                             {
39206                                 DSTA = 0x0F
39207                                 ESTA = 0xEE
39208                             }
39209                         }
39210                     }
39211                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
39212                     {
39213                         EBUS = RPRM ((DADR + 0x19), One)
39214                         Local2 = SPCH (DADR, 0x10)
39215                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
39216                             One) >> 0x04) & 0x0F) == 0x05))
39217                         {
39218                             If ((EBUS == Zero))
39219                             {
39220                                 DSTA = 0x0F
39221                                 ESTA = 0xEE
39222                             }
39223                             ElseIf ((SPDP (EBUS) == Zero))
39224                             {
39225                                 DSTA = Zero
39226                                 ESTA = Zero
39227                             }
39228                             Else
39229                             {
39230                                 DSTA = 0x0F
39231                                 ESTA = 0x0F
39232                             }
39233                         }
39234                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
39235                             One) & 0x40) == Zero))
39236                         {
39237                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
39238                                 0x40) == Zero))
39239                             {
39240                                 DSTA = Zero
39241                                 ESTA = Zero
39242                             }
39243                             Else
39244                             {
39245                                 DSTA = 0x0F
39246                                 ESTA = 0xEE
39247                             }
39248                         }
39249                         ElseIf ((EBUS == Zero))
39250                         {
39251                             DSTA = 0x0F
39252                             ESTA = 0xEE
39253                         }
39254                         Else
39255                         {
39256                             DSTA = 0x0F
39257                             ESTA = 0x0F
39258                         }
39259                     }
39260                     Else
39261                     {
39262                         DSTA = 0x0F
39263                         ESTA = Zero
39264                     }
39265                 }
39266                 Else
39267                 {
39268                     DSTA = Zero
39269                     ESTA = 0xEE
39270                 }
39271             }
39272 
39273             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
39274             {
39275                 PWST = 0xD0
39276             }
39277 
39278             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
39279             {
39280                 PWST = 0xD3
39281             }
39282 
39283             If (CondRefOf (SSTA))
39284             {
39285                 SSTA ()
39286             }
39287 
39288             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
39289             Return (DSTA) /* \_SB_.PCI0.GP19.NHI0.DSTA */
39290         }
39291 
39292         Method (_INI, 0, Serialized)  // _INI: Initialize
39293         {
39294             Local0 = 0x7FFFFFFF
39295             Local0 |= 0x80000000
39296             Local1 = RPRM ((DADR + Zero), 0x04)
39297             If (((Local1 == Local0) || (Local1 == Zero)))
39298             {
39299                 PCSA = Zero
39300                 PWST = 0xD3
39301                 PW3S = Zero
39302             }
39303             Else
39304             {
39305                 PCSA = One
39306                 PWST = 0xD0
39307                 PW3S = One
39308             }
39309 
39310             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
39311             If (CondRefOf (SINI))
39312             {
39313                 SINI ()
39314             }
39315         }
39316 
39317         Method (_REG, 2, Serialized)  // _REG: Region Availability
39318         {
39319             If (((Arg0 == 0x02) && (Arg1 == One)))
39320             {
39321                 If ((DSTA == 0x0F))
39322                 {
39323                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
39324                     {
39325                         PCSA = One
39326                     }
39327                 }
39328             }
39329 
39330             If (((Arg0 == 0x02) && (Arg1 == Zero)))
39331             {
39332                 PCSA = Zero
39333             }
39334 
39335             If (CondRefOf (SREG))
39336             {
39337                 SREG (Arg0, Arg1)
39338             }
39339 
39340             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
39341         }
39342 
39343         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
39344         {
39345             If (CondRefOf (SDSW))
39346             {
39347                 SDSW (Arg0, Arg1, Arg2)
39348             }
39349 
39350             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
39351         }
39352 
39353         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
39354         {
39355             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
39356             If (CondRefOf (PPS0))
39357             {
39358                 PPS0 ()
39359             }
39360         }
39361 
39362         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
39363         {
39364             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
39365             If (CondRefOf (PPS3))
39366             {
39367                 PPS3 ()
39368             }
39369         }
39370 
39371         PowerResource (PWRS, 0x00, 0x0000)
39372         {
39373             Method (_STA, 0, Serialized)  // _STA: Status
39374             {
39375                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39376                 If (CondRefOf (PSTA))
39377                 {
39378                     PSTA ()
39379                 }
39380 
39381                 Return (PW3S) /* \_SB_.PCI0.GP19.NHI0.PW3S */
39382             }
39383 
39384             Method (_ON, 0, Serialized)  // _ON_: Power On
39385             {
39386                 If ((PW3S == Zero))
39387                 {
39388                     PW3S = One
39389                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39390                     If (CondRefOf (P_ON))
39391                     {
39392                         P_ON ()
39393                     }
39394                 }
39395             }
39396 
39397             Method (_OFF, 0, Serialized)  // _OFF: Power Off
39398             {
39399                 If ((PW3S == One))
39400                 {
39401                     PW3S = Zero
39402                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39403                     If (CondRefOf (P_OF))
39404                     {
39405                         P_OF ()
39406                     }
39407                 }
39408             }
39409         }
39410 
39411         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
39412         {
39413             PWRS
39414         })
39415         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
39416         {
39417             PWRS
39418         })
39419     }
39420 
39421     Scope (\_SB.PCI0.GP19.NHI1)
39422     {
39423         Method (SDEP, 1, Serialized)
39424         {
39425             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1.SDEP (%d)\n", Arg0, Zero, Zero, Zero, Zero, Zero)
39426             If ((\DDEP != One))
39427             {
39428                 Local1 = \DIMS
39429                 M232 (Local1, Arg0, Zero)
39430                 \DDEP = One
39431             }
39432         }
39433 
39434         Method (_RST, 0, Serialized)  // _RST: Device Reset
39435         {
39436             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1._RST Call \\_SB.ALIB (0x15, 1)\n", Zero, Zero, Zero, Zero, Zero, Zero)
39437             \_SB.ALIB (0x15, One)
39438         }
39439 
39440         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
39441         {
39442             M000 (0x3F64)
39443             Local0 = Zero
39444             If ((\G5D3 != 0x55))
39445             {
39446                 Local0 = \G5D3 /* External reference */
39447             }
39448 
39449             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
39450             Return (Local0)
39451         }
39452 
39453         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
39454         {
39455             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x1A, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
39456             Return (Package (0x03)
39457             {
39458                 0x1A, 
39459                 0x04, 
39460                 PWRS
39461             })
39462         }
39463 
39464         Method (PPS0, 0, Serialized)
39465         {
39466             M000 (0x3F61)
39467             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39468             If ((\P4D3 != 0x55))
39469             {
39470                 If (CondRefOf (\_SB.PCI0.GP12.SWUS.PCSA))
39471                 {
39472                     If ((\_SB.PCI0.GP12.SWUS.PCSA == Zero))
39473                     {
39474                         Local1 = \CIMS
39475                         If (((\CPSX & 0x02) == Zero))
39476                         {
39477                             \CPSX |= 0x02
39478                             Local2 = \CPSX
39479                             M232 (Local1, Local2, Zero)
39480                         }
39481                     }
39482                 }
39483             }
39484         }
39485 
39486         Method (PPS3, 0, Serialized)
39487         {
39488             M000 (0x3F63)
39489             If ((CondRefOf (\_SB.PCI0.GP12.PCSA) && CondRefOf (\_SB.PCI0.GP19.XHC4.PCSA)))
39490             {
39491                 M460 ("    GP12.PCSA = %d  XHC4.PCSA = %d  NHI1.PCSA = %d\n", \_SB.PCI0.GP12.PCSA, \_SB.PCI0.GP19.XHC4.PCSA, \_SB.PCI0.GP19.NHI1.PCSA, Zero, Zero, Zero)
39492             }
39493 
39494             If ((\G5D3 == 0x04))
39495             {
39496                 M460 ("    Call \\_SB.ALIB (0x14, 2) - Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
39497                 \_SB.ALIB (0x14, 0x02)
39498                 M460 ("    Call \\_SB.ALIB (0x14, 2) - End\n", Zero, Zero, Zero, Zero, Zero, Zero)
39499             }
39500 
39501             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1._PS3 - End\n", Zero, Zero, Zero, Zero, Zero, Zero)
39502             If ((\P4D3 != 0x55))
39503             {
39504                 Local1 = \CIMS
39505                 If (((\CPSX & 0x02) == 0x02))
39506                 {
39507                     \CPSX &= 0x7D
39508                     Local2 = \CPSX
39509                     M232 (Local1, Local2, Zero)
39510                 }
39511             }
39512         }
39513 
39514         Method (PSTA, 0, Serialized)
39515         {
39516             M000 (0x3F65)
39517             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39518         }
39519 
39520         Method (P_ON, 0, Serialized)
39521         {
39522             M000 (0x3F66)
39523             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS.ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39524         }
39525 
39526         Method (P_OF, 0, Serialized)
39527         {
39528             M000 (0x3F68)
39529             M460 ("  OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS.OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39530         }
39531 
39532         Name (DADR, 0xEEEEEEEE)
39533         Name (DSTA, 0xEE)
39534         Name (DBUS, 0xEEEE)
39535         Name (PCSA, Zero)
39536         Name (PWST, 0xD3)
39537         Name (ESTA, 0xEE)
39538         Name (EBUS, 0xEEEE)
39539         Name (PW3S, Zero)
39540         Method (RPRM, 2, NotSerialized)
39541         {
39542             Local0 = Arg0
39543             OperationRegion (VARM, SystemMemory, Local0, 0x04)
39544             Field (VARM, AnyAcc, NoLock, Preserve)
39545             {
39546                 VARR,   32
39547             }
39548 
39549             Local1 = VARR /* \_SB_.PCI0.GP19.NHI1.RPRM.VARR */
39550             If ((Arg1 == One))
39551             {
39552                 Local1 &= 0xFF
39553             }
39554             ElseIf ((Arg1 == 0x02))
39555             {
39556                 Local1 &= 0xFFFF
39557             }
39558             ElseIf ((Arg1 == 0x03))
39559             {
39560                 Local1 &= 0x00FFFFFF
39561             }
39562 
39563             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
39564             Return (Local1)
39565         }
39566 
39567         Method (WPRM, 3, NotSerialized)
39568         {
39569             Local0 = Arg0
39570             If ((Arg1 == One))
39571             {
39572                 OperationRegion (VARA, SystemMemory, Local0, One)
39573                 Field (VARA, AnyAcc, NoLock, Preserve)
39574                 {
39575                     VARE,   8
39576                 }
39577 
39578                 VARE = Arg2
39579             }
39580             ElseIf ((Arg1 == 0x02))
39581             {
39582                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
39583                 Field (VARB, AnyAcc, NoLock, Preserve)
39584                 {
39585                     VARF,   16
39586                 }
39587 
39588                 VARF = Arg2
39589             }
39590             ElseIf ((Arg1 == 0x03))
39591             {
39592                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
39593                 Field (VARC, AnyAcc, NoLock, Preserve)
39594                 {
39595                     VARG,   24
39596                 }
39597 
39598                 VARG = Arg2
39599             }
39600             Else
39601             {
39602                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
39603                 Field (VARD, AnyAcc, NoLock, Preserve)
39604                 {
39605                     VARH,   32
39606                 }
39607 
39608                 VARH = Arg2
39609             }
39610 
39611             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
39612         }
39613 
39614         Method (SPDP, 1, NotSerialized)
39615         {
39616             Local5 = 0x7FFFFFFF
39617             Local5 |= 0x80000000
39618             Local2 = Zero
39619             Local0 = Zero
39620             While ((Local0 <= 0x1F))
39621             {
39622                 Local1 = Zero
39623                 While ((Local1 <= 0x07))
39624                 {
39625                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
39626                         0x0F) & 0x000F8000))
39627                     Local3 |= ((Local1 << 0x0C) & 0x7000)
39628                     Local4 = RPRM ((M083 + Local3), 0x04)
39629                     If (((Local4 != Local5) && (Local4 != Zero)))
39630                     {
39631                         Local2 |= (One << Local0)
39632                     }
39633                     ElseIf ((Local1 == Zero))
39634                     {
39635                         Break
39636                     }
39637 
39638                     Local1++
39639                 }
39640 
39641                 Local0++
39642             }
39643 
39644             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
39645             Return (Local2)
39646         }
39647 
39648         Method (SPCH, 2, NotSerialized)
39649         {
39650             Local0 = Zero
39651             Local1 = RPRM ((Arg0 + 0x34), One)
39652             While ((Local1 != Zero))
39653             {
39654                 Local2 = RPRM ((DADR + Local1), One)
39655                 If (((Local2 == Zero) || (Local2 == 0xFF)))
39656                 {
39657                     Break
39658                 }
39659 
39660                 If ((Local2 == Arg1))
39661                 {
39662                     Local0 = Local1
39663                     Break
39664                 }
39665 
39666                 Local1 = RPRM ((DADR + (Local1 + One)), One)
39667             }
39668 
39669             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
39670             Return (Local0)
39671         }
39672 
39673         Method (_STA, 0, Serialized)  // _STA: Status
39674         {
39675             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
39676             {
39677                 If ((DBUS == 0xEEEE))
39678                 {
39679                     If (CondRefOf (^^EBUS))
39680                     {
39681                         DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
39682                     }
39683                     Else
39684                     {
39685                         DBUS = Zero
39686                     }
39687                 }
39688 
39689                 If ((DBUS != 0xEEEE))
39690                 {
39691                     If ((DADR == 0xEEEEEEEE))
39692                     {
39693                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
39694                             One) & 0x000F8000))
39695                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
39696                         DADR = (M083 + Local0)
39697                     }
39698 
39699                     Local0 = 0x7FFFFFFF
39700                     Local0 |= 0x80000000
39701                     Local1 = RPRM ((DADR + Zero), 0x04)
39702                     If (((Local1 == Local0) || (Local1 == Zero)))
39703                     {
39704                         DSTA = Zero
39705                         ESTA = Zero
39706                         If ((DBUS != Zero))
39707                         {
39708                             Local2 = ^^SPCH (^^DADR, 0x10)
39709                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
39710                                 0x40) == 0x40))
39711                             {
39712                                 DSTA = 0x0F
39713                                 ESTA = 0xEE
39714                             }
39715                         }
39716                     }
39717                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
39718                     {
39719                         EBUS = RPRM ((DADR + 0x19), One)
39720                         Local2 = SPCH (DADR, 0x10)
39721                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
39722                             One) >> 0x04) & 0x0F) == 0x05))
39723                         {
39724                             If ((EBUS == Zero))
39725                             {
39726                                 DSTA = 0x0F
39727                                 ESTA = 0xEE
39728                             }
39729                             ElseIf ((SPDP (EBUS) == Zero))
39730                             {
39731                                 DSTA = Zero
39732                                 ESTA = Zero
39733                             }
39734                             Else
39735                             {
39736                                 DSTA = 0x0F
39737                                 ESTA = 0x0F
39738                             }
39739                         }
39740                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
39741                             One) & 0x40) == Zero))
39742                         {
39743                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
39744                                 0x40) == Zero))
39745                             {
39746                                 DSTA = Zero
39747                                 ESTA = Zero
39748                             }
39749                             Else
39750                             {
39751                                 DSTA = 0x0F
39752                                 ESTA = 0xEE
39753                             }
39754                         }
39755                         ElseIf ((EBUS == Zero))
39756                         {
39757                             DSTA = 0x0F
39758                             ESTA = 0xEE
39759                         }
39760                         Else
39761                         {
39762                             DSTA = 0x0F
39763                             ESTA = 0x0F
39764                         }
39765                     }
39766                     Else
39767                     {
39768                         DSTA = 0x0F
39769                         ESTA = Zero
39770                     }
39771                 }
39772                 Else
39773                 {
39774                     DSTA = Zero
39775                     ESTA = 0xEE
39776                 }
39777             }
39778 
39779             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
39780             {
39781                 PWST = 0xD0
39782             }
39783 
39784             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
39785             {
39786                 PWST = 0xD3
39787             }
39788 
39789             If (CondRefOf (SSTA))
39790             {
39791                 SSTA ()
39792             }
39793 
39794             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
39795             Return (DSTA) /* \_SB_.PCI0.GP19.NHI1.DSTA */
39796         }
39797 
39798         Method (_INI, 0, Serialized)  // _INI: Initialize
39799         {
39800             Local0 = 0x7FFFFFFF
39801             Local0 |= 0x80000000
39802             Local1 = RPRM ((DADR + Zero), 0x04)
39803             If (((Local1 == Local0) || (Local1 == Zero)))
39804             {
39805                 PCSA = Zero
39806                 PWST = 0xD3
39807                 PW3S = Zero
39808             }
39809             Else
39810             {
39811                 PCSA = One
39812                 PWST = 0xD0
39813                 PW3S = One
39814             }
39815 
39816             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
39817             If (CondRefOf (SINI))
39818             {
39819                 SINI ()
39820             }
39821         }
39822 
39823         Method (_REG, 2, Serialized)  // _REG: Region Availability
39824         {
39825             If (((Arg0 == 0x02) && (Arg1 == One)))
39826             {
39827                 If ((DSTA == 0x0F))
39828                 {
39829                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
39830                     {
39831                         PCSA = One
39832                     }
39833                 }
39834             }
39835 
39836             If (((Arg0 == 0x02) && (Arg1 == Zero)))
39837             {
39838                 PCSA = Zero
39839             }
39840 
39841             If (CondRefOf (SREG))
39842             {
39843                 SREG (Arg0, Arg1)
39844             }
39845 
39846             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
39847         }
39848 
39849         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
39850         {
39851             If (CondRefOf (SDSW))
39852             {
39853                 SDSW (Arg0, Arg1, Arg2)
39854             }
39855 
39856             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
39857         }
39858 
39859         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
39860         {
39861             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
39862             If (CondRefOf (PPS0))
39863             {
39864                 PPS0 ()
39865             }
39866         }
39867 
39868         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
39869         {
39870             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
39871             If (CondRefOf (PPS3))
39872             {
39873                 PPS3 ()
39874             }
39875         }
39876 
39877         PowerResource (PWRS, 0x00, 0x0000)
39878         {
39879             Method (_STA, 0, Serialized)  // _STA: Status
39880             {
39881                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39882                 If (CondRefOf (PSTA))
39883                 {
39884                     PSTA ()
39885                 }
39886 
39887                 Return (PW3S) /* \_SB_.PCI0.GP19.NHI1.PW3S */
39888             }
39889 
39890             Method (_ON, 0, Serialized)  // _ON_: Power On
39891             {
39892                 If ((PW3S == Zero))
39893                 {
39894                     PW3S = One
39895                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39896                     If (CondRefOf (P_ON))
39897                     {
39898                         P_ON ()
39899                     }
39900                 }
39901             }
39902 
39903             Method (_OFF, 0, Serialized)  // _OFF: Power Off
39904             {
39905                 If ((PW3S == One))
39906                 {
39907                     PW3S = Zero
39908                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
39909                     If (CondRefOf (P_OF))
39910                     {
39911                         P_OF ()
39912                     }
39913                 }
39914             }
39915         }
39916 
39917         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
39918         {
39919             PWRS
39920         })
39921         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
39922         {
39923             PWRS
39924         })
39925     }
39926 
39927     Scope (\_SB.PCI0.GP11)
39928     {
39929         Method (_DEP, 0, Serialized)  // _DEP: Dependencies
39930         {
39931             If ((M046 == 0xAA))
39932             {
39933                 Local0 = M045 ()
39934             }
39935 
39936             If (((\DDEP == One) && (CondRefOf (\_SB.PCI0.GP19.NHI0) && (M046 < 0x0B))))
39937             {
39938                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11._DEP  Return Package (1) {\\_SB.PCI0.GP19.NHI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
39939                 Return (Package (0x01)
39940                 {
39941                     \_SB.PCI0.GP19.NHI0
39942                 })
39943             }
39944             Else
39945             {
39946                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11._DEP  Return Package (1) {\\_SB.PCI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
39947                 Return (Package (0x01)
39948                 {
39949                     \_SB.PCI0
39950                 })
39951             }
39952         }
39953 
39954         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
39955         {
39956             M000 (0x3F74)
39957             Local0 = Zero
39958             If ((\P4D3 != 0x55))
39959             {
39960                 Local0 = \P4D3 /* External reference */
39961             }
39962 
39963             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
39964             Return (Local0)
39965         }
39966 
39967         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
39968         {
39969             M460 ("  OEM-ASL-\\_SB.PCI0.GP11._PRW ()  Return Package (2) {0x1A, 0x04}\n", Zero, Zero, Zero, Zero, Zero, Zero)
39970             Return (Package (0x03)
39971             {
39972                 0x1A, 
39973                 0x04, 
39974                 PWRS
39975             })
39976         }
39977 
39978         Method (PPS0, 0, Serialized)
39979         {
39980             M000 (0x3F71)
39981             M460 ("  OEM-ASL-\\_SB.PCI0.GP11._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39982             If ((\P4D3 != 0x55))
39983             {
39984                 Local1 = \CIMS
39985                 If (((\CPSX & One) == One))
39986                 {
39987                     \CPSX &= 0x7E
39988                     Local2 = \CPSX
39989                     M232 (Local1, Local2, Zero)
39990                 }
39991             }
39992         }
39993 
39994         Method (PPS3, 0, Serialized)
39995         {
39996             M000 (0x3F73)
39997             M460 ("  OEM-ASL-\\_SB.PCI0.GP11._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
39998             If ((\P4D3 != 0x55))
39999             {
40000                 If (CondRefOf (\_SB.PCI0.GP19.NHI0.PCSA))
40001                 {
40002                     If ((\_SB.PCI0.GP19.NHI0.PCSA == One))
40003                     {
40004                         Local1 = \CIMS
40005                         If (((\CPSX & One) == Zero))
40006                         {
40007                             \CPSX |= One
40008                             Local2 = \CPSX
40009                             M232 (Local1, Local2, Zero)
40010                         }
40011                     }
40012                 }
40013             }
40014         }
40015 
40016         Method (PSTA, 0, Serialized)
40017         {
40018             M000 (0x3F75)
40019             M460 ("  OEM-ASL-\\_SB.PCI0.GP11.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40020         }
40021 
40022         Method (P_ON, 0, Serialized)
40023         {
40024             M000 (0x3F76)
40025             M460 ("  OEM-ASL-\\_SB.PCI0.GP11.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40026         }
40027 
40028         Method (P_OF, 0, Serialized)
40029         {
40030             M000 (0x3F78)
40031             M460 ("  OEM-ASL-\\_SB.PCI0.GP11.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40032         }
40033 
40034         Name (DADR, 0xEEEEEEEE)
40035         Name (DSTA, 0xEE)
40036         Name (DBUS, 0xEEEE)
40037         Name (PCSA, Zero)
40038         Name (PWST, 0xD3)
40039         Name (ESTA, 0xEE)
40040         Name (EBUS, 0xEEEE)
40041         Name (PW3S, Zero)
40042         Method (RPRM, 2, NotSerialized)
40043         {
40044             Local0 = Arg0
40045             OperationRegion (VARM, SystemMemory, Local0, 0x04)
40046             Field (VARM, AnyAcc, NoLock, Preserve)
40047             {
40048                 VARR,   32
40049             }
40050 
40051             Local1 = VARR /* \_SB_.PCI0.GP11.RPRM.VARR */
40052             If ((Arg1 == One))
40053             {
40054                 Local1 &= 0xFF
40055             }
40056             ElseIf ((Arg1 == 0x02))
40057             {
40058                 Local1 &= 0xFFFF
40059             }
40060             ElseIf ((Arg1 == 0x03))
40061             {
40062                 Local1 &= 0x00FFFFFF
40063             }
40064 
40065             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
40066             Return (Local1)
40067         }
40068 
40069         Method (WPRM, 3, NotSerialized)
40070         {
40071             Local0 = Arg0
40072             If ((Arg1 == One))
40073             {
40074                 OperationRegion (VARA, SystemMemory, Local0, One)
40075                 Field (VARA, AnyAcc, NoLock, Preserve)
40076                 {
40077                     VARE,   8
40078                 }
40079 
40080                 VARE = Arg2
40081             }
40082             ElseIf ((Arg1 == 0x02))
40083             {
40084                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
40085                 Field (VARB, AnyAcc, NoLock, Preserve)
40086                 {
40087                     VARF,   16
40088                 }
40089 
40090                 VARF = Arg2
40091             }
40092             ElseIf ((Arg1 == 0x03))
40093             {
40094                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
40095                 Field (VARC, AnyAcc, NoLock, Preserve)
40096                 {
40097                     VARG,   24
40098                 }
40099 
40100                 VARG = Arg2
40101             }
40102             Else
40103             {
40104                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
40105                 Field (VARD, AnyAcc, NoLock, Preserve)
40106                 {
40107                     VARH,   32
40108                 }
40109 
40110                 VARH = Arg2
40111             }
40112 
40113             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
40114         }
40115 
40116         Method (SPDP, 1, NotSerialized)
40117         {
40118             Local5 = 0x7FFFFFFF
40119             Local5 |= 0x80000000
40120             Local2 = Zero
40121             Local0 = Zero
40122             While ((Local0 <= 0x1F))
40123             {
40124                 Local1 = Zero
40125                 While ((Local1 <= 0x07))
40126                 {
40127                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
40128                         0x0F) & 0x000F8000))
40129                     Local3 |= ((Local1 << 0x0C) & 0x7000)
40130                     Local4 = RPRM ((M083 + Local3), 0x04)
40131                     If (((Local4 != Local5) && (Local4 != Zero)))
40132                     {
40133                         Local2 |= (One << Local0)
40134                     }
40135                     ElseIf ((Local1 == Zero))
40136                     {
40137                         Break
40138                     }
40139 
40140                     Local1++
40141                 }
40142 
40143                 Local0++
40144             }
40145 
40146             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
40147             Return (Local2)
40148         }
40149 
40150         Method (SPCH, 2, NotSerialized)
40151         {
40152             Local0 = Zero
40153             Local1 = RPRM ((Arg0 + 0x34), One)
40154             While ((Local1 != Zero))
40155             {
40156                 Local2 = RPRM ((DADR + Local1), One)
40157                 If (((Local2 == Zero) || (Local2 == 0xFF)))
40158                 {
40159                     Break
40160                 }
40161 
40162                 If ((Local2 == Arg1))
40163                 {
40164                     Local0 = Local1
40165                     Break
40166                 }
40167 
40168                 Local1 = RPRM ((DADR + (Local1 + One)), One)
40169             }
40170 
40171             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
40172             Return (Local0)
40173         }
40174 
40175         Method (_STA, 0, Serialized)  // _STA: Status
40176         {
40177             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
40178             {
40179                 If ((DBUS == 0xEEEE))
40180                 {
40181                     If (CondRefOf (^^EBUS))
40182                     {
40183                         DBUS = ^^EBUS /* External reference */
40184                     }
40185                     Else
40186                     {
40187                         DBUS = Zero
40188                     }
40189                 }
40190 
40191                 If ((DBUS != 0xEEEE))
40192                 {
40193                     If ((DADR == 0xEEEEEEEE))
40194                     {
40195                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
40196                             One) & 0x000F8000))
40197                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
40198                         DADR = (M083 + Local0)
40199                     }
40200 
40201                     Local0 = 0x7FFFFFFF
40202                     Local0 |= 0x80000000
40203                     Local1 = RPRM ((DADR + Zero), 0x04)
40204                     If (((Local1 == Local0) || (Local1 == Zero)))
40205                     {
40206                         DSTA = Zero
40207                         ESTA = Zero
40208                         If ((DBUS != Zero))
40209                         {
40210                             Local2 = ^^SPCH (^^DADR, 0x10)
40211                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
40212                                 0x40) == 0x40))
40213                             {
40214                                 DSTA = 0x0F
40215                                 ESTA = 0xEE
40216                             }
40217                         }
40218                     }
40219                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
40220                     {
40221                         EBUS = RPRM ((DADR + 0x19), One)
40222                         Local2 = SPCH (DADR, 0x10)
40223                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
40224                             One) >> 0x04) & 0x0F) == 0x05))
40225                         {
40226                             If ((EBUS == Zero))
40227                             {
40228                                 DSTA = 0x0F
40229                                 ESTA = 0xEE
40230                             }
40231                             ElseIf ((SPDP (EBUS) == Zero))
40232                             {
40233                                 DSTA = Zero
40234                                 ESTA = Zero
40235                             }
40236                             Else
40237                             {
40238                                 DSTA = 0x0F
40239                                 ESTA = 0x0F
40240                             }
40241                         }
40242                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
40243                             One) & 0x40) == Zero))
40244                         {
40245                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
40246                                 0x40) == Zero))
40247                             {
40248                                 DSTA = Zero
40249                                 ESTA = Zero
40250                             }
40251                             Else
40252                             {
40253                                 DSTA = 0x0F
40254                                 ESTA = 0xEE
40255                             }
40256                         }
40257                         ElseIf ((EBUS == Zero))
40258                         {
40259                             DSTA = 0x0F
40260                             ESTA = 0xEE
40261                         }
40262                         Else
40263                         {
40264                             DSTA = 0x0F
40265                             ESTA = 0x0F
40266                         }
40267                     }
40268                     Else
40269                     {
40270                         DSTA = 0x0F
40271                         ESTA = Zero
40272                     }
40273                 }
40274                 Else
40275                 {
40276                     DSTA = Zero
40277                     ESTA = 0xEE
40278                 }
40279             }
40280 
40281             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
40282             {
40283                 PWST = 0xD0
40284             }
40285 
40286             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
40287             {
40288                 PWST = 0xD3
40289             }
40290 
40291             If (CondRefOf (SSTA))
40292             {
40293                 SSTA ()
40294             }
40295 
40296             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
40297             Return (DSTA) /* \_SB_.PCI0.GP11.DSTA */
40298         }
40299 
40300         Method (_INI, 0, Serialized)  // _INI: Initialize
40301         {
40302             Local0 = 0x7FFFFFFF
40303             Local0 |= 0x80000000
40304             Local1 = RPRM ((DADR + Zero), 0x04)
40305             If (((Local1 == Local0) || (Local1 == Zero)))
40306             {
40307                 PCSA = Zero
40308                 PWST = 0xD3
40309                 PW3S = Zero
40310             }
40311             Else
40312             {
40313                 PCSA = One
40314                 PWST = 0xD0
40315                 PW3S = One
40316             }
40317 
40318             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
40319             If (CondRefOf (SINI))
40320             {
40321                 SINI ()
40322             }
40323         }
40324 
40325         Method (_REG, 2, Serialized)  // _REG: Region Availability
40326         {
40327             If (((Arg0 == 0x02) && (Arg1 == One)))
40328             {
40329                 If ((DSTA == 0x0F))
40330                 {
40331                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
40332                     {
40333                         PCSA = One
40334                     }
40335                 }
40336             }
40337 
40338             If (((Arg0 == 0x02) && (Arg1 == Zero)))
40339             {
40340                 PCSA = Zero
40341             }
40342 
40343             If (CondRefOf (SREG))
40344             {
40345                 SREG (Arg0, Arg1)
40346             }
40347 
40348             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
40349         }
40350 
40351         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
40352         {
40353             If (CondRefOf (SDSW))
40354             {
40355                 SDSW (Arg0, Arg1, Arg2)
40356             }
40357 
40358             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
40359         }
40360 
40361         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
40362         {
40363             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
40364             If (CondRefOf (PPS0))
40365             {
40366                 PPS0 ()
40367             }
40368         }
40369 
40370         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
40371         {
40372             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
40373             If (CondRefOf (PPS3))
40374             {
40375                 PPS3 ()
40376             }
40377         }
40378 
40379         PowerResource (PWRS, 0x00, 0x0000)
40380         {
40381             Method (_STA, 0, Serialized)  // _STA: Status
40382             {
40383                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40384                 If (CondRefOf (PSTA))
40385                 {
40386                     PSTA ()
40387                 }
40388 
40389                 Return (PW3S) /* \_SB_.PCI0.GP11.PW3S */
40390             }
40391 
40392             Method (_ON, 0, Serialized)  // _ON_: Power On
40393             {
40394                 If ((PW3S == Zero))
40395                 {
40396                     PW3S = One
40397                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40398                     If (CondRefOf (P_ON))
40399                     {
40400                         P_ON ()
40401                     }
40402                 }
40403             }
40404 
40405             Method (_OFF, 0, Serialized)  // _OFF: Power Off
40406             {
40407                 If ((PW3S == One))
40408                 {
40409                     PW3S = Zero
40410                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40411                     If (CondRefOf (P_OF))
40412                     {
40413                         P_OF ()
40414                     }
40415                 }
40416             }
40417         }
40418 
40419         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
40420         {
40421             PWRS
40422         })
40423         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
40424         {
40425             PWRS
40426         })
40427         Name (_DSD, Package (0x06)  // _DSD: Device-Specific Data
40428         {
40429             ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */, 
40430             Package (0x01)
40431             {
40432                 Package (0x02)
40433                 {
40434                     "HotPlugSupportInD3", 
40435                     One
40436                 }
40437             }, 
40438 
40439             ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */, 
40440             Package (0x02)
40441             {
40442                 Package (0x02)
40443                 {
40444                     "ExternalFacingPort", 
40445                     One
40446                 }, 
40447 
40448                 Package (0x02)
40449                 {
40450                     "UID", 
40451                     Zero
40452                 }
40453             }, 
40454 
40455             ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
40456             Package (0x02)
40457             {
40458                 Package (0x02)
40459                 {
40460                     "usb4-host-interface", 
40461                     \_SB.PCI0.GP19.NHI0
40462                 }, 
40463 
40464                 Package (0x02)
40465                 {
40466                     "usb4-port-number", 
40467                     One
40468                 }
40469             }
40470         })
40471         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
40472         {
40473             If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
40474             {
40475                 CreateDWordField (Arg0, Zero, UID0)
40476                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, Zero, Zero, Zero)
40477                 Switch (ToInteger (Arg2))
40478                 {
40479                     Case (Zero)
40480                     {
40481                         Switch (Arg1)
40482                         {
40483                             Case (Zero)
40484                             {
40485                                 M460 ("    Return 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
40486                                 Return (Buffer (One)
40487                                 {
40488                                      0x00                                             // .
40489                                 })
40490                             }
40491                             Case (One)
40492                             {
40493                                 M460 ("    Return 0x21\n", Zero, Zero, Zero, Zero, Zero, Zero)
40494                                 Return (Buffer (One)
40495                                 {
40496                                      0x21                                             // !
40497                                 })
40498                             }
40499 
40500                         }
40501 
40502                         M460 ("    Return 0x61\n", Zero, Zero, Zero, Zero, Zero, Zero)
40503                         Return (Buffer (One)
40504                         {
40505                              0x61                                             // a
40506                         })
40507                     }
40508                     Case (0x05)
40509                     {
40510                         If ((Arg1 >= One))
40511                         {
40512                             Local0 = Zero
40513                             If ((\RCRS != 0x55))
40514                             {
40515                                 Local0 = \RCRS
40516                             }
40517 
40518                             M460 ("    Return %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
40519                             Return (Local0)
40520                         }
40521                     }
40522                     Case (0x06)
40523                     {
40524                         If ((Arg1 >= 0x02))
40525                         {
40526                             M460 ("    Return Package (4) {0x02, 0xC8, 0x02, 0xC8}\n", Zero, Zero, Zero, Zero, Zero, Zero)
40527                             Return (Package (0x04)
40528                             {
40529                                 0x02, 
40530                                 0xC8, 
40531                                 0x02, 
40532                                 0xC8
40533                             })
40534                         }
40535                     }
40536 
40537                 }
40538             }
40539         }
40540 
40541         Device (SWUS)
40542         {
40543             Name (_ADR, Zero)  // _ADR: Address
40544             Method (_RMV, 0, Serialized)  // _RMV: Removal Status
40545             {
40546                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS._RMV ()  Return 0\n", Zero, Zero, Zero, Zero, Zero, Zero)
40547                 Return (Zero)
40548             }
40549 
40550             Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
40551             {
40552                 M000 (0x3F94)
40553                 Local0 = Zero
40554                 If ((\H0D3 != 0x55))
40555                 {
40556                     Local0 = \H0D3 /* External reference */
40557                 }
40558 
40559                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS._S0W ()  Return %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
40560                 Return (Local0)
40561             }
40562 
40563             Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
40564             {
40565                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS._PRW ()  Return Package (2) {0x1A, 0x04}\n", Zero, Zero, Zero, Zero, Zero, Zero)
40566                 Return (Package (0x02)
40567                 {
40568                     0x1A, 
40569                     0x04
40570                 })
40571             }
40572 
40573             Method (PPS0, 0, Serialized)
40574             {
40575                 M000 (0x3F91)
40576                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40577             }
40578 
40579             Method (PPS3, 0, Serialized)
40580             {
40581                 M000 (0x3F93)
40582                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40583             }
40584 
40585             Method (PSTA, 0, Serialized)
40586             {
40587                 M000 (0x3F95)
40588                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40589             }
40590 
40591             Method (P_ON, 0, Serialized)
40592             {
40593                 M000 (0x3F96)
40594                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40595             }
40596 
40597             Method (P_OF, 0, Serialized)
40598             {
40599                 M000 (0x3F98)
40600                 M460 ("  OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
40601             }
40602 
40603             Name (DADR, 0xEEEEEEEE)
40604             Name (DSTA, 0xEE)
40605             Name (DBUS, 0xEEEE)
40606             Name (PCSA, Zero)
40607             Name (PWST, 0xD3)
40608             Name (ESTA, 0xEE)
40609             Name (EBUS, 0xEEEE)
40610             Name (PW3S, Zero)
40611             Method (RPRM, 2, NotSerialized)
40612             {
40613                 Local0 = Arg0
40614                 OperationRegion (VARM, SystemMemory, Local0, 0x04)
40615                 Field (VARM, AnyAcc, NoLock, Preserve)
40616                 {
40617                     VARR,   32
40618                 }
40619 
40620                 Local1 = VARR /* \_SB_.PCI0.GP11.SWUS.RPRM.VARR */
40621                 If ((Arg1 == One))
40622                 {
40623                     Local1 &= 0xFF
40624                 }
40625                 ElseIf ((Arg1 == 0x02))
40626                 {
40627                     Local1 &= 0xFFFF
40628                 }
40629                 ElseIf ((Arg1 == 0x03))
40630                 {
40631                     Local1 &= 0x00FFFFFF
40632                 }
40633 
40634                 M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
40635                 Return (Local1)
40636             }
40637 
40638             Method (WPRM, 3, NotSerialized)
40639             {
40640                 Local0 = Arg0
40641                 If ((Arg1 == One))
40642                 {
40643                     OperationRegion (VARA, SystemMemory, Local0, One)
40644                     Field (VARA, AnyAcc, NoLock, Preserve)
40645                     {
40646                         VARE,   8
40647                     }
40648 
40649                     VARE = Arg2
40650                 }
40651                 ElseIf ((Arg1 == 0x02))
40652                 {
40653                     OperationRegion (VARB, SystemMemory, Local0, 0x02)
40654                     Field (VARB, AnyAcc, NoLock, Preserve)
40655                     {
40656                         VARF,   16
40657                     }
40658 
40659                     VARF = Arg2
40660                 }
40661                 ElseIf ((Arg1 == 0x03))
40662                 {
40663                     OperationRegion (VARC, SystemMemory, Local0, 0x03)
40664                     Field (VARC, AnyAcc, NoLock, Preserve)
40665                     {
40666                         VARG,   24
40667                     }
40668 
40669                     VARG = Arg2
40670                 }
40671                 Else
40672                 {
40673                     OperationRegion (VARD, SystemMemory, Local0, 0x04)
40674                     Field (VARD, AnyAcc, NoLock, Preserve)
40675                     {
40676                         VARH,   32
40677                     }
40678 
40679                     VARH = Arg2
40680                 }
40681 
40682                 M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
40683             }
40684 
40685             Method (SPDP, 1, NotSerialized)
40686             {
40687                 Local5 = 0x7FFFFFFF
40688                 Local5 |= 0x80000000
40689                 Local2 = Zero
40690                 Local0 = Zero
40691                 While ((Local0 <= 0x1F))
40692                 {
40693                     Local1 = Zero
40694                     While ((Local1 <= 0x07))
40695                     {
40696                         Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
40697                             0x0F) & 0x000F8000))
40698                         Local3 |= ((Local1 << 0x0C) & 0x7000)
40699                         Local4 = RPRM ((M083 + Local3), 0x04)
40700                         If (((Local4 != Local5) && (Local4 != Zero)))
40701                         {
40702                             Local2 |= (One << Local0)
40703                         }
40704                         ElseIf ((Local1 == Zero))
40705                         {
40706                             Break
40707                         }
40708 
40709                         Local1++
40710                     }
40711 
40712                     Local0++
40713                 }
40714 
40715                 M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
40716                 Return (Local2)
40717             }
40718 
40719             Method (SPCH, 2, NotSerialized)
40720             {
40721                 Local0 = Zero
40722                 Local1 = RPRM ((Arg0 + 0x34), One)
40723                 While ((Local1 != Zero))
40724                 {
40725                     Local2 = RPRM ((DADR + Local1), One)
40726                     If (((Local2 == Zero) || (Local2 == 0xFF)))
40727                     {
40728                         Break
40729                     }
40730 
40731                     If ((Local2 == Arg1))
40732                     {
40733                         Local0 = Local1
40734                         Break
40735                     }
40736 
40737                     Local1 = RPRM ((DADR + (Local1 + One)), One)
40738                 }
40739 
40740                 M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
40741                 Return (Local0)
40742             }
40743 
40744             Method (_STA, 0, Serialized)  // _STA: Status
40745             {
40746                 If (((DSTA == 0xEE) || (ESTA == 0xEE)))
40747                 {
40748                     If ((DBUS == 0xEEEE))
40749                     {
40750                         If (CondRefOf (^^EBUS))
40751                         {
40752                             DBUS = ^^EBUS /* \_SB_.PCI0.GP11.EBUS */
40753                         }
40754                         Else
40755                         {
40756                             DBUS = Zero
40757                         }
40758                     }
40759 
40760                     If ((DBUS != 0xEEEE))
40761                     {
40762                         If ((DADR == 0xEEEEEEEE))
40763                         {
40764                             Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
40765                                 One) & 0x000F8000))
40766                             Local0 |= ((DBUS << 0x14) & 0x0FF00000)
40767                             DADR = (M083 + Local0)
40768                         }
40769 
40770                         Local0 = 0x7FFFFFFF
40771                         Local0 |= 0x80000000
40772                         Local1 = RPRM ((DADR + Zero), 0x04)
40773                         If (((Local1 == Local0) || (Local1 == Zero)))
40774                         {
40775                             DSTA = Zero
40776                             ESTA = Zero
40777                             If ((DBUS != Zero))
40778                             {
40779                                 Local2 = ^^SPCH (^^DADR, 0x10)
40780                                 If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
40781                                     0x40) == 0x40))
40782                                 {
40783                                     DSTA = 0x0F
40784                                     ESTA = 0xEE
40785                                 }
40786                             }
40787                         }
40788                         ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
40789                         {
40790                             EBUS = RPRM ((DADR + 0x19), One)
40791                             Local2 = SPCH (DADR, 0x10)
40792                             If ((((RPRM ((DADR + (Local2 + 0x02)), 
40793                                 One) >> 0x04) & 0x0F) == 0x05))
40794                             {
40795                                 If ((EBUS == Zero))
40796                                 {
40797                                     DSTA = 0x0F
40798                                     ESTA = 0xEE
40799                                 }
40800                                 ElseIf ((SPDP (EBUS) == Zero))
40801                                 {
40802                                     DSTA = Zero
40803                                     ESTA = Zero
40804                                 }
40805                                 Else
40806                                 {
40807                                     DSTA = 0x0F
40808                                     ESTA = 0x0F
40809                                 }
40810                             }
40811                             ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
40812                                 One) & 0x40) == Zero))
40813                             {
40814                                 If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
40815                                     0x40) == Zero))
40816                                 {
40817                                     DSTA = Zero
40818                                     ESTA = Zero
40819                                 }
40820                                 Else
40821                                 {
40822                                     DSTA = 0x0F
40823                                     ESTA = 0xEE
40824                                 }
40825                             }
40826                             ElseIf ((EBUS == Zero))
40827                             {
40828                                 DSTA = 0x0F
40829                                 ESTA = 0xEE
40830                             }
40831                             Else
40832                             {
40833                                 DSTA = 0x0F
40834                                 ESTA = 0x0F
40835                             }
40836                         }
40837                         Else
40838                         {
40839                             DSTA = 0x0F
40840                             ESTA = Zero
40841                         }
40842                     }
40843                     Else
40844                     {
40845                         DSTA = Zero
40846                         ESTA = 0xEE
40847                     }
40848                 }
40849 
40850                 If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
40851                 {
40852                     PWST = 0xD0
40853                 }
40854 
40855                 If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
40856                 {
40857                     PWST = 0xD3
40858                 }
40859 
40860                 If (CondRefOf (SSTA))
40861                 {
40862                     SSTA ()
40863                 }
40864 
40865                 M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
40866                 Return (DSTA) /* \_SB_.PCI0.GP11.SWUS.DSTA */
40867             }
40868 
40869             Method (_INI, 0, Serialized)  // _INI: Initialize
40870             {
40871                 Local0 = 0x7FFFFFFF
40872                 Local0 |= 0x80000000
40873                 Local1 = RPRM ((DADR + Zero), 0x04)
40874                 If (((Local1 == Local0) || (Local1 == Zero)))
40875                 {
40876                     PCSA = Zero
40877                     PWST = 0xD3
40878                     PW3S = Zero
40879                 }
40880                 Else
40881                 {
40882                     PCSA = One
40883                     PWST = 0xD0
40884                     PW3S = One
40885                 }
40886 
40887                 M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
40888                 If (CondRefOf (SINI))
40889                 {
40890                     SINI ()
40891                 }
40892             }
40893 
40894             Method (_REG, 2, Serialized)  // _REG: Region Availability
40895             {
40896                 If (((Arg0 == 0x02) && (Arg1 == One)))
40897                 {
40898                     If ((DSTA == 0x0F))
40899                     {
40900                         If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
40901                         {
40902                             PCSA = One
40903                         }
40904                     }
40905                 }
40906 
40907                 If (((Arg0 == 0x02) && (Arg1 == Zero)))
40908                 {
40909                     PCSA = Zero
40910                 }
40911 
40912                 If (CondRefOf (SREG))
40913                 {
40914                     SREG (Arg0, Arg1)
40915                 }
40916 
40917                 M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
40918             }
40919 
40920             Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
40921             {
40922                 If (CondRefOf (SDSW))
40923                 {
40924                     SDSW (Arg0, Arg1, Arg2)
40925                 }
40926 
40927                 M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
40928             }
40929 
40930             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
40931             {
40932                 M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
40933                 If (CondRefOf (PPS0))
40934                 {
40935                     PPS0 ()
40936                 }
40937             }
40938 
40939             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
40940             {
40941                 M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
40942                 If (CondRefOf (PPS3))
40943                 {
40944                     PPS3 ()
40945                 }
40946             }
40947 
40948             PowerResource (PWRS, 0x00, 0x0000)
40949             {
40950                 Method (_STA, 0, Serialized)  // _STA: Status
40951                 {
40952                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40953                     If (CondRefOf (PSTA))
40954                     {
40955                         PSTA ()
40956                     }
40957 
40958                     Return (PW3S) /* \_SB_.PCI0.GP11.SWUS.PW3S */
40959                 }
40960 
40961                 Method (_ON, 0, Serialized)  // _ON_: Power On
40962                 {
40963                     If ((PW3S == Zero))
40964                     {
40965                         PW3S = One
40966                         M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40967                         If (CondRefOf (P_ON))
40968                         {
40969                             P_ON ()
40970                         }
40971                     }
40972                 }
40973 
40974                 Method (_OFF, 0, Serialized)  // _OFF: Power Off
40975                 {
40976                     If ((PW3S == One))
40977                     {
40978                         PW3S = Zero
40979                         M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
40980                         If (CondRefOf (P_OF))
40981                         {
40982                             P_OF ()
40983                         }
40984                     }
40985                 }
40986             }
40987 
40988             Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
40989             {
40990                 PWRS
40991             })
40992             Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
40993             {
40994                 PWRS
40995             })
40996         }
40997     }
40998 
40999     Scope (\_SB.PCI0.GP12)
41000     {
41001         Method (_DEP, 0, Serialized)  // _DEP: Dependencies
41002         {
41003             If ((M046 == 0xAA))
41004             {
41005                 Local0 = M045 ()
41006             }
41007 
41008             If (((\DDEP == One) && (CondRefOf (\_SB.PCI0.GP19.NHI1) && (M046 < 0x0B))))
41009             {
41010                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12._DEP  Return Package (1) {\\_SB.PCI0.GP19.NHI1}\n", Zero, Zero, Zero, Zero, Zero, Zero)
41011                 Return (Package (0x01)
41012                 {
41013                     \_SB.PCI0.GP19.NHI1
41014                 })
41015             }
41016             Else
41017             {
41018                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12._DEP  Return Package (1) {\\_SB.PCI0}\n", Zero, Zero, Zero, Zero, Zero, Zero)
41019                 Return (Package (0x01)
41020                 {
41021                     \_SB.PCI0
41022                 })
41023             }
41024         }
41025 
41026         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
41027         {
41028             M000 (0x3F84)
41029             Local0 = Zero
41030             If ((\P4D3 != 0x55))
41031             {
41032                 Local0 = \P4D3 /* External reference */
41033             }
41034 
41035             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
41036             Return (Local0)
41037         }
41038 
41039         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
41040         {
41041             M460 ("  OEM-ASL-\\_SB.PCI0.GP12._PRW ()  Return Package (2) {0x1A, 0x04}\n", Zero, Zero, Zero, Zero, Zero, Zero)
41042             Return (Package (0x03)
41043             {
41044                 0x1A, 
41045                 0x04, 
41046                 PWRS
41047             })
41048         }
41049 
41050         Method (PPS0, 0, Serialized)
41051         {
41052             M000 (0x3F81)
41053             M460 ("  OEM-ASL-\\_SB.PCI0.GP12._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41054             If ((\P4D3 != 0x55))
41055             {
41056                 Local1 = \CIMS
41057                 If (((\CPSX & 0x02) == 0x02))
41058                 {
41059                     \CPSX &= 0x7D
41060                     Local2 = \CPSX
41061                     M232 (Local1, Local2, Zero)
41062                 }
41063             }
41064         }
41065 
41066         Method (PPS3, 0, Serialized)
41067         {
41068             M000 (0x3F83)
41069             M460 ("  OEM-ASL-\\_SB.PCI0.GP12._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41070             If ((\P4D3 != 0x55))
41071             {
41072                 If (CondRefOf (\_SB.PCI0.GP19.NHI1.PCSA))
41073                 {
41074                     If ((\_SB.PCI0.GP19.NHI1.PCSA == One))
41075                     {
41076                         Local1 = \CIMS
41077                         If (((\CPSX & 0x02) == Zero))
41078                         {
41079                             \CPSX |= 0x02
41080                             Local2 = \CPSX
41081                             M232 (Local1, Local2, Zero)
41082                         }
41083                     }
41084                 }
41085             }
41086         }
41087 
41088         Method (PSTA, 0, Serialized)
41089         {
41090             M000 (0x3F85)
41091             M460 ("  OEM-ASL-\\_SB.PCI0.GP12.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41092         }
41093 
41094         Method (P_ON, 0, Serialized)
41095         {
41096             M000 (0x3F86)
41097             M460 ("  OEM-ASL-\\_SB.PCI0.GP12.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41098         }
41099 
41100         Method (P_OF, 0, Serialized)
41101         {
41102             M000 (0x3F88)
41103             M460 ("  OEM-ASL-\\_SB.PCI0.GP12.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41104         }
41105 
41106         Name (DADR, 0xEEEEEEEE)
41107         Name (DSTA, 0xEE)
41108         Name (DBUS, 0xEEEE)
41109         Name (PCSA, Zero)
41110         Name (PWST, 0xD3)
41111         Name (ESTA, 0xEE)
41112         Name (EBUS, 0xEEEE)
41113         Name (PW3S, Zero)
41114         Method (RPRM, 2, NotSerialized)
41115         {
41116             Local0 = Arg0
41117             OperationRegion (VARM, SystemMemory, Local0, 0x04)
41118             Field (VARM, AnyAcc, NoLock, Preserve)
41119             {
41120                 VARR,   32
41121             }
41122 
41123             Local1 = VARR /* \_SB_.PCI0.GP12.RPRM.VARR */
41124             If ((Arg1 == One))
41125             {
41126                 Local1 &= 0xFF
41127             }
41128             ElseIf ((Arg1 == 0x02))
41129             {
41130                 Local1 &= 0xFFFF
41131             }
41132             ElseIf ((Arg1 == 0x03))
41133             {
41134                 Local1 &= 0x00FFFFFF
41135             }
41136 
41137             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
41138             Return (Local1)
41139         }
41140 
41141         Method (WPRM, 3, NotSerialized)
41142         {
41143             Local0 = Arg0
41144             If ((Arg1 == One))
41145             {
41146                 OperationRegion (VARA, SystemMemory, Local0, One)
41147                 Field (VARA, AnyAcc, NoLock, Preserve)
41148                 {
41149                     VARE,   8
41150                 }
41151 
41152                 VARE = Arg2
41153             }
41154             ElseIf ((Arg1 == 0x02))
41155             {
41156                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
41157                 Field (VARB, AnyAcc, NoLock, Preserve)
41158                 {
41159                     VARF,   16
41160                 }
41161 
41162                 VARF = Arg2
41163             }
41164             ElseIf ((Arg1 == 0x03))
41165             {
41166                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
41167                 Field (VARC, AnyAcc, NoLock, Preserve)
41168                 {
41169                     VARG,   24
41170                 }
41171 
41172                 VARG = Arg2
41173             }
41174             Else
41175             {
41176                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
41177                 Field (VARD, AnyAcc, NoLock, Preserve)
41178                 {
41179                     VARH,   32
41180                 }
41181 
41182                 VARH = Arg2
41183             }
41184 
41185             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
41186         }
41187 
41188         Method (SPDP, 1, NotSerialized)
41189         {
41190             Local5 = 0x7FFFFFFF
41191             Local5 |= 0x80000000
41192             Local2 = Zero
41193             Local0 = Zero
41194             While ((Local0 <= 0x1F))
41195             {
41196                 Local1 = Zero
41197                 While ((Local1 <= 0x07))
41198                 {
41199                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
41200                         0x0F) & 0x000F8000))
41201                     Local3 |= ((Local1 << 0x0C) & 0x7000)
41202                     Local4 = RPRM ((M083 + Local3), 0x04)
41203                     If (((Local4 != Local5) && (Local4 != Zero)))
41204                     {
41205                         Local2 |= (One << Local0)
41206                     }
41207                     ElseIf ((Local1 == Zero))
41208                     {
41209                         Break
41210                     }
41211 
41212                     Local1++
41213                 }
41214 
41215                 Local0++
41216             }
41217 
41218             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
41219             Return (Local2)
41220         }
41221 
41222         Method (SPCH, 2, NotSerialized)
41223         {
41224             Local0 = Zero
41225             Local1 = RPRM ((Arg0 + 0x34), One)
41226             While ((Local1 != Zero))
41227             {
41228                 Local2 = RPRM ((DADR + Local1), One)
41229                 If (((Local2 == Zero) || (Local2 == 0xFF)))
41230                 {
41231                     Break
41232                 }
41233 
41234                 If ((Local2 == Arg1))
41235                 {
41236                     Local0 = Local1
41237                     Break
41238                 }
41239 
41240                 Local1 = RPRM ((DADR + (Local1 + One)), One)
41241             }
41242 
41243             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
41244             Return (Local0)
41245         }
41246 
41247         Method (_STA, 0, Serialized)  // _STA: Status
41248         {
41249             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
41250             {
41251                 If ((DBUS == 0xEEEE))
41252                 {
41253                     If (CondRefOf (^^EBUS))
41254                     {
41255                         DBUS = ^^EBUS /* External reference */
41256                     }
41257                     Else
41258                     {
41259                         DBUS = Zero
41260                     }
41261                 }
41262 
41263                 If ((DBUS != 0xEEEE))
41264                 {
41265                     If ((DADR == 0xEEEEEEEE))
41266                     {
41267                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
41268                             One) & 0x000F8000))
41269                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
41270                         DADR = (M083 + Local0)
41271                     }
41272 
41273                     Local0 = 0x7FFFFFFF
41274                     Local0 |= 0x80000000
41275                     Local1 = RPRM ((DADR + Zero), 0x04)
41276                     If (((Local1 == Local0) || (Local1 == Zero)))
41277                     {
41278                         DSTA = Zero
41279                         ESTA = Zero
41280                         If ((DBUS != Zero))
41281                         {
41282                             Local2 = ^^SPCH (^^DADR, 0x10)
41283                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
41284                                 0x40) == 0x40))
41285                             {
41286                                 DSTA = 0x0F
41287                                 ESTA = 0xEE
41288                             }
41289                         }
41290                     }
41291                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
41292                     {
41293                         EBUS = RPRM ((DADR + 0x19), One)
41294                         Local2 = SPCH (DADR, 0x10)
41295                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
41296                             One) >> 0x04) & 0x0F) == 0x05))
41297                         {
41298                             If ((EBUS == Zero))
41299                             {
41300                                 DSTA = 0x0F
41301                                 ESTA = 0xEE
41302                             }
41303                             ElseIf ((SPDP (EBUS) == Zero))
41304                             {
41305                                 DSTA = Zero
41306                                 ESTA = Zero
41307                             }
41308                             Else
41309                             {
41310                                 DSTA = 0x0F
41311                                 ESTA = 0x0F
41312                             }
41313                         }
41314                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
41315                             One) & 0x40) == Zero))
41316                         {
41317                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
41318                                 0x40) == Zero))
41319                             {
41320                                 DSTA = Zero
41321                                 ESTA = Zero
41322                             }
41323                             Else
41324                             {
41325                                 DSTA = 0x0F
41326                                 ESTA = 0xEE
41327                             }
41328                         }
41329                         ElseIf ((EBUS == Zero))
41330                         {
41331                             DSTA = 0x0F
41332                             ESTA = 0xEE
41333                         }
41334                         Else
41335                         {
41336                             DSTA = 0x0F
41337                             ESTA = 0x0F
41338                         }
41339                     }
41340                     Else
41341                     {
41342                         DSTA = 0x0F
41343                         ESTA = Zero
41344                     }
41345                 }
41346                 Else
41347                 {
41348                     DSTA = Zero
41349                     ESTA = 0xEE
41350                 }
41351             }
41352 
41353             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
41354             {
41355                 PWST = 0xD0
41356             }
41357 
41358             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
41359             {
41360                 PWST = 0xD3
41361             }
41362 
41363             If (CondRefOf (SSTA))
41364             {
41365                 SSTA ()
41366             }
41367 
41368             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
41369             Return (DSTA) /* \_SB_.PCI0.GP12.DSTA */
41370         }
41371 
41372         Method (_INI, 0, Serialized)  // _INI: Initialize
41373         {
41374             Local0 = 0x7FFFFFFF
41375             Local0 |= 0x80000000
41376             Local1 = RPRM ((DADR + Zero), 0x04)
41377             If (((Local1 == Local0) || (Local1 == Zero)))
41378             {
41379                 PCSA = Zero
41380                 PWST = 0xD3
41381                 PW3S = Zero
41382             }
41383             Else
41384             {
41385                 PCSA = One
41386                 PWST = 0xD0
41387                 PW3S = One
41388             }
41389 
41390             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
41391             If (CondRefOf (SINI))
41392             {
41393                 SINI ()
41394             }
41395         }
41396 
41397         Method (_REG, 2, Serialized)  // _REG: Region Availability
41398         {
41399             If (((Arg0 == 0x02) && (Arg1 == One)))
41400             {
41401                 If ((DSTA == 0x0F))
41402                 {
41403                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
41404                     {
41405                         PCSA = One
41406                     }
41407                 }
41408             }
41409 
41410             If (((Arg0 == 0x02) && (Arg1 == Zero)))
41411             {
41412                 PCSA = Zero
41413             }
41414 
41415             If (CondRefOf (SREG))
41416             {
41417                 SREG (Arg0, Arg1)
41418             }
41419 
41420             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
41421         }
41422 
41423         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
41424         {
41425             If (CondRefOf (SDSW))
41426             {
41427                 SDSW (Arg0, Arg1, Arg2)
41428             }
41429 
41430             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
41431         }
41432 
41433         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
41434         {
41435             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
41436             If (CondRefOf (PPS0))
41437             {
41438                 PPS0 ()
41439             }
41440         }
41441 
41442         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
41443         {
41444             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
41445             If (CondRefOf (PPS3))
41446             {
41447                 PPS3 ()
41448             }
41449         }
41450 
41451         PowerResource (PWRS, 0x00, 0x0000)
41452         {
41453             Method (_STA, 0, Serialized)  // _STA: Status
41454             {
41455                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
41456                 If (CondRefOf (PSTA))
41457                 {
41458                     PSTA ()
41459                 }
41460 
41461                 Return (PW3S) /* \_SB_.PCI0.GP12.PW3S */
41462             }
41463 
41464             Method (_ON, 0, Serialized)  // _ON_: Power On
41465             {
41466                 If ((PW3S == Zero))
41467                 {
41468                     PW3S = One
41469                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
41470                     If (CondRefOf (P_ON))
41471                     {
41472                         P_ON ()
41473                     }
41474                 }
41475             }
41476 
41477             Method (_OFF, 0, Serialized)  // _OFF: Power Off
41478             {
41479                 If ((PW3S == One))
41480                 {
41481                     PW3S = Zero
41482                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
41483                     If (CondRefOf (P_OF))
41484                     {
41485                         P_OF ()
41486                     }
41487                 }
41488             }
41489         }
41490 
41491         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
41492         {
41493             PWRS
41494         })
41495         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
41496         {
41497             PWRS
41498         })
41499         Name (_DSD, Package (0x06)  // _DSD: Device-Specific Data
41500         {
41501             ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */, 
41502             Package (0x01)
41503             {
41504                 Package (0x02)
41505                 {
41506                     "HotPlugSupportInD3", 
41507                     One
41508                 }
41509             }, 
41510 
41511             ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */, 
41512             Package (0x02)
41513             {
41514                 Package (0x02)
41515                 {
41516                     "ExternalFacingPort", 
41517                     One
41518                 }, 
41519 
41520                 Package (0x02)
41521                 {
41522                     "UID", 
41523                     One
41524                 }
41525             }, 
41526 
41527             ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
41528             Package (0x02)
41529             {
41530                 Package (0x02)
41531                 {
41532                     "usb4-host-interface", 
41533                     \_SB.PCI0.GP19.NHI1
41534                 }, 
41535 
41536                 Package (0x02)
41537                 {
41538                     "usb4-port-number", 
41539                     0x02
41540                 }
41541             }
41542         })
41543         Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
41544         {
41545             If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
41546             {
41547                 CreateDWordField (Arg0, Zero, UID0)
41548                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, Zero, Zero, Zero)
41549                 Switch (ToInteger (Arg2))
41550                 {
41551                     Case (Zero)
41552                     {
41553                         Switch (Arg1)
41554                         {
41555                             Case (Zero)
41556                             {
41557                                 M460 ("    Return 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
41558                                 Return (Buffer (One)
41559                                 {
41560                                      0x00                                             // .
41561                                 })
41562                             }
41563                             Case (One)
41564                             {
41565                                 M460 ("    Return 0x21\n", Zero, Zero, Zero, Zero, Zero, Zero)
41566                                 Return (Buffer (One)
41567                                 {
41568                                      0x21                                             // !
41569                                 })
41570                             }
41571 
41572                         }
41573 
41574                         M460 ("    Return 0x61\n", Zero, Zero, Zero, Zero, Zero, Zero)
41575                         Return (Buffer (One)
41576                         {
41577                              0x61                                             // a
41578                         })
41579                     }
41580                     Case (0x05)
41581                     {
41582                         If ((Arg1 >= One))
41583                         {
41584                             Local0 = Zero
41585                             If ((\RCRS != 0x55))
41586                             {
41587                                 Local0 = \RCRS
41588                             }
41589 
41590                             M460 ("    Return %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
41591                             Return (Local0)
41592                         }
41593                     }
41594                     Case (0x06)
41595                     {
41596                         If ((Arg1 >= 0x02))
41597                         {
41598                             M460 ("    Return Package (4) {0x02, 0xC8, 0x02, 0xC8}\n", Zero, Zero, Zero, Zero, Zero, Zero)
41599                             Return (Package (0x04)
41600                             {
41601                                 0x02, 
41602                                 0xC8, 
41603                                 0x02, 
41604                                 0xC8
41605                             })
41606                         }
41607                     }
41608 
41609                 }
41610             }
41611         }
41612 
41613         Device (SWUS)
41614         {
41615             Name (_ADR, Zero)  // _ADR: Address
41616             Method (_RMV, 0, Serialized)  // _RMV: Removal Status
41617             {
41618                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS._RMV ()  Return 0\n", Zero, Zero, Zero, Zero, Zero, Zero)
41619                 Return (Zero)
41620             }
41621 
41622             Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
41623             {
41624                 M000 (0x3FA4)
41625                 Local0 = Zero
41626                 If ((\H0D3 != 0x55))
41627                 {
41628                     Local0 = \H0D3 /* External reference */
41629                 }
41630 
41631                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS._S0W ()  Return %d\n", Local0, Zero, Zero, Zero, Zero, Zero)
41632                 Return (Local0)
41633             }
41634 
41635             Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
41636             {
41637                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS._PRW ()  Return Package (2) {0x1A, 0x04}\n", Zero, Zero, Zero, Zero, Zero, Zero)
41638                 Return (Package (0x02)
41639                 {
41640                     0x1A, 
41641                     0x04
41642                 })
41643             }
41644 
41645             Method (PPS0, 0, Serialized)
41646             {
41647                 M000 (0x3FA1)
41648                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS._PS0 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41649             }
41650 
41651             Method (PPS3, 0, Serialized)
41652             {
41653                 M000 (0x3FA3)
41654                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS._PS3 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41655             }
41656 
41657             Method (PSTA, 0, Serialized)
41658             {
41659                 M000 (0x3FA5)
41660                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._STA ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41661             }
41662 
41663             Method (P_ON, 0, Serialized)
41664             {
41665                 M000 (0x3FA6)
41666                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._ON ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41667             }
41668 
41669             Method (P_OF, 0, Serialized)
41670             {
41671                 M000 (0x3FA8)
41672                 M460 ("  OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._OFF ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
41673             }
41674 
41675             Name (DADR, 0xEEEEEEEE)
41676             Name (DSTA, 0xEE)
41677             Name (DBUS, 0xEEEE)
41678             Name (PCSA, Zero)
41679             Name (PWST, 0xD3)
41680             Name (ESTA, 0xEE)
41681             Name (EBUS, 0xEEEE)
41682             Name (PW3S, Zero)
41683             Method (RPRM, 2, NotSerialized)
41684             {
41685                 Local0 = Arg0
41686                 OperationRegion (VARM, SystemMemory, Local0, 0x04)
41687                 Field (VARM, AnyAcc, NoLock, Preserve)
41688                 {
41689                     VARR,   32
41690                 }
41691 
41692                 Local1 = VARR /* \_SB_.PCI0.GP12.SWUS.RPRM.VARR */
41693                 If ((Arg1 == One))
41694                 {
41695                     Local1 &= 0xFF
41696                 }
41697                 ElseIf ((Arg1 == 0x02))
41698                 {
41699                     Local1 &= 0xFFFF
41700                 }
41701                 ElseIf ((Arg1 == 0x03))
41702                 {
41703                     Local1 &= 0x00FFFFFF
41704                 }
41705 
41706                 M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
41707                 Return (Local1)
41708             }
41709 
41710             Method (WPRM, 3, NotSerialized)
41711             {
41712                 Local0 = Arg0
41713                 If ((Arg1 == One))
41714                 {
41715                     OperationRegion (VARA, SystemMemory, Local0, One)
41716                     Field (VARA, AnyAcc, NoLock, Preserve)
41717                     {
41718                         VARE,   8
41719                     }
41720 
41721                     VARE = Arg2
41722                 }
41723                 ElseIf ((Arg1 == 0x02))
41724                 {
41725                     OperationRegion (VARB, SystemMemory, Local0, 0x02)
41726                     Field (VARB, AnyAcc, NoLock, Preserve)
41727                     {
41728                         VARF,   16
41729                     }
41730 
41731                     VARF = Arg2
41732                 }
41733                 ElseIf ((Arg1 == 0x03))
41734                 {
41735                     OperationRegion (VARC, SystemMemory, Local0, 0x03)
41736                     Field (VARC, AnyAcc, NoLock, Preserve)
41737                     {
41738                         VARG,   24
41739                     }
41740 
41741                     VARG = Arg2
41742                 }
41743                 Else
41744                 {
41745                     OperationRegion (VARD, SystemMemory, Local0, 0x04)
41746                     Field (VARD, AnyAcc, NoLock, Preserve)
41747                     {
41748                         VARH,   32
41749                     }
41750 
41751                     VARH = Arg2
41752                 }
41753 
41754                 M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
41755             }
41756 
41757             Method (SPDP, 1, NotSerialized)
41758             {
41759                 Local5 = 0x7FFFFFFF
41760                 Local5 |= 0x80000000
41761                 Local2 = Zero
41762                 Local0 = Zero
41763                 While ((Local0 <= 0x1F))
41764                 {
41765                     Local1 = Zero
41766                     While ((Local1 <= 0x07))
41767                     {
41768                         Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
41769                             0x0F) & 0x000F8000))
41770                         Local3 |= ((Local1 << 0x0C) & 0x7000)
41771                         Local4 = RPRM ((M083 + Local3), 0x04)
41772                         If (((Local4 != Local5) && (Local4 != Zero)))
41773                         {
41774                             Local2 |= (One << Local0)
41775                         }
41776                         ElseIf ((Local1 == Zero))
41777                         {
41778                             Break
41779                         }
41780 
41781                         Local1++
41782                     }
41783 
41784                     Local0++
41785                 }
41786 
41787                 M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
41788                 Return (Local2)
41789             }
41790 
41791             Method (SPCH, 2, NotSerialized)
41792             {
41793                 Local0 = Zero
41794                 Local1 = RPRM ((Arg0 + 0x34), One)
41795                 While ((Local1 != Zero))
41796                 {
41797                     Local2 = RPRM ((DADR + Local1), One)
41798                     If (((Local2 == Zero) || (Local2 == 0xFF)))
41799                     {
41800                         Break
41801                     }
41802 
41803                     If ((Local2 == Arg1))
41804                     {
41805                         Local0 = Local1
41806                         Break
41807                     }
41808 
41809                     Local1 = RPRM ((DADR + (Local1 + One)), One)
41810                 }
41811 
41812                 M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
41813                 Return (Local0)
41814             }
41815 
41816             Method (_STA, 0, Serialized)  // _STA: Status
41817             {
41818                 If (((DSTA == 0xEE) || (ESTA == 0xEE)))
41819                 {
41820                     If ((DBUS == 0xEEEE))
41821                     {
41822                         If (CondRefOf (^^EBUS))
41823                         {
41824                             DBUS = ^^EBUS /* \_SB_.PCI0.GP12.EBUS */
41825                         }
41826                         Else
41827                         {
41828                             DBUS = Zero
41829                         }
41830                     }
41831 
41832                     If ((DBUS != 0xEEEE))
41833                     {
41834                         If ((DADR == 0xEEEEEEEE))
41835                         {
41836                             Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
41837                                 One) & 0x000F8000))
41838                             Local0 |= ((DBUS << 0x14) & 0x0FF00000)
41839                             DADR = (M083 + Local0)
41840                         }
41841 
41842                         Local0 = 0x7FFFFFFF
41843                         Local0 |= 0x80000000
41844                         Local1 = RPRM ((DADR + Zero), 0x04)
41845                         If (((Local1 == Local0) || (Local1 == Zero)))
41846                         {
41847                             DSTA = Zero
41848                             ESTA = Zero
41849                             If ((DBUS != Zero))
41850                             {
41851                                 Local2 = ^^SPCH (^^DADR, 0x10)
41852                                 If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
41853                                     0x40) == 0x40))
41854                                 {
41855                                     DSTA = 0x0F
41856                                     ESTA = 0xEE
41857                                 }
41858                             }
41859                         }
41860                         ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
41861                         {
41862                             EBUS = RPRM ((DADR + 0x19), One)
41863                             Local2 = SPCH (DADR, 0x10)
41864                             If ((((RPRM ((DADR + (Local2 + 0x02)), 
41865                                 One) >> 0x04) & 0x0F) == 0x05))
41866                             {
41867                                 If ((EBUS == Zero))
41868                                 {
41869                                     DSTA = 0x0F
41870                                     ESTA = 0xEE
41871                                 }
41872                                 ElseIf ((SPDP (EBUS) == Zero))
41873                                 {
41874                                     DSTA = Zero
41875                                     ESTA = Zero
41876                                 }
41877                                 Else
41878                                 {
41879                                     DSTA = 0x0F
41880                                     ESTA = 0x0F
41881                                 }
41882                             }
41883                             ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
41884                                 One) & 0x40) == Zero))
41885                             {
41886                                 If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
41887                                     0x40) == Zero))
41888                                 {
41889                                     DSTA = Zero
41890                                     ESTA = Zero
41891                                 }
41892                                 Else
41893                                 {
41894                                     DSTA = 0x0F
41895                                     ESTA = 0xEE
41896                                 }
41897                             }
41898                             ElseIf ((EBUS == Zero))
41899                             {
41900                                 DSTA = 0x0F
41901                                 ESTA = 0xEE
41902                             }
41903                             Else
41904                             {
41905                                 DSTA = 0x0F
41906                                 ESTA = 0x0F
41907                             }
41908                         }
41909                         Else
41910                         {
41911                             DSTA = 0x0F
41912                             ESTA = Zero
41913                         }
41914                     }
41915                     Else
41916                     {
41917                         DSTA = Zero
41918                         ESTA = 0xEE
41919                     }
41920                 }
41921 
41922                 If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
41923                 {
41924                     PWST = 0xD0
41925                 }
41926 
41927                 If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
41928                 {
41929                     PWST = 0xD3
41930                 }
41931 
41932                 If (CondRefOf (SSTA))
41933                 {
41934                     SSTA ()
41935                 }
41936 
41937                 M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
41938                 Return (DSTA) /* \_SB_.PCI0.GP12.SWUS.DSTA */
41939             }
41940 
41941             Method (_INI, 0, Serialized)  // _INI: Initialize
41942             {
41943                 Local0 = 0x7FFFFFFF
41944                 Local0 |= 0x80000000
41945                 Local1 = RPRM ((DADR + Zero), 0x04)
41946                 If (((Local1 == Local0) || (Local1 == Zero)))
41947                 {
41948                     PCSA = Zero
41949                     PWST = 0xD3
41950                     PW3S = Zero
41951                 }
41952                 Else
41953                 {
41954                     PCSA = One
41955                     PWST = 0xD0
41956                     PW3S = One
41957                 }
41958 
41959                 M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
41960                 If (CondRefOf (SINI))
41961                 {
41962                     SINI ()
41963                 }
41964             }
41965 
41966             Method (_REG, 2, Serialized)  // _REG: Region Availability
41967             {
41968                 If (((Arg0 == 0x02) && (Arg1 == One)))
41969                 {
41970                     If ((DSTA == 0x0F))
41971                     {
41972                         If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
41973                         {
41974                             PCSA = One
41975                         }
41976                     }
41977                 }
41978 
41979                 If (((Arg0 == 0x02) && (Arg1 == Zero)))
41980                 {
41981                     PCSA = Zero
41982                 }
41983 
41984                 If (CondRefOf (SREG))
41985                 {
41986                     SREG (Arg0, Arg1)
41987                 }
41988 
41989                 M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
41990             }
41991 
41992             Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
41993             {
41994                 If (CondRefOf (SDSW))
41995                 {
41996                     SDSW (Arg0, Arg1, Arg2)
41997                 }
41998 
41999                 M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
42000             }
42001 
42002             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
42003             {
42004                 M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
42005                 If (CondRefOf (PPS0))
42006                 {
42007                     PPS0 ()
42008                 }
42009             }
42010 
42011             Method (_PS3, 0, Serialized)  // _PS3: Power State 3
42012             {
42013                 M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
42014                 If (CondRefOf (PPS3))
42015                 {
42016                     PPS3 ()
42017                 }
42018             }
42019 
42020             PowerResource (PWRS, 0x00, 0x0000)
42021             {
42022                 Method (_STA, 0, Serialized)  // _STA: Status
42023                 {
42024                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42025                     If (CondRefOf (PSTA))
42026                     {
42027                         PSTA ()
42028                     }
42029 
42030                     Return (PW3S) /* \_SB_.PCI0.GP12.SWUS.PW3S */
42031                 }
42032 
42033                 Method (_ON, 0, Serialized)  // _ON_: Power On
42034                 {
42035                     If ((PW3S == Zero))
42036                     {
42037                         PW3S = One
42038                         M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42039                         If (CondRefOf (P_ON))
42040                         {
42041                             P_ON ()
42042                         }
42043                     }
42044                 }
42045 
42046                 Method (_OFF, 0, Serialized)  // _OFF: Power Off
42047                 {
42048                     If ((PW3S == One))
42049                     {
42050                         PW3S = Zero
42051                         M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42052                         If (CondRefOf (P_OF))
42053                         {
42054                             P_OF ()
42055                         }
42056                     }
42057                 }
42058             }
42059 
42060             Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
42061             {
42062                 PWRS
42063             })
42064             Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
42065             {
42066                 PWRS
42067             })
42068         }
42069     }
42070 
42071     Scope (\_GPE)
42072     {
42073         Method (_L1A, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
42074         {
42075             M460 ("  OEM-ASL-\\_GPE._L1A\n", Zero, Zero, Zero, Zero, Zero, Zero)
42076             If (CondRefOf (\_SB.PCI0.GP19))
42077             {
42078                 M460 ("    Notify (\\_SB.PCI0.GP19, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42079                 Notify (\_SB.PCI0.GP19, 0x02) // Device Wake
42080             }
42081 
42082             If (CondRefOf (\_SB.PCI0.GP19.NHI0))
42083             {
42084                 M460 ("    Notify (\\_SB.PCI0.GP19.NHI0, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42085                 Notify (\_SB.PCI0.GP19.NHI0, 0x02) // Device Wake
42086             }
42087 
42088             If (CondRefOf (\_SB.PCI0.GP19.NHI1))
42089             {
42090                 M460 ("    Notify (\\_SB.PCI0.GP19.NHI1, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42091                 Notify (\_SB.PCI0.GP19.NHI1, 0x02) // Device Wake
42092             }
42093 
42094             If (CondRefOf (\_SB.PCI0.GP19.XHC2))
42095             {
42096                 M460 ("    Notify (\\_SB.PCI0.GP19.XHC2, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42097                 Notify (\_SB.PCI0.GP19.XHC2, 0x02) // Device Wake
42098             }
42099 
42100             If (CondRefOf (\_SB.PCI0.GP19.XHC3))
42101             {
42102                 M460 ("    Notify (\\_SB.PCI0.GP19.XHC3, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42103                 Notify (\_SB.PCI0.GP19.XHC3, 0x02) // Device Wake
42104             }
42105 
42106             If (CondRefOf (\_SB.PCI0.GP19.XHC4))
42107             {
42108                 M460 ("    Notify (\\_SB.PCI0.GP19.XHC4, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42109                 Notify (\_SB.PCI0.GP19.XHC4, 0x02) // Device Wake
42110             }
42111 
42112             If (CondRefOf (\_SB.PCI0.GP11))
42113             {
42114                 M460 ("    Notify (\\_SB.PCI0.GP11, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42115                 Notify (\_SB.PCI0.GP11, 0x02) // Device Wake
42116             }
42117 
42118             If (CondRefOf (\_SB.PCI0.GP11.SWUS))
42119             {
42120                 M460 ("    Notify (\\_SB.PCI0.GP11.SWUS, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42121                 Notify (\_SB.PCI0.GP11.SWUS, 0x02) // Device Wake
42122             }
42123 
42124             If (CondRefOf (\_SB.PCI0.GP12))
42125             {
42126                 M460 ("    Notify (\\_SB.PCI0.GP12, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42127                 Notify (\_SB.PCI0.GP12, 0x02) // Device Wake
42128             }
42129 
42130             If (CondRefOf (\_SB.PCI0.GP12.SWUS))
42131             {
42132                 M460 ("    Notify (\\_SB.PCI0.GP12.SWUS, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
42133                 Notify (\_SB.PCI0.GP12.SWUS, 0x02) // Device Wake
42134             }
42135         }
42136     }
42137 
42138     Scope (\)
42139     {
42140         Name (P1D3, 0x55)
42141         Name (F0D3, 0x04)
42142         Name (F3D3, 0x04)
42143         Name (F1D3, 0x04)
42144         Name (F5D3, 0x04)
42145         Name (F6D3, 0x04)
42146         Name (F5WV, 0x01)
42147     }
42148 
42149     Scope (\_SB)
42150     {
42151         Method (CK17, 0, NotSerialized)
42152         {
42153             Local0 = \_SB.PCI0.GP17.RPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02)
42154             \_SB.PCI0.GP17.WPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02, (Local0 & 0x7FFC))
42155             Local1 = \_SB.PCI0.GP17.VGA.RPRM ((\_SB.PCI0.GP17.VGA.DADR + 0x54), 0x02)
42156             Local1 = \_SB.PCI0.GP17.HDAU.RPRM ((\_SB.PCI0.GP17.HDAU.DADR + 0x54), 0x02)
42157             Local1 = \_SB.PCI0.GP17.XHC0.RPRM ((\_SB.PCI0.GP17.XHC0.DADR + 0x54), 0x02)
42158             Local1 = \_SB.PCI0.GP17.XHC1.RPRM ((\_SB.PCI0.GP17.XHC1.DADR + 0x54), 0x02)
42159             Local1 = \_SB.PCI0.GP17.ACP.RPRM ((\_SB.PCI0.GP17.ACP.DADR + 0x54), 0x02)
42160             Local1 = \_SB.PCI0.GP17.AZAL.RPRM ((\_SB.PCI0.GP17.AZAL.DADR + 0x54), 0x02)
42161             \_SB.PCI0.GP17.WPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02, (Local0 & 0x7FFF))
42162         }
42163     }
42164 
42165     Scope (\_SB.PCI0.GP17)
42166     {
42167         Method (ZS0W, 0, Serialized)
42168         {
42169             Local0 = Zero
42170             If ((\P1D3 != 0x55))
42171             {
42172                 Local0 = \P1D3 /* External reference */
42173             }
42174 
42175             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
42176             Return (Local0)
42177         }
42178 
42179         Method (ZPRW, 0, Serialized)
42180         {
42181             Return (Package (0x02)
42182             {
42183                 0x19, 
42184                 0x04
42185             })
42186         }
42187 
42188         Name (DADR, 0xEEEEEEEE)
42189         Name (DSTA, 0xEE)
42190         Name (DBUS, 0xEEEE)
42191         Name (PCSA, Zero)
42192         Name (PWST, 0xD3)
42193         Name (ESTA, 0xEE)
42194         Name (EBUS, 0xEEEE)
42195         Name (PW3S, Zero)
42196         Method (RPRM, 2, NotSerialized)
42197         {
42198             Local0 = Arg0
42199             OperationRegion (VARM, SystemMemory, Local0, 0x04)
42200             Field (VARM, AnyAcc, NoLock, Preserve)
42201             {
42202                 VARR,   32
42203             }
42204 
42205             Local1 = VARR /* \_SB_.PCI0.GP17.RPRM.VARR */
42206             If ((Arg1 == One))
42207             {
42208                 Local1 &= 0xFF
42209             }
42210             ElseIf ((Arg1 == 0x02))
42211             {
42212                 Local1 &= 0xFFFF
42213             }
42214             ElseIf ((Arg1 == 0x03))
42215             {
42216                 Local1 &= 0x00FFFFFF
42217             }
42218 
42219             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
42220             Return (Local1)
42221         }
42222 
42223         Method (WPRM, 3, NotSerialized)
42224         {
42225             Local0 = Arg0
42226             If ((Arg1 == One))
42227             {
42228                 OperationRegion (VARA, SystemMemory, Local0, One)
42229                 Field (VARA, AnyAcc, NoLock, Preserve)
42230                 {
42231                     VARE,   8
42232                 }
42233 
42234                 VARE = Arg2
42235             }
42236             ElseIf ((Arg1 == 0x02))
42237             {
42238                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
42239                 Field (VARB, AnyAcc, NoLock, Preserve)
42240                 {
42241                     VARF,   16
42242                 }
42243 
42244                 VARF = Arg2
42245             }
42246             ElseIf ((Arg1 == 0x03))
42247             {
42248                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
42249                 Field (VARC, AnyAcc, NoLock, Preserve)
42250                 {
42251                     VARG,   24
42252                 }
42253 
42254                 VARG = Arg2
42255             }
42256             Else
42257             {
42258                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
42259                 Field (VARD, AnyAcc, NoLock, Preserve)
42260                 {
42261                     VARH,   32
42262                 }
42263 
42264                 VARH = Arg2
42265             }
42266 
42267             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
42268         }
42269 
42270         Method (SPDP, 1, NotSerialized)
42271         {
42272             Local5 = 0x7FFFFFFF
42273             Local5 |= 0x80000000
42274             Local2 = Zero
42275             Local0 = Zero
42276             While ((Local0 <= 0x1F))
42277             {
42278                 Local1 = Zero
42279                 While ((Local1 <= 0x07))
42280                 {
42281                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
42282                         0x0F) & 0x000F8000))
42283                     Local3 |= ((Local1 << 0x0C) & 0x7000)
42284                     Local4 = RPRM ((M083 + Local3), 0x04)
42285                     If (((Local4 != Local5) && (Local4 != Zero)))
42286                     {
42287                         Local2 |= (One << Local0)
42288                     }
42289                     ElseIf ((Local1 == Zero))
42290                     {
42291                         Break
42292                     }
42293 
42294                     Local1++
42295                 }
42296 
42297                 Local0++
42298             }
42299 
42300             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
42301             Return (Local2)
42302         }
42303 
42304         Method (SPCH, 2, NotSerialized)
42305         {
42306             Local0 = Zero
42307             Local1 = RPRM ((Arg0 + 0x34), One)
42308             While ((Local1 != Zero))
42309             {
42310                 Local2 = RPRM ((DADR + Local1), One)
42311                 If (((Local2 == Zero) || (Local2 == 0xFF)))
42312                 {
42313                     Break
42314                 }
42315 
42316                 If ((Local2 == Arg1))
42317                 {
42318                     Local0 = Local1
42319                     Break
42320                 }
42321 
42322                 Local1 = RPRM ((DADR + (Local1 + One)), One)
42323             }
42324 
42325             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
42326             Return (Local0)
42327         }
42328 
42329         Method (_STA, 0, Serialized)  // _STA: Status
42330         {
42331             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
42332             {
42333                 If ((DBUS == 0xEEEE))
42334                 {
42335                     If (CondRefOf (^^EBUS))
42336                     {
42337                         DBUS = ^^EBUS /* External reference */
42338                     }
42339                     Else
42340                     {
42341                         DBUS = Zero
42342                     }
42343                 }
42344 
42345                 If ((DBUS != 0xEEEE))
42346                 {
42347                     If ((DADR == 0xEEEEEEEE))
42348                     {
42349                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
42350                             One) & 0x000F8000))
42351                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
42352                         DADR = (M083 + Local0)
42353                     }
42354 
42355                     Local0 = 0x7FFFFFFF
42356                     Local0 |= 0x80000000
42357                     Local1 = RPRM ((DADR + Zero), 0x04)
42358                     If (((Local1 == Local0) || (Local1 == Zero)))
42359                     {
42360                         DSTA = Zero
42361                         ESTA = Zero
42362                         If ((DBUS != Zero))
42363                         {
42364                             Local2 = ^^SPCH (^^DADR, 0x10)
42365                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
42366                                 0x40) == 0x40))
42367                             {
42368                                 DSTA = 0x0F
42369                                 ESTA = 0xEE
42370                             }
42371                         }
42372                     }
42373                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
42374                     {
42375                         EBUS = RPRM ((DADR + 0x19), One)
42376                         Local2 = SPCH (DADR, 0x10)
42377                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
42378                             One) >> 0x04) & 0x0F) == 0x05))
42379                         {
42380                             If ((EBUS == Zero))
42381                             {
42382                                 DSTA = 0x0F
42383                                 ESTA = 0xEE
42384                             }
42385                             ElseIf ((SPDP (EBUS) == Zero))
42386                             {
42387                                 DSTA = Zero
42388                                 ESTA = Zero
42389                             }
42390                             Else
42391                             {
42392                                 DSTA = 0x0F
42393                                 ESTA = 0x0F
42394                             }
42395                         }
42396                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
42397                             One) & 0x40) == Zero))
42398                         {
42399                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
42400                                 0x40) == Zero))
42401                             {
42402                                 DSTA = Zero
42403                                 ESTA = Zero
42404                             }
42405                             Else
42406                             {
42407                                 DSTA = 0x0F
42408                                 ESTA = 0xEE
42409                             }
42410                         }
42411                         ElseIf ((EBUS == Zero))
42412                         {
42413                             DSTA = 0x0F
42414                             ESTA = 0xEE
42415                         }
42416                         Else
42417                         {
42418                             DSTA = 0x0F
42419                             ESTA = 0x0F
42420                         }
42421                     }
42422                     Else
42423                     {
42424                         DSTA = 0x0F
42425                         ESTA = Zero
42426                     }
42427                 }
42428                 Else
42429                 {
42430                     DSTA = Zero
42431                     ESTA = 0xEE
42432                 }
42433             }
42434 
42435             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
42436             {
42437                 PWST = 0xD0
42438             }
42439 
42440             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
42441             {
42442                 PWST = 0xD3
42443             }
42444 
42445             If (CondRefOf (SSTA))
42446             {
42447                 SSTA ()
42448             }
42449 
42450             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
42451             Return (DSTA) /* \_SB_.PCI0.GP17.DSTA */
42452         }
42453 
42454         Method (_INI, 0, Serialized)  // _INI: Initialize
42455         {
42456             Local0 = 0x7FFFFFFF
42457             Local0 |= 0x80000000
42458             Local1 = RPRM ((DADR + Zero), 0x04)
42459             If (((Local1 == Local0) || (Local1 == Zero)))
42460             {
42461                 PCSA = Zero
42462                 PWST = 0xD3
42463                 PW3S = Zero
42464             }
42465             Else
42466             {
42467                 PCSA = One
42468                 PWST = 0xD0
42469                 PW3S = One
42470             }
42471 
42472             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
42473             If (CondRefOf (SINI))
42474             {
42475                 SINI ()
42476             }
42477         }
42478 
42479         Method (_REG, 2, Serialized)  // _REG: Region Availability
42480         {
42481             If (((Arg0 == 0x02) && (Arg1 == One)))
42482             {
42483                 If ((DSTA == 0x0F))
42484                 {
42485                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
42486                     {
42487                         PCSA = One
42488                     }
42489                 }
42490             }
42491 
42492             If (((Arg0 == 0x02) && (Arg1 == Zero)))
42493             {
42494                 PCSA = Zero
42495             }
42496 
42497             If (CondRefOf (SREG))
42498             {
42499                 SREG (Arg0, Arg1)
42500             }
42501 
42502             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
42503         }
42504 
42505         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
42506         {
42507             If (CondRefOf (SDSW))
42508             {
42509                 SDSW (Arg0, Arg1, Arg2)
42510             }
42511 
42512             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
42513         }
42514 
42515         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
42516         {
42517             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
42518             If (CondRefOf (PPS0))
42519             {
42520                 PPS0 ()
42521             }
42522         }
42523 
42524         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
42525         {
42526             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
42527             If (CondRefOf (PPS3))
42528             {
42529                 PPS3 ()
42530             }
42531         }
42532 
42533         PowerResource (PWRS, 0x00, 0x0000)
42534         {
42535             Method (_STA, 0, Serialized)  // _STA: Status
42536             {
42537                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42538                 If (CondRefOf (PSTA))
42539                 {
42540                     PSTA ()
42541                 }
42542 
42543                 Return (PW3S) /* \_SB_.PCI0.GP17.PW3S */
42544             }
42545 
42546             Method (_ON, 0, Serialized)  // _ON_: Power On
42547             {
42548                 If ((PW3S == Zero))
42549                 {
42550                     PW3S = One
42551                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42552                     If (CondRefOf (P_ON))
42553                     {
42554                         P_ON ()
42555                     }
42556                 }
42557             }
42558 
42559             Method (_OFF, 0, Serialized)  // _OFF: Power Off
42560             {
42561                 If ((PW3S == One))
42562                 {
42563                     PW3S = Zero
42564                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42565                     If (CondRefOf (P_OF))
42566                     {
42567                         P_OF ()
42568                     }
42569                 }
42570             }
42571         }
42572 
42573         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
42574         {
42575             PWRS
42576         })
42577         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
42578         {
42579             PWRS
42580         })
42581     }
42582 
42583     Scope (\_SB.PCI0.GP17.VGA)
42584     {
42585         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
42586         {
42587             Local0 = Zero
42588             If ((\F0D3 != 0x55))
42589             {
42590                 Local0 = \F0D3 /* External reference */
42591             }
42592 
42593             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
42594             Return (Local0)
42595         }
42596 
42597         Name (DADR, 0xEEEEEEEE)
42598         Name (DSTA, 0xEE)
42599         Name (DBUS, 0xEEEE)
42600         Name (PCSA, Zero)
42601         Name (PWST, 0xD3)
42602         Name (ESTA, 0xEE)
42603         Name (EBUS, 0xEEEE)
42604         Name (PW3S, Zero)
42605         Method (RPRM, 2, NotSerialized)
42606         {
42607             Local0 = Arg0
42608             OperationRegion (VARM, SystemMemory, Local0, 0x04)
42609             Field (VARM, AnyAcc, NoLock, Preserve)
42610             {
42611                 VARR,   32
42612             }
42613 
42614             Local1 = VARR /* \_SB_.PCI0.GP17.VGA_.RPRM.VARR */
42615             If ((Arg1 == One))
42616             {
42617                 Local1 &= 0xFF
42618             }
42619             ElseIf ((Arg1 == 0x02))
42620             {
42621                 Local1 &= 0xFFFF
42622             }
42623             ElseIf ((Arg1 == 0x03))
42624             {
42625                 Local1 &= 0x00FFFFFF
42626             }
42627 
42628             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
42629             Return (Local1)
42630         }
42631 
42632         Method (WPRM, 3, NotSerialized)
42633         {
42634             Local0 = Arg0
42635             If ((Arg1 == One))
42636             {
42637                 OperationRegion (VARA, SystemMemory, Local0, One)
42638                 Field (VARA, AnyAcc, NoLock, Preserve)
42639                 {
42640                     VARE,   8
42641                 }
42642 
42643                 VARE = Arg2
42644             }
42645             ElseIf ((Arg1 == 0x02))
42646             {
42647                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
42648                 Field (VARB, AnyAcc, NoLock, Preserve)
42649                 {
42650                     VARF,   16
42651                 }
42652 
42653                 VARF = Arg2
42654             }
42655             ElseIf ((Arg1 == 0x03))
42656             {
42657                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
42658                 Field (VARC, AnyAcc, NoLock, Preserve)
42659                 {
42660                     VARG,   24
42661                 }
42662 
42663                 VARG = Arg2
42664             }
42665             Else
42666             {
42667                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
42668                 Field (VARD, AnyAcc, NoLock, Preserve)
42669                 {
42670                     VARH,   32
42671                 }
42672 
42673                 VARH = Arg2
42674             }
42675 
42676             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
42677         }
42678 
42679         Method (SPDP, 1, NotSerialized)
42680         {
42681             Local5 = 0x7FFFFFFF
42682             Local5 |= 0x80000000
42683             Local2 = Zero
42684             Local0 = Zero
42685             While ((Local0 <= 0x1F))
42686             {
42687                 Local1 = Zero
42688                 While ((Local1 <= 0x07))
42689                 {
42690                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
42691                         0x0F) & 0x000F8000))
42692                     Local3 |= ((Local1 << 0x0C) & 0x7000)
42693                     Local4 = RPRM ((M083 + Local3), 0x04)
42694                     If (((Local4 != Local5) && (Local4 != Zero)))
42695                     {
42696                         Local2 |= (One << Local0)
42697                     }
42698                     ElseIf ((Local1 == Zero))
42699                     {
42700                         Break
42701                     }
42702 
42703                     Local1++
42704                 }
42705 
42706                 Local0++
42707             }
42708 
42709             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
42710             Return (Local2)
42711         }
42712 
42713         Method (SPCH, 2, NotSerialized)
42714         {
42715             Local0 = Zero
42716             Local1 = RPRM ((Arg0 + 0x34), One)
42717             While ((Local1 != Zero))
42718             {
42719                 Local2 = RPRM ((DADR + Local1), One)
42720                 If (((Local2 == Zero) || (Local2 == 0xFF)))
42721                 {
42722                     Break
42723                 }
42724 
42725                 If ((Local2 == Arg1))
42726                 {
42727                     Local0 = Local1
42728                     Break
42729                 }
42730 
42731                 Local1 = RPRM ((DADR + (Local1 + One)), One)
42732             }
42733 
42734             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
42735             Return (Local0)
42736         }
42737 
42738         Method (_STA, 0, Serialized)  // _STA: Status
42739         {
42740             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
42741             {
42742                 If ((DBUS == 0xEEEE))
42743                 {
42744                     If (CondRefOf (^^EBUS))
42745                     {
42746                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
42747                     }
42748                     Else
42749                     {
42750                         DBUS = Zero
42751                     }
42752                 }
42753 
42754                 If ((DBUS != 0xEEEE))
42755                 {
42756                     If ((DADR == 0xEEEEEEEE))
42757                     {
42758                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
42759                             One) & 0x000F8000))
42760                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
42761                         DADR = (M083 + Local0)
42762                     }
42763 
42764                     Local0 = 0x7FFFFFFF
42765                     Local0 |= 0x80000000
42766                     Local1 = RPRM ((DADR + Zero), 0x04)
42767                     If (((Local1 == Local0) || (Local1 == Zero)))
42768                     {
42769                         DSTA = Zero
42770                         ESTA = Zero
42771                         If ((DBUS != Zero))
42772                         {
42773                             Local2 = ^^SPCH (^^DADR, 0x10)
42774                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
42775                                 0x40) == 0x40))
42776                             {
42777                                 DSTA = 0x0F
42778                                 ESTA = 0xEE
42779                             }
42780                         }
42781                     }
42782                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
42783                     {
42784                         EBUS = RPRM ((DADR + 0x19), One)
42785                         Local2 = SPCH (DADR, 0x10)
42786                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
42787                             One) >> 0x04) & 0x0F) == 0x05))
42788                         {
42789                             If ((EBUS == Zero))
42790                             {
42791                                 DSTA = 0x0F
42792                                 ESTA = 0xEE
42793                             }
42794                             ElseIf ((SPDP (EBUS) == Zero))
42795                             {
42796                                 DSTA = Zero
42797                                 ESTA = Zero
42798                             }
42799                             Else
42800                             {
42801                                 DSTA = 0x0F
42802                                 ESTA = 0x0F
42803                             }
42804                         }
42805                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
42806                             One) & 0x40) == Zero))
42807                         {
42808                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
42809                                 0x40) == Zero))
42810                             {
42811                                 DSTA = Zero
42812                                 ESTA = Zero
42813                             }
42814                             Else
42815                             {
42816                                 DSTA = 0x0F
42817                                 ESTA = 0xEE
42818                             }
42819                         }
42820                         ElseIf ((EBUS == Zero))
42821                         {
42822                             DSTA = 0x0F
42823                             ESTA = 0xEE
42824                         }
42825                         Else
42826                         {
42827                             DSTA = 0x0F
42828                             ESTA = 0x0F
42829                         }
42830                     }
42831                     Else
42832                     {
42833                         DSTA = 0x0F
42834                         ESTA = Zero
42835                     }
42836                 }
42837                 Else
42838                 {
42839                     DSTA = Zero
42840                     ESTA = 0xEE
42841                 }
42842             }
42843 
42844             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
42845             {
42846                 PWST = 0xD0
42847             }
42848 
42849             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
42850             {
42851                 PWST = 0xD3
42852             }
42853 
42854             If (CondRefOf (SSTA))
42855             {
42856                 SSTA ()
42857             }
42858 
42859             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
42860             Return (DSTA) /* \_SB_.PCI0.GP17.VGA_.DSTA */
42861         }
42862 
42863         Method (_INI, 0, Serialized)  // _INI: Initialize
42864         {
42865             Local0 = 0x7FFFFFFF
42866             Local0 |= 0x80000000
42867             Local1 = RPRM ((DADR + Zero), 0x04)
42868             If (((Local1 == Local0) || (Local1 == Zero)))
42869             {
42870                 PCSA = Zero
42871                 PWST = 0xD3
42872                 PW3S = Zero
42873             }
42874             Else
42875             {
42876                 PCSA = One
42877                 PWST = 0xD0
42878                 PW3S = One
42879             }
42880 
42881             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
42882             If (CondRefOf (SINI))
42883             {
42884                 SINI ()
42885             }
42886         }
42887 
42888         Method (_REG, 2, Serialized)  // _REG: Region Availability
42889         {
42890             If (((Arg0 == 0x02) && (Arg1 == One)))
42891             {
42892                 If ((DSTA == 0x0F))
42893                 {
42894                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
42895                     {
42896                         PCSA = One
42897                     }
42898                 }
42899             }
42900 
42901             If (((Arg0 == 0x02) && (Arg1 == Zero)))
42902             {
42903                 PCSA = Zero
42904             }
42905 
42906             If (CondRefOf (SREG))
42907             {
42908                 SREG (Arg0, Arg1)
42909             }
42910 
42911             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
42912         }
42913 
42914         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
42915         {
42916             If (CondRefOf (SDSW))
42917             {
42918                 SDSW (Arg0, Arg1, Arg2)
42919             }
42920 
42921             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
42922         }
42923 
42924         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
42925         {
42926             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
42927             If (CondRefOf (PPS0))
42928             {
42929                 PPS0 ()
42930             }
42931         }
42932 
42933         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
42934         {
42935             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
42936             If (CondRefOf (PPS3))
42937             {
42938                 PPS3 ()
42939             }
42940         }
42941 
42942         PowerResource (PWRS, 0x00, 0x0000)
42943         {
42944             Method (_STA, 0, Serialized)  // _STA: Status
42945             {
42946                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42947                 If (CondRefOf (PSTA))
42948                 {
42949                     PSTA ()
42950                 }
42951 
42952                 Return (PW3S) /* \_SB_.PCI0.GP17.VGA_.PW3S */
42953             }
42954 
42955             Method (_ON, 0, Serialized)  // _ON_: Power On
42956             {
42957                 If ((PW3S == Zero))
42958                 {
42959                     PW3S = One
42960                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42961                     If (CondRefOf (P_ON))
42962                     {
42963                         P_ON ()
42964                     }
42965                 }
42966             }
42967 
42968             Method (_OFF, 0, Serialized)  // _OFF: Power Off
42969             {
42970                 If ((PW3S == One))
42971                 {
42972                     PW3S = Zero
42973                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
42974                     If (CondRefOf (P_OF))
42975                     {
42976                         P_OF ()
42977                     }
42978                 }
42979             }
42980         }
42981 
42982         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
42983         {
42984             PWRS
42985         })
42986         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
42987         {
42988             PWRS
42989         })
42990     }
42991 
42992     Scope (\_SB.PCI0.GP17.HDAU)
42993     {
42994         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
42995         {
42996             Local0 = Zero
42997             If ((\F1D3 != 0x55))
42998             {
42999                 Local0 = \F1D3 /* External reference */
43000             }
43001 
43002             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
43003             Return (Local0)
43004         }
43005 
43006         Name (DADR, 0xEEEEEEEE)
43007         Name (DSTA, 0xEE)
43008         Name (DBUS, 0xEEEE)
43009         Name (PCSA, Zero)
43010         Name (PWST, 0xD3)
43011         Name (ESTA, 0xEE)
43012         Name (EBUS, 0xEEEE)
43013         Name (PW3S, Zero)
43014         Method (RPRM, 2, NotSerialized)
43015         {
43016             Local0 = Arg0
43017             OperationRegion (VARM, SystemMemory, Local0, 0x04)
43018             Field (VARM, AnyAcc, NoLock, Preserve)
43019             {
43020                 VARR,   32
43021             }
43022 
43023             Local1 = VARR /* \_SB_.PCI0.GP17.HDAU.RPRM.VARR */
43024             If ((Arg1 == One))
43025             {
43026                 Local1 &= 0xFF
43027             }
43028             ElseIf ((Arg1 == 0x02))
43029             {
43030                 Local1 &= 0xFFFF
43031             }
43032             ElseIf ((Arg1 == 0x03))
43033             {
43034                 Local1 &= 0x00FFFFFF
43035             }
43036 
43037             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
43038             Return (Local1)
43039         }
43040 
43041         Method (WPRM, 3, NotSerialized)
43042         {
43043             Local0 = Arg0
43044             If ((Arg1 == One))
43045             {
43046                 OperationRegion (VARA, SystemMemory, Local0, One)
43047                 Field (VARA, AnyAcc, NoLock, Preserve)
43048                 {
43049                     VARE,   8
43050                 }
43051 
43052                 VARE = Arg2
43053             }
43054             ElseIf ((Arg1 == 0x02))
43055             {
43056                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
43057                 Field (VARB, AnyAcc, NoLock, Preserve)
43058                 {
43059                     VARF,   16
43060                 }
43061 
43062                 VARF = Arg2
43063             }
43064             ElseIf ((Arg1 == 0x03))
43065             {
43066                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
43067                 Field (VARC, AnyAcc, NoLock, Preserve)
43068                 {
43069                     VARG,   24
43070                 }
43071 
43072                 VARG = Arg2
43073             }
43074             Else
43075             {
43076                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
43077                 Field (VARD, AnyAcc, NoLock, Preserve)
43078                 {
43079                     VARH,   32
43080                 }
43081 
43082                 VARH = Arg2
43083             }
43084 
43085             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
43086         }
43087 
43088         Method (SPDP, 1, NotSerialized)
43089         {
43090             Local5 = 0x7FFFFFFF
43091             Local5 |= 0x80000000
43092             Local2 = Zero
43093             Local0 = Zero
43094             While ((Local0 <= 0x1F))
43095             {
43096                 Local1 = Zero
43097                 While ((Local1 <= 0x07))
43098                 {
43099                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
43100                         0x0F) & 0x000F8000))
43101                     Local3 |= ((Local1 << 0x0C) & 0x7000)
43102                     Local4 = RPRM ((M083 + Local3), 0x04)
43103                     If (((Local4 != Local5) && (Local4 != Zero)))
43104                     {
43105                         Local2 |= (One << Local0)
43106                     }
43107                     ElseIf ((Local1 == Zero))
43108                     {
43109                         Break
43110                     }
43111 
43112                     Local1++
43113                 }
43114 
43115                 Local0++
43116             }
43117 
43118             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
43119             Return (Local2)
43120         }
43121 
43122         Method (SPCH, 2, NotSerialized)
43123         {
43124             Local0 = Zero
43125             Local1 = RPRM ((Arg0 + 0x34), One)
43126             While ((Local1 != Zero))
43127             {
43128                 Local2 = RPRM ((DADR + Local1), One)
43129                 If (((Local2 == Zero) || (Local2 == 0xFF)))
43130                 {
43131                     Break
43132                 }
43133 
43134                 If ((Local2 == Arg1))
43135                 {
43136                     Local0 = Local1
43137                     Break
43138                 }
43139 
43140                 Local1 = RPRM ((DADR + (Local1 + One)), One)
43141             }
43142 
43143             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
43144             Return (Local0)
43145         }
43146 
43147         Method (_STA, 0, Serialized)  // _STA: Status
43148         {
43149             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
43150             {
43151                 If ((DBUS == 0xEEEE))
43152                 {
43153                     If (CondRefOf (^^EBUS))
43154                     {
43155                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
43156                     }
43157                     Else
43158                     {
43159                         DBUS = Zero
43160                     }
43161                 }
43162 
43163                 If ((DBUS != 0xEEEE))
43164                 {
43165                     If ((DADR == 0xEEEEEEEE))
43166                     {
43167                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
43168                             One) & 0x000F8000))
43169                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
43170                         DADR = (M083 + Local0)
43171                     }
43172 
43173                     Local0 = 0x7FFFFFFF
43174                     Local0 |= 0x80000000
43175                     Local1 = RPRM ((DADR + Zero), 0x04)
43176                     If (((Local1 == Local0) || (Local1 == Zero)))
43177                     {
43178                         DSTA = Zero
43179                         ESTA = Zero
43180                         If ((DBUS != Zero))
43181                         {
43182                             Local2 = ^^SPCH (^^DADR, 0x10)
43183                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
43184                                 0x40) == 0x40))
43185                             {
43186                                 DSTA = 0x0F
43187                                 ESTA = 0xEE
43188                             }
43189                         }
43190                     }
43191                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
43192                     {
43193                         EBUS = RPRM ((DADR + 0x19), One)
43194                         Local2 = SPCH (DADR, 0x10)
43195                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
43196                             One) >> 0x04) & 0x0F) == 0x05))
43197                         {
43198                             If ((EBUS == Zero))
43199                             {
43200                                 DSTA = 0x0F
43201                                 ESTA = 0xEE
43202                             }
43203                             ElseIf ((SPDP (EBUS) == Zero))
43204                             {
43205                                 DSTA = Zero
43206                                 ESTA = Zero
43207                             }
43208                             Else
43209                             {
43210                                 DSTA = 0x0F
43211                                 ESTA = 0x0F
43212                             }
43213                         }
43214                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
43215                             One) & 0x40) == Zero))
43216                         {
43217                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
43218                                 0x40) == Zero))
43219                             {
43220                                 DSTA = Zero
43221                                 ESTA = Zero
43222                             }
43223                             Else
43224                             {
43225                                 DSTA = 0x0F
43226                                 ESTA = 0xEE
43227                             }
43228                         }
43229                         ElseIf ((EBUS == Zero))
43230                         {
43231                             DSTA = 0x0F
43232                             ESTA = 0xEE
43233                         }
43234                         Else
43235                         {
43236                             DSTA = 0x0F
43237                             ESTA = 0x0F
43238                         }
43239                     }
43240                     Else
43241                     {
43242                         DSTA = 0x0F
43243                         ESTA = Zero
43244                     }
43245                 }
43246                 Else
43247                 {
43248                     DSTA = Zero
43249                     ESTA = 0xEE
43250                 }
43251             }
43252 
43253             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
43254             {
43255                 PWST = 0xD0
43256             }
43257 
43258             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
43259             {
43260                 PWST = 0xD3
43261             }
43262 
43263             If (CondRefOf (SSTA))
43264             {
43265                 SSTA ()
43266             }
43267 
43268             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
43269             Return (DSTA) /* \_SB_.PCI0.GP17.HDAU.DSTA */
43270         }
43271 
43272         Method (_INI, 0, Serialized)  // _INI: Initialize
43273         {
43274             Local0 = 0x7FFFFFFF
43275             Local0 |= 0x80000000
43276             Local1 = RPRM ((DADR + Zero), 0x04)
43277             If (((Local1 == Local0) || (Local1 == Zero)))
43278             {
43279                 PCSA = Zero
43280                 PWST = 0xD3
43281                 PW3S = Zero
43282             }
43283             Else
43284             {
43285                 PCSA = One
43286                 PWST = 0xD0
43287                 PW3S = One
43288             }
43289 
43290             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
43291             If (CondRefOf (SINI))
43292             {
43293                 SINI ()
43294             }
43295         }
43296 
43297         Method (_REG, 2, Serialized)  // _REG: Region Availability
43298         {
43299             If (((Arg0 == 0x02) && (Arg1 == One)))
43300             {
43301                 If ((DSTA == 0x0F))
43302                 {
43303                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
43304                     {
43305                         PCSA = One
43306                     }
43307                 }
43308             }
43309 
43310             If (((Arg0 == 0x02) && (Arg1 == Zero)))
43311             {
43312                 PCSA = Zero
43313             }
43314 
43315             If (CondRefOf (SREG))
43316             {
43317                 SREG (Arg0, Arg1)
43318             }
43319 
43320             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
43321         }
43322 
43323         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
43324         {
43325             If (CondRefOf (SDSW))
43326             {
43327                 SDSW (Arg0, Arg1, Arg2)
43328             }
43329 
43330             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
43331         }
43332 
43333         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
43334         {
43335             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
43336             If (CondRefOf (PPS0))
43337             {
43338                 PPS0 ()
43339             }
43340         }
43341 
43342         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
43343         {
43344             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
43345             If (CondRefOf (PPS3))
43346             {
43347                 PPS3 ()
43348             }
43349         }
43350 
43351         PowerResource (PWRS, 0x00, 0x0000)
43352         {
43353             Method (_STA, 0, Serialized)  // _STA: Status
43354             {
43355                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43356                 If (CondRefOf (PSTA))
43357                 {
43358                     PSTA ()
43359                 }
43360 
43361                 Return (PW3S) /* \_SB_.PCI0.GP17.HDAU.PW3S */
43362             }
43363 
43364             Method (_ON, 0, Serialized)  // _ON_: Power On
43365             {
43366                 If ((PW3S == Zero))
43367                 {
43368                     PW3S = One
43369                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43370                     If (CondRefOf (P_ON))
43371                     {
43372                         P_ON ()
43373                     }
43374                 }
43375             }
43376 
43377             Method (_OFF, 0, Serialized)  // _OFF: Power Off
43378             {
43379                 If ((PW3S == One))
43380                 {
43381                     PW3S = Zero
43382                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43383                     If (CondRefOf (P_OF))
43384                     {
43385                         P_OF ()
43386                     }
43387                 }
43388             }
43389         }
43390 
43391         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
43392         {
43393             PWRS
43394         })
43395         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
43396         {
43397             PWRS
43398         })
43399     }
43400 
43401     Scope (\_SB.PCI0.GP17.XHC0)
43402     {
43403         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
43404         {
43405             Local0 = Zero
43406             If ((\F3D3 != 0x55))
43407             {
43408                 Local0 = \F3D3 /* External reference */
43409             }
43410 
43411             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
43412             Return (Local0)
43413         }
43414 
43415         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
43416         {
43417             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x19, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
43418             Return (Package (0x02)
43419             {
43420                 0x19, 
43421                 0x04
43422             })
43423         }
43424 
43425         Method (PPS0, 0, Serialized)
43426         {
43427             M000 (0x3C01)
43428         }
43429 
43430         Method (PPS3, 0, Serialized)
43431         {
43432             M000 (0x3C03)
43433         }
43434 
43435         Method (PSTA, 0, Serialized)
43436         {
43437             M000 (0x3C05)
43438         }
43439 
43440         Method (P_ON, 0, Serialized)
43441         {
43442             M000 (0x3C06)
43443         }
43444 
43445         Method (P_OF, 0, Serialized)
43446         {
43447             M000 (0x3C08)
43448         }
43449 
43450         Name (DADR, 0xEEEEEEEE)
43451         Name (DSTA, 0xEE)
43452         Name (DBUS, 0xEEEE)
43453         Name (PCSA, Zero)
43454         Name (PWST, 0xD3)
43455         Name (ESTA, 0xEE)
43456         Name (EBUS, 0xEEEE)
43457         Name (PW3S, Zero)
43458         Method (RPRM, 2, NotSerialized)
43459         {
43460             Local0 = Arg0
43461             OperationRegion (VARM, SystemMemory, Local0, 0x04)
43462             Field (VARM, AnyAcc, NoLock, Preserve)
43463             {
43464                 VARR,   32
43465             }
43466 
43467             Local1 = VARR /* \_SB_.PCI0.GP17.XHC0.RPRM.VARR */
43468             If ((Arg1 == One))
43469             {
43470                 Local1 &= 0xFF
43471             }
43472             ElseIf ((Arg1 == 0x02))
43473             {
43474                 Local1 &= 0xFFFF
43475             }
43476             ElseIf ((Arg1 == 0x03))
43477             {
43478                 Local1 &= 0x00FFFFFF
43479             }
43480 
43481             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
43482             Return (Local1)
43483         }
43484 
43485         Method (WPRM, 3, NotSerialized)
43486         {
43487             Local0 = Arg0
43488             If ((Arg1 == One))
43489             {
43490                 OperationRegion (VARA, SystemMemory, Local0, One)
43491                 Field (VARA, AnyAcc, NoLock, Preserve)
43492                 {
43493                     VARE,   8
43494                 }
43495 
43496                 VARE = Arg2
43497             }
43498             ElseIf ((Arg1 == 0x02))
43499             {
43500                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
43501                 Field (VARB, AnyAcc, NoLock, Preserve)
43502                 {
43503                     VARF,   16
43504                 }
43505 
43506                 VARF = Arg2
43507             }
43508             ElseIf ((Arg1 == 0x03))
43509             {
43510                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
43511                 Field (VARC, AnyAcc, NoLock, Preserve)
43512                 {
43513                     VARG,   24
43514                 }
43515 
43516                 VARG = Arg2
43517             }
43518             Else
43519             {
43520                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
43521                 Field (VARD, AnyAcc, NoLock, Preserve)
43522                 {
43523                     VARH,   32
43524                 }
43525 
43526                 VARH = Arg2
43527             }
43528 
43529             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
43530         }
43531 
43532         Method (SPDP, 1, NotSerialized)
43533         {
43534             Local5 = 0x7FFFFFFF
43535             Local5 |= 0x80000000
43536             Local2 = Zero
43537             Local0 = Zero
43538             While ((Local0 <= 0x1F))
43539             {
43540                 Local1 = Zero
43541                 While ((Local1 <= 0x07))
43542                 {
43543                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
43544                         0x0F) & 0x000F8000))
43545                     Local3 |= ((Local1 << 0x0C) & 0x7000)
43546                     Local4 = RPRM ((M083 + Local3), 0x04)
43547                     If (((Local4 != Local5) && (Local4 != Zero)))
43548                     {
43549                         Local2 |= (One << Local0)
43550                     }
43551                     ElseIf ((Local1 == Zero))
43552                     {
43553                         Break
43554                     }
43555 
43556                     Local1++
43557                 }
43558 
43559                 Local0++
43560             }
43561 
43562             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
43563             Return (Local2)
43564         }
43565 
43566         Method (SPCH, 2, NotSerialized)
43567         {
43568             Local0 = Zero
43569             Local1 = RPRM ((Arg0 + 0x34), One)
43570             While ((Local1 != Zero))
43571             {
43572                 Local2 = RPRM ((DADR + Local1), One)
43573                 If (((Local2 == Zero) || (Local2 == 0xFF)))
43574                 {
43575                     Break
43576                 }
43577 
43578                 If ((Local2 == Arg1))
43579                 {
43580                     Local0 = Local1
43581                     Break
43582                 }
43583 
43584                 Local1 = RPRM ((DADR + (Local1 + One)), One)
43585             }
43586 
43587             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
43588             Return (Local0)
43589         }
43590 
43591         Method (_STA, 0, Serialized)  // _STA: Status
43592         {
43593             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
43594             {
43595                 If ((DBUS == 0xEEEE))
43596                 {
43597                     If (CondRefOf (^^EBUS))
43598                     {
43599                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
43600                     }
43601                     Else
43602                     {
43603                         DBUS = Zero
43604                     }
43605                 }
43606 
43607                 If ((DBUS != 0xEEEE))
43608                 {
43609                     If ((DADR == 0xEEEEEEEE))
43610                     {
43611                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
43612                             One) & 0x000F8000))
43613                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
43614                         DADR = (M083 + Local0)
43615                     }
43616 
43617                     Local0 = 0x7FFFFFFF
43618                     Local0 |= 0x80000000
43619                     Local1 = RPRM ((DADR + Zero), 0x04)
43620                     If (((Local1 == Local0) || (Local1 == Zero)))
43621                     {
43622                         DSTA = Zero
43623                         ESTA = Zero
43624                         If ((DBUS != Zero))
43625                         {
43626                             Local2 = ^^SPCH (^^DADR, 0x10)
43627                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
43628                                 0x40) == 0x40))
43629                             {
43630                                 DSTA = 0x0F
43631                                 ESTA = 0xEE
43632                             }
43633                         }
43634                     }
43635                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
43636                     {
43637                         EBUS = RPRM ((DADR + 0x19), One)
43638                         Local2 = SPCH (DADR, 0x10)
43639                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
43640                             One) >> 0x04) & 0x0F) == 0x05))
43641                         {
43642                             If ((EBUS == Zero))
43643                             {
43644                                 DSTA = 0x0F
43645                                 ESTA = 0xEE
43646                             }
43647                             ElseIf ((SPDP (EBUS) == Zero))
43648                             {
43649                                 DSTA = Zero
43650                                 ESTA = Zero
43651                             }
43652                             Else
43653                             {
43654                                 DSTA = 0x0F
43655                                 ESTA = 0x0F
43656                             }
43657                         }
43658                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
43659                             One) & 0x40) == Zero))
43660                         {
43661                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
43662                                 0x40) == Zero))
43663                             {
43664                                 DSTA = Zero
43665                                 ESTA = Zero
43666                             }
43667                             Else
43668                             {
43669                                 DSTA = 0x0F
43670                                 ESTA = 0xEE
43671                             }
43672                         }
43673                         ElseIf ((EBUS == Zero))
43674                         {
43675                             DSTA = 0x0F
43676                             ESTA = 0xEE
43677                         }
43678                         Else
43679                         {
43680                             DSTA = 0x0F
43681                             ESTA = 0x0F
43682                         }
43683                     }
43684                     Else
43685                     {
43686                         DSTA = 0x0F
43687                         ESTA = Zero
43688                     }
43689                 }
43690                 Else
43691                 {
43692                     DSTA = Zero
43693                     ESTA = 0xEE
43694                 }
43695             }
43696 
43697             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
43698             {
43699                 PWST = 0xD0
43700             }
43701 
43702             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
43703             {
43704                 PWST = 0xD3
43705             }
43706 
43707             If (CondRefOf (SSTA))
43708             {
43709                 SSTA ()
43710             }
43711 
43712             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
43713             Return (DSTA) /* \_SB_.PCI0.GP17.XHC0.DSTA */
43714         }
43715 
43716         Method (_INI, 0, Serialized)  // _INI: Initialize
43717         {
43718             Local0 = 0x7FFFFFFF
43719             Local0 |= 0x80000000
43720             Local1 = RPRM ((DADR + Zero), 0x04)
43721             If (((Local1 == Local0) || (Local1 == Zero)))
43722             {
43723                 PCSA = Zero
43724                 PWST = 0xD3
43725                 PW3S = Zero
43726             }
43727             Else
43728             {
43729                 PCSA = One
43730                 PWST = 0xD0
43731                 PW3S = One
43732             }
43733 
43734             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
43735             If (CondRefOf (SINI))
43736             {
43737                 SINI ()
43738             }
43739         }
43740 
43741         Method (_REG, 2, Serialized)  // _REG: Region Availability
43742         {
43743             If (((Arg0 == 0x02) && (Arg1 == One)))
43744             {
43745                 If ((DSTA == 0x0F))
43746                 {
43747                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
43748                     {
43749                         PCSA = One
43750                     }
43751                 }
43752             }
43753 
43754             If (((Arg0 == 0x02) && (Arg1 == Zero)))
43755             {
43756                 PCSA = Zero
43757             }
43758 
43759             If (CondRefOf (SREG))
43760             {
43761                 SREG (Arg0, Arg1)
43762             }
43763 
43764             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
43765         }
43766 
43767         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
43768         {
43769             If (CondRefOf (SDSW))
43770             {
43771                 SDSW (Arg0, Arg1, Arg2)
43772             }
43773 
43774             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
43775         }
43776 
43777         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
43778         {
43779             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
43780             If (CondRefOf (PPS0))
43781             {
43782                 PPS0 ()
43783             }
43784         }
43785 
43786         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
43787         {
43788             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
43789             If (CondRefOf (PPS3))
43790             {
43791                 PPS3 ()
43792             }
43793         }
43794 
43795         PowerResource (PWRS, 0x00, 0x0000)
43796         {
43797             Method (_STA, 0, Serialized)  // _STA: Status
43798             {
43799                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43800                 If (CondRefOf (PSTA))
43801                 {
43802                     PSTA ()
43803                 }
43804 
43805                 Return (PW3S) /* \_SB_.PCI0.GP17.XHC0.PW3S */
43806             }
43807 
43808             Method (_ON, 0, Serialized)  // _ON_: Power On
43809             {
43810                 If ((PW3S == Zero))
43811                 {
43812                     PW3S = One
43813                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43814                     If (CondRefOf (P_ON))
43815                     {
43816                         P_ON ()
43817                     }
43818                 }
43819             }
43820 
43821             Method (_OFF, 0, Serialized)  // _OFF: Power Off
43822             {
43823                 If ((PW3S == One))
43824                 {
43825                     PW3S = Zero
43826                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
43827                     If (CondRefOf (P_OF))
43828                     {
43829                         P_OF ()
43830                     }
43831                 }
43832             }
43833         }
43834 
43835         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
43836         {
43837             PWRS
43838         })
43839         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
43840         {
43841             PWRS
43842         })
43843     }
43844 
43845     Scope (\_SB.PCI0.GP17.XHC1)
43846     {
43847         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
43848         {
43849             Local0 = Zero
43850             If ((\F3D3 != 0x55))
43851             {
43852                 Local0 = \F3D3 /* External reference */
43853             }
43854 
43855             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
43856             Return (Local0)
43857         }
43858 
43859         Method (_PRW, 0, Serialized)  // _PRW: Power Resources for Wake
43860         {
43861             M460 ("  OEM-ASL-PCIe Address (0x%X)._PRW ()  Return Package (2) {0x19, 0x04}\n", DADR, Zero, Zero, Zero, Zero, Zero)
43862             Return (Package (0x02)
43863             {
43864                 0x19, 
43865                 0x04
43866             })
43867         }
43868 
43869         Method (PPS0, 0, Serialized)
43870         {
43871             M000 (0x3D01)
43872         }
43873 
43874         Method (PPS3, 0, Serialized)
43875         {
43876             M000 (0x3D03)
43877         }
43878 
43879         Method (PSTA, 0, Serialized)
43880         {
43881             M000 (0x3D05)
43882         }
43883 
43884         Method (P_ON, 0, Serialized)
43885         {
43886             M000 (0x3D06)
43887         }
43888 
43889         Method (P_OF, 0, Serialized)
43890         {
43891             M000 (0x3D08)
43892         }
43893 
43894         Name (DADR, 0xEEEEEEEE)
43895         Name (DSTA, 0xEE)
43896         Name (DBUS, 0xEEEE)
43897         Name (PCSA, Zero)
43898         Name (PWST, 0xD3)
43899         Name (ESTA, 0xEE)
43900         Name (EBUS, 0xEEEE)
43901         Name (PW3S, Zero)
43902         Method (RPRM, 2, NotSerialized)
43903         {
43904             Local0 = Arg0
43905             OperationRegion (VARM, SystemMemory, Local0, 0x04)
43906             Field (VARM, AnyAcc, NoLock, Preserve)
43907             {
43908                 VARR,   32
43909             }
43910 
43911             Local1 = VARR /* \_SB_.PCI0.GP17.XHC1.RPRM.VARR */
43912             If ((Arg1 == One))
43913             {
43914                 Local1 &= 0xFF
43915             }
43916             ElseIf ((Arg1 == 0x02))
43917             {
43918                 Local1 &= 0xFFFF
43919             }
43920             ElseIf ((Arg1 == 0x03))
43921             {
43922                 Local1 &= 0x00FFFFFF
43923             }
43924 
43925             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
43926             Return (Local1)
43927         }
43928 
43929         Method (WPRM, 3, NotSerialized)
43930         {
43931             Local0 = Arg0
43932             If ((Arg1 == One))
43933             {
43934                 OperationRegion (VARA, SystemMemory, Local0, One)
43935                 Field (VARA, AnyAcc, NoLock, Preserve)
43936                 {
43937                     VARE,   8
43938                 }
43939 
43940                 VARE = Arg2
43941             }
43942             ElseIf ((Arg1 == 0x02))
43943             {
43944                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
43945                 Field (VARB, AnyAcc, NoLock, Preserve)
43946                 {
43947                     VARF,   16
43948                 }
43949 
43950                 VARF = Arg2
43951             }
43952             ElseIf ((Arg1 == 0x03))
43953             {
43954                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
43955                 Field (VARC, AnyAcc, NoLock, Preserve)
43956                 {
43957                     VARG,   24
43958                 }
43959 
43960                 VARG = Arg2
43961             }
43962             Else
43963             {
43964                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
43965                 Field (VARD, AnyAcc, NoLock, Preserve)
43966                 {
43967                     VARH,   32
43968                 }
43969 
43970                 VARH = Arg2
43971             }
43972 
43973             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
43974         }
43975 
43976         Method (SPDP, 1, NotSerialized)
43977         {
43978             Local5 = 0x7FFFFFFF
43979             Local5 |= 0x80000000
43980             Local2 = Zero
43981             Local0 = Zero
43982             While ((Local0 <= 0x1F))
43983             {
43984                 Local1 = Zero
43985                 While ((Local1 <= 0x07))
43986                 {
43987                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
43988                         0x0F) & 0x000F8000))
43989                     Local3 |= ((Local1 << 0x0C) & 0x7000)
43990                     Local4 = RPRM ((M083 + Local3), 0x04)
43991                     If (((Local4 != Local5) && (Local4 != Zero)))
43992                     {
43993                         Local2 |= (One << Local0)
43994                     }
43995                     ElseIf ((Local1 == Zero))
43996                     {
43997                         Break
43998                     }
43999 
44000                     Local1++
44001                 }
44002 
44003                 Local0++
44004             }
44005 
44006             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
44007             Return (Local2)
44008         }
44009 
44010         Method (SPCH, 2, NotSerialized)
44011         {
44012             Local0 = Zero
44013             Local1 = RPRM ((Arg0 + 0x34), One)
44014             While ((Local1 != Zero))
44015             {
44016                 Local2 = RPRM ((DADR + Local1), One)
44017                 If (((Local2 == Zero) || (Local2 == 0xFF)))
44018                 {
44019                     Break
44020                 }
44021 
44022                 If ((Local2 == Arg1))
44023                 {
44024                     Local0 = Local1
44025                     Break
44026                 }
44027 
44028                 Local1 = RPRM ((DADR + (Local1 + One)), One)
44029             }
44030 
44031             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
44032             Return (Local0)
44033         }
44034 
44035         Method (_STA, 0, Serialized)  // _STA: Status
44036         {
44037             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
44038             {
44039                 If ((DBUS == 0xEEEE))
44040                 {
44041                     If (CondRefOf (^^EBUS))
44042                     {
44043                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
44044                     }
44045                     Else
44046                     {
44047                         DBUS = Zero
44048                     }
44049                 }
44050 
44051                 If ((DBUS != 0xEEEE))
44052                 {
44053                     If ((DADR == 0xEEEEEEEE))
44054                     {
44055                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
44056                             One) & 0x000F8000))
44057                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
44058                         DADR = (M083 + Local0)
44059                     }
44060 
44061                     Local0 = 0x7FFFFFFF
44062                     Local0 |= 0x80000000
44063                     Local1 = RPRM ((DADR + Zero), 0x04)
44064                     If (((Local1 == Local0) || (Local1 == Zero)))
44065                     {
44066                         DSTA = Zero
44067                         ESTA = Zero
44068                         If ((DBUS != Zero))
44069                         {
44070                             Local2 = ^^SPCH (^^DADR, 0x10)
44071                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
44072                                 0x40) == 0x40))
44073                             {
44074                                 DSTA = 0x0F
44075                                 ESTA = 0xEE
44076                             }
44077                         }
44078                     }
44079                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
44080                     {
44081                         EBUS = RPRM ((DADR + 0x19), One)
44082                         Local2 = SPCH (DADR, 0x10)
44083                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
44084                             One) >> 0x04) & 0x0F) == 0x05))
44085                         {
44086                             If ((EBUS == Zero))
44087                             {
44088                                 DSTA = 0x0F
44089                                 ESTA = 0xEE
44090                             }
44091                             ElseIf ((SPDP (EBUS) == Zero))
44092                             {
44093                                 DSTA = Zero
44094                                 ESTA = Zero
44095                             }
44096                             Else
44097                             {
44098                                 DSTA = 0x0F
44099                                 ESTA = 0x0F
44100                             }
44101                         }
44102                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
44103                             One) & 0x40) == Zero))
44104                         {
44105                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
44106                                 0x40) == Zero))
44107                             {
44108                                 DSTA = Zero
44109                                 ESTA = Zero
44110                             }
44111                             Else
44112                             {
44113                                 DSTA = 0x0F
44114                                 ESTA = 0xEE
44115                             }
44116                         }
44117                         ElseIf ((EBUS == Zero))
44118                         {
44119                             DSTA = 0x0F
44120                             ESTA = 0xEE
44121                         }
44122                         Else
44123                         {
44124                             DSTA = 0x0F
44125                             ESTA = 0x0F
44126                         }
44127                     }
44128                     Else
44129                     {
44130                         DSTA = 0x0F
44131                         ESTA = Zero
44132                     }
44133                 }
44134                 Else
44135                 {
44136                     DSTA = Zero
44137                     ESTA = 0xEE
44138                 }
44139             }
44140 
44141             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
44142             {
44143                 PWST = 0xD0
44144             }
44145 
44146             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
44147             {
44148                 PWST = 0xD3
44149             }
44150 
44151             If (CondRefOf (SSTA))
44152             {
44153                 SSTA ()
44154             }
44155 
44156             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
44157             Return (DSTA) /* \_SB_.PCI0.GP17.XHC1.DSTA */
44158         }
44159 
44160         Method (_INI, 0, Serialized)  // _INI: Initialize
44161         {
44162             Local0 = 0x7FFFFFFF
44163             Local0 |= 0x80000000
44164             Local1 = RPRM ((DADR + Zero), 0x04)
44165             If (((Local1 == Local0) || (Local1 == Zero)))
44166             {
44167                 PCSA = Zero
44168                 PWST = 0xD3
44169                 PW3S = Zero
44170             }
44171             Else
44172             {
44173                 PCSA = One
44174                 PWST = 0xD0
44175                 PW3S = One
44176             }
44177 
44178             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
44179             If (CondRefOf (SINI))
44180             {
44181                 SINI ()
44182             }
44183         }
44184 
44185         Method (_REG, 2, Serialized)  // _REG: Region Availability
44186         {
44187             If (((Arg0 == 0x02) && (Arg1 == One)))
44188             {
44189                 If ((DSTA == 0x0F))
44190                 {
44191                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
44192                     {
44193                         PCSA = One
44194                     }
44195                 }
44196             }
44197 
44198             If (((Arg0 == 0x02) && (Arg1 == Zero)))
44199             {
44200                 PCSA = Zero
44201             }
44202 
44203             If (CondRefOf (SREG))
44204             {
44205                 SREG (Arg0, Arg1)
44206             }
44207 
44208             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
44209         }
44210 
44211         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
44212         {
44213             If (CondRefOf (SDSW))
44214             {
44215                 SDSW (Arg0, Arg1, Arg2)
44216             }
44217 
44218             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
44219         }
44220 
44221         Method (_PS0, 0, Serialized)  // _PS0: Power State 0
44222         {
44223             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, Zero, Zero, Zero, Zero, Zero)
44224             If (CondRefOf (PPS0))
44225             {
44226                 PPS0 ()
44227             }
44228         }
44229 
44230         Method (_PS3, 0, Serialized)  // _PS3: Power State 3
44231         {
44232             M460 ("  OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, Zero, Zero, Zero, Zero, Zero)
44233             If (CondRefOf (PPS3))
44234             {
44235                 PPS3 ()
44236             }
44237         }
44238 
44239         PowerResource (PWRS, 0x00, 0x0000)
44240         {
44241             Method (_STA, 0, Serialized)  // _STA: Status
44242             {
44243                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44244                 If (CondRefOf (PSTA))
44245                 {
44246                     PSTA ()
44247                 }
44248 
44249                 Return (PW3S) /* \_SB_.PCI0.GP17.XHC1.PW3S */
44250             }
44251 
44252             Method (_ON, 0, Serialized)  // _ON_: Power On
44253             {
44254                 If ((PW3S == Zero))
44255                 {
44256                     PW3S = One
44257                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44258                     If (CondRefOf (P_ON))
44259                     {
44260                         P_ON ()
44261                     }
44262                 }
44263             }
44264 
44265             Method (_OFF, 0, Serialized)  // _OFF: Power Off
44266             {
44267                 If ((PW3S == One))
44268                 {
44269                     PW3S = Zero
44270                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44271                     If (CondRefOf (P_OF))
44272                     {
44273                         P_OF ()
44274                     }
44275                 }
44276             }
44277         }
44278 
44279         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
44280         {
44281             PWRS
44282         })
44283         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
44284         {
44285             PWRS
44286         })
44287     }
44288 
44289     Scope (\_SB.PCI0.GP17.ACP)
44290     {
44291         Method (_WOV, 0, Serialized)
44292         {
44293             Local0 = Zero
44294             If ((\F5WV != 0x55))
44295             {
44296                 Local0 = \F5WV
44297             }
44298 
44299             M460 ("  OEM-ASL-PCIe Address (0x%X)._WOV ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
44300             Return (Local0)
44301         }
44302 
44303         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
44304         {
44305             Local0 = Zero
44306             If ((\F5D3 != 0x55))
44307             {
44308                 Local0 = \F5D3 /* External reference */
44309             }
44310 
44311             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
44312             Return (Local0)
44313         }
44314 
44315         Name (DADR, 0xEEEEEEEE)
44316         Name (DSTA, 0xEE)
44317         Name (DBUS, 0xEEEE)
44318         Name (PCSA, Zero)
44319         Name (PWST, 0xD3)
44320         Name (ESTA, 0xEE)
44321         Name (EBUS, 0xEEEE)
44322         Name (PW3S, Zero)
44323         Method (RPRM, 2, NotSerialized)
44324         {
44325             Local0 = Arg0
44326             OperationRegion (VARM, SystemMemory, Local0, 0x04)
44327             Field (VARM, AnyAcc, NoLock, Preserve)
44328             {
44329                 VARR,   32
44330             }
44331 
44332             Local1 = VARR /* \_SB_.PCI0.GP17.ACP_.RPRM.VARR */
44333             If ((Arg1 == One))
44334             {
44335                 Local1 &= 0xFF
44336             }
44337             ElseIf ((Arg1 == 0x02))
44338             {
44339                 Local1 &= 0xFFFF
44340             }
44341             ElseIf ((Arg1 == 0x03))
44342             {
44343                 Local1 &= 0x00FFFFFF
44344             }
44345 
44346             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
44347             Return (Local1)
44348         }
44349 
44350         Method (WPRM, 3, NotSerialized)
44351         {
44352             Local0 = Arg0
44353             If ((Arg1 == One))
44354             {
44355                 OperationRegion (VARA, SystemMemory, Local0, One)
44356                 Field (VARA, AnyAcc, NoLock, Preserve)
44357                 {
44358                     VARE,   8
44359                 }
44360 
44361                 VARE = Arg2
44362             }
44363             ElseIf ((Arg1 == 0x02))
44364             {
44365                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
44366                 Field (VARB, AnyAcc, NoLock, Preserve)
44367                 {
44368                     VARF,   16
44369                 }
44370 
44371                 VARF = Arg2
44372             }
44373             ElseIf ((Arg1 == 0x03))
44374             {
44375                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
44376                 Field (VARC, AnyAcc, NoLock, Preserve)
44377                 {
44378                     VARG,   24
44379                 }
44380 
44381                 VARG = Arg2
44382             }
44383             Else
44384             {
44385                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
44386                 Field (VARD, AnyAcc, NoLock, Preserve)
44387                 {
44388                     VARH,   32
44389                 }
44390 
44391                 VARH = Arg2
44392             }
44393 
44394             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
44395         }
44396 
44397         Method (SPDP, 1, NotSerialized)
44398         {
44399             Local5 = 0x7FFFFFFF
44400             Local5 |= 0x80000000
44401             Local2 = Zero
44402             Local0 = Zero
44403             While ((Local0 <= 0x1F))
44404             {
44405                 Local1 = Zero
44406                 While ((Local1 <= 0x07))
44407                 {
44408                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
44409                         0x0F) & 0x000F8000))
44410                     Local3 |= ((Local1 << 0x0C) & 0x7000)
44411                     Local4 = RPRM ((M083 + Local3), 0x04)
44412                     If (((Local4 != Local5) && (Local4 != Zero)))
44413                     {
44414                         Local2 |= (One << Local0)
44415                     }
44416                     ElseIf ((Local1 == Zero))
44417                     {
44418                         Break
44419                     }
44420 
44421                     Local1++
44422                 }
44423 
44424                 Local0++
44425             }
44426 
44427             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
44428             Return (Local2)
44429         }
44430 
44431         Method (SPCH, 2, NotSerialized)
44432         {
44433             Local0 = Zero
44434             Local1 = RPRM ((Arg0 + 0x34), One)
44435             While ((Local1 != Zero))
44436             {
44437                 Local2 = RPRM ((DADR + Local1), One)
44438                 If (((Local2 == Zero) || (Local2 == 0xFF)))
44439                 {
44440                     Break
44441                 }
44442 
44443                 If ((Local2 == Arg1))
44444                 {
44445                     Local0 = Local1
44446                     Break
44447                 }
44448 
44449                 Local1 = RPRM ((DADR + (Local1 + One)), One)
44450             }
44451 
44452             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
44453             Return (Local0)
44454         }
44455 
44456         Method (_STA, 0, Serialized)  // _STA: Status
44457         {
44458             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
44459             {
44460                 If ((DBUS == 0xEEEE))
44461                 {
44462                     If (CondRefOf (^^EBUS))
44463                     {
44464                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
44465                     }
44466                     Else
44467                     {
44468                         DBUS = Zero
44469                     }
44470                 }
44471 
44472                 If ((DBUS != 0xEEEE))
44473                 {
44474                     If ((DADR == 0xEEEEEEEE))
44475                     {
44476                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
44477                             One) & 0x000F8000))
44478                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
44479                         DADR = (M083 + Local0)
44480                     }
44481 
44482                     Local0 = 0x7FFFFFFF
44483                     Local0 |= 0x80000000
44484                     Local1 = RPRM ((DADR + Zero), 0x04)
44485                     If (((Local1 == Local0) || (Local1 == Zero)))
44486                     {
44487                         DSTA = Zero
44488                         ESTA = Zero
44489                         If ((DBUS != Zero))
44490                         {
44491                             Local2 = ^^SPCH (^^DADR, 0x10)
44492                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
44493                                 0x40) == 0x40))
44494                             {
44495                                 DSTA = 0x0F
44496                                 ESTA = 0xEE
44497                             }
44498                         }
44499                     }
44500                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
44501                     {
44502                         EBUS = RPRM ((DADR + 0x19), One)
44503                         Local2 = SPCH (DADR, 0x10)
44504                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
44505                             One) >> 0x04) & 0x0F) == 0x05))
44506                         {
44507                             If ((EBUS == Zero))
44508                             {
44509                                 DSTA = 0x0F
44510                                 ESTA = 0xEE
44511                             }
44512                             ElseIf ((SPDP (EBUS) == Zero))
44513                             {
44514                                 DSTA = Zero
44515                                 ESTA = Zero
44516                             }
44517                             Else
44518                             {
44519                                 DSTA = 0x0F
44520                                 ESTA = 0x0F
44521                             }
44522                         }
44523                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
44524                             One) & 0x40) == Zero))
44525                         {
44526                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
44527                                 0x40) == Zero))
44528                             {
44529                                 DSTA = Zero
44530                                 ESTA = Zero
44531                             }
44532                             Else
44533                             {
44534                                 DSTA = 0x0F
44535                                 ESTA = 0xEE
44536                             }
44537                         }
44538                         ElseIf ((EBUS == Zero))
44539                         {
44540                             DSTA = 0x0F
44541                             ESTA = 0xEE
44542                         }
44543                         Else
44544                         {
44545                             DSTA = 0x0F
44546                             ESTA = 0x0F
44547                         }
44548                     }
44549                     Else
44550                     {
44551                         DSTA = 0x0F
44552                         ESTA = Zero
44553                     }
44554                 }
44555                 Else
44556                 {
44557                     DSTA = Zero
44558                     ESTA = 0xEE
44559                 }
44560             }
44561 
44562             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
44563             {
44564                 PWST = 0xD0
44565             }
44566 
44567             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
44568             {
44569                 PWST = 0xD3
44570             }
44571 
44572             If (CondRefOf (SSTA))
44573             {
44574                 SSTA ()
44575             }
44576 
44577             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
44578             Return (DSTA) /* \_SB_.PCI0.GP17.ACP_.DSTA */
44579         }
44580 
44581         Method (_INI, 0, Serialized)  // _INI: Initialize
44582         {
44583             Local0 = 0x7FFFFFFF
44584             Local0 |= 0x80000000
44585             Local1 = RPRM ((DADR + Zero), 0x04)
44586             If (((Local1 == Local0) || (Local1 == Zero)))
44587             {
44588                 PCSA = Zero
44589                 PWST = 0xD3
44590                 PW3S = Zero
44591             }
44592             Else
44593             {
44594                 PCSA = One
44595                 PWST = 0xD0
44596                 PW3S = One
44597             }
44598 
44599             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
44600             If (CondRefOf (SINI))
44601             {
44602                 SINI ()
44603             }
44604         }
44605 
44606         Method (_REG, 2, Serialized)  // _REG: Region Availability
44607         {
44608             If (((Arg0 == 0x02) && (Arg1 == One)))
44609             {
44610                 If ((DSTA == 0x0F))
44611                 {
44612                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
44613                     {
44614                         PCSA = One
44615                     }
44616                 }
44617             }
44618 
44619             If (((Arg0 == 0x02) && (Arg1 == Zero)))
44620             {
44621                 PCSA = Zero
44622             }
44623 
44624             If (CondRefOf (SREG))
44625             {
44626                 SREG (Arg0, Arg1)
44627             }
44628 
44629             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
44630         }
44631 
44632         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
44633         {
44634             If (CondRefOf (SDSW))
44635             {
44636                 SDSW (Arg0, Arg1, Arg2)
44637             }
44638 
44639             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
44640         }
44641 
44642         PowerResource (PWRS, 0x00, 0x0000)
44643         {
44644             Method (_STA, 0, Serialized)  // _STA: Status
44645             {
44646                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44647                 If (CondRefOf (PSTA))
44648                 {
44649                     PSTA ()
44650                 }
44651 
44652                 Return (PW3S) /* \_SB_.PCI0.GP17.ACP_.PW3S */
44653             }
44654 
44655             Method (_ON, 0, Serialized)  // _ON_: Power On
44656             {
44657                 If ((PW3S == Zero))
44658                 {
44659                     PW3S = One
44660                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44661                     If (CondRefOf (P_ON))
44662                     {
44663                         P_ON ()
44664                     }
44665                 }
44666             }
44667 
44668             Method (_OFF, 0, Serialized)  // _OFF: Power Off
44669             {
44670                 If ((PW3S == One))
44671                 {
44672                     PW3S = Zero
44673                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
44674                     If (CondRefOf (P_OF))
44675                     {
44676                         P_OF ()
44677                     }
44678                 }
44679             }
44680         }
44681 
44682         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
44683         {
44684             PWRS
44685         })
44686         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
44687         {
44688             PWRS
44689         })
44690     }
44691 
44692     Scope (\_SB.PCI0.GP17.AZAL)
44693     {
44694         Method (_S0W, 0, Serialized)  // _S0W: S0 Device Wake State
44695         {
44696             Local0 = Zero
44697             If ((\F6D3 != 0x55))
44698             {
44699                 Local0 = \F6D3 /* External reference */
44700             }
44701 
44702             M460 ("  OEM-ASL-PCIe Address (0x%X)._S0W ()  Return %d\n", DADR, Local0, Zero, Zero, Zero, Zero)
44703             Return (Local0)
44704         }
44705 
44706         Name (DADR, 0xEEEEEEEE)
44707         Name (DSTA, 0xEE)
44708         Name (DBUS, 0xEEEE)
44709         Name (PCSA, Zero)
44710         Name (PWST, 0xD3)
44711         Name (ESTA, 0xEE)
44712         Name (EBUS, 0xEEEE)
44713         Name (PW3S, Zero)
44714         Method (RPRM, 2, NotSerialized)
44715         {
44716             Local0 = Arg0
44717             OperationRegion (VARM, SystemMemory, Local0, 0x04)
44718             Field (VARM, AnyAcc, NoLock, Preserve)
44719             {
44720                 VARR,   32
44721             }
44722 
44723             Local1 = VARR /* \_SB_.PCI0.GP17.AZAL.RPRM.VARR */
44724             If ((Arg1 == One))
44725             {
44726                 Local1 &= 0xFF
44727             }
44728             ElseIf ((Arg1 == 0x02))
44729             {
44730                 Local1 &= 0xFFFF
44731             }
44732             ElseIf ((Arg1 == 0x03))
44733             {
44734                 Local1 &= 0x00FFFFFF
44735             }
44736 
44737             M460 ("  OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, Zero, Zero)
44738             Return (Local1)
44739         }
44740 
44741         Method (WPRM, 3, NotSerialized)
44742         {
44743             Local0 = Arg0
44744             If ((Arg1 == One))
44745             {
44746                 OperationRegion (VARA, SystemMemory, Local0, One)
44747                 Field (VARA, AnyAcc, NoLock, Preserve)
44748                 {
44749                     VARE,   8
44750                 }
44751 
44752                 VARE = Arg2
44753             }
44754             ElseIf ((Arg1 == 0x02))
44755             {
44756                 OperationRegion (VARB, SystemMemory, Local0, 0x02)
44757                 Field (VARB, AnyAcc, NoLock, Preserve)
44758                 {
44759                     VARF,   16
44760                 }
44761 
44762                 VARF = Arg2
44763             }
44764             ElseIf ((Arg1 == 0x03))
44765             {
44766                 OperationRegion (VARC, SystemMemory, Local0, 0x03)
44767                 Field (VARC, AnyAcc, NoLock, Preserve)
44768                 {
44769                     VARG,   24
44770                 }
44771 
44772                 VARG = Arg2
44773             }
44774             Else
44775             {
44776                 OperationRegion (VARD, SystemMemory, Local0, 0x04)
44777                 Field (VARD, AnyAcc, NoLock, Preserve)
44778                 {
44779                     VARH,   32
44780                 }
44781 
44782                 VARH = Arg2
44783             }
44784 
44785             M460 ("  OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, Zero, Zero)
44786         }
44787 
44788         Method (SPDP, 1, NotSerialized)
44789         {
44790             Local5 = 0x7FFFFFFF
44791             Local5 |= 0x80000000
44792             Local2 = Zero
44793             Local0 = Zero
44794             While ((Local0 <= 0x1F))
44795             {
44796                 Local1 = Zero
44797                 While ((Local1 <= 0x07))
44798                 {
44799                     Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 << 
44800                         0x0F) & 0x000F8000))
44801                     Local3 |= ((Local1 << 0x0C) & 0x7000)
44802                     Local4 = RPRM ((M083 + Local3), 0x04)
44803                     If (((Local4 != Local5) && (Local4 != Zero)))
44804                     {
44805                         Local2 |= (One << Local0)
44806                     }
44807                     ElseIf ((Local1 == Zero))
44808                     {
44809                         Break
44810                     }
44811 
44812                     Local1++
44813                 }
44814 
44815                 Local0++
44816             }
44817 
44818             M460 ("  OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, Zero, Zero, Zero)
44819             Return (Local2)
44820         }
44821 
44822         Method (SPCH, 2, NotSerialized)
44823         {
44824             Local0 = Zero
44825             Local1 = RPRM ((Arg0 + 0x34), One)
44826             While ((Local1 != Zero))
44827             {
44828                 Local2 = RPRM ((DADR + Local1), One)
44829                 If (((Local2 == Zero) || (Local2 == 0xFF)))
44830                 {
44831                     Break
44832                 }
44833 
44834                 If ((Local2 == Arg1))
44835                 {
44836                     Local0 = Local1
44837                     Break
44838                 }
44839 
44840                 Local1 = RPRM ((DADR + (Local1 + One)), One)
44841             }
44842 
44843             M460 ("  OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, Zero, Zero)
44844             Return (Local0)
44845         }
44846 
44847         Method (_STA, 0, Serialized)  // _STA: Status
44848         {
44849             If (((DSTA == 0xEE) || (ESTA == 0xEE)))
44850             {
44851                 If ((DBUS == 0xEEEE))
44852                 {
44853                     If (CondRefOf (^^EBUS))
44854                     {
44855                         DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
44856                     }
44857                     Else
44858                     {
44859                         DBUS = Zero
44860                     }
44861                 }
44862 
44863                 If ((DBUS != 0xEEEE))
44864                 {
44865                     If ((DADR == 0xEEEEEEEE))
44866                     {
44867                         Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >> 
44868                             One) & 0x000F8000))
44869                         Local0 |= ((DBUS << 0x14) & 0x0FF00000)
44870                         DADR = (M083 + Local0)
44871                     }
44872 
44873                     Local0 = 0x7FFFFFFF
44874                     Local0 |= 0x80000000
44875                     Local1 = RPRM ((DADR + Zero), 0x04)
44876                     If (((Local1 == Local0) || (Local1 == Zero)))
44877                     {
44878                         DSTA = Zero
44879                         ESTA = Zero
44880                         If ((DBUS != Zero))
44881                         {
44882                             Local2 = ^^SPCH (^^DADR, 0x10)
44883                             If (((^^RPRM ((^^DADR + (Local2 + 0x14)), One) & 
44884                                 0x40) == 0x40))
44885                             {
44886                                 DSTA = 0x0F
44887                                 ESTA = 0xEE
44888                             }
44889                         }
44890                     }
44891                     ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
44892                     {
44893                         EBUS = RPRM ((DADR + 0x19), One)
44894                         Local2 = SPCH (DADR, 0x10)
44895                         If ((((RPRM ((DADR + (Local2 + 0x02)), 
44896                             One) >> 0x04) & 0x0F) == 0x05))
44897                         {
44898                             If ((EBUS == Zero))
44899                             {
44900                                 DSTA = 0x0F
44901                                 ESTA = 0xEE
44902                             }
44903                             ElseIf ((SPDP (EBUS) == Zero))
44904                             {
44905                                 DSTA = Zero
44906                                 ESTA = Zero
44907                             }
44908                             Else
44909                             {
44910                                 DSTA = 0x0F
44911                                 ESTA = 0x0F
44912                             }
44913                         }
44914                         ElseIf (((RPRM ((DADR + (Local2 + 0x1A)), 
44915                             One) & 0x40) == Zero))
44916                         {
44917                             If (((RPRM ((DADR + (Local2 + 0x14)), One) & 
44918                                 0x40) == Zero))
44919                             {
44920                                 DSTA = Zero
44921                                 ESTA = Zero
44922                             }
44923                             Else
44924                             {
44925                                 DSTA = 0x0F
44926                                 ESTA = 0xEE
44927                             }
44928                         }
44929                         ElseIf ((EBUS == Zero))
44930                         {
44931                             DSTA = 0x0F
44932                             ESTA = 0xEE
44933                         }
44934                         Else
44935                         {
44936                             DSTA = 0x0F
44937                             ESTA = 0x0F
44938                         }
44939                     }
44940                     Else
44941                     {
44942                         DSTA = 0x0F
44943                         ESTA = Zero
44944                     }
44945                 }
44946                 Else
44947                 {
44948                     DSTA = Zero
44949                     ESTA = 0xEE
44950                 }
44951             }
44952 
44953             If ((((PCSA == One) && (PWST == 0xD3)) && (PW3S == One)))
44954             {
44955                 PWST = 0xD0
44956             }
44957 
44958             If ((((PCSA == Zero) && (PWST == 0xD0)) && (PW3S == Zero)))
44959             {
44960                 PWST = 0xD3
44961             }
44962 
44963             If (CondRefOf (SSTA))
44964             {
44965                 SSTA ()
44966             }
44967 
44968             M460 ("  OEM-ASL-PCIe Address (0x%X)._STA = 0x%X  PWST = 0x%X  DBUS = 0x%X  ESTA = 0x%X  EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
44969             Return (DSTA) /* \_SB_.PCI0.GP17.AZAL.DSTA */
44970         }
44971 
44972         Method (_INI, 0, Serialized)  // _INI: Initialize
44973         {
44974             Local0 = 0x7FFFFFFF
44975             Local0 |= 0x80000000
44976             Local1 = RPRM ((DADR + Zero), 0x04)
44977             If (((Local1 == Local0) || (Local1 == Zero)))
44978             {
44979                 PCSA = Zero
44980                 PWST = 0xD3
44981                 PW3S = Zero
44982             }
44983             Else
44984             {
44985                 PCSA = One
44986                 PWST = 0xD0
44987                 PW3S = One
44988             }
44989 
44990             M460 ("  OEM-ASL-PCIe Address (0x%X)._INI  PCSA = 0x%X  PWST = 0x%X  PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, Zero, Zero)
44991             If (CondRefOf (SINI))
44992             {
44993                 SINI ()
44994             }
44995         }
44996 
44997         Method (_REG, 2, Serialized)  // _REG: Region Availability
44998         {
44999             If (((Arg0 == 0x02) && (Arg1 == One)))
45000             {
45001                 If ((DSTA == 0x0F))
45002                 {
45003                     If (((RPRM ((DADR + 0x04), One) & 0xFC) == 0x04))
45004                     {
45005                         PCSA = One
45006                     }
45007                 }
45008             }
45009 
45010             If (((Arg0 == 0x02) && (Arg1 == Zero)))
45011             {
45012                 PCSA = Zero
45013             }
45014 
45015             If (CondRefOf (SREG))
45016             {
45017                 SREG (Arg0, Arg1)
45018             }
45019 
45020             M460 ("  OEM-ASL-PCIe Address (0x%X)._REG (%d %d)  PCSA = %d\n", DADR, Arg0, Arg1, PCSA, Zero, Zero)
45021         }
45022 
45023         Method (_DSW, 3, Serialized)  // _DSW: Device Sleep Wake
45024         {
45025             If (CondRefOf (SDSW))
45026             {
45027                 SDSW (Arg0, Arg1, Arg2)
45028             }
45029 
45030             M460 ("  OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d)  PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, Zero)
45031         }
45032 
45033         PowerResource (PWRS, 0x00, 0x0000)
45034         {
45035             Method (_STA, 0, Serialized)  // _STA: Status
45036             {
45037                 M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
45038                 If (CondRefOf (PSTA))
45039                 {
45040                     PSTA ()
45041                 }
45042 
45043                 Return (PW3S) /* \_SB_.PCI0.GP17.AZAL.PW3S */
45044             }
45045 
45046             Method (_ON, 0, Serialized)  // _ON_: Power On
45047             {
45048                 If ((PW3S == Zero))
45049                 {
45050                     PW3S = One
45051                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
45052                     If (CondRefOf (P_ON))
45053                     {
45054                         P_ON ()
45055                     }
45056                 }
45057             }
45058 
45059             Method (_OFF, 0, Serialized)  // _OFF: Power Off
45060             {
45061                 If ((PW3S == One))
45062                 {
45063                     PW3S = Zero
45064                     M460 ("  OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, Zero, Zero, Zero, Zero)
45065                     If (CondRefOf (P_OF))
45066                     {
45067                         P_OF ()
45068                     }
45069                 }
45070             }
45071         }
45072 
45073         Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
45074         {
45075             PWRS
45076         })
45077         Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
45078         {
45079             PWRS
45080         })
45081     }
45082 
45083     Scope (\_GPE)
45084     {
45085         Method (_L19, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
45086         {
45087             M460 ("  OEM-ASL-\\_GPE._L19\n", Zero, Zero, Zero, Zero, Zero, Zero)
45088             If (CondRefOf (\_SB.PCI0.GP17))
45089             {
45090                 M460 ("    Notify (\\_SB.PCI0.GP17, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45091                 Notify (\_SB.PCI0.GP17, 0x02) // Device Wake
45092             }
45093 
45094             If (CondRefOf (\_SB.PCI0.GP17.XHC0))
45095             {
45096                 M460 ("    Notify (\\_SB.PCI0.GP17.XHC0, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45097                 Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
45098             }
45099 
45100             If (CondRefOf (\_SB.PCI0.GP17.XHC1))
45101             {
45102                 M460 ("    Notify (\\_SB.PCI0.GP17.XHC1, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45103                 Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
45104             }
45105         }
45106     }
45107 
45108     Scope (\_SB.GPIO)
45109     {
45110         Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
45111         {
45112             Name (BUF0, ResourceTemplate ()
45113             {
45114                 GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1388,
45115                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45116                     )
45117                     {   // Pin list
45118                         0x0000
45119                     }
45120                 GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
45121                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45122                     )
45123                     {   // Pin list
45124                         0x003D
45125                     }
45126                 GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
45127                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45128                     )
45129                     {   // Pin list
45130                         0x003E
45131                     }
45132                 GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
45133                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45134                     )
45135                     {   // Pin list
45136                         0x003A
45137                     }
45138                 GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
45139                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45140                     )
45141                     {   // Pin list
45142                         0x003B
45143                     }
45144                 GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
45145                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45146                     )
45147                     {   // Pin list
45148                         0x0011
45149                     }
45150                 GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
45151                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45152                     )
45153                     {   // Pin list
45154                         0x0012
45155                     }
45156                 GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
45157                     "\\_SB.GPIO", 0x00, ResourceConsumer, ,
45158                     )
45159                     {   // Pin list
45160                         0x0018
45161                     }
45162             })
45163             M460 ("  OEM-ASL-\\_SB.GPIO._AEI\n", Zero, Zero, Zero, Zero, Zero, Zero)
45164             Return (BUF0) /* \_SB_.GPIO._AEI.BUF0 */
45165         }
45166 
45167         Method (_EVT, 1, Serialized)  // _EVT: Event
45168         {
45169             Name (HPDW, 0x55)
45170             M460 ("  OEM-ASL-\\_SB.GPIO._EVT-Start Case %d\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
45171             Switch (ToInteger (Arg0))
45172             {
45173                 Case (Zero)
45174                 {
45175                     M000 (0x3900)
45176                     M460 ("    Notify (\\_SB.PWRB, 0x80)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45177                     Notify (\_SB.PWRB, 0x80) // Status Change
45178                 }
45179                 Case (0x02)
45180                 {
45181                     M000 (0x3902)
45182                 }
45183                 Case (0x03)
45184                 {
45185                     M000 (0x3902)
45186                 }
45187                 Case (0x11)
45188                 {
45189                     M000 (0x3911)
45190                     M460 ("    Notify (\\_SB.PCI0.GPP2, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45191                     Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
45192                 }
45193                 Case (0x12)
45194                 {
45195                     M000 (0x3912)
45196                     M460 ("    Notify (\\_SB.PCI0.GPP6, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45197                     Notify (\_SB.PCI0.GPP6, 0x02) // Device Wake
45198                 }
45199                 Case (0x18)
45200                 {
45201                     M000 (0x3918)
45202                     M460 ("    Notify (\\_SB.PCI0.GPP5, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45203                     Notify (\_SB.PCI0.GPP5, 0x02) // Device Wake
45204                 }
45205                 Case (0x36)
45206                 {
45207                     M000 (0x3936)
45208                 }
45209                 Case (0x3A)
45210                 {
45211                     M000 (0x393A)
45212                     M460 ("    Notify (\\_SB.PCI0.GP17.XHC0, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45213                     Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
45214                 }
45215                 Case (0x3B)
45216                 {
45217                     M000 (0x393B)
45218                     M460 ("    Notify (\\_SB.PCI0.GP17.XHC1, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45219                     Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
45220                 }
45221                 Case (0x2A)
45222                 {
45223                     M000 (0x392A)
45224                 }
45225                 Case (0x3D)
45226                 {
45227                     M000 (0x393D)
45228                     M460 ("    Notify (\\_SB.PCI0.GP17.AZAL, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45229                     Notify (\_SB.PCI0.GP17.AZAL, 0x02) // Device Wake
45230                 }
45231                 Case (0x3E)
45232                 {
45233                     M000 (0x393D)
45234                     M460 ("    Notify (\\_SB.PCI0.GP17.ACP, 0x02)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45235                     Notify (\_SB.PCI0.GP17.ACP, 0x02) // Device Wake
45236                 }
45237 
45238             }
45239 
45240             M460 ("  OEM-ASL-\\_SB.GPIO._EVT-End Case %d\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
45241         }
45242     }
45243 
45244     Scope (\_SB.PLTF)
45245     {
45246         Name (_LPI, Package (0x04)  // _LPI: Low Power Idle States
45247         {
45248             Zero, 
45249             Zero, 
45250             One, 
45251             Package (0x0A)
45252             {
45253                 0x000F4240, 
45254                 0xC350, 
45255                 One, 
45256                 Zero, 
45257                 Zero, 
45258                 Zero, 
45259                 Zero, 
45260                 ResourceTemplate ()
45261                 {
45262                     Register (SystemMemory, 
45263                         0x00,               // Bit Width
45264                         0x00,               // Bit Offset
45265                         0x0000000000000000, // Address
45266                         ,)
45267                 }, 
45268 
45269                 ResourceTemplate ()
45270                 {
45271                     Register (SystemMemory, 
45272                         0x00,               // Bit Width
45273                         0x00,               // Bit Offset
45274                         0x0000000000000000, // Address
45275                         ,)
45276                 }, 
45277 
45278                 "S0i3"
45279             }
45280         })
45281     }
45282 
45283     Scope (\_SB.PCI0.GPP5)
45284     {
45285         Name (WD3C, Zero)
45286         PowerResource (P0NV, 0x00, 0x0000)
45287         {
45288             Name (D0NV, One)
45289             Method (_STA, 0, NotSerialized)  // _STA: Status
45290             {
45291                 M000 (0x30AA)
45292                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5.P0NV._STA\n", Zero, Zero, Zero, Zero, Zero, Zero)
45293                 Return (D0NV) /* \_SB_.PCI0.GPP5.P0NV.D0NV */
45294             }
45295 
45296             Method (_ON, 0, NotSerialized)  // _ON_: Power On
45297             {
45298                 M000 (0x30D0)
45299                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5.P0NV._ON\n", Zero, Zero, Zero, Zero, Zero, Zero)
45300                 If ((M4C0 != Zero))
45301                 {
45302                     If ((M049 (M4C0, 0x10) == One))
45303                     {
45304                         If (CondRefOf (PWEN))
45305                         {
45306                             PWEN ()
45307                         }
45308 
45309                         If ((WD3C == One))
45310                         {
45311                             If ((M049 (M4C0, 0x12) == One))
45312                             {
45313                                 RPCF ()
45314                                 UPWD ()
45315                                 WD3C = Zero
45316                             }
45317                         }
45318                     }
45319                 }
45320 
45321                 D0NV = One
45322                 M000 (0x30D1)
45323             }
45324 
45325             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
45326             {
45327                 M000 (0x30D3)
45328                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5.P0NV._OFF\n", Zero, Zero, Zero, Zero, Zero, Zero)
45329                 If ((M4C0 != Zero))
45330                 {
45331                     If ((M049 (M4C0, 0x10) == One))
45332                     {
45333                         If (CondRefOf (PWDI))
45334                         {
45335                             PWDI ()
45336                         }
45337 
45338                         If ((M049 (M4C0, 0x12) == One))
45339                         {
45340                             SPCF (_ADR)
45341                         }
45342                     }
45343                 }
45344 
45345                 D0NV = Zero
45346                 M000 (0x30D5)
45347             }
45348         }
45349 
45350         Device (NVME)
45351         {
45352             Name (_ADR, Zero)  // _ADR: Address
45353             Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
45354             Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
45355             {
45356                 P0NV
45357             })
45358             Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
45359             {
45360                 P0NV
45361             })
45362             Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
45363             {
45364                 P0NV
45365             })
45366             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
45367             {
45368                 M000 (0x3050)
45369                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5.NVME._PS0\n", Zero, Zero, Zero, Zero, Zero, Zero)
45370             }
45371 
45372             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
45373             {
45374                 M000 (0x3053)
45375                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5.NVME._PS3\n", Zero, Zero, Zero, Zero, Zero, Zero)
45376             }
45377 
45378             Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
45379             {
45380                 ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
45381                 Package (0x01)
45382                 {
45383                     Package (0x02)
45384                     {
45385                         "StorageD3Enable", 
45386                         One
45387                     }
45388                 }
45389             })
45390         }
45391     }
45392 
45393     Scope (\_SB.PCI0.GPP6)
45394     {
45395         Name (WD3C, Zero)
45396         PowerResource (P0NV, 0x00, 0x0000)
45397         {
45398             Name (D0NV, One)
45399             Method (_STA, 0, NotSerialized)  // _STA: Status
45400             {
45401                 M000 (0x30AA)
45402                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.P0NV._STA\n", Zero, Zero, Zero, Zero, Zero, Zero)
45403                 Return (D0NV) /* \_SB_.PCI0.GPP6.P0NV.D0NV */
45404             }
45405 
45406             Method (_ON, 0, NotSerialized)  // _ON_: Power On
45407             {
45408                 M000 (0x30D0)
45409                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.P0NV._ON\n", Zero, Zero, Zero, Zero, Zero, Zero)
45410                 If ((M4C0 != Zero))
45411                 {
45412                     If ((M049 (M4C0, 0x10) == One))
45413                     {
45414                         If (CondRefOf (PWEN))
45415                         {
45416                             PWEN ()
45417                         }
45418 
45419                         If ((WD3C == One))
45420                         {
45421                             If ((M049 (M4C0, 0x12) == One))
45422                             {
45423                                 RPCF ()
45424                                 UPWD ()
45425                                 WD3C = Zero
45426                             }
45427                         }
45428                     }
45429                 }
45430 
45431                 D0NV = One
45432                 M000 (0x30D1)
45433             }
45434 
45435             Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
45436             {
45437                 M000 (0x30D3)
45438                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.P0NV._OFF\n", Zero, Zero, Zero, Zero, Zero, Zero)
45439                 If ((M4C0 != Zero))
45440                 {
45441                     If ((M049 (M4C0, 0x10) == One))
45442                     {
45443                         If (CondRefOf (PWDI))
45444                         {
45445                             PWDI ()
45446                         }
45447 
45448                         If ((M049 (M4C0, 0x12) == One))
45449                         {
45450                             SPCF (_ADR)
45451                         }
45452                     }
45453                 }
45454 
45455                 D0NV = Zero
45456                 M000 (0x30D5)
45457             }
45458         }
45459 
45460         Device (NVME)
45461         {
45462             Name (_ADR, Zero)  // _ADR: Address
45463             Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
45464             Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
45465             {
45466                 P0NV
45467             })
45468             Name (_PR2, Package (0x01)  // _PR2: Power Resources for D2
45469             {
45470                 P0NV
45471             })
45472             Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
45473             {
45474                 P0NV
45475             })
45476             Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
45477             {
45478                 M000 (0x3050)
45479                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.NVME._PS0\n", Zero, Zero, Zero, Zero, Zero, Zero)
45480             }
45481 
45482             Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
45483             {
45484                 M000 (0x3053)
45485                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.NVME._PS3\n", Zero, Zero, Zero, Zero, Zero, Zero)
45486             }
45487 
45488             Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
45489             {
45490                 ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
45491                 Package (0x01)
45492                 {
45493                     Package (0x02)
45494                     {
45495                         "StorageD3Enable", 
45496                         One
45497                     }
45498                 }
45499             })
45500         }
45501     }
45502 
45503     Scope (\_SB.PCI0.GPP1)
45504     {
45505         Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
45506         {
45507             M460 ("PLA-ASL-\\_SB.PCI0.GPP1._PRW Return GPRW (0x8, 0x4)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45508             Return (Package (0x02)
45509             {
45510                 0x08, 
45511                 0x04
45512             })
45513         }
45514     }
45515 
45516     Scope (\_SB.PCI0.GPP2)
45517     {
45518         Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
45519         {
45520             M460 ("PLA-ASL-\\_SB.PCI0.GPP2._PRW Return GPRW (0x8, 0x4)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45521             Return (Package (0x02)
45522             {
45523                 0x08, 
45524                 0x04
45525             })
45526         }
45527     }
45528 
45529     Scope (\_SB.PCI0.GPP2.WWAN)
45530     {
45531         Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
45532     }
45533 
45534     Scope (\_SB.PCI0.GPP5)
45535     {
45536         Name (EWPM, 0x01)
45537         Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
45538         {
45539             If ((EWPM == One))
45540             {
45541                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x4)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45542                 Return (Package (0x02)
45543                 {
45544                     0x0F, 
45545                     0x04
45546                 })
45547             }
45548             Else
45549             {
45550                 M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x0)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45551                 Return (Package (0x02)
45552                 {
45553                     0x0F, 
45554                     Zero
45555                 })
45556             }
45557         }
45558     }
45559 
45560     Scope (\_SB.PCI0.GPP6)
45561     {
45562         Name (_S0W, Zero)  // _S0W: S0 Device Wake State
45563         Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
45564         {
45565             M460 ("PLA-ASL-\\_SB.PCI0.GPP6._PRW Return GPRW (0xE, 0x4)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45566             Return (Package (0x02)
45567             {
45568                 0x0E, 
45569                 0x04
45570             })
45571         }
45572 
45573         Method (QDSW, 3, NotSerialized)
45574         {
45575             M460 ("PLA-ASL-\\_SB.PCI0.GPP6._DSW\n", Zero, Zero, Zero, Zero, Zero, Zero)
45576         }
45577     }
45578 
45579     Scope (\_SB.PCI0.GPP6.WLAN)
45580     {
45581         OperationRegion (PCIC, PCI_Config, Zero, 0x04)
45582         Field (PCIC, WordAcc, NoLock, Preserve)
45583         {
45584             DVID,   16, 
45585             DDID,   16
45586         }
45587 
45588         Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
45589         {
45590             M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W - DID:%x VID:%x\n", DVID, DDID, Zero, Zero, Zero, Zero)
45591             If (((DVID == 0x17CB) && (DDID == 0x1103)))
45592             {
45593                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 3\n", Zero, Zero, Zero, Zero, Zero, Zero)
45594                 Return (0x03)
45595             }
45596             Else
45597             {
45598                 M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 4\n", Zero, Zero, Zero, Zero, Zero, Zero)
45599                 Return (0x04)
45600             }
45601         }
45602 
45603         Method (QDSW, 3, NotSerialized)
45604         {
45605             M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._DSW\n", Zero, Zero, Zero, Zero, Zero, Zero)
45606         }
45607     }
45608 
45609     Scope (\_SB.PCI0.GPP7)
45610     {
45611         Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
45612         {
45613             M460 ("PLA-ASL-\\_SB.PCI0.GPP7._PRW Return GPRW (0x2, 0x4)\n", Zero, Zero, Zero, Zero, Zero, Zero)
45614             Return (Package (0x02)
45615             {
45616                 0x02, 
45617                 0x04
45618             })
45619         }
45620     }
45621 
45622     Scope (\_SB.PCI0.GPP7.DEV0)
45623     {
45624         Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
45625     }
45626 
45627     Scope (\_SB.PCI0.GPP0)
45628     {
45629         Device (DEV0)
45630         {
45631             Name (_ADR, Zero)  // _ADR: Address
45632         }
45633     }
45634 
45635     Scope (\_SB.PCI0)
45636     {
45637         Name (_DEP, Package (0x01)  // _DEP: Dependencies
45638         {
45639             \_SB.PEP
45640         })
45641     }
45642 
45643     Scope (\_SB)
45644     {
45645         Device (PEP)
45646         {
45647             Name (_HID, "AMDI0007")  // _HID: Hardware ID
45648             Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
45649             Name (_UID, One)  // _UID: Unique ID
45650             Name (WWSW, 0x00)
45651             Name (DEVL, Package (0x03)
45652             {
45653                 Zero, 
45654                 0x2F, 
45655                 Package (0x2F)
45656                 {
45657                     Package (0x04)
45658                     {
45659                         Zero, 
45660                         "\\_SB.PCI0.GP11", 
45661                         Zero, 
45662                         Zero
45663                     }, 
45664 
45665                     Package (0x04)
45666                     {
45667                         Zero, 
45668                         "\\_SB.PCI0.GP12", 
45669                         Zero, 
45670                         Zero
45671                     }, 
45672 
45673                     Package (0x04)
45674                     {
45675                         Zero, 
45676                         "\\_SB.PCI0.GP17", 
45677                         Zero, 
45678                         Zero
45679                     }, 
45680 
45681                     Package (0x04)
45682                     {
45683                         Zero, 
45684                         "\\_SB.PCI0.GP19", 
45685                         Zero, 
45686                         Zero
45687                     }, 
45688 
45689                     Package (0x04)
45690                     {
45691                         One, 
45692                         "\\_SB.PCI0.GPP0", 
45693                         Zero, 
45694                         0x03
45695                     }, 
45696 
45697                     Package (0x04)
45698                     {
45699                         One, 
45700                         "\\_SB.PCI0.GPP2", 
45701                         0x02, 
45702                         One
45703                     }, 
45704 
45705                     Package (0x04)
45706                     {
45707                         One, 
45708                         "\\_SB.PCI0.GPP6", 
45709                         0x02, 
45710                         One
45711                     }, 
45712 
45713                     Package (0x04)
45714                     {
45715                         One, 
45716                         "\\_SB.PCI0.GP11.SWUS", 
45717                         Zero, 
45718                         0x03
45719                     }, 
45720 
45721                     Package (0x04)
45722                     {
45723                         One, 
45724                         "\\_SB.PCI0.GP12.SWUS", 
45725                         Zero, 
45726                         0x03
45727                     }, 
45728 
45729                     Package (0x04)
45730                     {
45731                         One, 
45732                         "\\_SB.PCI0.GPP1.RTL8", 
45733                         Zero, 
45734                         0x03
45735                     }, 
45736 
45737                     Package (0x04)
45738                     {
45739                         One, 
45740                         "\\_SB.PCI0.GPP2.WLAN", 
45741                         Zero, 
45742                         0x03
45743                     }, 
45744 
45745                     Package (0x04)
45746                     {
45747                         One, 
45748                         "\\_SB.PCI0.GPP5.RUSB", 
45749                         Zero, 
45750                         0x03
45751                     }, 
45752 
45753                     Package (0x04)
45754                     {
45755                         One, 
45756                         "\\_SB.PCI0.GPP5.NVME", 
45757                         Zero, 
45758                         0x03
45759                     }, 
45760 
45761                     Package (0x04)
45762                     {
45763                         One, 
45764                         "\\_SB.PCI0.GPP6.NVME", 
45765                         Zero, 
45766                         0x03
45767                     }, 
45768 
45769                     Package (0x04)
45770                     {
45771                         One, 
45772                         "\\_SB.PCI0.GP17.VGA", 
45773                         Zero, 
45774                         0x03
45775                     }, 
45776 
45777                     Package (0x04)
45778                     {
45779                         One, 
45780                         "\\_SB.PCI0.GP17.AZAL", 
45781                         Zero, 
45782                         0x03
45783                     }, 
45784 
45785                     Package (0x04)
45786                     {
45787                         One, 
45788                         "\\_SB.PCI0.GP17.ACP", 
45789                         Zero, 
45790                         0x03
45791                     }, 
45792 
45793                     Package (0x04)
45794                     {
45795                         One, 
45796                         "\\_SB.PCI0.GP17.HDAU", 
45797                         Zero, 
45798                         0x03
45799                     }, 
45800 
45801                     Package (0x04)
45802                     {
45803                         One, 
45804                         "\\_SB.PCI0.GP17.XHC0", 
45805                         Zero, 
45806                         0x03
45807                     }, 
45808 
45809                     Package (0x04)
45810                     {
45811                         One, 
45812                         "\\_SB.PCI0.GP17.XHC1", 
45813                         Zero, 
45814                         0x03
45815                     }, 
45816 
45817                     Package (0x04)
45818                     {
45819                         One, 
45820                         "\\_SB.PCI0.GP17.XHC1.RHUB.PRT2.BUTH", 
45821                         Zero, 
45822                         0x03
45823                     }, 
45824 
45825                     Package (0x04)
45826                     {
45827                         One, 
45828                         "\\_SB.PCI0.GP18.SATA", 
45829                         Zero, 
45830                         0x03
45831                     }, 
45832 
45833                     Package (0x04)
45834                     {
45835                         One, 
45836                         "\\_SB.PCI0.GP19.XHC2", 
45837                         Zero, 
45838                         0x03
45839                     }, 
45840 
45841                     Package (0x04)
45842                     {
45843                         One, 
45844                         "\\_SB.PCI0.GP19.XHC3", 
45845                         Zero, 
45846                         0x03
45847                     }, 
45848 
45849                     Package (0x04)
45850                     {
45851                         One, 
45852                         "\\_SB.PCI0.GP19.XHC4", 
45853                         Zero, 
45854                         0x03
45855                     }, 
45856 
45857                     Package (0x04)
45858                     {
45859                         One, 
45860                         "\\_SB.PCI0.GP19.NHI0", 
45861                         Zero, 
45862                         0x03
45863                     }, 
45864 
45865                     Package (0x04)
45866                     {
45867                         One, 
45868                         "\\_SB.PCI0.GP19.NHI1", 
45869                         Zero, 
45870                         0x03
45871                     }, 
45872 
45873                     Package (0x04)
45874                     {
45875                         One, 
45876                         "\\_SB.I2CC.NFC1", 
45877                         Zero, 
45878                         0x03
45879                     }, 
45880 
45881                     Package (0x04)
45882                     {
45883                         One, 
45884                         "\\_SB.I2CD.TPDD", 
45885                         Zero, 
45886                         0x03
45887                     }, 
45888 
45889                     Package (0x04)
45890                     {
45891                         One, 
45892                         "\\_SB.FAR0", 
45893                         Zero, 
45894                         0x03
45895                     }, 
45896 
45897                     Package (0x04)
45898                     {
45899                         One, 
45900                         "\\_SB.FAR1", 
45901                         Zero, 
45902                         0x03
45903                     }, 
45904 
45905                     Package (0x04)
45906                     {
45907                         One, 
45908                         "\\_SB.PLTF.P000", 
45909                         One, 
45910                         0x03
45911                     }, 
45912 
45913                     Package (0x04)
45914                     {
45915                         One, 
45916                         "\\_SB.PLTF.P001", 
45917                         One, 
45918                         0x03
45919                     }, 
45920 
45921                     Package (0x04)
45922                     {
45923                         One, 
45924                         "\\_SB.PLTF.P002", 
45925                         One, 
45926                         0x03
45927                     }, 
45928 
45929                     Package (0x04)
45930                     {
45931                         One, 
45932                         "\\_SB.PLTF.P003", 
45933                         One, 
45934                         0x03
45935                     }, 
45936 
45937                     Package (0x04)
45938                     {
45939                         One, 
45940                         "\\_SB.PLTF.P004", 
45941                         One, 
45942                         0x03
45943                     }, 
45944 
45945                     Package (0x04)
45946                     {
45947                         One, 
45948                         "\\_SB.PLTF.P005", 
45949                         One, 
45950                         0x03
45951                     }, 
45952 
45953                     Package (0x04)
45954                     {
45955                         One, 
45956                         "\\_SB.PLTF.P006", 
45957                         One, 
45958                         0x03
45959                     }, 
45960 
45961                     Package (0x04)
45962                     {
45963                         One, 
45964                         "\\_SB.PLTF.P007", 
45965                         One, 
45966                         0x03
45967                     }, 
45968 
45969                     Package (0x04)
45970                     {
45971                         One, 
45972                         "\\_SB.PLTF.P008", 
45973                         One, 
45974                         0x03
45975                     }, 
45976 
45977                     Package (0x04)
45978                     {
45979                         One, 
45980                         "\\_SB.PLTF.P009", 
45981                         One, 
45982                         0x03
45983                     }, 
45984 
45985                     Package (0x04)
45986                     {
45987                         One, 
45988                         "\\_SB.PLTF.P00A", 
45989                         One, 
45990                         0x03
45991                     }, 
45992 
45993                     Package (0x04)
45994                     {
45995                         One, 
45996                         "\\_SB.PLTF.P00B", 
45997                         One, 
45998                         0x03
45999                     }, 
46000 
46001                     Package (0x04)
46002                     {
46003                         One, 
46004                         "\\_SB.PLTF.P00C", 
46005                         One, 
46006                         0x03
46007                     }, 
46008 
46009                     Package (0x04)
46010                     {
46011                         One, 
46012                         "\\_SB.PLTF.P00D", 
46013                         One, 
46014                         0x03
46015                     }, 
46016 
46017                     Package (0x04)
46018                     {
46019                         One, 
46020                         "\\_SB.PLTF.P00E", 
46021                         One, 
46022                         0x03
46023                     }, 
46024 
46025                     Package (0x04)
46026                     {
46027                         One, 
46028                         "\\_SB.PLTF.P00F", 
46029                         One, 
46030                         0x03
46031                     }
46032                 }
46033             })
46034             Method (_STA, 0, NotSerialized)  // _STA: Status
46035             {
46036                 If (M045 ())
46037                 {
46038                     M460 ("  OEM-ASL-\\_SB.PEP._STA = 0xF\n", Zero, Zero, Zero, Zero, Zero, Zero)
46039                     Return (0x0F)
46040                 }
46041                 Else
46042                 {
46043                     M460 ("  OEM-ASL-\\_SB.PEP._STA = 0x0\n", Zero, Zero, Zero, Zero, Zero, Zero)
46044                     Return (Zero)
46045                 }
46046             }
46047 
46048             Method (MPEP, 4, NotSerialized)
46049             {
46050                 Local1 = DerefOf (DEVL [One])
46051                 Local0 = Zero
46052                 While ((Local0 < Local1))
46053                 {
46054                     If ((DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
46055                         ) [One]) == Arg1))
46056                     {
46057                         DerefOf (DerefOf (DEVL [0x02]) [Local0]) [Zero]
46058                              = Arg0
46059                         DerefOf (DerefOf (DEVL [0x02]) [Local0]) [0x02]
46060                              = Arg2
46061                         DerefOf (DerefOf (DEVL [0x02]) [Local0]) [0x03]
46062                              = Arg3
46063                         Break
46064                     }
46065 
46066                     Local0++
46067                 }
46068             }
46069 
46070             Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
46071             {
46072                 CreateDWordField (Arg0, Zero, UID0)
46073                 M460 ("  OEM-ASL-\\_SB.PEP._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, Zero, Zero, Zero)
46074                 If ((Arg0 == ToUUID ("e3f32452-febc-43ce-9039-932122d37721") /* Unknown UUID */))
46075                 {
46076                     Switch (ToInteger (Arg2))
46077                     {
46078                         Case (Zero)
46079                         {
46080                             Switch (ToInteger (Arg1))
46081                             {
46082                                 Case (Zero)
46083                                 {
46084                                     M460 ("    Return (Buffer (1) {0x03})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46085                                     Return (Buffer (One)
46086                                     {
46087                                          0x03                                             // .
46088                                     })
46089                                 }
46090                                 Case (One)
46091                                 {
46092                                     M460 ("    Return (Buffer (1) {0x03})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46093                                     Return (Buffer (One)
46094                                     {
46095                                          0x03                                             // .
46096                                     })
46097                                 }
46098                                 Case (0x02)
46099                                 {
46100                                     M460 ("    Return (Buffer (1) {0x3F})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46101                                     Return (Buffer (One)
46102                                     {
46103                                          0x3F                                             // ?
46104                                     })
46105                                 }
46106                                 Default
46107                                 {
46108                                     M460 ("    Return (Buffer (1) {0x00})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46109                                     Return (Buffer (One)
46110                                     {
46111                                          0x00                                             // .
46112                                     })
46113                                 }
46114 
46115                             }
46116                         }
46117                         Case (One)
46118                         {
46119                             If (CondRefOf (\P4D3))
46120                             {
46121                                 If ((\P4D3 != 0x55))
46122                                 {
46123                                     MPEP (One, "\\_SB.PCI0.GP11", Zero, 0x03)
46124                                     MPEP (One, "\\_SB.PCI0.GP12", Zero, 0x03)
46125                                 }
46126                             }
46127 
46128                             If (CondRefOf (\P1D3))
46129                             {
46130                                 If ((\P1D3 != 0x55))
46131                                 {
46132                                     MPEP (One, "\\_SB.PCI0.GP17", Zero, 0x03)
46133                                 }
46134                             }
46135 
46136                             If (CondRefOf (\P3D3))
46137                             {
46138                                 If ((\P3D3 != 0x55))
46139                                 {
46140                                     MPEP (One, "\\_SB.PCI0.GP19", Zero, 0x03)
46141                                 }
46142                             }
46143 
46144                             If (CondRefOf (\H0D3))
46145                             {
46146                                 If ((\H0D3 != 0x04))
46147                                 {
46148                                     MPEP (Zero, "\\_SB.PCI0.GP11.SWUS", Zero, Zero)
46149                                     MPEP (Zero, "\\_SB.PCI0.GP12.SWUS", Zero, Zero)
46150                                 }
46151                             }
46152 
46153                             If (CondRefOf (\F0D3))
46154                             {
46155                                 If ((\F0D3 != 0x04))
46156                                 {
46157                                     MPEP (Zero, "\\_SB.PCI0.GP17.VGA", Zero, Zero)
46158                                 }
46159                             }
46160 
46161                             If (CondRefOf (\F1D3))
46162                             {
46163                                 If ((\F1D3 != 0x04))
46164                                 {
46165                                     MPEP (Zero, "\\_SB.PCI0.GP17.HDAU", Zero, Zero)
46166                                 }
46167                             }
46168 
46169                             If (CondRefOf (\F3D3))
46170                             {
46171                                 If ((\F3D3 != 0x04))
46172                                 {
46173                                     MPEP (Zero, "\\_SB.PCI0.GP17.XHC0", Zero, Zero)
46174                                     MPEP (Zero, "\\_SB.PCI0.GP17.XHC1", Zero, Zero)
46175                                 }
46176                             }
46177 
46178                             If (CondRefOf (\F5D3))
46179                             {
46180                                 If ((\F5D3 != 0x04))
46181                                 {
46182                                     MPEP (Zero, "\\_SB.PCI0.GP17.ACP", Zero, Zero)
46183                                 }
46184                             }
46185 
46186                             If (CondRefOf (\F6D3))
46187                             {
46188                                 If ((\F6D3 != 0x04))
46189                                 {
46190                                     MPEP (Zero, "\\_SB.PCI0.GP17.AZAL", Zero, Zero)
46191                                 }
46192                             }
46193 
46194                             If (CondRefOf (\G0D3))
46195                             {
46196                                 If ((\G0D3 != 0x04))
46197                                 {
46198                                     MPEP (Zero, "\\_SB.PCI0.GP19.XHC2", Zero, Zero)
46199                                 }
46200                             }
46201 
46202                             If (CondRefOf (\G3D3))
46203                             {
46204                                 If ((\G3D3 != 0x04))
46205                                 {
46206                                     MPEP (Zero, "\\_SB.PCI0.GP19.XHC3", Zero, Zero)
46207                                     MPEP (Zero, "\\_SB.PCI0.GP19.XHC4", Zero, Zero)
46208                                 }
46209                             }
46210 
46211                             If (CondRefOf (\G5D3))
46212                             {
46213                                 If ((\G5D3 != 0x04))
46214                                 {
46215                                     MPEP (Zero, "\\_SB.PCI0.GP19.NHI0", Zero, Zero)
46216                                     MPEP (Zero, "\\_SB.PCI0.GP19.NHI1", Zero, Zero)
46217                                 }
46218                             }
46219 
46220                             If ((WWSW == One))
46221                             {
46222                                 M460 ("  OEM-ASL-Modify uPep DevList to enable \\_SB.PCI0.GPP2 D3 for Fibocom L860 R+\n", Zero, Zero, Zero, Zero, Zero, Zero)
46223                                 MPEP (One, "\\_SB.PCI0.GPP2", Zero, 0x03)
46224                             }
46225 
46226                             ToInteger (M453, Local7)
46227                             If ((Local7 != Zero))
46228                             {
46229                                 M460 ("    OEM-ASL-DEVL:\n", Zero, Zero, Zero, Zero, Zero, Zero)
46230                                 Local1 = DerefOf (DEVL [One])
46231                                 Local0 = Zero
46232                                 While ((Local0 < Local1))
46233                                 {
46234                                     Local2 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
46235                                         ) [Zero])
46236                                     Local3 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
46237                                         ) [One])
46238                                     Local4 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
46239                                         ) [0x02])
46240                                     Local5 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
46241                                         ) [0x03])
46242                                     M460 ("      %d - %d %S %d %d\n", ToInteger (Local0), Local2, Local3, Local4, Local5, Zero)
46243                                     Local0++
46244                                 }
46245                             }
46246 
46247                             M460 ("    Return (DEVL)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46248                             Return (DEVL) /* \_SB_.PEP_.DEVL */
46249                         }
46250                         Case (0x02)
46251                         {
46252                             M000 (0x3E04)
46253                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46254                             Return (Zero)
46255                         }
46256                         Case (0x03)
46257                         {
46258                             M000 (0x3E05)
46259                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46260                             Return (Zero)
46261                         }
46262                         Case (0x04)
46263                         {
46264                             M000 (0x3E02)
46265                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46266                             Return (Zero)
46267                         }
46268                         Case (0x05)
46269                         {
46270                             M000 (0x3E03)
46271                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46272                             Return (Zero)
46273                         }
46274                         Default
46275                         {
46276                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46277                             Return (Zero)
46278                         }
46279 
46280                     }
46281                 }
46282                 ElseIf ((Arg0 == ToUUID ("11e00d56-ce64-47ce-837b-1f898f9aa461") /* Unknown UUID */))
46283                 {
46284                     Switch (ToInteger (Arg2))
46285                     {
46286                         Case (Zero)
46287                         {
46288                             Switch (ToInteger (Arg1))
46289                             {
46290                                 Case (Zero)
46291                                 {
46292                                     M460 ("    Return (Buffer (2) {0xF9, 0x01})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46293                                     Return (Buffer (0x02)
46294                                     {
46295                                          0xF9, 0x01                                       // ..
46296                                     })
46297                                 }
46298                                 Default
46299                                 {
46300                                     M460 ("    Return (Buffer (1) {0x00})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46301                                     Return (Buffer (One)
46302                                     {
46303                                          0x00                                             // .
46304                                     })
46305                                 }
46306 
46307                             }
46308                         }
46309                         Case (0x03)
46310                         {
46311                             M000 (0x3E03)
46312                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46313                             Return (Zero)
46314                         }
46315                         Case (0x04)
46316                         {
46317                             M000 (0x3E04)
46318                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46319                             M250 (Zero, Zero, Zero, 0x19A00484, One)
46320                             M250 (Zero, Zero, Zero, 0x19A00480, 0x0300)
46321                             Return (Zero)
46322                         }
46323                         Case (0x05)
46324                         {
46325                             M000 (0x3E05)
46326                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46327                             Debug = "*** uPEP Lowest Power State Entry ***"
46328                             Return (Zero)
46329                         }
46330                         Case (0x06)
46331                         {
46332                             M000 (0x3E06)
46333                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46334                             Debug = "*** uPEP Lowest Power State Exit ***"
46335                             Return (Zero)
46336                         }
46337                         Case (0x07)
46338                         {
46339                             M000 (0x3E07)
46340                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46341                             Debug = "*** uPEP Modern Standby Entry ***"
46342                             Return (Zero)
46343                         }
46344                         Case (0x08)
46345                         {
46346                             M000 (0x3E08)
46347                             If (CondRefOf (\_SB.PCI0.GPP7.DEV0))
46348                             {
46349                                 M460 ("    Notify (\\_SB.PCI0.GPP7.DEV0, 0x1)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46350                                 Notify (\_SB.PCI0.GPP7.DEV0, One) // Device Check
46351                             }
46352 
46353                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46354                             M232 (0xC0, Zero, 0x10)
46355                             Debug = "*** uPEP Modern Standby Exit ***"
46356                             M232 (0xC0, 0x04, 0x10)
46357                             M232 (0xC0, 0x05, 0x10)
46358                             M232 (0xC0, 0x06, 0x10)
46359                             Sleep (0x0A)
46360                             \_SB.PCI0.SBRG.H_EC.RTSC = 0x19
46361                             \_SB.PCI0.SBRG.H_EC.SCRT = 0x05
46362                             Return (Zero)
46363                         }
46364                         Default
46365                         {
46366                             M460 ("    Return (0x00)\n", Zero, Zero, Zero, Zero, Zero, Zero)
46367                             Return (Zero)
46368                         }
46369 
46370                     }
46371                 }
46372                 Else
46373                 {
46374                     M460 ("    Return (Buffer (1) {0x00})\n", Zero, Zero, Zero, Zero, Zero, Zero)
46375                     Return (Buffer (One)
46376                     {
46377                          0x00                                             // .
46378                     })
46379                 }
46380             }
46381         }
46382     }
46383 }

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] (2024-04-09T18:25:11+0000, 1459.4 KB) [[attachment:acpidump.out.txt]]
  • [get | view] (2024-04-09T18:25:22+0000, 22.6 KB) [[attachment:devinfo.out.txt]]
  • [get | view] (2024-04-09T18:25:30+0000, 18.5 KB) [[attachment:dmesg.out.txt]]
 All files | Selected Files: delete move to page copy to page

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