diff options
author | Richard Henderson <rth@twiddle.net> | 2010-04-12 16:19:26 -0700 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-04-27 05:50:42 +0200 |
commit | 14a6063a91083c9cbe1bc502ee58fc7ca146bc1a (patch) | |
tree | 2b1173e2f8fa42081d736d893031f3c9a142b42f /qemu-timer.h | |
parent | 18f8e2c08bbd0dd8d32a3a536787076b8b958a4b (diff) |
Implement cpu_get_real_ticks for Alpha.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'qemu-timer.h')
-rw-r--r-- | qemu-timer.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/qemu-timer.h b/qemu-timer.h index 62da887584..1494f79406 100644 --- a/qemu-timer.h +++ b/qemu-timer.h @@ -209,6 +209,19 @@ static inline int64_t cpu_get_real_ticks(void) return (int64_t)(count * cyc_per_count); } +#elif defined(__alpha__) + +static inline int64_t cpu_get_real_ticks(void) +{ + uint64_t cc; + uint32_t cur, ofs; + + asm volatile("rpcc %0" : "=r"(cc)); + cur = cc; + ofs = cc >> 32; + return cur - ofs; +} + #else /* The host CPU doesn't have an easily accessible cycle counter. Just return a monotonically increasing value. This will be |