On Thu, Sep 13, 2012 at 01:21:54PM +0300, Paul Irofti wrote:
> On Wed, Sep 12, 2012 at 09:12:20PM -0500, joshua stein wrote:
> > asus ux31a running amd64 sept 11 snapshot, newest bios (happened
> > with older one too), panics during acpi configuration.
> 
> Does this help?
> 

Hi,

There is a store(Int, Method) :

101         Method (_PDC, 1, NotSerialized)
102         {
103             Store (CPPC, \_PR.CPU0._PPC)
104             Store (CPDC (Arg0), Local0)


defined :
 
32     Scope (\_PR.CPU0)
 33     {
 34         Method (_PPC, 0, NotSerialized)
 35         {
 36             Return (\LIMT)
 37         }



I don't know if ACPI allow method to be "overrided", but here is a diff
that pass the first panic and allow only by an integer.

I did not found anything related to that in the spec, does someone have
an idea ?

Index: dsdt.c
===================================================================
RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v
retrieving revision 1.197
diff -u -p -u -p -r1.197 dsdt.c
--- dsdt.c      16 Jul 2012 15:27:11 -0000      1.197
+++ dsdt.c      3 Nov 2012 12:37:45 -0000
@@ -2593,6 +2593,14 @@ aml_store(struct aml_scope *scope, struc
                aml_freevalue(lhs);
                aml_copyvalue(lhs, rhs);
                break;
+       case AML_OBJTYPE_METHOD:
+               /* Method override */
+               if (rhs->type != AML_OBJTYPE_INTEGER) {
+                       aml_die("Overriding a method with non-int?");   
+               }
+               aml_freevalue(lhs);
+               aml_copyvalue(lhs, rhs);
+               break;
        default:
                aml_die("Store to default type!  %x\n", lhs->type);
                break;

Reply via email to