aubinator: extract aubinator_init() out of the header handler function
authorScott D Phillips <scott.d.phillips@intel.com>
Tue, 28 Nov 2017 23:52:09 +0000 (15:52 -0800)
committerJordan Justen <jordan.l.justen@intel.com>
Tue, 9 Jan 2018 05:11:11 +0000 (21:11 -0800)
A later patch will use the aubinator_init() function from the
memtrace aub header handler.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/intel/tools/aubinator.c

index 46b0a47bcdd4cf20a9a6ddfe3ff63709d5a7d9b9..fcb46073f3086a7eaf7f10cf96868d623356f89f 100644 (file)
@@ -161,20 +161,8 @@ get_gen_batch_bo(void *user_data, uint64_t address)
 }
 
 static void
-handle_trace_header(uint32_t *p)
+aubinator_init(uint16_t aub_pci_id, const char *app_name)
 {
-   /* The intel_aubdump tool from IGT is kind enough to put a PCI-ID= tag in
-    * the AUB header comment.  If the user hasn't specified a hardware
-    * generation, try to use the one from the AUB file.
-    */
-   uint32_t *end = p + (p[0] & 0xffff) + 2;
-   int aub_pci_id = 0;
-   if (end > &p[12] && p[12] > 0)
-      sscanf((char *)&p[13], "PCI-ID=%i", &aub_pci_id);
-
-   if (pci_id == 0)
-      pci_id = aub_pci_id;
-
    if (!gen_get_device_info(pci_id, &devinfo)) {
       fprintf(stderr, "can't find device information: pci_id=0x%x\n", pci_id);
       exit(EXIT_FAILURE);
@@ -205,9 +193,6 @@ handle_trace_header(uint32_t *p)
    if (aub_pci_id)
       fprintf(outfile, "PCI ID:           0x%x\n", aub_pci_id);
 
-   char app_name[33];
-   strncpy(app_name, (char *)&p[2], 32);
-   app_name[32] = 0;
    fprintf(outfile, "Application name: %s\n", app_name);
 
    fprintf(outfile, "Decoding as:      %s\n", gen_get_device_name(pci_id));
@@ -216,6 +201,28 @@ handle_trace_header(uint32_t *p)
    fprintf(outfile, "\n");
 }
 
+static void
+handle_trace_header(uint32_t *p)
+{
+   /* The intel_aubdump tool from IGT is kind enough to put a PCI-ID= tag in
+    * the AUB header comment.  If the user hasn't specified a hardware
+    * generation, try to use the one from the AUB file.
+    */
+   uint32_t *end = p + (p[0] & 0xffff) + 2;
+   int aub_pci_id = 0;
+   if (end > &p[12] && p[12] > 0)
+      sscanf((char *)&p[13], "PCI-ID=%i", &aub_pci_id);
+
+   if (pci_id == 0)
+      pci_id = aub_pci_id;
+
+   char app_name[33];
+   strncpy(app_name, (char *)&p[2], 32);
+   app_name[32] = 0;
+
+   aubinator_init(aub_pci_id, app_name);
+}
+
 struct aub_file {
    FILE *stream;