aubinator: extract aubinator_init() out of the header handler function

A later patch will use the aubinator_init() function from the
memtrace aub header handler.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Scott D Phillips 2017-11-28 15:52:09 -08:00 committed by Jordan Justen
parent 4f0a2ff4c1
commit 8cdf5bd292

View 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;