ACPI dsdt.dsl Compilation Parse Error
I'm trying to debug ACPI on an emachines 2220, D845GVSR motherboard, SR84510B.44T.009.PO3 system BIOS running Suse 9.3 Pro' Linux.
When I attempt to recompile the dsdt.dsl file I get a Parse error,
Suse:~ # iasl -tc dsdt.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20050309 [Mar 19 20 05]
Copyright (C) 2000 - 2005 Intel Corporation
Supports ACPI Specification Revision 3.0
dsdt.dsl 3531: If (SS1)
Error 1037 - ^ syntax error, unexpected PARSEOP_IF
ASL Input: dsdt.dsl - 3797 lines, 118111 bytes, 1730 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Suse:~ #
I'm unfamiliar with this error and am uncertain how to go about fixing it. If anyone has any advice I'd really appreciate it. Relevant code below.
Thanks.
If (SS1)
{
Name (\_SB.PCI0._S1D, 0x02)
Name (\_SB.PCI0.P0P1._S1D, 0x02)
Name (\_SB.PCI0.USB0._S1D, 0x02)
Name (\_SB.PCI0.USB1._S1D, 0x02)
Name (\_SB.PCI0.USB2._S1D, 0x02)
Name (\_SB.PCI0.USB3._S1D, 0x02)
Name (\_SB.PCI0.AC97._S1D, 0x02)
}
If (SS3)
{
Name (\_SB.PCI0._S3D, 0x02)
Name (\_SB.PCI0.P0P1._S3D, 0x02)
Name (\_SB.PCI0.USB0._S3D, 0x02)
Name (\_SB.PCI0.USB1._S3D, 0x02)
Name (\_SB.PCI0.USB2._S3D, 0x02)
Name (\_SB.PCI0.USB3._S3D, 0x02)
Name (\_SB.PCI0.AC97._S3D, 0x02)
}
If (SS4)
{
Name (\_SB.PCI0._S4D, 0x02)
Name (\_SB.PCI0.P0P1._S4D, 0x02)
Name (\_SB.PCI0.AC97._S4D, 0x02)
}
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (0x00, Index (WAKP, 0x00))
Store (0x00, Index (WAKP, 0x01))
}
OperationRegion (RNTR, SystemIO, 0x06C0, 0x10) Field (RNTR, ByteAcc, NoLock, WriteAsZeros) {
PMST, 1,
Offset (0x01)
}
Field (RNTR, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
PMEE, 1,
Offset (0x05)
}
Field (RNTR, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x0A),
EVST, 8
}
Field (RNTR, ByteAcc, NoLock, Preserve)
{
Offset (0x0E),
, 2,
RI1E, 1,
KBDE, 1,
MSEE, 1,
Offset (0x0F)
}
OperationRegion (\_SB.PCI0.SBRG.PMC3, PCI_Config, 0xA4, 0x01) Field (\_SB.PCI0.SBRG.PMC3, ByteAcc, NoLock, Preserve) {
AFG3, 1
}
Method (\_SB.PCI0.SBRG.SIOS, 1, NotSerialized) {
If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03))) {
Store (0xFF, EVST)
Store (0x01, KBDE)
Store (0x01, MSEE)
Store (0x01, PMST)
Store (0x01, PMEE)
}
If (LEqual (Arg0, 0x01))
{
ENFG ()
Store (SDID, Local0)
If (LEqual (Local0, 0xF0))
{
Store (LDMO, LDN)
Store (0x00, ACTR)
Store (LDKB, LDN)
Store (0x00, ACTR)
}
Else
{
Store (0x06, LDN)
Store (0x60, OPT0)
}
EXFG ()
}
If (LEqual (Arg0, 0x05))
{
If (LEqual (LAST, 0x02))
{
Store (0x00, AFG3)
}
Else
{
Store (0x01, AFG3)
}
}
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
WAK (Arg0)
Store (0x01, SLPS)
Store (0x01, SLPE)
If (DerefOf (Index (WAKP, 0x00)))
{
Store (0x00, Index (WAKP, 0x01))
}
Else
{
Store (Arg0, Index (WAKP, 0x01))
}
Return (WAKP)
}
Method (\_SB.PCI0.SBRG.SIOW, 1, NotSerialized) {
If (LEqual (Arg0, 0x01))
{
ENFG ()
Store (SDID, Local0)
If (LEqual (Local0, 0xF0))
{
Store (LDKB, LDN)
Store (0x01, ACTR)
Store (LDMO, LDN)
Store (0x01, ACTR)
}
Else
{
Store (0x06, LDN)
Store (0x00, OPT0)
}
EXFG ()
}
Store (0x00, PMEE)
Store (0x00, RI1E)
}
Method (\_SB.PCI0.SBRG.SIOH, 0, NotSerialized) {
Noop
}
Method (\_SB.PCI0.SBRG.UAR1._PRW, 0, NotSerialized) {
Return (Package (0x02)
{
0x1D,
0x04
})
}
Method (\_SB.PCI0.SBRG.UAR1._PSW, 1, NotSerialized) {
Store (Arg0, RI1E)
}
OperationRegion (CBK2, SystemIO, 0x72, 0x02)
Field (CBK2, ByteAcc, NoLock, Preserve)
{
IND, 8,
DAT, 8
}
IndexField (IND, DAT, ByteAcc, NoLock, Preserve) {
Offset (0xB5),
LAST, 2,
Offset (0xD9),
DRVI, 8,
Offset (0xFE),
, 6,
OSYS, 1,
PSWP, 1
}
OperationRegion (SBIO, SystemIO, 0x0430, 0x08) Field (SBIO, ByteAcc, NoLock, Preserve) {
SKIP, 4,
SLPE, 1
}
Field (SBIO, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x04),
NONE, 4,
SLPS, 1
}
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
Notify (\_SB.SLPB, 0x02)
}
Method (_L1D, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.SLPB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.SLPB, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
Notify (\_SB.SLPB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.SLPB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
Notify (\_SB.SLPB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.AC97, 0x02)
Notify (\_SB.SLPB, 0x02)
}
}
Device (\_SB.SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Name (_UID, 0x1D)
Name (_STA, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x05))
}
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
If (SS1)
{
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
}
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 11 lines · Andy
I'm trying to debug ACPI on an emachines 2220, D845GVSR motherboard, SR84510B.44T.009.PO3 system BIOS running Suse 9.3 Pro' Linux.
When I attempt to recompile the dsdt.dsl file I get a Parse error,
Suse:~ # iasl -tc dsdt.dsl
Intel ACPI Component Architecture ASL Optimizing Compiler / AML Disassembler version 20050309 [Mar 19 20 05] Copyright (C) 2000 - 2005 Intel Corporation Supports ACPI Specification Revision 3.0
dsdt.dsl 3531: If (SS1) Error 1037 - ^ syntax error, unexpected
PARSEOP_IFASL Input: dsdt.dsl - 3797 lines, 118111 bytes, 1730 keywords Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Suse:~ #
iasl barks on 'if' statements in global scope. In your case you can safely remove this 'if' (but leave everything inside braces), just because it's evaluated to true (you don't disable S1 sleep in BIOS, do you?).
Regards,
Alex.