summaryrefslogtreecommitdiff
path: root/tools/intel_decode_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/intel_decode_file.c')
-rw-r--r--tools/intel_decode_file.c146
1 files changed, 0 insertions, 146 deletions
diff --git a/tools/intel_decode_file.c b/tools/intel_decode_file.c
deleted file mode 100644
index 9331e4e9..00000000
--- a/tools/intel_decode_file.c
+++ /dev/null
@@ -1,146 +0,0 @@
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include "intel_decode.h"
-
-static void
-read_data_text (const char *filename, uint32_t devid, int is_batch)
-{
- FILE *file;
- uint32_t *data = NULL;
- int data_size = 0, count = 0, line_number = 0, matched;
- char *line = NULL;
- size_t line_size;
- uint32_t offset, value;
- uint32_t gtt_offset = 0, new_gtt_offset;
- char *buffer_type = is_batch ? "batchbuffer" : "ringbuffer";
-
- file = fopen (filename, "r");
- if (file == NULL) {
- fprintf (stderr, "Failed to open %s: %s\n",
- filename, strerror (errno));
- exit (1);
- }
-
- while (getline (&line, &line_size, file) > 0) {
- line_number++;
-
- matched = sscanf (line, "--- gtt_offset = 0x%08x\n", &new_gtt_offset);
- if (matched == 1) {
- if (count) {
- printf("%s at 0x%08x:\n", buffer_type, gtt_offset);
- intel_decode (data, count, gtt_offset, devid, 0);
- count = 0;
- }
- gtt_offset = new_gtt_offset;
- continue;
- }
-
- matched = sscanf (line, "%08x : %08x", &offset, &value);
- if (matched !=2 ) {
- fprintf (stderr, "Warning: Ignoring unrecognized line at %s:%d:\n%s",
- filename, line_number, line);
- continue;
- }
-
- count++;
-
- if (count > data_size) {
- data_size = data_size ? data_size * 2 : 1024;
- data = realloc (data, data_size * sizeof (uint32_t));
- if (data == NULL) {
- fprintf (stderr, "Out of memory.\n");
- exit (1);
- }
- }
-
- data[count-1] = value;
- }
-
- if (count) {
- printf("%s at 0x%08x:\n", buffer_type, gtt_offset);
- intel_decode (data, count, gtt_offset, devid, 0);
- }
-
- free (data);
- free (line);
-
- fclose (file);
-}
-
-static int
-read_data_file (const char *filename, uint32_t devid, int is_batch)
-{
- FILE *file;
- uint32_t *buf;
- uint32_t len = 4096;
- int count = 0;
-
- buf = malloc (sizeof (uint32_t) * len);
- if (buf == NULL) {
- fprintf (stderr, "Failed to allocate memory for %s.\n",
- filename);
- return 0;
- }
-
- file = fopen (filename, "rb");
- if (file == NULL) {
- free (buf);
- fprintf (stderr, "Failed to open %s: %s\n",
- filename, strerror (errno));
- return 0;
- }
-
- do {
- uint32_t *newbuf;
-
- count += fread (buf + count, sizeof (uint32_t), len - count, file);
- if (count < len)
- break;
-
- len *= 2;
- newbuf = realloc (buf, len * sizeof (uint32_t));
- if (newbuf == NULL) {
- free (buf);
- fclose (file);
- fprintf (stderr, "Failed to allocate memory for %s.\n",
- filename);
- return 0;
- }
-
- buf = newbuf;
- } while (1);
-
- fclose (file);
-
- intel_decode (buf, count, 0x0, devid, 1);
- intel_decode_context_reset ();
- free (buf);
-
- return 1;
-}
-
-int
-main (int argc, char **argv)
-{
- int is_text = 0;
- int i;
- uint32_t devid =0x27A2;
-
- for (i = 1; i < argc; i++) {
- if (strncmp (argv[i], "--pci-id=", 9) == 0) {
- devid = atoi (argv[i] + 9);
- continue;
- }
-
- if (is_text)
- read_data_text (argv[i], devid, 1);
- else
- read_data_file (argv[i], devid, 1);
- }
-
- return 0;
-}