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

pmu.l (571B)


      1%option prefix="perf_pmu_"
      2
      3%{
      4#include <stdlib.h>
      5#include <linux/bitops.h>
      6#include "pmu.h"
      7#include "pmu-bison.h"
      8
      9static int value(int base)
     10{
     11	long num;
     12
     13	errno = 0;
     14	num = strtoul(perf_pmu_text, NULL, base);
     15	if (errno)
     16		return PP_ERROR;
     17
     18	perf_pmu_lval.num = num;
     19	return PP_VALUE;
     20}
     21
     22%}
     23
     24num_dec         [0-9]+
     25
     26%%
     27
     28{num_dec}	{ return value(10); }
     29config		{ return PP_CONFIG; }
     30config1		{ return PP_CONFIG1; }
     31config2		{ return PP_CONFIG2; }
     32-		{ return '-'; }
     33:		{ return ':'; }
     34,		{ return ','; }
     35.		{ ; }
     36\n		{ ; }
     37
     38%%
     39
     40int perf_pmu_wrap(void)
     41{
     42	return 1;
     43}