Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.3-rc2 83 lines 1.1 kB view raw
1 2%parse-param {struct list_head *format} 3%parse-param {char *name} 4 5%{ 6 7#include <linux/compiler.h> 8#include <linux/list.h> 9#include <linux/bitmap.h> 10#include <string.h> 11#include "pmu.h" 12 13#define ABORT_ON(val) \ 14do { \ 15 if (val) \ 16 YYABORT; \ 17} while (0) 18 19%} 20 21%token PP_CONFIG 22%token PP_VALUE PP_ERROR 23%type <num> PP_VALUE 24%type <bits> bit_term 25%type <bits> bits 26 27%union 28{ 29 unsigned long num; 30 DECLARE_BITMAP(bits, PERF_PMU_FORMAT_BITS); 31} 32 33%% 34 35format: 36format format_term 37| 38format_term 39 40format_term: 41PP_CONFIG ':' bits 42{ 43 ABORT_ON(perf_pmu__new_format(format, name, 44 PERF_PMU_FORMAT_VALUE_CONFIG, 45 $3)); 46} 47| 48PP_CONFIG PP_VALUE ':' bits 49{ 50 ABORT_ON(perf_pmu__new_format(format, name, 51 $2, 52 $4)); 53} 54 55bits: 56bits ',' bit_term 57{ 58 bitmap_or($$, $1, $3, 64); 59} 60| 61bit_term 62{ 63 memcpy($$, $1, sizeof($1)); 64} 65 66bit_term: 67PP_VALUE '-' PP_VALUE 68{ 69 perf_pmu__set_format($$, $1, $3); 70} 71| 72PP_VALUE 73{ 74 perf_pmu__set_format($$, $1, 0); 75} 76 77%% 78 79void perf_pmu_error(struct list_head *list __maybe_unused, 80 char *name __maybe_unused, 81 char const *msg __maybe_unused) 82{ 83}