summaryrefslogtreecommitdiff
path: root/encoding.h
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@eecs.berkeley.edu>2014-02-06 01:38:03 -0800
committerGravatar Andrew Waterman <waterman@eecs.berkeley.edu>2014-02-06 01:38:03 -0800
commit2cc2860d5e1992fe15449041834c2d4d39553622 (patch)
treebbce38046a25904a879405db360e743c58d37b31 /encoding.h
parent53cc1d5f2b8e9d87fc72132d7c962286967691ca (diff)
Reserve 16 uarch-specific read-only userspace counters
Diffstat (limited to 'encoding.h')
-rw-r--r--encoding.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/encoding.h b/encoding.h
index 319b72f..3900b16 100644
--- a/encoding.h
+++ b/encoding.h
@@ -77,10 +77,18 @@
asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "r"(bit)); \
__tmp; })
+#define rdtime() ({ unsigned long __tmp; \
+ asm volatile ("rdtime %0" : "=r"(__tmp)); \
+ __tmp; })
+
#define rdcycle() ({ unsigned long __tmp; \
asm volatile ("rdcycle %0" : "=r"(__tmp)); \
__tmp; })
+#define rdinstret() ({ unsigned long __tmp; \
+ asm volatile ("rdinstret %0" : "=r"(__tmp)); \
+ __tmp; })
+
#endif
#endif