ROSS
aarch64.c
Go to the documentation of this file.
1 #include <ross.h>
2 
3 #ifndef __GNUC__
4 # error gcc asm extensions required
5 #endif
6 #if ! (defined(__aarch64__))
7 # error only aarch64 platform supported
8 #endif
9 
10 /*
11  * Does same stuff as the amd64, but uses cntvct_el0
12  */
13 static const tw_optdef clock_opts [] =
14 {
15  TWOPT_GROUP("ROSS Timing"),
16  TWOPT_ULONGLONG("clock-rate", g_tw_clock_rate, "CPU Clock Rate"),
17  TWOPT_END()
18 };
19 
21 {
22  return clock_opts;
23 }
24 
25 
26 
27 void
29 {
30  me->clock_time = 0;
32 }
33 
36 {
38  return me->clock_time;
39 }
unsigned long long g_tw_clock_rate
Definition: ross-global.c:98
void tw_clock_init(tw_pe *me)
Definition: aarch64.c:28
static tw_clock tw_clock_read(void)
Definition: aarch64.h:6
Holds the entire PE state.
Definition: ross-types.h:375
#define TWOPT_ULONGLONG(n, v, h)
Definition: tw-opts.h:29
const tw_optdef * tw_clock_setup(void)
Definition: aarch64.c:20
tw_clock tw_clock_now(tw_pe *me)
Definition: aarch64.c:35
tw_clock clock_offset
Initial clock value for this PE.
Definition: ross-types.h:396
tw_clock clock_time
Most recent clock value for this PE.
Definition: ross-types.h:397
static const tw_optdef clock_opts[]
Definition: aarch64.c:13
#define TWOPT_END()
Definition: tw-opts.h:35
uint64_t tw_clock
Definition: aarch64.h:4
#define TWOPT_GROUP(h)
Definition: tw-opts.h:27