All of lore.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: Mon, 23 Aug 2004 14:34:09 -0600	[thread overview]
Message-ID: <1093293249.10295.38.camel@tdi> (raw)
In-Reply-To: <37F890616C995246BE76B3E6B2DBE05501C71E7A-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>

Bob,

  Great, I was looking through the history of the LEqual operator across
the ACPI specs and it got rather convoluted, this seems like a good
compromise.  Will there be a CA update to support this (preferably in
Linus' tree before 2.6.9 is tagged)?  I'd be happy to test on this box
if needed.  Thanks,

	Alex

On Mon, 2004-08-23 at 13:22 -0700, Moore, Robert wrote:
> We are going to update the ACPI spec to something like this:
> 
> *	For the following operators, the data type of the first operand
> dictates both the required type of the second operand and the type of
> the result object.  (The second operator is converted, if necessary, to
> match the type of the first operand.)
>     Concatenate
>     LEqual
>     LGreater
>     LGreaterEqual
>     LLess
>     LLessEqual
>     LNotEqual
> 
> 
> 
> 
> 
> > -----Original Message-----
> > From: Alex Williamson [mailto:alex.williamson-VXdhtT5mjnY@public.gmane.org]
> > Sent: Friday, August 20, 2004 4:18 PM
> > To: Moore, Robert
> > Cc: acpi-devel
> > Subject: RE: [ACPI] NO_RETURN_VALUE w/ 20040715
> > 
> > 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
> 
-- 
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-23 20:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-23 20:22 NO_RETURN_VALUE w/ 20040715 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C71E7A-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-23 20:34   ` 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-20 21:07 Moore, Robert
     [not found] ` <37F890616C995246BE76B3E6B2DBE05501C19B93-sBd4vmA9Se5Qxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-20 23:17   ` 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=1093293249.10295.38.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.