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

init.h (1036B)


      1
      2#define __app__(x, y) str__##x##y
      3#define __app(x, y) __app__(x, y)
      4
      5#define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
      6
      7#define TRACE_MAKE_SYSTEM_STR()				\
      8	static const char TRACE_SYSTEM_STRING[] =	\
      9		__stringify(TRACE_SYSTEM)
     10
     11TRACE_MAKE_SYSTEM_STR();
     12
     13#undef TRACE_DEFINE_ENUM
     14#define TRACE_DEFINE_ENUM(a)				\
     15	static struct trace_eval_map __used __initdata	\
     16	__##TRACE_SYSTEM##_##a =			\
     17	{						\
     18		.system = TRACE_SYSTEM_STRING,		\
     19		.eval_string = #a,			\
     20		.eval_value = a				\
     21	};						\
     22	static struct trace_eval_map __used		\
     23	__section("_ftrace_eval_map")			\
     24	*TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a
     25
     26#undef TRACE_DEFINE_SIZEOF
     27#define TRACE_DEFINE_SIZEOF(a)				\
     28	static struct trace_eval_map __used __initdata	\
     29	__##TRACE_SYSTEM##_##a =			\
     30	{						\
     31		.system = TRACE_SYSTEM_STRING,		\
     32		.eval_string = "sizeof(" #a ")",	\
     33		.eval_value = sizeof(a)			\
     34	};						\
     35	static struct trace_eval_map __used		\
     36	__section("_ftrace_eval_map")			\
     37	*TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a