Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 2010 17:19:08 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        freebsd-acpi@FreeBSD.org
Subject:   Re: Return (0x00) Invalid object type for reserved name (found INTEGER, requires Buffer)
Message-ID:  <201006281719.11341.jkim@FreeBSD.org>
In-Reply-To: <AANLkTik19E9Wb51TUrfAhAZkhJbPzB0g-Wjkxt_iOkkv@mail.gmail.com>
References:  <AANLkTik19E9Wb51TUrfAhAZkhJbPzB0g-Wjkxt_iOkkv@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 28 June 2010 04:27 pm, Sevan / Venture37 wrote:
> I'm trying to debug an asl compilation issue, when iasl is invoked
> it spits out:
>
> my.asl  4440:             Return (0x00)
> Error    4080 -                      ^ Invalid object type for
> reserved name (found INTEGER, requires Buffer)
>
> Can anyone point me to a fix?
>
> Regards
>
>
> Sevan / Venture37
>
>     Name (FWSO, "FWSO")
>     Scope (\_SB)
>     {
>         OperationRegion (WHE0, SystemIO, 0x00001E00, 0x00000002)
>         Field (WHE0, AnyAcc, NoLock, Preserve)
>         {
>             WHEC,   8
>         }
>
>         OperationRegion (WHE1, SystemMemory, 0xCFEF4EBD,
> 0x00000090) Field (WHE1, AnyAcc, NoLock, Preserve)
>         {
>             WCMD,   8,
>             WDID,   32,
>             WINF,   1024
>         }
>
>         Field (WHE1, AnyAcc, NoLock, Preserve)
>         {
>                     AccessAs (ByteAcc, 0x00),
>                     Offset (0x05),
>             INFW,   8
>         }
>
>         Method (_OSC, 4, NotSerialized)
>         {
>             If (LEqual (Arg0, Buffer (0x10)
>                     {
>                         /* 0000 */    0x0C, 0x5E, 0x85, 0xED, 0x90,
> 0x6C, 0xBF, 0x47,
>                         /* 0008 */    0xA6, 0x2A, 0x26, 0xDE, 0x0F,
> 0xC5, 0xAD, 0x5C
>                     }))
>             {
>                 CreateDWordField (Arg3, 0x00, CDW1)
>                 CreateDWordField (Arg3, 0x04, CDW2)
>                 CreateDWordField (Arg3, 0x08, CDW3)
>                 If (And (CDW2, 0x01))
>                 {
>                     Store (0xEA, WCMD)
>                     Store (0x03, WDID)
>                     Store (Zero, WHEC)
>                     Return (Arg3)
>                 }
>             }
>
>             Return (0x00)
>         }
>     }

It has to return Arg3 with some bits set to indicate failures.  Please 
see ACPI Spec. 6.2.10 (on page 225).

http://www.acpi.info/spec.htm

ASL example in the spec. is pretty thorough.

Jung-uk Kim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006281719.11341.jkim>