diff options
Diffstat (limited to 'source/tools/acpibin')
| -rw-r--r-- | source/tools/acpibin/abcompare.c | 9 | ||||
| -rw-r--r-- | source/tools/acpibin/abmain.c | 17 | ||||
| -rw-r--r-- | source/tools/acpibin/acpibin.h | 2 |
3 files changed, 25 insertions, 3 deletions
diff --git a/source/tools/acpibin/abcompare.c b/source/tools/acpibin/abcompare.c index e21e29d852f4..3d99c602ba49 100644 --- a/source/tools/acpibin/abcompare.c +++ b/source/tools/acpibin/abcompare.c @@ -414,6 +414,7 @@ AbCompareAmlFiles ( { /* Display header information */ + printf ("Comparing %s to %s\n", File1Path, File2Path); AbPrintHeadersInfo (&Header1, &Header2); } @@ -425,6 +426,12 @@ AbCompareAmlFiles ( /* Do the byte-by-byte compare */ + printf ("Compare offset: %u\n", AbGbl_CompareOffset); + if (AbGbl_CompareOffset) + { + fseek (File2, AbGbl_CompareOffset, SEEK_CUR); + } + Actual1 = fread (&Char1, 1, 1, File1); Actual2 = fread (&Char2, 1, 1, File2); Offset = sizeof (ACPI_TABLE_HEADER); @@ -436,7 +443,7 @@ AbCompareAmlFiles ( printf ("Error - Byte mismatch at offset %8.4X: 0x%2.2X 0x%2.2X\n", Offset, Char1, Char2); Mismatches++; - if (Mismatches > 100) + if ((Mismatches > 100) && (!AbGbl_DisplayAllMiscompares)) { printf ("100 Mismatches: Too many mismatches\n"); goto Exit2; diff --git a/source/tools/acpibin/abmain.c b/source/tools/acpibin/abmain.c index 5334bc002a3a..ccc355c56c56 100644 --- a/source/tools/acpibin/abmain.c +++ b/source/tools/acpibin/abmain.c @@ -52,7 +52,7 @@ AbDisplayUsage ( #define AB_UTILITY_NAME "ACPI Binary Table Dump Utility" -#define AB_SUPPORTED_OPTIONS "c:d:h:s:tv" +#define AB_SUPPORTED_OPTIONS "a:c:d:h:o:s:tv" /****************************************************************************** @@ -75,9 +75,11 @@ AbDisplayUsage ( ACPI_USAGE_HEADER ("acpibin [options]"); - ACPI_OPTION ("-c <File1> <File2>", "Compare two binary AML files"); + 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"); ACPI_OPTION ("-t", "Terse mode"); @@ -120,6 +122,12 @@ main ( while ((j = AcpiGetopt (argc, argv, AB_SUPPORTED_OPTIONS)) != ACPI_OPT_END) switch(j) { + case 'a': /* Compare Files, display all differences */ + + AbGbl_DisplayAllMiscompares = TRUE; + + /* Fallthrough */ + case 'c': /* Compare Files */ if (argc < 4) @@ -153,6 +161,11 @@ main ( AbDisplayHeader (AcpiGbl_Optarg); return (0); + case 'o': + + AbGbl_CompareOffset = atoi (AcpiGbl_Optarg); + continue; + case 's': /* Compute/update checksum */ if (argc < 3) diff --git a/source/tools/acpibin/acpibin.h b/source/tools/acpibin/acpibin.h index 679f1a5538bc..dd5940f8c1fd 100644 --- a/source/tools/acpibin/acpibin.h +++ b/source/tools/acpibin/acpibin.h @@ -63,6 +63,8 @@ /* Globals */ EXTERN BOOLEAN INIT_GLOBAL (Gbl_TerseMode, FALSE); +EXTERN BOOLEAN INIT_GLOBAL (AbGbl_DisplayAllMiscompares, FALSE); +EXTERN UINT32 INIT_GLOBAL (AbGbl_CompareOffset, 0); /* Prototypes */ |
