Attachment 'acpidump.txt'

Download

   1 /*
   2   RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
   3 	XSDT=0x00000000acdfe1c0, length=36, cksum=176
   4  */
   5 /*
   6   XSDT: Length=236, Revision=1, Checksum=26,
   7 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
   8 	Creator ID=PTEC, Creator Revision=0x2
   9 	Entries={ 0x00000000acdf8000, 0x00000000acdfd000, 0x00000000acdfc000, 0x00000000acdfb000, 0x00000000acdfa000, 0x00000000acdf7000, 0x00000000acdf6000, 0x00000000acdf5000, 0x00000000acdf4000, 0x00000000acde1000, 0x00000000acde0000, 0x00000000acddf000, 0x00000000acdde000, 0x00000000acddd000, 0x00000000acddb000, 0x00000000acdda000, 0x00000000acdd9000, 0x00000000acdd8000, 0x00000000acdd7000, 0x00000000acdd6000, 0x00000000acdd5000, 0x00000000accb0000, 0x00000000acdd4000, 0x00000000acdd3000, 0x00000000acdd2000 }
  10  */
  11 /*
  12   FACP: Length=268, Revision=5, Checksum=18,
  13 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  14 	Creator ID=PTEC, Creator Revision=0x2
  15  	FACS=0xacd68000, DSDT=0xacde2000
  16 	INT_MODEL=PIC
  17 	Preferred_PM_Profile=Mobile (2)
  18 	SCI_INT=9
  19 	SMI_CMD=0xb2, ACPI_ENABLE=0xf2, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
  20 	PSTATE_CNT=0xf3
  21 	PM1a_EVT_BLK=0x1800-0x1803
  22 	PM1a_CNT_BLK=0x1804-0x1805
  23 	PM2_CNT_BLK=0x1850-0x1850
  24 	PM_TMR_BLK=0x1808-0x180b
  25 	GPE0_BLK=0x1880-0x189f
  26 	CST_CNT=0xf4
  27 	P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
  28 	FLUSH_SIZE=0, FLUSH_STRIDE=0
  29 	DUTY_OFFSET=1, DUTY_WIDTH=3
  30 	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  31 	IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
  32 	Flags={WBINVD,C1_SUPPORTED,C2_MP_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE}
  33 	RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
  34  */
  35 /*
  36   FACS:	Length=64, HwSig=0x00af2a3d, Firm_Wake_Vec=0x00000000
  37 	Global_Lock=
  38 	Flags=
  39 	Version=2
  40  */
  41 /*
  42   DSDT: Length=70084, Revision=1, Checksum=199,
  43 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  44 	Creator ID=INTL, Creator Revision=0x20120711
  45  */
  46 /*
  47   SLIC: Length=374, Revision=1, Checksum=4,
  48 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  49 	Creator ID=PTEC, Creator Revision=0x1
  50  */
  51 /*
  52   ASF!: Length=165, Revision=32, Checksum=11,
  53 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  54 	Creator ID=PTEC, Creator Revision=0x2
  55  */
  56 /*
  57   HPET: Length=56, Revision=1, Checksum=203,
  58 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  59 	Creator ID=PTEC, Creator Revision=0x2
  60 	HPET Number=0
  61 	ADDR=0xfed00000:0[0] (Memory)	HW Rev=0x1
  62 	Comparators=3
  63 	Counter Size=1
  64 	Legacy IRQ routing capable={TRUE}
  65 	PCI Vendor ID=0x8086
  66 	Minimal Tick=128
  67 	Flags=0x00
  68  */
  69 /*
  70   ECDT: Length=82, Revision=1, Checksum=110,
  71 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  72 	Creator ID=PTEC, Creator Revision=0x2
  73 	EC_CONTROL=0x66:0[8] (IO)
  74 	EC_DATA=0x62:0[8] (IO)
  75 	UID=0, GPE_BIT=0x25
  76 	EC_ID=\_SB.PCI0.LPC.EC
  77  */
  78 /*
  79   APIC: Length=152, Revision=1, Checksum=3,
  80 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
  81 	Creator ID=PTEC, Creator Revision=0x2
  82 	Local APIC ADDR=0xfee00000
  83 	Flags={PC-AT}
  84 
  85 	Type=Local APIC
  86 	ACPI CPU=1
  87 	Flags={ENABLED}
  88 	APIC ID=0
  89 
  90 	Type=Local APIC
  91 	ACPI CPU=2
  92 	Flags={ENABLED}
  93 	APIC ID=1
  94 
  95 	Type=Local APIC
  96 	ACPI CPU=3
  97 	Flags={ENABLED}
  98 	APIC ID=2
  99 
 100 	Type=Local APIC
 101 	ACPI CPU=4
 102 	Flags={ENABLED}
 103 	APIC ID=3
 104 
 105 	Type=Local APIC
 106 	ACPI CPU=5
 107 	Flags={DISABLED}
 108 	APIC ID=0
 109 
 110 	Type=Local APIC
 111 	ACPI CPU=6
 112 	Flags={DISABLED}
 113 	APIC ID=0
 114 
 115 	Type=Local APIC
 116 	ACPI CPU=7
 117 	Flags={DISABLED}
 118 	APIC ID=0
 119 
 120 	Type=Local APIC
 121 	ACPI CPU=8
 122 	Flags={DISABLED}
 123 	APIC ID=0
 124 
 125 	Type=IO APIC
 126 	APIC ID=2
 127 	INT BASE=0
 128 	ADDR=0x00000000fec00000
 129 
 130 	Type=INT Override
 131 	BUS=0
 132 	IRQ=0
 133 	INTR=2
 134 	Flags={Polarity=conforming, Trigger=conforming}
 135 
 136 	Type=INT Override
 137 	BUS=0
 138 	IRQ=9
 139 	INTR=9
 140 	Flags={Polarity=active-hi, Trigger=level}
 141 
 142 	Type=Local APIC NMI
 143 	ACPI CPU=0
 144 	LINT Pin=1
 145 	Flags={Polarity=active-hi, Trigger=edge}
 146 
 147 	Type=Local APIC NMI
 148 	ACPI CPU=1
 149 	LINT Pin=1
 150 	Flags={Polarity=active-hi, Trigger=edge}
 151  */
 152 /*
 153   MCFG: Length=60, Revision=1, Checksum=156,
 154 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 155 	Creator ID=PTEC, Creator Revision=0x2
 156 
 157 	Base Address=0x00000000f8000000
 158 	Segment Group=0x0000
 159 	Start Bus=0
 160 	End Bus=63
 161  */
 162 /*
 163   SSDT: Length=51, Revision=1, Checksum=87,
 164 	OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
 165 	Creator ID=INTL, Creator Revision=0x20120711
 166  */
 167 /*
 168   SSDT: Length=1158, Revision=1, Checksum=185,
 169 	OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
 170 	Creator ID=INTL, Creator Revision=0x20120711
 171  */
 172 /*
 173   SSDT: Length=2507, Revision=1, Checksum=48,
 174 	OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
 175 	Creator ID=INTL, Creator Revision=0x20120711
 176  */
 177 /*
 178   SSDT: Length=338, Revision=1, Checksum=160,
 179 	OEMID=LENOVO, OEM Table ID=Rmv_Batt, OEM Revision=0x1000,
 180 	Creator ID=INTL, Creator Revision=0x20120711
 181  */
 182 /*
 183   SSDT: Length=1733, Revision=1, Checksum=224,
 184 	OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
 185 	Creator ID=INTL, Creator Revision=0x20120711
 186  */
 187 /*
 188   SSDT: Length=2932, Revision=2, Checksum=119,
 189 	OEMID=LENOVO, OEM Table ID=CpuSsdt, OEM Revision=0x3000,
 190 	Creator ID=INTL, Creator Revision=0x20120711
 191  */
 192 /*
 193   SSDT: Length=873, Revision=2, Checksum=105,
 194 	OEMID=LENOVO, OEM Table ID=CtdpB, OEM Revision=0x1000,
 195 	Creator ID=INTL, Creator Revision=0x20120711
 196  */
 197 /*
 198   SSDT: Length=5237, Revision=1, Checksum=28,
 199 	OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
 200 	Creator ID=INTL, Creator Revision=0x20120711
 201  */
 202 /*
 203   SSDT: Length=916, Revision=2, Checksum=184,
 204 	OEMID=LENOVO, OEM Table ID=CppcTabl, OEM Revision=0x1000,
 205 	Creator ID=INTL, Creator Revision=0x20120711
 206  */
 207 /*
 208   PCCT: Length=110, Revision=5, Checksum=137,
 209 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 210 	Creator ID=PTEC, Creator Revision=0x2
 211  */
 212 /*
 213   SSDT: Length=2756, Revision=2, Checksum=75,
 214 	OEMID=LENOVO, OEM Table ID=Cpc_Tabl, OEM Revision=0x1000,
 215 	Creator ID=INTL, Creator Revision=0x20120711
 216  */
 217 /*
 218   TCPA: Length=50, Revision=2, Checksum=5,
 219 	OEMID=PTL, OEM Table ID=LENOVO, OEM Revision=0x6040000,
 220 	Creator ID=LNVO, Creator Revision=0x1
 221 	Class 0 Base Address 0xaccd1000 Length 589824
 222 
 223  */
 224 /*
 225   SSDT: Length=1699, Revision=1, Checksum=40,
 226 	OEMID=Intel_, OEM Table ID=TpmTable, OEM Revision=0x1000,
 227 	Creator ID=INTL, Creator Revision=0x20120711
 228  */
 229 /*
 230   UEFI: Length=66, Revision=1, Checksum=46,
 231 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 232 	Creator ID=PTEC, Creator Revision=0x2
 233  */
 234 /*
 235   MSDM: Length=85, Revision=3, Checksum=142,
 236 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 237 	Creator ID=PTEC, Creator Revision=0x2
 238  */
 239 /*
 240   BATB: Length=70, Revision=1, Checksum=105,
 241 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 242 	Creator ID=PTEC, Creator Revision=0x2
 243  */
 244 /*
 245   FPDT: Length=100, Revision=1, Checksum=202,
 246 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 247 	Creator ID=PTEC, Creator Revision=0x2
 248  */
 249 /*
 250   UEFI: Length=758, Revision=1, Checksum=76,
 251 	OEMID=LENOVO, OEM Table ID=TP-N11, OEM Revision=0x1100,
 252 	Creator ID=PTEC, Creator Revision=0x2
 253  */
 254 /*
 255  * Intel ACPI Component Architecture
 256  * AML/ASL+ Disassembler version 20150818-64
 257  * Copyright (c) 2000 - 2015 Intel Corporation
 258  * 
 259  * Disassembling to symbolic ASL+ operators
 260  *
 261  * Disassembly of /tmp/acpidump.bwLN3W, Tue Jan 19 05:08:52 2016
 262  *
 263  * Original Table Header:
 264  *     Signature        "DSDT"
 265  *     Length           0x00015F20 (89888)
 266  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
 267  *     Checksum         0x4A
 268  *     OEM ID           "LENOVO"
 269  *     OEM Table ID     "TP-N11  "
 270  *     OEM Revision     0x00001100 (4352)
 271  *     Compiler ID      "INTL"
 272  *     Compiler Version 0x20120711 (538052369)
 273  */
 274 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "TP-N11  ", 0x00001100)
 275 {
 276     /*
 277      * iASL Warning: There were 1 external control methods found during
 278      * disassembly, but additional ACPI tables to resolve these externals
 279      * were not specified. This resulting disassembler output file may not
 280      * compile because the disassembler did not know how many arguments
 281      * to assign to these methods. To specify the tables needed to resolve
 282      * external control method references, the -e option can be used to
 283      * specify the filenames. Note: SSDTs can be dynamically loaded at
 284      * runtime and may or may not be available via the host OS.
 285      * Example iASL invocations:
 286      *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
 287      *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
 288      *     iasl -e ssdt*.aml -d dsdt.aml
 289      *
 290      * In addition, the -fe option can be used to specify a file containing
 291      * control method external declarations with the associated method
 292      * argument counts. Each line of the file must be of the form:
 293      *     External (<method pathname>, MethodObj, <argument count>)
 294      * Invocation:
 295      *     iasl -fe refs.txt -d dsdt.aml
 296      *
 297      * The following methods were unresolved and many not compile properly
 298      * because the disassembler had to guess at the number of arguments
 299      * required for each:
 300      */
 301     External (GUAM, MethodObj)    // Warning: Unresolved method, guessing 1 arguments
 302 
 303     External (_PR_.CPU0._TSS, IntObj)
 304     External (_SB_.PCI0.SAT1.PRIM.GTME, UnknownObj)
 305     External (_SB_.PCI0.SAT1.SCND.GTME, UnknownObj)
 306     External (_SB_.PCI0.SAT1.SCND.MSTR, UnknownObj)
 307 
 308     Scope (\_PR)
 309     {
 310         Processor (CPU0, 0x01, 0x00001810, 0x06) {}
 311         Processor (CPU1, 0x02, 0x00001810, 0x06) {}
 312         Processor (CPU2, 0x03, 0x00001810, 0x06) {}
 313         Processor (CPU3, 0x04, 0x00001810, 0x06) {}
 314         Processor (CPU4, 0x05, 0x00001810, 0x06) {}
 315         Processor (CPU5, 0x06, 0x00001810, 0x06) {}
 316         Processor (CPU6, 0x07, 0x00001810, 0x06) {}
 317         Processor (CPU7, 0x08, 0x00001810, 0x06) {}
 318     }
 319 
 320     Scope (\)
 321     {
 322         Method (PNTF, 1, NotSerialized)
 323         {
 324             If (((Arg0 == 0x80) && !\OSPX))
 325             {
 326                 If ((\_PR.CFGD & 0x01))
 327                 {
 328                     If (\CPPX)
 329                     {
 330                         Notify (\_SB.PCCD, 0x82) // Device-Specific Change
 331                     }
 332                 }
 333             }
 334             Else
 335             {
 336                 If ((\_PR.CFGD & 0x0200))
 337                 {
 338                     If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
 339                         Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
 340                     {
 341                         Notify (\_PR.CPU0, Arg0)
 342                     }
 343 
 344                     If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
 345                         Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
 346                     {
 347                         Notify (\_PR.CPU1, Arg0)
 348                     }
 349 
 350                     If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
 351                         Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
 352                     {
 353                         Notify (\_PR.CPU2, Arg0)
 354                     }
 355 
 356                     If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
 357                         Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
 358                     {
 359                         Notify (\_PR.CPU3, Arg0)
 360                     }
 361 
 362                     If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
 363                         Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
 364                     {
 365                         Notify (\_PR.CPU4, Arg0)
 366                     }
 367 
 368                     If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
 369                         Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
 370                     {
 371                         Notify (\_PR.CPU5, Arg0)
 372                     }
 373 
 374                     If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
 375                         Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
 376                     {
 377                         Notify (\_PR.CPU6, Arg0)
 378                     }
 379 
 380                     If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
 381                         Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
 382                     {
 383                         Notify (\_PR.CPU7, Arg0)
 384                     }
 385                 }
 386                 Else
 387                 {
 388                     If (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 == 0x82))))
 389                     {
 390                         Notify (\_PR.CPU0, Arg0)
 391                     }
 392                 }
 393             }
 394         }
 395     }
 396 
 397     OperationRegion (MNVS, SystemMemory, 0xACD7D018, 0x1000)
 398     Field (MNVS, DWordAcc, NoLock, Preserve)
 399     {
 400         Offset (0xD00), 
 401         GAPA,   32, 
 402         GAPL,   32, 
 403         DCKI,   32, 
 404         DCKS,   32, 
 405         VCDL,   1, 
 406         VCDC,   1, 
 407         VCDT,   1, 
 408         VCDD,   1, 
 409             ,   1, 
 410         VCSS,   1, 
 411         VCDB,   1, 
 412         VCIN,   1, 
 413         VVPO,   8, 
 414         BRTN,   8, 
 415         BRLV,   8, 
 416         CDFL,   8, 
 417         CDAH,   8, 
 418         PMOD,   2, 
 419         PDIR,   1, 
 420         PDMA,   1, 
 421         Offset (0xD17), 
 422         LFDC,   1, 
 423         Offset (0xD18), 
 424         C2NA,   1, 
 425         C3NA,   1, 
 426         C4NA,   1, 
 427         C6NA,   1, 
 428         C7NA,   1, 
 429         Offset (0xD19), 
 430         Offset (0xD1A), 
 431             ,   2, 
 432             ,   1, 
 433         NHPS,   1, 
 434         NPME,   1, 
 435         Offset (0xD1B), 
 436         UOPT,   8, 
 437         BTID,   32, 
 438         DPP0,   1, 
 439         DPP1,   1, 
 440         DPP2,   1, 
 441         DPP3,   1, 
 442         DPP4,   1, 
 443         DPP5,   1, 
 444         Offset (0xD21), 
 445         Offset (0xD22), 
 446         TCRT,   16, 
 447         TPSV,   16, 
 448         TTC1,   16, 
 449         TTC2,   16, 
 450         TTSP,   16, 
 451         SRAH,   8, 
 452         SRHE,   8, 
 453         SRE1,   8, 
 454         SRE2,   8, 
 455         SRE3,   8, 
 456         SRE4,   8, 
 457         SRE5,   8, 
 458         SRE6,   8, 
 459         SRU1,   8, 
 460         SRU2,   8, 
 461         SRU3,   8, 
 462         SRU7,   8, 
 463         SRU4,   8, 
 464         SRU5,   8, 
 465         SRU8,   8, 
 466         SRPB,   8, 
 467         SRLP,   8, 
 468         SRSA,   8, 
 469         SRSM,   8, 
 470         CWAC,   1, 
 471         CWAS,   1, 
 472         CWUE,   1, 
 473         CWUS,   1, 
 474         Offset (0xD40), 
 475         CWAP,   16, 
 476         CWAT,   16, 
 477         DBGC,   1, 
 478         Offset (0xD45), 
 479         FS1L,   16, 
 480         FS1M,   16, 
 481         FS1H,   16, 
 482         FS2L,   16, 
 483         FS2M,   16, 
 484         FS2H,   16, 
 485         FS3L,   16, 
 486         FS3M,   16, 
 487         FS3H,   16, 
 488         TATC,   1, 
 489             ,   6, 
 490         TATL,   1, 
 491         TATW,   8, 
 492         TNFT,   4, 
 493         TNTT,   4, 
 494         TDFA,   4, 
 495         TDTA,   4, 
 496         TDFD,   4, 
 497         TDTD,   4, 
 498         TCFA,   4, 
 499         TCTA,   4, 
 500         TCFD,   4, 
 501         TCTD,   4, 
 502         TSFT,   4, 
 503         TSTT,   4, 
 504         TIT0,   8, 
 505         TCR0,   16, 
 506         TPS0,   16, 
 507         TIT1,   8, 
 508         TCR1,   16, 
 509         TPS1,   16, 
 510         TIT2,   8, 
 511         TCR2,   16, 
 512         TPS2,   16, 
 513         TIF0,   8, 
 514         TIF1,   8, 
 515         TIF2,   8, 
 516         Offset (0xD78), 
 517         BTHI,   1, 
 518         Offset (0xD79), 
 519         HDIR,   1, 
 520         HDEH,   1, 
 521         HDSP,   1, 
 522         HDPP,   1, 
 523         HDUB,   1, 
 524         HDMC,   1, 
 525         NFCF,   1, 
 526         Offset (0xD7A), 
 527         TPME,   8, 
 528         BIDE,   4, 
 529         IDET,   4, 
 530             ,   1, 
 531         DTSE,   1, 
 532         Offset (0xD7D), 
 533         DTS0,   8, 
 534         DTS1,   8, 
 535         DT00,   1, 
 536         DT01,   1, 
 537         DT02,   1, 
 538         DT03,   1, 
 539         Offset (0xD80), 
 540         LIDB,   1, 
 541         C4WR,   1, 
 542         C4AC,   1, 
 543         ODDX,   1, 
 544         CMPR,   1, 
 545         ILNF,   1, 
 546         PLUX,   1, 
 547         Offset (0xD81), 
 548         Offset (0xD8C), 
 549             ,   4, 
 550             ,   1, 
 551         IDMM,   1, 
 552         Offset (0xD8D), 
 553             ,   3, 
 554             ,   1, 
 555             ,   1, 
 556         LIDS,   1, 
 557         Offset (0xD8E), 
 558         Offset (0xD8F), 
 559             ,   4, 
 560         Offset (0xD90), 
 561         TCG0,   1, 
 562         TCG1,   1, 
 563         Offset (0xD91), 
 564         SWGP,   8, 
 565         IPMS,   8, 
 566         IPMB,   120, 
 567         IPMR,   24, 
 568         IPMO,   24, 
 569         IPMA,   8, 
 570         VIGD,   1, 
 571         VDSC,   1, 
 572         VMSH,   1, 
 573             ,   1, 
 574         VDSP,   1, 
 575         Offset (0xDAA), 
 576         Offset (0xDAD), 
 577         ASFT,   8, 
 578         PL1L,   8, 
 579         PL1M,   8, 
 580         CHKC,   32, 
 581         CHKE,   32, 
 582         ATRB,   32, 
 583         Offset (0xDBD), 
 584         PPCR,   8, 
 585         TPCR,   5, 
 586         Offset (0xDBF), 
 587         Offset (0xDCE), 
 588         CTPR,   8, 
 589         PPCA,   8, 
 590         TPCA,   5, 
 591         Offset (0xDD1), 
 592         BFWB,   296, 
 593         OSPX,   1, 
 594         OSC4,   1, 
 595         CPPX,   1, 
 596         Offset (0xDF7), 
 597         SPEN,   1, 
 598         SCRM,   1, 
 599             ,   1, 
 600         ETAU,   1, 
 601         IHBC,   1, 
 602         APMD,   1, 
 603         APMF,   1, 
 604         Offset (0xDF8), 
 605         FTPS,   8, 
 606         HIST,   8, 
 607         LPST,   8, 
 608         LWST,   8, 
 609         Offset (0xDFF), 
 610         MTAU,   8, 
 611         Offset (0xE20), 
 612         HPET,   32, 
 613         PKLI,   16, 
 614         VLCX,   16, 
 615         VNIT,   8, 
 616         VBD0,   8, 
 617         VBDT,   128, 
 618         VBPL,   16, 
 619         VBPH,   16, 
 620         VBML,   8, 
 621         VBMH,   8, 
 622         VEDI,   1024, 
 623         PDCI,   16, 
 624         ISCG,   32, 
 625         ISSP,   1, 
 626         ISWK,   2, 
 627         ISFS,   3, 
 628         Offset (0xEC7), 
 629         SHA1,   160, 
 630         FFDT,   1, 
 631         FFCL,   1, 
 632         Offset (0xEDC), 
 633         LWCP,   1, 
 634         LWEN,   1, 
 635         IOCP,   1, 
 636         IOEN,   1, 
 637         IOST,   1, 
 638         Offset (0xEDD), 
 639         USBR,   1, 
 640         Offset (0xEDE), 
 641         Offset (0xEDF), 
 642         Offset (0xEE1), 
 643         BT2T,   1, 
 644         Offset (0xEE2), 
 645         TPPP,   8, 
 646         TPPC,   8, 
 647         CTPC,   8, 
 648         FNWK,   8, 
 649         USBC,   8, 
 650         XHCC,   8, 
 651         DTCC,   8, 
 652         WLCC,   16
 653     }
 654 
 655     Field (MNVS, ByteAcc, NoLock, Preserve)
 656     {
 657         Offset (0xB00), 
 658         WITM,   8, 
 659         WSEL,   8, 
 660         WLS0,   8, 
 661         WLS1,   8, 
 662         WLS2,   8, 
 663         WLS3,   8, 
 664         WLS4,   8, 
 665         WLS5,   8, 
 666         WLS6,   8, 
 667         WLS7,   8, 
 668         WLS8,   8, 
 669         WLS9,   8, 
 670         WLSA,   8, 
 671         WLSB,   8, 
 672         WLSC,   8, 
 673         WLSD,   8, 
 674         WENC,   8, 
 675         WKBD,   8, 
 676         WPTY,   8, 
 677         WPAS,   1032, 
 678         WPNW,   1032, 
 679         WSPM,   8, 
 680         WSPS,   8, 
 681         WSMN,   8, 
 682         WSMX,   8, 
 683         WSEN,   8, 
 684         WSKB,   8, 
 685         WASB,   8, 
 686         WASI,   16, 
 687         WASD,   8, 
 688         WASS,   32
 689     }
 690 
 691     Field (MNVS, ByteAcc, NoLock, Preserve)
 692     {
 693         Offset (0xA00), 
 694         DBGS,   1024
 695     }
 696 
 697     OperationRegion (GNVS, SystemMemory, 0xACD69C18, 0x036F)
 698     Field (GNVS, AnyAcc, Lock, Preserve)
 699     {
 700         OSYS,   16, 
 701         SMIF,   8, 
 702         PRM0,   8, 
 703         PRM1,   8, 
 704         Offset (0x0F), 
 705         PWRS,   8, 
 706         Offset (0x1E), 
 707         Offset (0x25), 
 708         REVN,   8, 
 709         IFFS,   8, 
 710         Offset (0x28), 
 711         APIC,   8, 
 712         TCNT,   8, 
 713         PCP0,   8, 
 714         PCP1,   8, 
 715         PPCM,   8, 
 716         PPMF,   32, 
 717         C67L,   8, 
 718         Offset (0x44), 
 719         TL2F,   32, 
 720         MORD,   8, 
 721         TCGP,   8, 
 722         PPRP,   32, 
 723         PPRQ,   8, 
 724         LPPR,   8, 
 725         GTF0,   56, 
 726         GTF2,   56, 
 727         IDEM,   8, 
 728         GTF1,   56, 
 729         BID,    16, 
 730         PLID,   8, 
 731         ECTG,   8, 
 732         SDPO,   8, 
 733         SKID,   8, 
 734         Offset (0x70), 
 735         OSCC,   8, 
 736         NEXP,   8, 
 737         SBV1,   8, 
 738         SBV2,   8, 
 739         Offset (0x7A), 
 740         DSEN,   8, 
 741         ECON,   8, 
 742         Offset (0x7D), 
 743         CTYP,   8, 
 744         L01C,   8, 
 745         VFN0,   8, 
 746         VFN1,   8, 
 747         VFN2,   8, 
 748         VFN3,   8, 
 749         VFN4,   8, 
 750         VFN5,   8, 
 751         VFN6,   8, 
 752         VFN7,   8, 
 753         VFN8,   8, 
 754         VFN9,   8, 
 755         ISCT,   8, 
 756         SLDR,   32, 
 757         WAKR,   8, 
 758         ATMC,   8, 
 759         PTMC,   8, 
 760         ATRA,   8, 
 761         PTRA,   8, 
 762         PNHM,   32, 
 763         TBAB,   32, 
 764         TBAH,   32, 
 765         RTIP,   8, 
 766         TSOD,   8, 
 767         ATPC,   8, 
 768         PTPC,   8, 
 769         PFLV,   8, 
 770         BREV,   8, 
 771         PDTS,   8, 
 772         PKGA,   8, 
 773         PAMT,   8, 
 774         AC0F,   8, 
 775         AC1F,   8, 
 776         DTS3,   8, 
 777         DTS4,   8, 
 778         Offset (0xB0), 
 779         LTR1,   8, 
 780         LTR2,   8, 
 781         LTR3,   8, 
 782         LTR4,   8, 
 783         LTR5,   8, 
 784         LTR6,   8, 
 785         LTR7,   8, 
 786         LTR8,   8, 
 787         OBF1,   8, 
 788         OBF2,   8, 
 789         OBF3,   8, 
 790         OBF4,   8, 
 791         OBF5,   8, 
 792         OBF6,   8, 
 793         OBF7,   8, 
 794         OBF8,   8, 
 795         XHCI,   8, 
 796         XTUB,   32, 
 797         XTUS,   32, 
 798         XMPB,   32, 
 799         DDRF,   8, 
 800         RTD3,   8, 
 801         PEP0,   8, 
 802         PEP3,   8, 
 803         DPTF,   8, 
 804         SADE,   8, 
 805         SACR,   8, 
 806         SAHT,   8, 
 807         PCHD,   8, 
 808         PCHC,   8, 
 809         PCHH,   8, 
 810         Offset (0xDB), 
 811         ECEU,   8, 
 812         TGFG,   16, 
 813         MEMD,   8, 
 814         MEMC,   8, 
 815         MEMH,   8, 
 816         FND1,   8, 
 817         FND2,   8, 
 818         AMBD,   8, 
 819         AMAT,   8, 
 820         AMPT,   8, 
 821         AMCT,   8, 
 822         AMHT,   8, 
 823         SKDE,   8, 
 824         SKAT,   8, 
 825         SKPT,   8, 
 826         SKCT,   8, 
 827         SKHT,   8, 
 828         EFDE,   8, 
 829         EFAT,   8, 
 830         EFPT,   8, 
 831         EFCT,   8, 
 832         EFHT,   8, 
 833         VRDE,   8, 
 834         VRAT,   8, 
 835         VRPT,   8, 
 836         VRCT,   8, 
 837         VRHT,   8, 
 838         DPAP,   8, 
 839         DPPP,   8, 
 840         DPCP,   8, 
 841         DCMP,   8, 
 842         TRTV,   8, 
 843         LPOE,   8, 
 844         LPOP,   8, 
 845         LPOS,   8, 
 846         LPOW,   8, 
 847         LPER,   8, 
 848         PPSZ,   32, 
 849         DISE,   8, 
 850         BGMA,   64, 
 851         BGMS,   8, 
 852         BGIA,   16, 
 853         ICNF,   8, 
 854         DSP0,   32, 
 855         DSP1,   32, 
 856         NFCE,   8, 
 857         CODS,   8, 
 858         SNHE,   8, 
 859         S0ID,   8, 
 860         CTDB,   8, 
 861         DKSM,   8, 
 862         SIO1,   8, 
 863         SIO2,   8, 
 864         SPBA,   16, 
 865         UPXD,   16, 
 866         Offset (0x1FF), 
 867         ULCK,   8, 
 868         Offset (0x207), 
 869         PWRE,   8, 
 870         PWRP,   8, 
 871         XHPR,   8, 
 872         SDS0,   8, 
 873         SDS1,   16, 
 874         SDS2,   8, 
 875         SDS3,   8, 
 876         SDS4,   8, 
 877         SDS5,   8, 
 878         Offset (0x212), 
 879         RIC0,   8, 
 880         PEPY,   8, 
 881         DVS0,   8, 
 882         DVS1,   8, 
 883         DVS2,   8, 
 884         DVS3,   8, 
 885         GBSX,   8, 
 886         IUBE,   8, 
 887         IUCE,   8, 
 888         IUDE,   8, 
 889         ECNO,   8, 
 890         AUDD,   16, 
 891         DSPD,   16, 
 892         IC0D,   16, 
 893         IC1D,   16, 
 894         IC1S,   16, 
 895         VRRD,   16, 
 896         PSCP,   8, 
 897         RWAG,   8, 
 898         I20D,   16, 
 899         I21D,   16, 
 900         Offset (0x231), 
 901         RCG0,   8, 
 902         ECDB,   8, 
 903         P2ME,   8, 
 904         SSH0,   16, 
 905         SSL0,   16, 
 906         SSD0,   16, 
 907         FMH0,   16, 
 908         FML0,   16, 
 909         FMD0,   16, 
 910         FPH0,   16, 
 911         FPL0,   16, 
 912         FPD0,   16, 
 913         SSH1,   16, 
 914         SSL1,   16, 
 915         SSD1,   16, 
 916         FMH1,   16, 
 917         FML1,   16, 
 918         FMD1,   16, 
 919         FPH1,   16, 
 920         FPL1,   16, 
 921         FPD1,   16, 
 922         M0C0,   16, 
 923         M1C0,   16, 
 924         M2C0,   16, 
 925         M0C1,   16, 
 926         M1C1,   16, 
 927         M2C1,   16, 
 928         M0C2,   16, 
 929         M1C2,   16, 
 930         M0C3,   16, 
 931         M1C3,   16, 
 932         M0C4,   16, 
 933         M1C4,   16, 
 934         M0C5,   16, 
 935         M1C5,   16, 
 936         TBSF,   8, 
 937         GIRQ,   32, 
 938         DMTP,   8, 
 939         DMTD,   8, 
 940         DMSH,   8, 
 941         LANP,   8, 
 942         Offset (0x27E), 
 943         SHSB,   8, 
 944         PLCS,   8, 
 945         PLVL,   16, 
 946         GN1E,   8, 
 947         G1AT,   8, 
 948         G1PT,   8, 
 949         G1CT,   8, 
 950         G1HT,   8, 
 951         GN2E,   8, 
 952         G2AT,   8, 
 953         G2PT,   8, 
 954         G2CT,   8, 
 955         G2HT,   8, 
 956         WWSD,   8, 
 957         CVSD,   8, 
 958         SSDD,   8, 
 959         INLD,   8, 
 960         IFAT,   8, 
 961         IFPT,   8, 
 962         IFCT,   8, 
 963         IFHT,   8, 
 964         ANCS,   8, 
 965         SHTP,   8, 
 966         BCV4,   8, 
 967         WTVX,   8, 
 968         WITX,   8, 
 969         APFU,   8, 
 970         SOHP,   8, 
 971         NOHP,   8, 
 972         TBSE,   8, 
 973         WKFN,   8, 
 974         PEPC,   16, 
 975         VRSD,   16, 
 976         PB1E,   8, 
 977         GNID,   8, 
 978         MPLT,   16, 
 979         GR13,   8, 
 980         CHGE,   8, 
 981         Offset (0x2B2), 
 982         SAC3,   8, 
 983         PCH3,   8, 
 984         MEM3,   8, 
 985         AMC3,   8, 
 986         SKC3,   8, 
 987         EFC3,   8, 
 988         VRC3,   8, 
 989         G1C3,   8, 
 990         G2C3,   8, 
 991         IFC3,   8, 
 992         Offset (0x2BF), 
 993         SPST,   8, 
 994         GN3E,   8, 
 995         G3AT,   8, 
 996         G3PT,   8, 
 997         G3CT,   8, 
 998         G3HT,   8, 
 999         GN4E,   8, 
1000         G4AT,   8, 
1001         G4PT,   8, 
1002         G4CT,   8, 
1003         G4HT,   8, 
1004         GN5E,   8, 
1005         G5AT,   8, 
1006         G5PT,   8, 
1007         G5CT,   8, 
1008         G5HT,   8, 
1009         GN6E,   8, 
1010         G6AT,   8, 
1011         G6PT,   8, 
1012         G6CT,   8, 
1013         G6HT,   8, 
1014         ECLP,   8, 
1015         Offset (0x2D6), 
1016         G3C3,   8, 
1017         G4C3,   8, 
1018         G5C3,   8, 
1019         G6C3,   8, 
1020         S1DE,   8, 
1021         S1AT,   8, 
1022         S1PT,   8, 
1023         S1CT,   8, 
1024         S1HT,   8, 
1025         S2DE,   8, 
1026         S2AT,   8, 
1027         S2PT,   8, 
1028         S2CT,   8, 
1029         S2HT,   8, 
1030         S3DE,   8, 
1031         S3AT,   8, 
1032         S3PT,   8, 
1033         S3CT,   8, 
1034         S3HT,   8, 
1035         S4DE,   8, 
1036         S4AT,   8, 
1037         S4PT,   8, 
1038         S4CT,   8, 
1039         S4HT,   8, 
1040         S5DE,   8, 
1041         S5AT,   8, 
1042         S5PT,   8, 
1043         S5CT,   8, 
1044         S5HT,   8, 
1045         S6DE,   8, 
1046         S6AT,   8, 
1047         S6PT,   8, 
1048         S6CT,   8, 
1049         S6HT,   8, 
1050         S7DE,   8, 
1051         S7AT,   8, 
1052         S7PT,   8, 
1053         S7CT,   8, 
1054         S7HT,   8, 
1055         Offset (0x303), 
1056         S1S3,   8, 
1057         S2S3,   8, 
1058         S3S3,   8, 
1059         S4S3,   8, 
1060         S5S3,   8, 
1061         S6S3,   8, 
1062         S7S3,   8, 
1063         DACT,   8, 
1064         MPL1,   16, 
1065         MPL2,   16, 
1066         SATS,   16, 
1067         PCTS,   16, 
1068         SKTS,   16, 
1069         PSME,   8, 
1070         PDT1,   8, 
1071         PLM1,   16, 
1072         PTW1,   16, 
1073         PDT2,   8, 
1074         PLM2,   16, 
1075         PTW2,   16, 
1076         DDT1,   8, 
1077         DDP1,   8, 
1078         DLI1,   16, 
1079         DPL1,   16, 
1080         DTW1,   16, 
1081         DMI1,   16, 
1082         DMA1,   16, 
1083         DMT1,   16, 
1084         DDT2,   8, 
1085         DDP2,   8, 
1086         DLI2,   16, 
1087         DPL2,   16, 
1088         DTW2,   16, 
1089         DMI2,   16, 
1090         DMA2,   16, 
1091         DMT2,   16, 
1092         Offset (0x33E), 
1093         TBTS,   8, 
1094         ECGP,   8, 
1095         IVDF,   8, 
1096         TPMP,   8, 
1097         WIFD,   8, 
1098         WFAT,   8, 
1099         WFPT,   8, 
1100         WFCT,   8, 
1101         WFC3,   8, 
1102         WFHT,   8, 
1103         WAND,   8, 
1104         WWAT,   8, 
1105         WWPT,   8, 
1106         WWCT,   8, 
1107         WWC3,   8, 
1108         WWHT,   8, 
1109         WGID,   8, 
1110         WGAT,   8, 
1111         WGPT,   8, 
1112         WGCT,   8, 
1113         WGC3,   8, 
1114         WGHT,   8, 
1115         STGE,   8, 
1116         WDM1,   8, 
1117         CID1,   16, 
1118         WDM2,   8, 
1119         CID2,   16, 
1120         WIFE,   8, 
1121         DOM1,   8, 
1122         LIM1,   16, 
1123         TIM1,   16, 
1124         DOM2,   8, 
1125         LIM2,   16, 
1126         TIM2,   16, 
1127         DOM3,   8, 
1128         LIM3,   16, 
1129         TIM3,   16, 
1130         TRD0,   8, 
1131         TRL0,   8, 
1132         TRD1,   8, 
1133         TRL1,   8
1134     }
1135 
1136     Name (PNVB, 0xACD6BD98)
1137     Name (PNVL, 0x00E4)
1138     OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
1139     Field (PNVA, AnyAcc, Lock, Preserve)
1140     {
1141         RCRV,   32, 
1142         PCHS,   16, 
1143         PCHG,   16, 
1144         RPA0,   32, 
1145         RPA1,   32, 
1146         RPA2,   32, 
1147         RPA3,   32, 
1148         RPA4,   32, 
1149         RPA5,   32, 
1150         RPA6,   32, 
1151         RPA7,   32, 
1152         SRMB,   32, 
1153         ADB0,   32, 
1154         ADB1,   32, 
1155         ADI0,   32, 
1156         GPMN,   32, 
1157         GPMX,   32, 
1158         PML1,   16, 
1159         PML2,   16, 
1160         PML3,   16, 
1161         PML4,   16, 
1162         PML5,   16, 
1163         PML6,   16, 
1164         PML7,   16, 
1165         PML8,   16, 
1166         PNL1,   16, 
1167         PNL2,   16, 
1168         PNL3,   16, 
1169         PNL4,   16, 
1170         PNL5,   16, 
1171         PNL6,   16, 
1172         PNL7,   16, 
1173         PNL8,   16, 
1174         U0C0,   32, 
1175         U1C0,   32, 
1176         ADFM,   32, 
1177         ADBT,   8, 
1178         XHPC,   8, 
1179         XRPC,   8, 
1180         XSPC,   8, 
1181         XSPA,   8, 
1182         SMD0,   8, 
1183         SMD1,   8, 
1184         SMD2,   8, 
1185         SMD3,   8, 
1186         SMD4,   8, 
1187         SMD5,   8, 
1188         SMD6,   8, 
1189         SMD7,   8, 
1190         SIR0,   8, 
1191         SIR1,   8, 
1192         SIR2,   8, 
1193         SIR3,   8, 
1194         SIR4,   8, 
1195         SIR5,   8, 
1196         SIR6,   8, 
1197         SIR7,   8, 
1198         SB00,   32, 
1199         SB01,   32, 
1200         SB02,   32, 
1201         SB03,   32, 
1202         SB04,   32, 
1203         SB05,   32, 
1204         SB06,   32, 
1205         SB07,   32, 
1206         SB10,   32, 
1207         SB11,   32, 
1208         SB12,   32, 
1209         SB13,   32, 
1210         SB14,   32, 
1211         SB15,   32, 
1212         SB16,   32, 
1213         SB17,   32, 
1214         SMGP,   8, 
1215         GBEP,   8, 
1216         PMSI,   8, 
1217         PMCP,   8, 
1218         PCLP,   8, 
1219         PL1P,   16, 
1220         PL1A,   32, 
1221         PL1B,   8, 
1222         PEPL,   16, 
1223         PRPL,   16, 
1224         PCIT,   8, 
1225         PLTP,   16, 
1226         PLTD,   32, 
1227         PED2,   16, 
1228         PRDC,   16, 
1229         PED1,   16, 
1230         PCHP,   16, 
1231         XWMB,   32
1232     }
1233 
1234     Scope (\_SB)
1235     {
1236         Method (_INI, 0, NotSerialized)  // _INI: Initialize
1237         {
1238             If (CondRefOf (\_OSI, Local0))
1239             {
1240                 If (\_OSI ("Windows 2001"))
1241                 {
1242                     \WNTF = 0x01
1243                     \WXPF = 0x01
1244                     \WSPV = 0x00
1245                     OSYS = 0x07D1
1246                 }
1247 
1248                 If (\_OSI ("Windows 2001 SP1"))
1249                 {
1250                     \WSPV = 0x01
1251                     OSYS = 0x07D1
1252                 }
1253 
1254                 If (\_OSI ("Windows 2001 SP2"))
1255                 {
1256                     \WSPV = 0x02
1257                     OSYS = 0x07D2
1258                 }
1259 
1260                 If (\_OSI ("Windows 2006"))
1261                 {
1262                     \WVIS = 0x01
1263                     OSYS = 0x07D6
1264                 }
1265 
1266                 If (\_OSI ("Windows 2009"))
1267                 {
1268                     \WIN7 = 0x01
1269                     OSYS = 0x07D9
1270                 }
1271 
1272                 If (\_OSI ("Windows 2012"))
1273                 {
1274                     \WIN8 = 0x01
1275                     OSYS = 0x07DC
1276                 }
1277 
1278                 If (\_OSI ("Windows 2013"))
1279                 {
1280                     \WIN8 = 0x01
1281                     OSYS = 0x07DD
1282                 }
1283 
1284                 If (\_OSI ("Windows 2015"))
1285                 {
1286                     \WIN8 = 0x01
1287                     OSYS = 0x07DF
1288                 }
1289 
1290                 If (\_OSI ("Linux"))
1291                 {
1292                     \LNUX = 0x01
1293                     OSYS = 0x03E8
1294                 }
1295 
1296                 If (\_OSI ("FreeBSD"))
1297                 {
1298                     \LNUX = 0x01
1299                     OSYS = 0x03E8
1300                 }
1301             }
1302             Else
1303             {
1304                 If ((\SCMP (\_OS, "Microsoft Windows NT") == Zero))
1305                 {
1306                     \WNTF = 0x01
1307                 }
1308             }
1309 
1310             If ((\_REV >= 0x02))
1311             {
1312                 \H8DR = 0x01
1313             }
1314 
1315             \OSIF = 0x01
1316             \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
1317             \_SB.PCI0.LPC.MOU.MHID ()
1318             If (\LNUX)
1319             {
1320                 \_SB.PCI0.LPC.EC.SAUM (0x02)
1321                 \UCMS (0x1C)
1322             }
1323 
1324             \_SB.PCI0.RID = \SRAH
1325             If (VIGD)
1326             {
1327                 \_SB.PCI0.VID.RID = \SRHE
1328             }
1329             Else
1330             {
1331                 \_SB.PCI0.PEG.RID = \SRHE
1332             }
1333 
1334             \_SB.PCI0.EXP1.RID = \SRE1
1335             \_SB.PCI0.EXP2.RID = \SRE2
1336             \_SB.PCI0.EXP3.RID = \SRE3
1337             \_SB.PCI0.EHC1.RID = \SRU7
1338             \_SB.PCI0.LPC.RID = \SRLP
1339             \_SB.PCI0.SAT1.RID = \SRSA
1340             \_SB.PCI0.SMBU.RID = \SRSM
1341             \UCMS (0x1D)
1342         }
1343 
1344         Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
1345         {
1346             CreateDWordField (Arg3, 0x00, STS0)
1347             CreateDWordField (Arg3, 0x04, CAP0)
1348             If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
1349             {
1350                 If ((Arg1 == One))
1351                 {
1352                     If ((CAP0 & 0x04))
1353                     {
1354                         If (!VMSH)
1355                         {
1356                             If ((RTD3 == 0x00))
1357                             {
1358                                 CAP0 &= 0x3B
1359                                 STS0 |= 0x10
1360                             }
1361                         }
1362                     }
1363 
1364                     If ((CAP0 & 0x20))
1365                     {
1366                         If (CondRefOf (\_SB.PCCD.PENB))
1367                         {
1368                             If ((\_SB.PCCD.PENB == 0x00))
1369                             {
1370                                 CAP0 &= 0x1F
1371                                 STS0 |= 0x10
1372                             }
1373 
1374                             If ((\_SB.PCCD.PENB == 0x01))
1375                             {
1376                                 \CPPX = 0x01
1377                             }
1378                         }
1379                         Else
1380                         {
1381                             CAP0 &= 0x1F
1382                             STS0 |= 0x10
1383                         }
1384                     }
1385                 }
1386                 Else
1387                 {
1388                     STS0 &= 0xFFFFFF00
1389                     STS0 |= 0x0A
1390                 }
1391             }
1392             Else
1393             {
1394                 STS0 &= 0xFFFFFF00
1395                 STS0 |= 0x06
1396             }
1397 
1398             Return (Arg3)
1399         }
1400 
1401         Device (LNKA)
1402         {
1403             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1404             Name (_UID, 0x01)  // _UID: Unique ID
1405             Method (_STA, 0, NotSerialized)  // _STA: Status
1406             {
1407                 If (!VPIR (\_SB.PCI0.LPC.PIRA))
1408                 {
1409                     Return (0x09)
1410                 }
1411                 Else
1412                 {
1413                     Return (0x0B)
1414                 }
1415             }
1416 
1417             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1418             {
1419                 IRQ (Level, ActiveLow, Shared, )
1420                     {3,4,5,6,7,9,10,11}
1421             })
1422             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1423             {
1424                 \_SB.PCI0.LPC.PIRA |= 0x80
1425             }
1426 
1427             Name (BUFA, ResourceTemplate ()
1428             {
1429                 IRQ (Level, ActiveLow, Shared, _Y00)
1430                     {}
1431             })
1432             CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1)  // _INT: Interrupts
1433             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1434             {
1435                 Local0 = (\_SB.PCI0.LPC.PIRA & 0x8F)
1436                 If (VPIR (Local0))
1437                 {
1438                     IRA1 = (0x01 << Local0)
1439                 }
1440                 Else
1441                 {
1442                     IRA1 = 0x00
1443                 }
1444 
1445                 Return (BUFA) /* \_SB_.LNKA.BUFA */
1446             }
1447 
1448             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1449             {
1450                 CreateWordField (Arg0, 0x01, IRA2)
1451                 FindSetRightBit (IRA2, Local0)
1452                 Local1 = (\_SB.PCI0.LPC.PIRA & 0x70)
1453                 Local1 |= Local0--
1454                 \_SB.PCI0.LPC.PIRA = Local1
1455             }
1456         }
1457 
1458         Device (LNKB)
1459         {
1460             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1461             Name (_UID, 0x02)  // _UID: Unique ID
1462             Method (_STA, 0, NotSerialized)  // _STA: Status
1463             {
1464                 If (!VPIR (\_SB.PCI0.LPC.PIRB))
1465                 {
1466                     Return (0x09)
1467                 }
1468                 Else
1469                 {
1470                     Return (0x0B)
1471                 }
1472             }
1473 
1474             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1475             {
1476                 IRQ (Level, ActiveLow, Shared, )
1477                     {3,4,5,6,7,9,10,11}
1478             })
1479             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1480             {
1481                 \_SB.PCI0.LPC.PIRB |= 0x80
1482             }
1483 
1484             Name (BUFB, ResourceTemplate ()
1485             {
1486                 IRQ (Level, ActiveLow, Shared, _Y01)
1487                     {}
1488             })
1489             CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1)  // _INT: Interrupts
1490             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1491             {
1492                 Local0 = (\_SB.PCI0.LPC.PIRB & 0x8F)
1493                 If (VPIR (Local0))
1494                 {
1495                     IRB1 = (0x01 << Local0)
1496                 }
1497                 Else
1498                 {
1499                     IRB1 = 0x00
1500                 }
1501 
1502                 Return (BUFB) /* \_SB_.LNKB.BUFB */
1503             }
1504 
1505             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1506             {
1507                 CreateWordField (Arg0, 0x01, IRB2)
1508                 FindSetRightBit (IRB2, Local0)
1509                 Local1 = (\_SB.PCI0.LPC.PIRB & 0x70)
1510                 Local1 |= Local0--
1511                 \_SB.PCI0.LPC.PIRB = Local1
1512             }
1513         }
1514 
1515         Device (LNKC)
1516         {
1517             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1518             Name (_UID, 0x03)  // _UID: Unique ID
1519             Method (_STA, 0, NotSerialized)  // _STA: Status
1520             {
1521                 If (!VPIR (\_SB.PCI0.LPC.PIRC))
1522                 {
1523                     Return (0x09)
1524                 }
1525                 Else
1526                 {
1527                     Return (0x0B)
1528                 }
1529             }
1530 
1531             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1532             {
1533                 IRQ (Level, ActiveLow, Shared, )
1534                     {3,4,5,6,7,9,10,11}
1535             })
1536             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1537             {
1538                 \_SB.PCI0.LPC.PIRC |= 0x80
1539             }
1540 
1541             Name (BUFC, ResourceTemplate ()
1542             {
1543                 IRQ (Level, ActiveLow, Shared, _Y02)
1544                     {}
1545             })
1546             CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1)  // _INT: Interrupts
1547             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1548             {
1549                 Local0 = (\_SB.PCI0.LPC.PIRC & 0x8F)
1550                 If (VPIR (Local0))
1551                 {
1552                     IRC1 = (0x01 << Local0)
1553                 }
1554                 Else
1555                 {
1556                     IRC1 = 0x00
1557                 }
1558 
1559                 Return (BUFC) /* \_SB_.LNKC.BUFC */
1560             }
1561 
1562             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1563             {
1564                 CreateWordField (Arg0, 0x01, IRC2)
1565                 FindSetRightBit (IRC2, Local0)
1566                 Local1 = (\_SB.PCI0.LPC.PIRC & 0x70)
1567                 Local1 |= Local0--
1568                 \_SB.PCI0.LPC.PIRC = Local1
1569             }
1570         }
1571 
1572         Device (LNKD)
1573         {
1574             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1575             Name (_UID, 0x04)  // _UID: Unique ID
1576             Method (_STA, 0, NotSerialized)  // _STA: Status
1577             {
1578                 If (!VPIR (\_SB.PCI0.LPC.PIRD))
1579                 {
1580                     Return (0x09)
1581                 }
1582                 Else
1583                 {
1584                     Return (0x0B)
1585                 }
1586             }
1587 
1588             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1589             {
1590                 IRQ (Level, ActiveLow, Shared, )
1591                     {3,4,5,6,7,9,10,11}
1592             })
1593             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1594             {
1595                 \_SB.PCI0.LPC.PIRD |= 0x80
1596             }
1597 
1598             Name (BUFD, ResourceTemplate ()
1599             {
1600                 IRQ (Level, ActiveLow, Shared, _Y03)
1601                     {}
1602             })
1603             CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1)  // _INT: Interrupts
1604             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1605             {
1606                 Local0 = (\_SB.PCI0.LPC.PIRD & 0x8F)
1607                 If (VPIR (Local0))
1608                 {
1609                     IRD1 = (0x01 << Local0)
1610                 }
1611                 Else
1612                 {
1613                     IRD1 = 0x00
1614                 }
1615 
1616                 Return (BUFD) /* \_SB_.LNKD.BUFD */
1617             }
1618 
1619             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1620             {
1621                 CreateWordField (Arg0, 0x01, IRD2)
1622                 FindSetRightBit (IRD2, Local0)
1623                 Local1 = (\_SB.PCI0.LPC.PIRD & 0x70)
1624                 Local1 |= Local0--
1625                 \_SB.PCI0.LPC.PIRD = Local1
1626             }
1627         }
1628 
1629         Device (LNKE)
1630         {
1631             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1632             Name (_UID, 0x05)  // _UID: Unique ID
1633             Method (_STA, 0, NotSerialized)  // _STA: Status
1634             {
1635                 If (!VPIR (\_SB.PCI0.LPC.PIRE))
1636                 {
1637                     Return (0x09)
1638                 }
1639                 Else
1640                 {
1641                     Return (0x0B)
1642                 }
1643             }
1644 
1645             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1646             {
1647                 IRQ (Level, ActiveLow, Shared, )
1648                     {3,4,5,6,7,9,10,11}
1649             })
1650             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1651             {
1652                 \_SB.PCI0.LPC.PIRE |= 0x80
1653             }
1654 
1655             Name (BUFE, ResourceTemplate ()
1656             {
1657                 IRQ (Level, ActiveLow, Shared, _Y04)
1658                     {}
1659             })
1660             CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1)  // _INT: Interrupts
1661             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1662             {
1663                 Local0 = (\_SB.PCI0.LPC.PIRE & 0x8F)
1664                 If (VPIR (Local0))
1665                 {
1666                     IRE1 = (0x01 << Local0)
1667                 }
1668                 Else
1669                 {
1670                     IRE1 = 0x00
1671                 }
1672 
1673                 Return (BUFE) /* \_SB_.LNKE.BUFE */
1674             }
1675 
1676             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1677             {
1678                 CreateWordField (Arg0, 0x01, IRE2)
1679                 FindSetRightBit (IRE2, Local0)
1680                 Local1 = (\_SB.PCI0.LPC.PIRE & 0x70)
1681                 Local1 |= Local0--
1682                 \_SB.PCI0.LPC.PIRE = Local1
1683             }
1684         }
1685 
1686         Device (LNKF)
1687         {
1688             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1689             Name (_UID, 0x06)  // _UID: Unique ID
1690             Method (_STA, 0, NotSerialized)  // _STA: Status
1691             {
1692                 If (!VPIR (\_SB.PCI0.LPC.PIRF))
1693                 {
1694                     Return (0x09)
1695                 }
1696                 Else
1697                 {
1698                     Return (0x0B)
1699                 }
1700             }
1701 
1702             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1703             {
1704                 IRQ (Level, ActiveLow, Shared, )
1705                     {3,4,5,6,7,9,10,11}
1706             })
1707             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1708             {
1709                 \_SB.PCI0.LPC.PIRF |= 0x80
1710             }
1711 
1712             Name (BUFF, ResourceTemplate ()
1713             {
1714                 IRQ (Level, ActiveLow, Shared, _Y05)
1715                     {}
1716             })
1717             CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1)  // _INT: Interrupts
1718             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1719             {
1720                 Local0 = (\_SB.PCI0.LPC.PIRF & 0x8F)
1721                 If (VPIR (Local0))
1722                 {
1723                     IRF1 = (0x01 << Local0)
1724                 }
1725                 Else
1726                 {
1727                     IRF1 = 0x00
1728                 }
1729 
1730                 Return (BUFF) /* \_SB_.LNKF.BUFF */
1731             }
1732 
1733             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1734             {
1735                 CreateWordField (Arg0, 0x01, IRF2)
1736                 FindSetRightBit (IRF2, Local0)
1737                 Local1 = (\_SB.PCI0.LPC.PIRF & 0x70)
1738                 Local1 |= Local0--
1739                 \_SB.PCI0.LPC.PIRF = Local1
1740             }
1741         }
1742 
1743         Device (LNKG)
1744         {
1745             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1746             Name (_UID, 0x07)  // _UID: Unique ID
1747             Method (_STA, 0, NotSerialized)  // _STA: Status
1748             {
1749                 If (!VPIR (\_SB.PCI0.LPC.PIRG))
1750                 {
1751                     Return (0x09)
1752                 }
1753                 Else
1754                 {
1755                     Return (0x0B)
1756                 }
1757             }
1758 
1759             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1760             {
1761                 IRQ (Level, ActiveLow, Shared, )
1762                     {3,4,5,6,7,9,10,11}
1763             })
1764             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1765             {
1766                 \_SB.PCI0.LPC.PIRG |= 0x80
1767             }
1768 
1769             Name (BUFG, ResourceTemplate ()
1770             {
1771                 IRQ (Level, ActiveLow, Shared, _Y06)
1772                     {}
1773             })
1774             CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1)  // _INT: Interrupts
1775             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1776             {
1777                 Local0 = (\_SB.PCI0.LPC.PIRG & 0x8F)
1778                 If (VPIR (Local0))
1779                 {
1780                     IRG1 = (0x01 << Local0)
1781                 }
1782                 Else
1783                 {
1784                     IRG1 = 0x00
1785                 }
1786 
1787                 Return (BUFG) /* \_SB_.LNKG.BUFG */
1788             }
1789 
1790             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1791             {
1792                 CreateWordField (Arg0, 0x01, IRG2)
1793                 FindSetRightBit (IRG2, Local0)
1794                 Local1 = (\_SB.PCI0.LPC.PIRG & 0x70)
1795                 Local1 |= Local0--
1796                 \_SB.PCI0.LPC.PIRG = Local1
1797             }
1798         }
1799 
1800         Device (LNKH)
1801         {
1802             Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
1803             Name (_UID, 0x08)  // _UID: Unique ID
1804             Method (_STA, 0, NotSerialized)  // _STA: Status
1805             {
1806                 If (!VPIR (\_SB.PCI0.LPC.PIRH))
1807                 {
1808                     Return (0x09)
1809                 }
1810                 Else
1811                 {
1812                     Return (0x0B)
1813                 }
1814             }
1815 
1816             Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
1817             {
1818                 IRQ (Level, ActiveLow, Shared, )
1819                     {3,4,5,6,7,9,10,11}
1820             })
1821             Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
1822             {
1823                 \_SB.PCI0.LPC.PIRH |= 0x80
1824             }
1825 
1826             Name (BUFH, ResourceTemplate ()
1827             {
1828                 IRQ (Level, ActiveLow, Shared, _Y07)
1829                     {}
1830             })
1831             CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1)  // _INT: Interrupts
1832             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1833             {
1834                 Local0 = (\_SB.PCI0.LPC.PIRH & 0x8F)
1835                 If (VPIR (Local0))
1836                 {
1837                     IRH1 = (0x01 << Local0)
1838                 }
1839                 Else
1840                 {
1841                     IRH1 = 0x00
1842                 }
1843 
1844                 Return (BUFH) /* \_SB_.LNKH.BUFH */
1845             }
1846 
1847             Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
1848             {
1849                 CreateWordField (Arg0, 0x01, IRH2)
1850                 FindSetRightBit (IRH2, Local0)
1851                 Local1 = (\_SB.PCI0.LPC.PIRH & 0x70)
1852                 Local1 |= Local0--
1853                 \_SB.PCI0.LPC.PIRH = Local1
1854             }
1855         }
1856 
1857         Method (VPIR, 1, NotSerialized)
1858         {
1859             Local0 = 0x01
1860             If ((Arg0 & 0x80))
1861             {
1862                 Local0 = 0x00
1863             }
1864             Else
1865             {
1866                 Local1 = (Arg0 & 0x0F)
1867                 If ((Local1 < 0x03))
1868                 {
1869                     Local0 = 0x00
1870                 }
1871                 Else
1872                 {
1873                     If (((Local1 == 0x08) || (Local1 == 0x0D)))
1874                     {
1875                         Local0 = 0x00
1876                     }
1877                 }
1878             }
1879 
1880             Return (Local0)
1881         }
1882 
1883         Device (MEM)
1884         {
1885             Name (_HID, EisaId ("PNP0C01") /* System Board */)  // _HID: Hardware ID
1886             Name (MEMS, ResourceTemplate ()
1887             {
1888                 Memory32Fixed (ReadWrite,
1889                     0x00000000,         // Address Base
1890                     0x000A0000,         // Address Length
1891                     )
1892                 Memory32Fixed (ReadOnly,
1893                     0x000C0000,         // Address Base
1894                     0x00000000,         // Address Length
1895                     _Y08)
1896                 Memory32Fixed (ReadOnly,
1897                     0x000C4000,         // Address Base
1898                     0x00000000,         // Address Length
1899                     _Y09)
1900                 Memory32Fixed (ReadOnly,
1901                     0x000C8000,         // Address Base
1902                     0x00000000,         // Address Length
1903                     _Y0A)
1904                 Memory32Fixed (ReadOnly,
1905                     0x000CC000,         // Address Base
1906                     0x00000000,         // Address Length
1907                     _Y0B)
1908                 Memory32Fixed (ReadOnly,
1909                     0x000D0000,         // Address Base
1910                     0x00000000,         // Address Length
1911                     _Y0C)
1912                 Memory32Fixed (ReadOnly,
1913                     0x000D4000,         // Address Base
1914                     0x00000000,         // Address Length
1915                     _Y0D)
1916                 Memory32Fixed (ReadOnly,
1917                     0x000D8000,         // Address Base
1918                     0x00000000,         // Address Length
1919                     _Y0E)
1920                 Memory32Fixed (ReadOnly,
1921                     0x000DC000,         // Address Base
1922                     0x00000000,         // Address Length
1923                     _Y0F)
1924                 Memory32Fixed (ReadOnly,
1925                     0x000E0000,         // Address Base
1926                     0x00000000,         // Address Length
1927                     _Y10)
1928                 Memory32Fixed (ReadOnly,
1929                     0x000E4000,         // Address Base
1930                     0x00000000,         // Address Length
1931                     _Y11)
1932                 Memory32Fixed (ReadOnly,
1933                     0x000E8000,         // Address Base
1934                     0x00000000,         // Address Length
1935                     _Y12)
1936                 Memory32Fixed (ReadOnly,
1937                     0x000EC000,         // Address Base
1938                     0x00000000,         // Address Length
1939                     _Y13)
1940                 Memory32Fixed (ReadOnly,
1941                     0x000F0000,         // Address Base
1942                     0x00010000,         // Address Length
1943                     )
1944                 Memory32Fixed (ReadWrite,
1945                     0x00100000,         // Address Base
1946                     0x01EE0000,         // Address Length
1947                     _Y14)
1948                 Memory32Fixed (ReadOnly,
1949                     0xFEC00000,         // Address Base
1950                     0x00140000,         // Address Length
1951                     _Y15)
1952                 Memory32Fixed (ReadOnly,
1953                     0xFED4C000,         // Address Base
1954                     0x012B4000,         // Address Length
1955                     _Y16)
1956             })
1957             CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L)  // _LEN: Length
1958             CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L)  // _LEN: Length
1959             CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L)  // _LEN: Length
1960             CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL)  // _LEN: Length
1961             CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L)  // _LEN: Length
1962             CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L)  // _LEN: Length
1963             CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L)  // _LEN: Length
1964             CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL)  // _LEN: Length
1965             CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L)  // _LEN: Length
1966             CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L)  // _LEN: Length
1967             CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L)  // _LEN: Length
1968             CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL)  // _LEN: Length
1969             CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W)  // _RW_: Read-Write Status
1970             CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W)  // _RW_: Read-Write Status
1971             CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W)  // _RW_: Read-Write Status
1972             CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW)  // _RW_: Read-Write Status
1973             CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W)  // _RW_: Read-Write Status
1974             CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W)  // _RW_: Read-Write Status
1975             CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W)  // _RW_: Read-Write Status
1976             CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW)  // _RW_: Read-Write Status
1977             CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W)  // _RW_: Read-Write Status
1978             CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W)  // _RW_: Read-Write Status
1979             CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W)  // _RW_: Read-Write Status
1980             CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW)  // _RW_: Read-Write Status
1981             CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1)  // _BAS: Base Address
1982             CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1)  // _LEN: Length
1983             CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2)  // _LEN: Length
1984             CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3)  // _LEN: Length
1985             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
1986             {
1987                 Local0 = (\_SB.PCI0.PAM1 & 0x03)
1988                 If (Local0)
1989                 {
1990                     MC0L = 0x4000
1991                     If ((Local0 & 0x02))
1992                     {
1993                         MC0W = 0x01
1994                     }
1995                 }
1996 
1997                 Local0 = (\_SB.PCI0.PAM1 & 0x30)
1998                 If (Local0)
1999                 {
2000                     MC4L = 0x4000
2001                     If ((Local0 & 0x20))
2002                     {
2003                         MC4W = 0x01
2004                     }
2005                 }
2006 
2007                 Local0 = (\_SB.PCI0.PAM2 & 0x03)
2008                 If (Local0)
2009                 {
2010                     MC8L = 0x4000
2011                     If ((Local0 & 0x02))
2012                     {
2013                         MC8W = 0x01
2014                     }
2015                 }
2016 
2017                 Local0 = (\_SB.PCI0.PAM2 & 0x30)
2018                 If (Local0)
2019                 {
2020                     MCCL = 0x4000
2021                     If ((Local0 & 0x20))
2022                     {
2023                         MCCW = 0x01
2024                     }
2025                 }
2026 
2027                 Local0 = (\_SB.PCI0.PAM3 & 0x03)
2028                 If (Local0)
2029                 {
2030                     MD0L = 0x4000
2031                     If ((Local0 & 0x02))
2032                     {
2033                         MD0W = 0x01
2034                     }
2035                 }
2036 
2037                 Local0 = (\_SB.PCI0.PAM3 & 0x30)
2038                 If (Local0)
2039                 {
2040                     MD4L = 0x4000
2041                     If ((Local0 & 0x20))
2042                     {
2043                         MD4W = 0x01
2044                     }
2045                 }
2046 
2047                 Local0 = (\_SB.PCI0.PAM4 & 0x03)
2048                 If (Local0)
2049                 {
2050                     MD8L = 0x4000
2051                     If ((Local0 & 0x02))
2052                     {
2053                         MD8W = 0x01
2054                     }
2055                 }
2056 
2057                 Local0 = (\_SB.PCI0.PAM4 & 0x30)
2058                 If (Local0)
2059                 {
2060                     MDCL = 0x4000
2061                     If ((Local0 & 0x20))
2062                     {
2063                         MDCW = 0x01
2064                     }
2065                 }
2066 
2067                 Local0 = (\_SB.PCI0.PAM5 & 0x03)
2068                 If (Local0)
2069                 {
2070                     ME0L = 0x4000
2071                     If ((Local0 & 0x02))
2072                     {
2073                         ME0W = 0x01
2074                     }
2075                 }
2076 
2077                 Local0 = (\_SB.PCI0.PAM5 & 0x30)
2078                 If (Local0)
2079                 {
2080                     ME4L = 0x4000
2081                     If ((Local0 & 0x20))
2082                     {
2083                         ME4W = 0x01
2084                     }
2085                 }
2086 
2087                 Local0 = (\_SB.PCI0.PAM6 & 0x03)
2088                 If (Local0)
2089                 {
2090                     ME8L = 0x4000
2091                     If ((Local0 & 0x02))
2092                     {
2093                         ME8W = 0x01
2094                     }
2095                 }
2096 
2097                 Local0 = (\_SB.PCI0.PAM6 & 0x30)
2098                 If (Local0)
2099                 {
2100                     MECL = 0x4000
2101                     If ((Local0 & 0x20))
2102                     {
2103                         MECW = 0x01
2104                     }
2105                 }
2106 
2107                 MEL1 = (\MEMX - MEB1) /* \_SB_.MEM_.MEB1 */
2108                 If (!CondRefOf (\_SB.PCI0.LPC.TPM))
2109                 {
2110                     MEL2 = 0x01400000
2111                     MEL3 = 0x00
2112                 }
2113                 Else
2114                 {
2115                     If ((\_SB.PCI0.LPC.TPM._STA () != 0x0F))
2116                     {
2117                         MEL2 = 0x01400000
2118                         MEL3 = 0x00
2119                     }
2120                 }
2121 
2122                 Return (MEMS) /* \_SB_.MEM_.MEMS */
2123             }
2124         }
2125 
2126         Device (LID)
2127         {
2128             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
2129             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
2130             {
2131                 If (((\ILNF == 0x00) && (\PLUX == 0x00)))
2132                 {
2133                     If (\H8DR)
2134                     {
2135                         Return (\_SB.PCI0.LPC.EC.HPLD)
2136                     }
2137                     Else
2138                     {
2139                         If ((\RBEC (0x46) & 0x04))
2140                         {
2141                             Return (0x01)
2142                         }
2143                         Else
2144                         {
2145                             Return (0x00)
2146                         }
2147                     }
2148                 }
2149                 Else
2150                 {
2151                     Return (0x01)
2152                 }
2153             }
2154 
2155             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
2156             {
2157                 If (\LWCP)
2158                 {
2159                     Return (Package (0x02)
2160                     {
2161                         0x0D, 
2162                         0x04
2163                     })
2164                 }
2165                 Else
2166                 {
2167                     Return (Package (0x02)
2168                     {
2169                         0x0D, 
2170                         0x03
2171                     })
2172                 }
2173             }
2174 
2175             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
2176             {
2177                 If (\H8DR)
2178                 {
2179                     If (Arg0)
2180                     {
2181                         \_SB.PCI0.LPC.EC.HWLO = 0x01
2182                     }
2183                     Else
2184                     {
2185                         \_SB.PCI0.LPC.EC.HWLO = 0x00
2186                     }
2187                 }
2188                 Else
2189                 {
2190                     If (Arg0)
2191                     {
2192                         \MBEC (0x32, 0xFF, 0x04)
2193                     }
2194                     Else
2195                     {
2196                         \MBEC (0x32, 0xFB, 0x00)
2197                     }
2198                 }
2199 
2200                 If (\LWCP)
2201                 {
2202                     If (Arg0)
2203                     {
2204                         \LWEN = 0x01
2205                     }
2206                     Else
2207                     {
2208                         \LWEN = 0x00
2209                     }
2210                 }
2211             }
2212         }
2213 
2214         Device (SLPB)
2215         {
2216             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
2217             Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
2218             {
2219                 Return (Package (0x02)
2220                 {
2221                     0x0D, 
2222                     0x03
2223                 })
2224             }
2225 
2226             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
2227             {
2228                 If (\H8DR)
2229                 {
2230                     If (Arg0)
2231                     {
2232                         \_SB.PCI0.LPC.EC.HWFN = 0x01
2233                     }
2234                     Else
2235                     {
2236                         \_SB.PCI0.LPC.EC.HWFN = 0x00
2237                     }
2238                 }
2239                 Else
2240                 {
2241                     If (Arg0)
2242                     {
2243                         \MBEC (0x32, 0xFF, 0x10)
2244                     }
2245                     Else
2246                     {
2247                         \MBEC (0x32, 0xEF, 0x00)
2248                     }
2249                 }
2250             }
2251         }
2252 
2253         Scope (\)
2254         {
2255             Name (UPC0, Package (0x04)
2256             {
2257                 0xFF, 
2258                 0x00, 
2259                 0x00, 
2260                 0x00
2261             })
2262             Name (PLD0, Buffer (0x10)
2263             {
2264                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2265                 /* 0008 */  0x99, 0x11, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00   /* ........ */
2266             })
2267             Name (UPC1, Package (0x04)
2268             {
2269                 0xFF, 
2270                 0x00, 
2271                 0x00, 
2272                 0x00
2273             })
2274             Name (PLD1, Buffer (0x10)
2275             {
2276                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2277                 /* 0008 */  0x99, 0x11, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00   /* ........ */
2278             })
2279             Name (UPC2, Package (0x04)
2280             {
2281                 0xFF, 
2282                 0x00, 
2283                 0x00, 
2284                 0x00
2285             })
2286             Name (PLD2, Buffer (0x10)
2287             {
2288                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2289                 /* 0008 */  0x91, 0x12, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00   /* ........ */
2290             })
2291             Name (UPC3, Package (0x04)
2292             {
2293                 0x00, 
2294                 0x02, 
2295                 0x00, 
2296                 0x00
2297             })
2298             Name (PLD3, Buffer (0x10)
2299             {
2300                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2301                 /* 0008 */  0x48, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00   /* H....... */
2302             })
2303             Name (UPCI, Package (0x04)
2304             {
2305                 0x00, 
2306                 0xFF, 
2307                 0x00, 
2308                 0x00
2309             })
2310             Name (PLDI, Buffer (0x10)
2311             {
2312                 /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2313                 /* 0008 */  0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* 0....... */
2314             })
2315             Name (PLDC, Buffer (0x14)
2316             {
2317                 /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
2318                 /* 0008 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* $....... */
2319                 /* 0010 */  0xDD, 0x00, 0x95, 0x00                           /* .... */
2320             })
2321         }
2322 
2323         Device (PCI0)
2324         {
2325             Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
2326             Name (_ADR, 0x00)  // _ADR: Address
2327             Name (RID, 0x00)
2328             Name (_S3D, 0x02)  // _S3D: S3 Device State
2329             Name (LRRT, Package (0x17)
2330             {
2331                 Package (0x04)
2332                 {
2333                     0x0001FFFF, 
2334                     0x00, 
2335                     \_SB.LNKA, 
2336                     0x00
2337                 }, 
2338 
2339                 Package (0x04)
2340                 {
2341                     0x0002FFFF, 
2342                     0x00, 
2343                     \_SB.LNKA, 
2344                     0x00
2345                 }, 
2346 
2347                 Package (0x04)
2348                 {
2349                     0x0003FFFF, 
2350                     0x00, 
2351                     \_SB.LNKA, 
2352                     0x00
2353                 }, 
2354 
2355                 Package (0x04)
2356                 {
2357                     0x0014FFFF, 
2358                     0x00, 
2359                     \_SB.LNKA, 
2360                     0x00
2361                 }, 
2362 
2363                 Package (0x04)
2364                 {
2365                     0x0016FFFF, 
2366                     0x00, 
2367                     \_SB.LNKA, 
2368                     0x00
2369                 }, 
2370 
2371                 Package (0x04)
2372                 {
2373                     0x0016FFFF, 
2374                     0x01, 
2375                     \_SB.LNKB, 
2376                     0x00
2377                 }, 
2378 
2379                 Package (0x04)
2380                 {
2381                     0x0016FFFF, 
2382                     0x02, 
2383                     \_SB.LNKC, 
2384                     0x00
2385                 }, 
2386 
2387                 Package (0x04)
2388                 {
2389                     0x0016FFFF, 
2390                     0x03, 
2391                     \_SB.LNKD, 
2392                     0x00
2393                 }, 
2394 
2395                 Package (0x04)
2396                 {
2397                     0x0019FFFF, 
2398                     0x00, 
2399                     \_SB.LNKE, 
2400                     0x00
2401                 }, 
2402 
2403                 Package (0x04)
2404                 {
2405                     0x001AFFFF, 
2406                     0x00, 
2407                     \_SB.LNKA, 
2408                     0x00
2409                 }, 
2410 
2411                 Package (0x04)
2412                 {
2413                     0x001BFFFF, 
2414                     0x00, 
2415                     \_SB.LNKG, 
2416                     0x00
2417                 }, 
2418 
2419                 Package (0x04)
2420                 {
2421                     0x001CFFFF, 
2422                     0x00, 
2423                     \_SB.LNKA, 
2424                     0x00
2425                 }, 
2426 
2427                 Package (0x04)
2428                 {
2429                     0x001CFFFF, 
2430                     0x01, 
2431                     \_SB.LNKB, 
2432                     0x00
2433                 }, 
2434 
2435                 Package (0x04)
2436                 {
2437                     0x001CFFFF, 
2438                     0x02, 
2439                     \_SB.LNKC, 
2440                     0x00
2441                 }, 
2442 
2443                 Package (0x04)
2444                 {
2445                     0x001CFFFF, 
2446                     0x03, 
2447                     \_SB.LNKD, 
2448                     0x00
2449                 }, 
2450 
2451                 Package (0x04)
2452                 {
2453                     0x001DFFFF, 
2454                     0x00, 
2455                     \_SB.LNKH, 
2456                     0x00
2457                 }, 
2458 
2459                 Package (0x04)
2460                 {
2461                     0x001DFFFF, 
2462                     0x01, 
2463                     \_SB.LNKD, 
2464                     0x00
2465                 }, 
2466 
2467                 Package (0x04)
2468                 {
2469                     0x001DFFFF, 
2470                     0x02, 
2471                     \_SB.LNKA, 
2472                     0x00
2473                 }, 
2474 
2475                 Package (0x04)
2476                 {
2477                     0x001DFFFF, 
2478                     0x03, 
2479                     \_SB.LNKC, 
2480                     0x00
2481                 }, 
2482 
2483                 Package (0x04)
2484                 {
2485                     0x001FFFFF, 
2486                     0x00, 
2487                     \_SB.LNKA, 
2488                     0x00
2489                 }, 
2490 
2491                 Package (0x04)
2492                 {
2493                     0x001FFFFF, 
2494                     0x01, 
2495                     \_SB.LNKD, 
2496                     0x00
2497                 }, 
2498 
2499                 Package (0x04)
2500                 {
2501                     0x001FFFFF, 
2502                     0x02, 
2503                     \_SB.LNKC, 
2504                     0x00
2505                 }, 
2506 
2507                 Package (0x04)
2508                 {
2509                     0x001FFFFF, 
2510                     0x03, 
2511                     \_SB.LNKA, 
2512                     0x00
2513                 }
2514             })
2515             Name (ARRT, Package (0x17)
2516             {
2517                 Package (0x04)
2518                 {
2519                     0x0001FFFF, 
2520                     0x00, 
2521                     0x00, 
2522                     0x10
2523                 }, 
2524 
2525                 Package (0x04)
2526                 {
2527                     0x0002FFFF, 
2528                     0x00, 
2529                     0x00, 
2530                     0x10
2531                 }, 
2532 
2533                 Package (0x04)
2534                 {
2535                     0x0003FFFF, 
2536                     0x00, 
2537                     0x00, 
2538                     0x10
2539                 }, 
2540 
2541                 Package (0x04)
2542                 {
2543                     0x0014FFFF, 
2544                     0x00, 
2545                     0x00, 
2546                     0x10
2547                 }, 
2548 
2549                 Package (0x04)
2550                 {
2551                     0x0016FFFF, 
2552                     0x00, 
2553                     0x00, 
2554                     0x10
2555                 }, 
2556 
2557                 Package (0x04)
2558                 {
2559                     0x0016FFFF, 
2560                     0x01, 
2561                     0x00, 
2562                     0x11
2563                 }, 
2564 
2565                 Package (0x04)
2566                 {
2567                     0x0016FFFF, 
2568                     0x02, 
2569                     0x00, 
2570                     0x12
2571                 }, 
2572 
2573                 Package (0x04)
2574                 {
2575                     0x0016FFFF, 
2576                     0x03, 
2577                     0x00, 
2578                     0x13
2579                 }, 
2580 
2581                 Package (0x04)
2582                 {
2583                     0x0019FFFF, 
2584                     0x00, 
2585                     0x00, 
2586                     0x14
2587                 }, 
2588 
2589                 Package (0x04)
2590                 {
2591                     0x001AFFFF, 
2592                     0x00, 
2593                     0x00, 
2594                     0x10
2595                 }, 
2596 
2597                 Package (0x04)
2598                 {
2599                     0x001BFFFF, 
2600                     0x00, 
2601                     0x00, 
2602                     0x16
2603                 }, 
2604 
2605                 Package (0x04)
2606                 {
2607                     0x001CFFFF, 
2608                     0x00, 
2609                     0x00, 
2610                     0x10
2611                 }, 
2612 
2613                 Package (0x04)
2614                 {
2615                     0x001CFFFF, 
2616                     0x01, 
2617                     0x00, 
2618                     0x11
2619                 }, 
2620 
2621                 Package (0x04)
2622                 {
2623                     0x001CFFFF, 
2624                     0x02, 
2625                     0x00, 
2626                     0x12
2627                 }, 
2628 
2629                 Package (0x04)
2630                 {
2631                     0x001CFFFF, 
2632                     0x03, 
2633                     0x00, 
2634                     0x13
2635                 }, 
2636 
2637                 Package (0x04)
2638                 {
2639                     0x001DFFFF, 
2640                     0x00, 
2641                     0x00, 
2642                     0x17
2643                 }, 
2644 
2645                 Package (0x04)
2646                 {
2647                     0x001DFFFF, 
2648                     0x01, 
2649                     0x00, 
2650                     0x13
2651                 }, 
2652 
2653                 Package (0x04)
2654                 {
2655                     0x001DFFFF, 
2656                     0x02, 
2657                     0x00, 
2658                     0x10
2659                 }, 
2660 
2661                 Package (0x04)
2662                 {
2663                     0x001DFFFF, 
2664                     0x03, 
2665                     0x00, 
2666                     0x12
2667                 }, 
2668 
2669                 Package (0x04)
2670                 {
2671                     0x001FFFFF, 
2672                     0x00, 
2673                     0x00, 
2674                     0x10
2675                 }, 
2676 
2677                 Package (0x04)
2678                 {
2679                     0x001FFFFF, 
2680                     0x01, 
2681                     0x00, 
2682                     0x13
2683                 }, 
2684 
2685                 Package (0x04)
2686                 {
2687                     0x001FFFFF, 
2688                     0x02, 
2689                     0x00, 
2690                     0x12
2691                 }, 
2692 
2693                 Package (0x04)
2694                 {
2695                     0x001FFFFF, 
2696                     0x03, 
2697                     0x00, 
2698                     0x10
2699                 }
2700             })
2701             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
2702             {
2703                 If (\GPIC)
2704                 {
2705                     Return (ARRT) /* \_SB_.PCI0.ARRT */
2706                 }
2707                 Else
2708                 {
2709                     Return (LRRT) /* \_SB_.PCI0.LRRT */
2710                 }
2711             }
2712 
2713             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
2714             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
2715             OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
2716             Field (HBUS, DWordAcc, NoLock, Preserve)
2717             {
2718                 Offset (0x63), 
2719                     ,   2, 
2720                 PXBR,   6
2721             }
2722 
2723             OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2724             Field (MHCS, DWordAcc, NoLock, Preserve)
2725             {
2726                 Offset (0x40), 
2727                 PAM0,   8, 
2728                 PAM1,   8, 
2729                 PAM2,   8, 
2730                 PAM3,   8, 
2731                 PAM4,   8, 
2732                 PAM5,   8, 
2733                 PAM6,   8, 
2734                 Offset (0x7C), 
2735                     ,   20, 
2736                 TLUD,   12
2737             }
2738 
2739             Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
2740             {
2741                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2742                     0x0000,             // Granularity
2743                     0x0000,             // Range Minimum
2744                     0x00FF,             // Range Maximum
2745                     0x0000,             // Translation Offset
2746                     0x0100,             // Length
2747                     ,, _Y25)
2748                 IO (Decode16,
2749                     0x0CF8,             // Range Minimum
2750                     0x0CF8,             // Range Maximum
2751                     0x01,               // Alignment
2752                     0x08,               // Length
2753                     )
2754                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2755                     0x0000,             // Granularity
2756                     0x0000,             // Range Minimum
2757                     0x0CF7,             // Range Maximum
2758                     0x0000,             // Translation Offset
2759                     0x0CF8,             // Length
2760                     ,, , TypeStatic)
2761                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2762                     0x0000,             // Granularity
2763                     0x0D00,             // Range Minimum
2764                     0xFFFF,             // Range Maximum
2765                     0x0000,             // Translation Offset
2766                     0xF300,             // Length
2767                     ,, , TypeStatic)
2768                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2769                     0x00000000,         // Granularity
2770                     0x000A0000,         // Range Minimum
2771                     0x000BFFFF,         // Range Maximum
2772                     0x00000000,         // Translation Offset
2773                     0x00020000,         // Length
2774                     ,, , AddressRangeMemory, TypeStatic)
2775                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2776                     0x00000000,         // Granularity
2777                     0x000C0000,         // Range Minimum
2778                     0x000C3FFF,         // Range Maximum
2779                     0x00000000,         // Translation Offset
2780                     0x00004000,         // Length
2781                     ,, _Y17, AddressRangeMemory, TypeStatic)
2782                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2783                     0x00000000,         // Granularity
2784                     0x000C4000,         // Range Minimum
2785                     0x000C7FFF,         // Range Maximum
2786                     0x00000000,         // Translation Offset
2787                     0x00004000,         // Length
2788                     ,, _Y18, AddressRangeMemory, TypeStatic)
2789                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2790                     0x00000000,         // Granularity
2791                     0x000C8000,         // Range Minimum
2792                     0x000CBFFF,         // Range Maximum
2793                     0x00000000,         // Translation Offset
2794                     0x00004000,         // Length
2795                     ,, _Y19, AddressRangeMemory, TypeStatic)
2796                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2797                     0x00000000,         // Granularity
2798                     0x000CC000,         // Range Minimum
2799                     0x000CFFFF,         // Range Maximum
2800                     0x00000000,         // Translation Offset
2801                     0x00004000,         // Length
2802                     ,, _Y1A, AddressRangeMemory, TypeStatic)
2803                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2804                     0x00000000,         // Granularity
2805                     0x000D0000,         // Range Minimum
2806                     0x000D3FFF,         // Range Maximum
2807                     0x00000000,         // Translation Offset
2808                     0x00004000,         // Length
2809                     ,, _Y1B, AddressRangeMemory, TypeStatic)
2810                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2811                     0x00000000,         // Granularity
2812                     0x000D4000,         // Range Minimum
2813                     0x000D7FFF,         // Range Maximum
2814                     0x00000000,         // Translation Offset
2815                     0x00004000,         // Length
2816                     ,, _Y1C, AddressRangeMemory, TypeStatic)
2817                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2818                     0x00000000,         // Granularity
2819                     0x000D8000,         // Range Minimum
2820                     0x000DBFFF,         // Range Maximum
2821                     0x00000000,         // Translation Offset
2822                     0x00004000,         // Length
2823                     ,, _Y1D, AddressRangeMemory, TypeStatic)
2824                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2825                     0x00000000,         // Granularity
2826                     0x000DC000,         // Range Minimum
2827                     0x000DFFFF,         // Range Maximum
2828                     0x00000000,         // Translation Offset
2829                     0x00004000,         // Length
2830                     ,, _Y1E, AddressRangeMemory, TypeStatic)
2831                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2832                     0x00000000,         // Granularity
2833                     0x000E0000,         // Range Minimum
2834                     0x000E3FFF,         // Range Maximum
2835                     0x00000000,         // Translation Offset
2836                     0x00004000,         // Length
2837                     ,, _Y1F, AddressRangeMemory, TypeStatic)
2838                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2839                     0x00000000,         // Granularity
2840                     0x000E4000,         // Range Minimum
2841                     0x000E7FFF,         // Range Maximum
2842                     0x00000000,         // Translation Offset
2843                     0x00004000,         // Length
2844                     ,, _Y20, AddressRangeMemory, TypeStatic)
2845                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2846                     0x00000000,         // Granularity
2847                     0x000E8000,         // Range Minimum
2848                     0x000EBFFF,         // Range Maximum
2849                     0x00000000,         // Translation Offset
2850                     0x00004000,         // Length
2851                     ,, _Y21, AddressRangeMemory, TypeStatic)
2852                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2853                     0x00000000,         // Granularity
2854                     0x000EC000,         // Range Minimum
2855                     0x000EFFFF,         // Range Maximum
2856                     0x00000000,         // Translation Offset
2857                     0x00004000,         // Length
2858                     ,, _Y22, AddressRangeMemory, TypeStatic)
2859                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2860                     0x00000000,         // Granularity
2861                     0x00100000,         // Range Minimum
2862                     0xFEBFFFFF,         // Range Maximum
2863                     0x00000000,         // Translation Offset
2864                     0xFEB00000,         // Length
2865                     ,, _Y23, AddressRangeMemory, TypeStatic)
2866                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2867                     0x00000000,         // Granularity
2868                     0xFED40000,         // Range Minimum
2869                     0xFED4BFFF,         // Range Maximum
2870                     0x00000000,         // Translation Offset
2871                     0x0000C000,         // Length
2872                     ,, _Y24, AddressRangeMemory, TypeStatic)
2873             })
2874             CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN)  // _LEN: Length
2875             CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN)  // _LEN: Length
2876             CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN)  // _LEN: Length
2877             CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN)  // _LEN: Length
2878             CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN)  // _LEN: Length
2879             CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN)  // _LEN: Length
2880             CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN)  // _LEN: Length
2881             CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN)  // _LEN: Length
2882             CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN)  // _LEN: Length
2883             CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN)  // _LEN: Length
2884             CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN)  // _LEN: Length
2885             CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN)  // _LEN: Length
2886             CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN)  // _MIN: Minimum Base Address
2887             CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX)  // _MAX: Maximum Base Address
2888             CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN)  // _LEN: Length
2889             CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN)  // _MIN: Minimum Base Address
2890             CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX)  // _MAX: Maximum Base Address
2891             CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN)  // _LEN: Length
2892             CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX)  // _MAX: Maximum Base Address
2893             CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN)  // _LEN: Length
2894             Method (_INI, 0, Serialized)  // _INI: Initialize
2895             {
2896                 B0MX = 0x3F
2897                 B0LN = (0x3F + 0x01)
2898                 If (!\OSIF)
2899                 {
2900                     \_SB._INI ()
2901                 }
2902 
2903                 Local0 = (TLUD << 0x14)
2904                 \MEMX = Local0
2905                 XXMN = Local0
2906                 XXLN = ((XXMX - XXMN) + 0x01)
2907                 If ((\TPMP == 0x00))
2908                 {
2909                     F4LN = 0x00
2910                 }
2911 
2912                 If ((PAM1 & 0x03))
2913                 {
2914                     C0LN = 0x00
2915                 }
2916 
2917                 If ((PAM1 & 0x30))
2918                 {
2919                     C4LN = 0x00
2920                 }
2921 
2922                 If ((PAM2 & 0x03))
2923                 {
2924                     C8LN = 0x00
2925                 }
2926 
2927                 If ((PAM2 & 0x30))
2928                 {
2929                     CCLN = 0x00
2930                 }
2931 
2932                 If ((PAM3 & 0x03))
2933                 {
2934                     D0LN = 0x00
2935                 }
2936 
2937                 If ((PAM3 & 0x30))
2938                 {
2939                     D4LN = 0x00
2940                 }
2941 
2942                 If ((PAM4 & 0x03))
2943                 {
2944                     D8LN = 0x00
2945                 }
2946 
2947                 If ((PAM4 & 0x30))
2948                 {
2949                     DCLN = 0x00
2950                 }
2951 
2952                 If ((PAM5 & 0x03))
2953                 {
2954                     E0LN = 0x00
2955                 }
2956 
2957                 If ((PAM5 & 0x30))
2958                 {
2959                     E4LN = 0x00
2960                 }
2961 
2962                 If ((PAM6 & 0x03))
2963                 {
2964                     E8LN = 0x00
2965                 }
2966 
2967                 If ((PAM6 & 0x30))
2968                 {
2969                     ECLN = 0x00
2970                 }
2971             }
2972 
2973             Name (SUPP, 0x00)
2974             Name (CTRL, 0x00)
2975             Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
2976             {
2977                 CreateDWordField (Arg3, 0x00, CDW1)
2978                 CreateDWordField (Arg3, 0x04, CDW2)
2979                 CreateDWordField (Arg3, 0x08, CDW3)
2980                 If (\_SB.PCI0.XHCI.CUID (Arg0))
2981                 {
2982                     Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2983                 }
2984 
2985                 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2986                 {
2987                     SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2988                     CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2989                     CTRL &= 0x0D
2990                     If (!(CDW1 & 0x01))
2991                     {
2992                         If ((CTRL & 0x01))
2993                         {
2994                             If (!\VIGD)
2995                             {
2996                                 \_SB.PCI0.PEG.HPGP = 0x00
2997                                 \_SB.PCI0.PEG.GMGP = 0x00
2998                             }
2999 
3000                             \NHPS = 0x01
3001                         }
3002 
3003                         If ((CTRL & 0x04))
3004                         {
3005                             If (!\VIGD)
3006                             {
3007                                 \_SB.PCI0.PEG.PMGP = 0x00
3008                                 \_SB.PCI0.PEG.GMGP = 0x00
3009                             }
3010 
3011                             If (\_SB.PCI0.EXP1.PMEX)
3012                             {
3013                                 \_SB.PCI0.EXP1.PMEX = 0x00
3014                                 \_SB.PCI0.EXP1.PMSX = 0x01
3015                             }
3016 
3017                             If (\_SB.PCI0.EXP2.PMEX)
3018                             {
3019                                 \_SB.PCI0.EXP2.PMEX = 0x00
3020                                 \_SB.PCI0.EXP2.PMSX = 0x01
3021                             }
3022 
3023                             If (\_SB.PCI0.EXP3.PMEX)
3024                             {
3025                                 \_SB.PCI0.EXP3.PMEX = 0x00
3026                                 \_SB.PCI0.EXP3.PMSX = 0x01
3027                             }
3028 
3029                             \_SB.PCI0.LPC.EXPE = 0x00
3030                             \NPME = 0x01
3031                         }
3032                     }
3033 
3034                     If ((Arg1 != 0x01))
3035                     {
3036                         CDW1 |= 0x0A
3037                     }
3038 
3039                     If ((CDW3 != CTRL))
3040                     {
3041                         CDW1 |= 0x10
3042                     }
3043 
3044                     CDW3 = CTRL /* \_SB_.PCI0.CTRL */
3045                 }
3046                 Else
3047                 {
3048                     CDW1 |= 0x06
3049                 }
3050 
3051                 Return (Arg3)
3052             }
3053 
3054             Mutex (MDGS, 0x07)
3055             Name (VDEE, 0x01)
3056             Name (VDDA, Buffer (0x02) {})
3057             CreateBitField (VDDA, 0x00, VUPC)
3058             CreateBitField (VDDA, 0x01, VQDL)
3059             CreateBitField (VDDA, 0x02, VQDC)
3060             CreateBitField (VDDA, 0x03, VQD0)
3061             CreateBitField (VDDA, 0x04, VQD1)
3062             CreateBitField (VDDA, 0x05, VQD2)
3063             CreateBitField (VDDA, 0x06, VSDL)
3064             CreateBitField (VDDA, 0x07, VSDC)
3065             CreateBitField (VDDA, 0x08, VSD0)
3066             CreateBitField (VDDA, 0x09, VSD1)
3067             CreateBitField (VDDA, 0x0A, VSD2)
3068             CreateBitField (VDDA, 0x0B, VSD3)
3069             CreateBitField (VDDA, 0x0C, VSD4)
3070             CreateBitField (VDDA, 0x0D, VSD5)
3071             CreateBitField (VDDA, 0x0E, MSWT)
3072             Device (VID)
3073             {
3074                 Name (_ADR, 0x00020000)  // _ADR: Address
3075                 Name (RID, 0x00)
3076                 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
3077                 Field (VPCG, DWordAcc, NoLock, Preserve)
3078                 {
3079                     Offset (0x2C), 
3080                     VSID,   32, 
3081                     Offset (0xD4), 
3082                     VPWR,   8
3083                 }
3084 
3085                 Name (MIDL, 0x0400)
3086                 Name (MIDC, 0x0100)
3087                 Name (MID0, 0x0300)
3088                 Name (MID1, 0x0301)
3089                 Name (MID2, 0x0302)
3090                 Name (MID3, 0x0303)
3091                 Name (MID4, 0x0304)
3092                 Name (MID5, 0x0305)
3093                 Name (_S3D, 0x03)  // _S3D: S3 Device State
3094                 Method (VRSI, 0, NotSerialized)
3095                 {
3096                     If ((OSYS >= 0x07DD))
3097                     {
3098                         VMSH = 0x01
3099                     }
3100                     Else
3101                     {
3102                         VMSH = 0x00
3103                     }
3104                 }
3105 
3106                 Method (_INI, 0, NotSerialized)  // _INI: Initialize
3107                 {
3108                     VRSI ()
3109                     CLID = \_SB.LID._LID ()
3110                 }
3111 
3112                 Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
3113                 {
3114                     Noop
3115                 }
3116 
3117                 Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
3118                 {
3119                     Noop
3120                 }
3121 
3122                 Method (_PS2, 0, NotSerialized)  // _PS2: Power State 2
3123                 {
3124                     Noop
3125                 }
3126 
3127                 Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
3128                 {
3129                     Noop
3130                 }
3131 
3132                 Method (VSWT, 0, NotSerialized)
3133                 {
3134                     GHDS (0x00)
3135                 }
3136 
3137                 Method (VLOC, 1, NotSerialized)
3138                 {
3139                     If ((Arg0 == \_SB.LID._LID ()))
3140                     {
3141                         \VSLD (Arg0)
3142                         If ((VPWR == 0x00))
3143                         {
3144                             CLID = Arg0
3145                             GNOT (0x02, 0x00)
3146                         }
3147                     }
3148                 }
3149 
3150                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
3151                 {
3152                     Arg0 &= 0x03
3153                     If ((Arg0 == 0x02))
3154                     {
3155                         Local0 = 0x14
3156                         While (Local0)
3157                         {
3158                             Local0--
3159                             Acquire (MDGS, 0xFFFF)
3160                             If ((0x00 == MSWT))
3161                             {
3162                                 MSWT = 0x01
3163                                 Local0 = 0x00
3164                                 VDEE = Arg0
3165                             }
3166 
3167                             Release (MDGS)
3168                             Sleep (0xC8)
3169                         }
3170                     }
3171                     Else
3172                     {
3173                         Acquire (MDGS, 0xFFFF)
3174                         If ((VDEE == 0x02))
3175                         {
3176                             MSWT = 0x00
3177                         }
3178 
3179                         If ((Arg0 > 0x02))
3180                         {
3181                             VDEE = 0x01
3182                         }
3183                         Else
3184                         {
3185                             VDEE = Arg0
3186                         }
3187 
3188                         Release (MDGS)
3189                     }
3190                 }
3191 
3192                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
3193                 {
3194                     NDID = 0x00
3195                     If ((DIDL != 0x00))
3196                     {
3197                         NDID++
3198                     }
3199 
3200                     If ((DDL2 != 0x00))
3201                     {
3202                         NDID++
3203                     }
3204 
3205                     If ((DDL3 != 0x00))
3206                     {
3207                         NDID++
3208                     }
3209 
3210                     If ((DDL4 != 0x00))
3211                     {
3212                         NDID++
3213                     }
3214 
3215                     If ((DDL5 != 0x00))
3216                     {
3217                         NDID++
3218                     }
3219 
3220                     If ((DDL6 != 0x00))
3221                     {
3222                         NDID++
3223                     }
3224 
3225                     If ((DDL7 != 0x00))
3226                     {
3227                         NDID++
3228                     }
3229 
3230                     If ((DDL8 != 0x00))
3231                     {
3232                         NDID++
3233                     }
3234 
3235                     If ((NDID == 0x01))
3236                     {
3237                         Name (TMP1, Package (0x01)
3238                         {
3239                             0xFFFFFFFF
3240                         })
3241                         Index (TMP1, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3242                         Return (TMP1) /* \_SB_.PCI0.VID_._DOD.TMP1 */
3243                     }
3244 
3245                     If ((NDID == 0x02))
3246                     {
3247                         Name (TMP2, Package (0x02)
3248                         {
3249                             0xFFFFFFFF, 
3250                             0xFFFFFFFF
3251                         })
3252                         Index (TMP2, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3253                         Index (TMP2, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3254                         Return (TMP2) /* \_SB_.PCI0.VID_._DOD.TMP2 */
3255                     }
3256 
3257                     If ((NDID == 0x03))
3258                     {
3259                         Name (TMP3, Package (0x03)
3260                         {
3261                             0xFFFFFFFF, 
3262                             0xFFFFFFFF, 
3263                             0xFFFFFFFF
3264                         })
3265                         Index (TMP3, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3266                         Index (TMP3, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3267                         Index (TMP3, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3268                         Return (TMP3) /* \_SB_.PCI0.VID_._DOD.TMP3 */
3269                     }
3270 
3271                     If ((NDID == 0x04))
3272                     {
3273                         Name (TMP4, Package (0x04)
3274                         {
3275                             0xFFFFFFFF, 
3276                             0xFFFFFFFF, 
3277                             0xFFFFFFFF, 
3278                             0xFFFFFFFF
3279                         })
3280                         Index (TMP4, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3281                         Index (TMP4, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3282                         Index (TMP4, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3283                         Index (TMP4, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3284                         Return (TMP4) /* \_SB_.PCI0.VID_._DOD.TMP4 */
3285                     }
3286 
3287                     If ((NDID == 0x05))
3288                     {
3289                         Name (TMP5, Package (0x05)
3290                         {
3291                             0xFFFFFFFF, 
3292                             0xFFFFFFFF, 
3293                             0xFFFFFFFF, 
3294                             0xFFFFFFFF, 
3295                             0xFFFFFFFF
3296                         })
3297                         Index (TMP5, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3298                         Index (TMP5, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3299                         Index (TMP5, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3300                         Index (TMP5, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3301                         Index (TMP5, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3302                         Return (TMP5) /* \_SB_.PCI0.VID_._DOD.TMP5 */
3303                     }
3304 
3305                     If ((NDID == 0x06))
3306                     {
3307                         Name (TMP6, Package (0x06)
3308                         {
3309                             0xFFFFFFFF, 
3310                             0xFFFFFFFF, 
3311                             0xFFFFFFFF, 
3312                             0xFFFFFFFF, 
3313                             0xFFFFFFFF, 
3314                             0xFFFFFFFF
3315                         })
3316                         Index (TMP6, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3317                         Index (TMP6, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3318                         Index (TMP6, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3319                         Index (TMP6, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3320                         Index (TMP6, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3321                         Index (TMP6, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3322                         Return (TMP6) /* \_SB_.PCI0.VID_._DOD.TMP6 */
3323                     }
3324 
3325                     If ((NDID == 0x07))
3326                     {
3327                         Name (TMP7, Package (0x07)
3328                         {
3329                             0xFFFFFFFF, 
3330                             0xFFFFFFFF, 
3331                             0xFFFFFFFF, 
3332                             0xFFFFFFFF, 
3333                             0xFFFFFFFF, 
3334                             0xFFFFFFFF, 
3335                             0xFFFFFFFF
3336                         })
3337                         Index (TMP7, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3338                         Index (TMP7, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3339                         Index (TMP7, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3340                         Index (TMP7, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3341                         Index (TMP7, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3342                         Index (TMP7, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3343                         Index (TMP7, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3344                         Return (TMP7) /* \_SB_.PCI0.VID_._DOD.TMP7 */
3345                     }
3346 
3347                     If ((NDID > 0x07))
3348                     {
3349                         Name (TMP8, Package (0x08)
3350                         {
3351                             0xFFFFFFFF, 
3352                             0xFFFFFFFF, 
3353                             0xFFFFFFFF, 
3354                             0xFFFFFFFF, 
3355                             0xFFFFFFFF, 
3356                             0xFFFFFFFF, 
3357                             0xFFFFFFFF, 
3358                             0xFFFFFFFF
3359                         })
3360                         Index (TMP8, 0x00) = (0x80010000 | (0x0F0F & DIDL))
3361                         Index (TMP8, 0x01) = (0x80010000 | (0x0F0F & DDL2))
3362                         Index (TMP8, 0x02) = (0x80010000 | (0x0F0F & DDL3))
3363                         Index (TMP8, 0x03) = (0x80010000 | (0x0F0F & DDL4))
3364                         Index (TMP8, 0x04) = (0x80010000 | (0x0F0F & DDL5))
3365                         Index (TMP8, 0x05) = (0x80010000 | (0x0F0F & DDL6))
3366                         Index (TMP8, 0x06) = (0x80010000 | (0x0F0F & DDL7))
3367                         Index (TMP8, 0x07) = (0x80010000 | (0x0F0F & DDL8))
3368                         Return (TMP8) /* \_SB_.PCI0.VID_._DOD.TMP8 */
3369                     }
3370 
3371                     Return (Package (0x01)
3372                     {
3373                         0x0400
3374                     })
3375                 }
3376 
3377                 Method (VDSW, 1, NotSerialized)
3378                 {
3379                     If ((VPWR == 0x00))
3380                     {
3381                         GDCK (Arg0)
3382                     }
3383                 }
3384 
3385                 Method (VCAD, 1, NotSerialized)
3386                 {
3387                     Local0 = 0x00
3388                     If (((DIDL & 0x0F0F) == Arg0))
3389                     {
3390                         Local0 = 0x0D
3391                     }
3392                     Else
3393                     {
3394                         If (((DDL2 & 0x0F0F) == Arg0))
3395                         {
3396                             Local0 = 0x0D
3397                         }
3398                         Else
3399                         {
3400                             If (((DDL3 & 0x0F0F) == Arg0))
3401                             {
3402                                 Local0 = 0x0D
3403                             }
3404                             Else
3405                             {
3406                                 If (((DDL4 & 0x0F0F) == Arg0))
3407                                 {
3408                                     Local0 = 0x0D
3409                                 }
3410                                 Else
3411                                 {
3412                                     If (((DDL5 & 0x0F0F) == Arg0))
3413                                     {
3414                                         Local0 = 0x0D
3415                                     }
3416                                     Else
3417                                     {
3418                                         If (((DDL6 & 0x0F0F) == Arg0))
3419                                         {
3420                                             Local0 = 0x0D
3421                                         }
3422                                         Else
3423                                         {
3424                                             If (((DDL7 & 0x0F0F) == Arg0))
3425                                             {
3426                                                 Local0 = 0x0D
3427                                             }
3428                                             Else
3429                                             {
3430                                                 If (((DDL8 & 0x0F0F) == Arg0))
3431                                                 {
3432                                                     Local0 = 0x0D
3433                                                 }
3434                                             }
3435                                         }
3436                                     }
3437                                 }
3438                             }
3439                         }
3440                     }
3441 
3442                     If (((CPDL & 0x0F0F) == Arg0))
3443                     {
3444                         Local0 |= 0x10
3445                     }
3446                     Else
3447                     {
3448                         If (((CPL2 & 0x0F0F) == Arg0))
3449                         {
3450                             Local0 |= 0x10
3451                         }
3452                         Else
3453                         {
3454                             If (((CPL3 & 0x0F0F) == Arg0))
3455                             {
3456                                 Local0 |= 0x10
3457                             }
3458                             Else
3459                             {
3460                                 If (((CPL4 & 0x0F0F) == Arg0))
3461                                 {
3462                                     Local0 |= 0x10
3463                                 }
3464                                 Else
3465                                 {
3466                                     If (((CPL5 & 0x0F0F) == Arg0))
3467                                     {
3468                                         Local0 |= 0x10
3469                                     }
3470                                     Else
3471                                     {
3472                                         If (((CPL6 & 0x0F0F) == Arg0))
3473                                         {
3474                                             Local0 |= 0x10
3475                                         }
3476                                         Else
3477                                         {
3478                                             If (((CPL7 & 0x0F0F) == Arg0))
3479                                             {
3480                                                 Local0 |= 0x10
3481                                             }
3482                                             Else
3483                                             {
3484                                                 If (((CPL8 & 0x0F0F) == Arg0))
3485                                                 {
3486                                                     Local0 |= 0x10
3487                                                 }
3488                                             }
3489                                         }
3490                                     }
3491                                 }
3492                             }
3493                         }
3494                     }
3495 
3496                     If (((CADL & 0x0F0F) == Arg0))
3497                     {
3498                         Local0 |= 0x02
3499                     }
3500                     Else
3501                     {
3502                         If (((CAL2 & 0x0F0F) == Arg0))
3503                         {
3504                             Local0 |= 0x02
3505                         }
3506                         Else
3507                         {
3508                             If (((CAL3 & 0x0F0F) == Arg0))
3509                             {
3510                                 Local0 |= 0x02
3511                             }
3512                             Else
3513                             {
3514                                 If (((CAL4 & 0x0F0F) == Arg0))
3515                                 {
3516                                     Local0 |= 0x02
3517                                 }
3518                                 Else
3519                                 {
3520                                     If (((CAL5 & 0x0F0F) == Arg0))
3521                                     {
3522                                         Local0 |= 0x02
3523                                     }
3524                                     Else
3525                                     {
3526                                         If (((CAL6 & 0x0F0F) == Arg0))
3527                                         {
3528                                             Local0 |= 0x02
3529                                         }
3530                                         Else
3531                                         {
3532                                             If (((CAL7 & 0x0F0F) == Arg0))
3533                                             {
3534                                                 Local0 |= 0x02
3535                                             }
3536                                             Else
3537                                             {
3538                                                 If (((CAL8 & 0x0F0F) == Arg0))
3539                                                 {
3540                                                     Local0 |= 0x02
3541                                                 }
3542                                             }
3543                                         }
3544                                     }
3545                                 }
3546                             }
3547                         }
3548                     }
3549 
3550                     Return (Local0)
3551                 }
3552 
3553                 Method (NDDS, 1, NotSerialized)
3554                 {
3555                     If (((NADL & 0x0F0F) == Arg0))
3556                     {
3557                         Return (0x01)
3558                     }
3559                     Else
3560                     {
3561                         If (((NDL2 & 0x0F0F) == Arg0))
3562                         {
3563                             Return (0x01)
3564                         }
3565                         Else
3566                         {
3567                             If (((NDL3 & 0x0F0F) == Arg0))
3568                             {
3569                                 Return (0x01)
3570                             }
3571                             Else
3572                             {
3573                                 If (((NDL4 & 0x0F0F) == Arg0))
3574                                 {
3575                                     Return (0x01)
3576                                 }
3577                                 Else
3578                                 {
3579                                     If (((NDL5 & 0x0F0F) == Arg0))
3580                                     {
3581                                         Return (0x01)
3582                                     }
3583                                     Else
3584                                     {
3585                                         If (((NDL6 & 0x0F0F) == Arg0))
3586                                         {
3587                                             Return (0x01)
3588                                         }
3589                                         Else
3590                                         {
3591                                             If (((NDL7 & 0x0F0F) == Arg0))
3592                                             {
3593                                                 Return (0x01)
3594                                             }
3595                                             Else
3596                                             {
3597                                                 If (((NDL8 & 0x0F0F) == Arg0))
3598                                                 {
3599                                                     Return (0x01)
3600                                                 }
3601                                             }
3602                                         }
3603                                     }
3604                                 }
3605                             }
3606                         }
3607                     }
3608 
3609                     Return (0x00)
3610                 }
3611 
3612                 Device (LCD0)
3613                 {
3614                     Method (_ADR, 0, NotSerialized)  // _ADR: Address
3615                     {
3616                         Return (0x0400)
3617                     }
3618 
3619                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
3620                     {
3621                         Return (VCAD (MIDL))
3622                     }
3623 
3624                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
3625                     {
3626                         Return (NDDS (MIDL))
3627                     }
3628 
3629                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
3630                     {
3631                         VSDL = (Arg0 & 0x01)
3632                     }
3633 
3634                     Method (_DDC, 1, NotSerialized)  // _DDC: Display Data Current
3635                     {
3636                         If ((Arg0 == 0x01))
3637                         {
3638</