Hmm.  Happened to be at the machine when I saw the last comment, so I decided 
to poke at it.
Attempting to recompile my SR1611NX DSDT with iasl (note that the -dc option 
doesn't seem to be working as advertised, but simply running `iasl DSDT.dsl` 
works at the expense of obliterating the contents of the directory, and `iasl 
-c DSDT.dsl` will try the same but create an empty .aml and a populated .src - 
I guess because the errors prevent it from actually generating the .aml).

...

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090521 [Jun 30 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 3.0a

DSDT.dsl   284:     Method (\_WAK, 1, NotSerialized)
Warning  1080 -                 ^ Reserved method must return a value (_WAK)

DSDT.dsl   410:         WBYT (TSAD, 0x4F, Local0)
Error    4050 -                                ^ Method local variable is not 
initialized (Local0)

DSDT.dsl   632:         CSMS ()
Warning  1099 -            ^ Statement is unreachable

DSDT.dsl   646:         CSMS ()
Warning  1099 -            ^ Statement is unreachable

DSDT.dsl  1406:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

DSDT.dsl  1428:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

DSDT.dsl  1450:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

DSDT.dsl  2985:             Field (SECF, WordAcc, NoLock, Preserve)
Error    4027 -                       ^ Access width is greater than region size

DSDT.dsl  2987:                 SCFN,   8
Error    4028 -                    ^ Access width of Field Unit extends beyond 
region limit

DSDT.dsl  3534:             Method (IPHP, 2, NotSerialized)
Warning  1087 -                        ^ Not all control paths return a value 
(IPHP)

DSDT.dsl  3888:                     If (LEqual (HGDT (Local1), 0x01))
Warning  1092 -                                    ^ Called method may not 
always return a value

DSDT.dsl  3912:                                         If (LEqual (IPHP (0x06, 
Local1), Local3))
Warning  1092 -            Called method may not always return a value ^ 

DSDT.dsl  3946:             Method (HGDT, 1, NotSerialized)
Warning  1087 -                        ^ Not all control paths return a value 
(HGDT)

DSDT.dsl  3994:                     And (IPHP (0x07, Arg0), Arg1, Local2)
Warning  1092 -                             ^ Called method may not always 
return a value

ASL Input:  DSDT.dsl - 5409 lines, 165894 bytes, 1913 keywords
Compilation complete. 6 Errors, 8 Warnings, 0 Remarks, 626 Optimizations

...

I know slightly less than enough about ACPI to be dangerous; this is
what I've been able to figure out thus far:

Our troublesome GPE.L09 is a "General Purpose Event" register.. but I
wish I had a clue what that "SMFN" method that relates to it is
[supposed to be] doing.


As to what iasl dislikes (but MSFT Compiler Version 0x0100000E (16777230) 
obviously was happy to generate):

In the "STOS" method:

DSDT.dsl   410:         WBYT (TSAD, 0x4F, Local0)
Error    4050 -                                ^ Method local variable is not 
initialized (Local0)

...the failure to initialize can be cured by a "Store (Zero, Local0)"
before that line.  I'm not sure if that's really the right thing to do
or not since I have no clue what it's writing to and how the MSFT
compiler would treat the unassigned variable [looks like the arguments
there are address, command, data].


DSDT.dsl  1406:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

DSDT.dsl  1428:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

DSDT.dsl  1450:                 Name (_PSW, 0x01)
Error    4078 -                          ^ Reserved name must be a control 
method (with arguments)

These are tricky; thus far all I've found is that _PSW ("power state
wake") was part of ACPI 1.0, and was deprecated by ACPI 3.0 - but
'deprecated' shouldn't mean 'keels over and fails,' right?  Or is
something very malformed here?


DSDT.dsl  2985:             Field (SECF, WordAcc, NoLock, Preserve)
Error    4027 -                       ^ Access width is greater than region size

DSDT.dsl  2987:                 SCFN,   8
Error    4028 -                    ^ Access width of Field Unit extends beyond 
region limit

Could be the big culprit -

            Mutex (FLMX, 0x00)
            OperationRegion (SECF, SystemMemory, 0x000F97E0, 0x01)
            Field (SECF, WordAcc, NoLock, Preserve)
            {
                SCFN,   8
            }

...it's trying to access a region declared to be byte-sized with the
"WordAcc" size.  Using "ByteAcc" instead cures that.


Unfortunately, without a clue on the _PSW trouble I can't actually compile this 
and see if it solves everything.  
(And why this was no issue before and only became a regression now... who 
knows?)

-- 
Karmic desktop livecd constant kernel ACPI exception messages: AE_LIMIT, 
Returned by Handler for [SystemIO] 20090521 evregion-424
https://bugs.launchpad.net/bugs/475704
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to