~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/util/pmu.y

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/perf/util/pmu.y (Version linux-6.12-rc7) and /tools/perf/util/pmu.y (Version linux-6.6.60)


  1 %define api.pure full                               1 %define api.pure full
  2 %parse-param {void *format}                         2 %parse-param {void *format}
  3 %parse-param {void *scanner}                        3 %parse-param {void *scanner}
  4 %lex-param {void* scanner}                          4 %lex-param {void* scanner}
  5                                                     5 
  6 %{                                                  6 %{
  7                                                     7 
  8 #ifndef NDEBUG                                 << 
  9 #define YYDEBUG 1                              << 
 10 #endif                                         << 
 11                                                << 
 12 #include <linux/compiler.h>                         8 #include <linux/compiler.h>
 13 #include <linux/list.h>                             9 #include <linux/list.h>
 14 #include <linux/bitmap.h>                          10 #include <linux/bitmap.h>
 15 #include <string.h>                                11 #include <string.h>
 16 #include "pmu.h"                                   12 #include "pmu.h"
 17 #include "pmu-bison.h"                             13 #include "pmu-bison.h"
 18                                                    14 
 19 int perf_pmu_lex(YYSTYPE * yylval_param , void     15 int perf_pmu_lex(YYSTYPE * yylval_param , void *yyscanner);
 20                                                    16 
 21 #define ABORT_ON(val) \                            17 #define ABORT_ON(val) \
 22 do { \                                             18 do { \
 23         if (val) \                                 19         if (val) \
 24                 YYABORT; \                         20                 YYABORT; \
 25 } while (0)                                        21 } while (0)
 26                                                    22 
 27 static void perf_pmu_error(void *format, void      23 static void perf_pmu_error(void *format, void *scanner, const char *msg);
 28                                                    24 
 29 static void perf_pmu__set_format(unsigned long     25 static void perf_pmu__set_format(unsigned long *bits, long from, long to)
 30 {                                                  26 {
 31         long b;                                    27         long b;
 32                                                    28 
 33         if (!to)                                   29         if (!to)
 34                 to = from;                         30                 to = from;
 35                                                    31 
 36         memset(bits, 0, BITS_TO_BYTES(PERF_PMU     32         memset(bits, 0, BITS_TO_BYTES(PERF_PMU_FORMAT_BITS));
 37         for (b = from; b <= to; b++)               33         for (b = from; b <= to; b++)
 38                 __set_bit(b, bits);                34                 __set_bit(b, bits);
 39 }                                                  35 }
 40                                                    36 
 41 %}                                                 37 %}
 42                                                    38 
 43 %token PP_CONFIG                                   39 %token PP_CONFIG
 44 %token PP_VALUE PP_ERROR                           40 %token PP_VALUE PP_ERROR
 45 %type <num> PP_VALUE                               41 %type <num> PP_VALUE
 46 %type <bits> bit_term                              42 %type <bits> bit_term
 47 %type <bits> bits                                  43 %type <bits> bits
 48                                                    44 
 49 %union                                             45 %union
 50 {                                                  46 {
 51         unsigned long num;                         47         unsigned long num;
 52         DECLARE_BITMAP(bits, PERF_PMU_FORMAT_B     48         DECLARE_BITMAP(bits, PERF_PMU_FORMAT_BITS);
 53 }                                                  49 }
 54                                                    50 
 55 %%                                                 51 %%
 56                                                    52 
 57 format:                                            53 format:
 58 format format_term                                 54 format format_term
 59 |                                                  55 |
 60 format_term                                        56 format_term
 61                                                    57 
 62 format_term:                                       58 format_term:
 63 PP_CONFIG ':' bits                                 59 PP_CONFIG ':' bits
 64 {                                                  60 {
 65         perf_pmu_format__set_value(format, PER     61         perf_pmu_format__set_value(format, PERF_PMU_FORMAT_VALUE_CONFIG, $3);
 66 }                                                  62 }
 67 |                                                  63 |
 68 PP_CONFIG PP_VALUE ':' bits                        64 PP_CONFIG PP_VALUE ':' bits
 69 {                                                  65 {
 70         perf_pmu_format__set_value(format, $2,     66         perf_pmu_format__set_value(format, $2, $4);
 71 }                                                  67 }
 72                                                    68 
 73 bits:                                              69 bits:
 74 bits ',' bit_term                                  70 bits ',' bit_term
 75 {                                                  71 {
 76         bitmap_or($$, $1, $3, 64);                 72         bitmap_or($$, $1, $3, 64);
 77 }                                                  73 }
 78 |                                                  74 |
 79 bit_term                                           75 bit_term
 80 {                                                  76 {
 81         memcpy($$, $1, sizeof($1));                77         memcpy($$, $1, sizeof($1));
 82 }                                                  78 }
 83                                                    79 
 84 bit_term:                                          80 bit_term:
 85 PP_VALUE '-' PP_VALUE                              81 PP_VALUE '-' PP_VALUE
 86 {                                                  82 {
 87         perf_pmu__set_format($$, $1, $3);          83         perf_pmu__set_format($$, $1, $3);
 88 }                                                  84 }
 89 |                                                  85 |
 90 PP_VALUE                                           86 PP_VALUE
 91 {                                                  87 {
 92         perf_pmu__set_format($$, $1, 0);           88         perf_pmu__set_format($$, $1, 0);
 93 }                                                  89 }
 94                                                    90 
 95 %%                                                 91 %%
 96                                                    92 
 97 static void perf_pmu_error(void *format __mayb     93 static void perf_pmu_error(void *format __maybe_unused,
 98                            void *scanner __may     94                            void *scanner __maybe_unused,
 99                            const char *msg __m     95                            const char *msg __maybe_unused)
100 {                                                  96 {
101 }                                                  97 }
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php