diff options
Diffstat (limited to 'source/tools')
-rw-r--r-- | source/tools/acpibin/abmain.c | 1 | ||||
-rw-r--r-- | source/tools/acpixtract/acpixtract.h | 5 | ||||
-rw-r--r-- | source/tools/acpixtract/axutils.c | 10 |
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: |