aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2018-08-23 19:01:47 +0100
committerLionel Landwerlin <[email protected]>2019-03-08 11:01:14 +0000
commitc619ea945d6f3f0b2dfc87616f0183a78fd42049 (patch)
tree673022463c58cbc93d79b5545ec402cff7cff44b
parentca0161f890cd9b22cbb1c830e835b549e3010e7b (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.c18
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) {