On Fri, Mar 18, 2011 at 04:48:13PM -0600, Jordan Hargrave wrote: > This patch changes the values of boolean comparisons from 0:1 to 0:-1 (from > ACPI Spec) in order to fix an AML issue on some Asus machines. > Please test on other machines as well to verify that hardware > sensors/acpi/boot work properly.
My Gigabyte GA-890FXA-UD5 motherboard still boots and sees everything. amd64 bsd.mp. No problems so far. .... Ken > > Index: dsdt.c > =================================================================== > RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v > retrieving revision 1.181 > diff -u -p -b -r1.181 dsdt.c > --- dsdt.c 2 Jan 2011 04:56:57 -0000 1.181 > +++ dsdt.c 18 Mar 2011 21:55:16 -0000 > @@ -1167,31 +1167,31 @@ aml_evalexpr(int64_t lhs, int64_t rhs, i > > /* Logical/Comparison */ > case AMLOP_LAND: > - res = (lhs && rhs); > + res = -(lhs && rhs); > break; > case AMLOP_LOR: > - res = (lhs || rhs); > + res = -(lhs || rhs); > break; > case AMLOP_LNOT: > - res = (!lhs); > + res = -(!lhs); > break; > case AMLOP_LNOTEQUAL: > - res = (lhs != rhs); > + res = -(lhs != rhs); > break; > case AMLOP_LLESSEQUAL: > - res = (lhs <= rhs); > + res = -(lhs <= rhs); > break; > case AMLOP_LGREATEREQUAL: > - res = (lhs >= rhs); > + res = -(lhs >= rhs); > break; > case AMLOP_LEQUAL: > - res = (lhs == rhs); > + res = -(lhs == rhs); > break; > case AMLOP_LGREATER: > - res = (lhs > rhs); > + res = -(lhs > rhs); > break; > case AMLOP_LLESS: > - res = (lhs < rhs); > + res = -(lhs < rhs); > break; > }