public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* AML parser modifications - 2.6.10 - 2.6.10-bk7 - AE_AML_BUFFER_LIMIT
@ 2005-02-04 21:35 Thomas Renninger
       [not found] ` <4203EA90.6020005-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Renninger @ 2005-02-04 21:35 UTC (permalink / raw)
  To: ML ACPI-devel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: AML parser modifications - 2.6.10 - 2.6.10-bk7 - AE_AML_BUFFER_LIMIT
       [not found] ` <4203EA90.6020005-smMupaH/RwJM7kwft8N7nw@public.gmane.org>
@ 2005-02-07 11:17   ` Jan Kasprzak
  0 siblings, 0 replies; 3+ messages in thread
From: Jan Kasprzak @ 2005-02-07 11:17 UTC (permalink / raw)
  To: Thomas Renninger; +Cc: ML ACPI-devel

Thomas Renninger wrote:
: 
: I have a machine booting with 2.6.10 not booting any more with 2.6.10-bk7 .

	I want to add a "me too" (I have posted this few days ago).
Asus M6R, the similar "kind-of-strcmp" method, which fails on
newer kernels with AE_AML_BUFFER_LIMIT (2.6.9 is OK).

[...]
: 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?

	I don't know either. But 2.6.9 seems to be OK WRT this.

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
> Whatever the Java applications and desktop dances may lead to, Unix will <
> still be pushing the packets around for a quite a while.      --Rob Pike <


-------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: AML parser modifications - 2.6.10 - 2.6.10-bk7 - AE_AML_BUFFER_LIMIT
@ 2005-02-07 22:15 Moore, Robert
  0 siblings, 0 replies; 3+ messages in thread
From: Moore, Robert @ 2005-02-07 22:15 UTC (permalink / raw)
  To: Jan Kasprzak, Thomas Renninger; +Cc: ML ACPI-devel

This was fixed recently:

14 January 2005.  Summary of changes for version 20050114:

1) ACPI CA Core Subsystem:

Fixed an issue with the String-to-Buffer conversion code where the
string null terminator was not included in the buffer after conversion,
but there is existing ASL that assumes the string null terminator is
included. This is the root of the ACPI_AML_BUFFER_LIMIT regression. This
problem was introduced in the previous version when the code was updated
to correctly set the converted buffer size as per the ACPI
specification. The ACPI spec is ambiguous and will be updated to specify
that the null terminator must be included in the converted buffer. This
also affects the ToBuffer() ASL operator.


> -----Original Message-----
> From: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org 
> [mailto:acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of 
> Jan Kasprzak
> Sent: Monday, February 07, 2005 3:18 AM
> To: Thomas Renninger
> Cc: ML ACPI-devel
> Subject: Re: [ACPI] AML parser modifications - 2.6.10 - 
> 2.6.10-bk7 - AE_AML_BUFFER_LIMIT
> 
> 
> Thomas Renninger wrote:
> : 
> : I have a machine booting with 2.6.10 not booting any more 
> with 2.6.10-bk7 .
> 
> 	I want to add a "me too" (I have posted this few days 
> ago). Asus M6R, the similar "kind-of-strcmp" method, which 
> fails on newer kernels with AE_AML_BUFFER_LIMIT (2.6.9 is OK).
> 
> [...]
> : 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?
> 
> 	I don't know either. But 2.6.9 seems to be OK WRT this.
> 
> -Y.
> 
> -- 
> | Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | 
> yenya.net - private}> |
> | GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 
> 8B35FCDE05B18A5E |
> | http://www.fi.muni.cz/~kas/   Czech Linux Homepage: 
> http://www.linux.cz/ |
> > Whatever the Java applications and desktop dances may lead 
> to, Unix will <
> > still be pushing the packets around for a quite a while.    
>   --Rob Pike <
> 
> 
> -------------------------------------------------------
> 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
> _______________________________________________
> Acpi-devel mailing list
> Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org 
> https://lists.sourceforge.net/lists/listinfo/acpi-devel
> 


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-02-07 22:15 UTC | newest]

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox