Author: tfaber
Date: Sat Mar 4 16:54:26 2017
New Revision: 74056
URL:
http://svn.reactos.org/svn/reactos?rev=74056&view=rev
Log:
[ACPICA]
- Update to version 20170303
CORE-12885
Added:
trunk/reactos/drivers/bus/acpi/acpica/include/acconvert.h (with props)
Modified:
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dscontrol.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsmthdat.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsobject.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsopcode.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsutils.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswexec.c
trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswload2.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exmisc.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exnames.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg1.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg2.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg6.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exresolv.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exstore.c
trunk/reactos/drivers/bus/acpi/acpica/executer/exstoren.c
trunk/reactos/drivers/bus/acpi/acpica/hardware/hwvalid.c
trunk/reactos/drivers/bus/acpi/acpica/include/acconfig.h
trunk/reactos/drivers/bus/acpi/acpica/include/acdisasm.h
trunk/reactos/drivers/bus/acpi/acpica/include/acglobal.h
trunk/reactos/drivers/bus/acpi/acpica/include/aclocal.h
trunk/reactos/drivers/bus/acpi/acpica/include/acmacros.h
trunk/reactos/drivers/bus/acpi/acpica/include/acopcode.h
trunk/reactos/drivers/bus/acpi/acpica/include/acpixf.h
trunk/reactos/drivers/bus/acpi/acpica/include/actbl2.h
trunk/reactos/drivers/bus/acpi/acpica/include/amlcode.h
trunk/reactos/drivers/bus/acpi/acpica/namespace/nsaccess.c
trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair.c
trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair2.c
trunk/reactos/drivers/bus/acpi/acpica/namespace/nsutils.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psargs.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psloop.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psobject.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psopcode.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psopinfo.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psparse.c
trunk/reactos/drivers/bus/acpi/acpica/parser/pstree.c
trunk/reactos/drivers/bus/acpi/acpica/parser/psutils.c
trunk/reactos/drivers/bus/acpi/acpica/utilities/utalloc.c
trunk/reactos/drivers/bus/acpi/acpica/utilities/utcache.c
trunk/reactos/drivers/bus/acpi/acpica/utilities/utdebug.c
trunk/reactos/drivers/bus/acpi/acpica/utilities/utresrc.c
trunk/reactos/drivers/bus/acpi/acpica/utilities/utxferror.c
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dscontrol.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dscontrol.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dscontrol.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -358,7 +358,7 @@
break;
- case AML_BREAK_POINT_OP:
+ case AML_BREAKPOINT_OP:
AcpiDbSignalBreakPoint (WalkState);
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsmthdat.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsmthdat.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsmthdat.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -728,7 +728,8 @@
*
* FUNCTION: AcpiDsMethodDataGetType
*
- * PARAMETERS: Opcode - Either AML_LOCAL_OP or AML_ARG_OP
+ * PARAMETERS: Opcode - Either AML_FIRST LOCAL_OP or
+ * AML_FIRST_ARG_OP
* Index - Which Local or Arg whose type to get
* WalkState - Current walk state object
*
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsobject.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsobject.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsobject.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -113,7 +113,7 @@
if ((Status == AE_NOT_FOUND) && (AcpiGbl_EnableInterpreterSlack)
&&
((Op->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP)))
+ (Op->Common.Parent->Common.AmlOpcode ==
AML_VARIABLE_PACKAGE_OP)))
{
/*
* We didn't find the target and we are populating elements
@@ -142,7 +142,7 @@
/* Special object resolution for elements of a package */
if ((Op->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP))
+ (Op->Common.Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP))
{
/*
* Attempt to resolve the node to a value before we insert it into
@@ -411,7 +411,7 @@
Parent = Op->Common.Parent;
while ((Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP))
+ (Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP))
{
Parent = Parent->Common.Parent;
}
@@ -795,9 +795,9 @@
{
case AML_TYPE_LOCAL_VARIABLE:
- /* Local ID (0-7) is (AML opcode - base AML_LOCAL_OP) */
-
- ObjDesc->Reference.Value = ((UINT32) Opcode) - AML_LOCAL_OP;
+ /* Local ID (0-7) is (AML opcode - base AML_FIRST_LOCAL_OP) */
+
+ ObjDesc->Reference.Value = ((UINT32) Opcode) - AML_FIRST_LOCAL_OP;
ObjDesc->Reference.Class = ACPI_REFCLASS_LOCAL;
#ifndef ACPI_NO_METHOD_EXECUTION
@@ -810,9 +810,9 @@
case AML_TYPE_METHOD_ARGUMENT:
- /* Arg ID (0-6) is (AML opcode - base AML_ARG_OP) */
-
- ObjDesc->Reference.Value = ((UINT32) Opcode) - AML_ARG_OP;
+ /* Arg ID (0-6) is (AML opcode - base AML_FIRST_ARG_OP) */
+
+ ObjDesc->Reference.Value = ((UINT32) Opcode) - AML_FIRST_ARG_OP;
ObjDesc->Reference.Class = ACPI_REFCLASS_ARG;
#ifndef ACPI_NO_METHOD_EXECUTION
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsopcode.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsopcode.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsopcode.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -681,7 +681,7 @@
break;
case AML_PACKAGE_OP:
- case AML_VAR_PACKAGE_OP:
+ case AML_VARIABLE_PACKAGE_OP:
Status = AcpiDsBuildInternalPackageObj (
WalkState, Op, Length, &ObjDesc);
@@ -701,7 +701,7 @@
*/
if ((!Op->Common.Parent) ||
((Op->Common.Parent->Common.AmlOpcode != AML_PACKAGE_OP) &&
- (Op->Common.Parent->Common.AmlOpcode != AML_VAR_PACKAGE_OP)
&&
+ (Op->Common.Parent->Common.AmlOpcode != AML_VARIABLE_PACKAGE_OP)
&&
(Op->Common.Parent->Common.AmlOpcode != AML_NAME_OP)))
{
WalkState->ResultObj = ObjDesc;
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsutils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsutils.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dsutils.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -297,8 +297,8 @@
if ((Op->Common.Parent->Common.AmlOpcode == AML_REGION_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_DATA_REGION_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_BUFFER_OP) ||
+ (Op->Common.Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_INT_EVAL_SUBTREE_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_BANK_FIELD_OP))
{
@@ -589,7 +589,7 @@
*/
if (Status == AE_NOT_FOUND)
{
- if (ParentOp->Common.AmlOpcode == AML_COND_REF_OF_OP)
+ if (ParentOp->Common.AmlOpcode == AML_CONDITIONAL_REF_OF_OP)
{
/*
* For the Conditional Reference op, it's OK if
@@ -870,7 +870,7 @@
}
if ((Op->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP) ||
+ (Op->Common.Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_REF_OF_OP))
{
/* TBD: Should we specify this feature as a bit of OpInfo->Flags of these
opcodes? */
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswexec.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswexec.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswexec.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -536,7 +536,7 @@
*/
if ((Op->Asl.Parent) &&
((Op->Asl.Parent->Asl.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Asl.Parent->Asl.AmlOpcode == AML_VAR_PACKAGE_OP)))
+ (Op->Asl.Parent->Asl.AmlOpcode == AML_VARIABLE_PACKAGE_OP)))
{
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
"Method Reference in a Package, Op=%p\n", Op));
Modified: trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswload2.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/di…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswload2.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/dispatcher/dswload2.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -543,7 +543,7 @@
Status = AcpiExCreateProcessor (WalkState);
break;
- case AML_POWER_RES_OP:
+ case AML_POWER_RESOURCE_OP:
Status = AcpiExCreatePowerResource (WalkState);
break;
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exmisc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exmisc.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exmisc.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -274,7 +274,7 @@
switch (Opcode)
{
- case AML_LAND_OP: /* LAnd (Integer0, Integer1) */
+ case AML_LOGICAL_AND_OP: /* LAnd (Integer0, Integer1) */
if (Integer0 && Integer1)
{
@@ -282,7 +282,7 @@
}
break;
- case AML_LOR_OP: /* LOr (Integer0, Integer1) */
+ case AML_LOGICAL_OR_OP: /* LOr (Integer0, Integer1) */
if (Integer0 || Integer1)
{
@@ -400,7 +400,7 @@
switch (Opcode)
{
- case AML_LEQUAL_OP: /* LEqual (Operand0, Operand1) */
+ case AML_LOGICAL_EQUAL_OP: /* LEqual (Operand0, Operand1) */
if (Integer0 == Integer1)
{
@@ -408,7 +408,7 @@
}
break;
- case AML_LGREATER_OP: /* LGreater (Operand0, Operand1) */
+ case AML_LOGICAL_GREATER_OP: /* LGreater (Operand0, Operand1) */
if (Integer0 > Integer1)
{
@@ -416,7 +416,7 @@
}
break;
- case AML_LLESS_OP: /* LLess (Operand0, Operand1) */
+ case AML_LOGICAL_LESS_OP: /* LLess (Operand0, Operand1) */
if (Integer0 < Integer1)
{
@@ -449,7 +449,7 @@
switch (Opcode)
{
- case AML_LEQUAL_OP: /* LEqual (Operand0, Operand1) */
+ case AML_LOGICAL_EQUAL_OP: /* LEqual (Operand0, Operand1) */
/* Length and all bytes must be equal */
@@ -462,7 +462,7 @@
}
break;
- case AML_LGREATER_OP: /* LGreater (Operand0, Operand1) */
+ case AML_LOGICAL_GREATER_OP: /* LGreater (Operand0, Operand1) */
if (Compare > 0)
{
@@ -482,7 +482,7 @@
}
break;
- case AML_LLESS_OP: /* LLess (Operand0, Operand1) */
+ case AML_LOGICAL_LESS_OP: /* LLess (Operand0, Operand1) */
if (Compare > 0)
{
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exnames.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exnames.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exnames.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -141,7 +141,7 @@
{
/* Set up multi prefixes */
- *TempPtr++ = AML_MULTI_NAME_PREFIX_OP;
+ *TempPtr++ = AML_MULTI_NAME_PREFIX;
*TempPtr++ = (char) NumNameSegs;
}
else if (2 == NumNameSegs)
@@ -385,7 +385,7 @@
}
break;
- case AML_MULTI_NAME_PREFIX_OP:
+ case AML_MULTI_NAME_PREFIX:
ACPI_DEBUG_PRINT ((ACPI_DB_LOAD, "MultiNamePrefix at %p\n",
AmlAddress));
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg1.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg1.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg1.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -304,7 +304,7 @@
case AML_FIND_SET_RIGHT_BIT_OP:
case AML_FROM_BCD_OP:
case AML_TO_BCD_OP:
- case AML_COND_REF_OF_OP:
+ case AML_CONDITIONAL_REF_OF_OP:
/* Create a return object of type Integer for these opcodes */
@@ -435,7 +435,7 @@
}
break;
- case AML_COND_REF_OF_OP: /* CondRefOf (SourceObject, Result) */
+ case AML_CONDITIONAL_REF_OF_OP: /* CondRefOf (SourceObject, Result) */
/*
* This op is a little strange because the internal return value is
* different than the return value stored in the result descriptor
@@ -507,13 +507,13 @@
/*
* ACPI 2.0 Opcodes
*/
- case AML_COPY_OP: /* Copy (Source, Target) */
+ case AML_COPY_OBJECT_OP: /* CopyObject (Source, Target) */
Status = AcpiUtCopyIobjectToIobject (
Operand[0], &ReturnDesc, WalkState);
break;
- case AML_TO_DECSTRING_OP: /* ToDecimalString (Data, Result) */
+ case AML_TO_DECIMAL_STRING_OP: /* ToDecimalString (Data, Result) */
Status = AcpiExConvertToString (
Operand[0], &ReturnDesc, ACPI_EXPLICIT_CONVERT_DECIMAL);
@@ -525,7 +525,7 @@
}
break;
- case AML_TO_HEXSTRING_OP: /* ToHexString (Data, Result) */
+ case AML_TO_HEX_STRING_OP: /* ToHexString (Data, Result) */
Status = AcpiExConvertToString (
Operand[0], &ReturnDesc, ACPI_EXPLICIT_CONVERT_HEX);
@@ -640,7 +640,7 @@
switch (WalkState->Opcode)
{
- case AML_LNOT_OP: /* LNot (Operand) */
+ case AML_LOGICAL_NOT_OP: /* LNot (Operand) */
ReturnDesc = AcpiUtCreateIntegerObject ((UINT64) 0);
if (!ReturnDesc)
@@ -691,7 +691,8 @@
* NOTE: We use LNOT_OP here in order to force resolution of the
* reference operand to an actual integer.
*/
- Status = AcpiExResolveOperands (AML_LNOT_OP, &TempDesc, WalkState);
+ Status = AcpiExResolveOperands (AML_LOGICAL_NOT_OP,
+ &TempDesc, WalkState);
if (ACPI_FAILURE (Status))
{
ACPI_EXCEPTION ((AE_INFO, Status,
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg2.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg2.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg2.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -330,7 +330,7 @@
&ReturnDesc->Integer.Value);
break;
- case AML_CONCAT_OP: /* Concatenate (Data1, Data2, Result) */
+ case AML_CONCATENATE_OP: /* Concatenate (Data1, Data2, Result) */
Status = AcpiExDoConcatenate (
Operand[0], Operand[1], &ReturnDesc, WalkState);
@@ -376,7 +376,7 @@
Operand[0]->Buffer.Pointer, Length);
break;
- case AML_CONCAT_RES_OP:
+ case AML_CONCATENATE_TEMPLATE_OP:
/* ConcatenateResTemplate (Buffer, Buffer, Result) (ACPI 2.0) */
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg6.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg6.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exoparg6.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -133,7 +133,7 @@
* Change to: (M == P[i])
*/
Status = AcpiExDoLogicalOp (
- AML_LEQUAL_OP, MatchObj, PackageObj, &LogicalResult);
+ AML_LOGICAL_EQUAL_OP, MatchObj, PackageObj, &LogicalResult);
if (ACPI_FAILURE (Status))
{
return (FALSE);
@@ -146,7 +146,7 @@
* Change to: (M >= P[i]) (M NotLess than P[i])
*/
Status = AcpiExDoLogicalOp (
- AML_LLESS_OP, MatchObj, PackageObj, &LogicalResult);
+ AML_LOGICAL_LESS_OP, MatchObj, PackageObj, &LogicalResult);
if (ACPI_FAILURE (Status))
{
return (FALSE);
@@ -160,7 +160,7 @@
* Change to: (M > P[i])
*/
Status = AcpiExDoLogicalOp (
- AML_LGREATER_OP, MatchObj, PackageObj, &LogicalResult);
+ AML_LOGICAL_GREATER_OP, MatchObj, PackageObj, &LogicalResult);
if (ACPI_FAILURE (Status))
{
return (FALSE);
@@ -173,7 +173,7 @@
* Change to: (M <= P[i]) (M NotGreater than P[i])
*/
Status = AcpiExDoLogicalOp (
- AML_LGREATER_OP, MatchObj, PackageObj, &LogicalResult);
+ AML_LOGICAL_GREATER_OP, MatchObj, PackageObj, &LogicalResult);
if (ACPI_FAILURE (Status))
{
return (FALSE);
@@ -187,7 +187,7 @@
* Change to: (M < P[i])
*/
Status = AcpiExDoLogicalOp (
- AML_LLESS_OP, MatchObj, PackageObj, &LogicalResult);
+ AML_LOGICAL_LESS_OP, MatchObj, PackageObj, &LogicalResult);
if (ACPI_FAILURE (Status))
{
return (FALSE);
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exresolv.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exresolv.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exresolv.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -210,7 +210,7 @@
/* If method call or CopyObject - do not dereference */
if ((WalkState->Opcode == AML_INT_METHODCALL_OP) ||
- (WalkState->Opcode == AML_COPY_OP))
+ (WalkState->Opcode == AML_COPY_OBJECT_OP))
{
break;
}
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exstore.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exstore.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exstore.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -435,7 +435,7 @@
/* Only limited target types possible for everything except CopyObject */
- if (WalkState->Opcode != AML_COPY_OP)
+ if (WalkState->Opcode != AML_COPY_OBJECT_OP)
{
/*
* Only CopyObject allows all object types to be overwritten. For
@@ -521,7 +521,7 @@
case ACPI_TYPE_STRING:
case ACPI_TYPE_BUFFER:
- if ((WalkState->Opcode == AML_COPY_OP) ||
+ if ((WalkState->Opcode == AML_COPY_OBJECT_OP) ||
!ImplicitConversion)
{
/*
Modified: trunk/reactos/drivers/bus/acpi/acpica/executer/exstoren.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ex…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/executer/exstoren.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/executer/exstoren.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -113,7 +113,7 @@
/* For CopyObject, no further validation necessary */
- if (WalkState->Opcode == AML_COPY_OP)
+ if (WalkState->Opcode == AML_COPY_OBJECT_OP)
{
break;
}
Modified: trunk/reactos/drivers/bus/acpi/acpica/hardware/hwvalid.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ha…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/hardware/hwvalid.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/hardware/hwvalid.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -107,7 +107,7 @@
{"PCI", 0x0CF8, 0x0CFF, ACPI_OSI_WIN_XP}
};
-#define ACPI_PORT_INFO_ENTRIES ACPI_ARRAY_LENGTH (AcpiProtectedPorts)
+#define ACPI_PORT_INFO_ENTRIES ACPI_ARRAY_LENGTH (AcpiProtectedPorts)
/******************************************************************************
@@ -137,7 +137,7 @@
const ACPI_PORT_INFO *PortInfo;
- ACPI_FUNCTION_TRACE (HwValidateIoRequest);
+ ACPI_FUNCTION_NAME (HwValidateIoRequest);
/* Supported widths are 8/16/32 */
@@ -166,14 +166,14 @@
ACPI_ERROR ((AE_INFO,
"Illegal I/O port address/length above 64K: %8.8X%8.8X/0x%X",
ACPI_FORMAT_UINT64 (Address), ByteWidth));
- return_ACPI_STATUS (AE_LIMIT);
+ return (AE_LIMIT);
}
/* Exit if requested address is not within the protected port table */
if (Address > AcpiProtectedPorts[ACPI_PORT_INFO_ENTRIES - 1].End)
{
- return_ACPI_STATUS (AE_OK);
+ return (AE_OK);
}
/* Check request against the list of protected I/O ports */
@@ -182,7 +182,7 @@
{
/*
* Check if the requested address range will write to a reserved
- * port. Four cases to consider:
+ * port. There are four cases to consider:
*
* 1) Address range is contained completely in the port address range
* 2) Address range overlaps port range at the port range start
@@ -212,7 +212,7 @@
}
}
- return_ACPI_STATUS (AE_OK);
+ return (AE_OK);
}
@@ -221,7 +221,7 @@
* FUNCTION: AcpiHwReadPort
*
* PARAMETERS: Address Address of I/O port/register to read
- * Value Where value is placed
+ * Value Where value (data) is returned
* Width Number of bits
*
* RETURN: Status and value read from port
@@ -267,7 +267,7 @@
/*
* There has been a protection violation within the request. Fall
* back to byte granularity port I/O and ignore the failing bytes.
- * This provides Windows compatibility.
+ * This provides compatibility with other ACPI implementations.
*/
for (i = 0, *Value = 0; i < Width; i += 8)
{
@@ -341,7 +341,7 @@
/*
* There has been a protection violation within the request. Fall
* back to byte granularity port I/O and ignore the failing bytes.
- * This provides Windows compatibility.
+ * This provides compatibility with other ACPI implementations.
*/
for (i = 0; i < Width; i += 8)
{
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acconfig.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acconfig.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acconfig.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -79,6 +79,7 @@
#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */
#define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */
#define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */
+#define ACPI_MAX_COMMENT_CACHE_DEPTH 96 /* Comments for the -ca option */
/*
* Should the subsystem abort the loading of an ACPI table if the
Added: trunk/reactos/drivers/bus/acpi/acpica/include/acconvert.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acconvert.h (added)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acconvert.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -0,0 +1,204 @@
+/******************************************************************************
+ *
+ * Module Name: acapps - common include for ACPI applications/tools
+ *
+ *****************************************************************************/
+
+/*
+ * Copyright (C) 2000 - 2017, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * substantially similar to the "NO WARRANTY" disclaimer below
+ * ("Disclaimer") and any redistribution must be conditioned upon
+ * including a substantially similar Disclaimer requirement for further
+ * binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ */
+
+#ifndef _ACCONVERT
+#define _ACCONVERT
+
+/* Definitions for comment state */
+
+#define ASL_COMMENT_STANDARD 1
+#define ASLCOMMENT_INLINE 2
+#define ASL_COMMENT_OPEN_PAREN 3
+#define ASL_COMMENT_CLOSE_PAREN 4
+#define ASL_COMMENT_CLOSE_BRACE 5
+
+/* Definitions for comment print function*/
+
+#define AML_COMMENT_STANDARD 1
+#define AMLCOMMENT_INLINE 2
+#define AML_COMMENT_END_NODE 3
+#define AML_NAMECOMMENT 4
+#define AML_COMMENT_CLOSE_BRACE 5
+#define AML_COMMENT_ENDBLK 6
+#define AML_COMMENT_INCLUDE 7
+
+
+#ifdef ACPI_ASL_COMPILER
+/*
+ * cvcompiler
+ */
+void
+CvProcessComment (
+ ASL_COMMENT_STATE CurrentState,
+ char *StringBuffer,
+ int c1);
+
+void
+CvProcessCommentType2 (
+ ASL_COMMENT_STATE CurrentState,
+ char *StringBuffer);
+
+UINT32
+CvCalculateCommentLengths(
+ ACPI_PARSE_OBJECT *Op);
+
+void
+CvProcessCommentState (
+ char input);
+
+char*
+CvAppendInlineComment (
+ char *InlineComment,
+ char *ToAdd);
+
+void
+CvAddToCommentList (
+ char* ToAdd);
+
+void
+CvPlaceComment (
+ UINT8 Type,
+ char *CommentString);
+
+UINT32
+CvParseOpBlockType (
+ ACPI_PARSE_OBJECT *Op);
+
+ACPI_COMMENT_NODE*
+CvCommentNodeCalloc (
+ void);
+
+void
+CgWriteAmlDefBlockComment (
+ ACPI_PARSE_OBJECT *Op);
+
+void
+CgWriteOneAmlComment (
+ ACPI_PARSE_OBJECT *Op,
+ char* CommentToPrint,
+ UINT8 InputOption);
+
+void
+CgWriteAmlComment (
+ ACPI_PARSE_OBJECT *Op);
+
+
+/*
+ * cvparser
+ */
+void
+CvInitFileTree (
+ ACPI_TABLE_HEADER *Table,
+ UINT8 *AmlStart,
+ UINT32 AmlLength);
+
+void
+CvClearOpComments (
+ ACPI_PARSE_OBJECT *Op);
+
+ACPI_FILE_NODE*
+CvFilenameExists (
+ char *Filename,
+ ACPI_FILE_NODE *Head);
+
+void
+CvLabelFileNode (
+ ACPI_PARSE_OBJECT *Op);
+
+void
+CvCaptureListComments (
+ ACPI_PARSE_STATE *ParserState,
+ ACPI_COMMENT_NODE *ListHead,
+ ACPI_COMMENT_NODE *ListTail);
+
+void
+CvCaptureCommentsOnly (
+ ACPI_PARSE_STATE *ParserState);
+
+void
+CvCaptureComments (
+ ACPI_WALK_STATE *WalkState);
+
+void
+CvTransferComments (
+ ACPI_PARSE_OBJECT *Op);
+
+/*
+ * cvdisasm
+ */
+void
+CvSwitchFiles (
+ UINT32 level,
+ ACPI_PARSE_OBJECT *op);
+
+BOOLEAN
+CvFileHasSwitched (
+ ACPI_PARSE_OBJECT *Op);
+
+
+void
+CvCloseParenWriteComment (
+ ACPI_PARSE_OBJECT *Op,
+ UINT32 Level);
+
+void
+CvCloseBraceWriteComment (
+ ACPI_PARSE_OBJECT *Op,
+ UINT32 Level);
+
+void
+CvPrintOneCommentList (
+ ACPI_COMMENT_NODE *CommentList,
+ UINT32 Level);
+
+void
+CvPrintOneCommentType (
+ ACPI_PARSE_OBJECT *Op,
+ UINT8 CommentType,
+ char* EndStr,
+ UINT32 Level);
+
+
+#endif
+
+#endif /* _ACCONVERT */
Propchange: trunk/reactos/drivers/bus/acpi/acpica/include/acconvert.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acdisasm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acdisasm.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acdisasm.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -803,6 +803,11 @@
void);
void
+AcpiDmEmitExternal (
+ ACPI_PARSE_OBJECT *NameOp,
+ ACPI_PARSE_OBJECT *TypeOp);
+
+void
AcpiDmUnresolvedWarning (
UINT8 Type);
@@ -1097,4 +1102,13 @@
AdDisplayStatistics (
void);
+
+/*
+ * dmwalk
+ */
+UINT32
+AcpiDmBlockType (
+ ACPI_PARSE_OBJECT *Op);
+
+
#endif /* __ACDISASM_H__ */
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acglobal.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acglobal.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acglobal.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -374,6 +374,50 @@
#endif
+/*
+ * Meant for the -ca option.
+ */
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentInlineComment, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentEndNodeComment, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentOpenBraceComment, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentCloseBraceComment, NULL);
+
+ACPI_INIT_GLOBAL (char*, AcpiGbl_RootFilename, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentFilename, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentParentFilename, NULL);
+ACPI_INIT_GLOBAL (char*, AcpiGbl_CurrentIncludeFilename, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_LastListHead, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListHead, NULL);
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListTail, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListHead, NULL);
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListTail, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListHead, NULL);
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListTail, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListHead, NULL);
+ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListTail, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE, *AcpiGbl_CommentAddrListHead, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT, *AcpiGbl_CurrentScope, NULL);
+
+ACPI_INIT_GLOBAL (ACPI_FILE_NODE, *AcpiGbl_FileTreeRoot, NULL);
+
+ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_RegCommentCache);
+ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_CommentAddrCache);
+ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_FileCache);
+
+ACPI_INIT_GLOBAL (BOOLEAN, Gbl_CaptureComments, FALSE);
+
+ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugAslConversion, FALSE);
+ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_ConvDebugFile, NULL);
+
+ACPI_GLOBAL (char, AcpiGbl_TableSig[4]);
+
/*****************************************************************************
*
* Application globals
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/aclocal.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/aclocal.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/aclocal.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -54,7 +54,7 @@
/* Total number of aml opcodes defined */
-#define AML_NUM_OPCODES 0x82
+#define AML_NUM_OPCODES 0x83
/* Forward declarations */
@@ -906,21 +906,55 @@
#define ACPI_DISASM_ONLY_MEMBERS(a)
#endif
+#if defined(ACPI_ASL_COMPILER)
+#define ACPI_CONVERTER_ONLY_MEMBERS(a) a;
+#else
+#define ACPI_CONVERTER_ONLY_MEMBERS(a)
+#endif
+
#define ACPI_PARSE_COMMON \
- union acpi_parse_object *Parent; /* Parent op */\
- UINT8 DescriptorType; /* To differentiate various internal
objs */\
- UINT8 Flags; /* Type of Op */\
- UINT16 AmlOpcode; /* AML opcode */\
- UINT8 *Aml; /* Address of declaration in AML */\
- union acpi_parse_object *Next; /* Next op */\
- ACPI_NAMESPACE_NODE *Node; /* For use by interpreter */\
- ACPI_PARSE_VALUE Value; /* Value or args associated with the
opcode */\
- UINT8 ArgListLength; /* Number of elements in the arg list
*/\
- ACPI_DISASM_ONLY_MEMBERS (\
- UINT16 DisasmFlags; /* Used during AML disassembly */\
- UINT8 DisasmOpcode; /* Subtype used for disassembly */\
- char *OperatorSymbol;/* Used for C-style operator name
strings */\
- char AmlOpName[16]) /* Op name (debug only) */
+ union acpi_parse_object *Parent; /* Parent op */\
+ UINT8 DescriptorType; /* To differentiate various
internal objs */\
+ UINT8 Flags; /* Type of Op */\
+ UINT16 AmlOpcode; /* AML opcode */\
+ UINT8 *Aml; /* Address of declaration in AML
*/\
+ union acpi_parse_object *Next; /* Next op */\
+ ACPI_NAMESPACE_NODE *Node; /* For use by interpreter */\
+ ACPI_PARSE_VALUE Value; /* Value or args associated with
the opcode */\
+ UINT8 ArgListLength; /* Number of elements in the arg
list */\
+ ACPI_DISASM_ONLY_MEMBERS (\
+ UINT16 DisasmFlags; /* Used during AML disassembly
*/\
+ UINT8 DisasmOpcode; /* Subtype used for disassembly
*/\
+ char *OperatorSymbol; /* Used for C-style operator name
strings */\
+ char AmlOpName[16]) /* Op name (debug only) */\
+ ACPI_CONVERTER_ONLY_MEMBERS (\
+ char *InlineComment; /* Inline comment */\
+ char *EndNodeComment; /* End of node comment */\
+ char *NameComment; /* Comment associated with the
first parameter of the name node */\
+ char *CloseBraceComment; /* Comments that come after } on
the same as } */\
+ ACPI_COMMENT_NODE *CommentList; /* comments that appears before
this node */\
+ ACPI_COMMENT_NODE *EndBlkComment; /* comments that at the end of a
block but before ) or } */\
+ char *CvFilename; /* Filename associated with this
node. Used for ASL/ASL+ converter */\
+ char *CvParentFilename) /* Parent filename associated
with this node. Used for ASL/ASL+ converter */
+
+
+/* categories of comments */
+
+typedef enum
+{
+ STANDARD_COMMENT = 1,
+ INLINE_COMMENT,
+ ENDNODE_COMMENT,
+ OPENBRACE_COMMENT,
+ CLOSE_BRACE_COMMENT,
+ STD_DEFBLK_COMMENT,
+ END_DEFBLK_COMMENT,
+ FILENAME_COMMENT,
+ PARENTFILENAME_COMMENT,
+ ENDBLK_COMMENT,
+ INCLUDE_COMMENT
+
+} ASL_COMMENT_TYPES;
/* Internal opcodes for DisasmOpcode field above */
@@ -937,9 +971,46 @@
#define ACPI_DASM_LNOT_SUFFIX 0x09 /* End of a LNotEqual (etc.) pair of
opcodes */
#define ACPI_DASM_HID_STRING 0x0A /* String is a _HID or _CID */
#define ACPI_DASM_IGNORE_SINGLE 0x0B /* Ignore the opcode but not it's
children */
-#define ACPI_DASM_SWITCH_PREDICATE 0x0C /* Object is a predicate for a Switch
or Case block */
-#define ACPI_DASM_CASE 0x0D /* If/Else is a Case in a Switch/Case
block */
-#define ACPI_DASM_DEFAULT 0x0E /* Else is a Default in a Switch/Case
block */
+#define ACPI_DASM_SWITCH 0x0C /* While is a Switch */
+#define ACPI_DASM_SWITCH_PREDICATE 0x0D /* Object is a predicate for a Switch
or Case block */
+#define ACPI_DASM_CASE 0x0E /* If/Else is a Case in a Switch/Case
block */
+#define ACPI_DASM_DEFAULT 0x0F /* Else is a Default in a Switch/Case
block */
+
+
+/*
+ * List struct used in the -ca option
+ */
+typedef struct acpi_comment_node
+{
+ char *Comment;
+ struct acpi_comment_node *Next;
+
+} ACPI_COMMENT_NODE;
+
+
+typedef struct acpi_comment_addr_node
+{
+ UINT8 *Addr;
+ struct acpi_comment_addr_node *Next;
+} ACPI_COMMENT_ADDR_NODE;
+
+/*
+ * File node - used for "Include" operator file stack and
+ * depdendency tree for the -ca option
+ */
+typedef struct acpi_file_node
+{
+ void *File;
+ char *Filename;
+ char *FileStart; /* Points to AML and indicates when the AML for
this particular file starts. */
+ char *FileEnd; /* Points to AML and indicates when the AML for
this particular file ends. */
+ struct acpi_file_node *Next;
+ struct acpi_file_node *Parent;
+ BOOLEAN IncludeWritten;
+ ACPI_COMMENT_NODE *IncludeComment;
+
+} ACPI_FILE_NODE;
+
/*
* Generic operation (for example: If, While, Store)
@@ -975,6 +1046,8 @@
union acpi_parse_object *Child;
union acpi_parse_object *ParentMethod;
char *Filename;
+ BOOLEAN FileChanged;
+ char *ParentFilename;
char *ExternalName;
char *Namepath;
char NameSeg[4];
@@ -1007,6 +1080,15 @@
} ACPI_PARSE_OBJECT;
+typedef struct asl_comment_state
+{
+ UINT8 CommentType;
+ UINT32 SpacesBefore;
+ ACPI_PARSE_OBJECT *Latest_Parse_Node;
+ ACPI_PARSE_OBJECT *ParsingParenBraceNode;
+ BOOLEAN CaptureComments;
+} ASL_COMMENT_STATE;
+
/*
* Parse state - one state per parser invocation and each control
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acmacros.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acmacros.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acmacros.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -499,4 +499,39 @@
#define ACPI_IS_OCTAL_DIGIT(d) (((char)(d) >= '0') &&
((char)(d) <= '7'))
+/*
+ * Macors used for the ASL-/ASL+ converter utility
+ */
+#ifdef ACPI_ASL_COMPILER
+
+#define ASL_CV_LABEL_FILENODE(a) CvLabelFileNode(a);
+#define ASL_CV_CAPTURE_COMMENTS_ONLY(a) CvCaptureCommentsOnly (a);
+#define ASL_CV_CAPTURE_COMMENTS(a) CvCaptureComments (a);
+#define ASL_CV_TRANSFER_COMMENTS(a) CvTransferComments (a);
+#define ASL_CV_CLOSE_PAREN(a,b) CvCloseParenWriteComment(a,b);
+#define ASL_CV_CLOSE_BRACE(a,b) CvCloseBraceWriteComment(a,b);
+#define ASL_CV_SWITCH_FILES(a,b) CvSwitchFiles(a,b);
+#define ASL_CV_CLEAR_OP_COMMENTS(a) CvClearOpComments(a);
+#define ASL_CV_PRINT_ONE_COMMENT(a,b,c,d) CvPrintOneCommentType (a,b,c,d);
+#define ASL_CV_PRINT_ONE_COMMENT_LIST(a,b) CvPrintOneCommentList (a,b);
+#define ASL_CV_FILE_HAS_SWITCHED(a) CvFileHasSwitched(a)
+#define ASL_CV_INIT_FILETREE(a,b,c) CvInitFileTree(a,b,c);
+
+#else
+
+#define ASL_CV_LABEL_FILENODE(a)
+#define ASL_CV_CAPTURE_COMMENTS_ONLY(a)
+#define ASL_CV_CAPTURE_COMMENTS(a)
+#define ASL_CV_TRANSFER_COMMENTS(a)
+#define ASL_CV_CLOSE_PAREN(a,b) AcpiOsPrintf (")");
+#define ASL_CV_CLOSE_BRACE(a,b) AcpiOsPrintf ("}");
+#define ASL_CV_SWITCH_FILES(a,b)
+#define ASL_CV_CLEAR_OP_COMMENTS(a)
+#define ASL_CV_PRINT_ONE_COMMENT(a,b,c,d)
+#define ASL_CV_PRINT_ONE_COMMENT_LIST(a,b)
+#define ASL_CV_FILE_HAS_SWITCHED(a) 0
+#define ASL_CV_INIT_FILETREE(a,b,c)
+
+#endif
+
#endif /* ACMACROS_H */
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acopcode.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acopcode.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acopcode.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -91,6 +91,7 @@
#define ARGP_BUFFER_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG,
ARGP_BYTELIST)
#define ARGP_BYTE_OP ARGP_LIST1 (ARGP_BYTEDATA)
#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING)
+#define ARGP_COMMENT_OP ARGP_LIST2 (ARGP_BYTEDATA, ARGP_COMMENT)
#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG,
ARGP_TARGET)
#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG,
ARGP_TARGET)
#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_SIMPLENAME, ARGP_TARGET)
@@ -225,6 +226,7 @@
#define ARGI_BUFFER_OP ARGI_LIST1 (ARGI_INTEGER)
#define ARGI_BYTE_OP ARGI_INVALID_OPCODE
#define ARGI_BYTELIST_OP ARGI_INVALID_OPCODE
+#define ARGI_COMMENT_OP ARGI_INVALID_OPCODE
#define ARGI_CONCAT_OP ARGI_LIST3 (ARGI_ANYTYPE, ARGI_ANYTYPE,
ARGI_TARGETREF)
#define ARGI_CONCAT_RES_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_BUFFER,
ARGI_TARGETREF)
#define ARGI_COND_REF_OF_OP ARGI_LIST2 (ARGI_OBJECT_REF, ARGI_TARGETREF)
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/acpixf.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/acpixf.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/acpixf.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20170119
+#define ACPI_CA_VERSION 0x20170303
#include "acconfig.h"
#include "actypes.h"
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/actbl2.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/actbl2.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/actbl2.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -89,6 +89,7 @@
#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */
#define ACPI_SIG_WDDT "WDDT" /* Watchdog Timer Description Table
*/
#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */
+#define ACPI_SIG_XXXX "XXXX" /* Intermediate AML header for
ASL/ASL+ converter */
#ifdef ACPI_UNDEFINED_TABLES
/*
@@ -909,6 +910,16 @@
#define ACPI_IORT_SMMU_DVM_SUPPORTED (1)
#define ACPI_IORT_SMMU_COHERENT_WALK (1<<1)
+/* Global interrupt format */
+
+typedef struct acpi_iort_smmu_gsi
+{
+ UINT32 NSgIrpt;
+ UINT32 NSgIrptFlags;
+ UINT32 NSgCfgIrpt;
+ UINT32 NSgCfgIrptFlags;
+} ACPI_IORT_SMMU_GSI;
+
typedef struct acpi_iort_smmu_v3
{
Modified: trunk/reactos/drivers/bus/acpi/acpica/include/amlcode.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/in…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/include/amlcode.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/include/amlcode.h [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -48,11 +48,8 @@
/* primary opcodes */
-#define AML_NULL_CHAR (UINT16) 0x00
-
#define AML_ZERO_OP (UINT16) 0x00
#define AML_ONE_OP (UINT16) 0x01
-#define AML_UNASSIGNED (UINT16) 0x02
#define AML_ALIAS_OP (UINT16) 0x06
#define AML_NAME_OP (UINT16) 0x08
#define AML_BYTE_OP (UINT16) 0x0a
@@ -63,17 +60,15 @@
#define AML_SCOPE_OP (UINT16) 0x10
#define AML_BUFFER_OP (UINT16) 0x11
#define AML_PACKAGE_OP (UINT16) 0x12
-#define AML_VAR_PACKAGE_OP (UINT16) 0x13 /* ACPI 2.0 */
+#define AML_VARIABLE_PACKAGE_OP (UINT16) 0x13 /* ACPI 2.0 */
#define AML_METHOD_OP (UINT16) 0x14
#define AML_EXTERNAL_OP (UINT16) 0x15 /* ACPI 6.0 */
#define AML_DUAL_NAME_PREFIX (UINT16) 0x2e
-#define AML_MULTI_NAME_PREFIX_OP (UINT16) 0x2f
-#define AML_NAME_CHAR_SUBSEQ (UINT16) 0x30
-#define AML_NAME_CHAR_FIRST (UINT16) 0x41
-#define AML_EXTENDED_OP_PREFIX (UINT16) 0x5b
+#define AML_MULTI_NAME_PREFIX (UINT16) 0x2f
+#define AML_EXTENDED_PREFIX (UINT16) 0x5b
#define AML_ROOT_PREFIX (UINT16) 0x5c
#define AML_PARENT_PREFIX (UINT16) 0x5e
-#define AML_LOCAL_OP (UINT16) 0x60
+#define AML_FIRST_LOCAL_OP (UINT16) 0x60 /* Used for Local op # calculations
*/
#define AML_LOCAL0 (UINT16) 0x60
#define AML_LOCAL1 (UINT16) 0x61
#define AML_LOCAL2 (UINT16) 0x62
@@ -82,7 +77,7 @@
#define AML_LOCAL5 (UINT16) 0x65
#define AML_LOCAL6 (UINT16) 0x66
#define AML_LOCAL7 (UINT16) 0x67
-#define AML_ARG_OP (UINT16) 0x68
+#define AML_FIRST_ARG_OP (UINT16) 0x68 /* Used for Arg op # calculations
*/
#define AML_ARG0 (UINT16) 0x68
#define AML_ARG1 (UINT16) 0x69
#define AML_ARG2 (UINT16) 0x6a
@@ -93,7 +88,7 @@
#define AML_STORE_OP (UINT16) 0x70
#define AML_REF_OF_OP (UINT16) 0x71
#define AML_ADD_OP (UINT16) 0x72
-#define AML_CONCAT_OP (UINT16) 0x73
+#define AML_CONCATENATE_OP (UINT16) 0x73
#define AML_SUBTRACT_OP (UINT16) 0x74
#define AML_INCREMENT_OP (UINT16) 0x75
#define AML_DECREMENT_OP (UINT16) 0x76
@@ -110,7 +105,7 @@
#define AML_FIND_SET_LEFT_BIT_OP (UINT16) 0x81
#define AML_FIND_SET_RIGHT_BIT_OP (UINT16) 0x82
#define AML_DEREF_OF_OP (UINT16) 0x83
-#define AML_CONCAT_RES_OP (UINT16) 0x84 /* ACPI 2.0 */
+#define AML_CONCATENATE_TEMPLATE_OP (UINT16) 0x84 /* ACPI 2.0 */
#define AML_MOD_OP (UINT16) 0x85 /* ACPI 2.0 */
#define AML_NOTIFY_OP (UINT16) 0x86
#define AML_SIZE_OF_OP (UINT16) 0x87
@@ -122,18 +117,18 @@
#define AML_CREATE_BIT_FIELD_OP (UINT16) 0x8d
#define AML_OBJECT_TYPE_OP (UINT16) 0x8e
#define AML_CREATE_QWORD_FIELD_OP (UINT16) 0x8f /* ACPI 2.0 */
-#define AML_LAND_OP (UINT16) 0x90
-#define AML_LOR_OP (UINT16) 0x91
-#define AML_LNOT_OP (UINT16) 0x92
-#define AML_LEQUAL_OP (UINT16) 0x93
-#define AML_LGREATER_OP (UINT16) 0x94
-#define AML_LLESS_OP (UINT16) 0x95
+#define AML_LOGICAL_AND_OP (UINT16) 0x90
+#define AML_LOGICAL_OR_OP (UINT16) 0x91
+#define AML_LOGICAL_NOT_OP (UINT16) 0x92
+#define AML_LOGICAL_EQUAL_OP (UINT16) 0x93
+#define AML_LOGICAL_GREATER_OP (UINT16) 0x94
+#define AML_LOGICAL_LESS_OP (UINT16) 0x95
#define AML_TO_BUFFER_OP (UINT16) 0x96 /* ACPI 2.0 */
-#define AML_TO_DECSTRING_OP (UINT16) 0x97 /* ACPI 2.0 */
-#define AML_TO_HEXSTRING_OP (UINT16) 0x98 /* ACPI 2.0 */
+#define AML_TO_DECIMAL_STRING_OP (UINT16) 0x97 /* ACPI 2.0 */
+#define AML_TO_HEX_STRING_OP (UINT16) 0x98 /* ACPI 2.0 */
#define AML_TO_INTEGER_OP (UINT16) 0x99 /* ACPI 2.0 */
#define AML_TO_STRING_OP (UINT16) 0x9c /* ACPI 2.0 */
-#define AML_COPY_OP (UINT16) 0x9d /* ACPI 2.0 */
+#define AML_COPY_OBJECT_OP (UINT16) 0x9d /* ACPI 2.0 */
#define AML_MID_OP (UINT16) 0x9e /* ACPI 2.0 */
#define AML_CONTINUE_OP (UINT16) 0x9f /* ACPI 2.0 */
#define AML_IF_OP (UINT16) 0xa0
@@ -142,18 +137,29 @@
#define AML_NOOP_OP (UINT16) 0xa3
#define AML_RETURN_OP (UINT16) 0xa4
#define AML_BREAK_OP (UINT16) 0xa5
-#define AML_BREAK_POINT_OP (UINT16) 0xcc
+#define AML_COMMENT_OP (UINT16) 0xa9
+#define AML_BREAKPOINT_OP (UINT16) 0xcc
#define AML_ONES_OP (UINT16) 0xff
-/* prefixed opcodes */
-
-#define AML_EXTENDED_OPCODE (UINT16) 0x5b00 /* prefix for 2-byte opcodes */
+
+/*
+ * Combination opcodes (actually two one-byte opcodes)
+ * Used by the disassembler and iASL compiler
+ */
+#define AML_LOGICAL_GREATER_EQUAL_OP (UINT16) 0x9295 /* LNot (LLess) */
+#define AML_LOGICAL_LESS_EQUAL_OP (UINT16) 0x9294 /* LNot (LGreater) */
+#define AML_LOGICAL_NOT_EQUAL_OP (UINT16) 0x9293 /* LNot (LEqual) */
+
+
+/* Prefixed (2-byte) opcodes (with AML_EXTENDED_PREFIX) */
+
+#define AML_EXTENDED_OPCODE (UINT16) 0x5b00 /* Prefix for 2-byte opcodes */
#define AML_MUTEX_OP (UINT16) 0x5b01
#define AML_EVENT_OP (UINT16) 0x5b02
-#define AML_SHIFT_RIGHT_BIT_OP (UINT16) 0x5b10
-#define AML_SHIFT_LEFT_BIT_OP (UINT16) 0x5b11
-#define AML_COND_REF_OF_OP (UINT16) 0x5b12
+#define AML_SHIFT_RIGHT_BIT_OP (UINT16) 0x5b10 /* Obsolete, not in ACPI spec */
+#define AML_SHIFT_LEFT_BIT_OP (UINT16) 0x5b11 /* Obsolete, not in ACPI spec */
+#define AML_CONDITIONAL_REF_OF_OP (UINT16) 0x5b12
#define AML_CREATE_FIELD_OP (UINT16) 0x5b13
#define AML_LOAD_TABLE_OP (UINT16) 0x5b1f /* ACPI 2.0 */
#define AML_LOAD_OP (UINT16) 0x5b20
@@ -175,20 +181,11 @@
#define AML_FIELD_OP (UINT16) 0x5b81
#define AML_DEVICE_OP (UINT16) 0x5b82
#define AML_PROCESSOR_OP (UINT16) 0x5b83
-#define AML_POWER_RES_OP (UINT16) 0x5b84
+#define AML_POWER_RESOURCE_OP (UINT16) 0x5b84
#define AML_THERMAL_ZONE_OP (UINT16) 0x5b85
#define AML_INDEX_FIELD_OP (UINT16) 0x5b86
#define AML_BANK_FIELD_OP (UINT16) 0x5b87
#define AML_DATA_REGION_OP (UINT16) 0x5b88 /* ACPI 2.0 */
-
-
-/*
- * Combination opcodes (actually two one-byte opcodes)
- * Used by the disassembler and iASL compiler
- */
-#define AML_LGREATEREQUAL_OP (UINT16) 0x9295
-#define AML_LLESSEQUAL_OP (UINT16) 0x9294
-#define AML_LNOTEQUAL_OP (UINT16) 0x9293
/*
@@ -244,6 +241,7 @@
#define ARGP_SIMPLENAME 0x12 /* NameString | LocalTerm | ArgTerm */
#define ARGP_NAME_OR_REF 0x13 /* For ObjectType only */
#define ARGP_MAX 0x13
+#define ARGP_COMMENT 0x14
/*
* Resolved argument types for the AML Interpreter
@@ -313,26 +311,19 @@
/*
- * hash offsets
- */
-#define AML_EXTOP_HASH_OFFSET 22
-#define AML_LNOT_HASH_OFFSET 19
-
-
-/*
- * opcode groups and types
- */
-#define OPGRP_NAMED 0x01
-#define OPGRP_FIELD 0x02
-#define OPGRP_BYTELIST 0x04
-
-
-/*
- * Opcode information
- */
-
-/* Opcode flags */
-
+ * Some of the flags and types below are of the form:
+ *
+ * AML_FLAGS_EXEC_#A_#T,#R, or
+ * AML_TYPE_EXEC_#A_#T,#R where:
+ *
+ * #A is the number of required arguments
+ * #T is the number of target operands
+ * #R indicates whether there is a return value
+ */
+
+/*
+ * Opcode information flags
+ */
#define AML_LOGICAL 0x0001
#define AML_LOGICAL_NUMERIC 0x0002
#define AML_MATH 0x0004
@@ -349,7 +340,7 @@
#define AML_CONSTANT 0x2000
#define AML_NO_OPERAND_RESOLVE 0x4000
-/* Convenient flag groupings */
+/* Convenient flag groupings of the flags above */
#define AML_FLAGS_EXEC_0A_0T_1R AML_HAS_RETVAL
#define AML_FLAGS_EXEC_1A_0T_0R AML_HAS_ARGS /*
Monadic1 */
@@ -367,7 +358,7 @@
/*
* The opcode Type is used in a dispatch table, do not change
- * without updating the table.
+ * or add anything new without updating the table.
*/
#define AML_TYPE_EXEC_0A_0T_1R 0x00
#define AML_TYPE_EXEC_1A_0T_0R 0x01 /* Monadic1 */
@@ -393,7 +384,7 @@
#define AML_TYPE_METHOD_CALL 0x10
-/* Misc */
+/* Miscellaneous types */
#define AML_TYPE_CREATE_FIELD 0x11
#define AML_TYPE_CREATE_OBJECT 0x12
@@ -403,7 +394,6 @@
#define AML_TYPE_NAMED_SIMPLE 0x16
#define AML_TYPE_NAMED_COMPLEX 0x17
#define AML_TYPE_RETURN 0x18
-
#define AML_TYPE_UNDEFINED 0x19
#define AML_TYPE_BOGUS 0x1A
Modified: trunk/reactos/drivers/bus/acpi/acpica/namespace/nsaccess.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/na…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/namespace/nsaccess.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/namespace/nsaccess.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -505,7 +505,7 @@
"Dual Pathname (2 segments, Flags=%X)\n", Flags));
break;
- case AML_MULTI_NAME_PREFIX_OP:
+ case AML_MULTI_NAME_PREFIX:
/* More than one NameSeg, search rules do not apply */
Modified: trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/na…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -302,24 +302,12 @@
if (PackageIndex != ACPI_NOT_PACKAGE_ELEMENT)
{
- /*
- * The original object is a package element. We need to
- * decrement the reference count of the original object,
- * for removing it from the package.
- *
- * However, if the original object was just wrapped with a
- * package object as part of the repair, we don't need to
- * change the reference count.
- */
+ /* Update reference count of new object */
+
if (!(Info->ReturnFlags & ACPI_OBJECT_WRAPPED))
{
NewObject->Common.ReferenceCount =
ReturnObject->Common.ReferenceCount;
-
- if (ReturnObject->Common.ReferenceCount > 1)
- {
- ReturnObject->Common.ReferenceCount--;
- }
}
ACPI_DEBUG_PRINT ((ACPI_DB_REPAIR,
Modified: trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair2.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/na…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair2.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/namespace/nsrepair2.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -448,16 +448,12 @@
return (Status);
}
- /* Take care with reference counts */
-
if (OriginalElement != *ElementPtr)
{
- /* Element was replaced */
+ /* Update reference count of new object */
(*ElementPtr)->Common.ReferenceCount =
OriginalRefCount;
-
- AcpiUtRemoveReference (OriginalElement);
}
ElementPtr++;
Modified: trunk/reactos/drivers/bus/acpi/acpica/namespace/nsutils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/na…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/namespace/nsutils.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/namespace/nsutils.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -294,7 +294,7 @@
}
else
{
- InternalName[1] = AML_MULTI_NAME_PREFIX_OP;
+ InternalName[1] = AML_MULTI_NAME_PREFIX;
InternalName[2] = (char) NumSegments;
Result = &InternalName[3];
}
@@ -325,7 +325,7 @@
}
else
{
- InternalName[i] = AML_MULTI_NAME_PREFIX_OP;
+ InternalName[i] = AML_MULTI_NAME_PREFIX;
InternalName[(ACPI_SIZE) i+1] = (char) NumSegments;
Result = &InternalName[(ACPI_SIZE) i+2];
}
@@ -534,7 +534,7 @@
{
switch (InternalName[PrefixLength])
{
- case AML_MULTI_NAME_PREFIX_OP:
+ case AML_MULTI_NAME_PREFIX:
/* <count> 4-byte names */
@@ -694,28 +694,23 @@
void)
{
ACPI_STATUS Status;
+ ACPI_OPERAND_OBJECT *Prev;
+ ACPI_OPERAND_OBJECT *Next;
ACPI_FUNCTION_TRACE (NsTerminate);
-#ifdef ACPI_EXEC_APP
- {
- ACPI_OPERAND_OBJECT *Prev;
- ACPI_OPERAND_OBJECT *Next;
-
- /* Delete any module-level code blocks */
-
- Next = AcpiGbl_ModuleCodeList;
- while (Next)
- {
- Prev = Next;
- Next = Next->Method.Mutex;
- Prev->Method.Mutex = NULL; /* Clear the Mutex (cheated) field */
- AcpiUtRemoveReference (Prev);
- }
- }
-#endif
+ /* Delete any module-level code blocks */
+
+ Next = AcpiGbl_ModuleCodeList;
+ while (Next)
+ {
+ Prev = Next;
+ Next = Next->Method.Mutex;
+ Prev->Method.Mutex = NULL; /* Clear the Mutex (cheated) field */
+ AcpiUtRemoveReference (Prev);
+ }
/*
* Free the entire namespace -- all nodes and all objects
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psargs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psargs.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psargs.c [iso-8859-1] Sat Mar 4 16:54:26
2017
@@ -47,6 +47,7 @@
#include "amlcode.h"
#include "acnamesp.h"
#include "acdispat.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("psargs")
@@ -208,7 +209,7 @@
End += 1 + (2 * ACPI_NAME_SIZE);
break;
- case AML_MULTI_NAME_PREFIX_OP:
+ case AML_MULTI_NAME_PREFIX:
/* Multiple name segments, 4 chars each, count in next byte */
@@ -369,7 +370,7 @@
/* 2) NotFound during a CondRefOf(x) is ok by definition */
- else if (WalkState->Op->Common.AmlOpcode == AML_COND_REF_OF_OP)
+ else if (WalkState->Op->Common.AmlOpcode == AML_CONDITIONAL_REF_OF_OP)
{
Status = AE_OK;
}
@@ -381,7 +382,7 @@
*/
else if ((Arg->Common.Parent) &&
((Arg->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Arg->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP)))
+ (Arg->Common.Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP)))
{
Status = AE_OK;
}
@@ -543,6 +544,7 @@
ACPI_FUNCTION_TRACE (PsGetNextField);
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
Aml = ParserState->Aml;
/* Determine field type */
@@ -589,6 +591,7 @@
/* Decode the field type */
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
switch (Opcode)
{
case AML_INT_NAMEDFIELD_OP:
@@ -598,6 +601,23 @@
ACPI_MOVE_32_TO_32 (&Name, ParserState->Aml);
AcpiPsSetName (Field, Name);
ParserState->Aml += ACPI_NAME_SIZE;
+
+
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
+
+#ifdef ACPI_ASL_COMPILER
+ /*
+ * Because the package length isn't represented as a parse tree object,
+ * take comments surrounding this and add to the previously created
+ * parse node.
+ */
+ if (Field->Common.InlineComment)
+ {
+ Field->Common.NameComment = Field->Common.InlineComment;
+ }
+ Field->Common.InlineComment = AcpiGbl_CurrentInlineComment;
+ AcpiGbl_CurrentInlineComment = NULL;
+#endif
/* Get the length which is encoded as a package length */
@@ -655,10 +675,12 @@
{
ParserState->Aml++;
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
PkgEnd = ParserState->Aml;
PkgLength = AcpiPsGetNextPackageLength (ParserState);
PkgEnd += PkgLength;
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
if (ParserState->Aml < PkgEnd)
{
/* Non-empty list */
@@ -675,6 +697,7 @@
Opcode = ACPI_GET8 (ParserState->Aml);
ParserState->Aml++;
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
switch (Opcode)
{
case AML_BYTE_OP: /* AML_BYTEDATA_ARG */
@@ -703,6 +726,7 @@
/* Fill in bytelist data */
+ ASL_CV_CAPTURE_COMMENTS_ONLY (ParserState);
Arg->Named.Value.Size = BufferLength;
Arg->Named.Data = ParserState->Aml;
}
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psloop.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psloop.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psloop.c [iso-8859-1] Sat Mar 4 16:54:26
2017
@@ -55,6 +55,7 @@
#include "acparser.h"
#include "acdispat.h"
#include "amlcode.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("psloop")
@@ -141,6 +142,22 @@
!WalkState->ArgCount)
{
WalkState->Aml = WalkState->ParserState.Aml;
+
+ switch (Op->Common.AmlOpcode)
+ {
+ case AML_METHOD_OP:
+ case AML_BUFFER_OP:
+ case AML_PACKAGE_OP:
+ case AML_VARIABLE_PACKAGE_OP:
+ case AML_WHILE_OP:
+
+ break;
+
+ default:
+
+ ASL_CV_CAPTURE_COMMENTS (WalkState);
+ break;
+ }
Status = AcpiPsGetNextArg (WalkState, &(WalkState->ParserState),
GET_CURRENT_ARG_TYPE (WalkState->ArgTypes), &Arg);
@@ -249,7 +266,7 @@
case AML_BUFFER_OP:
case AML_PACKAGE_OP:
- case AML_VAR_PACKAGE_OP:
+ case AML_VARIABLE_PACKAGE_OP:
if ((Op->Common.Parent) &&
(Op->Common.Parent->Common.AmlOpcode == AML_NAME_OP) &&
@@ -487,6 +504,8 @@
while ((ParserState->Aml < ParserState->AmlEnd) || (Op))
{
+ ASL_CV_CAPTURE_COMMENTS (WalkState);
+
AmlOpStart = ParserState->Aml;
if (!Op)
{
@@ -519,13 +538,27 @@
AcpiExStartTraceOpcode (Op, WalkState);
}
-
/*
* Start ArgCount at zero because we don't know if there are
* any args yet
*/
- WalkState->ArgCount = 0;
+ WalkState->ArgCount = 0;
+
+ switch (Op->Common.AmlOpcode)
+ {
+ case AML_BYTE_OP:
+ case AML_WORD_OP:
+ case AML_DWORD_OP:
+ case AML_QWORD_OP:
+
+ break;
+
+ default:
+
+ ASL_CV_CAPTURE_COMMENTS (WalkState);
+ break;
+ }
/* Are there any arguments that must be processed? */
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psobject.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psobject.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psobject.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -45,6 +45,7 @@
#include "accommon.h"
#include "acparser.h"
#include "amlcode.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("psobject")
@@ -201,6 +202,7 @@
while (GET_CURRENT_ARG_TYPE (WalkState->ArgTypes) &&
(GET_CURRENT_ARG_TYPE (WalkState->ArgTypes) != ARGP_NAME))
{
+ ASL_CV_CAPTURE_COMMENTS (WalkState);
Status = AcpiPsGetNextArg (WalkState, &(WalkState->ParserState),
GET_CURRENT_ARG_TYPE (WalkState->ArgTypes), &Arg);
if (ACPI_FAILURE (Status))
@@ -211,6 +213,18 @@
AcpiPsAppendArg (UnnamedOp, Arg);
INCREMENT_ARG_LIST (WalkState->ArgTypes);
}
+
+ /* are there any inline comments associated with the NameSeg?? If so, save this. */
+
+ ASL_CV_CAPTURE_COMMENTS (WalkState);
+
+#ifdef ACPI_ASL_COMPILER
+ if (AcpiGbl_CurrentInlineComment != NULL)
+ {
+ UnnamedOp->Common.NameComment = AcpiGbl_CurrentInlineComment;
+ AcpiGbl_CurrentInlineComment = NULL;
+ }
+#endif
/*
* Make sure that we found a NAME and didn't run out of arguments
@@ -256,6 +270,28 @@
}
AcpiPsAppendArg (*Op, UnnamedOp->Common.Value.Arg);
+
+#ifdef ACPI_ASL_COMPILER
+
+ /* save any comments that might be associated with UnnamedOp. */
+
+ (*Op)->Common.InlineComment = UnnamedOp->Common.InlineComment;
+ (*Op)->Common.EndNodeComment = UnnamedOp->Common.EndNodeComment;
+ (*Op)->Common.CloseBraceComment = UnnamedOp->Common.CloseBraceComment;
+ (*Op)->Common.NameComment = UnnamedOp->Common.NameComment;
+ (*Op)->Common.CommentList = UnnamedOp->Common.CommentList;
+ (*Op)->Common.EndBlkComment = UnnamedOp->Common.EndBlkComment;
+ (*Op)->Common.CvFilename = UnnamedOp->Common.CvFilename;
+ (*Op)->Common.CvParentFilename = UnnamedOp->Common.CvParentFilename;
+ (*Op)->Named.Aml = UnnamedOp->Common.Aml;
+
+ UnnamedOp->Common.InlineComment = NULL;
+ UnnamedOp->Common.EndNodeComment = NULL;
+ UnnamedOp->Common.CloseBraceComment = NULL;
+ UnnamedOp->Common.NameComment = NULL;
+ UnnamedOp->Common.CommentList = NULL;
+ UnnamedOp->Common.EndBlkComment = NULL;
+#endif
if ((*Op)->Common.AmlOpcode == AML_REGION_OP ||
(*Op)->Common.AmlOpcode == AML_DATA_REGION_OP)
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psopcode.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psopcode.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psopcode.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -72,7 +72,7 @@
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
- AML_POWER_RES_OP
+ AML_POWER_RESOURCE_OP
AML_PROCESSOR_OP
AML_FIELD_OP
AML_INDEX_FIELD_OP
@@ -98,7 +98,7 @@
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
- AML_POWER_RES_OP
+ AML_POWER_RESOURCE_OP
AML_PROCESSOR_OP
AML_FIELD_OP
AML_INDEX_FIELD_OP
@@ -116,7 +116,7 @@
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
- AML_POWER_RES_OP
+ AML_POWER_RESOURCE_OP
AML_PROCESSOR_OP
AML_NAME_OP
AML_ALIAS_OP
@@ -139,7 +139,7 @@
AML_DEVICE_OP
AML_THERMAL_ZONE_OP
AML_METHOD_OP
- AML_POWER_RES_OP
+ AML_POWER_RESOURCE_OP
AML_PROCESSOR_OP
AML_NAME_OP
AML_ALIAS_OP
@@ -152,7 +152,7 @@
must be deferred until needed
AML_METHOD_OP
- AML_VAR_PACKAGE_OP
+ AML_VARIABLE_PACKAGE_OP
AML_CREATE_FIELD_OP
AML_CREATE_BIT_FIELD_OP
AML_CREATE_BYTE_FIELD_OP
@@ -337,7 +337,8 @@
/* ACPI 6.0 opcodes */
-/* 81 */ ACPI_OP ("External", ARGP_EXTERNAL_OP,
ARGI_EXTERNAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE,/* ? */
AML_TYPE_EXEC_3A_0T_0R, AML_FLAGS_EXEC_3A_0T_0R)
+/* 81 */ ACPI_OP ("External", ARGP_EXTERNAL_OP,
ARGI_EXTERNAL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE,/* ? */
AML_TYPE_EXEC_3A_0T_0R, AML_FLAGS_EXEC_3A_0T_0R),
+/* 82 */ ACPI_OP ("Comment", ARGP_COMMENT_OP,
ARGI_COMMENT_OP, ACPI_TYPE_STRING, AML_CLASS_ARGUMENT,
AML_TYPE_LITERAL, AML_CONSTANT)
/*! [End] no source code translation !*/
};
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psopinfo.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psopinfo.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psopinfo.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -242,7 +242,7 @@
/* 0x90 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x73, 0x74,
/* 0x98 */ 0x75, 0x76, _UNK, _UNK, 0x77, 0x78, 0x79, 0x7A,
/* 0xA0 */ 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x60, 0x61,
-/* 0xA8 */ 0x62, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
+/* 0xA8 */ 0x62, 0x82, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
/* 0xB0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
/* 0xB8 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
/* 0xC0 */ _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK, _UNK,
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psparse.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psparse.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psparse.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -114,7 +114,7 @@
Aml = ParserState->Aml;
Opcode = (UINT16) ACPI_GET8 (Aml);
- if (Opcode == AML_EXTENDED_OP_PREFIX)
+ if (Opcode == AML_EXTENDED_PREFIX)
{
/* Extended opcode, get the second opcode byte */
@@ -218,7 +218,7 @@
(Op->Common.Parent->Common.AmlOpcode == AML_BUFFER_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_PACKAGE_OP) ||
(Op->Common.Parent->Common.AmlOpcode == AML_BANK_FIELD_OP) ||
- (Op->Common.Parent->Common.AmlOpcode == AML_VAR_PACKAGE_OP))
+ (Op->Common.Parent->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP))
{
ReplacementOp = AcpiPsAllocOp (
AML_INT_RETURN_VALUE_OP, Op->Common.Aml);
@@ -232,7 +232,7 @@
{
if ((Op->Common.AmlOpcode == AML_BUFFER_OP) ||
(Op->Common.AmlOpcode == AML_PACKAGE_OP) ||
- (Op->Common.AmlOpcode == AML_VAR_PACKAGE_OP))
+ (Op->Common.AmlOpcode == AML_VARIABLE_PACKAGE_OP))
{
ReplacementOp = AcpiPsAllocOp (Op->Common.AmlOpcode,
Op->Common.Aml);
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/pstree.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/pstree.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/pstree.c [iso-8859-1] Sat Mar 4 16:54:26
2017
@@ -45,6 +45,7 @@
#include "accommon.h"
#include "acparser.h"
#include "amlcode.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("pstree")
@@ -242,6 +243,7 @@
Next = AcpiPsGetArg (Op, 0);
if (Next)
{
+ ASL_CV_LABEL_FILENODE (Next);
return (Next);
}
@@ -250,6 +252,7 @@
Next = Op->Common.Next;
if (Next)
{
+ ASL_CV_LABEL_FILENODE (Next);
return (Next);
}
@@ -262,6 +265,8 @@
Arg = AcpiPsGetArg (Parent, 0);
while (Arg && (Arg != Origin) && (Arg != Op))
{
+
+ ASL_CV_LABEL_FILENODE (Arg);
Arg = Arg->Common.Next;
}
@@ -276,6 +281,7 @@
{
/* Found sibling of parent */
+ ASL_CV_LABEL_FILENODE (Parent->Common.Next);
return (Parent->Common.Next);
}
@@ -283,6 +289,7 @@
Parent = Parent->Common.Parent;
}
+ ASL_CV_LABEL_FILENODE (Next);
return (Next);
}
@@ -331,7 +338,7 @@
Child = AcpiPsGetArg (Op, 1);
break;
- case AML_POWER_RES_OP:
+ case AML_POWER_RESOURCE_OP:
case AML_INDEX_FIELD_OP:
Child = AcpiPsGetArg (Op, 2);
Modified: trunk/reactos/drivers/bus/acpi/acpica/parser/psutils.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/pa…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/parser/psutils.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/parser/psutils.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -45,6 +45,7 @@
#include "accommon.h"
#include "acparser.h"
#include "amlcode.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("psutils")
@@ -177,6 +178,17 @@
AcpiPsInitOp (Op, Opcode);
Op->Common.Aml = Aml;
Op->Common.Flags = Flags;
+ ASL_CV_CLEAR_OP_COMMENTS(Op);
+
+ if (Opcode == AML_SCOPE_OP)
+ {
+ AcpiGbl_CurrentScope = Op;
+ }
+ }
+
+ if (Gbl_CaptureComments)
+ {
+ ASL_CV_TRANSFER_COMMENTS (Op);
}
return (Op);
@@ -203,6 +215,7 @@
ACPI_FUNCTION_NAME (PsFreeOp);
+ ASL_CV_CLEAR_OP_COMMENTS(Op);
if (Op->Common.AmlOpcode == AML_INT_RETURN_VALUE_OP)
{
ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS,
Modified: trunk/reactos/drivers/bus/acpi/acpica/utilities/utalloc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ut…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/utilities/utalloc.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/utilities/utalloc.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -144,6 +144,40 @@
return (Status);
}
+#ifdef ACPI_ASL_COMPILER
+ /*
+ * For use with the ASL-/ASL+ option. This cache keeps track of regular
+ * 0xA9 0x01 comments.
+ */
+ Status = AcpiOsCreateCache ("Acpi-Comment", sizeof (ACPI_COMMENT_NODE),
+ ACPI_MAX_COMMENT_CACHE_DEPTH, &AcpiGbl_RegCommentCache);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ /*
+ * This cache keeps track of the starting addresses of where the comments
+ * lie. This helps prevent duplication of comments.
+ */
+ Status = AcpiOsCreateCache ("Acpi-Comment-Addr", sizeof
(ACPI_COMMENT_ADDR_NODE),
+ ACPI_MAX_COMMENT_CACHE_DEPTH, &AcpiGbl_CommentAddrCache);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
+ /*
+ * This cache will be used for nodes that represent files.
+ */
+ Status = AcpiOsCreateCache ("Acpi-File", sizeof (ACPI_FILE_NODE),
+ ACPI_MAX_COMMENT_CACHE_DEPTH, &AcpiGbl_FileCache);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+#endif
+
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
@@ -210,6 +244,16 @@
(void) AcpiOsDeleteCache (AcpiGbl_PsNodeExtCache);
AcpiGbl_PsNodeExtCache = NULL;
+#ifdef ACPI_ASL_COMPILER
+ (void) AcpiOsDeleteCache (AcpiGbl_RegCommentCache);
+ AcpiGbl_RegCommentCache = NULL;
+
+ (void) AcpiOsDeleteCache (AcpiGbl_CommentAddrCache);
+ AcpiGbl_CommentAddrCache = NULL;
+
+ (void) AcpiOsDeleteCache (AcpiGbl_FileCache);
+ AcpiGbl_FileCache = NULL;
+#endif
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
Modified: trunk/reactos/drivers/bus/acpi/acpica/utilities/utcache.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ut…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/utilities/utcache.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/utilities/utcache.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -77,7 +77,7 @@
ACPI_FUNCTION_ENTRY ();
- if (!CacheName || !ReturnCache || (ObjectSize < 16))
+ if (!CacheName || !ReturnCache || !ObjectSize)
{
return (AE_BAD_PARAMETER);
}
Modified: trunk/reactos/drivers/bus/acpi/acpica/utilities/utdebug.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ut…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/utilities/utdebug.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/utilities/utdebug.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -707,4 +707,5 @@
ACPI_EXPORT_SYMBOL (AcpiTracePoint)
+
#endif
Modified: trunk/reactos/drivers/bus/acpi/acpica/utilities/utresrc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ut…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/utilities/utresrc.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/utilities/utresrc.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -526,6 +526,16 @@
return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
}
+ /*
+ * The EndTag opcode must be followed by a zero byte.
+ * Although this byte is technically defined to be a checksum,
+ * in practice, all ASL compilers set this byte to zero.
+ */
+ if (*(Aml + 1) != 0)
+ {
+ return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
+ }
+
/* Return the pointer to the EndTag if requested */
if (!UserFunction)
Modified: trunk/reactos/drivers/bus/acpi/acpica/utilities/utxferror.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/acpica/ut…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/acpica/utilities/utxferror.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/acpica/utilities/utxferror.c [iso-8859-1] Sat Mar 4
16:54:26 2017
@@ -101,7 +101,7 @@
*
* PARAMETERS: ModuleName - Caller's module name (for error output)
* LineNumber - Caller's line number (for error output)
- * Status - Status to be formatted
+ * Status - Status value to be decoded/formatted
* Format - Printf format string + additional args
*
* RETURN: None
@@ -152,89 +152,85 @@
*
* FUNCTION: AcpiWarning
*
+ * PARAMETERS: ModuleName - Caller's module name (for warning output)
+ * LineNumber - Caller's line number (for warning output)
+ * Format - Printf format string + additional args
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Print "ACPI Warning" message with module/line/version info
+ *
+ ******************************************************************************/
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiWarning (
+ const char *ModuleName,
+ UINT32 LineNumber,
+ const char *Format,
+ ...)
+{
+ va_list ArgList;
+
+
+ ACPI_MSG_REDIRECT_BEGIN;
+ AcpiOsPrintf (ACPI_MSG_WARNING);
+
+ va_start (ArgList, Format);
+ AcpiOsVprintf (Format, ArgList);
+ ACPI_MSG_SUFFIX;
+ va_end (ArgList);
+
+ ACPI_MSG_REDIRECT_END;
+}
+
+ACPI_EXPORT_SYMBOL (AcpiWarning)
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiInfo
+ *
+ * PARAMETERS: Format - Printf format string + additional args
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Print generic "ACPI:" information message. There is no
+ * module/line/version info in order to keep the message simple.
+ *
+ ******************************************************************************/
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiInfo (
+ const char *Format,
+ ...)
+{
+ va_list ArgList;
+
+
+ ACPI_MSG_REDIRECT_BEGIN;
+ AcpiOsPrintf (ACPI_MSG_INFO);
+
+ va_start (ArgList, Format);
+ AcpiOsVprintf (Format, ArgList);
+ AcpiOsPrintf ("\n");
+ va_end (ArgList);
+
+ ACPI_MSG_REDIRECT_END;
+}
+
+ACPI_EXPORT_SYMBOL (AcpiInfo)
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiBiosError
+ *
* PARAMETERS: ModuleName - Caller's module name (for error output)
* LineNumber - Caller's line number (for error output)
* Format - Printf format string + additional args
*
* RETURN: None
*
- * DESCRIPTION: Print "ACPI Warning" message with module/line/version info
- *
- ******************************************************************************/
-
-void ACPI_INTERNAL_VAR_XFACE
-AcpiWarning (
- const char *ModuleName,
- UINT32 LineNumber,
- const char *Format,
- ...)
-{
- va_list ArgList;
-
-
- ACPI_MSG_REDIRECT_BEGIN;
- AcpiOsPrintf (ACPI_MSG_WARNING);
-
- va_start (ArgList, Format);
- AcpiOsVprintf (Format, ArgList);
- ACPI_MSG_SUFFIX;
- va_end (ArgList);
-
- ACPI_MSG_REDIRECT_END;
-}
-
-ACPI_EXPORT_SYMBOL (AcpiWarning)
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiInfo
- *
- * PARAMETERS: ModuleName - Caller's module name (for error output)
- * LineNumber - Caller's line number (for error output)
- * Format - Printf format string + additional args
- *
- * RETURN: None
- *
- * DESCRIPTION: Print generic "ACPI:" information message. There is no
- * module/line/version info in order to keep the message simple.
- *
- * TBD: ModuleName and LineNumber args are not needed, should be removed.
- *
- ******************************************************************************/
-
-void ACPI_INTERNAL_VAR_XFACE
-AcpiInfo (
- const char *Format,
- ...)
-{
- va_list ArgList;
-
-
- ACPI_MSG_REDIRECT_BEGIN;
- AcpiOsPrintf (ACPI_MSG_INFO);
-
- va_start (ArgList, Format);
- AcpiOsVprintf (Format, ArgList);
- AcpiOsPrintf ("\n");
- va_end (ArgList);
-
- ACPI_MSG_REDIRECT_END;
-}
-
-ACPI_EXPORT_SYMBOL (AcpiInfo)
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiBiosError
- *
- * PARAMETERS: ModuleName - Caller's module name (for error output)
- * LineNumber - Caller's line number (for error output)
- * Format - Printf format string + additional args
- *
- * RETURN: None
- *
* DESCRIPTION: Print "ACPI Firmware Error" message with module/line/version
* info
*
@@ -268,8 +264,8 @@
*
* FUNCTION: AcpiBiosWarning
*
- * PARAMETERS: ModuleName - Caller's module name (for error output)
- * LineNumber - Caller's line number (for error output)
+ * PARAMETERS: ModuleName - Caller's module name (for warning output)
+ * LineNumber - Caller's line number (for warning output)
* Format - Printf format string + additional args
*
* RETURN: None