View Single Post
 
Old 02-12-2010, 12:48 AM
BuildSmart BuildSmart is offline
Cheetah
 
Join Date: Feb 2010
Posts: 1
The lack of information makes it hard to know what/where the error is and providing poorly formated code-blocks doesn't help either.

Quote:
Originally Posted by bhokuto View Post
Greetings,

Managed to edit in Windows using iasl-win over in the acpi website. decompile to dsl and then edit in notepad of all things and the tried to compile but bonked at this error. I haven't a clue what this and need some guidance.

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100121 [Jan 21 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0

dsdt.dsl 1: DiffondRefOf(_OSI, Local1))
Error 4096 - ^ parse error, expecting `error' or `PARSEOP_DEFINITIONBLOCK'
These are the only two lines printed regarding the build, none before it???

It looks like a typo in your file, DiffondRefOf(_OSI, Local1)) --> if(CondRefOf(_OSI, Local1)) which is either on the first line of the file or you didn't copy the entire session which shows the actual line number.



Quote:
Originally Posted by bhokuto View Post

ASL Input: dsdt.dsl - 11060 lines, 245211 bytes, 0 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Code:
 
Name(WAKP, Package(2) {Zero, Zero})
OperationRegion(DEB0, SystemIO, DP80, One)
Field(DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8,
}
OperationRegion(DEB1, SystemIO, DP90, 0x02)
Field(DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16,
}
Method(OSYS, 0, NotSerialized)
{
Store(0x10, Local0)
If(CondRefOf(_OSI, Local1))
{
If(_OSI("Windows 2000"))
{
Store(0x12, Local0)
}
If(_OSI("Windows 2001"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001 SP1"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001 SP2"))
{
Store(0x13, Local0)
}
If(_OSI("Windows 2001.1"))
{
Store(0x14, Local0)
}
If(_OSI("Windows 2001.1 SP1"))
{
Store(0x14, Local0)
}
If(_OSI("Windows 2006"))
{
Store(0x15, Local0)
}
}
Else
{
If(MCTH(_OS, "Microsoft Windows NT"))
{
Store(0x12, Local0)
}
Else
{
If(MCTH(_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store(0x11, Local0)
}
}
}
Return(Local0)
AND

Code:
 
OperationRegion(IORK, SystemIO, 0xB1, One)
Field(IORK, ByteAcc, NoLock, Preserve)
{
IOWK, 8,
}
Scope(_SB.PCI0)
{
Method(_INI, 0, NotSerialized)
{
Store(0x10, OSTY)
If(CondRefOf(_OSI, Local0))
{
If(_OSI("Windows 2000"))
{
Store(0x12, OSTY)
}
If(_OSI("Windows 2001"))
{
Store(0x13, OSTY)
}
If(_OSI("Windows 2001 SP1"))
{
Store(0x13, OSTY)
}
If(_OSI("Windows 2001 SP2"))
{
Store(0x13, OSTY)
}
If(_OSI("Windows 2001.1"))
{
Store(0x14, OSTY)
}
If(_OSI("Windows 2001.1 SP1"))
{
Store(0x14, OSTY)
}
If(_OSI("Windows 2006"))
{
Store(0x15, OSTY)
}
}
Else
{
If(MCTH(_OS, "Microsoft Windows NT"))
{
Store(0x12, Local0)
}
Else
{
If(MCTH(_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store(0x11, OSTY)
}
If(MCTH(_OS, "Linux"))
{
Store(One, OSTY)
}
}
}
If(LGreaterEqual(OSTY, 0x0F))
{
Store(One, PWDE)
Store(Zero, DPPF)
}
}
}
Scope(\)
Second, you don't need all of those checks, this DSDT only applies to OS X so simplifying it saves time and space.
Code:
    Name(WAKP, Package(2) {Zero, Zero})
    OperationRegion(DEB0, SystemIO, DP80, One)
    Field(DEB0, ByteAcc, NoLock, Preserve)
    {
        DBG8, 8,
    }
    OperationRegion(DEB1, SystemIO, DP90, 0x02)
    Field(DEB1, WordAcc, NoLock, Preserve)
    {
            DBG9, 16,
    }
    Method(OSYS, 0, NotSerialized)
    {
        Store(0x10, Local0)
        Return(Local0)
    }
and
Code:
    OperationRegion(IORK, SystemIO, 0xB1, One)
    Field(IORK, ByteAcc, NoLock, Preserve)
    {
        IOWK, 8,
    }
    Scope(_SB.PCI0)
    {
        Method(_INI, 0, NotSerialized)
        {
            Store(0x10, OSTY)
            Store(One, PWDE)
            Store(Zero, DPPF)
        }
    }
    Scope (\)

Last edited by BuildSmart; 02-12-2010 at 01:18 AM.
Reply With Quote