aboutsummaryrefslogtreecommitdiff
path: root/hw/pc.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-07-13 23:20:22 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-07-13 23:20:22 +0000
commit1dce7c3c2244a6f149e7afd7b1d84963ed57b7fd (patch)
tree692d4ec2e89b191c3900a0baaa98a9e8f7c31b22 /hw/pc.c
parenteffedbc915c51bf2f65818960671fef2bf8c54cf (diff)
new clock logic: cpu ticks and virtual clocks are no longer proportional - added timestamps on the stdio console
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2049 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 361f4bb934..898d0681e1 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -58,10 +58,19 @@ static void ioportF0_write(void *opaque, uint32_t addr, uint32_t data)
}
/* TSC handling */
-
uint64_t cpu_get_tsc(CPUX86State *env)
{
- return qemu_get_clock(vm_clock);
+ /* Note: when using kqemu, it is more logical to return the host TSC
+ because kqemu does not trap the RDTSC instruction for
+ performance reasons */
+#if USE_KQEMU
+ if (env->kqemu_enabled) {
+ return cpu_get_real_ticks();
+ } else
+#endif
+ {
+ return cpu_get_ticks();
+ }
}
/* IRQ handling */