From 2cc2860d5e1992fe15449041834c2d4d39553622 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 6 Feb 2014 01:38:03 -0800 Subject: Reserve 16 uarch-specific read-only userspace counters --- encoding.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'encoding.h') 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 -- cgit v1.2.3