From 5f1ce9487c7ab600433d6ebf059b45adad267c27 Mon Sep 17 00:00:00 2001 From: bellard Date: Wed, 8 Feb 2006 22:40:15 +0000 Subject: support for builtin profiler git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1751 c046a42c-6fe2-441c-8c8c-71466251a162 --- cpu-all.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'cpu-all.h') diff --git a/cpu-all.h b/cpu-all.h index b374fe86b0..e0b60d96d9 100644 --- a/cpu-all.h +++ b/cpu-all.h @@ -867,4 +867,24 @@ void cpu_tlb_update_dirty(CPUState *env); void dump_exec_info(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...)); +/* profiling */ +#ifdef CONFIG_PROFILER +static inline int64_t profile_getclock(void) +{ + int64_t val; + asm volatile ("rdtsc" : "=A" (val)); + return val; +} + +extern int64_t kqemu_time, kqemu_time_start; +extern int64_t qemu_time, qemu_time_start; +extern int64_t tlb_flush_time; +extern int64_t kqemu_exec_count; +extern int64_t dev_time; +extern int64_t kqemu_ret_int_count; +extern int64_t kqemu_ret_excp_count; +extern int64_t kqemu_ret_intr_count; + +#endif + #endif /* CPU_ALL_H */ -- cgit v1.2.3