public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Renninger <mail-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
To: ML ACPI-devel
	<acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: AML parser modifications - 2.6.10 - 2.6.10-bk7 - AE_AML_BUFFER_LIMIT
Date: Fri, 04 Feb 2005 22:35:12 +0100	[thread overview]
Message-ID: <4203EA90.6020005@renninger.de> (raw)

Hi,

I have a machine booting with 2.6.10 not booting any more with 2.6.10-bk7 .

The error during boot is (sorry for the bad formatting):

Executing all Device _STA and_INI methods:.....exoparg2-0436 [14] 
ex_opcode_2A_1T_1R    : Index value (14) beyond end of buffer (14)
  psparse-1138: *** Error: Method execution failed [\STRC] (Node 
ffff8100018b5130), AE_AML_BUFFER_LIMIT psparse-1138: *** Error: Method 
execution failed [\_SB_.PCI0._INI] (Node ffff8100018a00b0), 
AE_AML_BUFFER_LIMIT  nsinit-0414 [06] ns_init_one_device    : 
\_SB_.PCI0._INI._INI failed: AE_AML_BUFFER_LIMIT
...................................................
56 Devices found containing: 56 _STA, 1 _INI methods


The error is thrown in a kind of "strcmp" function \_STRC that compares 
the operating system string:

     Method (STRC, 2, NotSerialized)
     {
         If (LNot (LEqual (SizeOf (Arg0), SizeOf (Arg1))))
         {
             Return (0x00)
         }
         Add (SizeOf (Arg0), 0x01, Local0)
         Name (BUF0, Buffer (Local0) {})
         Name (BUF1, Buffer (Local0) {})
         Store (Arg0, BUF0)
         Store (Arg1, BUF1)
         While (Local0)
         {
             Decrement (Local0)
             If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf 
(Index (BUF1, Local0)))))
             {
                 Return (Zero)
             }
         }
         Return (One)
     }
_______________________________________________________________________

Adding these addtional debug statements:

     Method (STRC, 2, NotSerialized)
     {
         Store (Arg0, Debug)
         Store (Arg1, Debug)
	Store (sizeof(Arg0), Debug)
	Store (sizeof(Arg1), Debug)
         If (LNot (LEqual (SizeOf (Arg0), SizeOf (Arg1))))
         {
             Return (0x00)
         }
         Store ("Strings should have the same size", Debug)
         Add (SizeOf (Arg0), 0x01, Local0)
         Name (BUF0, Buffer (Local0) {})
         Add (SizeOf (Arg1), 0x01, Local0)
         Name (BUF1, Buffer (Local0) {})
         Store (Arg0, BUF0)
         Store (Arg1, BUF1)
         While (Local0)
         {
             Decrement (Local0)
	    Store (Local0, Debug)
             If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf 
(Index (BUF1, Local0)))))
             {
                 Return (Zero)
             }
         }

         Return (One)
     }


Gave me this output:



Completing Region/Field/Buffer/Package 
initialization:........................................................
..............................
Initialized 36/36 Regions 18/18 Fields 19/19 Buffers 13/23 Packages (681 
nodes)
Executing all Device _STA and_INI methods:.....[ACPI Debug] String: 
[0x14] "Microsoft Windows NT"
[ACPI Debug] String: [0x11] "Microsoft Windows"
[ACPI Debug] Integer: 0x00000014
[ACPI Debug] Integer: 0x00000011
[ACPI Debug] String: [0x14] "Microsoft Windows NT"
[ACPI Debug] String: [0x14] "Microsoft Windows NT"
[ACPI Debug] Integer: 0x00000014
[ACPI Debug] Integer: 0x00000014
[ACPI Debug] String: [0x21] "Strings should have the same size"
[ACPI Debug] Integer: 0x00000014
exoparg2-0436 [14] ex_opcode_2A_1T_1R    : Index value (14) beyond end 
of buffer (14)
  psparse-1138: *** Error: Method execution failed [\STRC] (Node 
ffff81001fce5130), AE_AML_BUFFER_LIMIT
  psparse-1138: *** Error: Method execution failed [\_SB_.PCI0._INI] 
(Node ffff81001fcd00b0), AE_AML_BUFFER_LIM
IT
   nsinit-0414 [06] ns_init_one_device    : \_SB_.PCI0._INI._INI failed: 
AE_AML_BUFFER_LIMIT

__________________________________________________________________________

Seems as if accessing BUF0[20] (C style) the kernel thinks the index is 
out of bounds, but it shouldn't ?!?
Is this a regression in the kernel, or was the dsdt code/syntax always 
wrong, but accepted by previous kernels?

Tell me if you need more info.

Thanks,

         Thomas


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl

             reply	other threads:[~2005-02-04 21:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-04 21:35 Thomas Renninger [this message]
     [not found] ` <4203EA90.6020005-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
2005-02-07 11:17   ` AML parser modifications - 2.6.10 - 2.6.10-bk7 - AE_AML_BUFFER_LIMIT Jan Kasprzak
  -- strict thread matches above, loose matches on Subject: below --
2005-02-07 22:15 Moore, Robert

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=4203EA90.6020005@renninger.de \
    --to=mail-smmupah/rwjm7kwft8n7nw@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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