summaryrefslogtreecommitdiff
path: root/simpletrace.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2010-10-23 15:24:07 +0000
committerBlue Swirl <blauwirbel@gmail.com>2010-10-23 15:24:07 +0000
commitc57c846a80f9306aa2c6cf7efdef45ed42723fac (patch)
tree42fc65ee94c4c97e824b85c6d5b8b757fb2327aa /simpletrace.c
parent2b2e59e6c95beff2248069b2b129ba8c92c5f4d3 (diff)
downloadqemu-c57c846a80f9306aa2c6cf7efdef45ed42723fac.tar.gz
qemu-timer: move commonly used timer code to qemu-timer-common
Move timer init functions to a new file, qemu-timer-common.c. Make other critical timer functions inlined to preserve performance in qemu-timer.c, also move muldiv64() (used by the inline functions) to qemu-timer.h. Adjust block/raw-posix.c and simpletrace.c to use get_clock() directly. Remove a similar/duplicate definition in qemu-tool.c. Adjust hw/omap_clk.c to include qemu-timer.h because muldiv64() is used there. After this change, tracing can be used also for user code and simpletrace on Win32. Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Acked-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'simpletrace.c')
-rw-r--r--simpletrace.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/simpletrace.c b/simpletrace.c
index b488d51766..9ea0d1f984 100644
--- a/simpletrace.c
+++ b/simpletrace.c
@@ -12,6 +12,7 @@
#include <stdint.h>
#include <stdio.h>
#include <time.h>
+#include "qemu-timer.h"
#include "trace.h"
/** Trace file header event ID */
@@ -140,20 +141,13 @@ static void trace(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3,
uint64_t x4, uint64_t x5, uint64_t x6)
{
TraceRecord *rec = &trace_buf[trace_idx];
- struct timespec ts;
-
- /* TODO Windows? It would be good to use qemu-timer here but that isn't
- * linked into qemu-tools. Also we should avoid recursion in the tracing
- * code, therefore it is useful to be self-contained.
- */
- clock_gettime(CLOCK_MONOTONIC, &ts);
if (!trace_list[event].state) {
return;
}
rec->event = event;
- rec->timestamp_ns = ts.tv_sec * 1000000000LL + ts.tv_nsec;
+ rec->timestamp_ns = get_clock();
rec->x1 = x1;
rec->x2 = x2;
rec->x3 = x3;