diff options
author | Lionel Landwerlin <[email protected]> | 2018-08-23 19:01:47 +0100 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2019-03-08 11:01:14 +0000 |
commit | c619ea945d6f3f0b2dfc87616f0183a78fd42049 (patch) | |
tree | 673022463c58cbc93d79b5545ec402cff7cff44b | |
parent | ca0161f890cd9b22cbb1c830e835b549e3010e7b (diff) |
intel/error2aub: add a verbose option
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Rafael Antognolli <[email protected]>
-rw-r--r-- | src/intel/tools/error2aub.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/intel/tools/error2aub.c b/src/intel/tools/error2aub.c index e2dded29c2c..dd6717def58 100644 --- a/src/intel/tools/error2aub.c +++ b/src/intel/tools/error2aub.c @@ -231,16 +231,17 @@ int main(int argc, char *argv[]) { int i, c; - bool help = false; + bool help = false, verbose; char *out_filename = NULL, *in_filename = NULL; const struct option aubinator_opts[] = { { "help", no_argument, NULL, 'h' }, { "output", required_argument, NULL, 'o' }, + { "verbose", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; i = 0; - while ((c = getopt_long(argc, argv, "ho:", aubinator_opts, &i)) != -1) { + while ((c = getopt_long(argc, argv, "ho:v", aubinator_opts, &i)) != -1) { switch (c) { case 'h': help = true; @@ -248,6 +249,9 @@ main(int argc, char *argv[]) case 'o': out_filename = strdup(optarg); break; + case 'v': + verbose = true; + break; default: break; } @@ -306,6 +310,8 @@ main(int argc, char *argv[]) aub_file_init(&aub, aub_file, NULL, pci_id, "error_state"); + if (verbose) + aub.verbose_log_file = stdout; fail_if(!aub_use_execlists(&aub), "%s currently only works on gen8+\n", argv[0]); continue; @@ -423,6 +429,14 @@ main(int argc, char *argv[]) } } + if (verbose) { + fprintf(stdout, "BOs found:\n"); + list_for_each_entry(struct bo, bo_entry, &bo_list, link) { + fprintf(stdout, "\t type=%i addr=0x%016" PRIx64 " size=%" PRIu64 "\n", + bo_entry->type, bo_entry->addr, bo_entry->size); + } + } + /* Find the batch that trigger the hang */ struct bo *batch_bo = NULL; list_for_each_entry(struct bo, bo_entry, &bo_list, link) { |