diff options
author | Richard Henderson | 2010-04-13 01:19:26 +0200 |
---|---|---|
committer | Aurelien Jarno | 2010-04-27 05:50:42 +0200 |
commit | 14a6063a91083c9cbe1bc502ee58fc7ca146bc1a (patch) | |
tree | 2b1173e2f8fa42081d736d893031f3c9a142b42f /qemu-timer.h | |
parent | target-alpha: Implement RPCC. (diff) | |
download | qemu-14a6063a91083c9cbe1bc502ee58fc7ca146bc1a.tar.gz qemu-14a6063a91083c9cbe1bc502ee58fc7ca146bc1a.tar.xz qemu-14a6063a91083c9cbe1bc502ee58fc7ca146bc1a.zip |
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 |