From owner-freebsd-acpi@FreeBSD.ORG Fri Jun 5 09:17:35 2009 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7113A106564A; Fri, 5 Jun 2009 09:17:35 +0000 (UTC) (envelope-from josef.moellers@ts.fujitsu.com) Received: from dgate10.ts.fujitsu.com (dgate10.ts.fujitsu.com [80.70.172.49]) by mx1.freebsd.org (Postfix) with ESMTP id 5625A8FC21; Fri, 5 Jun 2009 09:17:28 +0000 (UTC) (envelope-from josef.moellers@ts.fujitsu.com) DomainKey-Signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Message-ID:Date:From:Organization:User-Agent: MIME-Version:To:CC:Subject:References:In-Reply-To: Content-Type; b=fuGaX5UtLwpGXGWlKGY4SwHJEXI0PLODrtOIZ6Mpl6l32sveS62gfQEW /Tar5asZ5w900I0s+OT19IAJOdS0LfRgr3q8A0so3RgAalPfqZ8u57VzJ WIiKc5pM9azlOkJV7LaVqL+cChzCsAl52jSrQqEYjLFeER+CzK/IHBClg CAyOsn7ALeDkRNe9mkSmaMc3rNxDFaGGP9Uk16HTCMdYIzJMLEh5TJmoD Ihg3mGwEFq5FWTAfwzw2uQP97oapL; DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ts.fujitsu.com; i=josef.moellers@ts.fujitsu.com; q=dns/txt; s=s1536b; t=1244193498; x=1275729498; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20Josef=20Moellers=20|Subject:=20Re:=20Failure=20to=20get=20past=20a=20PCI =20bridge|Date:=20Fri,=2005=20Jun=202009=2011:17:25=20+02 00|Message-ID:=20<4A28E2A5.9030107@ts.fujitsu.com>|To:=20 John=20Baldwin=20|CC:=20"freebsd-acpi@fr eebsd.org"=20|MIME-Version:=201 .0|In-Reply-To:=20<200906041229.54888.jhb@freebsd.org> |References:=20<4A24D29A.5030604@ts.fujitsu.com>=20<20090 6020811.35082.jhb@freebsd.org>=20<4A27D73D.1010703@ts.fuj itsu.com>=20<200906041229.54888.jhb@freebsd.org>; bh=doIoBOBouPifDYJBYczdX/jFBTCTLtmmwA2vCRKUPCo=; b=ZIIq6gAtbZV5ljz5UE8XVPqB0uL1PYN7T56Ac5HCxu+0uQFIlpgVjx8K LjuwWxLD2BENBZbyhj+dUuIEsRmGv3/xisUwoG9RgV6BZAC5YlVHN8sAK +9yV2nhv5PbRat9POJl2Zt4pSI+Gc4ybvuqyNcNavSqU9BWjiSeoo7iYd /5CoDjLk5FZxrnwrk86O7rzcieckHYApWDdqJANRvPz8UGW4KogA7vZx8 bihcl6SZw3hTiYjtKeELzfP9UGwyu; X-SBRSScore: None X-IronPort-AV: E=Sophos;i="4.41,310,1241388000"; d="out'?scan'208";a="80617356" Received: from abgdgate30u.abg.fsc.net ([172.25.138.66]) by dgate10u.abg.fsc.net with ESMTP; 05 Jun 2009 11:18:15 +0200 X-IronPort-AV: E=Sophos;i="4.41,310,1241388000"; d="out'?scan'208";a="57281586" Received: from unknown (HELO [172.25.253.16]) ([172.25.253.16]) by abgdgate30u.abg.fsc.net with ESMTP; 05 Jun 2009 11:17:25 +0200 Message-ID: <4A28E2A5.9030107@ts.fujitsu.com> Date: Fri, 05 Jun 2009 11:17:25 +0200 From: Josef Moellers Organization: Fujitsu Technology Solutions User-Agent: Thunderbird 2.0.0.21 (X11/20090318) MIME-Version: 1.0 To: John Baldwin References: <4A24D29A.5030604@ts.fujitsu.com> <200906020811.35082.jhb@freebsd.org> <4A27D73D.1010703@ts.fujitsu.com> <200906041229.54888.jhb@freebsd.org> In-Reply-To: <200906041229.54888.jhb@freebsd.org> Content-Type: multipart/mixed; boundary="------------030700020801060702040401" Cc: "freebsd-acpi@freebsd.org" Subject: Re: Failure to get past a PCI bridge X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2009 09:17:35 -0000 This is a multi-part message in MIME format. --------------030700020801060702040401 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit John Baldwin wrote: > On Thursday 04 June 2009 10:16:29 am Josef Moellers wrote: > >> John Baldwin wrote: >> >>> On Tuesday 02 June 2009 3:19:54 am Josef Moellers wrote: >>> >>> >>>> Hi, >>>> >>>> (I've posted this to freebsd-questions before. Ian Smith redirected me >>>> to this list). >>>> >>>> I'm trying to install 7.2-RELEASE on a pretty new system (a Fujitsu >>>> RX300S5). >>>> The first obstacle was the fact that while the system has an >>>> AT-Keyboard-Controller, it ist not used (keyboard and mouse are >>>> connected via USB) and I have found that I can get past that by >>>> > specifying > >>>> set hint.atkbd.0.disabled=1 >>>> set hint.atkbdc.0.disabled=1 >>>> >>>> The install kernel then boots properly and reaches the "Country >>>> > Selection". > >>>> At that point, no keyboard input is accepted. An optical mouse is off, >>>> so I assume the USB power to be off. >>>> >>>> I have hooked up a serial connection to log the kernel's output (some >>>> 1000+ lines): >>>> >>>> set boot_serial=1 >>>> set boot_verbose=1 >>>> set boot_multicons=1 >>>> set console="comconsole vidconsole" >>>> >>>> The following lines make me wonder if the kernel fails to get past PCI >>>> bridges and thus can't reach the UHCI controllers: >>>> >>>> pcib0: on acpi0 >>>> pcib0: could not get PCI interrupt routing table for \_SB_.CPU0 - >>>> AE_NOT_FOUND >>>> : >>>> pcib1: on acpi0 >>>> pcib1: could not get PCI interrupt routing table for \_SB_.CPU1 - >>>> AE_NOT_FOUND >>>> : >>>> pcib2: port 0xcf8-0xcff on acpi0 >>>> pcib2: couldn't find _ADR >>>> pcib2: trying bus number 2 >>>> pci2: on pcib2 >>>> pci2: domain=0, physical bus=2 >>>> >>>> I talked to the guy who does the BIOS for the machine and he says that >>>> it makes no sense for the kernel to try and find the _PRT for \_SB_.CPU0 >>>> or \_SB_.CPU1! >>>> >>>> >>> Can you get an acpidump? It seems that the BIOS has the wrong _HID for >>> > the > >>> CPU objects and has marked them as Host-PCI bridges instead. Although >>> > CPUs > >>> should be Processor objects and not Device objects anyway. Sounds like a >>> very busted BIOS. >>> >>> >> Does this help? >> > > Hmm, not quite. Can you do 'acpidump -d -t > foo' instead? > Difficult, since I can't boot properly. However, I have managed to get the dsdt using a SuSE Linux and have run that through acpidump -d on a 7.2 running on a XEN virtual machine. Here's the result. -- These are my personal views and not those of Fujitsu Technology Solutions! Josef Möllers (Pinguinpfleger bei FTS) If failure had no penalty success would not be a prize (T. Pratchett) Company Details: http://de.ts.fujitsu.com/imprint.html --------------030700020801060702040401 Content-Type: text/plain; name="dsdt-RX300S5.out" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dsdt-RX300S5.out" /* * Intel ACPI Component Architecture * AML Disassembler version 20070320 * * Disassembly of /tmp/acpidump.tvBS6J, Fri Jun 5 10:49:36 2009 * * * Original Table Header: * Signature "DSDT" * Length 0x000048A4 (18596) * Revision 0x01 * OEM ID "FSC " * OEM Table ID "D2619 " * OEM Revision 0x00060000 (393216) * Creator ID "MSFT" * Creator Revision 0x03000001 (50331649) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "FSC ", "D2619 ", 0x00060000) { External (\_PR_.PR17._PSS) External (\_PR_.PR17._PPC) External (\_PR_.PR16._PSS) External (\_PR_.PR16._PPC) External (\_PR_.PR15._PSS) External (\_PR_.PR15._PPC) External (\_PR_.PR14._PSS) External (\_PR_.PR14._PPC) External (\_PR_.PR13._PSS) External (\_PR_.PR13._PPC) External (\_PR_.PR12._PSS) External (\_PR_.PR12._PPC) External (\_PR_.PR11._PSS) External (\_PR_.PR11._PPC) External (\_PR_.PR10._PSS) External (\_PR_.PR10._PPC) External (\_PR_.PR07._PSS) External (\_PR_.PR07._PPC) External (\_PR_.PR06._PSS) External (\_PR_.PR06._PPC) External (\_PR_.PR05._PSS) External (\_PR_.PR05._PPC) External (\_PR_.PR04._PSS) External (\_PR_.PR04._PPC) External (\_PR_.PR03._PSS) External (\_PR_.PR03._PPC) External (\_PR_.PR02._PSS) External (\_PR_.PR02._PPC) External (\_PR_.PR01._PSS) External (\_PR_.PR01._PPC) External (\_PR_.PR00._PSS) External (\_PR_.PR00._PPC) Scope (\) { Name (SUCA, 0x07) Name (MTYP, 0x00) Name (MARC, 0x00015F90) Name (MSMT, 0x03E8) Name (MINA, 0x07D0) Name (MAXA, 0x0FA0) Name (TPHM, 0xFFFFFFFF) Name (HLIC, Ones) Name (MICL, 0x0007A120) Name (MACL, 0x000AAE60) Name (PMMC, 0x000493E0) Name (HLMT, 0x000AAE60) Name (PAIC, 0x07D0) } Scope (\_SB) { Device (PSD) { Name (_HID, "ACPI0003") Name (_UID, 0x01) Name (_STA, 0x0F) Method (_PSR, 0, NotSerialized) { Return (0x01) } } Device (PMO) { Name (_HID, "ACPI000D") Name (_STA, 0x0F) Method (_PMC, 0, NotSerialized) { Name (PMCD, Package (0x0E) { SUCA, 0x00, MTYP, MARC, MSMT, MINA, MAXA, TPHM, HLIC, MICL, MACL, "Model Number", "Serial Number", "OEM Information" }) Return (PMCD) } Method (_PMD, 0, NotSerialized) { Return (Package (0x01) { "_SB" }) } Method (_PMM, 0, NotSerialized) { Return (PMMC) } Method (_PAI, 1, NotSerialized) { If (LOr (LGreater (Arg0, MAXA), LLess (Arg0, MINA))) { Return (0x01) } Store (Arg0, PAIC) Return (0x00) } Method (_GAI, 0, NotSerialized) { Return (PAIC) } Method (_PTP, 2, NotSerialized) { If (LOr (LGreater (PMMC, Arg0), LLess (PMMC, Arg1))) { Return (0x01) } Return (0x00) } Method (_GHL, 0, NotSerialized) { Return (HLMT) } Method (_SHL, 1, NotSerialized) { If (LOr (LGreater (Arg0, MACL), LLess (Arg0, MICL))) { Return (0x01) } Store (Arg0, HLMT) Return (0x00) } } } Name (C1EN, 0x01) Name (C2EN, 0x01) Name (SLPS, 0x00) Name (OSFL, 0x00) Name (PICM, 0x00) Method (OSCK, 0, NotSerialized) { Store (One, OSFL) Store (Zero, \_SB.PCI0.LPC.AAOF) If (STRC (\_OS, "Microsoft Windows")) { Store (Zero, OSFL) Store (One, \_SB.PCI0.LPC.AAOF) } If (STRC (\_OS, "Microsoft WindowsME: Millennium Edition")) { Store (Zero, OSFL) Store (0x02, \_SB.PCI0.LPC.AAOF) } If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Windows 2001")) { Store (0x03, \_SB.PCI0.LPC.AAOF) } If (\_OSI ("Windows 2006")) { Store (0x08, \_SB.PCI0.LPC.AAOF) } } } Method (STRC, 2, NotSerialized) { If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), One, Local0) Name (STR1, Buffer (Local0) {}) Store (Arg0, STR1) Name (STR2, Buffer (Local0) {}) Store (Arg1, STR2) While (Local0) { Decrement (Local0) If (LNotEqual (DerefOf (Index (STR1, Local0)), DerefOf (Index ( STR2, Local0)))) { Return (Zero) } } Return (One) } Method (_PIC, 1, NotSerialized) { Store (Arg0, PICM) } Name (_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (_S1, Package (0x04) { 0x01, 0x01, 0x00, 0x00 }) Name (_S4, Package (0x04) { 0x06, 0x06, 0x00, 0x00 }) Name (_S5, Package (0x04) { 0x07, 0x07, 0x00, 0x00 }) Method (\_PTS, 1, NotSerialized) { \_SB.PCI0.LPC.SIO2.SLEP (Arg0) If (LEqual (Arg0, 0x05)) { \_SB.PHSR (0x4B, 0x00, 0x00) } Store (Arg0, SLPS) } Method (\_WAK, 1, NotSerialized) { \_SB.PCI0.LPC.SIO2.WAKE (Arg0) Store (Zero, SLPS) If (LEqual (Arg0, 0x04)) { Notify (\_SB.PWRB, 0x02) Notify (\_SB.PCI0.USB1, 0x00) Notify (\_SB.PCI0.USB2, 0x00) Notify (\_SB.PCI0.USB3, 0x00) Notify (\_SB.PCI0.USB4, 0x00) Notify (\_SB.PCI0.USB5, 0x00) Notify (\_SB.PCI0.USB6, 0x00) Notify (\_SB.PCI0.USB7, 0x00) Notify (\_SB.PCI0.USB8, 0x00) } } Scope (\_PR) { Processor (PR00, 0x00, 0x00000000, 0x00) {} Processor (PR01, 0x08, 0x00000000, 0x00) {} Processor (PR02, 0x01, 0x00000000, 0x00) {} Processor (PR03, 0x09, 0x00000000, 0x00) {} Processor (PR04, 0x02, 0x00000000, 0x00) {} Processor (PR05, 0x0A, 0x00000000, 0x00) {} Processor (PR06, 0x03, 0x00000000, 0x00) {} Processor (PR07, 0x0B, 0x00000000, 0x00) {} Processor (PR10, 0x04, 0x00000000, 0x00) {} Processor (PR11, 0x0C, 0x00000000, 0x00) {} Processor (PR12, 0x05, 0x00000000, 0x00) {} Processor (PR13, 0x0D, 0x00000000, 0x00) {} Processor (PR14, 0x06, 0x00000000, 0x00) {} Processor (PR15, 0x0E, 0x00000000, 0x00) {} Processor (PR16, 0x07, 0x00000000, 0x00) {} Processor (PR17, 0x0F, 0x00000000, 0x00) {} } Scope (\_GPE) { Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) } Method (_L09, 0, NotSerialized) { While (\_SB.PCI0.PE1A.PS) { Store (One, \_SB.PCI0.PE1A.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE1A.PS)) { Notify (\_SB.PCI0.PE1A, 0x02) } } While (\_SB.PCI0.PE1A.PMCS) { Store (One, \_SB.PCI0.PE1A.PMCS) Sleep (0x0A) } While (\_SB.PCI0.PE1E.PS) { Store (One, \_SB.PCI0.PE1E.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE1E.PS)) { Notify (\_SB.PCI0.PE1E, 0x02) } } While (\_SB.PCI0.PE1E.PMCS) { Store (One, \_SB.PCI0.PE1E.PMCS) Sleep (0x0A) } While (\_SB.PCI0.PE0.PS) { Store (One, \_SB.PCI0.PE0.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE0.PS)) { Notify (\_SB.PCI0.PE0, 0x02) } } While (\_SB.PCI0.PE1.PS) { Store (One, \_SB.PCI0.PE1.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE1.PS)) { Notify (\_SB.PCI0.PE1, 0x02) } } While (\_SB.PCI0.PE3.PS) { Store (One, \_SB.PCI0.PE3.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE3.PS)) { Notify (\_SB.PCI0.PE3, 0x02) } } While (\_SB.PCI0.PE5.PS) { Store (One, \_SB.PCI0.PE5.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE5.PS)) { Notify (\_SB.PCI0.PE5, 0x02) } } While (\_SB.PCI0.PE7.PS) { Store (One, \_SB.PCI0.PE7.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE7.PS)) { Notify (\_SB.PCI0.PE7, 0x02) } } While (\_SB.PCI0.PE8.PS) { Store (One, \_SB.PCI0.PE8.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE8.PS)) { Notify (\_SB.PCI0.PE8, 0x02) } } While (\_SB.PCI0.PE9.PS) { Store (One, \_SB.PCI0.PE9.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE9.PS)) { Notify (\_SB.PCI0.PE9, 0x02) } } While (\_SB.PCI0.PE10.PS) { Store (One, \_SB.PCI0.PE10.PS) Sleep (0x0A) If (LNot (\_SB.PCI0.PE10.PS)) { Notify (\_SB.PCI0.PE10, 0x02) } } } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.USB7, 0x02) Notify (\_SB.PCI0.USB8, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) } Method (_L16, 0, NotSerialized) { \_SB.PCI0.LPC.KCS5.SIRS () } Method (_L18, 0, NotSerialized) { If (LAnd (\_SB.PCI0.LPC.SIO2.RI1S, \_SB.PCI0.LPC.SIO2.RI1E)) { Notify (\_SB.PWRB, 0x02) Notify (\_SB.PCI0.LPC.SIO2.COM1, 0x02) While (\_SB.PCI0.LPC.SIO2.RI1S) { Store (One, \_SB.PCI0.LPC.SIO2.RI1S) } } If (LAnd (\_SB.PCI0.LPC.SIO2.RI2S, \_SB.PCI0.LPC.SIO2.RI2E)) { Notify (\_SB.PWRB, 0x02) Notify (\_SB.PCI0.LPC.SIO2.COM2, 0x02) While (\_SB.PCI0.LPC.SIO2.RI2S) { Store (One, \_SB.PCI0.LPC.SIO2.RI2S) } } } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USB6, 0x02) } } Scope (\_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { SSIL (0x01, 0x00, 0x01) } If (LEqual (Arg0, 0x03)) { SSIL (0x01, 0x01, 0x01) } } Method (SSIL, 3, NotSerialized) { Store (Arg0, \_SB.PCI0.LPC.SSLE) Store (Arg1, \_SB.PCI0.LPC.SPLB) Store (Arg2, \_SB.PCI0.LPC.SPLE) } } Scope (\_SB) { OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0xBF7CBEBC, 0x00000090) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } OperationRegion (TCG1, SystemMemory, 0xBF7CBEB5, 0x0007) Field (TCG1, AnyAcc, NoLock, Preserve) { PPRQ, 8, PPLO, 8, PPRP, 8, PPOR, 8, TPRS, 8, TPMV, 8, MOR, 8 } Method (PHSR, 3, Serialized) { Store (Arg0, BCMD) Store (Arg1, DID) Store (Arg2, INFO) Store (Zero, SMIC) If (LEqual (BCMD, Arg0)) {} Store (Zero, BCMD) Store (Zero, DID) Return (0x00) } OperationRegion (PECF, SystemMemory, 0xE0000000, 0x00100000) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0x188), , 2, PME0, 1, Offset (0x18C), PEI0, 1, Offset (0x8188), , 2, PME1, 1, Offset (0x818C), PEI1, 1, Offset (0x18188), , 2, PME3, 1, Offset (0x1818C), PEI3, 1, Offset (0x28188), , 2, PME5, 1, Offset (0x2818C), PEI5, 1, Offset (0x38188), , 2, PME7, 1, Offset (0x3818C), PEI7, 1, Offset (0x40188), , 2, PME8, 1, Offset (0x4018C), PEI8, 1, Offset (0x48188), , 2, PME9, 1, Offset (0x4818C), PEI9, 1, Offset (0x50188), , 2, PMEA, 1, Offset (0x5018C), PEIA, 1 } Device (MCFG) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (CRES, ResourceTemplate () { DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, \_SB.MCFG._Y00._MIN, MINP) CreateDWordField (CRES, \_SB.MCFG._Y00._MAX, MAXP) CreateDWordField (CRES, \_SB.MCFG._Y00._LEN, LENP) If (LEqual (\_SB.CPU0.SAD.VID, 0x8086)) { ShiftLeft (\_SB.CPU0.SAD.CFGA, 0x14, MINP) If (LEqual (\_SB.CPU0.SAD.CFGS, 0x06)) { Store (0x04000000, LENP) } If (LEqual (\_SB.CPU0.SAD.CFGS, 0x07)) { Store (0x08000000, LENP) } If (LEqual (\_SB.CPU0.SAD.CFGS, 0x00)) { Store (0x10000000, LENP) } } Else { ShiftLeft (\_SB.CPU1.SAD.CFGA, 0x14, MINP) If (LEqual (\_SB.CPU1.SAD.CFGS, 0x06)) { Store (0x04000000, LENP) } If (LEqual (\_SB.CPU1.SAD.CFGS, 0x07)) { Store (0x08000000, LENP) } If (LEqual (\_SB.CPU1.SAD.CFGS, 0x00)) { Store (0x10000000, LENP) } } Add (MINP, LENP, MAXP) Decrement (MAXP) Return (CRES) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (CPU0) { Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0x01) Name (_BBN, 0xFF) Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x00FF, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, ) }) Method (_CRS, 0, NotSerialized) { Return (CRES) } Device (SAD) { Name (_ADR, 0x01) Name (_STA, 0x0F) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { VID, 16, Offset (0x40), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, Offset (0x50), CFGE, 1, CFGS, 3, , 16, CFGA, 20 } } } Device (CPU1) { Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0x02) Name (_BBN, 0xFE) Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x00FE, // Range Minimum 0x00FE, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, ) }) Method (_CRS, 0, NotSerialized) { Return (CRES) } Device (SAD) { Name (_ADR, 0x01) Name (_STA, 0x0F) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { VID, 16, Offset (0x40), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, Offset (0x50), CFGE, 1, CFGS, 3, , 16, CFGA, 20 } } } Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, 0x030AD041) Name (_UID, 0x00) Name (_BBN, 0x00) Method (_INI, 0, NotSerialized) { \OSCK () } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x003D, // Range Maximum 0x0000, // Translation Offset 0x003E, // Length ,, ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00018000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xF0000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x0EC00000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED00000, // Range Minimum 0xFEDFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00100000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFEF00000, // Range Minimum 0xFFBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00D00000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, \_SB.PCI0._Y01._MIN, MIN1) CreateDWordField (CRES, \_SB.PCI0._Y01._MAX, MAX1) CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, LEN1) Add (\_SB.PCI0.CORE.TOLM, 0x01, Local0) ShiftLeft (Local0, 0x1A, MIN1) If (LEqual (\_SB.CPU0.SAD.VID, 0x8086)) { ShiftLeft (\_SB.CPU0.SAD.CFGA, 0x14, MAX1) } Else { ShiftLeft (\_SB.CPU1.SAD.CFGA, 0x14, MAX1) } Decrement (MAX1) Subtract (MAX1, MIN1, LEN1) Increment (LEN1) Return (CRES) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x2D) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0003FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0003FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0003FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0005FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0005FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0008FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0008FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0008FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0009FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x000AFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0016FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0016FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0016FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0016FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x001AFFFF, 0x00, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x001AFFFF, 0x01, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x001AFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x001CFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x001CFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x001CFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x001CFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, \_SB.PCI0.LPC.LNKH, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, \_SB.PCI0.LPC.LNKG, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, \_SB.PCI0.LPC.LNKF, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 } }) } Else { Return (Package (0x2D) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x2F }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x1C }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x28 }, Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x29 }, Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x2F }, Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x18 }, Package (0x04) { 0x0003FFFF, 0x01, 0x00, 0x22 }, Package (0x04) { 0x0003FFFF, 0x02, 0x00, 0x23 }, Package (0x04) { 0x0003FFFF, 0x03, 0x00, 0x24 }, Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x1A }, Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x19 }, Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x1B }, Package (0x04) { 0x0005FFFF, 0x03, 0x00, 0x1D }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x1E }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x25 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x27 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x26 }, Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x1F }, Package (0x04) { 0x0008FFFF, 0x01, 0x00, 0x27 }, Package (0x04) { 0x0008FFFF, 0x02, 0x00, 0x26 }, Package (0x04) { 0x0008FFFF, 0x03, 0x00, 0x25 }, Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x20 }, Package (0x04) { 0x0009FFFF, 0x01, 0x00, 0x2A }, Package (0x04) { 0x0009FFFF, 0x02, 0x00, 0x2F }, Package (0x04) { 0x0009FFFF, 0x03, 0x00, 0x29 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x21 }, Package (0x04) { 0x000AFFFF, 0x01, 0x00, 0x1F }, Package (0x04) { 0x000AFFFF, 0x02, 0x00, 0x2E }, Package (0x04) { 0x000AFFFF, 0x03, 0x00, 0x2D }, Package (0x04) { 0x0016FFFF, 0x00, 0x00, 0x2B }, Package (0x04) { 0x0016FFFF, 0x01, 0x00, 0x2C }, Package (0x04) { 0x0016FFFF, 0x02, 0x00, 0x2D }, Package (0x04) { 0x0016FFFF, 0x03, 0x00, 0x2E }, Package (0x04) { 0x001AFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x001AFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x001AFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001CFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001CFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x16 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x15 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x11 } }) } } Device (PE0) { Name (_ADR, 0x00) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME0) Store (One, \_SB.PEI0) Store (Zero, PIE) } } Device (PE1) { Name (_ADR, 0x00010000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME1) Store (One, \_SB.PEI1) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x1C }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x28 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x29 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x2F } }) } } Device (SLT1) { Name (_ADR, 0xFFFF) Name (_SUN, 0x01) } } Device (PE3) { Name (_ADR, 0x00030000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME3) Store (One, \_SB.PEI3) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x18 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x22 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x23 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x24 } }) } } Device (SLT7) { Name (_ADR, 0xFFFF) Name (_SUN, 0x07) } } Device (PE5) { Name (_ADR, 0x00050000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME5) Store (One, \_SB.PEI5) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x1A }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x19 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x1B }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x1D } }) } } Device (SLT6) { Name (_ADR, 0xFFFF) Name (_SUN, 0x06) } } Device (PE7) { Name (_ADR, 0x00070000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME7) Store (One, \_SB.PEI7) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x1E }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x25 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x27 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x26 } }) } } Device (SLT5) { Name (_ADR, 0xFFFF) Name (_SUN, 0x05) } } Device (PE8) { Name (_ADR, 0x00080000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME8) Store (One, \_SB.PEI8) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x1F }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x27 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x26 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x25 } }) } } Device (SLT4) { Name (_ADR, 0xFFFF) Name (_SUN, 0x04) } } Device (PE9) { Name (_ADR, 0x00090000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PME9) Store (One, \_SB.PEI9) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x20 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x2A }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x2F }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x29 } }) } } Device (SLT3) { Name (_ADR, 0xFFFF) Name (_SUN, 0x03) } } Device (PE10) { Name (_ADR, 0x000A0000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xAC), , 3, PIE, 1, Offset (0xB0), Offset (0xB2), PS, 1 } Method (_INI, 0, NotSerialized) { Store (One, \_SB.PMEA) Store (One, \_SB.PEIA) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x21 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x1F }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x2E }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x2D } }) } } Device (SLT2) { Name (_ADR, 0xFFFF) Name (_SUN, 0x02) } } Device (CORE) { Name (_ADR, 0x00140000) Name (_STA, 0x0F) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0xD0), , 26, TOLM, 6 } } Device (PE1A) { Name (_ADR, 0x001C0000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0x5C), , 3, PIE, 1, Offset (0x60), Offset (0x62), PS, 1, Offset (0xD8), , 31, PMCE, 1, , 31, PMCS, 1 } Method (_INI, 0, NotSerialized) { Store (One, PMCE) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x02) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 } }) } Else { Return (Package (0x02) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 } }) } } Device (LAN1) { Name (_ADR, 0x00) Name (_STA, 0x0F) } Device (LAN2) { Name (_ADR, 0x01) Name (_STA, 0x0F) } } Device (PE1E) { Name (_ADR, 0x001C0004) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x09, 0x04 }) OperationRegion (PECF, PCI_Config, 0x00, 0x0100) Field (PECF, DWordAcc, NoLock, Preserve) { Offset (0x5C), , 3, PIE, 1, Offset (0x60), Offset (0x62), PS, 1, Offset (0xD8), , 31, PMCE, 1, , 31, PMCS, 1 } Method (_INI, 0, NotSerialized) { Store (One, PMCE) Store (Zero, PIE) } Method (_PRT, 0, NotSerialized) { If (LEqual (PICM, 0x00)) { Return (Package (0x01) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 } }) } Else { Return (Package (0x01) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 } }) } } Device (VGA) { Name (_ADR, 0x00) Name (_STA, 0x0F) } } Device (USB1) { Name (_ADR, 0x001D0000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x03, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB2) { Name (_ADR, 0x001D0001) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x04, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB3) { Name (_ADR, 0x001D0002) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0C, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB4) { Name (_ADR, 0x001A0000) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB5) { Name (_ADR, 0x001A0001) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x05, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB6) { Name (_ADR, 0x001A0002) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x20, 0x01 }) OperationRegion (RES1, PCI_Config, 0xC4, 0x01) Field (RES1, AnyAcc, NoLock, Preserve) { P0E1, 1, P1E1, 1 } Method (_PSW, 1, NotSerialized) { Store (Arg0, P0E1) Store (Arg0, P1E1) } } Device (USB7) { Name (_ADR, 0x001D0007) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0D, 0x01 }) } Device (USB8) { Name (_ADR, 0x001A0007) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0D, 0x01 }) } Device (PCIH) { Name (_ADR, 0x001E0000) Name (_STA, 0x0F) Name (NATA, Package (0x02) { 0x001F0002, 0x001F0005 }) } Device (ATA1) { Name (_ADR, 0x001F0002) Name (_STA, 0x0F) } Device (ATA2) { Name (_ADR, 0x001F0005) Name (_STA, 0x0F) } Device (PM) { Name (_ADR, 0x001F0003) Name (_STA, 0x0F) } Device (LPC) { Name (_ADR, 0x001F0000) Name (_STA, 0x0F) OperationRegion (PIRQ, PCI_Config, 0x60, 0x0C) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } OperationRegion (DCOD, PCI_Config, 0x80, 0x10) Field (DCOD, ByteAcc, NoLock, Preserve) { COMA, 3, , 1, COMB, 3, Offset (0x02), CMAE, 1, CMBE, 1, Offset (0x04), GDR1, 16 } OperationRegion (GPIO, SystemIO, 0x1180, 0x80) Field (GPIO, AnyAcc, NoLock, Preserve) { Offset (0x0C), , 14, SSLE, 1, , 4, SPLE, 1, Offset (0x18), , 19, SPLB, 1 } OperationRegion (CMSI, SystemIO, 0x72, 0x02) Field (CMSI, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x7E), AAOF, 4 } Method (DCR1, 1, NotSerialized) { Store (GDR1, Local0) Store (Arg0, GDR1) Return (Local0) } Device (TPM) { OperationRegion (TPMC, SystemMemory, 0xFED40000, 0x5000) Field (TPMC, ByteAcc, NoLock, Preserve) { Offset (0xF00), TIID, 32 } Name (_HID, EisaId ("IFX0102")) Method (_STA, 0, NotSerialized) { If (LEqual (TIID, 0x000B15D1)) { Store (0x0F, Local0) } Else { Store (0x00, Local0) } Return (Local0) } Name (_UID, 0x01) Name (_CID, 0x310CD041) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (UCMP, 2, NotSerialized) { If (LNotEqual (0x10, SizeOf (Arg0))) { Return (0x00) } If (LNotEqual (0x10, SizeOf (Arg1))) { Return (0x00) } Store (0x00, Local0) While (LLess (Local0, 0x10)) { If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index ( Arg1, Local0)))) { Return (0x00) } Increment (Local0) } Return (0x01) } Method (_DSM, 4, NotSerialized) { If (LEqual (UCMP (Arg0, Buffer (0x10) { /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53 }), 0x01)) { If (LEqual (Arg2, 0x00)) { Return (Buffer (0x01) { 0x7F }) } If (LEqual (Arg2, 0x01)) { Return (Buffer (0x04) { "1.0" }) } If (LEqual (Arg2, 0x02)) { If (TPRS) { Store (DerefOf (Index (Arg3, 0x00)), PPRQ) If (LOr (LOr (LGreater (PPLO, 0x0E), LEqual (PPLO, 0x0C)), LEqual ( PPLO, 0x0D))) { Store (0x00, PPRQ) Return (0x01) } Return (0x00) } Return (0x01) } If (LEqual (Arg2, 0x03)) { Name (TMP1, Package (0x02) { 0x00, 0xFFFFFFFF }) Store (PPRQ, Index (TMP1, 0x01)) Return (TMP1) } If (LEqual (Arg2, 0x04)) { Return (0x01) } If (LEqual (Arg2, 0x05)) { Name (TMP2, Package (0x03) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF }) Store (PPLO, Index (TMP2, 0x01)) If (LOr (LOr (LGreater (PPLO, 0x0E), LEqual (PPLO, 0x0C)), LEqual ( PPLO, 0x0D))) { Store (0xFFFFFFF1, Index (TMP2, 0x02)) Return (TMP2) } If (LEqual (PPRP, 0xFF)) { Store (0xFFFFFFF1, Index (TMP2, 0x02)) Return (TMP2) } If (PPOR) { Store (0xFFFFFFF0, Index (TMP2, 0x02)) Return (TMP2) } Store (PPRP, Index (TMP2, 0x02)) Return (TMP2) } If (LEqual (Arg2, 0x06)) { Return (0x01) } Return (0x01) } If (LEqual (UCMP (Arg0, Buffer (0x10) { /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D }), 0x01)) { If (LEqual (Arg2, 0x00)) { Return (Buffer (0x01) { 0x01 }) } If (LEqual (Arg2, 0x01)) { If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x00)) { Store (0x00, \_SB.MOR) Return (0x00) } If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x01)) { Store (0x01, \_SB.MOR) Return (0x00) } } Return (0x01) } Return (Buffer (0x01) { 0x00 }) } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (LLess (PIRA, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y02) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKA._CRS._Y02._INT, INTA) Store (Zero, INTA) If (LLess (PIRA, 0x80)) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, INTA) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTA) FindSetRightBit (INTA, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRA, 0x70), PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (LLess (PIRB, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y03) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKB._CRS._Y03._INT, INTB) Store (Zero, INTB) If (LLess (PIRB, 0x80)) { And (PIRB, 0x0F, Local0) ShiftLeft (One, Local0, INTB) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTB) FindSetRightBit (INTB, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRB, 0x70), PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (LLess (PIRC, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y04) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKC._CRS._Y04._INT, INTC) Store (Zero, INTC) If (LLess (PIRC, 0x80)) { And (PIRC, 0x0F, Local0) ShiftLeft (One, Local0, INTC) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTC) FindSetRightBit (INTC, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRC, 0x70), PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (LLess (PIRD, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y05) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKD._CRS._Y05._INT, INTD) Store (Zero, INTD) If (LLess (PIRD, 0x80)) { And (PIRD, 0x0F, Local0) ShiftLeft (One, Local0, INTD) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTD) FindSetRightBit (INTD, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRD, 0x70), PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (LLess (PIRE, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y06) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKE._CRS._Y06._INT, INTE) Store (Zero, INTE) If (LLess (PIRE, 0x80)) { And (PIRE, 0x0F, Local0) ShiftLeft (One, Local0, INTE) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTE) FindSetRightBit (INTE, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRE, 0x70), PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (LLess (PIRF, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y07) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKF._CRS._Y07._INT, INTF) Store (Zero, INTF) If (LLess (PIRF, 0x80)) { And (PIRF, 0x0F, Local0) ShiftLeft (One, Local0, INTF) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTF) FindSetRightBit (INTF, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRF, 0x70), PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (LLess (PIRG, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y08) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKG._CRS._Y08._INT, INTG) Store (Zero, INTG) If (LLess (PIRG, 0x80)) { And (PIRG, 0x0F, Local0) ShiftLeft (One, Local0, INTG) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTG) FindSetRightBit (INTG, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRG, 0x70), PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (LLess (PIRH, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,9,10,11,12,14,15} }) Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y09) {} }) CreateWordField (BUFF, \_SB.PCI0.LPC.LNKH._CRS._Y09._INT, INTH) Store (Zero, INTH) If (LLess (PIRH, 0x80)) { And (PIRH, 0x0F, Local0) ShiftLeft (One, Local0, INTH) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, INTH) FindSetRightBit (INTH, Local0) If (LNotEqual (Local0, Zero)) { Decrement (Local0) } Or (Local0, And (PIRH, 0x70), PIRH) } } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0200, // Range Minimum 0x0200, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0810, // Range Minimum 0x0810, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0CA0, // Range Minimum 0x0CA0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CA4, // Range Minimum 0x0CA4, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0CA8, // Range Minimum 0x0CA8, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0CAE, // Range Minimum 0x0CAE, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0E00, // Range Minimum 0x0E00, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x1100, // Range Minimum 0x1100, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFF00, // Range Minimum 0xFF00, // Range Maximum 0x01, // Alignment 0x01, // Length ) Memory32Fixed (ReadOnly, 0xFEC00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) }) } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer16, ) {4} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {2} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {8} }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {0} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {13} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_STA, 0x0F) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Method (_STA, 0, NotSerialized) { If (AE) { Store (0x0F, Local0) } Else { Store (0x09, Local0) } Return (Local0) } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x3420) Field (RCRB, DWordAcc, NoLock, Preserve) { Offset (0x3404), AS, 2, , 5, AE, 1 } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0A) }) CreateDWordField (BUFF, \_SB.PCI0.LPC.HPET._CRS._Y0A._LEN, HTML) CreateDWordField (BUFF, \_SB.PCI0.LPC.HPET._CRS._Y0A._BAS, HTMB) If (AE) { Store (0x0400, HTML) ShiftLeft (AS, 0x0C, Local0) Add (0xFED00000, Local0, HTMB) } Return (BUFF) } } Device (SIO2) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { ULCK () Store (0x02, FUNC) If (LEqual (FUNC, 0x02)) { Store (0x0F, Local0) } Else { Store (0x08, Local0) } LCK () Return (Local0) } OperationRegion (QLGC, SystemIO, 0x4E, 0x02) Field (QLGC, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), FUNC, 8, Offset (0x23), , 3, CFGL, 1, Offset (0x30), DEN, 8, Offset (0x60), DADH, 8, DADL, 8, Offset (0x70), DIR, 4 } OperationRegion (GPES, SystemIO, 0x0208, 0x02) Field (GPES, ByteAcc, NoLock, WriteAsZeros) { RI1S, 1, RI2S, 1 } OperationRegion (GPEE, SystemIO, 0x020C, 0x02) Field (GPEE, ByteAcc, NoLock, Preserve) { RI1E, 1, RI2E, 1 } Method (_INI, 0, NotSerialized) { ULCK () Store (0x02, FUNC) Store (DEN, C1EN) Store (0x01, FUNC) Store (DEN, C2EN) LCK () } Method (ULCK, 0, NotSerialized) { Store (0x5A, INDX) } Method (LCK, 0, NotSerialized) { Store (0xA5, INDX) } Method (WAKE, 1, NotSerialized) { SMC (Zero, RefOf (RI1E), RefOf (RI1S)) SMC (Zero, RefOf (RI2E), RefOf (RI2S)) } Method (SLEP, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { SMC (One, RefOf (RI1E), RefOf (RI1S)) SMC (One, RefOf (RI2E), RefOf (RI2S)) } } Method (SMC, 3, NotSerialized) { If (Arg0) { Store (One, Arg2) Store (One, Arg1) } Else { Store (Zero, Arg1) Store (One, Arg2) } } Device (COM1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { ULCK () Store (0x02, FUNC) If (LEqual (C1EN, 0x01)) { If (DEN) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Else { Store (0x08, Local0) } LCK () Return (Local0) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x18, 0x01 }) } Method (_PSW, 1, NotSerialized) { Store (Arg0, \_SB.PCI0.LPC.SIO2.RI1E) } Method (_DIS, 0, NotSerialized) { ULCK () Store (0x02, FUNC) Store (Zero, DEN) LCK () } Method (_CRS, 0, NotSerialized) { ULCK () Store (0x02, FUNC) Name (BUFF, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x08, // Alignment 0x08, // Length _Y0B) IRQ (Edge, ActiveHigh, Exclusive, _Y0C) {0} }) CreateByteField (BUFF, \_SB.PCI0.LPC.SIO2.COM1._CRS._Y0B._MIN, AD1L) CreateByteField (BUFF, 0x03, AD1H) CreateByteField (BUFF, \_SB.PCI0.LPC.SIO2.COM1._CRS._Y0B._MAX, AD2L) CreateByteField (BUFF, 0x05, AD2H) Store (DADL, AD1L) Store (DADH, AD1H) Store (DADL, AD2L) Store (DADH, AD2H) CreateWordField (BUFF, \_SB.PCI0.LPC.SIO2.COM1._CRS._Y0C._INT, IRQS) Store (One, Local0) ShiftLeft (Local0, DIR, IRQS) LCK () Return (BUFF) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } EndDependentFn () }) Name (CM1L, Package (0x04) { 0x03F8, 0x02F8, 0x02E8, 0x03E8 }) Name (CM1C, Package (0x04) { 0x00, 0x01, 0x05, 0x07 }) Method (_SRS, 1, NotSerialized) { ULCK () Store (0x02, FUNC) CreateByteField (Arg0, 0x02, IOSL) CreateByteField (Arg0, 0x03, IOSH) CreateWordField (Arg0, 0x02, IOSA) CreateWordField (Arg0, 0x09, IRQS) Store (IOSL, DADL) Store (IOSH, DADH) Store (DerefOf (Index (CM1C, Match (CM1L, MEQ, IOSA, MTR, 0x00, 0x00))), COMA) FindSetRightBit (IRQS, Local0) If (Local0) { Decrement (Local0) } Store (Local0, DIR) Store (One, DEN) LCK () } } Device (COM2) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { ULCK () Store (0x01, FUNC) If (LEqual (C2EN, 0x01)) { If (DEN) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Else { Store (0x08, Local0) } LCK () Return (Local0) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x18, 0x01 }) } Method (_PSW, 1, NotSerialized) { Store (Arg0, \_SB.PCI0.LPC.SIO2.RI2E) } Method (_DIS, 0, NotSerialized) { ULCK () Store (0x01, FUNC) Store (Zero, DEN) LCK () } Method (_CRS, 0, NotSerialized) { ULCK () Store (0x01, FUNC) Name (BUFF, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x08, // Alignment 0x08, // Length _Y0D) IRQ (Edge, ActiveHigh, Exclusive, _Y0E) {0} }) CreateByteField (BUFF, \_SB.PCI0.LPC.SIO2.COM2._CRS._Y0D._MIN, AD1L) CreateByteField (BUFF, 0x03, AD1H) CreateByteField (BUFF, \_SB.PCI0.LPC.SIO2.COM2._CRS._Y0D._MAX, AD2L) CreateByteField (BUFF, 0x05, AD2H) Store (DADL, AD1L) Store (DADH, AD1H) Store (DADL, AD2L) Store (DADH, AD2H) CreateWordField (BUFF, \_SB.PCI0.LPC.SIO2.COM2._CRS._Y0E._INT, IRQS) Store (One, Local0) ShiftLeft (Local0, DIR, IRQS) LCK () Return (BUFF) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } EndDependentFn () }) Name (CM2L, Package (0x04) { 0x03F8, 0x02F8, 0x02E8, 0x03E8 }) Name (CM2C, Package (0x04) { 0x00, 0x01, 0x05, 0x07 }) Method (_SRS, 1, NotSerialized) { ULCK () Store (0x01, FUNC) CreateByteField (Arg0, 0x02, IOSL) CreateByteField (Arg0, 0x03, IOSH) CreateWordField (Arg0, 0x02, IOSA) CreateWordField (Arg0, 0x09, IRQS) Store (IOSL, DADL) Store (IOSH, DADH) Store (DerefOf (Index (CM2C, Match (CM2L, MEQ, IOSA, MTR, 0x00, 0x00))), COMB) FindSetRightBit (IRQS, Local0) If (Local0) { Decrement (Local0) } Store (Local0, DIR) Store (One, DEN) LCK () } } } Device (MI0) { Name (_HID, EisaId ("IPI0001")) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.LPC.AAOF, 0x08)) { Return (0x08) } Else { Return (0x0F) } } Name (_UID, 0x00) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0CA2, // Range Minimum 0x0CA2, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) Method (_IFT, 0, NotSerialized) { Return (0x01) } Method (_SRV, 0, NotSerialized) { Return (0x0200) } } Device (KCS1) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.LPC.AAOF, 0x08)) { Return (0x0F) } Else { Return (0x08) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0CA2, // Range Minimum 0x0CA2, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) } Device (KCS5) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x03) Name (_STA, 0x0F) OperationRegion (KCSR, SystemIO, 0x0CA4, 0x04) Field (KCSR, ByteAcc, NoLock, Preserve) { D_OU, 8, OBF, 1, IBF, 1, SMS, 1, CD, 1, OEM1, 1, OEM2, 1, S0, 1, S1, 1 } OperationRegion (KCSW, SystemIO, 0x0CA4, 0x04) Field (KCSW, ByteAcc, NoLock, Preserve) { D_IN, 8, CMD, 8 } Name (_S1D, 0x03) Name (_S2D, 0x03) Name (_S3D, 0x03) Name (_S4D, 0x03) Name (_PSC, 0x00) Method (_INI, 0, NotSerialized) { WAKE () } Method (WAKE, 0, NotSerialized) { Store (0x00, _PSC) Name (BUFG, Buffer (0x06) { 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x29 }) Name (RET1, Buffer (0x0101) { 0x00 }) If (LNot (SEND (BUFG, RET1))) { If (DerefOf (Index (RET1, 0x00))) { If (LNot (DerefOf (Index (RET1, 0x03)))) { Name (BUFS, Buffer (0x0A) { /* 0000 */ 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x28, 0x01, 0x80, /* 0008 */ 0x00, 0x00 }) Or (DerefOf (Index (BUFS, 0x06)), DerefOf (Index (RET1, 0x07 )), Index (BUFS, 0x06)) Or (DerefOf (Index (BUFS, 0x07)), DerefOf (Index (RET1, 0x08 )), Index (BUFS, 0x07)) Store (DerefOf (Index (RET1, 0x09)), Index (BUFS, 0x08)) Store (DerefOf (Index (RET1, 0x0A)), Index (BUFS, 0x09)) Name (RET2, Buffer (0x0101) { 0x00 }) If (LNot (SEND (BUFS, RET2))) { If (DerefOf (Index (RET2, 0x00))) { If (LNot (DerefOf (Index (RET2, 0x03)))) { Name (SMIP, Buffer (0x08) { /* 0000 */ 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x32, 0x00, 0x00 }) Name (RET3, Buffer (0x0101) { 0x00 }) If (CondRefOf (\_PR.PR00._PPC, Local0)) { Store (SizeOf (\_PR.PR00._PSS), Index (SMIP, 0x06)) } SEND (SMIP, RET3) } } } } } } } Method (SLEP, 0, NotSerialized) { Store (0x03, _PSC) Name (SMIP, Buffer (0x08) { /* 0000 */ 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x32, 0x00, 0x00 }) Name (RET0, Buffer (0x0101) { 0x00 }) If (LNot (SEND (SMIP, RET0))) { If (DerefOf (Index (RET0, 0x00))) { If (LNot (DerefOf (Index (RET0, 0x03)))) { Name (BUFG, Buffer (0x06) { 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x29 }) Name (RET1, Buffer (0x0101) { 0x00 }) If (LNot (SEND (BUFG, RET1))) { If (DerefOf (Index (RET1, 0x00))) { If (LNot (DerefOf (Index (RET1, 0x03)))) { Name (BUFS, Buffer (0x0A) { /* 0000 */ 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x28, 0xFE, 0x00, /* 0008 */ 0x00, 0x00 }) And (DerefOf (Index (BUFS, 0x06)), DerefOf (Index (RET1, 0x07 )), Index (BUFS, 0x06)) Store (DerefOf (Index (RET1, 0x09)), Index (BUFS, 0x08)) Store (DerefOf (Index (RET1, 0x0A)), Index (BUFS, 0x09)) Name (RET2, Buffer (0x0101) { 0x00 }) SEND (BUFS, RET2) } } } } } } } Method (SIRS, 0, NotSerialized) { Name (SMIS, Buffer (0x06) { 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x2A }) Name (RETS, Buffer (0x0101) { 0x00 }) If (LNot (\_SB.PCI0.LPC.KCS5.SEND (SMIS, RETS))) { If (DerefOf (Index (RETS, 0x00))) { If (LNot (DerefOf (Index (RETS, 0x03)))) { If (And (DerefOf (Index (RETS, 0x07)), 0x01)) { If (And (DerefOf (Index (RETS, 0x08)), 0x80)) { Name (SMIR, Buffer (0x0A) { /* 0000 */ 0xB8, 0xF1, 0x80, 0x28, 0x00, 0x2B, 0x01, 0x80, /* 0008 */ 0x00, 0x00 }) Name (RETR, Buffer (0x0101) { 0x00 }) \_SB.PCI0.LPC.KCS5.SEND (SMIR, RETR) Store (0x10, Local0) While (Local0) { CSPS (And (DerefOf (Index (RETS, 0x08)), 0x0F), Local0) Decrement (Local0) } } } } } } } Method (CSPS, 2, NotSerialized) { While (One) { Name (_T_0, 0x00) Store (Arg1, _T_0) If (LEqual (_T_0, 0x01)) { If (CondRefOf (\_PR.PR00._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR00._PSS))) { Subtract (SizeOf (\_PR.PR00._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR00._PPC) Notify (\_PR.PR00, 0x80) } } Else { If (LEqual (_T_0, 0x02)) { If (CondRefOf (\_PR.PR01._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR01._PSS))) { Subtract (SizeOf (\_PR.PR01._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR01._PPC) Notify (\_PR.PR01, 0x80) } } Else { If (LEqual (_T_0, 0x03)) { If (CondRefOf (\_PR.PR02._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR02._PSS))) { Subtract (SizeOf (\_PR.PR02._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR02._PPC) Notify (\_PR.PR02, 0x80) } } Else { If (LEqual (_T_0, 0x04)) { If (CondRefOf (\_PR.PR03._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR03._PSS))) { Subtract (SizeOf (\_PR.PR03._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR03._PPC) Notify (\_PR.PR03, 0x80) } } Else { If (LEqual (_T_0, 0x05)) { If (CondRefOf (\_PR.PR04._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR04._PSS))) { Subtract (SizeOf (\_PR.PR04._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR04._PPC) Notify (\_PR.PR04, 0x80) } } Else { If (LEqual (_T_0, 0x06)) { If (CondRefOf (\_PR.PR05._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR05._PSS))) { Subtract (SizeOf (\_PR.PR05._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR05._PPC) Notify (\_PR.PR05, 0x80) } } Else { If (LEqual (_T_0, 0x07)) { If (CondRefOf (\_PR.PR06._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR06._PSS))) { Subtract (SizeOf (\_PR.PR06._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR06._PPC) Notify (\_PR.PR06, 0x80) } } Else { If (LEqual (_T_0, 0x08)) { If (CondRefOf (\_PR.PR07._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR07._PSS))) { Subtract (SizeOf (\_PR.PR07._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR07._PPC) Notify (\_PR.PR07, 0x80) } } Else { If (LEqual (_T_0, 0x09)) { If (CondRefOf (\_PR.PR10._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR10._PSS))) { Subtract (SizeOf (\_PR.PR10._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR10._PPC) Notify (\_PR.PR10, 0x80) } } Else { If (LEqual (_T_0, 0x0A)) { If (CondRefOf (\_PR.PR11._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR11._PSS))) { Subtract (SizeOf (\_PR.PR11._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR11._PPC) Notify (\_PR.PR11, 0x80) } } Else { If (LEqual (_T_0, 0x0B)) { If (CondRefOf (\_PR.PR12._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR12._PSS))) { Subtract (SizeOf (\_PR.PR12._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR12._PPC) Notify (\_PR.PR12, 0x80) } } Else { If (LEqual (_T_0, 0x0C)) { If (CondRefOf (\_PR.PR13._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR13._PSS))) { Subtract (SizeOf (\_PR.PR13._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR13._PPC) Notify (\_PR.PR13, 0x80) } } Else { If (LEqual (_T_0, 0x0D)) { If (CondRefOf (\_PR.PR14._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR14._PSS))) { Subtract (SizeOf (\_PR.PR14._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR14._PPC) Notify (\_PR.PR14, 0x80) } } Else { If (LEqual (_T_0, 0x0E)) { If (CondRefOf (\_PR.PR15._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR15._PSS))) { Subtract (SizeOf (\_PR.PR15._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR15._PPC) Notify (\_PR.PR15, 0x80) } } Else { If (LEqual (_T_0, 0x0F)) { If (CondRefOf (\_PR.PR16._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR16._PSS))) { Subtract (SizeOf (\_PR.PR16._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR16._PPC) Notify (\_PR.PR16, 0x80) } } Else { If (LEqual (_T_0, 0x10)) { If (CondRefOf (\_PR.PR17._PPC, Local0)) { If (LGreaterEqual (Arg0, SizeOf (\_PR.PR17._PSS))) { Subtract (SizeOf (\_PR.PR17._PSS), 0x01, Arg0) } Store (Arg0, \_PR.PR17._PPC) Notify (\_PR.PR17, 0x80) } } } } } } } } } } } } } } } } } Break } } Method (SEND, 2, NotSerialized) { Name (WRST, 0x61) Name (WREN, 0x62) If (WIBF ()) { Return (0x03) } If (COBF ()) { Return (0x04) } Store (WRST, CMD) If (WIBF ()) { Return (0x03) } If (LNotEqual (CHKW (), Zero)) { Return (EREX ()) } If (COBF ()) { Return (0x04) } Store (0x00, Local0) Store (SizeOf (Arg0), Local1) Decrement (Local1) While (LNotEqual (Local0, Local1)) { Store (DerefOf (Index (Arg0, Local0)), D_IN) If (WIBF ()) { Return (0x03) } If (LNotEqual (CHKW (), Zero)) { Return (EREX ()) } If (COBF ()) { Return (0x04) } Increment (Local0) } Store (WREN, CMD) If (WIBF ()) { Return (0x03) } If (LNotEqual (CHKW (), Zero)) { Return (0x01) } If (COBF ()) { Return (0x04) } Store (DerefOf (Index (Arg0, Local0)), D_IN) Name (REAB, 0x68) If (WIBF ()) { Return (0x03) } Store (0x01, Local0) While (LEqual (CHKR (), Zero)) { If (WOBF ()) { Return (0x03) } Store (D_OU, Index (Arg1, Local0)) Store (REAB, D_IN) If (WIBF ()) { Return (0x03) } Increment (Local0) } Decrement (Local0) Store (Local0, Index (Arg1, 0x00)) If (LNotEqual (CHKI (), Zero)) { Return (EREX ()) } If (WOBF ()) { Return (0x03) } Store (D_OU, Local0) Return (0x00) } Method (EREX, 0, NotSerialized) { Store (0x00, Local0) While (LLess (Local0, 0x0A)) { If (LEqual (ERCH (), Zero)) { Return (0x01) } Increment (Local0) } Return (0x02) } Method (ERCH, 0, NotSerialized) { Name (GSAB, 0x60) Name (REAB, 0x68) If (WIBF ()) { Return (0x03) } Store (GSAB, CMD) If (WIBF ()) { Return (0x03) } If (COBF ()) { Return (0x04) } Store (0x00, D_IN) If (WIBF ()) { Return (0x03) } If (LNotEqual (CHKR (), Zero)) { Return (0x01) } If (WOBF ()) { Return (0x03) } Store (D_OU, Local0) Store (REAB, D_IN) If (WIBF ()) { Return (0x03) } If (LNotEqual (CHKI (), Zero)) { Return (0x01) } If (WOBF ()) { Return (0x03) } If (COBF ()) { Return (0x04) } Return (0x00) } Method (CHKW, 0, NotSerialized) { Store (S0, Local0) Store (S1, Local1) If (LNotEqual (Local0, Zero)) { Return (0x01) } If (LEqual (Local1, Zero)) { Return (0x01) } Return (0x00) } Method (CHKR, 0, NotSerialized) { Store (S0, Local0) Store (S1, Local1) If (LEqual (Local0, Zero)) { Return (0x01) } If (LNotEqual (Local1, Zero)) { Return (0x01) } Return (0x00) } Method (CHKI, 0, NotSerialized) { Store (S0, Local0) Store (S1, Local1) If (LNotEqual (Local0, Zero)) { Return (0x01) } If (LNotEqual (Local1, Zero)) { Return (0x01) } Return (0x00) } Method (WOBF, 0, NotSerialized) { Store (0x1388, Local2) While (LGreater (Local2, Zero)) { Store (OBF, Local1) If (Local1) { Return (0x00) } Sleep (0x0A) Subtract (Local2, 0x0A, Local2) } Return (0x01) } Method (WIBF, 0, NotSerialized) { Store (0x1388, Local2) While (LGreater (Local2, Zero)) { Store (IBF, Local1) If (LNot (Local1)) { Return (0x00) } Sleep (0x0A) Subtract (Local2, 0x0A, Local2) } Return (0x01) } Method (COBF, 0, NotSerialized) { Store (0x03E8, Local0) While (LGreater (Local0, Zero)) { Store (OBF, Local1) If (Local1) { Store (D_OU, Local1) Decrement (Local0) } Else { Return (0x00) } } } } } } } } --------------030700020801060702040401--