Re: Bugs in my DSDT (aopen 1556/1557 ou keynux impact)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



giggz a écrit :
> Hi,
> 
> I have done that :
> 
> cat /proc/acpi/dsdt > dsdt.dat
> iasl -d dsdt.dat
> iasl -tc dsdt.dsl
> 
> The output :
> 
> Intel ACPI Component Architecture
> ASL Optimizing Compiler version 20061109 [May 18 2007]
> Copyright (C) 2000 - 2006 Intel Corporation
> Supports ACPI Specification Revision 3.0a
> 
> dsdt.dsl   207:     Method (_WAK, 1, NotSerialized)
> Warning  1079 -                ^ Reserved method must return a value (_WAK)
> 
> dsdt.dsl  2600:                     Field (RAM, AnyAcc, Lock, Preserve)
> Error    4074 -                              ^ Host Operation Region
> requires ByteAcc access
> 
> dsdt.dsl  2714:                             Store (Arg2, DAT3)
> Error    4005 -    Method argument is not initialized ^  (Arg2)
> 
> dsdt.dsl  2714:                             Store (Arg2, DAT3)
> Remark   5065 -   Not a parameter, used as local only ^  (Arg2)
> 
> dsdt.dsl  3121:                     Release (MTIO)
> Warning  1098 -        Statement is unreachable ^
> 
> ASL Input:  dsdt.dsl - 4852 lines, 179994 bytes, 2068 keywords
> Compilation complete. 2 Errors, 2 Warnings, 1 Remarks, 493 Optimizations
> 
> Do anyone can and want to help me, please ?
> I can post the dsdt.dsl too but it's quite long...
> 
> Thx
> Guillaume

Hi,

I found solutions of 3 compilation problems on the net :
For the error :
dsdt.dsl   207:     Method (_WAK, 1, NotSerialized)
Warning  1079 -                ^ Reserved method must return a value (_WAK)

I had that :
   Method (_WAK, 1, NotSerialized)
    {
        Store (Arg0, P80H)
        Store (0x29, SMIF)
        Store (0x00, TRP0)
        If (LEqual (Arg0, 0x03))
        {
            Store (0xA1, \_SB.PCI0.LPCB.EC0.P54S)
            Store (0x12, SMIF)
            Store (0x00, TRP0)
            If (LEqual (PAR1, 0x00))
            {
                Notify (\_SB.SLPB, 0x02)
            }

            Store (0x66, P80H)
        }

        If (LEqual (Arg0, 0x04))
        {
            If (CondRefOf (_OSI, Local0))
            {
                Store (0x07D1, OSYS)
            }
            Else
            {
                If (LEqual (SizeOf (_OS), 0x14))
                {
                    Store (0x07D0, OSYS)
                }
                Else
                {
                    If (LEqual (SizeOf (_OS), 0x27))
                    {
                        Store (0x07CF, OSYS)
                    }
                    Else
                    {
                        Store (0x07CE, OSYS)
                    }
                }
            }
        }

    }

I put at the end :
	Return(Package(0x02){0x00, 0x00}) 	
The warning diseapears but I don't know if it's the good solution...If
anyone can tell me that's true or false...



For the error :
dsdt.dsl  2600:                     Field (RAM, AnyAcc, Lock, Preserve)
Error    4074 -                              ^ Host Operation Region
requires ByteAcc access

I changed AnyAcc with ByteAcc.


For the error :
dsdt.dsl  3121:                     Release (MTIO)
Warning  1098 -        Statement is unreachable ^

I had :
               Method (READ, 1, Serialized)
                {
                    Acquire (MTIO, 0xFFFF)
                    Store (Arg0, INDX)
                    Store (DATA, Local0)
                    Return (Local0)
                    Release (MTIO)
		}

And now I have that :
               Method (READ, 1, Serialized)
                {
                    Acquire (MTIO, 0xFFFF)
                    Store (Arg0, INDX)
                    Store (DATA, Local0)
                    Release (MTIO)
                    Return (Local0)
                }


But I can't find the solution for the other error problem :
I have that :
                  Method (RAMW, 2, NotSerialized)
                    {
                        Acquire (MUTX, 0xFFFF)
                        If (LGreater (Arg0, 0x7F))
                        {
                            Store (Arg2, DAT3)
                        }

                        Store (Arg0, DAT2)
                        Store (Arg1, DAT1)
                        Store (0xBB, CMCD)
                        Store (0x64, Local1)
                        While (Local1)
                        {
                            Decrement (Local1)
                            Sleep (0x05)
                            Store (CMCD, Local0)
                            If (LEqual (Local0, Zero))
                            {
                                Store (Zero, Local1)
                            }
                        }

                        Release (MUTX)
                    }

And Arg2 doesn't exist...but what can I do ?

Thx
Have a nice day
Guillaume

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux