aboutsummaryrefslogtreecommitdiff
path: root/source/tools
diff options
context:
space:
mode:
Diffstat (limited to 'source/tools')
-rw-r--r--source/tools/acpibin/abmain.c1
-rw-r--r--source/tools/acpixtract/acpixtract.h5
-rw-r--r--source/tools/acpixtract/axutils.c10
3 files changed, 12 insertions, 4 deletions
diff --git a/source/tools/acpibin/abmain.c b/source/tools/acpibin/abmain.c
index 35e533cf35eb..1cf18c6876cb 100644
--- a/source/tools/acpibin/abmain.c
+++ b/source/tools/acpibin/abmain.c
@@ -186,7 +186,6 @@ AbDisplayUsage (
ACPI_OPTION ("-a <File1> <File2>", "Compare two binary AML files, dump all mismatches");
ACPI_OPTION ("-c <File1> <File2>", "Compare two binary AML files, dump first 100 mismatches");
ACPI_OPTION ("-d <In> <Out>", "Dump AML binary to text file");
- ACPI_OPTION ("-e <Sig> <In> <Out>", "Extract binary AML table from acpidump file");
ACPI_OPTION ("-o <Value>", "Start comparison at this offset into second file");
ACPI_OPTION ("-h <File>", "Display table header for binary AML file");
ACPI_OPTION ("-s <File>", "Update checksum for binary AML file");
diff --git a/source/tools/acpixtract/acpixtract.h b/source/tools/acpixtract/acpixtract.h
index cd7b9553b589..88b16670ec10 100644
--- a/source/tools/acpixtract/acpixtract.h
+++ b/source/tools/acpixtract/acpixtract.h
@@ -193,8 +193,9 @@
#define AX_LINE_BUFFER_SIZE 256
#define AX_MIN_BLOCK_HEADER_LENGTH 6 /* strlen ("DSDT @") */
-#define AX_IS_TABLE_BLOCK_HEADER (strlen (Gbl_LineBuffer) < AX_END_OF_HEX_DATA) && (strstr (Gbl_LineBuffer, " @ "))
-#define AX_END_OF_HEX_DATA 55
+#define AX_HEX_DATA_LENGTH 49 /* (3 * 16) + 1 for the colon delimiter */
+#define AX_IS_TABLE_BLOCK_HEADER (strlen (Gbl_LineBuffer) < AX_HEX_DATA_LENGTH) && \
+ (strstr (Gbl_LineBuffer, " @ "))
typedef struct AxTableInfo
diff --git a/source/tools/acpixtract/axutils.c b/source/tools/acpixtract/axutils.c
index 6334189c7b3c..8fba70047f93 100644
--- a/source/tools/acpixtract/axutils.c
+++ b/source/tools/acpixtract/axutils.c
@@ -432,6 +432,7 @@ AxConvertToBinary (
char *InputLine,
unsigned char *OutputData)
{
+ char *ColonDelimiter;
int BytesConverted;
int Converted[16];
int i;
@@ -441,10 +442,17 @@ AxConvertToBinary (
* Terminate input line immediately after the data. Otherwise, the
* second line below will not scan correctly.
*
+ * This handles varying lengths for the offset: line prefix. This support
+ * for tables larger than 1mb was added 05/2018.
+ *
* 00b0: 03 00 00 00 43 48 41 36 0c 00 00 00 03 00 00 00 ....CHA6........
* 00c0: 43 48 41 37 CHA7
+ *
+ * 012340b0: 03 00 00 00 43 48 41 36 0c 00 00 00 03 00 00 00 ....CHA6........
+ * 012340c0: 43 48 41 37 CHA7
*/
- InputLine [AX_END_OF_HEX_DATA] = 0;
+ ColonDelimiter = strchr (InputLine, ':');
+ ColonDelimiter [AX_HEX_DATA_LENGTH] = 0;
/*
* Convert one line of table data, of the form: