http://bugzilla.kernel.org/show_bug.cgi?id=9885
Summary: Compiling iasl -tc dsdt.dsl gives Error 4044
Product: ACPI
Version: 2.5
KernelVersion: 2.6.22.16
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Config-Tables
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
Working kernel version:2.6.22.16
Distribution:openSuSE 10.3
Hardware Environment:Laptop (Dell Vostro 1000)
Software Environment:Compiler iasl
Problem Description:I'm trying to fix the dsdt problem and don't know who to
ask for help, my dsdt is giving me a trouble when at the end of the archive
it's trying to unload a device (PB5), and iasl tells me that it should be a
DdbHandle... so the case is whe the device were loaded it would be: Load (PB5,
"DdbHandle"), but here goes the problem there isn't any Load operator on the
whole archive.
Here is the output of iasl -tc dsdt.dsl:
diogo:~/dsdt # iasl -tc dsdt.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060912 [Sep 21 2007]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a
dsdt.dsl 5591: Unload (PB5)
Error 4044 - Invalid type ^ ([Device|Reference] found, Unload
operator requires [DdbHandle])
ASL Input: dsdt.dsl - 5617 lines, 206828 bytes, 2187 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 885 Optimizations
And Here is the Part that is giving me headaches:
Scope (\_SB.PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, 0x030AD041)
Name (SUPP, 0x00)
Name (CTRL, 0x00)
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C,
0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7,
0x66
}))
{
Store (CDW2, SUPP)
Store (CDW3, CTRL)
If (And (CTRL, 0x01))
{
Unload (PB5)
}
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Return (Arg3)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Arg3)
}
}
}
And Here is the only part that makes reference to the PB5 Device:
Device (PB5)
{
Name (_ADR, 0x00050000)
Name (_PRW, Package (0x02)
{
0x18,
0x04
})
OperationRegion (XPCB, PCI_Config, 0x58, 0x24)
Field (XPCB, ByteAcc, NoLock, Preserve)
{
Offset (0x10),
LKCN, 16,
LKST, 16,
Offset (0x1A),
SLST, 16
}
OperationRegion (XPRI, PCI_Config, 0xE0, 0x08)
Field (XPRI, ByteAcc, NoLock, Preserve)
{
XPIR, 32,
XPID, 32
}
OperationRegion (XPEX, SystemMemory, 0xE0030100, 0x0100)
Field (XPEX, DWordAcc, NoLock, Preserve)
{
Offset (0x18),
VC0, 32,
Offset (0x40),
ECPH, 32,
Offset (0x58),
VC02, 32,
VC0S, 32
}
Method (XPDL, 0, NotSerialized)
{
Store (Zero, Local0)
If (\_SB.PCI0.NBR2 ())
{
If (And (VC0, 0x00020000))
{
Store (Ones, Local0)
}
}
Else
{
If (And (VC0S, 0x02))
{
Store (Ones, Local0)
}
}
Return (Local0)
}
Method (XPRD, 1, NotSerialized)
{
Store (Arg0, XPIR)
Store (XPID, Local0)
Store (0x00, XPIR)
Return (Local0)
}
Method (XPWR, 2, NotSerialized)
{
Store (Arg0, XPIR)
Store (Arg1, XPID)
Store (0x00, XPIR)
}
Method (XPRT, 0, NotSerialized)
{
Store (XPRD (0xA2), Local0)
And (Local0, Not (0x07), Local0)
ShiftRight (Local0, 0x04, Local1)
And (Local1, 0x07, Local1)
Or (Local0, Local1, Local0)
Or (Local0, 0x0100, Local0)
XPWR (0xA2, Local0)
}
Method (XPLP, 1, NotSerialized)
{
Store (0x1010, Local1)
Store (\_SB.PCI0.NBXR (0x00010065), Local2)
If (Arg0)
{
And (Local2, Not (Local1), Local2)
}
Else
{
Or (Local2, Local1, Local2)
}
\_SB.PCI0.NBXW (0x00010065, Local2)
}
Method (XPR2, 0, NotSerialized)
{
Store (LKCN, Local0)
And (Local0, Not (0x20), Local0)
Store (Local0, LKCN)
Or (Local0, 0x20, Local0)
Store (Local0, LKCN)
Store (0x64, Local1)
Store (0x01, Local2)
While (LAnd (Local1, Local2))
{
Sleep (0x01)
Store (LKST, Local3)
If (And (Local3, 0x0800))
{
Decrement (Local1)
}
Else
{
Store (0x00, Local2)
}
}
And (Local0, Not (0x20), Local0)
Store (Local0, LKCN)
If (LNot (Local2))
{
Return (Ones)
}
Else
{
Return (Zero)
}
}
Device (NCRD)
{
Name (_ADR, 0x00)
OperationRegion (PCFG, PCI_Config, 0x00, 0x08)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
DVID, 32,
PCMS, 32
}
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPC0.LNKA,
0x00
}
})
}
}
}
Could Someone Help me out here
--
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla
