summaryrefslogtreecommitdiff
path: root/covoar/qemu-dump-trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'covoar/qemu-dump-trace.c')
-rw-r--r--covoar/qemu-dump-trace.c67
1 files changed, 0 insertions, 67 deletions
diff --git a/covoar/qemu-dump-trace.c b/covoar/qemu-dump-trace.c
deleted file mode 100644
index aeb93fd..0000000
--- a/covoar/qemu-dump-trace.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <stdint.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
-#include "qemu-traces.h"
-
-
-int dump_file(
- const char *name
-)
-{
- FILE *trace;
- struct trace_header header;
- struct trace_entry entry;
- size_t bytes;
- int instructions;
-
- trace = fopen( name, "r" );
- if ( !trace ) {
- perror( "unable to open trace file" );
- return -1;
- }
-
- bytes = fread( &header, sizeof(struct trace_header), 1, trace );
- if ( bytes != 1 ) {
- fprintf( stderr, "error reading header of %s (%s)\n",
- name, strerror(errno) );
- return -1;
- }
- printf( "magic = %s\n", header.magic );
- printf( "version = %d\n", header.version );
- printf( "kind = %d\n", header.kind );
- printf( "sizeof_target_pc = %d\n", header.sizeof_target_pc );
- printf( "big_endian = %d\n", header.big_endian );
- printf( "machine = %02x:%02x\n", header.machine[0], header.machine[1] );
-
- instructions = 0;
- while (1) {
- bytes = fread( &entry, sizeof(struct trace_entry), 1, trace );
- if ( bytes != 1 )
- break;
- instructions++;
- printf( "0x%08x %d 0x%2x\n", entry.pc, entry.size, entry.op );
- }
-
-
- fclose( trace );
- printf( "instructions = %d\n", instructions );
-
- return 0;
-
-}
-
-int main(
- int argc,
- char **argv
-)
-{
- int i;
-
- for (i=1 ; i<argc ; i++) {
- if ( dump_file( argv[i] ) )
- return -1;
- }
- return 0;
-}