|
Al Stone |
b61377 |
From f0d66bb3979a2bcba84027cb2d09f5de76fec9a4 Mon Sep 17 00:00:00 2001
|
|
Al Stone |
b61377 |
From: Sami Mujawar <sami.mujawar@arm.com>
|
|
Al Stone |
b61377 |
Date: Fri, 21 Apr 2017 17:07:03 +0100
|
|
Al Stone |
b61377 |
Subject: [PATCH] Add support for hex AML C header file generation
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
The iAsl compiler provides a list of options to support
|
|
Al Stone |
b61377 |
'Firmware Support - C Text Output'.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
One of the options, '-tc' supports generation of AML hex
|
|
Al Stone |
b61377 |
tables in C. This command generates a character array that
|
|
Al Stone |
b61377 |
represents the AML hex table data.
|
|
Al Stone |
b61377 |
e.g. unsigned char AmlCode[] = {
|
|
Al Stone |
b61377 |
// HEX AML data
|
|
Al Stone |
b61377 |
...
|
|
Al Stone |
b61377 |
};
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
However, there is no option to change the name of the
|
|
Al Stone |
b61377 |
generated character array (AmlCode) in the output hex file.
|
|
Al Stone |
b61377 |
This limits the ability to reference more than one table from
|
|
Al Stone |
b61377 |
the firmware code.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Also, the generated output does not have header file include
|
|
Al Stone |
b61377 |
guards. This is ideally desired if the hex file is to be
|
|
Al Stone |
b61377 |
included from a C source file.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
A solution to this is to modify the Hex C output such that
|
|
Al Stone |
b61377 |
the name of the array is derived from the input file name,
|
|
Al Stone |
b61377 |
and to add header file include guards.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
To address the above, without breaking existing implementations,
|
|
Al Stone |
b61377 |
a new option '-th' is introduced in the list of supported
|
|
Al Stone |
b61377 |
'Firmware Support - C Text Output' commands. This option
|
|
Al Stone |
b61377 |
generates an AML hex table output in a C header file suitable
|
|
Al Stone |
b61377 |
for including from a C source file.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
The '-th' option:
|
|
Al Stone |
b61377 |
1. Uses the input file name as a prefix for the generated
|
|
Al Stone |
b61377 |
C array name.
|
|
Al Stone |
b61377 |
e.g. 'unsigned char DadtAmlCode[]'
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
2. Adds a header file include guard.
|
|
Al Stone |
b61377 |
e.g.
|
|
Al Stone |
b61377 |
#ifndef DSDT_HEX_
|
|
Al Stone |
b61377 |
#define DSDT_HEX_
|
|
Al Stone |
b61377 |
...
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
unsigned char DadtAmlCode[] = {
|
|
Al Stone |
b61377 |
// HEX AML data
|
|
Al Stone |
b61377 |
...
|
|
Al Stone |
b61377 |
};
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
#endif // DSDT_HEX_
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Where Dadt.aml is the input file name.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Note: The header file include guard uses '<InputFileName>_HEX_'
|
|
Al Stone |
b61377 |
format instead of '<InputFileName>_H_' to avoid possible
|
|
Al Stone |
b61377 |
collision with an existing header guard.
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
|
|
Al Stone |
b61377 |
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Github-Location: https://github.com/acpica/acpica/pull/368/commits/f0d66bb3979a2bcba84027cb2d09f5de76fec9a4
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
---
|
|
Al Stone |
b61377 |
source/compiler/aslcompile.c | 12 +++-
|
|
Al Stone |
b61377 |
source/compiler/aslglobal.h | 1 +
|
|
Al Stone |
b61377 |
source/compiler/aslhelp.c | 1 +
|
|
Al Stone |
b61377 |
source/compiler/aslhex.c | 154 +++++++++++++++++++++++++++++++++++++++++++
|
|
Al Stone |
b61377 |
source/compiler/asloptions.c | 5 ++
|
|
Al Stone |
b61377 |
source/include/acapps.h | 6 ++
|
|
Al Stone |
b61377 |
6 files changed, 176 insertions(+), 3 deletions(-)
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/compiler/aslcompile.c
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/compiler/aslcompile.c
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/compiler/aslcompile.c
|
|
Al Stone |
b61377 |
@@ -436,7 +436,8 @@ AslCompilerSignon (
|
|
Al Stone |
b61377 |
Prefix = "; ";
|
|
Al Stone |
b61377 |
}
|
|
Al Stone |
b61377 |
else if ((Gbl_HexOutputFlag == HEX_OUTPUT_C) ||
|
|
Al Stone |
b61377 |
- (Gbl_HexOutputFlag == HEX_OUTPUT_ASL))
|
|
Al Stone |
b61377 |
+ (Gbl_HexOutputFlag == HEX_OUTPUT_ASL) ||
|
|
Al Stone |
b61377 |
+ (Gbl_HexOutputFlag == HEX_OUTPUT_H))
|
|
Al Stone |
b61377 |
{
|
|
Al Stone |
b61377 |
FlPrintFile (ASL_FILE_HEX_OUTPUT, "/*\n");
|
|
Al Stone |
b61377 |
Prefix = " * ";
|
|
Al Stone |
b61377 |
@@ -471,7 +472,11 @@ AslCompilerSignon (
|
|
Al Stone |
b61377 |
/* Compiler signon with copyright */
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
FlPrintFile (FileId, "%s\n", Prefix);
|
|
Al Stone |
b61377 |
- FlPrintFile (FileId, ACPI_COMMON_HEADER (UtilityName, Prefix));
|
|
Al Stone |
b61377 |
+ if (Gbl_HexOutputFlag == HEX_OUTPUT_H) {
|
|
Al Stone |
b61377 |
+ FlPrintFile (FileId, ACPI_COMMON_HEADER_NO_COPYRIGHT (UtilityName, Prefix));
|
|
Al Stone |
b61377 |
+ } else {
|
|
Al Stone |
b61377 |
+ FlPrintFile (FileId, ACPI_COMMON_HEADER (UtilityName, Prefix));
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
}
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
@@ -513,7 +518,8 @@ AslCompilerFileHeader (
|
|
Al Stone |
b61377 |
Prefix = "; ";
|
|
Al Stone |
b61377 |
}
|
|
Al Stone |
b61377 |
else if ((Gbl_HexOutputFlag == HEX_OUTPUT_C) ||
|
|
Al Stone |
b61377 |
- (Gbl_HexOutputFlag == HEX_OUTPUT_ASL))
|
|
Al Stone |
b61377 |
+ (Gbl_HexOutputFlag == HEX_OUTPUT_ASL) ||
|
|
Al Stone |
b61377 |
+ (Gbl_HexOutputFlag == HEX_OUTPUT_H))
|
|
Al Stone |
b61377 |
{
|
|
Al Stone |
b61377 |
Prefix = " * ";
|
|
Al Stone |
b61377 |
}
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/compiler/aslglobal.h
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/compiler/aslglobal.h
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/compiler/aslglobal.h
|
|
Al Stone |
b61377 |
@@ -220,6 +220,7 @@ ASL_EXTERN BOOLEAN ASL_
|
|
Al Stone |
b61377 |
#define HEX_OUTPUT_C 1
|
|
Al Stone |
b61377 |
#define HEX_OUTPUT_ASM 2
|
|
Al Stone |
b61377 |
#define HEX_OUTPUT_ASL 3
|
|
Al Stone |
b61377 |
+#define HEX_OUTPUT_H 4
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_HexOutputFlag, HEX_OUTPUT_NONE);
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/compiler/aslhelp.c
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/compiler/aslhelp.c
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/compiler/aslhelp.c
|
|
Al Stone |
b61377 |
@@ -121,6 +121,7 @@ Usage (
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
printf ("\nFirmware Support - C Text Output:\n");
|
|
Al Stone |
b61377 |
ACPI_OPTION ("-tc", "Create hex AML table in C (*.hex)");
|
|
Al Stone |
b61377 |
+ ACPI_OPTION ("-th", "Create hex AML table in C header (*.hex)");
|
|
Al Stone |
b61377 |
ACPI_OPTION ("-sc", "Create named hex AML arrays in C (*.c)");
|
|
Al Stone |
b61377 |
ACPI_OPTION ("-ic", "Create include file in C for -sc symbols (*.h)");
|
|
Al Stone |
b61377 |
ACPI_OPTION ("-so", "Create namespace AML offset table in C (*.offset.h)");
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/compiler/aslhex.c
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/compiler/aslhex.c
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/compiler/aslhex.c
|
|
Al Stone |
b61377 |
@@ -46,6 +46,10 @@
|
|
Al Stone |
b61377 |
#define _COMPONENT ACPI_COMPILER
|
|
Al Stone |
b61377 |
ACPI_MODULE_NAME ("ashex")
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+#ifndef PATH_MAX
|
|
Al Stone |
b61377 |
+#define PATH_MAX 256
|
|
Al Stone |
b61377 |
+#endif
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
/*
|
|
Al Stone |
b61377 |
* This module emits ASCII hex output files in either C, ASM, or ASL format
|
|
Al Stone |
b61377 |
*/
|
|
Al Stone |
b61377 |
@@ -64,6 +68,10 @@ static void
|
|
Al Stone |
b61377 |
HxDoHexOutputAsm (
|
|
Al Stone |
b61377 |
void);
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+static void
|
|
Al Stone |
b61377 |
+HxDoHexOutputH (
|
|
Al Stone |
b61377 |
+ void);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
static UINT32
|
|
Al Stone |
b61377 |
HxReadAmlOutputFile (
|
|
Al Stone |
b61377 |
UINT8 *Buffer);
|
|
Al Stone |
b61377 |
@@ -104,6 +112,11 @@ HxDoHexOutput (
|
|
Al Stone |
b61377 |
HxDoHexOutputAsl ();
|
|
Al Stone |
b61377 |
break;
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+ case HEX_OUTPUT_H:
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ HxDoHexOutputH ();
|
|
Al Stone |
b61377 |
+ break;
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
default:
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
/* No other output types supported */
|
|
Al Stone |
b61377 |
@@ -233,6 +246,147 @@ HxDoHexOutputC (
|
|
Al Stone |
b61377 |
}
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+/*******************************************************************************
|
|
Al Stone |
b61377 |
+*
|
|
Al Stone |
b61377 |
+* FUNCTION: HxDoHexOutputH
|
|
Al Stone |
b61377 |
+*
|
|
Al Stone |
b61377 |
+* PARAMETERS: None
|
|
Al Stone |
b61377 |
+*
|
|
Al Stone |
b61377 |
+* RETURN: None
|
|
Al Stone |
b61377 |
+*
|
|
Al Stone |
b61377 |
+* DESCRIPTION: Create the hex output file. This is the same data as the AML
|
|
Al Stone |
b61377 |
+* output file, but formatted into hex/ASCII bytes suitable for
|
|
Al Stone |
b61377 |
+* inclusion into a C source file.
|
|
Al Stone |
b61377 |
+*
|
|
Al Stone |
b61377 |
+******************************************************************************/
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+static void
|
|
Al Stone |
b61377 |
+HxDoHexOutputH (
|
|
Al Stone |
b61377 |
+ void)
|
|
Al Stone |
b61377 |
+{
|
|
Al Stone |
b61377 |
+ UINT8 FileData[HEX_TABLE_LINE_SIZE];
|
|
Al Stone |
b61377 |
+ UINT32 LineLength;
|
|
Al Stone |
b61377 |
+ UINT32 Offset = 0;
|
|
Al Stone |
b61377 |
+ UINT32 AmlFileSize;
|
|
Al Stone |
b61377 |
+ UINT32 i;
|
|
Al Stone |
b61377 |
+ UINT32 FileNamePrefixLength;
|
|
Al Stone |
b61377 |
+ char *DotPosition;
|
|
Al Stone |
b61377 |
+ char *InputFileName;
|
|
Al Stone |
b61377 |
+ char *NamePosition;
|
|
Al Stone |
b61377 |
+ char *FileNameEndPosition;
|
|
Al Stone |
b61377 |
+ char FileNamePrefix[PATH_MAX];
|
|
Al Stone |
b61377 |
+ char FileGuard[PATH_MAX];
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /* Get AML size, seek back to start */
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ AmlFileSize = FlGetFileSize (ASL_FILE_AML_OUTPUT);
|
|
Al Stone |
b61377 |
+ FlSeekFile (ASL_FILE_AML_OUTPUT, 0);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /*
|
|
Al Stone |
b61377 |
+ * Find the filename and use it as a prefix for
|
|
Al Stone |
b61377 |
+ * the AML code array and the header file guard
|
|
Al Stone |
b61377 |
+ */
|
|
Al Stone |
b61377 |
+ InputFileName = Gbl_Files[ASL_FILE_INPUT].Filename;
|
|
Al Stone |
b61377 |
+ FileNameEndPosition = InputFileName + strlen (InputFileName);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ NamePosition = strrchr (InputFileName, '/');
|
|
Al Stone |
b61377 |
+ if (NamePosition == NULL) {
|
|
Al Stone |
b61377 |
+ /* '/' not found. This means the input file name
|
|
Al Stone |
b61377 |
+ * does not contain the path and is in the current
|
|
Al Stone |
b61377 |
+ * directory.
|
|
Al Stone |
b61377 |
+ */
|
|
Al Stone |
b61377 |
+ NamePosition = InputFileName;
|
|
Al Stone |
b61377 |
+ } else {
|
|
Al Stone |
b61377 |
+ /* '/' was found. So move to the next character
|
|
Al Stone |
b61377 |
+ * which is the name of the input file.
|
|
Al Stone |
b61377 |
+ */
|
|
Al Stone |
b61377 |
+ NamePosition++;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /* Get the file name without the extension to use
|
|
Al Stone |
b61377 |
+ * as a prefix.
|
|
Al Stone |
b61377 |
+ */
|
|
Al Stone |
b61377 |
+ DotPosition = strrchr (NamePosition, '.');
|
|
Al Stone |
b61377 |
+ if (DotPosition) {
|
|
Al Stone |
b61377 |
+ /* No dot or suffix */
|
|
Al Stone |
b61377 |
+ FileNameEndPosition = DotPosition;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ FileNamePrefixLength = FileNameEndPosition - NamePosition;
|
|
Al Stone |
b61377 |
+ if (FileNamePrefixLength > (PATH_MAX - 1)) {
|
|
Al Stone |
b61377 |
+ AslError (ASL_ERROR, ASL_MSG_STRING_LENGTH, NULL, ": Input file name too long.");
|
|
Al Stone |
b61377 |
+ return;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ strncpy (FileNamePrefix, NamePosition, FileNamePrefixLength);
|
|
Al Stone |
b61377 |
+ /* NULL terminate the string */
|
|
Al Stone |
b61377 |
+ FileNamePrefix[FileNamePrefixLength] = '\0';
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ if (strrchr (FileNamePrefix, ' ')) {
|
|
Al Stone |
b61377 |
+ AslError (ASL_ERROR, ASL_MSG_SYNTAX, NULL, "Input file name has space.");
|
|
Al Stone |
b61377 |
+ return;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ strcpy (FileGuard, FileNamePrefix);
|
|
Al Stone |
b61377 |
+ AcpiUtStrupr (FileGuard);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /* Generate the hex output. */
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, " * C header code output\n");
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, " * AML code block contains 0x%X bytes\n *\n */\n",
|
|
Al Stone |
b61377 |
+ AmlFileSize);
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "\n");
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "#ifndef %s_HEX_\n", FileGuard);
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "#define %s_HEX_\n", FileGuard);
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "\n");
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "unsigned char %sAmlCode[] =\n{\n", FileNamePrefix);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ while (Offset < AmlFileSize) {
|
|
Al Stone |
b61377 |
+ /* Read enough bytes needed for one output line */
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ LineLength = HxReadAmlOutputFile (FileData);
|
|
Al Stone |
b61377 |
+ if (!LineLength) {
|
|
Al Stone |
b61377 |
+ break;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, " ");
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ for (i = 0; i < LineLength; i++) {
|
|
Al Stone |
b61377 |
+ /*
|
|
Al Stone |
b61377 |
+ * Print each hex byte.
|
|
Al Stone |
b61377 |
+ * Add a comma until the very last byte of the AML file
|
|
Al Stone |
b61377 |
+ * (Some C compilers complain about a trailing comma)
|
|
Al Stone |
b61377 |
+ */
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "0x%2.2X", FileData[i]);
|
|
Al Stone |
b61377 |
+ if ((Offset + i + 1) < AmlFileSize) {
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, ",");
|
|
Al Stone |
b61377 |
+ } else {
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, " ");
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /* Add fill spaces if needed for last line */
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ if (LineLength < HEX_TABLE_LINE_SIZE) {
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "%*s",
|
|
Al Stone |
b61377 |
+ 5 * (HEX_TABLE_LINE_SIZE - LineLength), " ");
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ /* Emit the offset and ASCII dump for the entire line */
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, " /* %8.8X", Offset);
|
|
Al Stone |
b61377 |
+ LsDumpAsciiInComment (ASL_FILE_HEX_OUTPUT, LineLength, FileData);
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "%*s*/\n",
|
|
Al Stone |
b61377 |
+ HEX_TABLE_LINE_SIZE - LineLength + 1, " ");
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ Offset += LineLength;
|
|
Al Stone |
b61377 |
+ }
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "};\n");
|
|
Al Stone |
b61377 |
+ FlPrintFile (ASL_FILE_HEX_OUTPUT, "\n#endif // %s_HEX_\n", FileGuard);
|
|
Al Stone |
b61377 |
+}
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
/*******************************************************************************
|
|
Al Stone |
b61377 |
*
|
|
Al Stone |
b61377 |
* FUNCTION: HxDoHexOutputAsl
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/compiler/asloptions.c
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/compiler/asloptions.c
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/compiler/asloptions.c
|
|
Al Stone |
b61377 |
@@ -734,6 +734,11 @@ AslDoOptions (
|
|
Al Stone |
b61377 |
Gbl_HexOutputFlag = HEX_OUTPUT_ASL;
|
|
Al Stone |
b61377 |
break;
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+ case 'h':
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
+ Gbl_HexOutputFlag = HEX_OUTPUT_H;
|
|
Al Stone |
b61377 |
+ break;
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
default:
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
printf ("Unknown option: -t%s\n", AcpiGbl_Optarg);
|
|
Al Stone |
b61377 |
Index: acpica-unix2-20180209/source/include/acapps.h
|
|
Al Stone |
b61377 |
===================================================================
|
|
Al Stone |
b61377 |
--- acpica-unix2-20180209.orig/source/include/acapps.h
|
|
Al Stone |
b61377 |
+++ acpica-unix2-20180209/source/include/acapps.h
|
|
Al Stone |
b61377 |
@@ -80,6 +80,12 @@
|
|
Al Stone |
b61377 |
Prefix, ACPICA_COPYRIGHT, \
|
|
Al Stone |
b61377 |
Prefix
|
|
Al Stone |
b61377 |
|
|
Al Stone |
b61377 |
+#define ACPI_COMMON_HEADER_NO_COPYRIGHT(UtilityName, Prefix) \
|
|
Al Stone |
b61377 |
+ "%s%s\n%s%s version %8.8X%s\n%s\n", \
|
|
Al Stone |
b61377 |
+ Prefix, ACPICA_NAME, \
|
|
Al Stone |
b61377 |
+ Prefix, UtilityName, ((UINT32) ACPI_CA_VERSION), ACPI_WIDTH, \
|
|
Al Stone |
b61377 |
+ Prefix
|
|
Al Stone |
b61377 |
+
|
|
Al Stone |
b61377 |
#define ACPI_COMMON_BUILD_TIME \
|
|
Al Stone |
b61377 |
"Build date/time: %s %s\n", __DATE__, __TIME__
|
|
Al Stone |
b61377 |
|