~ [ 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 (Architecture sparc64) and /tools/perf/util/pmu.y (Architecture alpha)


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

~ [ 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