ROSS
amd64.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(__amd64__) || defined(__x86_64__))
7# error only amd64 platform supported
8#endif
9
10/*
11 * Our function below calls the "rdtsc" x86 assembly language function
12 * to obtain the current clock cycle value.
13 */
14static const tw_optdef clock_opts [] =
15{
16 TWOPT_GROUP("ROSS Timing"),
17 TWOPT_ULONGLONG("clock-rate", g_tw_clock_rate, "CPU Clock Rate"),
18 TWOPT_END()
19};
20
22{
23 return clock_opts;
24}
25
26
27
28void
30{
31 me->clock_time = 0;
33}
34
37{
39 return me->clock_time;
40}
static const tw_optdef clock_opts[]
Definition aarch64.c:13
tw_clock tw_clock_now(tw_pe *me)
Definition amd64.c:36
const tw_optdef * tw_clock_setup(void)
Definition amd64.c:21
void tw_clock_init(tw_pe *me)
Definition amd64.c:29
static tw_clock tw_clock_read(void)
Definition aarch64.h:8
uint64_t tw_clock
Definition aarch64.h:6
unsigned long long g_tw_clock_rate
#define TWOPT_GROUP(h)
Definition tw-opts.h:30
#define TWOPT_ULONGLONG(n, v, h)
Definition tw-opts.h:32
#define TWOPT_END()
Definition tw-opts.h:39
Holds the entire PE state.
Definition ross-types.h:416
tw_clock clock_offset
Initial clock value for this PE.
Definition ross-types.h:437
tw_clock clock_time
Most recent clock value for this PE.
Definition ross-types.h:438