From owner-freebsd-acpi@FreeBSD.ORG Sun Jan 14 21:29:12 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 135BB16A415 for ; Sun, 14 Jan 2007 21:29:12 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from postfix1-g20.free.fr (postfix1-g20.free.fr [212.27.60.42]) by mx1.freebsd.org (Postfix) with ESMTP id 6706B13C442 for ; Sun, 14 Jan 2007 21:29:10 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from smtp3-g19.free.fr (smtp3-g19.free.fr [212.27.42.29]) by postfix1-g20.free.fr (Postfix) with ESMTP id 9E7A07C05B9 for ; Sun, 14 Jan 2007 22:02:08 +0100 (CET) Received: from [192.168.0.2] (boleskine.patpro.net [82.235.12.223]) by smtp3-g19.free.fr (Postfix) with ESMTP id 6B7574A2DA for ; Sun, 14 Jan 2007 22:02:07 +0100 (CET) Mime-Version: 1.0 (Apple Message framework v752.2) Content-Transfer-Encoding: 7bit Message-Id: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: freebsd-acpi@freebsd.org From: Patrick Proniewski Date: Sun, 14 Jan 2007 22:02:06 +0100 X-Mailer: Apple Mail (2.752.2) Subject: acpi ok but cpufreq not supporting my CPUs 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: Sun, 14 Jan 2007 21:29:12 -0000 Hello, I have a FreeBSD box running 6.2R on 2 dual core Xeon LV (sossaman). Vanilla ACPI is supported, and powerd works great. But advanced features are unavailable because cpufreq won't recognize my CPUs. For example, as acpi will only reduce frequency and not voltage, the CPU remains at the same temperature. I've read on http://www.daemonology.net/freebsd-est/ that "est" port, from where comes cpufreq's "est", won't handle multiple CPUs. Is that still true ? dmesg (part of): FreeBSD 6.2-RELEASE #0: Sun Jan 14 20:48:28 CET 2007 CPU: Intel(R) Xeon(TM) CPU 000 @ 1.66GHz (1666.79-MHz 686- class CPU) Origin = "GenuineIntel" Id = 0x6e8 Stepping = 8 Features=0xbfebfbff Features2=0xc1a9,> AMD Features=0x100000 Cores per package: 2 cpu0: on acpi0 est0: on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e device_attach: est0 attach returned 6 p4tcc0: on cpu0 (same for cpu1/2/3) Is there anything I can do to make "est" work with the sossaman CPU ? thanks in advance, Patrick Proniewski From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 15 11:08:01 2007 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A8B016A494 for ; Mon, 15 Jan 2007 11:08:01 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 8670913C4BB for ; Mon, 15 Jan 2007 11:08:01 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l0FB81Ss031604 for ; Mon, 15 Jan 2007 11:08:01 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l0FB7wMt031600 for freebsd-acpi@FreeBSD.org; Mon, 15 Jan 2007 11:07:58 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 15 Jan 2007 11:07:58 GMT Message-Id: <200701151107.l0FB7wMt031600@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: linimon set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to you 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: Mon, 15 Jan 2007 11:08:01 -0000 Current FreeBSD problem reports Critical problems Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o i386/54756 acpi ACPI suspend/resume problem on CF-W2 laptop o i386/55661 acpi ACPI suspend/resume problem on ARMADA M700 o kern/55822 acpi No ACPI power off with SMP kernel o kern/56024 acpi ACPI suspend drains battery while in S3 o i386/64002 acpi acpi problem o i386/67273 acpi [hang] system hangs with acpi and Xfree o i386/72566 acpi ACPI, FreeBSD disables fan on Compaq Armada 1750 o kern/77805 acpi [acpi]: Boot hangs with ACPI enabled o i386/79080 acpi acpi thermal changes freezes HP nx6110 o i386/79081 acpi ACPI suspend/resume not working on HP nx6110 o kern/104625 acpi ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show ther 11 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/67309 acpi zzz reboot computer (ACPI S3) o i386/69750 acpi Boot without ACPI failed on ASUS L5 o kern/73823 acpi [feature request] acpi / power-on by timer support f kern/74030 acpi Unplugging AC causes battery % to stay locked at 98% f kern/90871 acpi ACPI problems with ASUS A8N-VM-CSM o kern/97383 acpi Volume buttons on IBM Thinkpad crash system with ACPI o i386/97468 acpi [acpi] ACPI on ASUS A7V hangs on shutdown -p (power of o kern/98171 acpi [acpi] ACPI 1304 / 0501 errors on Acer 5024WLMi Laptop o kern/103365 acpi [acpi] acpi poweroff doesn't work with geli device att 9 problems total. From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 15 17:08:03 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 43AB616A407 for ; Mon, 15 Jan 2007 17:08:03 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.freebsd.org (Postfix) with ESMTP id D6B2313C480 for ; Mon, 15 Jan 2007 17:08:02 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1H6V2y-0001yB-00; Mon, 15 Jan 2007 17:51:00 +0100 Date: Mon, 15 Jan 2007 17:51:00 +0100 To: Patrick Proniewski Message-ID: <20070115165059.GP4945@poupinou.org> References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-acpi@freebsd.org Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Mon, 15 Jan 2007 17:08:03 -0000 On Sun, Jan 14, 2007 at 10:02:06PM +0100, Patrick Proniewski wrote: > Hello, > > I have a FreeBSD box running 6.2R on 2 dual core Xeon LV (sossaman). > Vanilla ACPI is supported, and powerd works great. But advanced > features are unavailable because cpufreq won't recognize my CPUs. For > example, as acpi will only reduce frequency and not voltage, the CPU > remains at the same temperature. > I've read on http://www.daemonology.net/freebsd-est/ that "est" port, > from where comes cpufreq's "est", won't handle multiple CPUs. Is that > still true ? Yes and no. There are some fundamental changes to be made into src/sys/kern/kern_cpu.c especially when bi-core comes to the game. By now, I don't think est is touched by those but I maybe wrong. I think Nate may have more to say, since anyway he now have such duo-core IIRC. > > dmesg (part of): > FreeBSD 6.2-RELEASE #0: Sun Jan 14 20:48:28 CET 2007 > > CPU: Intel(R) Xeon(TM) CPU 000 @ 1.66GHz (1666.79-MHz 686- > class CPU) > Origin = "GenuineIntel" Id = 0x6e8 Stepping = 8 > > Features=0xbfebfbff ,MCA,CMOV,PAT,PSE36, > CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> > Features2=0xc1a9,> > AMD Features=0x100000 > Cores per package: 2 > > > cpu0: on acpi0 > est0: on cpu0 > est: CPU supports Enhanced Speedstep, but is not recognized. > est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e > device_attach: est0 attach returned 6 > p4tcc0: on cpu0 > > (same for cpu1/2/3) > > Is there anything I can do to make "est" work with the sossaman CPU ? > > thanks in advance, > It's not possible, AFAIK, to build a static table for your processor, and in that case, we have to use an ACPI table in order to compute a custom table. If such information is not available, then there is little hope to make est working, being an SMP problem or not is not your problem I'm afraid. It maybe possible you forgot a BIOS option somewhat so such this configuration will be generated and exposed via ACPI though, or maybe you have to upgrade to a newer BIOS. -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 15 17:31:29 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B32CB16A412 for ; Mon, 15 Jan 2007 17:31:29 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from smtp2-g19.free.fr (smtp2-g19.free.fr [212.27.42.28]) by mx1.freebsd.org (Postfix) with ESMTP id 7C4DB13C467 for ; Mon, 15 Jan 2007 17:31:29 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from [192.168.0.2] (boleskine.patpro.net [82.235.12.223]) by smtp2-g19.free.fr (Postfix) with ESMTP id 33E767D03; Mon, 15 Jan 2007 18:31:28 +0100 (CET) In-Reply-To: <20070115165059.GP4945@poupinou.org> References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> <20070115165059.GP4945@poupinou.org> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <909BF787-26D3-4944-9188-D6234B754F8C@patpro.net> Content-Transfer-Encoding: 7bit From: Patrick Proniewski Date: Mon, 15 Jan 2007 18:31:22 +0100 To: Bruno Ducrot X-Mailer: Apple Mail (2.752.2) Cc: freebsd-acpi@freebsd.org Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Mon, 15 Jan 2007 17:31:29 -0000 Hi, On 15 janv. 2007, at 17:51, Bruno Ducrot wrote: >> cpu0: on acpi0 >> est0: on cpu0 >> est: CPU supports Enhanced Speedstep, but is not recognized. >> est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e >> device_attach: est0 attach returned 6 >> p4tcc0: on cpu0 >> >> (same for cpu1/2/3) >> >> Is there anything I can do to make "est" work with the sossaman CPU ? > > It's not possible, AFAIK, to build a static table for your processor, > and in that case, we have to use an ACPI table in order to compute > a custom table. If such information is not available, then there > is little hope to make est working, being an SMP problem or not is > not your problem I'm afraid. It maybe possible you forgot a > BIOS option somewhat so such this configuration will be generated > and exposed via ACPI though, or maybe you have to upgrade to a > newer BIOS. hmmm I've to take a look at the BIOS. I know it's the latest available from TYAN, but I'm not sure about my settings. Unfortunately, the BIOS itself is not well commented (right part of screen is often non-informative), and even more poorly documented (paper documentation is not synced with BIOS, and miss important features). Next time I boot, I'll take pictures of BIOS screens, so that I don't have to reboot every time I want to check something ;) One thing I know, is that loading cpufreq after boot time gave me an updated dev.cpu.0.freq_levels with about 20 values instead of 8. Powerd was able to lower cpu freq to the new lowest value, but was never able to increase it under load (and the reboot did not go very smoothly) thanks, Patrick From owner-freebsd-acpi@FreeBSD.ORG Mon Jan 15 23:22:50 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D8F5E16A412 for ; Mon, 15 Jan 2007 23:22:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 8623313C428 for ; Mon, 15 Jan 2007 23:22:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l0FMw2Lp037666; Mon, 15 Jan 2007 17:58:02 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Mon, 15 Jan 2007 17:39:46 -0500 User-Agent: KMail/1.9.4 References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> <20070115165059.GP4945@poupinou.org> In-Reply-To: <20070115165059.GP4945@poupinou.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701151739.46792.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Mon, 15 Jan 2007 17:58:03 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2453/Mon Jan 15 15:22:48 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Mon, 15 Jan 2007 23:22:50 -0000 On Monday 15 January 2007 11:51, Bruno Ducrot wrote: > On Sun, Jan 14, 2007 at 10:02:06PM +0100, Patrick Proniewski wrote: > > est0: on cpu0 > > est: CPU supports Enhanced Speedstep, but is not recognized. > > est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e > > device_attach: est0 attach returned 6 > > p4tcc0: on cpu0 > > > > (same for cpu1/2/3) > > > > Is there anything I can do to make "est" work with the sossaman CPU ? > > > > thanks in advance, > > > > It's not possible, AFAIK, to build a static table for your processor, > and in that case, we have to use an ACPI table in order to compute > a custom table. If such information is not available, then there > is little hope to make est working, being an SMP problem or not is > not your problem I'm afraid. It maybe possible you forgot a > BIOS option somewhat so such this configuration will be generated > and exposed via ACPI though, or maybe you have to upgrade to a > newer BIOS. One thing we can do is at least support the two modes encoded into the MSR (the highest and lowest IIRC). I think I have a patch laying around somewhere to do that. -- John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 16 01:12:29 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5D41116A415 for ; Tue, 16 Jan 2007 01:12:29 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 2914D13C471 for ; Tue, 16 Jan 2007 01:12:29 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 13406 invoked from network); 16 Jan 2007 00:11:32 -0000 Received: from ppp-71-139-39-138.dsl.snfc21.pacbell.net (HELO ?10.0.5.59?) (nate-mail@71.139.39.138) by root.org with ESMTPA; 16 Jan 2007 00:11:32 -0000 Message-ID: <45AC1826.6080307@root.org> Date: Mon, 15 Jan 2007 16:11:18 -0800 From: Nate Lawson User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: John Baldwin References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> <20070115165059.GP4945@poupinou.org> <200701151739.46792.jhb@freebsd.org> In-Reply-To: <200701151739.46792.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Tue, 16 Jan 2007 01:12:29 -0000 John Baldwin wrote: > On Monday 15 January 2007 11:51, Bruno Ducrot wrote: >> On Sun, Jan 14, 2007 at 10:02:06PM +0100, Patrick Proniewski wrote: >>> est0: on cpu0 >>> est: CPU supports Enhanced Speedstep, but is not recognized. >>> est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e >>> device_attach: est0 attach returned 6 >>> p4tcc0: on cpu0 >>> >>> (same for cpu1/2/3) >>> >>> Is there anything I can do to make "est" work with the sossaman CPU ? >>> >>> thanks in advance, >>> >> It's not possible, AFAIK, to build a static table for your processor, >> and in that case, we have to use an ACPI table in order to compute >> a custom table. If such information is not available, then there >> is little hope to make est working, being an SMP problem or not is >> not your problem I'm afraid. It maybe possible you forgot a >> BIOS option somewhat so such this configuration will be generated >> and exposed via ACPI though, or maybe you have to upgrade to a >> newer BIOS. > > One thing we can do is at least support the two modes encoded into the MSR > (the highest and lowest IIRC). I think I have a patch laying around > somewhere to do that. > That's a good idea. If you can send me a patch, I'd be happy to test. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 16 14:22:31 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C391E16A407 for ; Tue, 16 Jan 2007 14:22:31 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.freebsd.org (Postfix) with ESMTP id 8CB7813C459 for ; Tue, 16 Jan 2007 14:22:31 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1H6pCo-0003Nh-00; Tue, 16 Jan 2007 15:22:30 +0100 Date: Tue, 16 Jan 2007 15:22:30 +0100 To: John Baldwin Message-ID: <20070116142230.GQ4945@poupinou.org> References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> <20070115165059.GP4945@poupinou.org> <200701151739.46792.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701151739.46792.jhb@freebsd.org> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-acpi@freebsd.org Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Tue, 16 Jan 2007 14:22:31 -0000 On Mon, Jan 15, 2007 at 05:39:46PM -0500, John Baldwin wrote: > On Monday 15 January 2007 11:51, Bruno Ducrot wrote: > > On Sun, Jan 14, 2007 at 10:02:06PM +0100, Patrick Proniewski wrote: > > > est0: on cpu0 > > > est: CPU supports Enhanced Speedstep, but is not recognized. > > > est: cpu_vendor GenuineIntel, msr a1e0a1e06000a1e > > > device_attach: est0 attach returned 6 > > > p4tcc0: on cpu0 > > > > > > (same for cpu1/2/3) > > > > > > Is there anything I can do to make "est" work with the sossaman CPU ? > > > > > > thanks in advance, > > > > > > > It's not possible, AFAIK, to build a static table for your processor, > > and in that case, we have to use an ACPI table in order to compute > > a custom table. If such information is not available, then there > > is little hope to make est working, being an SMP problem or not is > > not your problem I'm afraid. It maybe possible you forgot a > > BIOS option somewhat so such this configuration will be generated > > and exposed via ACPI though, or maybe you have to upgrade to a > > newer BIOS. > > One thing we can do is at least support the two modes encoded into the MSR > (the highest and lowest IIRC). I think I have a patch laying around > somewhere to do that. Well, I don't remember Intel released such information, but I've not checked that for a long time, being actually more interrested by AMD stuff. Do you have any pointer about that? -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 16 16:28:04 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE85116A417; Tue, 16 Jan 2007 16:28:04 +0000 (UTC) (envelope-from takawata@ns.init-main.com) Received: from sana.init-main.com (104.194.138.210.bn.2iij.net [210.138.194.104]) by mx1.freebsd.org (Postfix) with ESMTP id 25CEC13C4A6; Tue, 16 Jan 2007 16:28:03 +0000 (UTC) (envelope-from takawata@ns.init-main.com) Received: from ns.init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.13.8/8.13.3) with ESMTP id l0GG9epQ098459; Wed, 17 Jan 2007 01:09:40 +0900 (JST) (envelope-from takawata@ns.init-main.com) Message-Id: <200701161609.l0GG9epQ098459@sana.init-main.com> To: freebsd-acpi@freebsd.org, sos@freebsd.org Date: Wed, 17 Jan 2007 01:09:40 +0900 From: Takanori Watanabe Cc: Subject: Generalize acpi_pci_save_handle and preliminary ATA ACPI support. 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: Tue, 16 Jan 2007 16:28:05 -0000 I wrote preliminary support of ACPI support for PCI ATA device. Currently it does nothing but recognize acpi handle. To use some support function in PCI, I generalized acpi_pci_save_handle and export it as acpi device method. To support ATA channel it seems that it require some modification to ATA driver. ACPI has some ATA support. for more information, Section 9.9 of ACPI 3.0 specification. Regards. #text/plain /home/takawata/acpibusdiff #text/plain /home/takawata/ata-pci-acpi.c From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 16 17:29:07 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C474B16A4F1; Tue, 16 Jan 2007 17:29:07 +0000 (UTC) (envelope-from takawata@ns.init-main.com) Received: from sana.init-main.com (104.194.138.210.bn.2iij.net [210.138.194.104]) by mx1.freebsd.org (Postfix) with ESMTP id 796AD13C44B; Tue, 16 Jan 2007 17:29:05 +0000 (UTC) (envelope-from takawata@ns.init-main.com) Received: from ns.init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.13.8/8.13.3) with ESMTP id l0GHS1li098861; Wed, 17 Jan 2007 02:28:01 +0900 (JST) (envelope-from takawata@ns.init-main.com) Message-Id: <200701161728.l0GHS1li098861@sana.init-main.com> To: freebsd-acpi@freebsd.org, sos@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <98858.1168968471.0@ns.init-main.com> Date: Wed, 17 Jan 2007 02:28:01 +0900 From: Takanori Watanabe Cc: Subject: Generalize acpi_pci_save_handle and preliminary ATA ACPI support. 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: Tue, 16 Jan 2007 17:29:07 -0000 ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <98858.1168968471.1@ns.init-main.com> Content-Transfer-Encoding: 7bit Oops, I forgot to attach files. >I wrote preliminary support of ACPI support for PCI ATA device. >Currently it does nothing but recognize acpi handle. >To use some support function in PCI, I generalized acpi_pci_save_handle >and export it as acpi device method. > >To support ATA channel it seems that it require some modification to >ATA driver. > >ACPI has some ATA support. for more information, Section 9.9 of >ACPI 3.0 specification. > >Regards. ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <98858.1168968471.2@ns.init-main.com> Content-Transfer-Encoding: 7bit Index: acpi.c =================================================================== RCS file: /disk1/ncvs/src/sys/dev/acpica/acpi.c,v retrieving revision 1.229 diff -u -r1.229 acpi.c --- acpi.c 21 Sep 2006 18:56:03 -0000 1.229 +++ acpi.c 16 Jan 2007 11:26:15 -0000 @@ -127,6 +127,12 @@ void *context, void **retval); static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, int max_depth, acpi_scan_cb_t user_fn, void *arg); + +static void acpi_update_device(ACPI_HANDLE handle, device_t newdev); +static ACPI_STATUS acpi_device_save_handle_cb(ACPI_HANDLE h, UINT32 level, + void *context, void **retval); +static int acpi_device_save_handle(device_t acpi, device_t dev); + static int acpi_set_powerstate_method(device_t bus, device_t child, int state); static int acpi_isa_pnp_probe(device_t bus, device_t child, @@ -188,6 +194,7 @@ DEVMETHOD(acpi_evaluate_object, acpi_device_eval_obj), DEVMETHOD(acpi_pwr_for_sleep, acpi_device_pwr_for_sleep), DEVMETHOD(acpi_scan_children, acpi_device_scan_children), + DEVMETHOD(acpi_save_handle, acpi_device_save_handle), /* PCI emulation */ DEVMETHOD(pci_set_powerstate, acpi_set_powerstate_method), @@ -1384,6 +1391,85 @@ acpi_device_scan_cb, &ctx, NULL)); } +/******************************************** + * + * acpi_device_save_handle() and its helper + * + ********************************************/ + +/* + * detach direct children of acpi device and attach device to acpi handle. + */ +static void acpi_update_device(ACPI_HANDLE handle, device_t newdev) +{ + ACPI_STATUS status; + device_t olddev; + + olddev = acpi_get_device(handle); + if (olddev != NULL) { + KASSERT(!device_is_alive(olddev), ("%s: deleting alive child %s", + __func__, device_get_nameunit(olddev))); + KASSERT(device_get_parent(olddev) == acpidev(), + ("%s: child (%s)'s parent is not acpi0", __func__, + acpi_name(handle))); + device_delete_child(device_get_parent(olddev), olddev); + } + + /* + * Update ACPI-CA to use the enumlated device_t for this handle. + */ + status = AcpiDetachData(handle, acpi_fake_objhandler); + if (ACPI_FAILURE(status)) + printf("WARNING: Unable to detach object data from %s - %s\n", + acpi_name(handle), AcpiFormatException(status)); + status = AcpiAttachData(handle, acpi_fake_objhandler, newdev); + if (ACPI_FAILURE(status)) + printf("WARNING: Unable to attach object data to %s - %s\n", + acpi_name(handle), AcpiFormatException(status)); + +} + + +/* + * per handle process of acpi_device_save_handle + */ +static ACPI_STATUS +acpi_device_save_handle_cb(ACPI_HANDLE h, UINT32 level, void *context, void **status) +{ + device_t *devlist; + int devcount, i; + UINT32 address; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); + if (ACPI_FAILURE(acpi_GetInteger(h, "_ADR", &address))) + return_ACPI_STATUS (AE_OK); + + if (device_get_children((device_t)context, &devlist, &devcount) != 0) + return_ACPI_STATUS (AE_OK); + + for (i = 0; i < devcount; i++) { + if(acpi_get_adr(devlist[i]) == address){ + acpi_set_handle(devlist[i], h); + acpi_update_device(h, devlist[i]); + } + } + free(devlist, M_TEMP); + + return_ACPI_STATUS(AE_OK); +} + +/* + * register acpi handle to device other than direct children of + * acpi device. + */ +static int +acpi_device_save_handle(device_t acpi, device_t dev) +{ + AcpiWalkNamespace(ACPI_TYPE_DEVICE, acpi_get_handle(dev), 1, acpi_device_save_handle_cb, dev, NULL); + + return 0; +} + + /* * Even though ACPI devices are not PCI, we use the PCI approach for setting * device power states since it's close enough to ACPI. Index: acpi_if.m =================================================================== RCS file: /disk1/ncvs/src/sys/dev/acpica/acpi_if.m,v retrieving revision 1.8 diff -u -r1.8 acpi_if.m --- acpi_if.m 11 Sep 2005 18:39:01 -0000 1.8 +++ acpi_if.m 16 Jan 2007 12:36:01 -0000 @@ -222,3 +222,19 @@ device_t dev; struct acpi_bst *bst; }; + +# +# Save device handles to ivars for children. +# All children have to be attached to parent and +# children should be able to access following ivars: +# 1. read ACPI_IVAR_ADR to get _ADR value. +# 2. write ACPI_IVAR_HANDLE to set ACPI handle. +# +# device_t acpi: ACPI device +# device_t dev: parent device +# + +METHOD int save_handle{ + device_t acpi; + device_t dev; +}; Index: acpi_pci.c =================================================================== RCS file: /disk1/ncvs/src/sys/dev/acpica/acpi_pci.c,v retrieving revision 1.30 diff -u -r1.30 acpi_pci.c --- acpi_pci.c 11 May 2006 22:13:20 -0000 1.30 +++ acpi_pci.c 16 Jan 2007 12:11:14 -0000 @@ -73,11 +73,8 @@ uintptr_t *result); static int acpi_pci_write_ivar(device_t dev, device_t child, int which, uintptr_t value); -static ACPI_STATUS acpi_pci_save_handle(ACPI_HANDLE handle, UINT32 level, - void *context, void **status); static int acpi_pci_set_powerstate_method(device_t dev, device_t child, int state); -static void acpi_pci_update_device(ACPI_HANDLE handle, device_t pci_child); static device_method_t acpi_pci_methods[] = { /* Device interface */ @@ -116,6 +113,10 @@ case ACPI_IVAR_FLAGS: *result = (uintptr_t)dinfo->ap_flags; return (0); + case ACPI_IVAR_ADR: + *result = (uintptr_t) (dinfo->ap_dinfo.cfg.slot<<16 + |dinfo->ap_dinfo.cfg.func); + return (0); } return (pci_read_ivar(dev, child, which, result)); } @@ -196,69 +197,6 @@ return (error); } -static void -acpi_pci_update_device(ACPI_HANDLE handle, device_t pci_child) -{ - ACPI_STATUS status; - device_t child; - - /* - * Lookup and remove the unused device that acpi0 creates when it walks - * the namespace creating devices. - */ - child = acpi_get_device(handle); - if (child != NULL) { - KASSERT(!device_is_alive(child), ("%s: deleting alive child %s", - __func__, device_get_nameunit(child))); - KASSERT(device_get_parent(child) == - devclass_get_device(devclass_find("acpi"), 0), - ("%s: child (%s)'s parent is not acpi0", __func__, - acpi_name(handle))); - device_delete_child(device_get_parent(child), child); - } - - /* - * Update ACPI-CA to use the PCI enumerated device_t for this handle. - */ - status = AcpiDetachData(handle, acpi_fake_objhandler); - if (ACPI_FAILURE(status)) - printf("WARNING: Unable to detach object data from %s - %s\n", - acpi_name(handle), AcpiFormatException(status)); - status = AcpiAttachData(handle, acpi_fake_objhandler, pci_child); - if (ACPI_FAILURE(status)) - printf("WARNING: Unable to attach object data to %s - %s\n", - acpi_name(handle), AcpiFormatException(status)); -} - -static ACPI_STATUS -acpi_pci_save_handle(ACPI_HANDLE handle, UINT32 level, void *context, - void **status) -{ - struct acpi_pci_devinfo *dinfo; - device_t *devlist; - int devcount, i, func, slot; - UINT32 address; - - ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - - if (ACPI_FAILURE(acpi_GetInteger(handle, "_ADR", &address))) - return_ACPI_STATUS (AE_OK); - slot = ACPI_ADR_PCI_SLOT(address); - func = ACPI_ADR_PCI_FUNC(address); - if (device_get_children((device_t)context, &devlist, &devcount) != 0) - return_ACPI_STATUS (AE_OK); - for (i = 0; i < devcount; i++) { - dinfo = device_get_ivars(devlist[i]); - if (dinfo->ap_dinfo.cfg.func == func && - dinfo->ap_dinfo.cfg.slot == slot) { - dinfo->ap_handle = handle; - acpi_pci_update_device(handle, devlist[i]); - break; - } - } - free(devlist, M_TEMP); - return_ACPI_STATUS (AE_OK); -} static int acpi_pci_probe(device_t dev) @@ -298,8 +236,7 @@ * these devices. */ pci_add_children(dev, busno, sizeof(struct acpi_pci_devinfo)); - AcpiWalkNamespace(ACPI_TYPE_DEVICE, acpi_get_handle(dev), 1, - acpi_pci_save_handle, dev, NULL); + ACPI_SAVE_HANDLE(acpidev(), dev); return (bus_generic_attach(dev)); } Index: acpivar.h =================================================================== RCS file: /disk1/ncvs/src/sys/dev/acpica/acpivar.h,v retrieving revision 1.102 diff -u -r1.102 acpivar.h --- acpivar.h 29 Jul 2006 21:46:15 -0000 1.102 +++ acpivar.h 16 Jan 2007 12:33:22 -0000 @@ -204,6 +204,7 @@ #define ACPI_IVAR_MAGIC 0x101 #define ACPI_IVAR_PRIVATE 0x102 #define ACPI_IVAR_FLAGS 0x103 +#define ACPI_IVAR_ADR 0x104 /* * Accessor functions for our ivars. Default value for BUS_READ_IVAR is @@ -230,6 +231,7 @@ __ACPI_BUS_ACCESSOR(acpi, magic, ACPI, MAGIC, int) __ACPI_BUS_ACCESSOR(acpi, private, ACPI, PRIVATE, void *) __ACPI_BUS_ACCESSOR(acpi, flags, ACPI, FLAGS, int) +__ACPI_BUS_ACCESSOR(acpi, adr, ACPI, ADR, UINT32) void acpi_fake_objhandler(ACPI_HANDLE h, UINT32 fn, void *data); static __inline device_t @@ -336,6 +338,11 @@ void (*set_end_dependent)(device_t dev, void *context); }; + + +#define acpidev() devclass_get_device(devclass_find("acpi"),0) + + extern struct acpi_parse_resource_set acpi_res_parse_set; void acpi_config_intr(device_t dev, ACPI_RESOURCE *res); ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <98858.1168968471.3@ns.init-main.com> Content-Transfer-Encoding: 7bit /*- * Copyright (c) 2006 Takanori Watanabe * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include __FBSDID("$FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.117 2006/05/12 05:04:40 jhb Exp $"); #include "opt_ata.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ATA_ACPI_PROBE_OK -8 #include #include #include "acpi_if.h" static int ata_pci_acpi_probe(device_t); static int ata_pci_acpi_attach(device_t); static int ata_pci_acpi_read_ivar(device_t, device_t, int , uintptr_t *); static int ata_pci_acpi_write_ivar(device_t, device_t, int , uintptr_t ); struct ata_pci_controller_acpi { struct ata_pci_controller core; /*Must be here.*/ ACPI_HANDLE acpi_handle[8]; }; struct ata_pci_channel_acpi { struct ata_channel core; /*Must be here.*/ ACPI_HANDLE acpi_handle[8]; }; int ata_pci_acpi_probe(device_t dev) { if(acpi_get_handle(dev) == NULL){ return ENXIO; } if(ata_pci_probe(dev)<= 0){ return ATA_ACPI_PROBE_OK; } return ENXIO; } int ata_pci_acpi_attach(device_t dev) { int result; result = ata_pci_attach(dev); if(result != 0){ return result; } ACPI_SAVE_HANDLE(acpidev(), dev); return 0; } int ata_pci_acpi_write_ivar(device_t dev, device_t child, int which, uintptr_t value) { struct ata_pci_controller_acpi *sc = device_get_softc(dev); struct ata_channel *ch = device_get_softc(child); switch (which){ case ACPI_IVAR_HANDLE: sc->acpi_handle[ch->unit] = (ACPI_HANDLE) value; return 0; } return ENXIO; } int ata_pci_acpi_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { struct ata_pci_controller_acpi *sc = device_get_softc(dev); struct ata_channel *ch = device_get_softc(child); /*Multiple channel device got wrong result, when it is called before calling parent attach*/ switch (which){ case ACPI_IVAR_HANDLE: *result = (uintptr_t) sc->acpi_handle[ch->unit]; return 0; case ACPI_IVAR_ADR: *result = (uintptr_t) ch->unit; return 0; } /*GENERIC CODE DON'T HAVE THIS METHOD*/ return ENXIO; } static int ata_pci_acpi_location_str(device_t cbdev, device_t child, char *buf, size_t buflen) { struct ata_channel *ch = device_get_softc(child); struct ata_pci_controller_acpi *sc = device_get_softc(cbdev); snprintf(buf, buflen, "channel=%d", ch->unit); /*acpi_name should be exported.*/ if(sc->acpi_handle[ch->unit]){ strlcat(buf, " handle=", buflen); strlcat(buf, acpi_name(sc->acpi_handle[ch->unit]), buflen); } return 0; } static device_method_t ata_pci_methods[] = { /* device interface */ DEVMETHOD(device_probe, ata_pci_acpi_probe), DEVMETHOD(device_attach, ata_pci_acpi_attach), DEVMETHOD(device_detach, ata_pci_detach), DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD(device_suspend, bus_generic_suspend), DEVMETHOD(device_resume, bus_generic_resume), /* bus methods */ DEVMETHOD(bus_alloc_resource, ata_pci_alloc_resource), DEVMETHOD(bus_release_resource, ata_pci_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, ata_pci_setup_intr), DEVMETHOD(bus_teardown_intr, ata_pci_teardown_intr), DEVMETHOD(bus_read_ivar, ata_pci_acpi_read_ivar), DEVMETHOD(bus_write_ivar, ata_pci_acpi_write_ivar), DEVMETHOD(bus_child_location_str, ata_pci_acpi_location_str), { 0, 0 } }; static driver_t ata_pci_acpi_driver = { "atapci", ata_pci_methods, sizeof(struct ata_pci_controller_acpi), }; static devclass_t atapciacpi_devclass; DRIVER_MODULE(atapciacpi, pci, ata_pci_acpi_driver, atapciacpi_devclass, 0, 0); MODULE_VERSION(atapciacpi, 1); MODULE_DEPEND(atapciacpi, atapci, 1, 1, 1); /*Temporally: this should be removed after acpi_name can be accessed without loading acpi module */ MODULE_DEPEND(atapciacpi, acpi, 1, 1, 1); ------- =_aaaaaaaaaa0-- From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 16 18:37:50 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5FA2116A407 for ; Tue, 16 Jan 2007 18:37:50 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from smtp5-g19.free.fr (smtp5-g19.free.fr [212.27.42.35]) by mx1.freebsd.org (Postfix) with ESMTP id 2A13413C448 for ; Tue, 16 Jan 2007 18:37:50 +0000 (UTC) (envelope-from patpro@patpro.net) Received: from [192.168.0.2] (boleskine.patpro.net [82.235.12.223]) by smtp5-g19.free.fr (Postfix) with ESMTP id 01FD327B7B; Tue, 16 Jan 2007 19:37:48 +0100 (CET) In-Reply-To: <909BF787-26D3-4944-9188-D6234B754F8C@patpro.net> References: <87A429B7-46CD-426B-A56F-07D57F2E769E@patpro.net> <20070115165059.GP4945@poupinou.org> <909BF787-26D3-4944-9188-D6234B754F8C@patpro.net> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Patrick Proniewski Date: Tue, 16 Jan 2007 19:37:46 +0100 To: Bruno Ducrot X-Mailer: Apple Mail (2.752.2) Cc: freebsd-acpi@freebsd.org Subject: Re: acpi ok but cpufreq not supporting my CPUs 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: Tue, 16 Jan 2007 18:37:50 -0000 hello, On 15 janv. 2007, at 18:31, Patrick Proniewski wrote: > hmmm I've to take a look at the BIOS. I know it's the latest > available from TYAN, but I'm not sure about my settings. I've made some experiment with my BIOS settings, and I'm happy to repport that EST seems ok with my CPUs : cpu0: on acpi0 est0: on cpu0 p4tcc0: on cpu0 (repeat for CPU 1-2-3) I've had 3 settings to play with. One of them was for enabling processor power management. The second one was about "C1" versus "C1 enhanced", and when switched to "enhanced" my power supply started to emit a very strange high pitch as soon as FreeBSD finished booting, and stopped as soon as FreeBSD was unloaded. The last one was about disabling or enabling "GV1/GV3 only". This one was the good one for me. My current dev.cpu.0.freq is 125 MHz, I'm monitoring CPU temp. too, but it will need some time to see if CPUs are running cooler. thank you all for your help, Pat From owner-freebsd-acpi@FreeBSD.ORG Wed Jan 17 07:50:03 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1238116A412; Wed, 17 Jan 2007 07:50:03 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id D3A0B13C442; Wed, 17 Jan 2007 07:50:02 +0000 (UTC) (envelope-from remko@FreeBSD.org) Received: from freefall.freebsd.org (remko@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l0H7o2P5074022; Wed, 17 Jan 2007 07:50:02 GMT (envelope-from remko@freefall.freebsd.org) Received: (from remko@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l0H7o2uW074018; Wed, 17 Jan 2007 07:50:02 GMT (envelope-from remko) Date: Wed, 17 Jan 2007 07:50:02 GMT From: Remko Lodder Message-Id: <200701170750.l0H7o2uW074018@freefall.freebsd.org> To: remko@FreeBSD.org, freebsd-i386@FreeBSD.org, freebsd-acpi@FreeBSD.org Cc: Subject: Re: kern/108017: [acpi]: Acer Aspire 5600 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: Wed, 17 Jan 2007 07:50:03 -0000 Old Synopsis: acpi New Synopsis: [acpi]: Acer Aspire 5600 Responsible-Changed-From-To: freebsd-i386->freebsd-acpi Responsible-Changed-By: remko Responsible-Changed-When: Wed Jan 17 07:49:00 UTC 2007 Responsible-Changed-Why: Assign to the acpi team, i changed some of the details, but I am not sure what this is involved with. http://www.freebsd.org/cgi/query-pr.cgi?pr=108017 From owner-freebsd-acpi@FreeBSD.ORG Wed Jan 17 16:10:29 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EA97F16A4F4 for ; Wed, 17 Jan 2007 16:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 8109513C471 for ; Wed, 17 Jan 2007 16:10:29 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l0HGAT6X012612 for ; Wed, 17 Jan 2007 16:10:29 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l0HGAT70012610; Wed, 17 Jan 2007 16:10:29 GMT (envelope-from gnats) Date: Wed, 17 Jan 2007 16:10:29 GMT Message-Id: <200701171610.l0HGAT70012610@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: John Baldwin Cc: Subject: Re: kern/108017: [acpi]: Acer Aspire 5600 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: John Baldwin List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jan 2007 16:10:30 -0000 The following reply was made to PR kern/108017; it has been noted by GNATS. From: John Baldwin To: bug-followup@freebsd.org, device-x@mail.ru Cc: Subject: Re: kern/108017: [acpi]: Acer Aspire 5600 Date: Wed, 17 Jan 2007 10:46:38 -0500 It just means the battery status isn't working. There's probably some bug in your BIOS. -- John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Wed Jan 17 21:00:45 2007 Return-Path: X-Original-To: freebsd-acpi@hub.freebsd.org Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6766216A4C2 for ; Wed, 17 Jan 2007 21:00:45 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 579AB13C4CE for ; Wed, 17 Jan 2007 21:00:45 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l0HL0iox039158 for ; Wed, 17 Jan 2007 21:00:44 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l0HL0irD039157; Wed, 17 Jan 2007 21:00:44 GMT (envelope-from gnats) Date: Wed, 17 Jan 2007 21:00:44 GMT Message-Id: <200701172100.l0HL0irD039157@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: Bruno Ducrot Cc: Subject: Re: kern/108017: [acpi]: Acer Aspire 5600 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Bruno Ducrot List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jan 2007 21:00:45 -0000 The following reply was made to PR kern/108017; it has been noted by GNATS. From: Bruno Ducrot To: bug-followup@freebsd.org, device-x@mail.ru Cc: Subject: Re: kern/108017: [acpi]: Acer Aspire 5600 Date: Wed, 17 Jan 2007 21:40:33 +0100 Should be fixed with next import from ACPI-CA. Currently one way to correct this in the meantime is to: acpidump -d -t > acer_aspire_5600.asl recompile via iasl: edit acer_aspire_5600.asl, and search the string Z004. You should have something like that: Name (PBST, Package (0x04) { 0x00, Z004, Z004, 0x2710 }) Replace the Z004 by Ones so such you will have that instead: Name (PBST, Package (0x04) { 0x00, Ones, Ones, 0x2710 }) Note that there are two such Name (PBST, Package (0x04). Don't forget to modify the two. Follow instruction on http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html especially 11.16.5.3 Overriding the Default AML for the rest of the procedure. -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 18 11:05:24 2007 Return-Path: X-Original-To: acpi@freebsd.org Delivered-To: freebsd-acpi@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1AA0016A492 for ; Thu, 18 Jan 2007 11:05:24 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 9F1FE13C467 for ; Thu, 18 Jan 2007 11:05:14 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (localhost [127.0.0.1]) by spam.des.no (Postfix) with ESMTP id 08E622083 for ; Thu, 18 Jan 2007 11:42:21 +0100 (CET) Received: from dwp.des.no (des.no [80.203.243.180]) by tim.des.no (Postfix) with ESMTP id BA9E62082 for ; Thu, 18 Jan 2007 11:42:14 +0100 (CET) Received: by dwp.des.no (Postfix, from userid 1001) id B74A4B86E; Thu, 18 Jan 2007 11:43:30 +0100 (CET) From: des@des.no (Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?=) To: acpi@freebsd.org Date: Thu, 18 Jan 2007 11:43:30 +0100 Message-ID: <86irf44nu5.fsf@dwp.des.no> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Mailman-Approved-At: Thu, 18 Jan 2007 11:07:00 +0000 Cc: Subject: Asus P5B-V 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: Thu, 18 Jan 2007 11:05:24 -0000 --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable I have some ACPI issues with an Asus P5B-V (Intel G965-based) motherboard running amd64 -CURRENT: - no thermal information: root@dma ~# sysctl hw.acpi hw.acpi.supported_sleep_state: S1 S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S1 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.cpu.cx_lowest: C1 - all on-board devices seem to share the same interrupt: root@dma ~# vmstat -i interrupt total rate irq1: atkbd0 8 0 irq19: skc0 uhci3* 5161490 52 irq21: ral0 1209462 12 cpu0: timer 194998438 1999 cpu1: timer 194998251 1999 Total 396367649 4064 (ral0 is the only PCI card in the system, everything else is integrated on the motherboard) - on the bright side, SpeedStep works fine: root@dma ~# sysctl dev.cpu dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=3D\_PR_.CPU1 dev.cpu.0.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.0.%parent: acpi0 dev.cpu.0.freq: 598 dev.cpu.0.freq_levels: 2394/22464 2094/19656 1795/16848 1596/376 1396/329 1= 197/282 997/235 798/188 598/141 399/94 199/47 dev.cpu.0.cx_supported: C1/0 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% dev.cpu.1.%desc: ACPI CPU dev.cpu.1.%driver: cpu dev.cpu.1.%location: handle=3D\_PR_.CPU2 dev.cpu.1.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.1.%parent: acpi0 dev.cpu.1.cx_supported: C1/0 dev.cpu.1.cx_lowest: C1 dev.cpu.1.cx_usage: 100.00% (no frequency control on CPU1 since they're both on the same die) Attached are the output from acpidump -d and -t with and without ACPI 2.0 support (selectable in BIOS setup) DES --=20 Dag-Erling Sm=F8rgrav - des@des.no --=-=-= Content-Disposition: attachment; filename=p5bv-acpi1.asl /* * Intel ACPI Component Architecture * AML Disassembler version 20051021 * * Disassembly of /tmp/acpidump.e8Rf7q, Wed Jan 17 13:11:06 2007 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0579", "A0579000", 0x00000000) { Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3EE99C90, 0x02E3) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } Store (One, STS7) Store (One, DEV7) If (LEqual (TBLD, Zero)) { Load (STBL, HNDL) Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU2, 0x02, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3EE99F80, 0x02DA) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, Zero)) { Load (STBL, HNDL) Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU3, 0x03, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, Zero)) { If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08)))) { Load (STBL, HNDL) Store (One, TBLD) } } } } } Scope (_PR) { Processor (CPU4, 0x04, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } If (LEqual (TBLD, Zero)) { If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08)))) { Store (One, STS6) Store (One, DEV6) Load (STBL, HNDL) Store (One, TBLD) } } } } } Name (DP80, 0x80) Name (DP90, 0x90) Name (SPIO, 0x2E) Name (IOHW, 0x0290) Name (APIC, One) Name (SMIP, 0xB2) Name (PMBS, 0x0800) Name (PMLN, 0x80) Name (GPBS, 0x0480) Name (GPLN, 0x40) Name (SMBL, Zero) Name (PM30, 0x0830) Name (SUSW, 0xFF) Name (HTBA, 0xFED1F404) Name (EAQF, One) Name (CFTE, Zero) Name (TOBS, 0x0860) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Name (LIDS, One) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (SMBS, 0x0400) Name (CPUC, 0x04) OperationRegion (BIOS, SystemMemory, 0x3EE9E064, 0xFF) Field (BIOS, ByteAcc, NoLock, Preserve) { SS1, 1, SS2, 1, SS3, 1, SS4, 1, Offset (0x01), IOST, 16, TOPM, 32, ROMS, 32, MG1B, 32, MG1L, 32, MG2B, 32, MG2L, 32, Offset (0x1C), CPB0, 32, CPB1, 32, CPB2, 32, CPB3, 32, ASSB, 8, AOTB, 8, AAXB, 32, MSC1, 32, MSC2, 32, MSC3, 32, MSC4, 32, MSC5, 32, MSC6, 32, MSC7, 32, MSC8, 32, DMAX, 8, HPTA, 32 } Method (RRIO, 4, NotSerialized) { Store ("RRIO", Debug) } Method (RDMA, 3, NotSerialized) { Store ("rDMA", Debug) } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) { If (Arg0) { Store (0xAA, DBG8) } Else { Store (0xAC, DBG8) } Store (Arg0, PICM) } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If (LNot (LEqual (OSVR, Ones))) { Return (OSVR) } If (LEqual (PICM, Zero)) { Store (0xAC, DBG8) } Store (One, OSVR) If (CondRefOf (_OSI, Local1)) { If (_OSI ("Windows 2001")) { Store (Zero, OSVR) } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { Store (0x04, OSVR) } Else { If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSVR) } If (MCTH (_OS, "Linux")) { Store (0x03, OSVR) } } } Return (OSVR) } Method (MCTH, 2, NotSerialized) { If (LLess (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), One, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0))))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (ShiftLeft (SS1, One), Local0) Or (Local0, ShiftLeft (SS2, 0x02), Local0) Or (Local0, ShiftLeft (SS3, 0x03), Local0) Or (Local0, ShiftLeft (SS4, 0x04), Local0) If (And (ShiftLeft (One, Arg1), Local0)) { Store (Arg1, Index (PRWP, One)) } Else { ShiftRight (Local0, One, Local0) If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { FindSetLeftBit (Local0, Index (PRWP, One)) } Else { FindSetRightBit (Local0, Index (PRWP, One)) } } Return (PRWP) } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEBX, SystemIO, 0x80, 0x02) Field (DEBX, WordAcc, NoLock, Preserve) { DBGX, 16 } OperationRegion (DEB0, SystemIO, DP80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Scope (_SB) { Name (PR00, Package (0x18) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKB, Zero }, Package (0x04) { 0x0002FFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero } }) Name (AR00, Package (0x18) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR01, Package (0x0E) { Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKH, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKF, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0002FFFF, One, LNKE, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKG, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKD, Zero } }) Name (AR01, Package (0x0E) { Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x13 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Name (_CID, 0x030AD041) Device (MCH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x0A) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00006000, // Address Length ) }) } Method (NPTS, 1, NotSerialized) { } Method (NWAK, 1, NotSerialized) { } Device (P0P2) { Name (_ADR, 0x00010000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02) } Return (PR02) } } Device (P0P1) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0B, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR01) } Return (PR01) } } Device (SBRG) { Name (_ADR, 0x001F0000) Device (IELK) { Name (_HID, "AWY0001") OperationRegion (RXA0, PCI_Config, 0xA0, 0x20) Field (RXA0, ByteAcc, NoLock, Preserve) { , 9, PBLV, 1, Offset (0x10), , 1, PBMS, 1, , 1, PMCS, 1, ECNS, 1, Offset (0x11), ECT1, 16, ELEN, 1, Offset (0x14) } Method (\_GPE._L0A, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.IELK, 0x81) Store (One, \_SB.PCI0.SBRG.IELK.PMCS) } Method (_STA, 0, NotSerialized) { If (ELEN) { Return (0x0F) } Else { Return (Zero) } } Method (SMOD, 1, NotSerialized) { } Method (GPBS, 0, NotSerialized) { Return (XOr (PBLV, One)) } } Method (SPTS, 1, NotSerialized) { Store (One, PS1S) Store (One, PS1E) Store (One, SLPS) } Method (SWAK, 1, NotSerialized) { Store (Zero, SLPS) Store (Zero, PS1E) If (LAnd (LEqual (Arg0, One), RTCS)) { Notify (PWRB, 0x02) } Else { If (LAnd (LEqual (Arg0, 0x03), BRTC)) {} Else { Notify (PWRB, 0x02) } } } OperationRegion (APMP, SystemIO, SMIP, 0x02) Field (APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field (APMP, ByteAcc, NoLock, Preserve) { Offset (0x01), , 1, BRTC, 1 } OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 4, WAKS, 1, Offset (0x03), PWBT, 1, Offset (0x04) } OperationRegion (SMIE, SystemIO, PM30, 0x08) Field (SMIE, ByteAcc, NoLock, Preserve) { , 4, PS1E, 1, , 31, PS1S, 1, Offset (0x08) } Scope (\_SB) { Name (SLPS, Zero) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Address Range Minimum 0x0020, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00A0, // Address Range Minimum 0x00A0, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8) {4} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0081, // Address Range Minimum 0x0081, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0087, // Address Range Minimum 0x0087, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0089, // Address Range Minimum 0x0089, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x008F, // Address Range Minimum 0x008F, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x00C0, // Address Range Minimum 0x00C0, // Address Range Maximum 0x00, // Address Alignment 0x20, // Address Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Address Range Minimum 0x0040, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Address Range Minimum 0x0070, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Address Range Minimum 0x0061, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Address Range Minimum 0x00F0, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IRQNoFlags () {13} }) } Device (UAR1) { Name (_UID, One) Name (_HID, EisaId ("PNP0501")) Method (_STA, 0, NotSerialized) { Return (DSTA (Zero)) } Method (_DIS, 0, NotSerialized) { DCNT (Zero, Zero) } Method (_CRS, 0, NotSerialized) { Return (DCRS (Zero, Zero)) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, Zero) } Method (_PRS, 0, NotSerialized) { Return (CMPR) } Name (CMPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } EndDependentFn () }) } Method (UAR1._PRW, 0, NotSerialized) { Return (GPRW (0x08, 0x04)) } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Method (_FDE, 0, NotSerialized) { Name (FDEP, Package (0x05) { Zero, Zero, 0x02, 0x02, 0x02 }) If (_STA ()) { Store (One, Index (FDEP, Zero)) } Return (FDEP) } Method (_STA, 0, NotSerialized) { Return (DSTA (0x03)) } Method (_DIS, 0, NotSerialized) { DCNT (0x03, Zero) } Method (_CRS, 0, NotSerialized) { DCRS (0x03, One) Store (IRQM, IRQE) Store (DMAM, DMAE) Store (IO11, IO21) Store (IO12, IO22) Store (0x06, LEN2) Add (IO21, 0x07, IO31) Store (IO31, IO32) Store (One, LEN3) Return (CRS2) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, 0x03) CreateWordField (Arg0, One, IRQE) CreateByteField (Arg0, 0x04, DMAE) ENFG (CGLD (0x03)) If (IRQE) { FindSetRightBit (IRQE, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAE) { FindSetRightBit (DMAE, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x04, DMCH) } EXFG () } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFnNoPri () { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x0370, // Address Range Minimum 0x0370, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x0377, // Address Range Minimum 0x0377, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3} } EndDependentFn () }) } Device (SIOR) { Name (_HID, EisaId ("PNP0C02")) Method (_UID, 0, NotSerialized) { Return (SPIO) } Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0290, // Address Range Minimum 0x0290, // Address Range Maximum 0x00, // Address Alignment 0x08, // Address Length ) }) Method (_CRS, 0, NotSerialized) { If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0))) { CreateWordField (CRS, 0x02, GP10) CreateWordField (CRS, 0x04, GP11) CreateByteField (CRS, 0x07, GPL1) Store (SPIO, GP10) Store (SPIO, GP11) Store (0x02, GPL1) } Return (CRS) } } Name (DCAT, Package (0x15) { 0x02, 0x03, One, Zero, 0xFF, 0x07, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x08, 0x09, 0xFF, 0xFF }) Mutex (IOCF, 0x00) Method (ENFG, 1, NotSerialized) { Acquire (IOCF, 0xFFFF) Store (0x87, INDX) Store (0x87, INDX) Store (Arg0, LDN) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) Release (IOCF) } Method (LPTM, 1, NotSerialized) { ENFG (CGLD (Arg0)) And (OPT0, 0x02, Local0) EXFG () Return (Local0) } Method (UHID, 1, NotSerialized) { If (LEqual (Arg0, One)) { ENFG (CGLD (Arg0)) And (OPT1, 0x38, Local0) EXFG () If (Local0) { Return (0x1005D041) } } Return (0x0105D041) } Method (SIOK, 1, NotSerialized) { ENFG (0x0A) If (LGreater (Arg0, One)) { Or (CRE4, 0x10, CRE4) } Store (CRE3, Local0) EXFG () } Method (SIOS, 1, NotSerialized) { Store ("SIOS", Debug) SIOK (Arg0) } Method (SIOW, 1, NotSerialized) { Store ("SIOW", Debug) SIOK (Zero) } Method (SIOH, 0, NotSerialized) { Store ("SIOH", Debug) ENFG (0x0A) If (And (OPT3, 0x10)) { Notify (PS2K, 0x02) } If (And (OPT3, 0x20)) { Notify (PS2M, 0x02) } EXFG () SIOK (Zero) } OperationRegion (IOID, SystemIO, SPIO, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x22), FDCP, 1, , 2, LPTP, 1, URAP, 1, URBP, 1, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 4, Offset (0x74), DMCH, 3, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, CRE5, 8, CRE6, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, Offset (0xF5), OPT5, 8, OPT6, 8, Offset (0xF9), OPT9, 8 } Method (CGLD, 1, NotSerialized) { Return (DerefOf (Index (DCAT, Arg0))) } Method (DSTA, 1, NotSerialized) { ENFG (CGLD (Arg0)) Store (ACTR, Local0) EXFG () If (LEqual (Local0, 0xFF)) { Return (Zero) } If (LEqual (Arg0, 0x05)) { ShiftRight (Local0, 0x02, Local0) } If (LEqual (Arg0, 0x08)) { ShiftRight (Local0, One, Local0) } And (Local0, One, Local0) Or (IOST, ShiftLeft (Local0, Arg0), IOST) If (Local0) { Return (0x0F) } Else { If (And (ShiftLeft (One, Arg0), IOST)) { Return (0x0D) } Else { Return (Zero) } } } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) If (LEqual (Arg0, 0x05)) { ShiftLeft (IOH2, 0x08, Local1) Or (IOL2, Local1, Local1) } Else { ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) } RRIO (Arg0, Arg1, Local1, 0x08) If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), Zero)))) { RDMA (Arg0, Arg1, Increment (Local1)) } Store (Arg1, Local1) Store (One, Local2) If (LEqual (Arg0, 0x05)) { ShiftLeft (Arg1, 0x02, Local1) ShiftLeft (Local2, 0x02, Local2) } If (LEqual (Arg0, 0x08)) { ShiftLeft (Arg1, One, Local1) ShiftLeft (Local2, One, Local2) } Store (ACTR, Local0) Not (Local2, Local3) And (Local0, Local3, Local0) Or (Local0, Local1, Local0) Store (Local0, ACTR) EXFG () } Name (CRS1, ResourceTemplate () { IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) }) CreateWordField (CRS1, One, IRQM) CreateByteField (CRS1, 0x04, DMAM) CreateWordField (CRS1, 0x08, IO11) CreateWordField (CRS1, 0x0A, IO12) CreateByteField (CRS1, 0x0D, LEN1) Name (CRS2, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) }) CreateWordField (CRS2, One, IRQE) CreateByteField (CRS2, 0x04, DMAE) CreateWordField (CRS2, 0x08, IO21) CreateWordField (CRS2, 0x0A, IO22) CreateByteField (CRS2, 0x0D, LEN2) CreateWordField (CRS2, 0x10, IO31) CreateWordField (CRS2, 0x12, IO32) CreateByteField (CRS2, 0x15, LEN3) Method (DCRS, 2, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, IO11) Or (IOAL, IO11, IO11) Store (IO11, IO12) Subtract (FindSetRightBit (IO11), One, Local0) ShiftLeft (One, Local0, LEN1) If (INTR) { ShiftLeft (One, INTR, IRQM) } Else { Store (Zero, IRQM) } If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero))) { Store (Zero, DMAM) } Else { And (DMCH, 0x03, Local1) ShiftLeft (One, Local1, DMAM) } EXFG () Return (CRS1) } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, One, IRQM) CreateByteField (Arg0, 0x04, DMAM) CreateWordField (Arg0, 0x08, IO11) ENFG (CGLD (Arg1)) And (IO11, 0xFF, IOAL) ShiftRight (IO11, 0x08, IOAH) If (IRQM) { FindSetRightBit (IRQM, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAM) { FindSetRightBit (DMAM, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x07, DMCH) } EXFG () DCNT (Arg1, One) } Device (RMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x10) Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Address Range Minimum 0x0010, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0022, // Address Range Minimum 0x0022, // Address Range Maximum 0x00, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x0044, // Address Range Minimum 0x0044, // Address Range Maximum 0x00, // Address Alignment 0x1C, // Address Length ) IO (Decode16, 0x0062, // Address Range Minimum 0x0062, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0065, // Address Range Minimum 0x0065, // Address Range Maximum 0x00, // Address Alignment 0x0B, // Address Length ) IO (Decode16, 0x0072, // Address Range Minimum 0x0072, // Address Range Maximum 0x00, // Address Alignment 0x0E, // Address Length ) IO (Decode16, 0x0080, // Address Range Minimum 0x0080, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0084, // Address Range Minimum 0x0084, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0088, // Address Range Minimum 0x0088, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x008C, // Address Range Minimum 0x008C, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0090, // Address Range Minimum 0x0090, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x00A2, // Address Range Minimum 0x00A2, // Address Range Maximum 0x00, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x00E0, // Address Range Minimum 0x00E0, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x04D0, // Address Range Minimum 0x04D0, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) Memory32Fixed (ReadWrite, 0xFF9FA000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFF00000, // Address Base 0x000FFFFF, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRS, 0x72, GP00) CreateWordField (CRS, 0x74, GP01) CreateByteField (CRS, 0x77, GP0L) Store (PMBS, GP00) Store (PMBS, GP01) Store (PMLN, GP0L) If (SMBS) { CreateWordField (CRS, 0x7A, GP10) CreateWordField (CRS, 0x7C, GP11) CreateByteField (CRS, 0x7F, GP1L) Store (SMBS, GP10) Store (SMBS, GP11) Store (SMBL, GP1L) } If (GPBS) { CreateWordField (CRS, 0x82, GP20) CreateWordField (CRS, 0x84, GP21) CreateByteField (CRS, 0x87, GP2L) Store (GPBS, GP20) Store (GPBS, GP21) Store (GPLN, GP2L) } Return (CRS) } } Scope (\_SB.PCI0.SBRG) { Device (ASOC) { Name (_HID, "ATK0110") Name (_UID, 0x01010110) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_INI, 0, NotSerialized) { Name (_T_0, Zero) Store (GNVS (0x3774), _T_0) If (LEqual (_T_0, Zero)) { Store (0xA6, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, One)) { Store (0x21, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x02)) { Store (0x42, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x03)) { Store (0x64, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x04)) { Store (0xE9, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x05)) { Store (Zero, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x06)) { Store (0x012C, Index (G3T0, 0x03)) } } } } } } } Store (Subtract (GNVS (0x66B9), 0x06), Index (G3T2, 0x03)) } Name (MBIF, Package (0x08) { 0x03, "P5B-V", 0x01010101, 0x01010101, 0xE0000001, Zero, Zero, Zero }) Name (ASBF, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (ASBF, Zero, ASB0) CreateDWordField (ASBF, 0x04, ASB1) Method (GGRP, 1, Serialized) { Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { Return (GRP0) } Else { If (LEqual (_T_0, 0x03)) { Return (GRP3) } Else { If (LEqual (_T_0, 0x04)) { Store (GNVS (0x1787), Local0) If (LEqual (Local0, One)) { Return (GR41) } Else { Return (GR42) } } Else { If (LEqual (_T_0, 0x05)) { Return (GRP5) } Else { If (LEqual (_T_0, 0x06)) { Return (GRP6) } Else { If (LEqual (_T_0, 0x08)) { Return (GRP8) } Else { If (LEqual (_T_0, 0x09)) { Return (GRP9) } Else { If (LEqual (_T_0, 0x0A)) { Return (GRPA) } Else { If (LEqual (_T_0, 0x0B)) { Return (GRPB) } Else { Return (Zero) } } } } } } } } } } Method (GITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { GIT0 (PRM0) } Else { If (LEqual (_T_0, 0x03)) { GIT3 (PRM0) } Else { If (LEqual (_T_0, 0x04)) { GIT4 (PRM0) } Else { If (LEqual (_T_0, 0x05)) { GIT5 (PRM0) } Else { If (LEqual (_T_0, 0x06)) { GIT6 (PRM0) } Else { If (LEqual (_T_0, 0x08)) { GIT8 (PRM0) } Else { If (LEqual (_T_0, 0x09)) { GIT9 (PRM0) } Else { If (LEqual (_T_0, 0x0A)) { GITA (PRM0) } Else { If (LEqual (_T_0, 0x0B)) { GITB (PRM0) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (SITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateDWordField (Arg0, 0x04, PRM1) CreateDWordField (Arg0, 0x08, PRM2) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { SIT0 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x03)) { SIT3 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x04)) { SIT4 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x05)) { SIT5 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x06)) { SIT6 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x08)) { SIT8 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x09)) { SIT9 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0A)) { SITA (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0B)) { SITB (PRM0, PRM1, PRM2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (OP2V, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Multiply (Arg0, Local1, Local1) Add (Local0, Local1, Local0) Return (Local0) } Method (V2OP, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Subtract (Arg0, Local0, Local0) Divide (Local0, Local1, Local1, Local0) Return (Local0) } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) OperationRegion (HPTC, SystemMemory, HTBA, 0x04) Field (HPTC, ByteAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) { If (LEqual (OSFL (), Zero)) { If (HPTE) { Return (0x0F) } } Else { If (HPTE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x04, HPT) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HPT) Return (CRS) } } OperationRegion (RX80, PCI_Config, Zero, 0xFF) Field (RX80, ByteAcc, NoLock, Preserve) { Offset (0x80), LPCD, 16, LPCE, 16 } Name (DBPT, Package (0x04) { Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x03) { 0x0378, 0x0278, 0x03BC }, Package (0x02) { 0x03F0, 0x0370 } }) Name (DDLT, Package (0x04) { Package (0x02) { Zero, 0xFFF8 }, Package (0x02) { 0x04, 0xFF8F }, Package (0x02) { 0x08, 0xFCFF }, Package (0x02) { 0x0C, 0xEFFF } }) Method (RRIO, 4, NotSerialized) { If (LAnd (LNot (LGreater (Arg0, 0x03)), LNot (LLess (Arg0, Zero)))) { Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, Zero, Zero), Local0) If (LNot (LEqual (Local0, Ones))) { Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), Local1) Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), Local2) ShiftLeft (Local0, Local1, Local0) And (LPCD, Local2, LPCD) Or (LPCD, Local0, LPCD) WX82 (Arg0, Arg1) } } If (LEqual (Arg0, 0x08)) { If (LEqual (Arg2, 0x0200)) { WX82 (0x08, Arg0) } Else { If (LEqual (Arg2, 0x0208)) { WX82 (0x09, Arg0) } } } If (LAnd (LNot (LGreater (Arg0, 0x0D)), LNot (LLess (Arg0, 0x0A)))) { WX82 (Arg0, Arg1) } } Method (WX82, 2, NotSerialized) { ShiftLeft (One, Arg0, Local0) If (Arg1) { Or (LPCE, Local0, LPCE) } Else { Not (Local0, Local0) And (LPCE, Local0, LPCE) } } Method (RDMA, 3, NotSerialized) { } Scope (\) { OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000) Field (RAMW, ByteAcc, NoLock, Preserve) { PAR0, 32, PAR1, 32 } OperationRegion (IOB2, SystemIO, 0xB2, 0x02) Field (IOB2, ByteAcc, NoLock, Preserve) { SMIC, 8, SMIS, 8 } Method (ISMI, 1, Serialized) { Store (Arg0, SMIC) } Method (GNVS, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x70) Return (PAR1) } Method (SNVS, 2, Serialized) { Store (Arg0, PAR0) Store (Arg1, PAR1) ISMI (0x71) } } Scope (ASOC) { Name (ALAE, Package (0x04) { 0x0A070001, "Music Alarm", Zero, Zero }) Name (ALSU, Package (0x04) { 0x0A070002, "Sunday", Zero, One }) Name (ALMO, Package (0x04) { 0x0A070003, "Monday", Zero, One }) Name (ALTU, Package (0x04) { 0x0A070004, "Tuesday", Zero, One }) Name (ALWE, Package (0x04) { 0x0A070005, "Wednesday", Zero, One }) Name (ALTH, Package (0x04) { 0x0A070006, "Thursday", Zero, One }) Name (ALFR, Package (0x04) { 0x0A070007, "Friday", Zero, One }) Name (ALSA, Package (0x04) { 0x0A070008, "Saturday", Zero, One }) Name (ALAH, Package (0x07) { 0x0A060009, "Alarm Hour", Zero, 0x0C, Zero, One, 0x18 }) Name (ALAM, Package (0x07) { 0x0A06000A, "Alarm Mins", Zero, Zero, Zero, One, 0x3C }) Name (ALAC, Package (0x0A) { 0x0A08000B, "Music Alarm Drive", Zero, 0x03, 0x05, "Primary IDE Master", "Primary IDE Slave", "Secondary IDE Master", "Secondary IDE Slave", "JMicron JMB363 IDE" }) Name (ALAT, Package (0x07) { 0x0A06000C, "Starting Track", Zero, 0x10, Zero, One, 0x20 }) Name (ALAR, Package (0x08) { 0x0A08000D, "Repeat", Zero, Zero, 0x03, "none", "Single", "All" }) Name (ALAL, Package (0x09) { 0x0A08000E, "Length", Zero, Zero, 0x04, "10 mins", "20 mins", "30 mins", "1 hour" }) Name (ALAV, Package (0x07) { 0x0A06000F, "Volume", Zero, 0x0F, Zero, One, 0x20 }) Name (GRPA, Package (0x0F) { ALAE, ALSU, ALMO, ALTU, ALWE, ALTH, ALFR, ALSA, ALAH, ALAM, ALAC, ALAT, ALAR, ALAL, ALAV }) Method (GITA, 1, NotSerialized) { Store (And (Arg0, 0xFF), Local0) Name (_T_0, Zero) Store (Local0, _T_0) If (LEqual (_T_0, One)) { Store (GNVS (0x16EE), ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (GNVS (0x16EF), ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (GNVS (0x16F0), ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (GNVS (0x16F1), ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (GNVS (0x16F2), ASB1) } Else { If (LEqual (_T_0, 0x06)) { Store (GNVS (0x16F3), ASB1) } Else { If (LEqual (_T_0, 0x07)) { Store (GNVS (0x16F4), ASB1) } Else { If (LEqual (_T_0, 0x08)) { Store (GNVS (0x16F5), ASB1) } Else { If (LEqual (_T_0, 0x09)) { Store (GNVS (0x5368), ASB1) } Else { If (LEqual (_T_0, 0x0A)) { Store (GNVS (0x6338), ASB1) } Else { If (LEqual (_T_0, 0x0B)) { Store (GNVS (0x3445), ASB1) } Else { If (LEqual (_T_0, 0x0C)) { Store (GNVS (0x5360), ASB1) } Else { If (LEqual (_T_0, 0x0D)) { Store (GNVS (0x256A), ASB1) } Else { If (LEqual (_T_0, 0x0E)) { Store (GNVS (0x256C), ASB1) } Else { If (LEqual (_T_0, 0x0F)) { Store (GNVS (0x5378), ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } Method (SITA, 3, NotSerialized) { Store (And (Arg0, 0xFF), Local0) Name (_T_0, Zero) Store (Local0, _T_0) If (LEqual (_T_0, One)) { SNVS (0x16EE, Arg1) } Else { If (LEqual (_T_0, 0x02)) { SNVS (0x16EF, Arg1) } Else { If (LEqual (_T_0, 0x03)) { SNVS (0x16F0, Arg1) } Else { If (LEqual (_T_0, 0x04)) { SNVS (0x16F1, Arg1) } Else { If (LEqual (_T_0, 0x05)) { SNVS (0x16F2, Arg1) } Else { If (LEqual (_T_0, 0x06)) { SNVS (0x16F3, Arg1) } Else { If (LEqual (_T_0, 0x07)) { SNVS (0x16F4, Arg1) } Else { If (LEqual (_T_0, 0x08)) { SNVS (0x16F5, Arg1) } Else { If (LEqual (_T_0, 0x09)) { SNVS (0x5368, Arg1) } Else { If (LEqual (_T_0, 0x0A)) { SNVS (0x6338, Arg1) } Else { If (LEqual (_T_0, 0x0B)) { SNVS (0x3445, Arg1) } Else { If (LEqual (_T_0, 0x0C)) { SNVS (0x5360, Arg1) } Else { If (LEqual (_T_0, 0x0D)) { SNVS (0x256A, Arg1) } Else { If (LEqual (_T_0, 0x0E)) { SNVS (0x256C, Arg1) } Else { If (LEqual (_T_0, 0x0F)) { SNVS (0x5378, Arg1) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } } Device (^PCIE) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x11) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xE0000000, // Address Base 0x10000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x04, BAS1) CreateDWordField (CRS, 0x08, LEN1) Store (PCIB, BAS1) Store (PCIL, LEN1) Return (CRS) } } Scope (\_GPE) { Method (_L1C, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.ASOC, One) Sleep (0x03E8) } } Scope (ASOC) { Name (VESL, Zero) Method (SPLV, 1, Serialized) { And (Arg0, 0xFFFF, VESL) Store (VESL, PAR0) ISMI (0x88) Store (And (PAR0, 0xFFFF), Local0) Return (Local0) } Method (GPLV, 0, Serialized) { Return (VESL) } } Device (OMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, Zero) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { If (APIC) { CreateDWordField (CRS, 0x08, ML01) CreateDWordField (CRS, 0x04, MB01) CreateDWordField (CRS, 0x14, ML02) CreateDWordField (CRS, 0x10, MB02) Store (0xFEC00000, MB01) Store (0x1000, ML01) Store (0xFEE00000, MB02) Store (0x1000, ML02) } Return (CRS) } } Device (^^RMEM) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, One) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x10, BAS1) CreateDWordField (CRS, 0x14, LEN1) CreateDWordField (CRS, 0x1C, BAS2) CreateDWordField (CRS, 0x20, LEN2) CreateDWordField (CRS, 0x2C, LEN3) CreateDWordField (CRS, 0x34, BAS4) CreateDWordField (CRS, 0x38, LEN4) If (OSFL ()) {} Else { If (MG1B) { If (LGreater (MG1B, 0x000C0000)) { Store (0x000C0000, BAS1) Subtract (MG1B, BAS1, LEN1) } } Else { Store (0x000C0000, BAS1) Store (0x00020000, LEN1) } If (Add (MG1B, MG1L, Local0)) { Store (Local0, BAS2) Subtract (0x00100000, BAS2, LEN2) } } Subtract (MG2B, 0x00100000, LEN3) Add (MG2B, MG2L, BAS4) Subtract (Zero, BAS4, LEN4) Return (CRS) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {1} }) } Method (PS2K._PRW, 0, NotSerialized) { Return (GPRW (0x1F, 0x04)) } Device (PS2M) { Name (_HID, EisaId ("PNP0F03")) Name (_CID, 0x130FD041) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0C, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (CRS1, ResourceTemplate () { IRQNoFlags () {12} }) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (CRS1) } Else { Return (CRS2) } } } Method (PS2M._PRW, 0, NotSerialized) { Return (GPRW (0x1D, 0x04)) } } Device (SATA) { Name (_ADR, 0x001F0002) Name (^NATA, Package (0x01) { 0x001F0002 }) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { FZHD () ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { FZHD () ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } } Device (SAT1) { Name (_ADR, 0x001F0005) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } } Device (EUSB) { Name (_ADR, 0x001D0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (USBE) { Name (_ADR, 0x001A0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (P0P5) { Name (_ADR, 0x001C0001) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } Device (P0P6) { Name (_ADR, 0x001C0002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06) } Return (PR06) } } Device (P0P7) { Name (_ADR, 0x001C0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07) } Return (PR07) } } Device (P0P8) { Name (_ADR, 0x001C0004) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR08) } Return (PR08) } Device (JMF0) { Name (_ADR, Zero) Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { , 3, CAB0, 1, , 18, SWAP, 1, CHN0, 1, Offset (0x04) } OperationRegion (CF80, PCI_Config, 0x80, 0x04) Field (CF80, ByteAcc, NoLock, Preserve) { , 19, CAB1, 1, Offset (0x03), CHN1, 1, Offset (0x04) } Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PMIO, 0x04) Name (PMDM, 0x06) Name (PSIO, 0x04) Name (PSDM, 0x06) Name (SMIO, 0x04) Name (SMDM, 0x06) Name (SSIO, 0x04) Name (SSDM, 0x06) Name (MODP, 0x05) Name (MODS, 0x05) Device (SDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PMIO)), Local0) Store (DerefOf (Index (PIOT, PSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODP, One)) { Store (DerefOf (Index (UDMA, PMDM)), Local1) If (LGreater (PMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, PMDM)), Local1) } If (LAnd (MODP, 0x04)) { Store (DerefOf (Index (UDMA, PSDM)), Local3) If (LGreater (PSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, PSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } } Store (Local4, MODP) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PMDM, DMAM) If (LAnd (MODP, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PSDM, DMAM) If (LAnd (MODP, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (SDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, SMIO)), Local0) Store (DerefOf (Index (PIOT, SSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODS, One)) { Store (DerefOf (Index (UDMA, SMDM)), Local1) If (LGreater (SMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, SMDM)), Local1) } If (LAnd (MODS, 0x04)) { Store (DerefOf (Index (UDMA, SSDM)), Local3) If (LGreater (SSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, SSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } } Store (Local4, MODS) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SMDM, DMAM) If (LAnd (MODS, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SSDM, DMAM) If (LAnd (MODS, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } Device (JMF1) { Name (_ADR, One) Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { , 3, CAB0, 1, , 18, SWAP, 1, CHN0, 1, Offset (0x04) } OperationRegion (CF80, PCI_Config, 0x80, 0x04) Field (CF80, ByteAcc, NoLock, Preserve) { , 19, CAB1, 1, Offset (0x03), CHN1, 1, Offset (0x04) } Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PMIO, 0x04) Name (PMDM, 0x06) Name (PSIO, 0x04) Name (PSDM, 0x06) Name (SMIO, 0x04) Name (SMDM, 0x06) Name (SSIO, 0x04) Name (SSDM, 0x06) Name (MODP, 0x05) Name (MODS, 0x05) Device (SDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PMIO)), Local0) Store (DerefOf (Index (PIOT, PSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODP, One)) { Store (DerefOf (Index (UDMA, PMDM)), Local1) If (LGreater (PMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, PMDM)), Local1) } If (LAnd (MODP, 0x04)) { Store (DerefOf (Index (UDMA, PSDM)), Local3) If (LGreater (PSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, PSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } } Store (Local4, MODP) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PMDM, DMAM) If (LAnd (MODP, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PSDM, DMAM) If (LAnd (MODP, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (SDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, SMIO)), Local0) Store (DerefOf (Index (PIOT, SSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODS, One)) { Store (DerefOf (Index (UDMA, SMDM)), Local1) If (LGreater (SMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, SMDM)), Local1) } If (LAnd (MODS, 0x04)) { Store (DerefOf (Index (UDMA, SSDM)), Local3) If (LGreater (SSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, SSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } } Store (Local4, MODS) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SMDM, DMAM) If (LAnd (MODS, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SSDM, DMAM) If (LAnd (MODS, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } } Device (P0P9) { Name (_ADR, 0x001C0005) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR09) } Return (PR09) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x03, 0x04)) } } Device (USB1) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x04, 0x04)) } } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0C, 0x04)) } } Device (USB3) { Name (_ADR, 0x001D0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB4) { Name (_ADR, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x04)) } } Device (P0P4) { Name (_ADR, 0x001C0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04) } Return (PR04) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.P0P7, 0x02) Notify (\_SB.PCI0.P0P8, 0x02) Notify (\_SB.PCI0.P0P9, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L08, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1F, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PCI0.USBE, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G0T0, Package (0x07) { 0x00060000, "AP version", 0x40000000, Zero, Zero, One, 0x02 }) Name (G0T1, Package (0x07) { 0x00060001, "Feature flag", 0x40000000, Zero, Zero, One, 0x04 }) Name (GRP0, Package (0x02) { G0T0, G0T1 }) Method (GIT0, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, ASB1) } Else { If (LEqual (_T_0, One)) { Store (One, ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT0, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0300, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0301, DBG8) } Else { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G3T0, Package (0x07) { 0x03010011, "CPU frequency", Zero, Zero, 0x2710, 0x64, 0x012D }) Name (G3T2, Package (0x07) { 0x03060013, "CPU ratio", Zero, Zero, 0x06, One, 0x14 }) Name (G321, Package (0x09) { 0x03820032, "DRAM voltage", Zero, Zero, 0x0708, 0x32, 0x0D, One, "Auto" }) Name (G322, Package (0x0C) { 0x03080031, "DRAM frequency", Zero, Zero, 0x07, "Auto", Zero, "533 MHz", "667 MHz", "800 MHz", "889 MHz", "1067 MHz" }) Name (G340, Package (0x09) { 0x03810051, "PCI Express frequency", Zero, Zero, 0x2328, 0x64, 0x3D, One, "Auto" }) Name (GRP3, Package (0x05) { G3T0, G3T2, G321, G322, G340 }) Method (GIT3, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Subtract (GNVS (0x02C0), 0x64, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Subtract (GNVS (0x8298), 0x06, ASB1) } Else { If (LEqual (_T_0, 0x32)) { Store (GNVS (0x4438), ASB1) } Else { If (LEqual (_T_0, 0x31)) { Store (GNVS (0x3480), ASB1) } Else { If (LEqual (_T_0, 0x51)) { Store (GNVS (0x62D0), ASB1) } Else { Store (Zero, ASB0) } } } } } } Method (SIT3, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Add (Arg1, 0x64, Local2) If (LNot (LEqual (GNVS (0x02C0), Local2))) { CreateByteField (CLKR, 0x04, CB04) CreateWordField (CLKR, 0x0E, CBMN) Store (RBLK (0xD2, Zero, 0x13), CLKR) Multiply (Arg1, 0x03, Local0) CreateByteField (MNBF, Local0, MN04) CreateWordField (MNBF, Increment (Local0), MNVL) If (LEqual (CB04, MN04)) { If (And (Arg2, One)) { Store (MNVL, CBMN) WBLK (0xD2, Zero, 0x13, CLKR) } } Else { Or (ASB0, 0x02, ASB0) } If (And (Arg2, One)) { SNVS (0x02C0, Local2) } } } Else { If (LEqual (_T_0, 0x13)) { If (LNot (LEqual (GNVS (0x8298), Add (Arg1, 0x06, Arg1)))) { If (And (Arg2, One)) { SNVS (0x8298, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x32)) { If (LNot (LEqual (GNVS (0x4438), Arg1))) { If (LEqual (Arg1, Zero)) { Or (ASB0, 0x02, ASB0) } Else { If (And (Arg2, One)) { ENFG (0x0A) And (CRE5, 0xE1, Local1) ShiftLeft (Subtract (Arg1, One), One, Local2) Or (Local1, Local2, CRE5) EXFG () } } If (And (Arg2, One)) { SNVS (0x4438, Arg1) } } } Else { If (LEqual (_T_0, 0x31)) { If (LNot (LEqual (GNVS (0x3480), Arg1))) { If (And (Arg2, One)) { SNVS (0x3480, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x51)) { If (LNot (LEqual (GNVS (0x62D0), Arg1))) { CreateByteField (CLKR, 0x10, CB16) Store (RBLK (0xD2, Zero, 0x13), CLKR) CreateByteField (PCEF, Arg1, PC16) If (LEqual (CB16, PC16)) { If (And (Arg2, One)) { Store (PC16, CB16) WBLK (0xD2, Zero, 0x13, CLKR) SNVS (0x62D0, Arg1) } } } } Else { Store (Zero, ASB0) } } } } } } Name (CLKR, Buffer (0x18) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (PCEF, Buffer (0x3E) { 0xC8, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x00, 0x02, 0x04, 0x06, 0x08, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96 }) Name (MNBF, Buffer (0x0387) { 0x05, 0xC8, 0x3C, 0x05, 0xCA, 0x3C, 0x05, 0xCC, 0x3C, 0x05, 0xCE, 0x3C, 0x05, 0xD0, 0x3C, 0x05, 0xD2, 0x3C, 0x05, 0xD4, 0x3C, 0x05, 0xD6, 0x3C, 0x05, 0xD8, 0x3C, 0x05, 0xDA, 0x3C, 0x05, 0xDC, 0x3C, 0x05, 0xDE, 0x3C, 0x05, 0xE0, 0x3C, 0x05, 0xE2, 0x3C, 0x05, 0xE4, 0x3C, 0x05, 0xE6, 0x3C, 0x05, 0xE8, 0x3C, 0x05, 0xEA, 0x3C, 0x05, 0xEC, 0x3C, 0x05, 0xEE, 0x3C, 0x05, 0xF0, 0x3C, 0x05, 0xF2, 0x3C, 0x05, 0xF4, 0x3C, 0x05, 0xF6, 0x3C, 0x05, 0xF8, 0x3C, 0x05, 0xFA, 0x3C, 0x05, 0xFC, 0x3C, 0x05, 0xFE, 0x3C, 0x05, 0x00, 0xBC, 0x05, 0x02, 0xBC, 0x05, 0x04, 0xBC, 0x05, 0x06, 0xBC, 0x05, 0x08, 0xBC, 0x03, 0x8A, 0x3E, 0x03, 0x70, 0x32, 0x03, 0x9E, 0x46, 0x03, 0x7D, 0x37, 0x03, 0x8D, 0x3E, 0x03, 0x8A, 0x3C, 0x03, 0x8B, 0x3C, 0x03, 0x90, 0x3E, 0x03, 0x8D, 0x3C, 0x03, 0x8E, 0x3C, 0x03, 0x93, 0x3E, 0x03, 0x90, 0x3C, 0x03, 0x91, 0x3C, 0x03, 0x92, 0x3C, 0x03, 0x97, 0x3E, 0x03, 0x94, 0x3C, 0x03, 0x95, 0x3C, 0x03, 0x96, 0x3C, 0x03, 0x97, 0x3C, 0x03, 0x98, 0x3C, 0x03, 0x9E, 0x3E, 0x03, 0x9A, 0x3C, 0x03, 0x9B, 0x3C, 0x03, 0x9C, 0x3C, 0x03, 0x9D, 0x3C, 0x03, 0x9E, 0x3C, 0x03, 0x9F, 0x3C, 0x03, 0xA5, 0x3E, 0x03, 0xA1, 0x3C, 0x03, 0xA2, 0x3C, 0x03, 0xA3, 0x3C, 0x03, 0xA4, 0x3C, 0x03, 0xA5, 0x3C, 0x03, 0xA6, 0x3C, 0x03, 0xA7, 0x3C, 0x03, 0xA8, 0x3C, 0x03, 0xA9, 0x3C, 0x03, 0xAA, 0x3C, 0x03, 0xAB, 0x3C, 0x03, 0xAC, 0x3C, 0x03, 0xAD, 0x3C, 0x03, 0xAE, 0x3C, 0x03, 0xAF, 0x3C, 0x03, 0xB0, 0x3C, 0x03, 0xB1, 0x3C, 0x03, 0xB2, 0x3C, 0x03, 0xB3, 0x3C, 0x03, 0xB4, 0x3C, 0x03, 0xB5, 0x3C, 0x03, 0xB6, 0x3C, 0x03, 0xB7, 0x3C, 0x03, 0xB8, 0x3C, 0x03, 0xB9, 0x3C, 0x03, 0xBA, 0x3C, 0x03, 0xBB, 0x3C, 0x03, 0xBC, 0x3C, 0x03, 0xBD, 0x3C, 0x03, 0xBE, 0x3C, 0x03, 0xBF, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC1, 0x3C, 0x03, 0xC2, 0x3C, 0x03, 0xC3, 0x3C, 0x03, 0xC4, 0x3C, 0x03, 0xC5, 0x3C, 0x03, 0xC6, 0x3C, 0x03, 0xC7, 0x3C, 0x02, 0xD6, 0x40, 0x02, 0xA8, 0x32, 0x02, 0xB3, 0x35, 0x02, 0xBE, 0x38, 0x02, 0xBF, 0x38, 0x02, 0xCD, 0x3C, 0x02, 0xDB, 0x40, 0x02, 0xCF, 0x3C, 0x02, 0xD0, 0x3C, 0x02, 0xD1, 0x3C, 0x02, 0xE0, 0x40, 0x02, 0xD3, 0x3C, 0x02, 0xD4, 0x3C, 0x02, 0xD5, 0x3C, 0x02, 0xE4, 0x40, 0x02, 0xD7, 0x3C, 0x02, 0xD8, 0x3C, 0x02, 0xD9, 0x3C, 0x02, 0xDA, 0x3C, 0x02, 0xDB, 0x3C, 0x02, 0xEA, 0x40, 0x02, 0xDD, 0x3C, 0x02, 0xDE, 0x3C, 0x02, 0xDF, 0x3C, 0x02, 0xE0, 0x3C, 0x02, 0xE1, 0x3C, 0x02, 0xE2, 0x3C, 0x02, 0xE3, 0x3C, 0x02, 0xE4, 0x3C, 0x02, 0xE5, 0x3C, 0x02, 0xF5, 0x40, 0x02, 0xE7, 0x3C, 0x02, 0xE8, 0x3C, 0x02, 0xE9, 0x3C, 0x02, 0xEA, 0x3C, 0x02, 0xEB, 0x3C, 0x02, 0xEC, 0x3C, 0x02, 0xED, 0x3C, 0x02, 0xEE, 0x3C, 0x02, 0xEF, 0x3C, 0x02, 0xFF, 0x40, 0x02, 0xF1, 0x3C, 0x02, 0xF2, 0x3C, 0x02, 0xF3, 0x3C, 0x02, 0xF4, 0x3C, 0x02, 0xF5, 0x3C, 0x02, 0xF6, 0x3C, 0x02, 0xF7, 0x3C, 0x02, 0xF8, 0x3C, 0x02, 0xF9, 0x3C, 0x02, 0xFA, 0x3C, 0x02, 0xFB, 0x3C, 0x02, 0xFC, 0x3C, 0x02, 0xFD, 0x3C, 0x02, 0xFE, 0x3C, 0x02, 0xFF, 0x3C, 0x02, 0x00, 0xBC, 0x02, 0x01, 0xBC, 0x02, 0x02, 0xBC, 0x02, 0x03, 0xBC, 0x02, 0x82, 0x1E, 0x02, 0x05, 0xBC, 0x02, 0x06, 0xBC, 0x02, 0x07, 0xBC, 0x02, 0x08, 0xBC, 0x02, 0x09, 0xBC, 0x00, 0xAA, 0x33, 0x00, 0xE7, 0x45, 0x00, 0xA8, 0x32, 0x00, 0xAC, 0x33, 0x00, 0xB0, 0x34, 0x00, 0x69, 0x1F, 0x00, 0x44, 0x14, 0x00, 0x74, 0x22, 0x00, 0xAE, 0x33, 0x00, 0x6E, 0x20, 0x00, 0x45, 0x14, 0x00, 0x5A, 0x1A, 0x00, 0x49, 0x15, 0x00, 0x81, 0x25, 0x00, 0x46, 0x14, 0x00, 0xB3, 0x33, 0x00, 0x4A, 0x15, 0x00, 0x5C, 0x1A, 0x00, 0x47, 0x14, 0x00, 0x72, 0x20, 0x00, 0xB6, 0x33, 0x00, 0x7A, 0x22, 0x00, 0x48, 0x14, 0x00, 0x70, 0x1F, 0x00, 0x57, 0x18, 0x00, 0x50, 0x16, 0x00, 0x49, 0x14, 0x00, 0xE3, 0x3E, 0x00, 0xBB, 0x33, 0x00, 0x76, 0x20, 0x00, 0x4A, 0x14, 0x00, 0xC1, 0x34, 0x00, 0x6C, 0x1D, 0x00, 0x47, 0x13, 0x00, 0x4B, 0x14, 0x00, 0x4F, 0x15, 0x00, 0x75, 0x1F, 0x00, 0x7D, 0x21, 0x00, 0x4C, 0x14, 0x00, 0x7A, 0x20, 0x00, 0xC3, 0x33, 0x00, 0x77, 0x1F, 0x00, 0x4D, 0x14, 0x00, 0x55, 0x16, 0x00, 0x5D, 0x18, 0x00, 0xAB, 0x2C, 0x00, 0x4E, 0x14, 0x00, 0x5A, 0x17, 0x00, 0x6A, 0x1B, 0x00, 0x7E, 0x20, 0x00, 0x4F, 0x14, 0x00, 0x67, 0x1A, 0x00, 0x9B, 0x27, 0x00, 0xF7, 0x3E, 0x00, 0xCC, 0x33, 0x04, 0xC6, 0x4A, 0x04, 0xA1, 0x3C, 0x04, 0x8C, 0x34, 0x04, 0x87, 0x32, 0x04, 0x95, 0x37, 0x04, 0x90, 0x35, 0x04, 0x8B, 0x33, 0x04, 0xA4, 0x3C, 0x04, 0x9F, 0x3A, 0x04, 0x8F, 0x34, 0x04, 0xA0, 0x3A, 0x04, 0xA6, 0x3C, 0x04, 0x56, 0x1F, 0x04, 0x40, 0x17, 0x04, 0x43, 0x18, 0x04, 0x38, 0x14, 0x04, 0x49, 0x1A, 0x04, 0x8A, 0x31, 0x04, 0x71, 0x28, 0x04, 0x44, 0x18, 0x04, 0x6C, 0x26, 0x04, 0x39, 0x14, 0x04, 0xCB, 0x47, 0x04, 0x56, 0x1E, 0x04, 0x45, 0x18, 0x04, 0x7C, 0x2B, 0x04, 0x6B, 0x25, 0x04, 0x3A, 0x14, 0x04, 0x40, 0x16, 0x04, 0x46, 0x18, 0x04, 0x75, 0x28, 0x04, 0x58, 0x1E, 0x04, 0x64, 0x22, 0x04, 0x3B, 0x14, 0x04, 0x47, 0x18, 0x04, 0x59, 0x1E, 0x04, 0x74, 0x27, 0x04, 0xAD, 0x3A, 0x04, 0xEF, 0x50, 0x04, 0x3C, 0x14, 0x04, 0xF1, 0x50, 0x04, 0xAF, 0x3A, 0x04, 0x76, 0x27, 0x04, 0x5B, 0x1E, 0x04, 0x49, 0x18, 0x04, 0x3D, 0x14, 0x04, 0x68, 0x22, 0x04, 0x5C, 0x1E, 0x04, 0x7B, 0x28, 0x04, 0x4A, 0x18, 0x04, 0x44, 0x16, 0x04, 0x3E, 0x14, 0x04, 0x73, 0x25, 0x04, 0x86, 0x2B, 0x04, 0x4B, 0x18, 0x04, 0x5E, 0x1E, 0x04, 0xDF, 0x47, 0x04, 0x3F, 0x14, 0x04, 0x78, 0x26, 0x04, 0x4C, 0x18, 0x04, 0x7F, 0x28, 0x04, 0x9C, 0x31, 0x04, 0x53, 0x1A, 0x04, 0x40, 0x14, 0x04, 0x4D, 0x18, 0x04, 0x4A, 0x17, 0x04, 0x64, 0x1F, 0x04, 0x61, 0x1E, 0x04, 0x5E, 0x1D, 0x04, 0x41, 0x14, 0x04, 0x65, 0x1F, 0x04, 0x62, 0x1E, 0x04, 0x83, 0x28, 0x04, 0x97, 0x2E, 0x04, 0x4F, 0x18, 0x04, 0x42, 0x14, 0x04, 0x56, 0x1A, 0x04, 0x88, 0x29, 0x04, 0x7B, 0x25, 0x04, 0x46, 0x15 }) } Scope (_SB.PCI0.SBRG.ASOC) { Name (OC01, Package (0x06) { 0x01010000, "CPU FSB", 0x2710, 0x9C40, 0x012D, 0x00010003 }) Name (OT00, Package (0x04) { 0x01010000, 0x2710, Zero, One }) Name (OC02, Package (0x06) { 0x01060001, "CPU Multiplier", 0x08, 0x18, 0x11, 0x00010003 }) Name (CPUM, Package (0x04) { 0x01060001, 0x0A, Zero, Zero }) Name (OC03, Package (0x06) { 0x02010002, "Memory Freq", Zero, Zero, 0x07, 0x00010000 }) Name (MEMO, Package (0x0B) { 0x02010002, 0xD034, Zero, One, "Auto", "RESERVE", "533 MHz", "667 MHz", "800 MHz", "889 MHz", "1067 MHz" }) Name (OC04, Package (0x06) { 0x07010003, "PCI Express", 0x2328, 0x3A98, 0x3D, 0x00010000 }) Name (PCIO, Package (0x04) { 0x07010003, 0x2328, Zero, One }) Name (OC0A, Package (0x06) { 0x0202000F, "DRAM Voltage", 0x0708, 0x0992, 0x0E, 0x0001000F }) Name (RAMV, Package (0x13) { 0x0202000F, 0x0708, 0x02, One, "Auto", "1.80V", "1.85V", "1.90V", "1.95V", "2.00V", "2.05V", "2.10V", "2.15V", "2.20V", "2.25V", "2.30V", "2.35V", "2.40V", "2.45V" }) Name (OC0D, Package (0x06) { 0x0906000C, "AI Overclock Tuner", Zero, 0x04, 0x05, 0x00010003 }) Name (AITM, Package (0x09) { 0x0906000C, Zero, One, One, "Manual", "Auto", "Standard", "", "AI N.O.S." }) Name (OC0E, Package (0x06) { 0x0806000D, "NOS Mode", Zero, One, 0x02, 0x00010003 }) Name (NOSM, Package (0x06) { 0x0806000D, Zero, Zero, One, "Auto", "Manual" }) Name (OC06, Package (0x06) { 0x08050005, "Turbo NOS", 0x67, 0x78, 0x07, 0x00010003 }) Name (AOC2, Package (0x0B) { 0x08050005, 0x64, Zero, One, "", "103%", "105%", "107%", "110%", "115%", "120%" }) Name (OC0F, Package (0x06) { 0x0806000E, "Sensitivity", Zero, 0x03, 0x04, 0x00010003 }) Name (SENS, Package (0x07) { 0x0806000E, Zero, Zero, One, "Standard", "Sensitive", "Heavy load" }) Name (EPTY, Package (0x04) { 0x12345678, 0x06, 0x06, Zero }) Name (OBUF, Package (0x09) { OC01, OC02, OC03, OC04, OC06, OC0A, OC0D, OC0E, OC0F }) Method (ASIF, 0, NotSerialized) { Return (MBIF) } Method (OCIF, 0, NotSerialized) { Return (OBUF) } Method (GPRE, 1, NotSerialized) { If (Arg0) { OCOP (0x01010000) Store (ASB1, Index (PREB, One)) OCOP (0x01060001) Store (ASB1, Index (PREB, 0x03)) OCOP (0x02010002) Store (ASB1, Index (PREB, 0x05)) OCOP (0x07010003) Store (ASB1, Index (PREB, 0x07)) OCOP (0x0202000F) Store (ASB1, Index (PREB, 0x09)) OCOP (0x0906000C) Store (ASB1, Index (PREB, 0x0B)) OCOP (0x0806000D) Store (ASB1, Index (PREB, 0x0D)) OCOP (0x0806000E) Store (ASB1, Index (PREB, 0x0F)) OCOP (0x08050005) Store (ASB1, Index (PREB, 0x11)) } Else { Store (DerefOf (Index (G3T0, 0x03)), Index (PREB, One)) Store (DerefOf (Index (G3T2, 0x03)), Index (PREB, 0x03)) Store (DerefOf (Index (G322, 0x03)), Index (PREB, 0x05)) Store (DerefOf (Index (G340, 0x03)), Index (PREB, 0x07)) Store (DerefOf (Index (G321, 0x03)), Index (PREB, 0x09)) Store (DerefOf (Index (G9T0, 0x03)), Index (PREB, 0x0B)) Store (Zero, Index (PREB, 0x0D)) Store (DerefOf (Index (G8T1, 0x03)), Index (PREB, 0x0F)) Store (DerefOf (Index (G8T2, 0x03)), Index (PREB, 0x11)) } Return (PREB) } Name (PREB, Package (0x12) { 0x01010000, Zero, 0x01060001, Zero, 0x02010002, Zero, 0x07010003, Zero, 0x0202000F, Zero, 0x0906000C, Zero, 0x0806000D, Zero, 0x08050005, Zero, 0x0806000E, Zero }) Method (OCOP, 1, NotSerialized) { Store (One, ASB0) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, 0x01010000)) { GIT3 (0x03010011) Store (ASB1, Index (OT00, One)) Store (ASB1, Index (OT00, 0x02)) Return (OT00) } Else { If (LEqual (_T_0, 0x01060001)) { GIT3 (0x03060013) Store (ASB1, Index (CPUM, One)) Return (CPUM) } Else { If (LEqual (_T_0, 0x02010002)) { GIT3 (0x03080031) Store (ASB1, Index (MEMO, 0x02)) Return (MEMO) } Else { If (LEqual (_T_0, 0x07010003)) { GIT3 (0x03810051) Store (ASB1, Index (PCIO, 0x02)) Return (PCIO) } Else { If (LEqual (_T_0, 0x0202000F)) { GIT3 (0x03820032) Store (ASB1, Index (RAMV, 0x02)) Return (RAMV) } Else { If (LEqual (_T_0, 0x0906000C)) { GIT9 (0x09080000) Store (ASB1, Index (AITM, 0x02)) Return (AITM) } Else { If (LEqual (_T_0, 0x0806000D)) { GIT8 (0x08080001) If (LGreater (ASB1, Zero)) { Store (One, ASB1) } Else { Store (Zero, ASB1) } Store (ASB1, Index (NOSM, 0x02)) Return (NOSM) } Else { If (LEqual (_T_0, 0x0806000E)) { GIT8 (0x08080001) If (LGreater (ASB1, Zero)) { Decrement (ASB1) } Store (ASB1, Index (SENS, 0x02)) Return (SENS) } Else { If (LEqual (_T_0, 0x08050005)) { GIT8 (0x08080002) Store (ASB1, Index (AOC2, 0x02)) Return (AOC2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (EPTY) } Name (NOSF, Zero) Method (PROC, 3, NotSerialized) { Store (One, ASB0) ShiftRight (Arg0, 0x10, Local0) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, 0x01010000)) { SIT3 (0x03010011, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x01060001)) { SIT3 (0x03060013, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x02010002)) { SIT3 (0x03080031, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x07010003)) { SIT3 (0x03810051, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0202000F)) { Or (Arg1, ShiftLeft (Arg2, 0x08), Local0) Store (Local0, DBGX) SIT3 (0x03820032, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0906000C)) { SIT9 (0x09080000, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0806000D)) { If (LEqual (Arg1, Zero)) { SIT8 (0x08080001, Zero, Arg2) Store (Zero, NOSF) } Else { Store (One, NOSF) } } Else { If (LEqual (_T_0, 0x0806000E)) { If (NOSF) { Add (Arg1, One, Local0) SIT8 (0x08080001, Local0, Arg2) } } Else { If (LEqual (_T_0, 0x08050005)) { SIT8 (0x08080002, Arg1, Arg2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASB0) } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G4T0, Package (0x04) { 0x04060000, " ASUS Advanced Q-Fan control", 0x40000000, Zero }) Name (G4T1, Package (0x0A) { 0x04080011, " FAN profile", 0x00100001, 0x03, 0x05, "Disabled", "Performance", "Optimal", "Silent", "Ultra Silent" }) Name (G4T2, Package (0x09) { 0x04080011, " FAN profile", 0x00100001, 0x03, 0x04, "Disabled", "Performance", "Optimal", "Silent" }) Name (GR41, Package (0x02) { G4T0, G4T1 }) Name (GR42, Package (0x02) { G4T0, G4T2 }) Method (GIT4, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (GNVS (0x2780), ASB1) } Else { If (LEqual (_T_0, 0x11)) { Store (GNVS (0x3510), ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT4, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { If (LNot (LEqual (GNVS (0x3510), Arg1))) { SNVS (0x3510, Arg1) Store (0x77, PAR0) ISMI (0x88) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G5T0, Package (0x07) { 0x05080000, "AI Profile", Zero, Zero, 0x02, "AUTO", Zero }) Name (GRP5, Package (0x01) { G5T0 }) Method (GIT5, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (One, ASB1) } Else { Store (Zero, ASB0) } } Method (SIT5, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x03, ASB0) } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G6T1, Package (0x07) { 0x06020011, "Vcore Voltage", 0x20000000, Zero, 0x0352, 0x02EE, 0x02 }) Name (G6T2, Package (0x07) { 0x06030012, "CPU Temperature", 0x20000000, Zero, 0x0258, 0x015E, 0x02 }) Name (G6T3, Package (0x07) { 0x06040013, "CPU Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T4, Package (0x07) { 0x06040073, "Chassis Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T5, Package (0x07) { 0x060400C3, "Power Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T6, Package (0x07) { 0x06020061, "+12V Voltage", 0x20000000, 0x2EE0, 0x27D8, 0x0E10, 0x02 }) Name (G6T7, Package (0x07) { 0x06020062, "+5V Voltage", 0x20000000, 0x1388, 0x1194, 0x03E8, 0x02 }) Name (G6T8, Package (0x07) { 0x06020063, "+3.3V Voltage", 0x20000000, 0x0CE4, 0x0B9A, 0x0294, 0x02 }) Name (G6T9, Package (0x07) { 0x06030074, "MB Temperature", 0x20000000, Zero, 0x01C2, 0x01F4, 0x02 }) Name (GRP6, Package (0x09) { G6T1, G6T2, G6T3, G6T4, G6T5, G6T6, G6T7, G6T8, G6T9 }) Method (GIT6, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (0x0600, ASB1) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, ASB1) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, ASB1) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, ASB1) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, ASB1) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, ASB1) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, ASB1) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } Method (SIT6, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (0x0600, DBG8) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, DBG8) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, DBG8) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, DBG8) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, DBG8) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, DBG8) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, DBG8) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, DBG8) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, DBG8) } Else { Store (Zero, ASB0) } } } } } } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G8T1, Package (0x09) { 0x08080001, "N.O.S. sensitivity", Zero, Zero, 0x04, "Auto", "Standard", "Sensitive", "Heavy load" }) Name (G8T2, Package (0x0C) { 0x08080002, "N.O.S. profile", Zero, One, 0x07, Zero, "103%", "105%", "107%", "110%", "115%", "120%" }) Name (GRP8, Package (0x02) { G8T1, G8T2 }) Name (TEMP, Zero) Method (GIT8, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (GNVS (0x2564), ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (GNVS (0x34EB), ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT8, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { If (LNot (LEqual (GNVS (0x2564), Arg1))) { If (And (Arg2, One)) { SNVS (0x2564, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x02)) { If (LNot (LEqual (GNVS (0x34EB), Arg1))) { If (And (Arg2, One)) { SNVS (0x34EB, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G9T0, Package (0x0A) { 0x09080000, "AI Tunning", Zero, One, 0x05, "Manual", "Auto", "Standard", Zero, "AI N.O.S" }) Name (GRP9, Package (0x01) { G9T0 }) Method (GIT9, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (GNVS (0x34E3), ASB1) } Else { Store (Zero, ASB0) } } Method (SIT9, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { If (LNot (LEqual (GNVS (0x34E3), Arg1))) { If (And (Arg2, One)) { SNVS (0x34E3, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GAT1, Package (0x04) { 0x0A070001, "Music Alarm", Zero, Zero }) Name (GAT2, Package (0x04) { 0x0A070002, "Sunday", Zero, One }) Name (GAT3, Package (0x04) { 0x0A070003, "Monday", Zero, One }) Name (GAT4, Package (0x04) { 0x0A070004, "Tuesday", Zero, One }) Name (GAT5, Package (0x04) { 0x0A070005, "Wednesday", Zero, One }) Name (GAT6, Package (0x04) { 0x0A070006, "Thursday", Zero, One }) Name (GAT7, Package (0x04) { 0x0A070007, "Friday", Zero, One }) Name (GAT8, Package (0x04) { 0x0A070008, "Saturday", Zero, One }) Name (GAT9, Package (0x07) { 0x0A060009, "Alarm Hour", Zero, 0x0C, Zero, One, 0x18 }) Name (GATA, Package (0x07) { 0x0A06000A, "Alarm Mins", Zero, Zero, Zero, One, 0x3C }) Name (GATB, Package (0x0A) { 0x0A08000B, "Music Alarm Drive", Zero, 0x03, 0x05, "Primary IDE Master", "Primary IDE Slave", "Secondary IDE Master", "Secondary IDE Slave", "JMicron JMB363 IDE" }) Name (GATC, Package (0x07) { 0x0A06000C, "Starting Track", Zero, 0x10, Zero, One, 0x20 }) Name (GATD, Package (0x08) { 0x0A08000D, "Repeat", Zero, Zero, 0x03, "none", "Single", "All" }) Name (GATE, Package (0x09) { 0x0A08000E, "Length", Zero, Zero, 0x04, "10 mins", "20 mins", "30 mins", "1 hour" }) Name (GATF, Package (0x07) { 0x0A06000F, "Volume", Zero, 0x0F, Zero, One, 0x20 }) } Scope (_SB.PCI0.SBRG.ASOC) { Name (GBT0, Package (0x07) { 0x0B060001, "System performance", 0x00400000, Zero, 0x03, One, 0x04 }) Name (GRPB, Package (0x01) { GBT0 }) Name (VEAL, Zero) Method (GITB, 1, NotSerialized) { Store (VEAL, ASB1) } Method (SITB, 3, NotSerialized) { If (LEqual (And (Arg2, 0xFFFF), One)) { And (Arg1, 0xFFFF, VEAL) Store (VEAL, ASB1) Store (VEAL, PAR0) ISMI (0x88) } } } OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C) Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {15} }) CreateWordField (BUFA, One, IRA0) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { And (PIRB, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSB) } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { And (PIRB, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { And (PIRC, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSC) } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { And (PIRC, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { And (PIRD, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSD) } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { And (PIRD, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { And (PIRE, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSE) } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { And (PIRE, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { And (PIRF, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSF) } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { And (PIRF, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { And (PIRG, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSG) } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { And (PIRG, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { And (PIRH, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSH) } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { And (PIRH, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRH) } } } Scope (_SB) { Name (XCPD, Zero) Name (XNPT, One) Name (XCAP, 0x02) Name (XDCP, 0x04) Name (XDCT, 0x08) Name (XDST, 0x0A) Name (XLCP, 0x0C) Name (XLCT, 0x10) Name (XLST, 0x12) Name (XSCP, 0x14) Name (XSCT, 0x18) Name (XSST, 0x1A) Name (XRCT, 0x1C) Mutex (MUTE, 0x00) Method (RBPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Release (MUTE) Return (XCFG) } Method (RWPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Release (MUTE) Return (XCFG) } Method (RDPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Release (MUTE) Return (XCFG) } Method (WBPE, 2, NotSerialized) { Acquire (MUTE, 0x0FFF) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Store (Arg1, XCFG) Release (MUTE) } Method (WWPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Store (Arg1, XCFG) Release (MUTE) } Method (WDPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Store (Arg1, XCFG) Release (MUTE) } Method (RWDP, 3, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } And (XCFG, Arg2, Local1) Or (Local1, Arg1, XCFG) Release (MUTE) } Method (RPME, 1, NotSerialized) { Add (Arg0, 0x84, Local0) Store (RDPE (Local0), Local1) If (LEqual (Local1, Ones)) { Return (Zero) } Else { If (LAnd (Local1, 0x00010000)) { WDPE (Local0, And (Local1, 0x00010000)) Return (One) } Return (Zero) } } } OperationRegion (SMRG, SystemIO, 0x0400, 0x10) Field (SMRG, ByteAcc, NoLock, Preserve) { HSTS, 8, SSTS, 8, HSTC, 8, HCMD, 8, HADR, 8, HDT0, 8, HDT1, 8, BLKD, 8 } Field (SMRG, ByteAcc, NoLock, Preserve) { Offset (0x05), HDTW, 16 } Method (SCMD, 4, Serialized) { Store (0x05, Local0) While (Decrement (Local0)) { Store (0xFFFF, Local1) While (LAnd (HSTS, Decrement (Local1))) { Store (0xFE, HSTS) Stall (0x0A) } Store (HSTC, Local2) Store (Arg0, HADR) Store (Arg1, HCMD) Store (Arg2, HDTW) Store (Arg3, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x0C)) { Store (One, Local1) } If (LEqual (And (HSTS, 0x03), 0x02)) { Return (HDTW) } Stall (0x0A) } Store (0x42, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x10)) { Store (One, Local1) } Stall (0x0A) } Store (Zero, HSTC) } Return (Ones) } Method (SBYT, 2, NotSerialized) { SCMD (Arg0, Arg1, Zero, 0x44) } Method (WBYT, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x48) } Method (WWRD, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x4C) } Method (RSBT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x44), 0xFF)) } Method (RBYT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x48), 0xFF)) } Method (RWRD, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (SCMD (Arg0, Arg1, Zero, 0x4C)) } Method (RBLK, 3, NotSerialized) { Or (Arg0, One, Local0) SCMD (Local0, Arg1, Arg2, 0x54) Store (HSTC, Local0) Store (HDT0, Local0) Add (Local0, One, Local7) Name (RBUF, Buffer (Local7) {}) Store (Zero, Local1) While (Local0) { Store (BLKD, Index (RBUF, Local1)) Decrement (Local0) Increment (Local1) } Return (RBUF) } Method (WBLK, 4, NotSerialized) { Store (HSTC, Local0) Store (Zero, Local0) While (LNot (LGreater (Local0, Arg2))) { Store (DerefOf (Index (Arg3, Local0)), BLKD) Increment (Local0) } And (Arg0, 0xFE, Local0) SCMD (Local0, Arg1, Arg2, 0x54) } Name (HBAS, Zero) Name (HLBA, Zero) Name (HDEV, Zero) OperationRegion (REFP, SystemIO, 0x61, One) Field (REFP, ByteAcc, NoLock, Preserve) { P061, 8 } Method (FZHD, 0, NotSerialized) { Store (0x80, Local0) Store (DMAX, Local1) While (LNot (LGreater (Local0, Local1))) { And (Local0, 0x7F, Local3) Store (One, Local2) ShiftLeft (Local2, Local3, Local2) If (LNot (And (\_SB.PCI0.HFZF, Local2))) { If (FZOD (Local0)) { Or (\_SB.PCI0.HFZF, Local2, \_SB.PCI0.HFZF) } } Increment (Local0) } } Method (FZOD, 1, NotSerialized) { GHET (Arg0) If (LEqual (HBAS, Zero)) { Return (One) } If (LEqual (HDEV, Zero)) { Return (One) } Store (HDEV, Local1) And (Local1, 0x10, Local1) If (LEqual (Local1, Zero)) { Return (One) } WFCF () SDRV () Add (HBAS, 0x07, Local1) OperationRegion (HRGS, SystemIO, Local1, One) Field (HRGS, ByteAcc, NoLock, Preserve) { SREG, 8 } Store (SREG, Local1) And (Local1, 0x80, Local1) If (Local1) { Return (Zero) } Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xF5, CREG) If (WFCF ()) { Add (HBAS, 0x07, Local0) Store (SREG, Local1) Return (LNot (And (Local1, One))) } Else { Return (Zero) } } OperationRegion (DBGA, SystemIO, 0x80, 0x04) Field (DBGA, DWordAcc, NoLock, Preserve) { DB32, 32 } Method (GHET, 1, NotSerialized) { And (Arg0, 0x7F, Local0) ShiftLeft (Local0, 0x05, Local0) Add (Local0, HPTA, Local0) OperationRegion (HDPT, SystemMemory, Local0, 0x20) Field (HDPT, ByteAcc, NoLock, Preserve) { HP00, 16, Offset (0x04), HP04, 8, Offset (0x12), HP0C, 8 } Store (HP00, HBAS) Store (HP04, HLBA) Store (HP0C, HDEV) } Method (SDRV, 0, NotSerialized) { Add (HBAS, 0x06, Local0) OperationRegion (HRGH, SystemIO, Local0, One) Field (HRGH, ByteAcc, NoLock, Preserve) { HREG, 8 } Store (HLBA, HREG) } Method (WFCF, 0, NotSerialized) { SDRV () Add (HBAS, One, Local0) OperationRegion (HRGE, SystemIO, Local0, One) Field (HRGE, ByteAcc, NoLock, Preserve) { EREG, 8 } Store (Zero, EREG) Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0x28, Local0) While (Local0) { And (CREG, One, Local2) If (Local2) { Return (Zero) } WFZF (Local1) And (CREG, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (One) } Decrement (Local0) } Return (Zero) } Method (WFZF, 1, NotSerialized) { OperationRegion (HRGC, SystemIO, Arg0, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xFFFF, Local1) Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } While (Local1) { Stall (0x0F) Decrement (Local1) If (LEqual (Local1, Zero)) { Return (Zero) } Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } Decrement (Local1) } } Scope (_SB.PCI0) { Name (HFZF, 0xFFFF) Method (HWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Zero, HFZF) } } } Scope (_SB.PCI0.SBRG.SIOR) { Method (HWV0, 0, NotSerialized) { Return (Multiply (VCOR, 0x08)) } Method (HWV1, 0, NotSerialized) { Return (Multiply (V12V, 0x08)) } Method (HWV3, 0, NotSerialized) { Return (Multiply (V33V, 0x08)) } Method (HWV5, 0, NotSerialized) { Return (Multiply (V50V, 0x08)) } Method (HWT0, 0, NotSerialized) { Store (MBTE, Local1) Multiply (Local1, 0x0A, Local1) Return (Local1) } Method (HWT1, 0, NotSerialized) { Store (One, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } Method (HWT2, 0, NotSerialized) { Store (0x02, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } OperationRegion (DBGE, SystemIO, 0x80, 0x04) Field (DBGE, WordAcc, NoLock, Preserve) { DBGG, 22 } Method (HWF0, 0, NotSerialized) { Store (FAN1, Local0) Store (Zero, BSEL) And (FD21, 0x20, Local1) ShiftRight (Local1, 0x05, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0x30, Local2) ShiftRight (Local2, 0x04, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN1, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN1, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF1, 0, NotSerialized) { Store (FAN2, Local0) Store (Zero, BSEL) And (FD21, 0x40, Local1) ShiftRight (Local1, 0x06, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0xC0, Local2) ShiftRight (Local2, 0x06, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN2, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN2, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF2, 0, NotSerialized) { Store (FAN3, Local0) Store (Zero, BSEL) And (FD21, 0x80, Local1) ShiftRight (Local1, 0x07, Local1) Multiply (Local1, 0x04, Local1) Divide (FD13, 0x40, Local2, Local3) Add (Local1, Local3, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (FAN3, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) Sleep (0x012C) Store (FAN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF3, 0, NotSerialized) { Store (Zero, BSEL) Store (CFN3, Local0) And (FD15, 0x80, Local1) ShiftRight (Local1, 0x05, Local1) And (FND4, 0x03, Local2) Or (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD15, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD15) Store (FND4, Local3) And (Local3, 0xFC, Local3) Add (Local3, Local2, Local2) Store (Local2, FND4) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (CFN3, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD15, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD15) Store (FND4, Local3) And (Local3, 0xFC, Local3) Add (Local3, Local2, Local2) Store (Local2, FND4) Sleep (0x012C) Store (CFN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF4, 0, NotSerialized) { Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) And (FND4, 0x80, Local1) ShiftRight (Local1, 0x08, Local1) Multiply (Local1, 0x04, Local1) And (FND4, 0x0C, Local2) ShiftRight (Local2, 0x02, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) Sleep (0x012C) Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } OperationRegion (HWRE, SystemIO, IOHW, 0x0A) Field (HWRE, ByteAcc, NoLock, Preserve) { Offset (0x05), HIDX, 8, HDAT, 8 } IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve) { Offset (0x04), CHNM, 1, CFNM, 1, CHNS, 2, CFNS, 2, Offset (0x05), SYST, 8, TRGT, 8, Offset (0x08), SSDN, 8, CSDN, 8, SSUP, 8, CSUP, 8, Offset (0x20), VCOR, 8, V12V, 8, Offset (0x23), V33V, 8, Offset (0x25), V50V, 8, Offset (0x27), MBTE, 8, FAN1, 8, FAN2, 8, FAN3, 8, Offset (0x3F), CFN3, 8, Offset (0x47), FDR1, 8, Offset (0x4B), FD13, 8, FD15, 8, Offset (0x4E), BSEL, 3, Offset (0x4F), Offset (0x50), TSR1, 8, , 7, TSR2, 1, Offset (0x53), FAN4, 8, Offset (0x59), FND4, 8, Offset (0x5D), FD21, 8 } } Scope (_SB.PCI0.SBRG.ASOC) { Name (CORV, Package (0x05) { 0x06020000, "Vcore Voltage", 0x0352, 0x0640, One }) Name (V3VV, Package (0x05) { 0x06020001, " +3.3 Voltage", 0x0B9A, 0x0E2E, One }) Name (V5VV, Package (0x05) { 0x06020002, " +5 Voltage", 0x1194, 0x157C, One }) Name (VV12, Package (0x05) { 0x06020003, " +12 Voltage", 0x27D8, 0x35E8, One }) Name (VPAR, Package (0x04) { Package (0x03) { Zero, One, Zero }, Package (0x03) { 0x22, 0x22, Zero }, Package (0x03) { 0x16, 0x0A, Zero }, Package (0x03) { 0x38, 0x0A, Zero } }) Name (VBUF, Package (0x05) { 0x04, CORV, V3VV, V5VV, VV12 }) Method (VGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWV0 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWV3 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWV5 ()) } If (LEqual (Arg0, 0x03)) { Return (^^SIOR.HWV1 ()) } } Name (CPUT, Package (0x05) { 0x06030000, "CPU Temperature", 0x0258, 0x03B6, 0x00010001 }) Name (MBTP, Package (0x05) { 0x06030001, "MB Temperature", 0x01C2, 0x03B6, 0x00010001 }) Name (TBUF, Package (0x03) { 0x02, CPUT, MBTP }) Method (TGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWT1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWT0 ()) } } Name (CPUF, Package (0x05) { 0x06040000, "CPU FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (CHF1, Package (0x05) { 0x06040001, "CHASSIS1 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (CHF2, Package (0x05) { 0x06040002, "CHASSIS2 FAN Speed", 0x04B0, 0x1C20, 0x00010001 }) Name (CHF3, Package (0x05) { 0x06040003, "CHASSIS3 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (PWRF, Package (0x05) { 0x06040004, "POWER FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (FBUF, Package (0x06) { 0x05, CPUF, CHF1, CHF2, CHF3, PWRF }) Method (FGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWF1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWF0 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWF4 ()) } If (LEqual (Arg0, 0x03)) { Return (^^SIOR.HWF3 ()) } If (LEqual (Arg0, 0x04)) { Return (^^SIOR.HWF2 ()) } } Method (VSIF, 0, NotSerialized) { Return (VBUF) } Method (RVLT, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (VGET (Local0), Local1) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)), Local2) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), Local3) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), Local4) Multiply (Local1, Add (Local2, Local3), Local5) Divide (Local5, Local3, , Local5) Add (Local5, Local4, Local5) Return (Local5) } Method (SVLT, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (VBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, Local0)), 0x04)) Return (One) } Method (TSIF, 0, NotSerialized) { Return (TBUF) } Method (RTMP, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (TGET (Local0), Local1) Return (Local1) } Method (STMP, 1, NotSerialized) { Store (And (DerefOf (Index (Arg0, Zero)), 0xFFFF), Local0) Store (DerefOf (Index (TBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, Local0)), 0x04)) Return (One) } Method (FSIF, 0, NotSerialized) { Return (FBUF) } Method (RFAN, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (FGET (Local0), Local1) Return (Local1) } Method (SFAN, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (FBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF, Local0)), 0x04)) Return (One) } } Scope (_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) OperationRegion (IGDM, SystemMemory, 0x3EE9E0E4, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, Offset (0xF0), IBTT, 4, IPSC, 2, IPAT, 4, IBIA, 3, IBLC, 2, Offset (0xF2), ITVF, 4, ITVM, 4, IDVM, 1, IDVS, 2, ISSC, 1, Offset (0xF4), Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32 } OperationRegion (TCOI, SystemIO, TOBS, 0x08) Field (TCOI, WordAcc, NoLock, Preserve) { Offset (0x04), , 9, SCIS, 1, Offset (0x06) } Method (GSCI, 0, NotSerialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (One, SCIS) Store (Zero, GEFC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x037B, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { Name (LOOP, Zero) And (PARM, 0xFFFFFF00, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) XOr (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Name (MEMS, 0x0D) Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1000, PARM) Or (ShiftLeft (CDCT, 0x15), PARM, PARM) If (LEqual (IDVM, One)) { Store (0x11, MEMS) } If (LLess (TASM, M512)) { Or (PARM, ShiftLeft (One, MEMS), PARM) } Else { If (LLess (TASM, M1GB)) { If (LLess (IDVS, 0x03)) { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } Else { Or (PARM, ShiftLeft (0x02, MEMS), PARM) } } Else { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } } Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (0x03, PARM) } Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x20, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x06)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0x0F, ITVF) And (PARM, 0xF0, ITVM) Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (NVLD) } If (LEqual (GESF, 0x07)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x09)) { Store (CRIT, GXFC) Return (Zero) } If (LEqual (GESF, 0x0A)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0xFF, IPSC) Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT) And (ShiftRight (PARM, 0x12), 0x03, IBLC) And (ShiftRight (PARM, 0x14), 0x07, IBIA) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02)) { And (ShiftRight (PARM, 0x0D), 0x0F, Local0) And (ShiftRight (PARM, 0x11), 0x0F, Local1) If (Local0) { Store (Zero, IDVM) Store (Local0, IDVS) } If (Local1) { Store (One, IDVM) Store (Local1, IDVS) } } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x11)) { Or (PARM, ShiftLeft (LIDS, 0x08), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { And (PARM, One, ISSC) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Return (CRIT) } Store (Zero, GESF) Return (CRIT) } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0x8C), CDCT, 10, Offset (0x8E), Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xBC), ASLS, 32 } Name (M512, 0x08) Name (M1GB, 0x10) Scope (\_GPE) { Method (_L06, 0, NotSerialized) { \_SB.PCI0.GFX0.GSCI () } } Name (OPBS, 0xFFFFFF00) Method (OPTS, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (ASLS, OPBS) } } Method (OWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (OPBS, ASLS) Store (One, GSES) } } } } Scope (_SB) { Scope (PCI0) { Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x00FF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0100, // Address Length ,,) IO (Decode16, 0x0CF8, // Address Range Minimum 0x0CF8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x0CF7, // Address Range Maximum 0x0000, // Address Translation Offset 0x0CF8, // Address Length ,,, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0D00, // Address Range Minimum 0xFFFF, // Address Range Maximum 0x0000, // Address Translation Offset 0xF300, // Address Length ,,, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000A0000, // Address Range Minimum 0x000BFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C0000, // Address Range Minimum 0x000DFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000000, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000000, // Address Length ,,, AddressRangeMemory, TypeStatic) }) CreateDWordField (CRS, 0x5C, MIN5) CreateDWordField (CRS, 0x60, MAX5) CreateDWordField (CRS, 0x68, LEN5) CreateDWordField (CRS, 0x76, MIN6) CreateDWordField (CRS, 0x7A, MAX6) CreateDWordField (CRS, 0x82, LEN6) Method (_CRS, 0, NotSerialized) { Store (MG1L, Local0) If (Local0) { Store (MG1B, MIN5) Store (MG1L, LEN5) Add (MIN5, Decrement (Local0), MAX5) } Store (MG2B, MIN6) Store (MG2L, LEN6) Store (MG2L, Local0) Add (MIN6, Decrement (Local0), MAX6) Return (CRS) } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (Zero, AAXB) } Method (_WAK, 1, NotSerialized) { ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (GNVS (0x8370)) {} Else { Notify (\_SB.PWRB, 0x02) } If (ASSB) { Store (WSSB, ASSB) Store (WOTB, AOTB) Store (WAXB, AAXB) } If (DerefOf (Index (WAKP, Zero))) { Store (Zero, Index (WAKP, One)) } Else { Store (Arg0, Index (WAKP, One)) } Return (WAKP) } OperationRegion (IORK, SystemIO, 0xB3, One) Field (IORK, ByteAcc, NoLock, Preserve) { IOWK, 8 } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SIOS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.SBRG.SPTS (Arg0) \_SB.PCI0.GFX0.OPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.HWAK (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) \_SB.PCI0.GFX0.OWAK (Arg0) } } --=-=-= Content-Disposition: attachment; filename=p5bv-acpi1.tab /* RSD PTR: OEM=ACPIAM, ACPI_Rev=1.0x (0) RSDT=0x3ee90000, cksum=15 */ /* RSDT: Length=64, Revision=1, Checksum=236, OEMID=A M I, OEM Table ID=OEMRSDT, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Entries={ 0x3ee90200, 0x3ee90390, 0x3ee90400, 0x3ee9e040, 0x3ee99bb0, 0x3ee99be8, 0x3ee9e0c0 } */ /* FACP: Length=132, Revision=2, Checksum=108, OEMID=A M I, OEM Table ID=OEMFACP, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 FACS=0x3ee9e000, DSDT=0x3ee90440 INT_MODEL=APIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0 PSTATE_CNT=0xe2 PM1a_EVT_BLK=0x800-0x803 PM1a_CNT_BLK=0x804-0x805 PM_TMR_BLK=0x808-0x80b GPE0_BLK=0x828-0x82f CST_CNT=0xe3 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH={LEGACY_DEV,8042} Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=38763, Revision=1, Checksum=63, OEMID=A0579, OEM Table ID=A0579000, OEM Revision=0x0, Creator ID=INTL, Creator Revision=0x20060113 */ /* APIC: Length=108, Revision=1, Checksum=33, OEMID=A M I, OEM Table ID=OEMAPIC, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=2 Flags={ENABLED} APIC ID=1 Type=Local APIC ACPI CPU=3 Flags={DISABLED} APIC ID=130 Type=Local APIC ACPI CPU=4 Flags={DISABLED} APIC ID=131 Type=IO APIC APIC ID=2 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} */ /* MCFG: Length=60, Revision=1, Checksum=137, OEMID=A M I, OEM Table ID=OEMMCFG, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 255 */ /* HPET: Length=56, Revision=1, Checksum=159, OEMID=A M I, OEM Table ID=OEMHPET, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 HPET Number=0 ADDR=0x00000800 HW Rev=0x2 Comparitors=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=14318 */ /* ASF!: Length=153, Revision=32, Checksum=10, OEMID=LEGEND, OEM Table ID=I865PASF, OEM Revision=0x1, Creator ID=INTL, Creator Revision=0x20060113 */ /* GSCI: Length=8228, Revision=1, Checksum=58, OEMID=A M I, OEM Table ID=GMCHSCI, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 */ --=-=-= Content-Disposition: attachment; filename=p5bv-acpi2.asl /* * Intel ACPI Component Architecture * AML Disassembler version 20051021 * * Disassembly of /tmp/acpidump.p9vSsg, Wed Jan 17 08:17:33 2007 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0579", "A0579000", 0x00000000) { Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3EE99C90, 0x02E3) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } Store (One, STS7) Store (One, DEV7) If (LEqual (TBLD, Zero)) { Load (STBL, HNDL) Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU2, 0x02, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3EE99F80, 0x02DA) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, Zero)) { Load (STBL, HNDL) Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU3, 0x03, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, Zero)) { If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08)))) { Load (STBL, HNDL) Store (One, TBLD) } } } } } Scope (_PR) { Processor (CPU4, 0x04, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } If (LEqual (TBLD, Zero)) { If (LAnd (LEqual (And (TYPE, One), One), LNot (LGreater (NCPU, 0x08)))) { Store (One, STS6) Store (One, DEV6) Load (STBL, HNDL) Store (One, TBLD) } } } } } Name (DP80, 0x80) Name (DP90, 0x90) Name (SPIO, 0x2E) Name (IOHW, 0x0290) Name (APIC, One) Name (SMIP, 0xB2) Name (PMBS, 0x0800) Name (PMLN, 0x80) Name (GPBS, 0x0480) Name (GPLN, 0x40) Name (SMBL, Zero) Name (PM30, 0x0830) Name (SUSW, 0xFF) Name (HTBA, 0xFED1F404) Name (EAQF, One) Name (CFTE, Zero) Name (TOBS, 0x0860) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Name (LIDS, One) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (SMBS, 0x0400) Name (CPUC, 0x04) OperationRegion (BIOS, SystemMemory, 0x3EE9E064, 0xFF) Field (BIOS, ByteAcc, NoLock, Preserve) { SS1, 1, SS2, 1, SS3, 1, SS4, 1, Offset (0x01), IOST, 16, TOPM, 32, ROMS, 32, MG1B, 32, MG1L, 32, MG2B, 32, MG2L, 32, Offset (0x1C), CPB0, 32, CPB1, 32, CPB2, 32, CPB3, 32, ASSB, 8, AOTB, 8, AAXB, 32, MSC1, 32, MSC2, 32, MSC3, 32, MSC4, 32, MSC5, 32, MSC6, 32, MSC7, 32, MSC8, 32, DMAX, 8, HPTA, 32 } Method (RRIO, 4, NotSerialized) { Store ("RRIO", Debug) } Method (RDMA, 3, NotSerialized) { Store ("rDMA", Debug) } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) { If (Arg0) { Store (0xAA, DBG8) } Else { Store (0xAC, DBG8) } Store (Arg0, PICM) } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If (LNot (LEqual (OSVR, Ones))) { Return (OSVR) } If (LEqual (PICM, Zero)) { Store (0xAC, DBG8) } Store (One, OSVR) If (CondRefOf (_OSI, Local1)) { If (_OSI ("Windows 2001")) { Store (Zero, OSVR) } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { Store (0x04, OSVR) } Else { If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSVR) } If (MCTH (_OS, "Linux")) { Store (0x03, OSVR) } } } Return (OSVR) } Method (MCTH, 2, NotSerialized) { If (LLess (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), One, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0))))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (ShiftLeft (SS1, One), Local0) Or (Local0, ShiftLeft (SS2, 0x02), Local0) Or (Local0, ShiftLeft (SS3, 0x03), Local0) Or (Local0, ShiftLeft (SS4, 0x04), Local0) If (And (ShiftLeft (One, Arg1), Local0)) { Store (Arg1, Index (PRWP, One)) } Else { ShiftRight (Local0, One, Local0) If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { FindSetLeftBit (Local0, Index (PRWP, One)) } Else { FindSetRightBit (Local0, Index (PRWP, One)) } } Return (PRWP) } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEBX, SystemIO, 0x80, 0x02) Field (DEBX, WordAcc, NoLock, Preserve) { DBGX, 16 } OperationRegion (DEB0, SystemIO, DP80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Scope (_SB) { Name (PR00, Package (0x18) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKB, Zero }, Package (0x04) { 0x0002FFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero } }) Name (AR00, Package (0x18) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR01, Package (0x0E) { Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKH, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKF, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0002FFFF, One, LNKE, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKG, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKD, Zero } }) Name (AR01, Package (0x0E) { Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x13 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Name (_CID, 0x030AD041) Device (MCH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x0A) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00006000, // Address Length ) }) } Method (NPTS, 1, NotSerialized) { } Method (NWAK, 1, NotSerialized) { } Device (P0P2) { Name (_ADR, 0x00010000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02) } Return (PR02) } } Device (P0P1) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0B, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR01) } Return (PR01) } } Device (SBRG) { Name (_ADR, 0x001F0000) Device (IELK) { Name (_HID, "AWY0001") OperationRegion (RXA0, PCI_Config, 0xA0, 0x20) Field (RXA0, ByteAcc, NoLock, Preserve) { , 9, PBLV, 1, Offset (0x10), , 1, PBMS, 1, , 1, PMCS, 1, ECNS, 1, Offset (0x11), ECT1, 16, ELEN, 1, Offset (0x14) } Method (\_GPE._L0A, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.IELK, 0x81) Store (One, \_SB.PCI0.SBRG.IELK.PMCS) } Method (_STA, 0, NotSerialized) { If (ELEN) { Return (0x0F) } Else { Return (Zero) } } Method (SMOD, 1, NotSerialized) { } Method (GPBS, 0, NotSerialized) { Return (XOr (PBLV, One)) } } Method (SPTS, 1, NotSerialized) { Store (One, PS1S) Store (One, PS1E) Store (One, SLPS) } Method (SWAK, 1, NotSerialized) { Store (Zero, SLPS) Store (Zero, PS1E) If (LAnd (LEqual (Arg0, One), RTCS)) { Notify (PWRB, 0x02) } Else { If (LAnd (LEqual (Arg0, 0x03), BRTC)) {} Else { Notify (PWRB, 0x02) } } } OperationRegion (APMP, SystemIO, SMIP, 0x02) Field (APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field (APMP, ByteAcc, NoLock, Preserve) { Offset (0x01), , 1, BRTC, 1 } OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 4, WAKS, 1, Offset (0x03), PWBT, 1, Offset (0x04) } OperationRegion (SMIE, SystemIO, PM30, 0x08) Field (SMIE, ByteAcc, NoLock, Preserve) { , 4, PS1E, 1, , 31, PS1S, 1, Offset (0x08) } Scope (\_SB) { Name (SLPS, Zero) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Address Range Minimum 0x0020, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00A0, // Address Range Minimum 0x00A0, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8) {4} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0081, // Address Range Minimum 0x0081, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0087, // Address Range Minimum 0x0087, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0089, // Address Range Minimum 0x0089, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x008F, // Address Range Minimum 0x008F, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x00C0, // Address Range Minimum 0x00C0, // Address Range Maximum 0x00, // Address Alignment 0x20, // Address Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Address Range Minimum 0x0040, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Address Range Minimum 0x0070, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Address Range Minimum 0x0061, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Address Range Minimum 0x00F0, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IRQNoFlags () {13} }) } Device (UAR1) { Name (_UID, One) Name (_HID, EisaId ("PNP0501")) Method (_STA, 0, NotSerialized) { Return (DSTA (Zero)) } Method (_DIS, 0, NotSerialized) { DCNT (Zero, Zero) } Method (_CRS, 0, NotSerialized) { Return (DCRS (Zero, Zero)) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, Zero) } Method (_PRS, 0, NotSerialized) { Return (CMPR) } Name (CMPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} } EndDependentFn () }) } Method (UAR1._PRW, 0, NotSerialized) { Return (GPRW (0x08, 0x04)) } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Method (_FDE, 0, NotSerialized) { Name (FDEP, Package (0x05) { Zero, Zero, 0x02, 0x02, 0x02 }) If (_STA ()) { Store (One, Index (FDEP, Zero)) } Return (FDEP) } Method (_STA, 0, NotSerialized) { Return (DSTA (0x03)) } Method (_DIS, 0, NotSerialized) { DCNT (0x03, Zero) } Method (_CRS, 0, NotSerialized) { DCRS (0x03, One) Store (IRQM, IRQE) Store (DMAM, DMAE) Store (IO11, IO21) Store (IO12, IO22) Store (0x06, LEN2) Add (IO21, 0x07, IO31) Store (IO31, IO32) Store (One, LEN3) Return (CRS2) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, 0x03) CreateWordField (Arg0, One, IRQE) CreateByteField (Arg0, 0x04, DMAE) ENFG (CGLD (0x03)) If (IRQE) { FindSetRightBit (IRQE, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAE) { FindSetRightBit (DMAE, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x04, DMCH) } EXFG () } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFnNoPri () { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x0370, // Address Range Minimum 0x0370, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x0377, // Address Range Minimum 0x0377, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3} } EndDependentFn () }) } Device (SIOR) { Name (_HID, EisaId ("PNP0C02")) Method (_UID, 0, NotSerialized) { Return (SPIO) } Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0290, // Address Range Minimum 0x0290, // Address Range Maximum 0x00, // Address Alignment 0x08, // Address Length ) }) Method (_CRS, 0, NotSerialized) { If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0))) { CreateWordField (CRS, 0x02, GP10) CreateWordField (CRS, 0x04, GP11) CreateByteField (CRS, 0x07, GPL1) Store (SPIO, GP10) Store (SPIO, GP11) Store (0x02, GPL1) } Return (CRS) } } Name (DCAT, Package (0x15) { 0x02, 0x03, One, Zero, 0xFF, 0x07, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x08, 0x09, 0xFF, 0xFF }) Mutex (IOCF, 0x00) Method (ENFG, 1, NotSerialized) { Acquire (IOCF, 0xFFFF) Store (0x87, INDX) Store (0x87, INDX) Store (Arg0, LDN) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) Release (IOCF) } Method (LPTM, 1, NotSerialized) { ENFG (CGLD (Arg0)) And (OPT0, 0x02, Local0) EXFG () Return (Local0) } Method (UHID, 1, NotSerialized) { If (LEqual (Arg0, One)) { ENFG (CGLD (Arg0)) And (OPT1, 0x38, Local0) EXFG () If (Local0) { Return (0x1005D041) } } Return (0x0105D041) } Method (SIOK, 1, NotSerialized) { ENFG (0x0A) If (LGreater (Arg0, One)) { Or (CRE4, 0x10, CRE4) } Store (CRE3, Local0) EXFG () } Method (SIOS, 1, NotSerialized) { Store ("SIOS", Debug) SIOK (Arg0) } Method (SIOW, 1, NotSerialized) { Store ("SIOW", Debug) SIOK (Zero) } Method (SIOH, 0, NotSerialized) { Store ("SIOH", Debug) ENFG (0x0A) If (And (OPT3, 0x10)) { Notify (PS2K, 0x02) } If (And (OPT3, 0x20)) { Notify (PS2M, 0x02) } EXFG () SIOK (Zero) } OperationRegion (IOID, SystemIO, SPIO, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x22), FDCP, 1, , 2, LPTP, 1, URAP, 1, URBP, 1, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 4, Offset (0x74), DMCH, 3, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, CRE5, 8, CRE6, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, Offset (0xF5), OPT5, 8, OPT6, 8, Offset (0xF9), OPT9, 8 } Method (CGLD, 1, NotSerialized) { Return (DerefOf (Index (DCAT, Arg0))) } Method (DSTA, 1, NotSerialized) { ENFG (CGLD (Arg0)) Store (ACTR, Local0) EXFG () If (LEqual (Local0, 0xFF)) { Return (Zero) } If (LEqual (Arg0, 0x05)) { ShiftRight (Local0, 0x02, Local0) } If (LEqual (Arg0, 0x08)) { ShiftRight (Local0, One, Local0) } And (Local0, One, Local0) Or (IOST, ShiftLeft (Local0, Arg0), IOST) If (Local0) { Return (0x0F) } Else { If (And (ShiftLeft (One, Arg0), IOST)) { Return (0x0D) } Else { Return (Zero) } } } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) If (LEqual (Arg0, 0x05)) { ShiftLeft (IOH2, 0x08, Local1) Or (IOL2, Local1, Local1) } Else { ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) } RRIO (Arg0, Arg1, Local1, 0x08) If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), Zero)))) { RDMA (Arg0, Arg1, Increment (Local1)) } Store (Arg1, Local1) Store (One, Local2) If (LEqual (Arg0, 0x05)) { ShiftLeft (Arg1, 0x02, Local1) ShiftLeft (Local2, 0x02, Local2) } If (LEqual (Arg0, 0x08)) { ShiftLeft (Arg1, One, Local1) ShiftLeft (Local2, One, Local2) } Store (ACTR, Local0) Not (Local2, Local3) And (Local0, Local3, Local0) Or (Local0, Local1, Local0) Store (Local0, ACTR) EXFG () } Name (CRS1, ResourceTemplate () { IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) }) CreateWordField (CRS1, One, IRQM) CreateByteField (CRS1, 0x04, DMAM) CreateWordField (CRS1, 0x08, IO11) CreateWordField (CRS1, 0x0A, IO12) CreateByteField (CRS1, 0x0D, LEN1) Name (CRS2, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x00, // Address Length ) }) CreateWordField (CRS2, One, IRQE) CreateByteField (CRS2, 0x04, DMAE) CreateWordField (CRS2, 0x08, IO21) CreateWordField (CRS2, 0x0A, IO22) CreateByteField (CRS2, 0x0D, LEN2) CreateWordField (CRS2, 0x10, IO31) CreateWordField (CRS2, 0x12, IO32) CreateByteField (CRS2, 0x15, LEN3) Method (DCRS, 2, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, IO11) Or (IOAL, IO11, IO11) Store (IO11, IO12) Subtract (FindSetRightBit (IO11), One, Local0) ShiftLeft (One, Local0, LEN1) If (INTR) { ShiftLeft (One, INTR, IRQM) } Else { Store (Zero, IRQM) } If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero))) { Store (Zero, DMAM) } Else { And (DMCH, 0x03, Local1) ShiftLeft (One, Local1, DMAM) } EXFG () Return (CRS1) } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, One, IRQM) CreateByteField (Arg0, 0x04, DMAM) CreateWordField (Arg0, 0x08, IO11) ENFG (CGLD (Arg1)) And (IO11, 0xFF, IOAL) ShiftRight (IO11, 0x08, IOAH) If (IRQM) { FindSetRightBit (IRQM, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAM) { FindSetRightBit (DMAM, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x07, DMCH) } EXFG () DCNT (Arg1, One) } Device (RMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x10) Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Address Range Minimum 0x0010, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0022, // Address Range Minimum 0x0022, // Address Range Maximum 0x00, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x0044, // Address Range Minimum 0x0044, // Address Range Maximum 0x00, // Address Alignment 0x1C, // Address Length ) IO (Decode16, 0x0062, // Address Range Minimum 0x0062, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0065, // Address Range Minimum 0x0065, // Address Range Maximum 0x00, // Address Alignment 0x0B, // Address Length ) IO (Decode16, 0x0072, // Address Range Minimum 0x0072, // Address Range Maximum 0x00, // Address Alignment 0x0E, // Address Length ) IO (Decode16, 0x0080, // Address Range Minimum 0x0080, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0084, // Address Range Minimum 0x0084, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0088, // Address Range Minimum 0x0088, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x008C, // Address Range Minimum 0x008C, // Address Range Maximum 0x00, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x0090, // Address Range Minimum 0x0090, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x00A2, // Address Range Minimum 0x00A2, // Address Range Maximum 0x00, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x00E0, // Address Range Minimum 0x00E0, // Address Range Maximum 0x00, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x04D0, // Address Range Minimum 0x04D0, // Address Range Maximum 0x00, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x00, // Address Alignment 0x00, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) Memory32Fixed (ReadWrite, 0xFF9FA000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFF00000, // Address Base 0x000FFFFF, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRS, 0x72, GP00) CreateWordField (CRS, 0x74, GP01) CreateByteField (CRS, 0x77, GP0L) Store (PMBS, GP00) Store (PMBS, GP01) Store (PMLN, GP0L) If (SMBS) { CreateWordField (CRS, 0x7A, GP10) CreateWordField (CRS, 0x7C, GP11) CreateByteField (CRS, 0x7F, GP1L) Store (SMBS, GP10) Store (SMBS, GP11) Store (SMBL, GP1L) } If (GPBS) { CreateWordField (CRS, 0x82, GP20) CreateWordField (CRS, 0x84, GP21) CreateByteField (CRS, 0x87, GP2L) Store (GPBS, GP20) Store (GPBS, GP21) Store (GPLN, GP2L) } Return (CRS) } } Scope (\_SB.PCI0.SBRG) { Device (ASOC) { Name (_HID, "ATK0110") Name (_UID, 0x01010110) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_INI, 0, NotSerialized) { Name (_T_0, Zero) Store (GNVS (0x3774), _T_0) If (LEqual (_T_0, Zero)) { Store (0xA6, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, One)) { Store (0x21, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x02)) { Store (0x42, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x03)) { Store (0x64, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x04)) { Store (0xE9, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x05)) { Store (Zero, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x06)) { Store (0x012C, Index (G3T0, 0x03)) } } } } } } } Store (Subtract (GNVS (0x66B9), 0x06), Index (G3T2, 0x03)) } Name (MBIF, Package (0x08) { 0x03, "P5B-V", 0x01010101, 0x01010101, 0xE0000001, Zero, Zero, Zero }) Name (ASBF, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (ASBF, Zero, ASB0) CreateDWordField (ASBF, 0x04, ASB1) Method (GGRP, 1, Serialized) { Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { Return (GRP0) } Else { If (LEqual (_T_0, 0x03)) { Return (GRP3) } Else { If (LEqual (_T_0, 0x04)) { Store (GNVS (0x1787), Local0) If (LEqual (Local0, One)) { Return (GR41) } Else { Return (GR42) } } Else { If (LEqual (_T_0, 0x05)) { Return (GRP5) } Else { If (LEqual (_T_0, 0x06)) { Return (GRP6) } Else { If (LEqual (_T_0, 0x08)) { Return (GRP8) } Else { If (LEqual (_T_0, 0x09)) { Return (GRP9) } Else { If (LEqual (_T_0, 0x0A)) { Return (GRPA) } Else { If (LEqual (_T_0, 0x0B)) { Return (GRPB) } Else { Return (Zero) } } } } } } } } } } Method (GITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { GIT0 (PRM0) } Else { If (LEqual (_T_0, 0x03)) { GIT3 (PRM0) } Else { If (LEqual (_T_0, 0x04)) { GIT4 (PRM0) } Else { If (LEqual (_T_0, 0x05)) { GIT5 (PRM0) } Else { If (LEqual (_T_0, 0x06)) { GIT6 (PRM0) } Else { If (LEqual (_T_0, 0x08)) { GIT8 (PRM0) } Else { If (LEqual (_T_0, 0x09)) { GIT9 (PRM0) } Else { If (LEqual (_T_0, 0x0A)) { GITA (PRM0) } Else { If (LEqual (_T_0, 0x0B)) { GITB (PRM0) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (SITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateDWordField (Arg0, 0x04, PRM1) CreateDWordField (Arg0, 0x08, PRM2) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { SIT0 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x03)) { SIT3 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x04)) { SIT4 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x05)) { SIT5 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x06)) { SIT6 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x08)) { SIT8 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x09)) { SIT9 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0A)) { SITA (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0B)) { SITB (PRM0, PRM1, PRM2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (OP2V, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Multiply (Arg0, Local1, Local1) Add (Local0, Local1, Local0) Return (Local0) } Method (V2OP, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Subtract (Arg0, Local0, Local0) Divide (Local0, Local1, Local1, Local0) Return (Local0) } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) OperationRegion (HPTC, SystemMemory, HTBA, 0x04) Field (HPTC, ByteAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) { If (LEqual (OSFL (), Zero)) { If (HPTE) { Return (0x0F) } } Else { If (HPTE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x04, HPT) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HPT) Return (CRS) } } OperationRegion (RX80, PCI_Config, Zero, 0xFF) Field (RX80, ByteAcc, NoLock, Preserve) { Offset (0x80), LPCD, 16, LPCE, 16 } Name (DBPT, Package (0x04) { Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x03) { 0x0378, 0x0278, 0x03BC }, Package (0x02) { 0x03F0, 0x0370 } }) Name (DDLT, Package (0x04) { Package (0x02) { Zero, 0xFFF8 }, Package (0x02) { 0x04, 0xFF8F }, Package (0x02) { 0x08, 0xFCFF }, Package (0x02) { 0x0C, 0xEFFF } }) Method (RRIO, 4, NotSerialized) { If (LAnd (LNot (LGreater (Arg0, 0x03)), LNot (LLess (Arg0, Zero)))) { Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, Zero, Zero), Local0) If (LNot (LEqual (Local0, Ones))) { Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), Local1) Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), Local2) ShiftLeft (Local0, Local1, Local0) And (LPCD, Local2, LPCD) Or (LPCD, Local0, LPCD) WX82 (Arg0, Arg1) } } If (LEqual (Arg0, 0x08)) { If (LEqual (Arg2, 0x0200)) { WX82 (0x08, Arg0) } Else { If (LEqual (Arg2, 0x0208)) { WX82 (0x09, Arg0) } } } If (LAnd (LNot (LGreater (Arg0, 0x0D)), LNot (LLess (Arg0, 0x0A)))) { WX82 (Arg0, Arg1) } } Method (WX82, 2, NotSerialized) { ShiftLeft (One, Arg0, Local0) If (Arg1) { Or (LPCE, Local0, LPCE) } Else { Not (Local0, Local0) And (LPCE, Local0, LPCE) } } Method (RDMA, 3, NotSerialized) { } Scope (\) { OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000) Field (RAMW, ByteAcc, NoLock, Preserve) { PAR0, 32, PAR1, 32 } OperationRegion (IOB2, SystemIO, 0xB2, 0x02) Field (IOB2, ByteAcc, NoLock, Preserve) { SMIC, 8, SMIS, 8 } Method (ISMI, 1, Serialized) { Store (Arg0, SMIC) } Method (GNVS, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x70) Return (PAR1) } Method (SNVS, 2, Serialized) { Store (Arg0, PAR0) Store (Arg1, PAR1) ISMI (0x71) } } Scope (ASOC) { Name (ALAE, Package (0x04) { 0x0A070001, "Music Alarm", Zero, Zero }) Name (ALSU, Package (0x04) { 0x0A070002, "Sunday", Zero, One }) Name (ALMO, Package (0x04) { 0x0A070003, "Monday", Zero, One }) Name (ALTU, Package (0x04) { 0x0A070004, "Tuesday", Zero, One }) Name (ALWE, Package (0x04) { 0x0A070005, "Wednesday", Zero, One }) Name (ALTH, Package (0x04) { 0x0A070006, "Thursday", Zero, One }) Name (ALFR, Package (0x04) { 0x0A070007, "Friday", Zero, One }) Name (ALSA, Package (0x04) { 0x0A070008, "Saturday", Zero, One }) Name (ALAH, Package (0x07) { 0x0A060009, "Alarm Hour", Zero, 0x0C, Zero, One, 0x18 }) Name (ALAM, Package (0x07) { 0x0A06000A, "Alarm Mins", Zero, Zero, Zero, One, 0x3C }) Name (ALAC, Package (0x0A) { 0x0A08000B, "Music Alarm Drive", Zero, 0x03, 0x05, "Primary IDE Master", "Primary IDE Slave", "Secondary IDE Master", "Secondary IDE Slave", "JMicron JMB363 IDE" }) Name (ALAT, Package (0x07) { 0x0A06000C, "Starting Track", Zero, 0x10, Zero, One, 0x20 }) Name (ALAR, Package (0x08) { 0x0A08000D, "Repeat", Zero, Zero, 0x03, "none", "Single", "All" }) Name (ALAL, Package (0x09) { 0x0A08000E, "Length", Zero, Zero, 0x04, "10 mins", "20 mins", "30 mins", "1 hour" }) Name (ALAV, Package (0x07) { 0x0A06000F, "Volume", Zero, 0x0F, Zero, One, 0x20 }) Name (GRPA, Package (0x0F) { ALAE, ALSU, ALMO, ALTU, ALWE, ALTH, ALFR, ALSA, ALAH, ALAM, ALAC, ALAT, ALAR, ALAL, ALAV }) Method (GITA, 1, NotSerialized) { Store (And (Arg0, 0xFF), Local0) Name (_T_0, Zero) Store (Local0, _T_0) If (LEqual (_T_0, One)) { Store (GNVS (0x16EE), ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (GNVS (0x16EF), ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (GNVS (0x16F0), ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (GNVS (0x16F1), ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (GNVS (0x16F2), ASB1) } Else { If (LEqual (_T_0, 0x06)) { Store (GNVS (0x16F3), ASB1) } Else { If (LEqual (_T_0, 0x07)) { Store (GNVS (0x16F4), ASB1) } Else { If (LEqual (_T_0, 0x08)) { Store (GNVS (0x16F5), ASB1) } Else { If (LEqual (_T_0, 0x09)) { Store (GNVS (0x5368), ASB1) } Else { If (LEqual (_T_0, 0x0A)) { Store (GNVS (0x6338), ASB1) } Else { If (LEqual (_T_0, 0x0B)) { Store (GNVS (0x3445), ASB1) } Else { If (LEqual (_T_0, 0x0C)) { Store (GNVS (0x5360), ASB1) } Else { If (LEqual (_T_0, 0x0D)) { Store (GNVS (0x256A), ASB1) } Else { If (LEqual (_T_0, 0x0E)) { Store (GNVS (0x256C), ASB1) } Else { If (LEqual (_T_0, 0x0F)) { Store (GNVS (0x5378), ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } Method (SITA, 3, NotSerialized) { Store (And (Arg0, 0xFF), Local0) Name (_T_0, Zero) Store (Local0, _T_0) If (LEqual (_T_0, One)) { SNVS (0x16EE, Arg1) } Else { If (LEqual (_T_0, 0x02)) { SNVS (0x16EF, Arg1) } Else { If (LEqual (_T_0, 0x03)) { SNVS (0x16F0, Arg1) } Else { If (LEqual (_T_0, 0x04)) { SNVS (0x16F1, Arg1) } Else { If (LEqual (_T_0, 0x05)) { SNVS (0x16F2, Arg1) } Else { If (LEqual (_T_0, 0x06)) { SNVS (0x16F3, Arg1) } Else { If (LEqual (_T_0, 0x07)) { SNVS (0x16F4, Arg1) } Else { If (LEqual (_T_0, 0x08)) { SNVS (0x16F5, Arg1) } Else { If (LEqual (_T_0, 0x09)) { SNVS (0x5368, Arg1) } Else { If (LEqual (_T_0, 0x0A)) { SNVS (0x6338, Arg1) } Else { If (LEqual (_T_0, 0x0B)) { SNVS (0x3445, Arg1) } Else { If (LEqual (_T_0, 0x0C)) { SNVS (0x5360, Arg1) } Else { If (LEqual (_T_0, 0x0D)) { SNVS (0x256A, Arg1) } Else { If (LEqual (_T_0, 0x0E)) { SNVS (0x256C, Arg1) } Else { If (LEqual (_T_0, 0x0F)) { SNVS (0x5378, Arg1) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } } Device (^PCIE) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x11) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xE0000000, // Address Base 0x10000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x04, BAS1) CreateDWordField (CRS, 0x08, LEN1) Store (PCIB, BAS1) Store (PCIL, LEN1) Return (CRS) } } Scope (\_GPE) { Method (_L1C, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.ASOC, One) Sleep (0x03E8) } } Scope (ASOC) { Name (VESL, Zero) Method (SPLV, 1, Serialized) { And (Arg0, 0xFFFF, VESL) Store (VESL, PAR0) ISMI (0x88) Store (And (PAR0, 0xFFFF), Local0) Return (Local0) } Method (GPLV, 0, Serialized) { Return (VESL) } } Device (OMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, Zero) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { If (APIC) { CreateDWordField (CRS, 0x08, ML01) CreateDWordField (CRS, 0x04, MB01) CreateDWordField (CRS, 0x14, ML02) CreateDWordField (CRS, 0x10, MB02) Store (0xFEC00000, MB01) Store (0x1000, ML01) Store (0xFEE00000, MB02) Store (0x1000, ML02) } Return (CRS) } } Device (^^RMEM) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, One) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x10, BAS1) CreateDWordField (CRS, 0x14, LEN1) CreateDWordField (CRS, 0x1C, BAS2) CreateDWordField (CRS, 0x20, LEN2) CreateDWordField (CRS, 0x2C, LEN3) CreateDWordField (CRS, 0x34, BAS4) CreateDWordField (CRS, 0x38, LEN4) If (OSFL ()) {} Else { If (MG1B) { If (LGreater (MG1B, 0x000C0000)) { Store (0x000C0000, BAS1) Subtract (MG1B, BAS1, LEN1) } } Else { Store (0x000C0000, BAS1) Store (0x00020000, LEN1) } If (Add (MG1B, MG1L, Local0)) { Store (Local0, BAS2) Subtract (0x00100000, BAS2, LEN2) } } Subtract (MG2B, 0x00100000, LEN3) Add (MG2B, MG2L, BAS4) Subtract (Zero, BAS4, LEN4) Return (CRS) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {1} }) } Method (PS2K._PRW, 0, NotSerialized) { Return (GPRW (0x1F, 0x04)) } Device (PS2M) { Name (_HID, EisaId ("PNP0F03")) Name (_CID, 0x130FD041) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0C, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (CRS1, ResourceTemplate () { IRQNoFlags () {12} }) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x00, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (CRS1) } Else { Return (CRS2) } } } Method (PS2M._PRW, 0, NotSerialized) { Return (GPRW (0x1D, 0x04)) } } Device (SATA) { Name (_ADR, 0x001F0002) Name (^NATA, Package (0x01) { 0x001F0002 }) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { FZHD () ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { FZHD () ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } } Device (SAT1) { Name (_ADR, 0x001F0005) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } } Device (EUSB) { Name (_ADR, 0x001D0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (USBE) { Name (_ADR, 0x001A0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (P0P5) { Name (_ADR, 0x001C0001) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } Device (P0P6) { Name (_ADR, 0x001C0002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06) } Return (PR06) } } Device (P0P7) { Name (_ADR, 0x001C0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07) } Return (PR07) } } Device (P0P8) { Name (_ADR, 0x001C0004) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR08) } Return (PR08) } Device (JMF0) { Name (_ADR, Zero) Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { , 3, CAB0, 1, , 18, SWAP, 1, CHN0, 1, Offset (0x04) } OperationRegion (CF80, PCI_Config, 0x80, 0x04) Field (CF80, ByteAcc, NoLock, Preserve) { , 19, CAB1, 1, Offset (0x03), CHN1, 1, Offset (0x04) } Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PMIO, 0x04) Name (PMDM, 0x06) Name (PSIO, 0x04) Name (PSDM, 0x06) Name (SMIO, 0x04) Name (SMDM, 0x06) Name (SSIO, 0x04) Name (SSDM, 0x06) Name (MODP, 0x05) Name (MODS, 0x05) Device (SDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PMIO)), Local0) Store (DerefOf (Index (PIOT, PSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODP, One)) { Store (DerefOf (Index (UDMA, PMDM)), Local1) If (LGreater (PMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, PMDM)), Local1) } If (LAnd (MODP, 0x04)) { Store (DerefOf (Index (UDMA, PSDM)), Local3) If (LGreater (PSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, PSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } } Store (Local4, MODP) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PMDM, DMAM) If (LAnd (MODP, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PSDM, DMAM) If (LAnd (MODP, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (SDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, SMIO)), Local0) Store (DerefOf (Index (PIOT, SSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODS, One)) { Store (DerefOf (Index (UDMA, SMDM)), Local1) If (LGreater (SMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, SMDM)), Local1) } If (LAnd (MODS, 0x04)) { Store (DerefOf (Index (UDMA, SSDM)), Local3) If (LGreater (SSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, SSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } } Store (Local4, MODS) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SMDM, DMAM) If (LAnd (MODS, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SSDM, DMAM) If (LAnd (MODS, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } Device (JMF1) { Name (_ADR, One) Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { , 3, CAB0, 1, , 18, SWAP, 1, CHN0, 1, Offset (0x04) } OperationRegion (CF80, PCI_Config, 0x80, 0x04) Field (CF80, ByteAcc, NoLock, Preserve) { , 19, CAB1, 1, Offset (0x03), CHN1, 1, Offset (0x04) } Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PMIO, 0x04) Name (PMDM, 0x06) Name (PSIO, 0x04) Name (PSDM, 0x06) Name (SMIO, 0x04) Name (SMDM, 0x06) Name (SSIO, 0x04) Name (SSDM, 0x06) Name (MODP, 0x05) Name (MODS, 0x05) Device (SDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PMIO)), Local0) Store (DerefOf (Index (PIOT, PSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODP, One)) { Store (DerefOf (Index (UDMA, PMDM)), Local1) If (LGreater (PMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, PMDM)), Local1) } If (LAnd (MODP, 0x04)) { Store (DerefOf (Index (UDMA, PSDM)), Local3) If (LGreater (PSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, PSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } } Store (Local4, MODP) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PMDM, DMAM) If (LAnd (MODP, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PSDM, DMAM) If (LAnd (MODP, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (SDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, SMIO)), Local0) Store (DerefOf (Index (PIOT, SSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODS, One)) { Store (DerefOf (Index (UDMA, SMDM)), Local1) If (LGreater (SMDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, SMDM)), Local1) } If (LAnd (MODS, 0x04)) { Store (DerefOf (Index (UDMA, SSDM)), Local3) If (LGreater (SSDM, 0x02)) { If (LAnd (LNot (LEqual (SWAP, One)), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, SSDM)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) If (LAnd (LNot (LEqual (Local0, Ones)), LNot (LEqual (Local0, Zero)))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO) } If (LAnd (LNot (LEqual (Local1, Ones)), LNot (LEqual (Local1, Zero)))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } } If (LAnd (LNot (LEqual (Local2, Ones)), LNot (LEqual (Local2, Zero)))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO) } If (LAnd (LNot (LEqual (Local3, Ones)), LNot (LEqual (Local3, Zero)))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } } Store (Local4, MODS) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SMDM, DMAM) If (LAnd (MODS, One)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (SSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SSDM, DMAM) If (LAnd (MODS, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } } Device (P0P9) { Name (_ADR, 0x001C0005) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR09) } Return (PR09) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x03, 0x04)) } } Device (USB1) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x04, 0x04)) } } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0C, 0x04)) } } Device (USB3) { Name (_ADR, 0x001D0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB4) { Name (_ADR, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x04)) } } Device (P0P4) { Name (_ADR, 0x001C0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04) } Return (PR04) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.P0P7, 0x02) Notify (\_SB.PCI0.P0P8, 0x02) Notify (\_SB.PCI0.P0P9, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L08, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1F, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PCI0.USBE, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G0T0, Package (0x07) { 0x00060000, "AP version", 0x40000000, Zero, Zero, One, 0x02 }) Name (G0T1, Package (0x07) { 0x00060001, "Feature flag", 0x40000000, Zero, Zero, One, 0x04 }) Name (GRP0, Package (0x02) { G0T0, G0T1 }) Method (GIT0, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, ASB1) } Else { If (LEqual (_T_0, One)) { Store (One, ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT0, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0300, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0301, DBG8) } Else { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G3T0, Package (0x07) { 0x03010011, "CPU frequency", Zero, Zero, 0x2710, 0x64, 0x012D }) Name (G3T2, Package (0x07) { 0x03060013, "CPU ratio", Zero, Zero, 0x06, One, 0x14 }) Name (G321, Package (0x09) { 0x03820032, "DRAM voltage", Zero, Zero, 0x0708, 0x32, 0x0D, One, "Auto" }) Name (G322, Package (0x0C) { 0x03080031, "DRAM frequency", Zero, Zero, 0x07, "Auto", Zero, "533 MHz", "667 MHz", "800 MHz", "889 MHz", "1067 MHz" }) Name (G340, Package (0x09) { 0x03810051, "PCI Express frequency", Zero, Zero, 0x2328, 0x64, 0x3D, One, "Auto" }) Name (GRP3, Package (0x05) { G3T0, G3T2, G321, G322, G340 }) Method (GIT3, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Subtract (GNVS (0x02C0), 0x64, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Subtract (GNVS (0x8298), 0x06, ASB1) } Else { If (LEqual (_T_0, 0x32)) { Store (GNVS (0x4438), ASB1) } Else { If (LEqual (_T_0, 0x31)) { Store (GNVS (0x3480), ASB1) } Else { If (LEqual (_T_0, 0x51)) { Store (GNVS (0x62D0), ASB1) } Else { Store (Zero, ASB0) } } } } } } Method (SIT3, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Add (Arg1, 0x64, Local2) If (LNot (LEqual (GNVS (0x02C0), Local2))) { CreateByteField (CLKR, 0x04, CB04) CreateWordField (CLKR, 0x0E, CBMN) Store (RBLK (0xD2, Zero, 0x13), CLKR) Multiply (Arg1, 0x03, Local0) CreateByteField (MNBF, Local0, MN04) CreateWordField (MNBF, Increment (Local0), MNVL) If (LEqual (CB04, MN04)) { If (And (Arg2, One)) { Store (MNVL, CBMN) WBLK (0xD2, Zero, 0x13, CLKR) } } Else { Or (ASB0, 0x02, ASB0) } If (And (Arg2, One)) { SNVS (0x02C0, Local2) } } } Else { If (LEqual (_T_0, 0x13)) { If (LNot (LEqual (GNVS (0x8298), Add (Arg1, 0x06, Arg1)))) { If (And (Arg2, One)) { SNVS (0x8298, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x32)) { If (LNot (LEqual (GNVS (0x4438), Arg1))) { If (LEqual (Arg1, Zero)) { Or (ASB0, 0x02, ASB0) } Else { If (And (Arg2, One)) { ENFG (0x0A) And (CRE5, 0xE1, Local1) ShiftLeft (Subtract (Arg1, One), One, Local2) Or (Local1, Local2, CRE5) EXFG () } } If (And (Arg2, One)) { SNVS (0x4438, Arg1) } } } Else { If (LEqual (_T_0, 0x31)) { If (LNot (LEqual (GNVS (0x3480), Arg1))) { If (And (Arg2, One)) { SNVS (0x3480, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x51)) { If (LNot (LEqual (GNVS (0x62D0), Arg1))) { CreateByteField (CLKR, 0x10, CB16) Store (RBLK (0xD2, Zero, 0x13), CLKR) CreateByteField (PCEF, Arg1, PC16) If (LEqual (CB16, PC16)) { If (And (Arg2, One)) { Store (PC16, CB16) WBLK (0xD2, Zero, 0x13, CLKR) SNVS (0x62D0, Arg1) } } } } Else { Store (Zero, ASB0) } } } } } } Name (CLKR, Buffer (0x18) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (PCEF, Buffer (0x3E) { 0xC8, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x00, 0x02, 0x04, 0x06, 0x08, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96 }) Name (MNBF, Buffer (0x0387) { 0x05, 0xC8, 0x3C, 0x05, 0xCA, 0x3C, 0x05, 0xCC, 0x3C, 0x05, 0xCE, 0x3C, 0x05, 0xD0, 0x3C, 0x05, 0xD2, 0x3C, 0x05, 0xD4, 0x3C, 0x05, 0xD6, 0x3C, 0x05, 0xD8, 0x3C, 0x05, 0xDA, 0x3C, 0x05, 0xDC, 0x3C, 0x05, 0xDE, 0x3C, 0x05, 0xE0, 0x3C, 0x05, 0xE2, 0x3C, 0x05, 0xE4, 0x3C, 0x05, 0xE6, 0x3C, 0x05, 0xE8, 0x3C, 0x05, 0xEA, 0x3C, 0x05, 0xEC, 0x3C, 0x05, 0xEE, 0x3C, 0x05, 0xF0, 0x3C, 0x05, 0xF2, 0x3C, 0x05, 0xF4, 0x3C, 0x05, 0xF6, 0x3C, 0x05, 0xF8, 0x3C, 0x05, 0xFA, 0x3C, 0x05, 0xFC, 0x3C, 0x05, 0xFE, 0x3C, 0x05, 0x00, 0xBC, 0x05, 0x02, 0xBC, 0x05, 0x04, 0xBC, 0x05, 0x06, 0xBC, 0x05, 0x08, 0xBC, 0x03, 0x8A, 0x3E, 0x03, 0x70, 0x32, 0x03, 0x9E, 0x46, 0x03, 0x7D, 0x37, 0x03, 0x8D, 0x3E, 0x03, 0x8A, 0x3C, 0x03, 0x8B, 0x3C, 0x03, 0x90, 0x3E, 0x03, 0x8D, 0x3C, 0x03, 0x8E, 0x3C, 0x03, 0x93, 0x3E, 0x03, 0x90, 0x3C, 0x03, 0x91, 0x3C, 0x03, 0x92, 0x3C, 0x03, 0x97, 0x3E, 0x03, 0x94, 0x3C, 0x03, 0x95, 0x3C, 0x03, 0x96, 0x3C, 0x03, 0x97, 0x3C, 0x03, 0x98, 0x3C, 0x03, 0x9E, 0x3E, 0x03, 0x9A, 0x3C, 0x03, 0x9B, 0x3C, 0x03, 0x9C, 0x3C, 0x03, 0x9D, 0x3C, 0x03, 0x9E, 0x3C, 0x03, 0x9F, 0x3C, 0x03, 0xA5, 0x3E, 0x03, 0xA1, 0x3C, 0x03, 0xA2, 0x3C, 0x03, 0xA3, 0x3C, 0x03, 0xA4, 0x3C, 0x03, 0xA5, 0x3C, 0x03, 0xA6, 0x3C, 0x03, 0xA7, 0x3C, 0x03, 0xA8, 0x3C, 0x03, 0xA9, 0x3C, 0x03, 0xAA, 0x3C, 0x03, 0xAB, 0x3C, 0x03, 0xAC, 0x3C, 0x03, 0xAD, 0x3C, 0x03, 0xAE, 0x3C, 0x03, 0xAF, 0x3C, 0x03, 0xB0, 0x3C, 0x03, 0xB1, 0x3C, 0x03, 0xB2, 0x3C, 0x03, 0xB3, 0x3C, 0x03, 0xB4, 0x3C, 0x03, 0xB5, 0x3C, 0x03, 0xB6, 0x3C, 0x03, 0xB7, 0x3C, 0x03, 0xB8, 0x3C, 0x03, 0xB9, 0x3C, 0x03, 0xBA, 0x3C, 0x03, 0xBB, 0x3C, 0x03, 0xBC, 0x3C, 0x03, 0xBD, 0x3C, 0x03, 0xBE, 0x3C, 0x03, 0xBF, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC1, 0x3C, 0x03, 0xC2, 0x3C, 0x03, 0xC3, 0x3C, 0x03, 0xC4, 0x3C, 0x03, 0xC5, 0x3C, 0x03, 0xC6, 0x3C, 0x03, 0xC7, 0x3C, 0x02, 0xD6, 0x40, 0x02, 0xA8, 0x32, 0x02, 0xB3, 0x35, 0x02, 0xBE, 0x38, 0x02, 0xBF, 0x38, 0x02, 0xCD, 0x3C, 0x02, 0xDB, 0x40, 0x02, 0xCF, 0x3C, 0x02, 0xD0, 0x3C, 0x02, 0xD1, 0x3C, 0x02, 0xE0, 0x40, 0x02, 0xD3, 0x3C, 0x02, 0xD4, 0x3C, 0x02, 0xD5, 0x3C, 0x02, 0xE4, 0x40, 0x02, 0xD7, 0x3C, 0x02, 0xD8, 0x3C, 0x02, 0xD9, 0x3C, 0x02, 0xDA, 0x3C, 0x02, 0xDB, 0x3C, 0x02, 0xEA, 0x40, 0x02, 0xDD, 0x3C, 0x02, 0xDE, 0x3C, 0x02, 0xDF, 0x3C, 0x02, 0xE0, 0x3C, 0x02, 0xE1, 0x3C, 0x02, 0xE2, 0x3C, 0x02, 0xE3, 0x3C, 0x02, 0xE4, 0x3C, 0x02, 0xE5, 0x3C, 0x02, 0xF5, 0x40, 0x02, 0xE7, 0x3C, 0x02, 0xE8, 0x3C, 0x02, 0xE9, 0x3C, 0x02, 0xEA, 0x3C, 0x02, 0xEB, 0x3C, 0x02, 0xEC, 0x3C, 0x02, 0xED, 0x3C, 0x02, 0xEE, 0x3C, 0x02, 0xEF, 0x3C, 0x02, 0xFF, 0x40, 0x02, 0xF1, 0x3C, 0x02, 0xF2, 0x3C, 0x02, 0xF3, 0x3C, 0x02, 0xF4, 0x3C, 0x02, 0xF5, 0x3C, 0x02, 0xF6, 0x3C, 0x02, 0xF7, 0x3C, 0x02, 0xF8, 0x3C, 0x02, 0xF9, 0x3C, 0x02, 0xFA, 0x3C, 0x02, 0xFB, 0x3C, 0x02, 0xFC, 0x3C, 0x02, 0xFD, 0x3C, 0x02, 0xFE, 0x3C, 0x02, 0xFF, 0x3C, 0x02, 0x00, 0xBC, 0x02, 0x01, 0xBC, 0x02, 0x02, 0xBC, 0x02, 0x03, 0xBC, 0x02, 0x82, 0x1E, 0x02, 0x05, 0xBC, 0x02, 0x06, 0xBC, 0x02, 0x07, 0xBC, 0x02, 0x08, 0xBC, 0x02, 0x09, 0xBC, 0x00, 0xAA, 0x33, 0x00, 0xE7, 0x45, 0x00, 0xA8, 0x32, 0x00, 0xAC, 0x33, 0x00, 0xB0, 0x34, 0x00, 0x69, 0x1F, 0x00, 0x44, 0x14, 0x00, 0x74, 0x22, 0x00, 0xAE, 0x33, 0x00, 0x6E, 0x20, 0x00, 0x45, 0x14, 0x00, 0x5A, 0x1A, 0x00, 0x49, 0x15, 0x00, 0x81, 0x25, 0x00, 0x46, 0x14, 0x00, 0xB3, 0x33, 0x00, 0x4A, 0x15, 0x00, 0x5C, 0x1A, 0x00, 0x47, 0x14, 0x00, 0x72, 0x20, 0x00, 0xB6, 0x33, 0x00, 0x7A, 0x22, 0x00, 0x48, 0x14, 0x00, 0x70, 0x1F, 0x00, 0x57, 0x18, 0x00, 0x50, 0x16, 0x00, 0x49, 0x14, 0x00, 0xE3, 0x3E, 0x00, 0xBB, 0x33, 0x00, 0x76, 0x20, 0x00, 0x4A, 0x14, 0x00, 0xC1, 0x34, 0x00, 0x6C, 0x1D, 0x00, 0x47, 0x13, 0x00, 0x4B, 0x14, 0x00, 0x4F, 0x15, 0x00, 0x75, 0x1F, 0x00, 0x7D, 0x21, 0x00, 0x4C, 0x14, 0x00, 0x7A, 0x20, 0x00, 0xC3, 0x33, 0x00, 0x77, 0x1F, 0x00, 0x4D, 0x14, 0x00, 0x55, 0x16, 0x00, 0x5D, 0x18, 0x00, 0xAB, 0x2C, 0x00, 0x4E, 0x14, 0x00, 0x5A, 0x17, 0x00, 0x6A, 0x1B, 0x00, 0x7E, 0x20, 0x00, 0x4F, 0x14, 0x00, 0x67, 0x1A, 0x00, 0x9B, 0x27, 0x00, 0xF7, 0x3E, 0x00, 0xCC, 0x33, 0x04, 0xC6, 0x4A, 0x04, 0xA1, 0x3C, 0x04, 0x8C, 0x34, 0x04, 0x87, 0x32, 0x04, 0x95, 0x37, 0x04, 0x90, 0x35, 0x04, 0x8B, 0x33, 0x04, 0xA4, 0x3C, 0x04, 0x9F, 0x3A, 0x04, 0x8F, 0x34, 0x04, 0xA0, 0x3A, 0x04, 0xA6, 0x3C, 0x04, 0x56, 0x1F, 0x04, 0x40, 0x17, 0x04, 0x43, 0x18, 0x04, 0x38, 0x14, 0x04, 0x49, 0x1A, 0x04, 0x8A, 0x31, 0x04, 0x71, 0x28, 0x04, 0x44, 0x18, 0x04, 0x6C, 0x26, 0x04, 0x39, 0x14, 0x04, 0xCB, 0x47, 0x04, 0x56, 0x1E, 0x04, 0x45, 0x18, 0x04, 0x7C, 0x2B, 0x04, 0x6B, 0x25, 0x04, 0x3A, 0x14, 0x04, 0x40, 0x16, 0x04, 0x46, 0x18, 0x04, 0x75, 0x28, 0x04, 0x58, 0x1E, 0x04, 0x64, 0x22, 0x04, 0x3B, 0x14, 0x04, 0x47, 0x18, 0x04, 0x59, 0x1E, 0x04, 0x74, 0x27, 0x04, 0xAD, 0x3A, 0x04, 0xEF, 0x50, 0x04, 0x3C, 0x14, 0x04, 0xF1, 0x50, 0x04, 0xAF, 0x3A, 0x04, 0x76, 0x27, 0x04, 0x5B, 0x1E, 0x04, 0x49, 0x18, 0x04, 0x3D, 0x14, 0x04, 0x68, 0x22, 0x04, 0x5C, 0x1E, 0x04, 0x7B, 0x28, 0x04, 0x4A, 0x18, 0x04, 0x44, 0x16, 0x04, 0x3E, 0x14, 0x04, 0x73, 0x25, 0x04, 0x86, 0x2B, 0x04, 0x4B, 0x18, 0x04, 0x5E, 0x1E, 0x04, 0xDF, 0x47, 0x04, 0x3F, 0x14, 0x04, 0x78, 0x26, 0x04, 0x4C, 0x18, 0x04, 0x7F, 0x28, 0x04, 0x9C, 0x31, 0x04, 0x53, 0x1A, 0x04, 0x40, 0x14, 0x04, 0x4D, 0x18, 0x04, 0x4A, 0x17, 0x04, 0x64, 0x1F, 0x04, 0x61, 0x1E, 0x04, 0x5E, 0x1D, 0x04, 0x41, 0x14, 0x04, 0x65, 0x1F, 0x04, 0x62, 0x1E, 0x04, 0x83, 0x28, 0x04, 0x97, 0x2E, 0x04, 0x4F, 0x18, 0x04, 0x42, 0x14, 0x04, 0x56, 0x1A, 0x04, 0x88, 0x29, 0x04, 0x7B, 0x25, 0x04, 0x46, 0x15 }) } Scope (_SB.PCI0.SBRG.ASOC) { Name (OC01, Package (0x06) { 0x01010000, "CPU FSB", 0x2710, 0x9C40, 0x012D, 0x00010003 }) Name (OT00, Package (0x04) { 0x01010000, 0x2710, Zero, One }) Name (OC02, Package (0x06) { 0x01060001, "CPU Multiplier", 0x08, 0x18, 0x11, 0x00010003 }) Name (CPUM, Package (0x04) { 0x01060001, 0x0A, Zero, Zero }) Name (OC03, Package (0x06) { 0x02010002, "Memory Freq", Zero, Zero, 0x07, 0x00010000 }) Name (MEMO, Package (0x0B) { 0x02010002, 0xD034, Zero, One, "Auto", "RESERVE", "533 MHz", "667 MHz", "800 MHz", "889 MHz", "1067 MHz" }) Name (OC04, Package (0x06) { 0x07010003, "PCI Express", 0x2328, 0x3A98, 0x3D, 0x00010000 }) Name (PCIO, Package (0x04) { 0x07010003, 0x2328, Zero, One }) Name (OC0A, Package (0x06) { 0x0202000F, "DRAM Voltage", 0x0708, 0x0992, 0x0E, 0x0001000F }) Name (RAMV, Package (0x13) { 0x0202000F, 0x0708, 0x02, One, "Auto", "1.80V", "1.85V", "1.90V", "1.95V", "2.00V", "2.05V", "2.10V", "2.15V", "2.20V", "2.25V", "2.30V", "2.35V", "2.40V", "2.45V" }) Name (OC0D, Package (0x06) { 0x0906000C, "AI Overclock Tuner", Zero, 0x04, 0x05, 0x00010003 }) Name (AITM, Package (0x09) { 0x0906000C, Zero, One, One, "Manual", "Auto", "Standard", "", "AI N.O.S." }) Name (OC0E, Package (0x06) { 0x0806000D, "NOS Mode", Zero, One, 0x02, 0x00010003 }) Name (NOSM, Package (0x06) { 0x0806000D, Zero, Zero, One, "Auto", "Manual" }) Name (OC06, Package (0x06) { 0x08050005, "Turbo NOS", 0x67, 0x78, 0x07, 0x00010003 }) Name (AOC2, Package (0x0B) { 0x08050005, 0x64, Zero, One, "", "103%", "105%", "107%", "110%", "115%", "120%" }) Name (OC0F, Package (0x06) { 0x0806000E, "Sensitivity", Zero, 0x03, 0x04, 0x00010003 }) Name (SENS, Package (0x07) { 0x0806000E, Zero, Zero, One, "Standard", "Sensitive", "Heavy load" }) Name (EPTY, Package (0x04) { 0x12345678, 0x06, 0x06, Zero }) Name (OBUF, Package (0x09) { OC01, OC02, OC03, OC04, OC06, OC0A, OC0D, OC0E, OC0F }) Method (ASIF, 0, NotSerialized) { Return (MBIF) } Method (OCIF, 0, NotSerialized) { Return (OBUF) } Method (GPRE, 1, NotSerialized) { If (Arg0) { OCOP (0x01010000) Store (ASB1, Index (PREB, One)) OCOP (0x01060001) Store (ASB1, Index (PREB, 0x03)) OCOP (0x02010002) Store (ASB1, Index (PREB, 0x05)) OCOP (0x07010003) Store (ASB1, Index (PREB, 0x07)) OCOP (0x0202000F) Store (ASB1, Index (PREB, 0x09)) OCOP (0x0906000C) Store (ASB1, Index (PREB, 0x0B)) OCOP (0x0806000D) Store (ASB1, Index (PREB, 0x0D)) OCOP (0x0806000E) Store (ASB1, Index (PREB, 0x0F)) OCOP (0x08050005) Store (ASB1, Index (PREB, 0x11)) } Else { Store (DerefOf (Index (G3T0, 0x03)), Index (PREB, One)) Store (DerefOf (Index (G3T2, 0x03)), Index (PREB, 0x03)) Store (DerefOf (Index (G322, 0x03)), Index (PREB, 0x05)) Store (DerefOf (Index (G340, 0x03)), Index (PREB, 0x07)) Store (DerefOf (Index (G321, 0x03)), Index (PREB, 0x09)) Store (DerefOf (Index (G9T0, 0x03)), Index (PREB, 0x0B)) Store (Zero, Index (PREB, 0x0D)) Store (DerefOf (Index (G8T1, 0x03)), Index (PREB, 0x0F)) Store (DerefOf (Index (G8T2, 0x03)), Index (PREB, 0x11)) } Return (PREB) } Name (PREB, Package (0x12) { 0x01010000, Zero, 0x01060001, Zero, 0x02010002, Zero, 0x07010003, Zero, 0x0202000F, Zero, 0x0906000C, Zero, 0x0806000D, Zero, 0x08050005, Zero, 0x0806000E, Zero }) Method (OCOP, 1, NotSerialized) { Store (One, ASB0) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, 0x01010000)) { GIT3 (0x03010011) Store (ASB1, Index (OT00, One)) Store (ASB1, Index (OT00, 0x02)) Return (OT00) } Else { If (LEqual (_T_0, 0x01060001)) { GIT3 (0x03060013) Store (ASB1, Index (CPUM, One)) Return (CPUM) } Else { If (LEqual (_T_0, 0x02010002)) { GIT3 (0x03080031) Store (ASB1, Index (MEMO, 0x02)) Return (MEMO) } Else { If (LEqual (_T_0, 0x07010003)) { GIT3 (0x03810051) Store (ASB1, Index (PCIO, 0x02)) Return (PCIO) } Else { If (LEqual (_T_0, 0x0202000F)) { GIT3 (0x03820032) Store (ASB1, Index (RAMV, 0x02)) Return (RAMV) } Else { If (LEqual (_T_0, 0x0906000C)) { GIT9 (0x09080000) Store (ASB1, Index (AITM, 0x02)) Return (AITM) } Else { If (LEqual (_T_0, 0x0806000D)) { GIT8 (0x08080001) If (LGreater (ASB1, Zero)) { Store (One, ASB1) } Else { Store (Zero, ASB1) } Store (ASB1, Index (NOSM, 0x02)) Return (NOSM) } Else { If (LEqual (_T_0, 0x0806000E)) { GIT8 (0x08080001) If (LGreater (ASB1, Zero)) { Decrement (ASB1) } Store (ASB1, Index (SENS, 0x02)) Return (SENS) } Else { If (LEqual (_T_0, 0x08050005)) { GIT8 (0x08080002) Store (ASB1, Index (AOC2, 0x02)) Return (AOC2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (EPTY) } Name (NOSF, Zero) Method (PROC, 3, NotSerialized) { Store (One, ASB0) ShiftRight (Arg0, 0x10, Local0) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, 0x01010000)) { SIT3 (0x03010011, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x01060001)) { SIT3 (0x03060013, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x02010002)) { SIT3 (0x03080031, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x07010003)) { SIT3 (0x03810051, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0202000F)) { Or (Arg1, ShiftLeft (Arg2, 0x08), Local0) Store (Local0, DBGX) SIT3 (0x03820032, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0906000C)) { SIT9 (0x09080000, Arg1, Arg2) } Else { If (LEqual (_T_0, 0x0806000D)) { If (LEqual (Arg1, Zero)) { SIT8 (0x08080001, Zero, Arg2) Store (Zero, NOSF) } Else { Store (One, NOSF) } } Else { If (LEqual (_T_0, 0x0806000E)) { If (NOSF) { Add (Arg1, One, Local0) SIT8 (0x08080001, Local0, Arg2) } } Else { If (LEqual (_T_0, 0x08050005)) { SIT8 (0x08080002, Arg1, Arg2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASB0) } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G4T0, Package (0x04) { 0x04060000, " ASUS Advanced Q-Fan control", 0x40000000, Zero }) Name (G4T1, Package (0x0A) { 0x04080011, " FAN profile", 0x00100001, 0x03, 0x05, "Disabled", "Performance", "Optimal", "Silent", "Ultra Silent" }) Name (G4T2, Package (0x09) { 0x04080011, " FAN profile", 0x00100001, 0x03, 0x04, "Disabled", "Performance", "Optimal", "Silent" }) Name (GR41, Package (0x02) { G4T0, G4T1 }) Name (GR42, Package (0x02) { G4T0, G4T2 }) Method (GIT4, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (GNVS (0x2780), ASB1) } Else { If (LEqual (_T_0, 0x11)) { Store (GNVS (0x3510), ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT4, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { If (LNot (LEqual (GNVS (0x3510), Arg1))) { SNVS (0x3510, Arg1) Store (0x77, PAR0) ISMI (0x88) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G5T0, Package (0x07) { 0x05080000, "AI Profile", Zero, Zero, 0x02, "AUTO", Zero }) Name (GRP5, Package (0x01) { G5T0 }) Method (GIT5, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (One, ASB1) } Else { Store (Zero, ASB0) } } Method (SIT5, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x03, ASB0) } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G6T1, Package (0x07) { 0x06020011, "Vcore Voltage", 0x20000000, Zero, 0x0352, 0x02EE, 0x02 }) Name (G6T2, Package (0x07) { 0x06030012, "CPU Temperature", 0x20000000, Zero, 0x0258, 0x015E, 0x02 }) Name (G6T3, Package (0x07) { 0x06040013, "CPU Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T4, Package (0x07) { 0x06040073, "Chassis Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T5, Package (0x07) { 0x060400C3, "Power Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T6, Package (0x07) { 0x06020061, "+12V Voltage", 0x20000000, 0x2EE0, 0x27D8, 0x0E10, 0x02 }) Name (G6T7, Package (0x07) { 0x06020062, "+5V Voltage", 0x20000000, 0x1388, 0x1194, 0x03E8, 0x02 }) Name (G6T8, Package (0x07) { 0x06020063, "+3.3V Voltage", 0x20000000, 0x0CE4, 0x0B9A, 0x0294, 0x02 }) Name (G6T9, Package (0x07) { 0x06030074, "MB Temperature", 0x20000000, Zero, 0x01C2, 0x01F4, 0x02 }) Name (GRP6, Package (0x09) { G6T1, G6T2, G6T3, G6T4, G6T5, G6T6, G6T7, G6T8, G6T9 }) Method (GIT6, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (0x0600, ASB1) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, ASB1) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, ASB1) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, ASB1) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, ASB1) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, ASB1) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, ASB1) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } Method (SIT6, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (0x0600, DBG8) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, DBG8) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, DBG8) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, DBG8) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, DBG8) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, DBG8) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, DBG8) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, DBG8) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, DBG8) } Else { Store (Zero, ASB0) } } } } } } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G8T1, Package (0x09) { 0x08080001, "N.O.S. sensitivity", Zero, Zero, 0x04, "Auto", "Standard", "Sensitive", "Heavy load" }) Name (G8T2, Package (0x0C) { 0x08080002, "N.O.S. profile", Zero, One, 0x07, Zero, "103%", "105%", "107%", "110%", "115%", "120%" }) Name (GRP8, Package (0x02) { G8T1, G8T2 }) Name (TEMP, Zero) Method (GIT8, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (GNVS (0x2564), ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (GNVS (0x34EB), ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT8, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { If (LNot (LEqual (GNVS (0x2564), Arg1))) { If (And (Arg2, One)) { SNVS (0x2564, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x02)) { If (LNot (LEqual (GNVS (0x34EB), Arg1))) { If (And (Arg2, One)) { SNVS (0x34EB, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G9T0, Package (0x0A) { 0x09080000, "AI Tunning", Zero, One, 0x05, "Manual", "Auto", "Standard", Zero, "AI N.O.S" }) Name (GRP9, Package (0x01) { G9T0 }) Method (GIT9, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (GNVS (0x34E3), ASB1) } Else { Store (Zero, ASB0) } } Method (SIT9, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { If (LNot (LEqual (GNVS (0x34E3), Arg1))) { If (And (Arg2, One)) { SNVS (0x34E3, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GAT1, Package (0x04) { 0x0A070001, "Music Alarm", Zero, Zero }) Name (GAT2, Package (0x04) { 0x0A070002, "Sunday", Zero, One }) Name (GAT3, Package (0x04) { 0x0A070003, "Monday", Zero, One }) Name (GAT4, Package (0x04) { 0x0A070004, "Tuesday", Zero, One }) Name (GAT5, Package (0x04) { 0x0A070005, "Wednesday", Zero, One }) Name (GAT6, Package (0x04) { 0x0A070006, "Thursday", Zero, One }) Name (GAT7, Package (0x04) { 0x0A070007, "Friday", Zero, One }) Name (GAT8, Package (0x04) { 0x0A070008, "Saturday", Zero, One }) Name (GAT9, Package (0x07) { 0x0A060009, "Alarm Hour", Zero, 0x0C, Zero, One, 0x18 }) Name (GATA, Package (0x07) { 0x0A06000A, "Alarm Mins", Zero, Zero, Zero, One, 0x3C }) Name (GATB, Package (0x0A) { 0x0A08000B, "Music Alarm Drive", Zero, 0x03, 0x05, "Primary IDE Master", "Primary IDE Slave", "Secondary IDE Master", "Secondary IDE Slave", "JMicron JMB363 IDE" }) Name (GATC, Package (0x07) { 0x0A06000C, "Starting Track", Zero, 0x10, Zero, One, 0x20 }) Name (GATD, Package (0x08) { 0x0A08000D, "Repeat", Zero, Zero, 0x03, "none", "Single", "All" }) Name (GATE, Package (0x09) { 0x0A08000E, "Length", Zero, Zero, 0x04, "10 mins", "20 mins", "30 mins", "1 hour" }) Name (GATF, Package (0x07) { 0x0A06000F, "Volume", Zero, 0x0F, Zero, One, 0x20 }) } Scope (_SB.PCI0.SBRG.ASOC) { Name (GBT0, Package (0x07) { 0x0B060001, "System performance", 0x00400000, Zero, 0x03, One, 0x04 }) Name (GRPB, Package (0x01) { GBT0 }) Name (VEAL, Zero) Method (GITB, 1, NotSerialized) { Store (VEAL, ASB1) } Method (SITB, 3, NotSerialized) { If (LEqual (And (Arg2, 0xFFFF), One)) { And (Arg1, 0xFFFF, VEAL) Store (VEAL, ASB1) Store (VEAL, PAR0) ISMI (0x88) } } } OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C) Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {15} }) CreateWordField (BUFA, One, IRA0) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { And (PIRB, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSB) } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { And (PIRB, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { And (PIRC, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSC) } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { And (PIRC, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { And (PIRD, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSD) } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { And (PIRD, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { And (PIRE, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSE) } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { And (PIRE, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { And (PIRF, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSF) } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { And (PIRF, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { And (PIRG, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSG) } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { And (PIRG, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { And (PIRH, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSH) } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { And (PIRH, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRH) } } } Scope (_SB) { Name (XCPD, Zero) Name (XNPT, One) Name (XCAP, 0x02) Name (XDCP, 0x04) Name (XDCT, 0x08) Name (XDST, 0x0A) Name (XLCP, 0x0C) Name (XLCT, 0x10) Name (XLST, 0x12) Name (XSCP, 0x14) Name (XSCT, 0x18) Name (XSST, 0x1A) Name (XRCT, 0x1C) Mutex (MUTE, 0x00) Method (RBPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Release (MUTE) Return (XCFG) } Method (RWPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Release (MUTE) Return (XCFG) } Method (RDPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Release (MUTE) Return (XCFG) } Method (WBPE, 2, NotSerialized) { Acquire (MUTE, 0x0FFF) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Store (Arg1, XCFG) Release (MUTE) } Method (WWPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Store (Arg1, XCFG) Release (MUTE) } Method (WDPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Store (Arg1, XCFG) Release (MUTE) } Method (RWDP, 3, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } And (XCFG, Arg2, Local1) Or (Local1, Arg1, XCFG) Release (MUTE) } Method (RPME, 1, NotSerialized) { Add (Arg0, 0x84, Local0) Store (RDPE (Local0), Local1) If (LEqual (Local1, Ones)) { Return (Zero) } Else { If (LAnd (Local1, 0x00010000)) { WDPE (Local0, And (Local1, 0x00010000)) Return (One) } Return (Zero) } } } OperationRegion (SMRG, SystemIO, 0x0400, 0x10) Field (SMRG, ByteAcc, NoLock, Preserve) { HSTS, 8, SSTS, 8, HSTC, 8, HCMD, 8, HADR, 8, HDT0, 8, HDT1, 8, BLKD, 8 } Field (SMRG, ByteAcc, NoLock, Preserve) { Offset (0x05), HDTW, 16 } Method (SCMD, 4, Serialized) { Store (0x05, Local0) While (Decrement (Local0)) { Store (0xFFFF, Local1) While (LAnd (HSTS, Decrement (Local1))) { Store (0xFE, HSTS) Stall (0x0A) } Store (HSTC, Local2) Store (Arg0, HADR) Store (Arg1, HCMD) Store (Arg2, HDTW) Store (Arg3, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x0C)) { Store (One, Local1) } If (LEqual (And (HSTS, 0x03), 0x02)) { Return (HDTW) } Stall (0x0A) } Store (0x42, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x10)) { Store (One, Local1) } Stall (0x0A) } Store (Zero, HSTC) } Return (Ones) } Method (SBYT, 2, NotSerialized) { SCMD (Arg0, Arg1, Zero, 0x44) } Method (WBYT, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x48) } Method (WWRD, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x4C) } Method (RSBT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x44), 0xFF)) } Method (RBYT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x48), 0xFF)) } Method (RWRD, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (SCMD (Arg0, Arg1, Zero, 0x4C)) } Method (RBLK, 3, NotSerialized) { Or (Arg0, One, Local0) SCMD (Local0, Arg1, Arg2, 0x54) Store (HSTC, Local0) Store (HDT0, Local0) Add (Local0, One, Local7) Name (RBUF, Buffer (Local7) {}) Store (Zero, Local1) While (Local0) { Store (BLKD, Index (RBUF, Local1)) Decrement (Local0) Increment (Local1) } Return (RBUF) } Method (WBLK, 4, NotSerialized) { Store (HSTC, Local0) Store (Zero, Local0) While (LNot (LGreater (Local0, Arg2))) { Store (DerefOf (Index (Arg3, Local0)), BLKD) Increment (Local0) } And (Arg0, 0xFE, Local0) SCMD (Local0, Arg1, Arg2, 0x54) } Name (HBAS, Zero) Name (HLBA, Zero) Name (HDEV, Zero) OperationRegion (REFP, SystemIO, 0x61, One) Field (REFP, ByteAcc, NoLock, Preserve) { P061, 8 } Method (FZHD, 0, NotSerialized) { Store (0x80, Local0) Store (DMAX, Local1) While (LNot (LGreater (Local0, Local1))) { And (Local0, 0x7F, Local3) Store (One, Local2) ShiftLeft (Local2, Local3, Local2) If (LNot (And (\_SB.PCI0.HFZF, Local2))) { If (FZOD (Local0)) { Or (\_SB.PCI0.HFZF, Local2, \_SB.PCI0.HFZF) } } Increment (Local0) } } Method (FZOD, 1, NotSerialized) { GHET (Arg0) If (LEqual (HBAS, Zero)) { Return (One) } If (LEqual (HDEV, Zero)) { Return (One) } Store (HDEV, Local1) And (Local1, 0x10, Local1) If (LEqual (Local1, Zero)) { Return (One) } WFCF () SDRV () Add (HBAS, 0x07, Local1) OperationRegion (HRGS, SystemIO, Local1, One) Field (HRGS, ByteAcc, NoLock, Preserve) { SREG, 8 } Store (SREG, Local1) And (Local1, 0x80, Local1) If (Local1) { Return (Zero) } Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xF5, CREG) If (WFCF ()) { Add (HBAS, 0x07, Local0) Store (SREG, Local1) Return (LNot (And (Local1, One))) } Else { Return (Zero) } } OperationRegion (DBGA, SystemIO, 0x80, 0x04) Field (DBGA, DWordAcc, NoLock, Preserve) { DB32, 32 } Method (GHET, 1, NotSerialized) { And (Arg0, 0x7F, Local0) ShiftLeft (Local0, 0x05, Local0) Add (Local0, HPTA, Local0) OperationRegion (HDPT, SystemMemory, Local0, 0x20) Field (HDPT, ByteAcc, NoLock, Preserve) { HP00, 16, Offset (0x04), HP04, 8, Offset (0x12), HP0C, 8 } Store (HP00, HBAS) Store (HP04, HLBA) Store (HP0C, HDEV) } Method (SDRV, 0, NotSerialized) { Add (HBAS, 0x06, Local0) OperationRegion (HRGH, SystemIO, Local0, One) Field (HRGH, ByteAcc, NoLock, Preserve) { HREG, 8 } Store (HLBA, HREG) } Method (WFCF, 0, NotSerialized) { SDRV () Add (HBAS, One, Local0) OperationRegion (HRGE, SystemIO, Local0, One) Field (HRGE, ByteAcc, NoLock, Preserve) { EREG, 8 } Store (Zero, EREG) Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0x28, Local0) While (Local0) { And (CREG, One, Local2) If (Local2) { Return (Zero) } WFZF (Local1) And (CREG, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (One) } Decrement (Local0) } Return (Zero) } Method (WFZF, 1, NotSerialized) { OperationRegion (HRGC, SystemIO, Arg0, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xFFFF, Local1) Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } While (Local1) { Stall (0x0F) Decrement (Local1) If (LEqual (Local1, Zero)) { Return (Zero) } Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } Decrement (Local1) } } Scope (_SB.PCI0) { Name (HFZF, 0xFFFF) Method (HWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Zero, HFZF) } } } Scope (_SB.PCI0.SBRG.SIOR) { Method (HWV0, 0, NotSerialized) { Return (Multiply (VCOR, 0x08)) } Method (HWV1, 0, NotSerialized) { Return (Multiply (V12V, 0x08)) } Method (HWV3, 0, NotSerialized) { Return (Multiply (V33V, 0x08)) } Method (HWV5, 0, NotSerialized) { Return (Multiply (V50V, 0x08)) } Method (HWT0, 0, NotSerialized) { Store (MBTE, Local1) Multiply (Local1, 0x0A, Local1) Return (Local1) } Method (HWT1, 0, NotSerialized) { Store (One, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } Method (HWT2, 0, NotSerialized) { Store (0x02, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } OperationRegion (DBGE, SystemIO, 0x80, 0x04) Field (DBGE, WordAcc, NoLock, Preserve) { DBGG, 22 } Method (HWF0, 0, NotSerialized) { Store (FAN1, Local0) Store (Zero, BSEL) And (FD21, 0x20, Local1) ShiftRight (Local1, 0x05, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0x30, Local2) ShiftRight (Local2, 0x04, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN1, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN1, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF1, 0, NotSerialized) { Store (FAN2, Local0) Store (Zero, BSEL) And (FD21, 0x40, Local1) ShiftRight (Local1, 0x06, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0xC0, Local2) ShiftRight (Local2, 0x06, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN2, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x012C) Store (FAN2, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF2, 0, NotSerialized) { Store (FAN3, Local0) Store (Zero, BSEL) And (FD21, 0x80, Local1) ShiftRight (Local1, 0x07, Local1) Multiply (Local1, 0x04, Local1) Divide (FD13, 0x40, Local2, Local3) Add (Local1, Local3, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (FAN3, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) Sleep (0x012C) Store (FAN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF3, 0, NotSerialized) { Store (Zero, BSEL) Store (CFN3, Local0) And (FD15, 0x80, Local1) ShiftRight (Local1, 0x05, Local1) And (FND4, 0x03, Local2) Or (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD15, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD15) Store (FND4, Local3) And (Local3, 0xFC, Local3) Add (Local3, Local2, Local2) Store (Local2, FND4) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (CFN3, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD15, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD15) Store (FND4, Local3) And (Local3, 0xFC, Local3) Add (Local3, Local2, Local2) Store (Local2, FND4) Sleep (0x012C) Store (CFN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF4, 0, NotSerialized) { Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) And (FND4, 0x80, Local1) ShiftRight (Local1, 0x08, Local1) Multiply (Local1, 0x04, Local1) And (FND4, 0x0C, Local2) ShiftRight (Local2, 0x02, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) If (LNot (LEqual (Local0, 0xFF))) { Sleep (0x012C) } Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) Sleep (0x012C) Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } OperationRegion (HWRE, SystemIO, IOHW, 0x0A) Field (HWRE, ByteAcc, NoLock, Preserve) { Offset (0x05), HIDX, 8, HDAT, 8 } IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve) { Offset (0x04), CHNM, 1, CFNM, 1, CHNS, 2, CFNS, 2, Offset (0x05), SYST, 8, TRGT, 8, Offset (0x08), SSDN, 8, CSDN, 8, SSUP, 8, CSUP, 8, Offset (0x20), VCOR, 8, V12V, 8, Offset (0x23), V33V, 8, Offset (0x25), V50V, 8, Offset (0x27), MBTE, 8, FAN1, 8, FAN2, 8, FAN3, 8, Offset (0x3F), CFN3, 8, Offset (0x47), FDR1, 8, Offset (0x4B), FD13, 8, FD15, 8, Offset (0x4E), BSEL, 3, Offset (0x4F), Offset (0x50), TSR1, 8, , 7, TSR2, 1, Offset (0x53), FAN4, 8, Offset (0x59), FND4, 8, Offset (0x5D), FD21, 8 } } Scope (_SB.PCI0.SBRG.ASOC) { Name (CORV, Package (0x05) { 0x06020000, "Vcore Voltage", 0x0352, 0x0640, One }) Name (V3VV, Package (0x05) { 0x06020001, " +3.3 Voltage", 0x0B9A, 0x0E2E, One }) Name (V5VV, Package (0x05) { 0x06020002, " +5 Voltage", 0x1194, 0x157C, One }) Name (VV12, Package (0x05) { 0x06020003, " +12 Voltage", 0x27D8, 0x35E8, One }) Name (VPAR, Package (0x04) { Package (0x03) { Zero, One, Zero }, Package (0x03) { 0x22, 0x22, Zero }, Package (0x03) { 0x16, 0x0A, Zero }, Package (0x03) { 0x38, 0x0A, Zero } }) Name (VBUF, Package (0x05) { 0x04, CORV, V3VV, V5VV, VV12 }) Method (VGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWV0 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWV3 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWV5 ()) } If (LEqual (Arg0, 0x03)) { Return (^^SIOR.HWV1 ()) } } Name (CPUT, Package (0x05) { 0x06030000, "CPU Temperature", 0x0258, 0x03B6, 0x00010001 }) Name (MBTP, Package (0x05) { 0x06030001, "MB Temperature", 0x01C2, 0x03B6, 0x00010001 }) Name (TBUF, Package (0x03) { 0x02, CPUT, MBTP }) Method (TGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWT1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWT0 ()) } } Name (CPUF, Package (0x05) { 0x06040000, "CPU FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (CHF1, Package (0x05) { 0x06040001, "CHASSIS1 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (CHF2, Package (0x05) { 0x06040002, "CHASSIS2 FAN Speed", 0x04B0, 0x1C20, 0x00010001 }) Name (CHF3, Package (0x05) { 0x06040003, "CHASSIS3 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (PWRF, Package (0x05) { 0x06040004, "POWER FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (FBUF, Package (0x06) { 0x05, CPUF, CHF1, CHF2, CHF3, PWRF }) Method (FGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWF1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWF0 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWF4 ()) } If (LEqual (Arg0, 0x03)) { Return (^^SIOR.HWF3 ()) } If (LEqual (Arg0, 0x04)) { Return (^^SIOR.HWF2 ()) } } Method (VSIF, 0, NotSerialized) { Return (VBUF) } Method (RVLT, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (VGET (Local0), Local1) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)), Local2) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), Local3) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), Local4) Multiply (Local1, Add (Local2, Local3), Local5) Divide (Local5, Local3, , Local5) Add (Local5, Local4, Local5) Return (Local5) } Method (SVLT, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (VBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, Local0)), 0x04)) Return (One) } Method (TSIF, 0, NotSerialized) { Return (TBUF) } Method (RTMP, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (TGET (Local0), Local1) Return (Local1) } Method (STMP, 1, NotSerialized) { Store (And (DerefOf (Index (Arg0, Zero)), 0xFFFF), Local0) Store (DerefOf (Index (TBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, Local0)), 0x04)) Return (One) } Method (FSIF, 0, NotSerialized) { Return (FBUF) } Method (RFAN, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (FGET (Local0), Local1) Return (Local1) } Method (SFAN, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (FBUF, Zero)), Local1) If (LNot (LLess (Local0, Local1))) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF, Local0)), 0x04)) Return (One) } } Scope (_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) OperationRegion (IGDM, SystemMemory, 0x3EE9E0E4, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, Offset (0xF0), IBTT, 4, IPSC, 2, IPAT, 4, IBIA, 3, IBLC, 2, Offset (0xF2), ITVF, 4, ITVM, 4, IDVM, 1, IDVS, 2, ISSC, 1, Offset (0xF4), Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32 } OperationRegion (TCOI, SystemIO, TOBS, 0x08) Field (TCOI, WordAcc, NoLock, Preserve) { Offset (0x04), , 9, SCIS, 1, Offset (0x06) } Method (GSCI, 0, NotSerialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (One, SCIS) Store (Zero, GEFC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x037B, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { Name (LOOP, Zero) And (PARM, 0xFFFFFF00, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) XOr (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Name (MEMS, 0x0D) Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1000, PARM) Or (ShiftLeft (CDCT, 0x15), PARM, PARM) If (LEqual (IDVM, One)) { Store (0x11, MEMS) } If (LLess (TASM, M512)) { Or (PARM, ShiftLeft (One, MEMS), PARM) } Else { If (LLess (TASM, M1GB)) { If (LLess (IDVS, 0x03)) { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } Else { Or (PARM, ShiftLeft (0x02, MEMS), PARM) } } Else { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } } Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (0x03, PARM) } Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x20, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x06)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0x0F, ITVF) And (PARM, 0xF0, ITVM) Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (NVLD) } If (LEqual (GESF, 0x07)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x09)) { Store (CRIT, GXFC) Return (Zero) } If (LEqual (GESF, 0x0A)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0xFF, IPSC) Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT) And (ShiftRight (PARM, 0x12), 0x03, IBLC) And (ShiftRight (PARM, 0x14), 0x07, IBIA) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02)) { And (ShiftRight (PARM, 0x0D), 0x0F, Local0) And (ShiftRight (PARM, 0x11), 0x0F, Local1) If (Local0) { Store (Zero, IDVM) Store (Local0, IDVS) } If (Local1) { Store (One, IDVM) Store (Local1, IDVS) } } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Return (CRIT) } If (LEqual (GESF, 0x11)) { Or (PARM, ShiftLeft (LIDS, 0x08), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { And (PARM, One, ISSC) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Return (CRIT) } Store (Zero, GESF) Return (CRIT) } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0x8C), CDCT, 10, Offset (0x8E), Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xBC), ASLS, 32 } Name (M512, 0x08) Name (M1GB, 0x10) Scope (\_GPE) { Method (_L06, 0, NotSerialized) { \_SB.PCI0.GFX0.GSCI () } } Name (OPBS, 0xFFFFFF00) Method (OPTS, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (ASLS, OPBS) } } Method (OWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (OPBS, ASLS) Store (One, GSES) } } } } Scope (_SB) { Scope (PCI0) { Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x00FF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0100, // Address Length ,,) IO (Decode16, 0x0CF8, // Address Range Minimum 0x0CF8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x0CF7, // Address Range Maximum 0x0000, // Address Translation Offset 0x0CF8, // Address Length ,,, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0D00, // Address Range Minimum 0xFFFF, // Address Range Maximum 0x0000, // Address Translation Offset 0xF300, // Address Length ,,, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000A0000, // Address Range Minimum 0x000BFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C0000, // Address Range Minimum 0x000DFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000000, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000000, // Address Length ,,, AddressRangeMemory, TypeStatic) }) CreateDWordField (CRS, 0x5C, MIN5) CreateDWordField (CRS, 0x60, MAX5) CreateDWordField (CRS, 0x68, LEN5) CreateDWordField (CRS, 0x76, MIN6) CreateDWordField (CRS, 0x7A, MAX6) CreateDWordField (CRS, 0x82, LEN6) Method (_CRS, 0, NotSerialized) { Store (MG1L, Local0) If (Local0) { Store (MG1B, MIN5) Store (MG1L, LEN5) Add (MIN5, Decrement (Local0), MAX5) } Store (MG2B, MIN6) Store (MG2L, LEN6) Store (MG2L, Local0) Add (MIN6, Decrement (Local0), MAX6) Return (CRS) } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (Zero, AAXB) } Method (_WAK, 1, NotSerialized) { ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (GNVS (0x8370)) {} Else { Notify (\_SB.PWRB, 0x02) } If (ASSB) { Store (WSSB, ASSB) Store (WOTB, AOTB) Store (WAXB, AAXB) } If (DerefOf (Index (WAKP, Zero))) { Store (Zero, Index (WAKP, One)) } Else { Store (Arg0, Index (WAKP, One)) } Return (WAKP) } OperationRegion (IORK, SystemIO, 0xB3, One) Field (IORK, ByteAcc, NoLock, Preserve) { IOWK, 8 } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SIOS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.SBRG.SPTS (Arg0) \_SB.PCI0.GFX0.OPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.HWAK (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) \_SB.PCI0.GFX0.OWAK (Arg0) } } --=-=-= Content-Disposition: attachment; filename=p5bv-acpi2.tab /* RSD PTR: OEM=ACPIAM, ACPI_Rev=2.0x (2) XSDT=0x3ee90100, length=36, cksum=180 */ /* XSDT: Length=84, Revision=1, Checksum=230, OEMID=A M I, OEM Table ID=OEMXSDT, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Entries={ 0x3ee90290, 0x3ee90390, 0x3ee90400, 0x3ee9e040, 0x3ee99bb0, 0x3ee9e0c0 } */ /* FACP: Length=244, Revision=3, Checksum=94, OEMID=A M I, OEM Table ID=OEMFACP, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 FACS=0x3ee9e000, DSDT=0x3ee90440 INT_MODEL=APIC Preferred_PM_Profile=Desktop (1) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0 PSTATE_CNT=0xe2 PM1a_EVT_BLK=0x800-0x803 PM1a_CNT_BLK=0x804-0x805 PM_TMR_BLK=0x808-0x80b GPE0_BLK=0x828-0x82f CST_CNT=0xe3 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH={LEGACY_DEV,8042} Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} X_FACS=0x3ee9e000, X_DSDT=0x3ee90440 X_PM1a_EVT_BLK=0x800:0[32] (IO) X_PM1a_CNT_BLK=0x804:0[16] (IO) X_PM_TMR_BLK=0x808:0[32] (IO) X_GPE0_BLK=0x828:0[64] (IO) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=38763, Revision=1, Checksum=63, OEMID=A0579, OEM Table ID=A0579000, OEM Revision=0x0, Creator ID=INTL, Creator Revision=0x20060113 */ /* APIC: Length=108, Revision=1, Checksum=33, OEMID=A M I, OEM Table ID=OEMAPIC, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=2 Flags={ENABLED} APIC ID=1 Type=Local APIC ACPI CPU=3 Flags={DISABLED} APIC ID=130 Type=Local APIC ACPI CPU=4 Flags={DISABLED} APIC ID=131 Type=IO APIC APIC ID=2 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} */ /* MCFG: Length=60, Revision=1, Checksum=137, OEMID=A M I, OEM Table ID=OEMMCFG, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 255 */ /* HPET: Length=56, Revision=1, Checksum=159, OEMID=A M I, OEM Table ID=OEMHPET, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 HPET Number=0 ADDR=0x00000800 HW Rev=0x2 Comparitors=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=14318 */ /* GSCI: Length=8228, Revision=1, Checksum=58, OEMID=A M I, OEM Table ID=GMCHSCI, OEM Revision=0x10000602, Creator ID=MSFT, Creator Revision=0x97 */ --=-=-=-- From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 18 15:14:54 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 287B116A51C for ; Thu, 18 Jan 2007 15:14:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id CBFA213C474 for ; Thu, 18 Jan 2007 15:14:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l0IFEnHP063289; Thu, 18 Jan 2007 10:14:49 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Thu, 18 Jan 2007 10:14:46 -0500 User-Agent: KMail/1.9.4 References: <86irf44nu5.fsf@dwp.des.no> In-Reply-To: <86irf44nu5.fsf@dwp.des.no> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200701181014.46798.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Thu, 18 Jan 2007 10:14:50 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2462/Thu Jan 18 05:07:46 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Dag-Erling =?iso-8859-15?q?Sm=F8rgrav?= Subject: Re: Asus P5B-V 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: Thu, 18 Jan 2007 15:14:54 -0000 On Thursday 18 January 2007 05:43, Dag-Erling Sm=F8rgrav wrote: > I have some ACPI issues with an Asus P5B-V (Intel G965-based) > motherboard running amd64 -CURRENT: >=20 > - no thermal information: The BIOS doesn't provide an ACPI thermal zone. There's nothing for ACPI to do. Have you tried using mbmon? > - all on-board devices seem to share the same interrupt: >=20 > root@dma ~# vmstat -i > interrupt total rate > irq1: atkbd0 8 0 > irq19: skc0 uhci3* 5161490 52 > irq21: ral0 1209462 12 > cpu0: timer 194998438 1999 > cpu1: timer 194998251 1999 > Total 396367649 4064 >=20 > (ral0 is the only PCI card in the system, everything else is > integrated on the motherboard) This is how your motherboard manufacturer hard-wired the interrupt routing for APIC. It's physically wired this way and there's nothing any OS can do about it. =2D-=20 John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 18 16:04:19 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 13A3C16A40F for ; Thu, 18 Jan 2007 16:04:19 +0000 (UTC) (envelope-from michele.heurs@aei.mpg.de) Received: from mailserv.aei.mpg.de (mailserv.aei.mpg.de [194.94.224.6]) by mx1.freebsd.org (Postfix) with ESMTP id B59C513C45B for ; Thu, 18 Jan 2007 16:04:18 +0000 (UTC) (envelope-from michele.heurs@aei.mpg.de) Received: by mailserv.aei.mpg.de (Postfix, from userid 65534) id DA3BE7D6B64; Thu, 18 Jan 2007 16:31:07 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mailserv.aei.mpg.de (Postfix) with ESMTP id 428B9A26272 for ; Thu, 18 Jan 2007 16:31:07 +0100 (CET) Received: from [130.75.117.7] (unknown [130.75.117.7]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by mailserv.aei.mpg.de (Postfix) with ESMTP id 5A06BA2730B for ; Thu, 18 Jan 2007 16:29:37 +0100 (CET) Message-ID: <45AF925C.9050104@aei.mpg.de> Date: Thu, 18 Jan 2007 16:29:32 +0100 From: Michele Heurs User-Agent: Thunderbird 1.5.0.9 (X11/20070109) MIME-Version: 1.0 To: freebsd-acpi@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: by AMaViS snapshot-20020531 X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on mailserv.aei.mpg.de X-Spam-Level: X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=no version=2.64 Subject: ACPI problems on HP Compaq nx6325 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: Thu, 18 Jan 2007 16:04:19 -0000 Hi, I already posted this on freeBSD-mobile and -stable, so sorry for possible multiple postings in your inboxes... In my previous mail (message ID <4517A8A1.50006@aei.mpg.de> ) I described problems with ACPI on my HP Compaq nx6325 with freeBSD 6.1 release. Meanwhile I have freeBSD 6.2 stable (of Monday), but ACPI still doesn't work. Booting with ACPI enabled results in the the system being unresponsive, the mouse is "jumpy" and input is only recognised after long delays or when the mouse is moved. The dmesg with and without ACPI as well as the acpidump I have placed here: http://www.pmp.uni-hannover.de/test/Mitarbeiter/g_kuehn/data/ Thanks in advance for your help! Bye, Michèle -- ********************************************** Dr. Michèle Heurs Max-Planck-Institut für Gravitationsphysik (Albert-Einstein-Institut) Callinstr. 38 30167 Hannover Germany Tel.: +49 (0)511 - 762 - 5845 Fax: +49 (0)511 - 762 - 2784 Web: http://www.aei.mpg.de ********************************************** From owner-freebsd-acpi@FreeBSD.ORG Thu Jan 18 17:44:50 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0FB2316A412 for ; Thu, 18 Jan 2007 17:44:50 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id D3F4C13C441 for ; Thu, 18 Jan 2007 17:44:49 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 1754 invoked from network); 18 Jan 2007 17:44:50 -0000 Received: from ppp-71-139-39-138.dsl.snfc21.pacbell.net (HELO ?10.0.5.59?) (nate-mail@71.139.39.138) by root.org with ESMTPA; 18 Jan 2007 17:44:50 -0000 Message-ID: <45AFB20A.8020508@root.org> Date: Thu, 18 Jan 2007 09:44:42 -0800 From: Nate Lawson User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Michele Heurs References: <45AF925C.9050104@aei.mpg.de> In-Reply-To: <45AF925C.9050104@aei.mpg.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-acpi@freebsd.org Subject: Re: ACPI problems on HP Compaq nx6325 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: Thu, 18 Jan 2007 17:44:50 -0000 Michele Heurs wrote: > Hi, > > I already posted this on freeBSD-mobile and -stable, so sorry for > possible multiple postings in your inboxes... > > In my previous mail (message ID <4517A8A1.50006@aei.mpg.de> ) I > described problems with ACPI on my HP Compaq nx6325 with freeBSD 6.1 > release. > > Meanwhile I have freeBSD 6.2 stable (of Monday), but ACPI still > doesn't work. Booting with ACPI enabled results in the the system being > unresponsive, the mouse is "jumpy" and input is only recognised after > long delays or when the mouse is moved. > > The dmesg with and without ACPI as well as the acpidump I have placed here: > > http://www.pmp.uni-hannover.de/test/Mitarbeiter/g_kuehn/data/ > > Thanks in advance for your help! > Bye, > Michèle > As a workaround, try this at the loader prompt: debug.acpi.disabled="ec" If this is the same bug, it's at the top of my list now. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Fri Jan 19 22:59:08 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3295816A402 for ; Fri, 19 Jan 2007 22:59:08 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: from uriah.heep.sax.de (uriah.heep.sax.de [213.240.137.9]) by mx1.freebsd.org (Postfix) with ESMTP id B9A0213C45A for ; Fri, 19 Jan 2007 22:59:07 +0000 (UTC) (envelope-from j@uriah.heep.sax.de) Received: by uriah.heep.sax.de (Postfix, from userid 107) id D4A7915C; Fri, 19 Jan 2007 23:37:40 +0100 (MET) Date: Fri, 19 Jan 2007 23:37:40 +0100 From: Joerg Wunsch To: Michele Heurs Message-ID: <20070119223740.GD47713@uriah.heep.sax.de> References: <45AF925C.9050104@aei.mpg.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45AF925C.9050104@aei.mpg.de> X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-GPG-Fingerprint: 5E84 F980 C3CA FD4B B584 1070 F48C A81B 69A8 5873 User-Agent: Mutt/1.5.11 Cc: freebsd-acpi@freebsd.org Subject: Re: ACPI problems on HP Compaq nx6325 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Joerg Wunsch List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jan 2007 22:59:08 -0000 As Michele Heurs wrote: > Meanwhile I have freeBSD 6.2 stable (of Monday), but ACPI still > doesn't work. Booting with ACPI enabled results in the the system > being unresponsive, the mouse is "jumpy" and input is only > recognised after long delays or when the mouse is moved. Sounds a lot like what I've been suffering from as well. Have a look at PR i386/104678, and the patches referenced there. Using these patches, my nx6325 works reasonably well. Alas, it still appears to burn a lot more energy than when running under Win32, and speedstep doesn't appear to be fully supported. I've got more troubles still (wakeup from suspend mode always freezes, sound is only supported by the commercial OSS driver and even there, it always mutes the speaker, battery is often not properly detected in acpiconf -i0, the ndiswrapper driver for the builtin WLAN card panics immediately when loading), but I think you have to get the more basic things to run first until we could talk about that. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) From owner-freebsd-acpi@FreeBSD.ORG Fri Jan 19 23:43:30 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4B57916A402 for ; Fri, 19 Jan 2007 23:43:30 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 18BE013C44C for ; Fri, 19 Jan 2007 23:43:29 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 13186 invoked from network); 19 Jan 2007 23:43:31 -0000 Received: from adsl-67-119-74-222.dsl.sntc01.pacbell.net (HELO ?10.0.0.44?) (nate-mail@67.119.74.222) by root.org with ESMTPA; 19 Jan 2007 23:43:31 -0000 Message-ID: <45B1579B.7010009@root.org> Date: Fri, 19 Jan 2007 15:43:23 -0800 From: Nate Lawson User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Joerg Wunsch References: <45AF925C.9050104@aei.mpg.de> <20070119223740.GD47713@uriah.heep.sax.de> In-Reply-To: <20070119223740.GD47713@uriah.heep.sax.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: ACPI problems on HP Compaq nx6325 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, 19 Jan 2007 23:43:30 -0000 Joerg Wunsch wrote: > As Michele Heurs wrote: > >> Meanwhile I have freeBSD 6.2 stable (of Monday), but ACPI still >> doesn't work. Booting with ACPI enabled results in the the system >> being unresponsive, the mouse is "jumpy" and input is only >> recognised after long delays or when the mouse is moved. > > Sounds a lot like what I've been suffering from as well. > > Have a look at PR i386/104678, and the patches referenced there. > Using these patches, my nx6325 works reasonably well. Alas, it still > appears to burn a lot more energy than when running under Win32, and > speedstep doesn't appear to be fully supported. > > I've got more troubles still (wakeup from suspend mode always freezes, > sound is only supported by the commercial OSS driver and even there, > it always mutes the speaker, battery is often not properly detected in > acpiconf -i0, the ndiswrapper driver for the builtin WLAN card panics > immediately when loading), but I think you have to get the more basic > things to run first until we could talk about that. > I looked at this and the solution should be "don't use anything other than C1". That's the default for both 7.x and 6.x so you must be explicitly changing rc.conf or sysctl.conf to enable lower cx_lowest states, right? Also, *which* patch are you using from the PR? THere are a few different ones. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Fri Jan 19 23:47:06 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B2F616A402 for ; Fri, 19 Jan 2007 23:47:06 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 3899E13C448 for ; Fri, 19 Jan 2007 23:47:06 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 13482 invoked from network); 19 Jan 2007 23:47:07 -0000 Received: from adsl-67-119-74-222.dsl.sntc01.pacbell.net (HELO ?10.0.0.44?) (nate-mail@67.119.74.222) by root.org with ESMTPA; 19 Jan 2007 23:47:07 -0000 Message-ID: <45B15873.1090708@root.org> Date: Fri, 19 Jan 2007 15:46:59 -0800 From: Nate Lawson User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: Michele Heurs References: <45AF925C.9050104@aei.mpg.de> In-Reply-To: <45AF925C.9050104@aei.mpg.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-acpi@freebsd.org Subject: Re: ACPI problems on HP Compaq nx6325 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, 19 Jan 2007 23:47:06 -0000 Michele Heurs wrote: > Hi, > > I already posted this on freeBSD-mobile and -stable, so sorry for > possible multiple postings in your inboxes... > > In my previous mail (message ID <4517A8A1.50006@aei.mpg.de> ) I > described problems with ACPI on my HP Compaq nx6325 with freeBSD 6.1 > release. > > Meanwhile I have freeBSD 6.2 stable (of Monday), but ACPI still > doesn't work. Booting with ACPI enabled results in the the system being > unresponsive, the mouse is "jumpy" and input is only recognised after > long delays or when the mouse is moved. > > The dmesg with and without ACPI as well as the acpidump I have placed here: > > http://www.pmp.uni-hannover.de/test/Mitarbeiter/g_kuehn/data/ > > Thanks in advance for your help! > Bye, > Michèle > The bug I'm working on has to do with the embedded controller (EC), not the LAPIC timer as Joerg seems to be pointing out. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Sat Jan 20 18:07:04 2007 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C6FB416A405 for ; Sat, 20 Jan 2007 18:07:04 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.168]) by mx1.freebsd.org (Postfix) with ESMTP id 2B71413C45B for ; Sat, 20 Jan 2007 18:07:03 +0000 (UTC) (envelope-from almarrie@gmail.com) Received: by ug-out-1314.google.com with SMTP id o2so661237uge for ; Sat, 20 Jan 2007 10:07:03 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:mime-version:content-type:content-transfer-encoding:content-disposition; b=q+iYYLw7wTz8+XCh0j3MpxPtNaoBiCjFUeSpSEVhtlZUDdhQO6PPOrtyvvCJ+be/0HlRgYpJtWr+sPrffgsI1ZmaMJiuudr2qba+ZE3gNo0gLLnEQSjFlVZ1rWK75Z5t8/P9n2VV7tyVqw+f23gseVujO5n04B1gVAhMwNCYFAU= Received: by 10.66.248.5 with SMTP id v5mr4942183ugh.1169316422761; Sat, 20 Jan 2007 10:07:02 -0800 (PST) Received: by 10.66.255.10 with HTTP; Sat, 20 Jan 2007 10:07:02 -0800 (PST) Message-ID: <499c70c0701201007i6d77c35bm95f25d1f3451f7a3@mail.gmail.com> Date: Sat, 20 Jan 2007 18:07:02 +0000 From: "Abdullah Al-Marrie" To: freebsd-acpi@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Cc: freebsd-mobile@freebsd.org Subject: Inspiron 6400 1505e Can't get passive cooling while in AC power 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: Sat, 20 Jan 2007 18:07:05 -0000 Hello, This laptop has Centrino Duo but I can't get the passive cooling at all. I upgraded the bios to latest too. FreeBSD DELL 6.2-STABLE FreeBSD 6.2-STABLE #1: Fri Jan 19 20:32:20 UTC 2007 Bdo@DELL:/usr/obj/usr/src/sys/BDO i386 DELL# dmesg Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-STABLE #1: Fri Jan 19 20:32:20 UTC 2007 Bdo@DELL:/usr/obj/usr/src/sys/BDO ACPI APIC Table: Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Genuine Intel(R) CPU T2500 @ 2.00GHz (1997.34-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6e8 Stepping = 8 Features=0xbfe9fbff Features2=0xc1a9,> AMD Features=0x100000 Cores per package: 2 real memory = 527249408 (502 MB) avail memory = 505602048 (482 MB) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 2 ioapic0 irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: on motherboard Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 cpu0: on acpi0 est0: on cpu0 p4tcc0: on cpu0 cpu1: on acpi0 est1: on cpu1 p4tcc1: on cpu1 acpi_acad0: on acpi0 battery0: on acpi0 acpi_lid0: on acpi0 acpi_button0: on acpi0 acpi_button1: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 agp0: port 0xeff8-0xefff mem 0xeff00000-0xeff7ffff,0xd0000000-0xdfffffff,0xefec0000-0xefefffff irq 16 at device 2.0 on pci0 agp0: detected 7932k stolen memory agp0: aperture size is 256M drmsub0: : (child of agp_i810.c) on agp0 info: [drm] AGP at 0xeff00000 0MB info: [drm] Initialized i915 1.4.0 20060119 pci0: at device 2.1 (no driver attached) pcm0: mem 0xefebc000-0xefebffff irq 21 at device 27.0 on pci0 pcib1: at device 28.0 on pci0 pci11: on pcib1 wpi0: mem 0xefdff000-0xefdfffff irq 16 at device 0.0 on pci11 bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. bus_dmamem_alloc failed to align memory properly. channel 1 pwr1 0x0091 pwr2 0x0091 channel 2 pwr1 0x008d pwr2 0x0091 channel 3 pwr1 0x0069 pwr2 0x006e channel 4 pwr1 0x0072 pwr2 0x0068 channel 5 pwr1 0x0000 pwr2 0x0000 channel 6 pwr1 0x008b pwr2 0x0088 channel 7 pwr1 0x0088 pwr2 0x008b channel 8 pwr1 0x007f pwr2 0x007e channel 9 pwr1 0x007e pwr2 0x007f channel 10 pwr1 0x0000 pwr2 0x0000 channel 11 pwr1 0x0003 pwr2 0x0003 channel 12 pwr1 0xffff pwr2 0xffff channel 13 pwr1 0x0003 pwr2 0x0003 channel 14 pwr1 0xffff pwr2 0xffff wpi0: Ethernet address: 00:13:02:a5:08:f6 pcib2: at device 28.3 on pci0 pci12: on pcib2 uhci0: port 0xbf80-0xbf9f irq 20 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xbf60-0xbf7f irq 21 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xbf40-0xbf5f irq 22 at device 29.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0xbf20-0xbf3f irq 23 at device 29.3 on pci0 uhci3: [GIANT-LOCKED] usb3: on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xffa80000-0xffa803ff irq 20 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered pcib3: at device 30.0 on pci0 pci3: on pcib3 bfe0: mem 0xef9fe000-0xef9fffff irq 17 at device 0.0 on pci3 miibus0: on bfe0 bmtphy0: on miibus0 bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto bfe0: Ethernet address: 00:15:c5:a4:d1:a0 pci3: at device 1.0 (no driver attached) pci3: at device 1.1 (no driver attached) pci3: at device 1.2 (no driver attached) pci3: at device 1.3 (no driver attached) pci3: at device 1.4 (no driver attached) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xbfa0-0xbfaf irq 17 at device 31.2 on pci0 ata0: on atapci0 ata1: on atapci0 pci0: at device 31.3 (no driver attached) acpi_tz0: on acpi0 atkbdc0: port 0x60,0x64,0x62,0x66 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Generic PS/2 mouse, device ID 0 pmtimer0 on isa0 orm0: at iomem 0xc0000-0xce7ff,0xce800-0xcffff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 8250 or not responding sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ugen0: Broadcom Corp BCM2045, rev 2.00/1.00, addr 2 Timecounters tick every 1.000 msec ad0: 74881MB at ata0-master SATA150 acd0: DVDR at ata1-master UDMA33 pcm0: pcm0: SMP: AP CPU #1 Launched! cd0 at ata1 bus 0 target 0 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present Trying to mount root from ufs:/dev/ad0s2a setting h/w config 1200 microcode alive notification version 10d00 alive 1 temperature -167 scan finished config chan 11 flags 8005 cck f ofdm 15 config chan 11 flags 8015 DELL# powerd -a minimum powerd: powerd already running, pid: 1193 -- Regards, -Abdullah Ibn Hamad Al-Marri Arab Portal http://www.WeArab.Net/