summaryrefslogtreecommitdiff
path: root/source/compiler
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2012-06-20 17:51:04 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2012-06-20 17:51:04 +0000
commit705c538931446b23ef7f028f71c9da55c78bbf23 (patch)
treef634c2ad6dfa6f49c5aaabc64f8bb79b74dda5a7 /source/compiler
parentfa948a817cf9dae39dc632f9bf48a8af37244a0e (diff)
Notes
Diffstat (limited to 'source/compiler')
-rw-r--r--source/compiler/Makefile1
-rw-r--r--source/compiler/aslcompile.c74
-rw-r--r--source/compiler/aslerror.c2
-rw-r--r--source/compiler/aslfiles.c18
-rw-r--r--source/compiler/asllookup.c2
-rw-r--r--source/compiler/aslmain.c44
-rw-r--r--source/compiler/aslsupport.l36
-rw-r--r--source/compiler/aslutils.c90
-rw-r--r--source/compiler/dttemplate.c2
9 files changed, 152 insertions, 117 deletions
diff --git a/source/compiler/Makefile b/source/compiler/Makefile
index 379f38889387..9f704d2dbd3c 100644
--- a/source/compiler/Makefile
+++ b/source/compiler/Makefile
@@ -77,6 +77,7 @@ OBJECTS = \
adfile.o \
adisasm.o \
adwalk.o \
+ ahpredef.o \
aslanalyze.o \
aslbtypes.o \
aslcodegen.o \
diff --git a/source/compiler/aslcompile.c b/source/compiler/aslcompile.c
index 2a87a0162e4f..a6ffe1e89b90 100644
--- a/source/compiler/aslcompile.c
+++ b/source/compiler/aslcompile.c
@@ -67,6 +67,10 @@ FlConsumeNewComment (
FILE *Handle,
ASL_FILE_STATUS *Status);
+static void
+CmDumpAllEvents (
+ void);
+
/*******************************************************************************
*
@@ -717,45 +721,65 @@ CmDoOutputFiles (
/*******************************************************************************
*
- * FUNCTION: CmDumpEvent
+ * FUNCTION: CmDumpAllEvents
*
- * PARAMETERS: Event - A compiler event struct
+ * PARAMETERS: None
*
* RETURN: None.
*
- * DESCRIPTION: Dump a compiler event struct
+ * DESCRIPTION: Dump all compiler events
*
******************************************************************************/
static void
-CmDumpEvent (
- ASL_EVENT_INFO *Event)
+CmDumpAllEvents (
+ void)
{
+ ASL_EVENT_INFO *Event;
UINT32 Delta;
UINT32 USec;
UINT32 MSec;
+ UINT32 i;
+
- if (!Event->Valid)
+ Event = AslGbl_Events;
+
+ DbgPrint (ASL_DEBUG_OUTPUT, "\n\nElapsed time for major events\n\n");
+ if (Gbl_CompileTimesFlag)
{
- return;
+ printf ("\nElapsed time for major events\n\n");
}
- /* Delta will be in 100-nanosecond units */
+ for (i = 0; i < AslGbl_NextEvent; i++)
+ {
+ if (Event->Valid)
+ {
+ /* Delta will be in 100-nanosecond units */
- Delta = (UINT32) (Event->EndTime - Event->StartTime);
+ Delta = (UINT32) (Event->EndTime - Event->StartTime);
- USec = Delta / 10;
- MSec = Delta / 10000;
+ USec = Delta / 10;
+ MSec = Delta / 10000;
- /* Round milliseconds up */
+ /* Round milliseconds up */
- if ((USec - (MSec * 1000)) >= 500)
- {
- MSec++;
- }
+ if ((USec - (MSec * 1000)) >= 500)
+ {
+ MSec++;
+ }
+
+ DbgPrint (ASL_DEBUG_OUTPUT, "%8u usec %8u msec - %s\n",
+ USec, MSec, Event->EventName);
+
+ if (Gbl_CompileTimesFlag)
+ {
+ printf ("%8u usec %8u msec - %s\n",
+ USec, MSec, Event->EventName);
+ }
+ }
- DbgPrint (ASL_DEBUG_OUTPUT, "%8u usec %8u msec - %s\n",
- USec, MSec, Event->EventName);
+ Event++;
+ }
}
@@ -786,20 +810,12 @@ CmCleanupAndExit (
AePrintErrorLog (ASL_FILE_STDOUT);
}
- DbgPrint (ASL_DEBUG_OUTPUT, "\n\nElapsed time for major events\n\n");
- for (i = 0; i < AslGbl_NextEvent; i++)
- {
- CmDumpEvent (&AslGbl_Events[i]);
- }
+ /* Emit compile times if enabled */
+
+ CmDumpAllEvents ();
if (Gbl_CompileTimesFlag)
{
- printf ("\nElapsed time for major events\n\n");
- for (i = 0; i < AslGbl_NextEvent; i++)
- {
- CmDumpEvent (&AslGbl_Events[i]);
- }
-
printf ("\nMiscellaneous compile statistics\n\n");
printf ("%11u : %s\n", TotalParseNodes, "Parse nodes");
printf ("%11u : %s\n", Gbl_NsLookupCount, "Namespace searches");
diff --git a/source/compiler/aslerror.c b/source/compiler/aslerror.c
index cd0875d1ab3d..e00f5e40cd0e 100644
--- a/source/compiler/aslerror.c
+++ b/source/compiler/aslerror.c
@@ -341,7 +341,7 @@ AePrintException (
if (Gbl_VerboseErrors)
{
- fprintf (OutputFile, "%s %4.4d - ",
+ fprintf (OutputFile, "%s %4.4d -",
AslErrorLevel[Enode->Level],
Enode->MessageId + ((Enode->Level+1) * 1000));
}
diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c
index 64f391f4f0a8..bc5b52dcfe1d 100644
--- a/source/compiler/aslfiles.c
+++ b/source/compiler/aslfiles.c
@@ -754,7 +754,7 @@ FlOpenInputFile (
/* Open the input ASL file, text mode */
- FlOpenFile (ASL_FILE_INPUT, InputFilename, "r");
+ FlOpenFile (ASL_FILE_INPUT, InputFilename, "rt");
AslCompilerin = Gbl_Files[ASL_FILE_INPUT].Handle;
return (AE_OK);
@@ -838,7 +838,7 @@ FlOpenMiscOutputFiles (
/* Open the hex file, text mode */
- FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+t");
AslCompilerSignon (ASL_FILE_HEX_OUTPUT);
AslCompilerFileHeader (ASL_FILE_HEX_OUTPUT);
@@ -889,7 +889,7 @@ FlOpenMiscOutputFiles (
/* Open the listing file, text mode */
- FlOpenFile (ASL_FILE_LISTING_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_LISTING_OUTPUT, Filename, "w+t");
AslCompilerSignon (ASL_FILE_LISTING_OUTPUT);
AslCompilerFileHeader (ASL_FILE_LISTING_OUTPUT);
@@ -907,7 +907,7 @@ FlOpenMiscOutputFiles (
return (AE_ERROR);
}
- FlOpenFile (ASL_FILE_PREPROCESSOR, Filename, "w+b");
+ FlOpenFile (ASL_FILE_PREPROCESSOR, Filename, "w+t");
}
/* All done for data table compiler */
@@ -952,7 +952,7 @@ FlOpenMiscOutputFiles (
/* Open the assembly code source file, text mode */
- FlOpenFile (ASL_FILE_ASM_SOURCE_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_ASM_SOURCE_OUTPUT, Filename, "w+t");
AslCompilerSignon (ASL_FILE_ASM_SOURCE_OUTPUT);
AslCompilerFileHeader (ASL_FILE_ASM_SOURCE_OUTPUT);
@@ -972,7 +972,7 @@ FlOpenMiscOutputFiles (
/* Open the C code source file, text mode */
- FlOpenFile (ASL_FILE_C_SOURCE_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_C_SOURCE_OUTPUT, Filename, "w+t");
FlPrintFile (ASL_FILE_C_SOURCE_OUTPUT, "/*\n");
AslCompilerSignon (ASL_FILE_C_SOURCE_OUTPUT);
@@ -993,7 +993,7 @@ FlOpenMiscOutputFiles (
/* Open the assembly include file, text mode */
- FlOpenFile (ASL_FILE_ASM_INCLUDE_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_ASM_INCLUDE_OUTPUT, Filename, "w+t");
AslCompilerSignon (ASL_FILE_ASM_INCLUDE_OUTPUT);
AslCompilerFileHeader (ASL_FILE_ASM_INCLUDE_OUTPUT);
@@ -1013,7 +1013,7 @@ FlOpenMiscOutputFiles (
/* Open the C include file, text mode */
- FlOpenFile (ASL_FILE_C_INCLUDE_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_C_INCLUDE_OUTPUT, Filename, "w+t");
FlPrintFile (ASL_FILE_C_INCLUDE_OUTPUT, "/*\n");
AslCompilerSignon (ASL_FILE_C_INCLUDE_OUTPUT);
@@ -1034,7 +1034,7 @@ FlOpenMiscOutputFiles (
/* Open the namespace file, text mode */
- FlOpenFile (ASL_FILE_NAMESPACE_OUTPUT, Filename, "w+");
+ FlOpenFile (ASL_FILE_NAMESPACE_OUTPUT, Filename, "w+t");
AslCompilerSignon (ASL_FILE_NAMESPACE_OUTPUT);
AslCompilerFileHeader (ASL_FILE_NAMESPACE_OUTPUT);
diff --git a/source/compiler/asllookup.c b/source/compiler/asllookup.c
index 655f9833639a..6df64366b3bf 100644
--- a/source/compiler/asllookup.c
+++ b/source/compiler/asllookup.c
@@ -1098,7 +1098,7 @@ LkNamespaceLocateBegin (
if (Message)
{
- sprintf (MsgBuffer, "Tag: %u bit%s, Field: %u bit%s",
+ sprintf (MsgBuffer, "Size mismatch, Tag: %u bit%s, Field: %u bit%s",
TagBitLength, (TagBitLength > 1) ? "s" : "",
FieldBitLength, (FieldBitLength > 1) ? "s" : "");
diff --git a/source/compiler/aslmain.c b/source/compiler/aslmain.c
index ae288b374d17..0e3e34d2bd95 100644
--- a/source/compiler/aslmain.c
+++ b/source/compiler/aslmain.c
@@ -63,7 +63,7 @@ Options (
void);
static void
-HelpMessage (
+FilenameHelp (
void);
static void
@@ -170,27 +170,36 @@ Options (
ACPI_OPTION ("-g", "Get ACPI tables and write to files (*.dat)");
printf ("\nHelp:\n");
- ACPI_OPTION ("-h", "Additional help and compiler debug options");
+ ACPI_OPTION ("-h", "This message");
ACPI_OPTION ("-hc", "Display operators allowed in constant expressions");
+ ACPI_OPTION ("-hf", "Display help for output filename generation");
ACPI_OPTION ("-hr", "Display ACPI reserved method names");
ACPI_OPTION ("-ht", "Display currently supported ACPI table names");
+
+ printf ("\nDebug Options:\n");
+ ACPI_OPTION ("-bf -bt", "Create debug file (full or parse tree only) (*.txt)");
+ ACPI_OPTION ("-f", "Ignore errors, force creation of AML output file(s)");
+ ACPI_OPTION ("-n", "Parse only, no output generation");
+ ACPI_OPTION ("-ot", "Display compile times and statistics");
+ ACPI_OPTION ("-x <level>", "Set debug level for trace output");
+ ACPI_OPTION ("-z", "Do not insert new compiler ID for DataTables");
}
/*******************************************************************************
*
- * FUNCTION: HelpMessage
+ * FUNCTION: FilenameHelp
*
* PARAMETERS: None
*
* RETURN: None
*
- * DESCRIPTION: Display help message
+ * DESCRIPTION: Display help message for output filename generation
*
******************************************************************************/
static void
-HelpMessage (
+FilenameHelp (
void)
{
@@ -202,17 +211,6 @@ HelpMessage (
printf (" 2) The prefix of the AMLFileName in the ASL Definition Block\n");
printf (" 3) The prefix of the input filename\n");
printf ("\n");
-
- Options ();
-
- printf ("\nCompiler/Disassembler Debug Options:\n");
- ACPI_OPTION ("-bb -bp -bt", "Create compiler debug/trace file (*.txt)");
- ACPI_OPTION ("", "Types: Parse/Tree/Both");
- ACPI_OPTION ("-f", "Ignore errors, force creation of AML output file(s)");
- ACPI_OPTION ("-n", "Parse only, no output generation");
- ACPI_OPTION ("-ot", "Display compile times");
- ACPI_OPTION ("-x <level>", "Set debug level for trace output");
- ACPI_OPTION ("-z", "Do not insert new compiler ID for DataTables");
}
@@ -430,13 +428,7 @@ AslDoOptions (
case 'b': /* Debug output options */
switch (AcpiGbl_Optarg[0])
{
- case 'b':
- AslCompilerdebug = 1; /* same as yydebug */
- DtParserdebug = 1;
- PrParserdebug = 1;
- break;
-
- case 'p':
+ case 'f':
AslCompilerdebug = 1; /* same as yydebug */
DtParserdebug = 1;
PrParserdebug = 1;
@@ -530,13 +522,17 @@ AslDoOptions (
switch (AcpiGbl_Optarg[0])
{
case '^':
- HelpMessage ();
+ Usage ();
exit (0);
case 'c':
UtDisplayConstantOpcodes ();
exit (0);
+ case 'f':
+ FilenameHelp ();
+ exit (0);
+
case 'r':
/* reserved names */
diff --git a/source/compiler/aslsupport.l b/source/compiler/aslsupport.l
index 65dd19bf6992..2f739001bc7b 100644
--- a/source/compiler/aslsupport.l
+++ b/source/compiler/aslsupport.l
@@ -92,19 +92,23 @@ static void
AslDoLineDirective (
void)
{
- char c;
+ UINT8 c;
char *Token;
UINT32 LineNumber;
char *Filename;
+ UINT32 i;
/* Eat the entire line that contains the #line directive */
- while ((c = (char) input()) != '\n' && c != EOF)
+ Gbl_LineBufPtr = Gbl_CurrentLineBuffer;
+
+ while ((c = (UINT8) input()) != '\n' && c != EOF)
{
- AslInsertLineBuffer (c);
+ *Gbl_LineBufPtr = c;
+ Gbl_LineBufPtr++;
}
- AslInsertLineBuffer (0);
+ *Gbl_LineBufPtr = 0;
/* First argument is the actual line number */
@@ -114,10 +118,23 @@ AslDoLineDirective (
goto ResetAndExit;
}
- /* Convert line number. Subtract one to handle _this_ line */
+ /* First argument is the line number */
LineNumber = (UINT32) UtDoConstant (Token);
- FlSetLineNumber (LineNumber - 1);
+
+ /* Emit the appropriate number of newlines */
+
+ Gbl_CurrentColumn = 0;
+ if (LineNumber > Gbl_CurrentLineNumber)
+ {
+ for (i = 0; i < (LineNumber - Gbl_CurrentLineNumber); i++)
+ {
+ FlWriteFile (ASL_FILE_SOURCE_OUTPUT, "\n", 1);
+ Gbl_CurrentColumn++;
+ }
+ }
+
+ FlSetLineNumber (LineNumber);
/* Second argument is the optional filename (in double quotes) */
@@ -132,7 +149,12 @@ AslDoLineDirective (
/* Third argument is not supported at this time */
ResetAndExit:
- AslResetCurrentLineBuffer ();
+
+ /* Reset globals for a new line */
+
+ Gbl_CurrentLineOffset += Gbl_CurrentColumn;
+ Gbl_CurrentColumn = 0;
+ Gbl_LineBufPtr = Gbl_CurrentLineBuffer;
}
diff --git a/source/compiler/aslutils.c b/source/compiler/aslutils.c
index de8ad247a579..9cc109b66ea8 100644
--- a/source/compiler/aslutils.c
+++ b/source/compiler/aslutils.c
@@ -139,7 +139,7 @@ UtDisplaySupportedTables (
/*******************************************************************************
*
- * FUNCTION: AcpiPsDisplayConstantOpcodes
+ * FUNCTION: UtDisplayConstantOpcodes
*
* PARAMETERS: None
*
@@ -172,11 +172,11 @@ UtDisplayConstantOpcodes (
*
* FUNCTION: UtLocalCalloc
*
- * PARAMETERS: Size - Bytes to be allocated
+ * PARAMETERS: Size - Bytes to be allocated
*
- * RETURN: Pointer to the allocated memory. Guaranteed to be valid.
+ * RETURN: Pointer to the allocated memory. Guaranteed to be valid.
*
- * DESCRIPTION: Allocate zero-initialized memory. Aborts the compile on an
+ * DESCRIPTION: Allocate zero-initialized memory. Aborts the compile on an
* allocation failure, on the assumption that nothing more can be
* accomplished.
*
@@ -211,9 +211,9 @@ UtLocalCalloc (
*
* FUNCTION: UtBeginEvent
*
- * PARAMETERS: Name - Ascii name of this event
+ * PARAMETERS: Name - Ascii name of this event
*
- * RETURN: Event - Event number (integer index)
+ * RETURN: Event number (integer index)
*
* DESCRIPTION: Saves the current time with this event
*
@@ -244,7 +244,7 @@ UtBeginEvent (
*
* FUNCTION: UtEndEvent
*
- * PARAMETERS: Event - Event number (integer index)
+ * PARAMETERS: Event - Event number (integer index)
*
* RETURN: None
*
@@ -254,7 +254,7 @@ UtBeginEvent (
void
UtEndEvent (
- UINT8 Event)
+ UINT8 Event)
{
if (Event >= ASL_NUM_EVENTS)
@@ -272,7 +272,7 @@ UtEndEvent (
*
* FUNCTION: UtHexCharToValue
*
- * PARAMETERS: HexChar - Hex character in Ascii
+ * PARAMETERS: HexChar - Hex character in Ascii
*
* RETURN: The binary value of the hex character
*
@@ -303,12 +303,13 @@ UtHexCharToValue (
*
* FUNCTION: UtConvertByteToHex
*
- * PARAMETERS: RawByte - Binary data
- * Buffer - Pointer to where the hex bytes will be stored
+ * PARAMETERS: RawByte - Binary data
+ * Buffer - Pointer to where the hex bytes will be
+ * stored
*
* RETURN: Ascii hex byte is stored in Buffer.
*
- * DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
+ * DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
* with "0x"
*
******************************************************************************/
@@ -331,12 +332,13 @@ UtConvertByteToHex (
*
* FUNCTION: UtConvertByteToAsmHex
*
- * PARAMETERS: RawByte - Binary data
- * Buffer - Pointer to where the hex bytes will be stored
+ * PARAMETERS: RawByte - Binary data
+ * Buffer - Pointer to where the hex bytes will be
+ * stored
*
* RETURN: Ascii hex byte is stored in Buffer.
*
- * DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
+ * DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
* with "0x"
*
******************************************************************************/
@@ -358,13 +360,13 @@ UtConvertByteToAsmHex (
*
* FUNCTION: DbgPrint
*
- * PARAMETERS: Type - Type of output
- * Fmt - Printf format string
- * ... - variable printf list
+ * PARAMETERS: Type - Type of output
+ * Fmt - Printf format string
+ * ... - variable printf list
*
* RETURN: None
*
- * DESCRIPTION: Conditional print statement. Prints to stderr only if the
+ * DESCRIPTION: Conditional print statement. Prints to stderr only if the
* debug flag is set.
*
******************************************************************************/
@@ -438,7 +440,7 @@ UtPrintFormattedName (
*
* FUNCTION: UtSetParseOpName
*
- * PARAMETERS: Op
+ * PARAMETERS: Op - Parse op to be named.
*
* RETURN: None
*
@@ -460,7 +462,7 @@ UtSetParseOpName (
*
* FUNCTION: UtDisplaySummary
*
- * PARAMETERS: FileID - ID of outpout file
+ * PARAMETERS: FileID - ID of outpout file
*
* RETURN: None
*
@@ -571,11 +573,11 @@ UtDisplaySummary (
/*******************************************************************************
*
- * FUNCTION: UtDisplaySummary
+ * FUNCTION: UtCheckIntegerRange
*
- * PARAMETERS: Op - Integer parse node
- * LowValue - Smallest allowed value
- * HighValue - Largest allowed value
+ * PARAMETERS: Op - Integer parse node
+ * LowValue - Smallest allowed value
+ * HighValue - Largest allowed value
*
* RETURN: Op if OK, otherwise NULL
*
@@ -626,11 +628,11 @@ UtCheckIntegerRange (
*
* FUNCTION: UtGetStringBuffer
*
- * PARAMETERS: Length - Size of buffer requested
+ * PARAMETERS: Length - Size of buffer requested
*
- * RETURN: Pointer to the buffer. Aborts on allocation failure
+ * RETURN: Pointer to the buffer. Aborts on allocation failure
*
- * DESCRIPTION: Allocate a string buffer. Bypass the local
+ * DESCRIPTION: Allocate a string buffer. Bypass the local
* dynamic memory manager for performance reasons (This has a
* major impact on the speed of the compiler.)
*
@@ -661,8 +663,8 @@ UtGetStringBuffer (
*
* FUNCTION: UtInternalizeName
*
- * PARAMETERS: ExternalName - Name to convert
- * ConvertedName - Where the converted name is returned
+ * PARAMETERS: ExternalName - Name to convert
+ * ConvertedName - Where the converted name is returned
*
* RETURN: Status
*
@@ -714,8 +716,8 @@ UtInternalizeName (
*
* FUNCTION: UtPadNameWithUnderscores
*
- * PARAMETERS: NameSeg - Input nameseg
- * PaddedNameSeg - Output padded nameseg
+ * PARAMETERS: NameSeg - Input nameseg
+ * PaddedNameSeg - Output padded nameseg
*
* RETURN: Padded nameseg.
*
@@ -752,8 +754,8 @@ UtPadNameWithUnderscores (
*
* FUNCTION: UtAttachNameseg
*
- * PARAMETERS: Op - Parent parse node
- * Name - Full ExternalName
+ * PARAMETERS: Op - Parent parse node
+ * Name - Full ExternalName
*
* RETURN: None; Sets the NameSeg field in parent node
*
@@ -809,12 +811,12 @@ UtAttachNameseg (
*
* FUNCTION: UtAttachNamepathToOwner
*
- * PARAMETERS: Op - Parent parse node
- * NameOp - Node that contains the name
+ * PARAMETERS: Op - Parent parse node
+ * NameOp - Node that contains the name
*
* RETURN: Sets the ExternalName and Namepath in the parent node
*
- * DESCRIPTION: Store the name in two forms in the parent node: The original
+ * DESCRIPTION: Store the name in two forms in the parent node: The original
* (external) name, and the internalized name that is used within
* the ACPI namespace manager.
*
@@ -854,11 +856,11 @@ UtAttachNamepathToOwner (
*
* FUNCTION: UtDoConstant
*
- * PARAMETERS: String - Hex, Octal, or Decimal string
+ * PARAMETERS: String - Hex, Octal, or Decimal string
*
* RETURN: Converted Integer
*
- * DESCRIPTION: Convert a string to an integer. With error checking.
+ * DESCRIPTION: Convert a string to an integer, with error checking.
*
******************************************************************************/
@@ -889,10 +891,10 @@ UtDoConstant (
*
* FUNCTION: UtStrtoul64
*
- * PARAMETERS: String - Null terminated string
- * Terminater - Where a pointer to the terminating byte is
- * returned
- * Base - Radix of the string
+ * PARAMETERS: String - Null terminated string
+ * Terminater - Where a pointer to the terminating byte
+ * is returned
+ * Base - Radix of the string
*
* RETURN: Converted value
*
@@ -1072,5 +1074,3 @@ ErrorExit:
return (Status);
}
-
-
diff --git a/source/compiler/dttemplate.c b/source/compiler/dttemplate.c
index 27b032fa7b48..60844f030002 100644
--- a/source/compiler/dttemplate.c
+++ b/source/compiler/dttemplate.c
@@ -226,7 +226,7 @@ DtCreateAllTemplates (
}
/*
- * Create the "special ACPI tables:
+ * Create the special ACPI tables:
* 1) DSDT/SSDT are AML tables, not data tables
* 2) FACS and RSDP have non-standard headers
*/