public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson-VXdhtT5mjnY@public.gmane.org>
To: "Moore, Robert" <robert.moore-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: acpi-devel
	<acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: RE: NO_RETURN_VALUE w/ 20040715
Date: Fri, 20 Aug 2004 17:17:55 -0600	[thread overview]
Message-ID: <1093043875.4993.85.camel@tdi> (raw)
In-Reply-To: <37F890616C995246BE76B3E6B2DBE05501C19B93-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>

Bob,

   Thanks once again for the quick and thorough analysis.  I'll feed
this into our ACPI folks here and see if they have a strong opinion or
can just avoid the problem.  Thanks,

	Alex

On Fri, 2004-08-20 at 14:07 -0700, Moore, Robert wrote:
> This is an error during the execution of this operator in SSTA:
> 
> If (LEqual (Local0, 0x00))
> {
> 
> It turns out that Local0 contains a Buffer (BSTR), and the statement is
> trying to compare it to an Integer.  This causes an operand type
> exception, which then results in a no-return-value exception.
> 
> We have recently upgraded LEqual to handle buffers and strings; and it
> is implemented according to the rules below, which would appear to
> require that both operands be of the same type.
> 
> It is not clear to me whether the logical operators should support
> "implicit type conversion".  This will require additional investigation.
> 
> 
> 
> From the ACPI spec:
> 
> 17.5.60   LEqual (Logical Equal)
> Syntax
> LEqual (Source1, Source2) => Boolean
> 
> Arguments
> Source1 and Source2 must evaluate to the same data type and both must be
> integers, strings, or buffers.
> 
> Description
> If the values are equal, True is returned; otherwise, False is returned.
> For integers, a numeric compare is performed. For strings and buffers,
> True is returned only if both lengths are the same and the result of a
> byte-wise compare indicates exact equality.
> 
> 
> 
>   exdump-0520 [08] ExDumpOperands        : ************* Operand Stack
> Contents (Opcode [LEqual], 2 Operands)
>   exdump-0192 [08] ExDumpOperand         : 004FE3B4 Integer
> 0000000000000000
>   exdump-0192 [08] ExDumpOperand         : 004FE414 Buffer len 1 @
> 004FD354 
> Buffer Contents:  00
>   exdump-0537 [08] ExDumpOperands        : ************* Stack dump from
> dswexec(510), after ExResolveOperands
> exoparg2-0668 [09] ExOpcode_2A_0T_1R     : ----Entry LEqual
> utobject-0160 [10] UtCreateInternalObject: ----Entry Integer
> utobject-0343 [11] UtAllocateObjectDescDb: ----Entry
>  utalloc-0231 [11] UtAcquireFromCache    : Object 004FFAA4 from Operand
> Object Cache
> utobject-0360 [11] UtAllocateObjectDescDb: 004FFAA4 Size 28
> utobject-0362 [11] UtAllocateObjectDescDb: ----Exit- 004FFAA4
> utobject-0208 [10] UtCreateInternalObject: ----Exit- 004FFAA4
> utdelete-0719 [10] UtRemoveReference     : ----Entry 004FFAA4
> utdelete-0742 [10] UtRemoveReference     : Obj 004FFAA4 Refs=1
> utdelete-0515 [11] UtUpdateObjectReferenc: ----Entry 004FFAA4
>   utmisc-1212 [12] UtCreateUpdateState   : ----Entry 004FFAA4
>  utalloc-0231 [12] UtAcquireFromCache    : Object 004FEA44 from State
> Object Cache
>   utmisc-1229 [12] UtCreateUpdateState   : ----Exit- 004FEA44
>   utmisc-1336 [12] UtDeleteGenericState  : ----Entry
>   utmisc-1340 [12] UtDeleteGenericState  : ----Exit-
> utdelete-0431 [11] UtUpdateRefCount      : Obj 004FFAA4 Refs=0,
> [Decremented]
> utdelete-0151 [12] UtDeleteInternalObj   : ----Entry 004FFAA4
> utdelete-0324 [12] UtDeleteInternalObj   : Deleting Object 004FFAA4
> [Integer]
> utobject-0382 [13] UtDeleteObjectDesc    : ----Entry 004FFAA4
> utobject-0397 [13] UtDeleteObjectDesc    : ----Exit-
> utdelete-0327 [12] UtDeleteInternalObj   : ----Exit-
>   utmisc-1096 [12] UtPopGenericState     : ----Entry
>   utmisc-1109 [12] UtPopGenericState     : ----Exit- 00000000
> utdelete-0655 [11] UtUpdateObjectReferenc: ----Exit- AE_OK
> utdelete-0750 [10] UtRemoveReference     : ----Exit-
> exoparg2-0756 [09] ExOpcode_2A_0T_1R     : ----Exit- ****Exception****:
> AE_AML_OPERAND_TYPE
> 
> > -----Original Message-----
> > From: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org [mailto:acpi-devel-
> > admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of Alex Williamson
> > Sent: Friday, August 20, 2004 1:12 PM
> > To: acpi-devel
> > Subject: [ACPI] NO_RETURN_VALUE w/ 20040715
> > 
> > 
> >    I've got one more new error going on with the new ACPI.  On bootup
> of
> > an hp rx8620 (sx1000 based ia64 system), I'm now getting a number of
> > these:
> > 
> > dswstate-0273 [18] ds_result_pop_from_bot: No result objects!
> > State=e000072000095030
> > dsutils-0526 [18] ds_create_operand     : Missing or null operand,
> > AE_AML_NO_RETURN_VALUE
> > psparse-1133: *** Error: Method execution failed
> > [\_SB_.N000.S000.IOC0.L000.SSTA] (Node e0000703fef6d730),
> > AE_AML_NO_RETURN_VALUE
> > psparse-1133: *** Error: Method execution failed
> > [\_SB_.N000.S000.IOC0.L000.SBF0._STA] (Node e0000703fef6f130),
> > AE_AML_NO_RETURN_VALUE
> >  uteval-0158: *** Error: Method execution failed
> > [\_SB_.N000.S000.IOC0.L000.SBF0._STA] (Node e0000703fef6f130),
> > AE_AML_NO_RETURN_VALUE
> > 
> > This did not happen w/ the previous ACPI code so I'd like to get a
> feel
> > for whether this looks like an interpreter bug or an AML bug.   The
> > disassembled DSDT for the _STA and SSTA methods is below.  Looks to me
> > like there's no way out of the SSTA method w/o a return, but then I
> > don't really know AML.  I can provide the entire DSDT if this isn't
> > sufficient.  Thanks,
> > 
> > 	Alex
> > 
> > Method (SSTA, 0, NotSerialized)
> > {
> >     Acquire (MCTX, 0xFFFF)
> >     Store (0x0F, CSTS)
> >     If (LNot (LEqual (PRES (), Ones)))
> >     {
> >         Store (0x00, CSTS)
> >         Release (MCTX)
> >         Return (ToInteger (CSTS, Local0))
> >     }
> >     If (LNot (LEqual (PCHK (), Ones)))
> >     {
> >          Store (0x00, GOOD)
> >          Store (0x00, LIVE)
> >          Store (0x00, SEEN)
> >          Release (MCTX)
> >          Return (ToInteger (CSTS, Local0))
> >     }
> >     If (LEqual (RC, 0x00))
> >     {
> >         Store (BSTR, Local0)
> >     }
> >     Else
> >     {
> >         Store (0x00, Local0)
> >     }
> >     If (LEqual (Local0, 0x00))
> >     {
> >         Store (0x01, GOOD)
> >     }
> >     Release (MCTX)
> >     Return (ToInteger (CSTS, Local0))
> > }
> > ...
> > Device (SBF0)
> > {
> >     ...
> >     Method (_STA, 0, NotSerialized)
> >     {
> >         Return (^^SSTA ())
> >     }
> > }
> > 
> > --
> > Alex Williamson                             HP Linux & Open Source Lab
> > 
> > 
> > 
> > -------------------------------------------------------
> > SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
> > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
> > Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
> > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
> > _______________________________________________
> > Acpi-devel mailing list
> > Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > https://lists.sourceforge.net/lists/listinfo/acpi-devel
> 
-- 
Alex Williamson                             HP Linux & Open Source Lab



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285

  parent reply	other threads:[~2004-08-20 23:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-20 21:07 NO_RETURN_VALUE w/ 20040715 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C19B93-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-20 23:17   ` Alex Williamson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-08-23 22:05 Moore, Robert
2004-08-23 21:54 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C72022-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-23 22:01   ` Nate Lawson
2004-08-23 20:46 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C71EF2-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-23 21:26   ` Nate Lawson
2004-08-23 20:22 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C71E7A-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-23 20:34   ` Alex Williamson
2004-08-20 20:31 Moore, Robert
2004-08-20 20:11 Alex Williamson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1093043875.4993.85.camel@tdi \
    --to=alex.williamson-vxdhtt5mjny@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=robert.moore-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox