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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/dis... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/exe... ============================================================================== --- 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/har... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/inc... ============================================================================== --- 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/nam... ============================================================================== --- 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/nam... ============================================================================== --- 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/nam... ============================================================================== --- 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/nam... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/par... ============================================================================== --- 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/uti... ============================================================================== --- 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/uti... ============================================================================== --- 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/uti... ============================================================================== --- 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/uti... ============================================================================== --- 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/uti... ============================================================================== --- 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