From: jurriaan <thunder7-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: A8N-SLI Deluxe: poweroff OK with 1006 bios, fails with 1011 and later bioses
Date: Sun, 7 Aug 2005 08:48:02 +0200 [thread overview]
Message-ID: <20050807064802.GA4188@amd64.of.nowhere> (raw)
[-- Attachment #1: Type: text/plain, Size: 655 bytes --]
My Asus A8N-SLI Deluxe motherboard doesn't power off when shutting down
with a bios later than the original 1006.
I would like to use a newer bios, since they support X2 chips, for
example.
I have decompiled the 1006 dsdt and the 1011 dsdt, and somewhere there
must be a difference that causes this.
I've tried to read the acpi specification to find out where I should
start, but I'm not getting it. What parts in the dsdt have to do with
powering off the system? Where do I look?
I'll attach 1006.dsl and the diff.
Thanks,
Jurriaan
--
Apple I (c) Copyright 1767, Sir Isaac Newton.
Debian (Unstable) GNU/Linux 2.6.13-rc4-mm1 5505 bogomips load 0.40
[-- Attachment #2: a8nsli_deluxe_1006.dsl.bz2 --]
[-- Type: application/octet-stream, Size: 12204 bytes --]
[-- Attachment #3: a8nsli_deluxe_1006_1011.diff --]
[-- Type: text/plain, Size: 16751 bytes --]
--- 1006.dsl 2005-08-06 20:45:36.000000000 +0200
+++ 1011.dsl 2005-08-06 20:45:48.000000000 +0200
@@ -2,13 +2,14 @@
* Intel ACPI Component Architecture
* AML Disassembler version 20050624
*
- * Disassembly of dsdt.1006, Sat Aug 6 20:45:36 2005
+ * Disassembly of dsdt.1011, Sat Aug 6 20:45:48 2005
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "NVIDIA", "AWRDACPI", 4096)
{
Scope (\_PR)
{
- Processor (\_PR.CPU0, 0x00, 0x00004010, 0x06) {}
+ Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
+ Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {}
}
Name (\_S0, Package (0x04)
@@ -153,7 +154,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Return (Local3)
}
- OperationRegion (\GP1, SystemIO, 0x44C0, 0x32)
+ OperationRegion (\GP1, SystemIO, 0x44C0, 0x3D)
Field (\GP1, ByteAcc, NoLock, Preserve)
{
GP00, 8,
@@ -205,7 +206,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
GP46, 8,
GP47, 8,
GP48, 8,
- GP49, 8
+ GP49, 8,
+ GP50, 8,
+ GP51, 8,
+ GP52, 8,
+ GP53, 8,
+ GP54, 8,
+ GP55, 8,
+ GP56, 8,
+ GP57, 8,
+ GP58, 8,
+ GP59, 8,
+ GP60, 8
}
Name (OSFX, 0x01)
@@ -481,106 +493,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
}
}
- Scope (\_PR.CPU0)
- {
- Name (_PCT, Package (0x02)
- {
- ResourceTemplate ()
- {
- Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
- },
-
- ResourceTemplate ()
- {
- Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
- }
- })
- Method (_PPC, 0, NotSerialized)
- {
- Return (0x00)
- }
-
- Name (PPSS, Package (0x06)
- {
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- },
-
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- },
-
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- },
-
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- },
-
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- },
-
- Package (0x06)
- {
- 0xFFFF,
- 0xFFFFFFFF,
- 0xFF,
- 0xFF,
- 0xFFFFFFFF,
- 0x03FF
- }
- })
- }
-
Scope (\_SB)
{
- Device (MBIO)
- {
- Name (_HID, EisaId ("PNP0C02"))
- Name (_UID, 0x05)
- Name (_CRS, ResourceTemplate ()
- {
- IO (Decode16, 0x4000, 0x4000, 0x01, 0x80)
- IO (Decode16, 0x4080, 0x4080, 0x01, 0x80)
- IO (Decode16, 0x4400, 0x4400, 0x01, 0x80)
- IO (Decode16, 0x4480, 0x4480, 0x01, 0x80)
- IO (Decode16, 0x4800, 0x4800, 0x01, 0x80)
- IO (Decode16, 0x4880, 0x4880, 0x01, 0x80)
- })
- }
-
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
@@ -606,6 +520,44 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
}
}
+ OperationRegion (BRCR, PCI_Config, 0xD0, 0x04)
+ Scope (\)
+ {
+ Field (\_SB.PCI0.BRCR, ByteAcc, NoLock, Preserve)
+ {
+ GPUB, 32
+ }
+ }
+
+ Device (MBIO)
+ {
+ Name (_HID, EisaId ("PNP0C02"))
+ Name (_UID, 0x05)
+ Method (_CRS, 0, NotSerialized)
+ {
+ Name (BUF0, ResourceTemplate ()
+ {
+ IO (Decode16, 0x4000, 0x4000, 0x01, 0x80)
+ IO (Decode16, 0x4080, 0x4080, 0x01, 0x80)
+ IO (Decode16, 0x4400, 0x4400, 0x01, 0x80)
+ IO (Decode16, 0x4480, 0x4480, 0x01, 0x80)
+ IO (Decode16, 0x4800, 0x4800, 0x01, 0x80)
+ IO (Decode16, 0x4880, 0x4880, 0x01, 0x80)
+ Memory32Fixed (ReadWrite, 0xA0000000, 0x00000000)
+ })
+ CreateDWordField (BUF0, 0x34, BRAB)
+ CreateDWordField (BUF0, 0x38, BRAL)
+ If (GPUB)
+ {
+ ShiftLeft (GPUB, 0x10, Local0)
+ Store (Local0, BRAB)
+ Store (0x10000000, BRAL)
+ }
+
+ Return (BUF0)
+ }
+ }
+
Name (NATA, Package (0x01)
{
0x00060000
@@ -3026,6 +2978,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (VCOR, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0xFF))
+ {
+ Store (VCOR, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x10, Local0)
Return (Local0)
}
@@ -3034,6 +2998,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (V33V, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0xFF))
+ {
+ Store (V33V, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x10, Local0)
Return (Local0)
}
@@ -3042,6 +3018,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (V50V, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0xFF))
+ {
+ Store (V50V, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x10, Local0)
Store (0x22, Local1)
Store (0x32, Local2)
@@ -3055,6 +3043,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (V12V, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0xFF))
+ {
+ Store (V12V, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x10, Local0)
Store (0x1E, Local1)
Store (0x0A, Local2)
@@ -3098,6 +3098,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (TSR1, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0x80))
+ {
+ Store (TSR1, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x0A, Local0)
Return (Local0)
}
@@ -3106,6 +3118,18 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
If (LEqual (Arg0, Local0))
{
Store (MBTE, Local0)
+ Store (0x00, Local1)
+ While (LEqual (Local0, 0x80))
+ {
+ Store (MBTE, Local0)
+ If (LEqual (Local1, 0x000186A0))
+ {
+ Break
+ }
+
+ Add (Local1, 0x01, Local1)
+ }
+
Multiply (Local0, 0x0A, Local0)
Return (Local0)
}
@@ -3733,6 +3757,124 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
MMCM, 8
}
+ Method (GSLI, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x03060000))
+ {
+ Store (0x00, Local1)
+ Store (ESLI (), Local0)
+ If (LEqual (Local0, 0x40))
+ {
+ Or (Local1, 0x01, Local1)
+ }
+
+ Store (NVSL (), Local2)
+ If (LEqual (Local2, 0x00))
+ {
+ Store (PCBV (), Local3)
+ If (LEqual (Local3, 0x01))
+ {
+ Store (CSLI (), Local0)
+ If (LEqual (Local0, 0x40))
+ {
+ Or (Local1, 0x02, Local1)
+ }
+ }
+ Else
+ {
+ Store (DSLI (), Local0)
+ If (LEqual (Local0, 0x40))
+ {
+ Or (Local1, 0x02, Local1)
+ }
+ }
+ }
+ Else
+ {
+ Store (DSLI (), Local0)
+ If (LEqual (Local0, 0x40))
+ {
+ Or (Local1, 0x02, Local1)
+ }
+ }
+
+ Store (Local1, Index (VCNT, 0x02))
+ Return (VCNT)
+ }
+
+ If (LEqual (Arg0, 0x03060001))
+ {
+ Store (0x00, Local1)
+ Store (NVSL (), Local0)
+ If (LEqual (Local0, 0x10))
+ {
+ Or (Local1, 0x01, Local1)
+ }
+
+ Store (Local1, Index (SLIS, 0x02))
+ Return (SLIS)
+ }
+ Else
+ {
+ Return (0x00)
+ }
+ }
+
+ Name (VCNT, Package (0x04)
+ {
+ 0x03060000,
+ 0x01,
+ 0x01,
+ 0x01
+ })
+ Name (SLIS, Package (0x06)
+ {
+ 0x03060001,
+ 0x00,
+ 0x01,
+ 0x01,
+ "Disabled",
+ "Enabled"
+ })
+ Method (SSLI, 2, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x03060001))
+ {
+ If (Arg1)
+ {
+ Store (SLIC, Local0)
+ Not (0x60, Local2)
+ And (Local0, Local2, Local0)
+ Store (0x00, Local1)
+ ShiftLeft (Local1, 0x05, Local1)
+ Or (Local0, Local1, Local0)
+ Store (Local0, SLIC)
+ Return (0x03)
+ }
+ Else
+ {
+ Store (SLIC, Local0)
+ Not (0x60, Local2)
+ And (Local0, Local2, Local0)
+ Store (0x01, Local1)
+ ShiftLeft (Local1, 0x05, Local1)
+ Or (Local0, Local1, Local0)
+ Store (Local0, SLIC)
+ Return (0x03)
+ }
+ }
+ Else
+ {
+ Return (0x01)
+ }
+ }
+
+ IndexField (CM2I, CM2D, ByteAcc, NoLock, Preserve)
+ {
+ Offset (0xBD),
+ SLIC, 8
+ }
+
Name (CQFN, Package (0x06)
{
0x04060003,
@@ -4187,6 +4329,31 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Return (Local0)
}
+ Method (CRSB, 1, NotSerialized)
+ {
+ If (LEqual (Arg0, 0x01))
+ {
+ Return (0x11)
+ }
+
+ If (LEqual (Arg0, 0x02))
+ {
+ Return (0x12)
+ }
+
+ If (LEqual (Arg0, 0x08))
+ {
+ Return (0x10)
+ }
+
+ If (LEqual (Arg0, 0x0D))
+ {
+ Return (0x13)
+ }
+
+ Return (Arg0)
+ }
+
Method (CRSA, 1, Serialized)
{
Store (0x00, Local0)
@@ -4934,7 +5101,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Method (_CRS, 0, NotSerialized)
{
- Return (BUF1)
+ CreateWordField (IRZ1, 0x05, IRQ1)
+ Store (CRSB (INTA), IRQ1)
+ Return (IRZ1)
}
Method (_SRS, 1, NotSerialized)
@@ -4971,7 +5140,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Method (_CRS, 0, NotSerialized)
{
- Return (BUF2)
+ CreateWordField (IRZ1, 0x05, IRQ1)
+ Store (CRSB (INTB), IRQ1)
+ Return (IRZ1)
}
Method (_SRS, 1, NotSerialized)
@@ -5008,7 +5179,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Method (_CRS, 0, NotSerialized)
{
- Return (BUF3)
+ CreateWordField (IRZ1, 0x05, IRQ1)
+ Store (CRSB (INTC), IRQ1)
+ Return (IRZ1)
}
Method (_SRS, 1, NotSerialized)
@@ -5045,7 +5218,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1,
Method (_CRS, 0, NotSerialized)
{
- Return (BUF4)
+ CreateWordField (IRZ1, 0x05, IRQ1)
+ Store (CRSB (INTD), IRQ1)
+ Return (IRZ1)
}
Method (_SRS, 1, NotSerialized)
next reply other threads:[~2005-08-07 6:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-07 6:48 jurriaan [this message]
[not found] ` <20050807064802.GA4188-9lYvA+wzQ+BL6ehbpA6KYA@public.gmane.org>
2005-08-09 19:40 ` A8N-SLI Deluxe: poweroff OK with 1006 bios, fails with 1011 and later bioses jurriaan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050807064802.GA4188@amd64.of.nowhere \
--to=thunder7-qwit8jrvyhvmr6xm/wnwpw@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox