aboutsummaryrefslogtreecommitdiff
path: root/source/components
diff options
context:
space:
mode:
Diffstat (limited to 'source/components')
-rw-r--r--source/components/debugger/dbfileio.c2
-rw-r--r--source/components/disassembler/dmwalk.c6
-rw-r--r--source/components/dispatcher/dspkginit.c22
-rw-r--r--source/components/executer/exdump.c6
-rw-r--r--source/components/hardware/hwvalid.c17
-rw-r--r--source/components/namespace/nsxfeval.c18
-rw-r--r--source/components/parser/psutils.c4
-rw-r--r--source/components/utilities/utdebug.c19
-rw-r--r--source/components/utilities/utnonansi.c13
-rw-r--r--source/components/utilities/utosi.c2
-rw-r--r--source/components/utilities/uttrack.c3
11 files changed, 76 insertions, 36 deletions
diff --git a/source/components/debugger/dbfileio.c b/source/components/debugger/dbfileio.c
index 501d35878614..00bb777aeee1 100644
--- a/source/components/debugger/dbfileio.c
+++ b/source/components/debugger/dbfileio.c
@@ -218,7 +218,7 @@ AcpiDbOpenDebugFile (
}
AcpiOsPrintf ("Debug output file %s opened\n", Name);
- strncpy (AcpiGbl_DbDebugFilename, Name,
+ AcpiUtSafeStrncpy (AcpiGbl_DbDebugFilename, Name,
sizeof (AcpiGbl_DbDebugFilename));
AcpiGbl_DbOutputToFile = TRUE;
}
diff --git a/source/components/disassembler/dmwalk.c b/source/components/disassembler/dmwalk.c
index 750e639898aa..ce8eb2079691 100644
--- a/source/components/disassembler/dmwalk.c
+++ b/source/components/disassembler/dmwalk.c
@@ -527,7 +527,7 @@ AcpiDmDescendingOp (
/* Determine which file this parse node is contained in. */
- if (Gbl_CaptureComments)
+ if (AcpiGbl_CaptureComments)
{
ASL_CV_LABEL_FILENODE (Op);
@@ -1046,7 +1046,7 @@ AcpiDmAscendingOp (
/* Point the Op's filename pointer to the proper file */
- if (Gbl_CaptureComments)
+ if (AcpiGbl_CaptureComments)
{
ASL_CV_LABEL_FILENODE (Op);
@@ -1074,7 +1074,7 @@ AcpiDmAscendingOp (
/* Print any comments that are at the end of the file here */
- if (Gbl_CaptureComments && AcpiGbl_LastListHead)
+ if (AcpiGbl_CaptureComments && AcpiGbl_LastListHead)
{
AcpiOsPrintf ("\n");
ASL_CV_PRINT_ONE_COMMENT_LIST (AcpiGbl_LastListHead, 0);
diff --git a/source/components/dispatcher/dspkginit.c b/source/components/dispatcher/dspkginit.c
index 14e34b092368..d7a4c178a69c 100644
--- a/source/components/dispatcher/dspkginit.c
+++ b/source/components/dispatcher/dspkginit.c
@@ -419,9 +419,12 @@ AcpiDsInitPackageElement (
ACPI_OPERAND_OBJECT **ElementPtr;
+ ACPI_FUNCTION_TRACE (DsInitPackageElement);
+
+
if (!SourceObject)
{
- return (AE_OK);
+ return_ACPI_STATUS (AE_OK);
}
/*
@@ -456,7 +459,7 @@ AcpiDsInitPackageElement (
SourceObject->Package.Flags |= AOPOBJ_DATA_VALID;
}
- return (AE_OK);
+ return_ACPI_STATUS (AE_OK);
}
@@ -481,6 +484,7 @@ AcpiDsResolvePackageElement (
ACPI_GENERIC_STATE ScopeInfo;
ACPI_OPERAND_OBJECT *Element = *ElementPtr;
ACPI_NAMESPACE_NODE *ResolvedNode;
+ ACPI_NAMESPACE_NODE *OriginalNode;
char *ExternalPath = NULL;
ACPI_OBJECT_TYPE Type;
@@ -576,6 +580,7 @@ AcpiDsResolvePackageElement (
* will remain as named references. This behavior is not described
* in the ACPI spec, but it appears to be an oversight.
*/
+ OriginalNode = ResolvedNode;
Status = AcpiExResolveNodeToValue (&ResolvedNode, NULL);
if (ACPI_FAILURE (Status))
{
@@ -607,26 +612,27 @@ AcpiDsResolvePackageElement (
*/
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_THERMAL:
-
- /* TBD: This may not be necesssary */
-
- AcpiUtAddReference (ResolvedNode->Object);
+ case ACPI_TYPE_METHOD:
break;
case ACPI_TYPE_MUTEX:
- case ACPI_TYPE_METHOD:
case ACPI_TYPE_POWER:
case ACPI_TYPE_PROCESSOR:
case ACPI_TYPE_EVENT:
case ACPI_TYPE_REGION:
+ /* AcpiExResolveNodeToValue gave these an extra reference */
+
+ AcpiUtRemoveReference (OriginalNode->Object);
break;
default:
/*
* For all other types - the node was resolved to an actual
- * operand object with a value, return the object
+ * operand object with a value, return the object. Remove
+ * a reference on the existing object.
*/
+ AcpiUtRemoveReference (Element);
*ElementPtr = (ACPI_OPERAND_OBJECT *) ResolvedNode;
break;
}
diff --git a/source/components/executer/exdump.c b/source/components/executer/exdump.c
index c1069b2c9f5d..8730a0ebd686 100644
--- a/source/components/executer/exdump.c
+++ b/source/components/executer/exdump.c
@@ -747,7 +747,7 @@ AcpiExDumpOperand (
UINT32 Index;
- ACPI_FUNCTION_NAME (ExDumpOperand)
+ ACPI_FUNCTION_NAME (ExDumpOperand);
/* Check if debug output enabled */
@@ -1042,7 +1042,7 @@ AcpiExDumpOperands (
const char *OpcodeName,
UINT32 NumOperands)
{
- ACPI_FUNCTION_NAME (ExDumpOperands);
+ ACPI_FUNCTION_TRACE (ExDumpOperands);
if (!OpcodeName)
@@ -1070,7 +1070,7 @@ AcpiExDumpOperands (
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
"**** End operand dump for [%s]\n", OpcodeName));
- return;
+ return_VOID;
}
diff --git a/source/components/hardware/hwvalid.c b/source/components/hardware/hwvalid.c
index 0d41dd13cb75..e2b187e7039b 100644
--- a/source/components/hardware/hwvalid.c
+++ b/source/components/hardware/hwvalid.c
@@ -245,7 +245,7 @@ AcpiHwValidateIoRequest (
const ACPI_PORT_INFO *PortInfo;
- ACPI_FUNCTION_NAME (HwValidateIoRequest);
+ ACPI_FUNCTION_TRACE (HwValidateIoRequest);
/* Supported widths are 8/16/32 */
@@ -256,14 +256,15 @@ AcpiHwValidateIoRequest (
{
ACPI_ERROR ((AE_INFO,
"Bad BitWidth parameter: %8.8X", BitWidth));
- return (AE_BAD_PARAMETER);
+ return_ACPI_STATUS (AE_BAD_PARAMETER);
}
PortInfo = AcpiProtectedPorts;
ByteWidth = ACPI_DIV_8 (BitWidth);
LastAddress = Address + ByteWidth - 1;
- ACPI_DEBUG_PRINT ((ACPI_DB_IO, "Address %8.8X%8.8X LastAddress %8.8X%8.8X Length %X",
+ ACPI_DEBUG_PRINT ((ACPI_DB_IO,
+ "Address %8.8X%8.8X LastAddress %8.8X%8.8X Length %X",
ACPI_FORMAT_UINT64 (Address), ACPI_FORMAT_UINT64 (LastAddress),
ByteWidth));
@@ -274,14 +275,14 @@ AcpiHwValidateIoRequest (
ACPI_ERROR ((AE_INFO,
"Illegal I/O port address/length above 64K: %8.8X%8.8X/0x%X",
ACPI_FORMAT_UINT64 (Address), ByteWidth));
- return (AE_LIMIT);
+ return_ACPI_STATUS (AE_LIMIT);
}
/* Exit if requested address is not within the protected port table */
if (Address > AcpiProtectedPorts[ACPI_PORT_INFO_ENTRIES - 1].End)
{
- return (AE_OK);
+ return_ACPI_STATUS (AE_OK);
}
/* Check request against the list of protected I/O ports */
@@ -303,8 +304,8 @@ AcpiHwValidateIoRequest (
if (AcpiGbl_OsiData >= PortInfo->OsiDependency)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_IO,
- "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)",
+ ACPI_DEBUG_PRINT ((ACPI_DB_VALUES,
+ "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n",
ACPI_FORMAT_UINT64 (Address), ByteWidth, PortInfo->Name,
PortInfo->Start, PortInfo->End));
@@ -320,7 +321,7 @@ AcpiHwValidateIoRequest (
}
}
- return (AE_OK);
+ return_ACPI_STATUS (AE_OK);
}
diff --git a/source/components/namespace/nsxfeval.c b/source/components/namespace/nsxfeval.c
index ab3ad5988549..cb31e1312327 100644
--- a/source/components/namespace/nsxfeval.c
+++ b/source/components/namespace/nsxfeval.c
@@ -174,11 +174,11 @@ AcpiNsResolveReferences (
*
* PARAMETERS: Handle - Object handle (optional)
* Pathname - Object pathname (optional)
- * ExternalParams - List of parameters to pass to method,
+ * ExternalParams - List of parameters to pass to a method,
* terminated by NULL. May be NULL
* if no parameters are being passed.
- * ReturnBuffer - Where to put method's return value (if
- * any). If NULL, no value is returned.
+ * ReturnBuffer - Where to put the object return value (if
+ * any). Required.
* ReturnType - Expected type of return object
*
* RETURN: Status
@@ -218,10 +218,16 @@ AcpiEvaluateObjectTyped (
FreeBufferOnError = TRUE;
}
- Status = AcpiGetHandle (Handle, Pathname, &TargetHandle);
- if (ACPI_FAILURE (Status))
+ /* Get a handle here, in order to build an error message if needed */
+
+ TargetHandle = Handle;
+ if (Pathname)
{
- return_ACPI_STATUS (Status);
+ Status = AcpiGetHandle (Handle, Pathname, &TargetHandle);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
}
FullPathname = AcpiNsGetExternalPathname (TargetHandle);
diff --git a/source/components/parser/psutils.c b/source/components/parser/psutils.c
index a04b2e50aabc..1b01c4b073a2 100644
--- a/source/components/parser/psutils.c
+++ b/source/components/parser/psutils.c
@@ -213,7 +213,7 @@ AcpiPsInitOp (
Op->Common.DescriptorType = ACPI_DESC_TYPE_PARSER;
Op->Common.AmlOpcode = Opcode;
- ACPI_DISASM_ONLY_MEMBERS (strncpy (Op->Common.AmlOpName,
+ ACPI_DISASM_ONLY_MEMBERS (AcpiUtSafeStrncpy (Op->Common.AmlOpName,
(AcpiPsGetOpcodeInfo (Opcode))->Name,
sizeof (Op->Common.AmlOpName)));
}
@@ -293,7 +293,7 @@ AcpiPsAllocOp (
AcpiGbl_CurrentScope = Op;
}
- if (Gbl_CaptureComments)
+ if (AcpiGbl_CaptureComments)
{
ASL_CV_TRANSFER_COMMENTS (Op);
}
diff --git a/source/components/utilities/utdebug.c b/source/components/utilities/utdebug.c
index dd80f241053a..177b141bc88a 100644
--- a/source/components/utilities/utdebug.c
+++ b/source/components/utilities/utdebug.c
@@ -290,7 +290,9 @@ AcpiDebugPrint (
{
ACPI_THREAD_ID ThreadId;
va_list args;
-
+#ifdef ACPI_APPLICATION
+ int FillCount;
+#endif
/* Check if debug output enabled */
@@ -334,10 +336,21 @@ AcpiDebugPrint (
AcpiOsPrintf ("[%u] ", (UINT32) ThreadId);
}
- AcpiOsPrintf ("[%02ld] ", AcpiGbl_NestingLevel);
-#endif
+ FillCount = 48 - AcpiGbl_NestingLevel -
+ strlen (AcpiUtTrimFunctionName (FunctionName));
+ if (FillCount < 0)
+ {
+ FillCount = 0;
+ }
+ AcpiOsPrintf ("[%02ld] %*s",
+ AcpiGbl_NestingLevel, AcpiGbl_NestingLevel + 1, " ");
+ AcpiOsPrintf ("%s%*s: ",
+ AcpiUtTrimFunctionName (FunctionName), FillCount, " ");
+
+#else
AcpiOsPrintf ("%-22.22s: ", AcpiUtTrimFunctionName (FunctionName));
+#endif
va_start (args, Format);
AcpiOsVprintf (Format, args);
diff --git a/source/components/utilities/utnonansi.c b/source/components/utilities/utnonansi.c
index f9551d05af2e..f1404e591dd8 100644
--- a/source/components/utilities/utnonansi.c
+++ b/source/components/utilities/utnonansi.c
@@ -344,4 +344,17 @@ AcpiUtSafeStrncat (
strncat (Dest, Source, MaxTransferLength);
return (FALSE);
}
+
+void
+AcpiUtSafeStrncpy (
+ char *Dest,
+ char *Source,
+ ACPI_SIZE DestSize)
+{
+ /* Always terminate destination string */
+
+ strncpy (Dest, Source, DestSize);
+ Dest[DestSize - 1] = 0;
+}
+
#endif
diff --git a/source/components/utilities/utosi.c b/source/components/utilities/utosi.c
index d8f299edc6ee..ee2890fbd02b 100644
--- a/source/components/utilities/utosi.c
+++ b/source/components/utilities/utosi.c
@@ -214,6 +214,8 @@ static ACPI_INTERFACE_INFO AcpiDefaultSupportedInterfaces[] =
{"Windows 2012", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8 and Server 2012 - Added 08/2012 */
{"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
{"Windows 2015", NULL, 0, ACPI_OSI_WIN_10}, /* Windows 10 - Added 03/2015 */
+ {"Windows 2016", NULL, 0, ACPI_OSI_WIN_10_RS1}, /* Windows 10 version 1607 - Added 12/2017 */
+ {"Windows 2017", NULL, 0, ACPI_OSI_WIN_10_RS2}, /* Windows 10 version 1703 - Added 12/2017 */
/* Feature Group Strings */
diff --git a/source/components/utilities/uttrack.c b/source/components/utilities/uttrack.c
index e74ff066a400..a9b5e058c663 100644
--- a/source/components/utilities/uttrack.c
+++ b/source/components/utilities/uttrack.c
@@ -557,8 +557,7 @@ AcpiUtTrackAllocation (
Allocation->Component = Component;
Allocation->Line = Line;
- strncpy (Allocation->Module, Module, ACPI_MAX_MODULE_NAME);
- Allocation->Module[ACPI_MAX_MODULE_NAME-1] = 0;
+ AcpiUtSafeStrncpy (Allocation->Module, (char *) Module, ACPI_MAX_MODULE_NAME);
if (!Element)
{