summaryrefslogtreecommitdiff
path: root/source/tools/acpisrc
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2014-09-11 21:38:09 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2014-09-11 21:38:09 +0000
commit754171ae60abbbd707ed8d449f07ef38f596bd22 (patch)
tree67d2b76905535d056ba6911186285d0325dc703f /source/tools/acpisrc
parente599b42ef5047e5546af949d87d2cfd2e17062b0 (diff)
Notes
Diffstat (limited to 'source/tools/acpisrc')
-rw-r--r--source/tools/acpisrc/acpisrc.h13
-rw-r--r--source/tools/acpisrc/asconvrt.c618
-rw-r--r--source/tools/acpisrc/asmain.c5
-rw-r--r--source/tools/acpisrc/astable.c20
-rw-r--r--source/tools/acpisrc/asutils.c4
5 files changed, 445 insertions, 215 deletions
diff --git a/source/tools/acpisrc/acpisrc.h b/source/tools/acpisrc/acpisrc.h
index cdf7f0d99b33b..355657fe49d4e 100644
--- a/source/tools/acpisrc/acpisrc.h
+++ b/source/tools/acpisrc/acpisrc.h
@@ -210,6 +210,19 @@ extern ACPI_CONVERSION_TABLE CustomConversionTable;
extern ACPI_CONVERSION_TABLE LicenseConversionTable;
extern ACPI_CONVERSION_TABLE IndentConversionTable;
+typedef
+char * (*AS_SCAN_CALLBACK) (
+ char *Buffer,
+ char *Filename,
+ UINT32 LineNumber);
+
+typedef struct as_brace_info
+{
+ char *Operator;
+ UINT32 Length;
+
+} AS_BRACE_INFO;
+
/* Prototypes */
diff --git a/source/tools/acpisrc/asconvrt.c b/source/tools/acpisrc/asconvrt.c
index 53c0c5454059e..086f24ee14c3c 100644
--- a/source/tools/acpisrc/asconvrt.c
+++ b/source/tools/acpisrc/asconvrt.c
@@ -43,22 +43,309 @@
#include "acpisrc.h"
+AS_BRACE_INFO Gbl_BraceInfo[] =
+{
+ {" if", 3},
+ {" else if", 8},
+ {" else while", 11},
+ {" else", 5},
+ {" do ", 4},
+ {NULL, 0}
+};
+
+
/* Local prototypes */
-char *
-AsCheckAndSkipLiterals (
+static char *
+AsMatchValidToken (
char *Buffer,
- UINT32 *TotalLines);
+ char *Filename,
+ char TargetChar,
+ AS_SCAN_CALLBACK Callback);
+
+static char *
+AsCheckBracesCallback (
+ char *Buffer,
+ char *Filename,
+ UINT32 LineNumber);
-UINT32
+static UINT32
AsCountLines (
char *Buffer,
char *Filename);
+
/* Opening signature of the Intel legal header */
char *HeaderBegin = "/******************************************************************************\n *\n * 1. Copyright Notice";
+UINT32 NonAnsiCommentCount;
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AsCountNonAnsiComments
+ *
+ * DESCRIPTION: Count the number of "//" comments. This type of comment is
+ * non-ANSI C.
+ *
+ * NOTE: July 2014: Allows // within quoted strings and within normal
+ * comments. Eliminates extraneous warnings from this utility.
+ *
+ ******************************************************************************/
+
+void
+AsCountNonAnsiComments (
+ char *Buffer,
+ char *Filename)
+{
+
+ AsMatchValidToken (Buffer, Filename, 0, NULL);
+
+ /* Error if any slash-slash comments found */
+
+ if (NonAnsiCommentCount)
+ {
+ AsPrint ("Non-ANSI // Comments Found", NonAnsiCommentCount, Filename);
+ Gbl_NonAnsiComments += NonAnsiCommentCount;
+ }
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AsCheckForBraces
+ *
+ * DESCRIPTION: Check for an open brace after each if/else/do (etc.)
+ * statement
+ *
+ ******************************************************************************/
+
+void
+AsCheckForBraces (
+ char *Buffer,
+ char *Filename)
+{
+
+ AsMatchValidToken (Buffer, Filename, 0, AsCheckBracesCallback);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AsCheckBracesCallback
+ *
+ * DESCRIPTION: Check if/else/do statements. Ensure that braces
+ * are always used.
+ *
+ * TBD: Currently, don't check while() statements. The problem is that there
+ * are two forms: do {} while (); and while () {}.
+ *
+ ******************************************************************************/
+
+static char *
+AsCheckBracesCallback (
+ char *Buffer,
+ char *Filename,
+ UINT32 LineNumber)
+{
+ char *SubBuffer = Buffer;
+ char *NextBrace;
+ char *NextSemicolon;
+ AS_BRACE_INFO *BraceInfo;
+
+
+ for (BraceInfo = Gbl_BraceInfo; BraceInfo->Operator; BraceInfo++)
+ {
+ if (!(strncmp (BraceInfo->Operator, SubBuffer, BraceInfo->Length)))
+ {
+ SubBuffer += (BraceInfo->Length - 1);
+
+ /* Find next brace and the next semicolon */
+
+ NextBrace = AsMatchValidToken (SubBuffer, Filename, '{', NULL);
+ NextSemicolon = AsMatchValidToken (SubBuffer, Filename, ';', NULL);
+
+ /* Next brace should appear before next semicolon */
+
+ if ((!NextBrace) ||
+ (NextSemicolon && (NextBrace > NextSemicolon)))
+ {
+ Gbl_MissingBraces++;
+
+ if (!Gbl_QuietMode)
+ {
+ printf ("Missing braces for <%s>, line %u: %s\n",
+ BraceInfo->Operator + 1, LineNumber, Filename);
+ }
+ }
+
+ return (SubBuffer);
+ }
+ }
+
+ /* No match, just return original buffer */
+
+ return (Buffer);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AsMatchValidToken
+ *
+ * DESCRIPTION: Find the next matching token in the input buffer.
+ *
+ ******************************************************************************/
+
+static char *
+AsMatchValidToken (
+ char *Buffer,
+ char *Filename,
+ char TargetChar,
+ AS_SCAN_CALLBACK Callback)
+{
+ char *SubBuffer = Buffer;
+ char *StringStart;
+ UINT32 TotalLines;
+
+
+ TotalLines = 1;
+ NonAnsiCommentCount = 0;
+
+ /* Scan from current position up to the end if necessary */
+
+ while (*SubBuffer)
+ {
+ /* Skip normal comments */
+
+ if ((*SubBuffer == '/') &&
+ (*(SubBuffer + 1) == '*'))
+ {
+ /* Must maintain line count */
+
+ SubBuffer += 2;
+ while (strncmp ("*/", SubBuffer, 2))
+ {
+ if (*SubBuffer == '\n')
+ {
+ TotalLines++;
+ }
+ SubBuffer++;
+ }
+
+ SubBuffer += 2;
+ continue;
+ }
+
+ /* Skip single quoted chars */
+
+ if (*SubBuffer == '\'')
+ {
+ SubBuffer++;
+ if (!(*SubBuffer))
+ {
+ break;
+ }
+
+ if (*SubBuffer == '\\')
+ {
+ SubBuffer++;
+ }
+ SubBuffer++;
+ continue;
+ }
+
+ /* Skip quoted strings */
+
+ if (*SubBuffer == '"')
+ {
+ StringStart = SubBuffer;
+ SubBuffer++;
+ if (!(*SubBuffer))
+ {
+ break;
+ }
+
+ while (*SubBuffer != '"')
+ {
+ if ((*SubBuffer == '\n') ||
+ (!(*SubBuffer)))
+ {
+ AsPrint ("Unbalanced quoted string", 1, Filename);
+ printf (" %.32s\n", StringStart);
+ break;
+ }
+
+ /* Handle escapes within the string */
+
+ if (*SubBuffer == '\\')
+ {
+ SubBuffer++;
+ }
+ SubBuffer++;
+ }
+
+ SubBuffer++;
+ continue;
+ }
+
+ /* Now we can check for a slash-slash comment */
+
+ if ((*SubBuffer == '/') &&
+ (*(SubBuffer + 1) == '/'))
+ {
+ NonAnsiCommentCount++;
+
+ /* Skip to end-of-line */
+
+ while ((*SubBuffer != '\n') &&
+ (*SubBuffer))
+ {
+ SubBuffer++;
+ }
+
+ if (!(*SubBuffer))
+ {
+ break;
+ }
+
+ if (*SubBuffer == '\n')
+ {
+ TotalLines++;
+ }
+
+ SubBuffer++;
+ continue;
+ }
+
+ /* Finally, check for a newline */
+
+ if (*SubBuffer == '\n')
+ {
+ TotalLines++;
+ SubBuffer++;
+ continue;
+ }
+
+ /* Normal character, do the user actions */
+
+ if (Callback)
+ {
+ SubBuffer = Callback (SubBuffer, Filename, TotalLines);
+ }
+
+ if (TargetChar && (*SubBuffer == TargetChar))
+ {
+ return (SubBuffer);
+ }
+
+ SubBuffer++;
+ }
+
+ return (NULL);
+}
+
/******************************************************************************
*
@@ -201,163 +488,6 @@ AsPrint (
/******************************************************************************
*
- * FUNCTION: AsCheckAndSkipLiterals
- *
- * DESCRIPTION: Generic routine to skip comments and quoted string literals.
- * Keeps a line count.
- *
- ******************************************************************************/
-
-char *
-AsCheckAndSkipLiterals (
- char *Buffer,
- UINT32 *TotalLines)
-{
- UINT32 NewLines = 0;
- char *SubBuffer = Buffer;
- char *LiteralEnd;
-
-
- /* Ignore comments */
-
- if ((SubBuffer[0] == '/') &&
- (SubBuffer[1] == '*'))
- {
- LiteralEnd = strstr (SubBuffer, "*/");
- SubBuffer += 2; /* Get past comment opening */
-
- if (!LiteralEnd)
- {
- return (SubBuffer);
- }
-
- while (SubBuffer < LiteralEnd)
- {
- if (*SubBuffer == '\n')
- {
- NewLines++;
- }
-
- SubBuffer++;
- }
-
- SubBuffer += 2; /* Get past comment close */
- }
-
- /* Ignore quoted strings */
-
- else if (*SubBuffer == '\"')
- {
- SubBuffer++;
- LiteralEnd = AsSkipPastChar (SubBuffer, '\"');
- if (!LiteralEnd)
- {
- return (SubBuffer);
- }
- }
-
- if (TotalLines)
- {
- (*TotalLines) += NewLines;
- }
- return (SubBuffer);
-}
-
-
-/******************************************************************************
- *
- * FUNCTION: AsAsCheckForBraces
- *
- * DESCRIPTION: Check for an open brace after each if statement
- *
- ******************************************************************************/
-
-void
-AsCheckForBraces (
- char *Buffer,
- char *Filename)
-{
- char *SubBuffer = Buffer;
- char *NextBrace;
- char *NextSemicolon;
- char *NextIf;
- UINT32 TotalLines = 1;
-
-
- while (*SubBuffer)
- {
-
- SubBuffer = AsCheckAndSkipLiterals (SubBuffer, &TotalLines);
-
- if (*SubBuffer == '\n')
- {
- TotalLines++;
- }
- else if (!(strncmp (" if", SubBuffer, 3)))
- {
- SubBuffer += 2;
- NextBrace = strstr (SubBuffer, "{");
- NextSemicolon = strstr (SubBuffer, ";");
- NextIf = strstr (SubBuffer, " if");
-
- if ((!NextBrace) ||
- (NextSemicolon && (NextBrace > NextSemicolon)) ||
- (NextIf && (NextBrace > NextIf)))
- {
- Gbl_MissingBraces++;
-
- if (!Gbl_QuietMode)
- {
- printf ("Missing braces for <if>, line %u: %s\n", TotalLines, Filename);
- }
- }
- }
- else if (!(strncmp (" else if", SubBuffer, 8)))
- {
- SubBuffer += 7;
- NextBrace = strstr (SubBuffer, "{");
- NextSemicolon = strstr (SubBuffer, ";");
- NextIf = strstr (SubBuffer, " if");
-
- if ((!NextBrace) ||
- (NextSemicolon && (NextBrace > NextSemicolon)) ||
- (NextIf && (NextBrace > NextIf)))
- {
- Gbl_MissingBraces++;
-
- if (!Gbl_QuietMode)
- {
- printf ("Missing braces for <if>, line %u: %s\n", TotalLines, Filename);
- }
- }
- }
- else if (!(strncmp (" else", SubBuffer, 5)))
- {
- SubBuffer += 4;
- NextBrace = strstr (SubBuffer, "{");
- NextSemicolon = strstr (SubBuffer, ";");
- NextIf = strstr (SubBuffer, " if");
-
- if ((!NextBrace) ||
- (NextSemicolon && (NextBrace > NextSemicolon)) ||
- (NextIf && (NextBrace > NextIf)))
- {
- Gbl_MissingBraces++;
-
- if (!Gbl_QuietMode)
- {
- printf ("Missing braces for <else>, line %u: %s\n", TotalLines, Filename);
- }
- }
- }
-
- SubBuffer++;
- }
-}
-
-
-/******************************************************************************
- *
* FUNCTION: AsTrimLines
*
* DESCRIPTION: Remove extra blanks from the end of source lines. Does not
@@ -435,12 +565,47 @@ void
AsTrimWhitespace (
char *Buffer)
{
+ char *SubBuffer;
int ReplaceCount = 1;
while (ReplaceCount)
{
- ReplaceCount = AsReplaceString ("\n\n\n\n", "\n\n\n", REPLACE_SUBSTRINGS, Buffer);
+ ReplaceCount = AsReplaceString ("\n\n\n\n", "\n\n\n",
+ REPLACE_SUBSTRINGS, Buffer);
+ }
+
+ /*
+ * Check for exactly one blank line after the copyright header
+ */
+
+ /* Find the header */
+
+ SubBuffer = strstr (Buffer, HeaderBegin);
+ if (!SubBuffer)
+ {
+ return;
+ }
+
+ /* Find the end of the header */
+
+ SubBuffer = strstr (SubBuffer, "*/");
+ SubBuffer = AsSkipPastChar (SubBuffer, '\n');
+
+ /* Replace a double blank line with a single */
+
+ if (!strncmp (SubBuffer, "\n\n", 2))
+ {
+ SubBuffer = AsReplaceData (SubBuffer, 2, "\n", 1);
+ AcpiOsPrintf ("Found multiple blank lines after copyright\n");
+ }
+
+ /* If no blank line after header, insert one */
+
+ else if (*SubBuffer != '\n')
+ {
+ AsInsertData (SubBuffer, "\n", 1);
+ AcpiOsPrintf ("Inserted blank line after copyright\n");
}
}
@@ -477,7 +642,8 @@ AsReplaceHeader (
/* Delete old header, insert new one */
- AsReplaceData (SubBuffer, TokenEnd - SubBuffer, NewHeader, strlen (NewHeader));
+ AsReplaceData (SubBuffer, TokenEnd - SubBuffer,
+ NewHeader, strlen (NewHeader));
}
@@ -565,7 +731,8 @@ AsReplaceString (
}
}
- SubBuffer = AsReplaceData (SubString1, TargetLength, Replacement, ReplacementLength);
+ SubBuffer = AsReplaceData (SubString1, TargetLength,
+ Replacement, ReplacementLength);
if ((Type & EXTRA_INDENT_C) &&
(!Gbl_StructDefs))
@@ -585,7 +752,7 @@ AsReplaceString (
*
* FUNCTION: AsConvertToLineFeeds
*
- * DESCRIPTION:
+ * DESCRIPTION: Convert all CR/LF pairs to LF only.
*
******************************************************************************/
@@ -612,7 +779,6 @@ AsConvertToLineFeeds (
SubBuffer = AsReplaceData (SubString, 1, NULL, 0);
}
- return;
}
@@ -620,7 +786,7 @@ AsConvertToLineFeeds (
*
* FUNCTION: AsInsertCarriageReturns
*
- * DESCRIPTION:
+ * DESCRIPTION: Convert lone LFs to CR/LF pairs.
*
******************************************************************************/
@@ -648,7 +814,6 @@ AsInsertCarriageReturns (
SubBuffer = AsInsertData (SubString, "\r", 1);
SubBuffer += 1;
}
- return;
}
@@ -1109,7 +1274,7 @@ AsTabify8 (
*
******************************************************************************/
-UINT32
+static UINT32
AsCountLines (
char *Buffer,
char *Filename)
@@ -1141,7 +1306,9 @@ AsCountLines (
if (LongLineCount)
{
- VERBOSE_PRINT (("%u Lines longer than 80 found in %s\n", LongLineCount, Filename));
+ VERBOSE_PRINT (("%u Lines longer than 80 found in %s\n",
+ LongLineCount, Filename));
+
Gbl_LongLines += LongLineCount;
}
@@ -1187,42 +1354,6 @@ AsCountTabs (
/******************************************************************************
*
- * FUNCTION: AsCountNonAnsiComments
- *
- * DESCRIPTION: Count the number of "//" comments. This type of comment is
- * non-ANSI C.
- *
- ******************************************************************************/
-
-void
-AsCountNonAnsiComments (
- char *Buffer,
- char *Filename)
-{
- char *SubBuffer = Buffer;
- UINT32 CommentCount = 0;
-
-
- while (SubBuffer)
- {
- SubBuffer = strstr (SubBuffer, "//");
- if (SubBuffer)
- {
- CommentCount++;
- SubBuffer += 2;
- }
- }
-
- if (CommentCount)
- {
- AsPrint ("Non-ANSI Comments found", CommentCount, Filename);
- Gbl_NonAnsiComments += CommentCount;
- }
-}
-
-
-/******************************************************************************
- *
* FUNCTION: AsCountSourceLines
*
* DESCRIPTION: Count the number of C source lines. Defined by 1) not a
@@ -1309,7 +1440,8 @@ AsCountSourceLines (
Gbl_CommentLines += CommentCount;
VERBOSE_PRINT (("%u Comment %u White %u Code %u Lines in %s\n",
- CommentCount, WhiteCount, LineCount, LineCount+WhiteCount+CommentCount, Filename));
+ CommentCount, WhiteCount, LineCount,
+ LineCount + WhiteCount + CommentCount, Filename));
}
@@ -1536,3 +1668,75 @@ Exit:
}
}
#endif
+
+#ifdef ACPI_UNUSED_FUNCTIONS
+/******************************************************************************
+ *
+ * FUNCTION: AsCheckAndSkipLiterals
+ *
+ * DESCRIPTION: Generic routine to skip comments and quoted string literals.
+ * Keeps a line count.
+ *
+ ******************************************************************************/
+
+static char *
+AsCheckAndSkipLiterals (
+ char *Buffer,
+ UINT32 *TotalLines);
+
+
+static char *
+AsCheckAndSkipLiterals (
+ char *Buffer,
+ UINT32 *TotalLines)
+{
+ UINT32 NewLines = 0;
+ char *SubBuffer = Buffer;
+ char *LiteralEnd;
+
+
+ /* Ignore comments */
+
+ if ((SubBuffer[0] == '/') &&
+ (SubBuffer[1] == '*'))
+ {
+ LiteralEnd = strstr (SubBuffer, "*/");
+ SubBuffer += 2; /* Get past comment opening */
+
+ if (!LiteralEnd)
+ {
+ return (SubBuffer);
+ }
+
+ while (SubBuffer < LiteralEnd)
+ {
+ if (*SubBuffer == '\n')
+ {
+ NewLines++;
+ }
+
+ SubBuffer++;
+ }
+
+ SubBuffer += 2; /* Get past comment close */
+ }
+
+ /* Ignore quoted strings */
+
+ else if (*SubBuffer == '\"')
+ {
+ SubBuffer++;
+ LiteralEnd = AsSkipPastChar (SubBuffer, '\"');
+ if (!LiteralEnd)
+ {
+ return (SubBuffer);
+ }
+ }
+
+ if (TotalLines)
+ {
+ (*TotalLines) += NewLines;
+ }
+ return (SubBuffer);
+}
+#endif
diff --git a/source/tools/acpisrc/asmain.c b/source/tools/acpisrc/asmain.c
index 8b26ebcfcf390..7c893e6a0359e 100644
--- a/source/tools/acpisrc/asmain.c
+++ b/source/tools/acpisrc/asmain.c
@@ -41,7 +41,6 @@
* POSSIBILITY OF SUCH DAMAGES.
*/
-
#include "acpisrc.h"
#include "acapps.h"
@@ -242,8 +241,8 @@ AsDisplayStats (
printf ("%8u Total bytes (%.1fK/file)\n",
Gbl_TotalSize, ((double) Gbl_TotalSize/Gbl_Files)/1024);
printf ("%8u Tabs found\n", Gbl_Tabs);
- printf ("%8u Missing if/else braces\n", Gbl_MissingBraces);
- printf ("%8u Non-ANSI comments found\n", Gbl_NonAnsiComments);
+ printf ("%8u Missing if/else/while braces\n", Gbl_MissingBraces);
+ printf ("%8u Non-ANSI // comments found\n", Gbl_NonAnsiComments);
printf ("%8u Total Lines\n", Gbl_TotalLines);
printf ("%8u Lines of code\n", Gbl_SourceLines);
printf ("%8u Lines of non-comment whitespace\n", Gbl_WhiteLines);
diff --git a/source/tools/acpisrc/astable.c b/source/tools/acpisrc/astable.c
index 7f25988b10ae3..818bba6864d16 100644
--- a/source/tools/acpisrc/astable.c
+++ b/source/tools/acpisrc/astable.c
@@ -41,7 +41,6 @@
* POSSIBILITY OF SUCH DAMAGES.
*/
-
#include "acpisrc.h"
#include "acapps.h"
@@ -467,6 +466,8 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"AML_RESOURCE_UART_SERIALBUS", SRC_TYPE_STRUCT},
{"AML_RESOURCE_VENDOR_LARGE", SRC_TYPE_STRUCT},
{"AML_RESOURCE_VENDOR_SMALL", SRC_TYPE_STRUCT},
+ {"AS_BRACE_INFO", SRC_TYPE_STRUCT},
+ {"AS_SCAN_CALLBACK", SRC_TYPE_SIMPLE},
{"APIC_HEADER", SRC_TYPE_STRUCT},
{"AE_DEBUG_REGIONS", SRC_TYPE_STRUCT},
@@ -474,6 +475,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"AE_TABLE_DESC", SRC_TYPE_STRUCT},
{"ASL_ANALYSIS_WALK_INFO", SRC_TYPE_STRUCT},
{"ASL_ERROR_MSG", SRC_TYPE_STRUCT},
+ {"ASL_ERROR_MSG", SRC_TYPE_STRUCT},
{"ASL_EVENT_INFO", SRC_TYPE_STRUCT},
{"ASL_FILE_INFO", SRC_TYPE_STRUCT},
{"ASL_FILE_STATUS", SRC_TYPE_STRUCT},
@@ -506,6 +508,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_TABLE_FACS", SRC_TYPE_STRUCT},
{"ACPI_TABLE_FADT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_FPDT", SRC_TYPE_STRUCT},
+ {"ACPI_TABLE_GTDT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_HEST", SRC_TYPE_STRUCT},
{"ACPI_TABLE_HPET", SRC_TYPE_STRUCT},
{"ACPI_TABLE_IBFT", SRC_TYPE_STRUCT},
@@ -551,17 +554,22 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_DBG2_DEVICE", SRC_TYPE_STRUCT},
{"ACPI_DMAR_HEADER", SRC_TYPE_STRUCT},
{"ACPI_DMAR_DEVICE_SCOPE", SRC_TYPE_STRUCT},
+ {"ACPI_DMAR_ANDD", SRC_TYPE_STRUCT},
{"ACPI_DMAR_ATSR", SRC_TYPE_STRUCT},
{"ACPI_DMAR_RHSA", SRC_TYPE_STRUCT},
{"ACPI_DMAR_HARDWARE_UNIT", SRC_TYPE_STRUCT},
{"ACPI_DMAR_RESERVED_MEMORY", SRC_TYPE_STRUCT},
{"ACPI_EINJ_ENTRY", SRC_TYPE_STRUCT},
{"ACPI_EINJ_TRIGGER", SRC_TYPE_STRUCT},
+ {"ACPI_ERST_ENTRY", SRC_TYPE_STRUCT},
+ {"ACPI_ERST_INFO", SRC_TYPE_STRUCT},
{"ACPI_FPDT_HEADER", SRC_TYPE_STRUCT},
{"ACPI_FPDT_BOOT", SRC_TYPE_STRUCT},
{"ACPI_FPDT_S3PT_PTR", SRC_TYPE_STRUCT},
- {"ACPI_ERST_ENTRY", SRC_TYPE_STRUCT},
- {"ACPI_ERST_INFO", SRC_TYPE_STRUCT},
+ {"ACPI_GTDT_HEADER", SRC_TYPE_STRUCT},
+ {"ACPI_GTDT_TIMER_BLOCK", SRC_TYPE_STRUCT},
+ {"ACPI_GTDT_TIMER_ENTRY", SRC_TYPE_STRUCT},
+ {"ACPI_GTDT_WATCHDOG", SRC_TYPE_STRUCT},
{"ACPI_HEST_AER_COMMON", SRC_TYPE_STRUCT},
{"ACPI_HEST_HEADER", SRC_TYPE_STRUCT},
{"ACPI_HEST_NOTIFY", SRC_TYPE_STRUCT},
@@ -589,6 +597,8 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_IVRS_DEVICE8C", SRC_TYPE_STRUCT},
{"ACPI_IVRS_MEMORY", SRC_TYPE_STRUCT},
{"ACPI_MADT_ADDRESS_OVERRIDE", SRC_TYPE_STRUCT},
+ {"ACPI_MADT_GENERIC_MSI_FRAME", SRC_TYPE_STRUCT},
+ {"ACPI_MADT_GENERIC_REDISTRIBUTOR", SRC_TYPE_STRUCT},
{"ACPI_MADT_HEADER", SRC_TYPE_STRUCT},
{"ACPI_MADT_IO_APIC", SRC_TYPE_STRUCT},
{"ACPI_MADT_IO_SAPIC", SRC_TYPE_STRUCT},
@@ -611,6 +621,8 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_MPST_POWER_STATE", SRC_TYPE_STRUCT},
{"ACPI_MCFG_ALLOCATION", SRC_TYPE_STRUCT},
{"ACPI_MSCT_PROXIMITY", SRC_TYPE_STRUCT},
+ {"ACPI_PCCT_HW_REDUCED", SRC_TYPE_STRUCT},
+ {"ACPI_PCCT_SHARED_MEMORY", SRC_TYPE_STRUCT},
{"ACPI_PCCT_SUBSPACE", SRC_TYPE_STRUCT},
{"ACPI_RSDP_COMMON", SRC_TYPE_STRUCT},
{"ACPI_RSDP_EXTENSION", SRC_TYPE_STRUCT},
@@ -623,6 +635,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_SRAT_HEADER", SRC_TYPE_STRUCT},
{"ACPI_SRAT_MEM_AFFINITY", SRC_TYPE_STRUCT},
{"ACPI_SRAT_X2APIC_CPU_AFFINITY", SRC_TYPE_STRUCT},
+ {"ACPI_SRAT_GICC_AFFINITY", SRC_TYPE_STRUCT},
{"ACPI_TPM2_CONTROL", SRC_TYPE_STRUCT},
{"ACPI_WDAT_ENTRY", SRC_TYPE_STRUCT},
@@ -652,6 +665,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"AH_ASL_KEYWORD", SRC_TYPE_STRUCT},
{"AH_DEVICE_ID", SRC_TYPE_STRUCT},
{"AH_PREDEFINED_NAME", SRC_TYPE_STRUCT},
+ {"AH_UUID", SRC_TYPE_STRUCT},
/* AcpiXtract utility */
diff --git a/source/tools/acpisrc/asutils.c b/source/tools/acpisrc/asutils.c
index 050d343388ba7..8dbf59fa282c3 100644
--- a/source/tools/acpisrc/asutils.c
+++ b/source/tools/acpisrc/asutils.c
@@ -132,7 +132,6 @@ AsSkipPastChar (
}
Buffer++;
-
return (Buffer);
}
@@ -173,7 +172,8 @@ AsReplaceData (
if (LengthToRemove > 0)
{
Gbl_MadeChanges = TRUE;
- memmove ((Buffer + LengthToAdd), (Buffer + LengthToRemove), (BufferLength - LengthToRemove));
+ memmove ((Buffer + LengthToAdd), (Buffer + LengthToRemove),
+ (BufferLength - LengthToRemove));
}
}