cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tsc.h (678B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __PERF_TSC_H
      3#define __PERF_TSC_H
      4
      5#include <linux/types.h>
      6
      7#include "event.h"
      8
      9struct perf_tsc_conversion {
     10	u16 time_shift;
     11	u32 time_mult;
     12	u64 time_zero;
     13	u64 time_cycles;
     14	u64 time_mask;
     15
     16	bool cap_user_time_zero;
     17	bool cap_user_time_short;
     18};
     19
     20struct perf_event_mmap_page;
     21
     22int perf_read_tsc_conversion(const struct perf_event_mmap_page *pc,
     23			     struct perf_tsc_conversion *tc);
     24
     25u64 perf_time_to_tsc(u64 ns, struct perf_tsc_conversion *tc);
     26u64 tsc_to_perf_time(u64 cyc, struct perf_tsc_conversion *tc);
     27u64 rdtsc(void);
     28
     29size_t perf_event__fprintf_time_conv(union perf_event *event, FILE *fp);
     30
     31#endif // __PERF_TSC_H