diff options
Diffstat (limited to 'covoar/qemu-traces.h')
-rw-r--r-- | covoar/qemu-traces.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/covoar/qemu-traces.h b/covoar/qemu-traces.h deleted file mode 100644 index 7e37840..0000000 --- a/covoar/qemu-traces.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * QEMU System Emulator - * - * Copyright (C) 2009, AdaCore - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - * Qemu trace file format. - * It requires proper definition for uintXX_t where XX is 8, 16, 32 and 64 - * and target_ulong (32 or 64 bits). - */ - -#ifndef QEMU_TRACE_H -#define QEMU_TRACE_H - -/* XXX really not always right */ -/* XXX Added for covoar so this compiles */ -typedef uint32_t target_ulong; - -/* File header definition. */ -struct trace_header -{ - char magic[12]; -#define QEMU_TRACE_MAGIC "#QEMU-Traces" - - uint8_t version; -#define QEMU_TRACE_VERSION 1 - - /* File kind. */ - uint8_t kind; -#define QEMU_TRACE_KIND_RAW 0 -#define QEMU_TRACE_KIND_HISTORY 1 -#define QEMU_TRACE_KIND_INFO 2 -#define QEMU_TRACE_KIND_DECISION_MAP 3 -#define QEMU_TRACE_KIND_CONSOLIDATED 248 - - /* Sizeof (target_pc). Indicates struct trace_entry length. */ - uint8_t sizeof_target_pc; - - /* True if host was big endian. All the trace data used the host - endianness. */ - uint8_t big_endian; - - /* Target machine (use ELF number) - always in big endian. */ - uint8_t machine[2]; - - uint16_t _pad; -}; - -/* Header is followed by trace entries. */ -struct trace_entry -{ - target_ulong pc; - uint16_t size; - uint8_t op; -}; - -struct trace_entry32 -{ - uint32_t pc; - uint16_t size; - uint8_t op; - uint8_t _pad[1]; -}; - -struct trace_entry64 -{ - uint64_t pc; - uint16_t size; - uint8_t op; - uint8_t _pad[5]; -}; - -/* - * Trace operations for RAW and HISTORY - */ - -/* _BLOCK means pc .. pc+size-1 was executed. */ -#define TRACE_OP_BLOCK 0x10 /* Block fully executed. */ -#define TRACE_OP_FAULT 0x20 /* Fault at pc. */ -#define TRACE_OP_DYN 0x40 /* Dynamic branch. */ -#define TRACE_OP_BR0 0x01 /* Branch taken "in direction 0". */ -#define TRACE_OP_BR1 0x02 /* Branch taken "in direction 1". */ -#define TRACE_OP_BR2 0x04 -#define TRACE_OP_BR3 0x08 - -/* - * Decision map operations - */ -#define TRACE_OP_TRACE_CONDITIONAL 1 -/* Trace conditional jump instruction at address */ - -extern struct trace_entry *trace_current; -extern int tracefile_enabled; -extern int tracefile_nobuf; -extern int tracefile_history; - -void trace_init (const char *optarg); -void trace_push_entry (void); - -#endif /* QEMU_TRACE_H */ |