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

pm-trace.h (940B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef PM_TRACE_H
      3#define PM_TRACE_H
      4
      5#include <linux/types.h>
      6#ifdef CONFIG_PM_TRACE
      7#include <asm/pm-trace.h>
      8
      9extern int pm_trace_enabled;
     10extern bool pm_trace_rtc_abused;
     11
     12static inline bool pm_trace_rtc_valid(void)
     13{
     14	return !pm_trace_rtc_abused;
     15}
     16
     17static inline int pm_trace_is_enabled(void)
     18{
     19       return pm_trace_enabled;
     20}
     21
     22struct device;
     23extern void set_trace_device(struct device *);
     24extern void generate_pm_trace(const void *tracedata, unsigned int user);
     25extern int show_trace_dev_match(char *buf, size_t size);
     26
     27#define TRACE_DEVICE(dev) do { \
     28	if (pm_trace_enabled) \
     29		set_trace_device(dev); \
     30	} while(0)
     31
     32#else
     33
     34static inline bool pm_trace_rtc_valid(void) { return true; }
     35static inline int pm_trace_is_enabled(void) { return 0; }
     36
     37#define TRACE_DEVICE(dev) do { } while (0)
     38#define TRACE_RESUME(dev) do { } while (0)
     39#define TRACE_SUSPEND(dev) do { } while (0)
     40
     41#endif
     42
     43#endif