Help needed to create a valid DSDT

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

 



I have a DT Research DT368 board where the DSDT is invalid. I've 
uploaded the original DSDT, anyone can fetch it here.

http://acpi.sourceforge.net/dsdt/view.php?id=662

The errors that I get are:

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060608 [Jun 27 2006]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

  dsdt.dsl.orig    63:             Name (_HID, "_ASIM0000")
  Error    4001 -   String must be entirely alphanumeric ^
  (_ASIM0000)

Is it here ok to just change that into Name (_HID, "ASIM0000") ?


  dsdt.dsl.orig  1968:                 Field (PIUC, DWordAcc,
                                       Lock, Preserve)
  Error    4026 -                                ^ Access width
                                    is greater than region size

When I change this into ByteAcc, then it compiles. The resulting 
function is below, does that make sense?

                OperationRegion (PIUC, PCI_Config, 0x74, 0x01)
                Field (PIUC, ByteAcc, Lock, Preserve)
                {
                            AccessAs (ByteAcc, 0x00),
                    PIRU,   4
                }




  dsdt.dsl.orig  3521:     Method (_WAK, 1, NotSerialized)
  Warning  1079 -                     ^ Reserved method must
                                       return a value (_WAK)

That was actually in some FAQ, I added a Return(Package) so that 
it now is like below. Does this make sense, too?

    Name (PB02, 0x00)
    Name (PB03, 0x00)
    Name (PB21, 0x00)
    Name (PB26, 0x00)
    Method (_WAK, 1, NotSerialized)
    {
        Store ("===== WAK =====", Debug)
        If (LEqual (Arg0, 0x01))
        {
            Store ("===== WAK from S1 =====", Debug)
            Notify (\_SB.SLPB, 0x02)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store ("===== WAK from S3 =====", Debug)
            Notify (\_SB.SLPB, 0x02)
        }

        If (LEqual (Arg0, 0x04))
        {
            Store ("===== WAK from S4 =====", Debug)
            Notify (\_SB.SLPB, 0x02)
        }
        Return(Package(0x02){0x00, 0x00})
    }


  dsdt.dsl.orig  3751:             Name (_HID, "*pnp0c14")
  Error    4001 -  String must be entirely alphanumeric ^
  (*pnp0c14)

Here I'd got rid of the star and make it Name (_HID, "pnp0c14")


  dsdt.dsl.orig  4035:                     Store (Debug, FOO1)
  Error    4094 -                                     ^ syntax
                               error, unexpected PARSEOP_DEBUG

Here I don't really understand the problem and don't know a
solution. For now, I just uncommented it:

            Method (WQAA, 1, NotSerialized)
            {
                If (LEqual (CCAA, Zero))
                {
                    Name (FOO, "WMIACPI: ASL: WQAA called, but 
CCAA is 0\n")
                    Store (FOO, Debug)
                    Name (FOO1, "aa")
                    /* Store (Debug, FOO1) */
                    Fatal (0xA0, 0x00000001, 0x00)
                }

                Return (GETA (Arg0))
            }



The rest are warnings:

  dsdt.dsl.orig  3923:           Method (GETA, 1, NotSerialized)
  Warning  1086 -                              ^ Not all control
                                     paths return a value (GETA)

This basically either returns something or terminates with 
Fatal(). Is the warning therefore bogus?

  dsdt.dsl.orig  4039:                 Return (GETA (Arg0))
  Warning  1091 -                               ^ Called method
                                  may not always return a value

And that's a followup to the warning above. The same happens for 
other methods. Does this need fixing?



dsdt.dsl.orig  3951:             Method (GETB, 1, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (GETB)

dsdt.dsl.orig  3979:             Method (GETC, 1, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (GETC)

dsdt.dsl.orig  4051:                 Return (GETB (Arg0))
Warning  1091 -                                 ^ Called method 
may not always return a value

dsdt.dsl.orig  4063:                 Return (GETC (Arg0))
Warning  1091 -                                 ^ Called method 
may not always return a value

dsdt.dsl.orig  4066:             Method (SETA, 2, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (SETA)

dsdt.dsl.orig  4098:             Method (SETB, 2, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (SETB)

dsdt.dsl.orig  4130:             Method (SETC, 2, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (SETC)

dsdt.dsl.orig  4184:                 Return (SETA (Arg0, Arg1))
Warning  1091 -                                 ^ Called method 
may not always return a value

dsdt.dsl.orig  4196:                 Return (SETB (Arg0, Arg1))
Warning  1091 -                                 ^ Called method 
may not always return a value

dsdt.dsl.orig  4208:                 Return (SETC (Arg0, Arg1))
Warning  1091 -                                 ^ Called method 
may not always return a value

dsdt.dsl.orig  4230:             Method (WMBA, 3, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (WMBA)

dsdt.dsl.orig  4234:                     Return (GETA (Arg0))
Warning  1091 -                                     ^ Called 
method may not always return a value

dsdt.dsl.orig  4263:             Method (WMBB, 3, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (WMBB)

dsdt.dsl.orig  4267:                     Return (GETB (Arg0))
Warning  1091 -                                     ^ Called 
method may not always return a value

dsdt.dsl.orig  4296:             Method (WMBC, 3, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (WMBC)

dsdt.dsl.orig  4300:                     Return (GETC (Arg0))
Warning  1091 -                                     ^ Called 
method may not always return a value

dsdt.dsl.orig  4329:             Method (_WED, 1, NotSerialized)
Warning  1086 -                             ^ Not all control 
paths return a value (_WED)

dsdt.dsl.orig  4329:             Method (_WED, 1, NotSerialized)
Warning  1079 -                             ^ Reserved method 
must return a value (_WED)

dsdt.dsl.orig  4333:                     Return (GETA (0x00))
Warning  1091 -                                     ^ Called 
method may not always return a value

dsdt.dsl.orig  4338:                     Return (GETB (0x00))
Warning  1091 -                                     ^ Called 
method may not always return a value

dsdt.dsl.orig  4343:                     Return (GETC (0x00))
Warning  1091 -                                     ^ Called 
method may not always return a value

ASL Input:  dsdt.dsl.orig - 4499 lines, 156755 bytes, 2496 
keywords
Compilation complete. 4 Errors, 24 Warnings, 0 Remarks, 602 
Optimizations

-- 
M&N Solutions GmbH
Holger Schurig
Dieselstr. 18
61191 Rosbach
06003/9141-15
-
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