@@ -100,12 +100,12 @@ do { \
100
100
yyless (0 ); \
101
101
} while (0 )
102
102
103
- static int sym (yyscan_t scanner, int type, int config)
103
+ static int sym (yyscan_t scanner, int config)
104
104
{
105
105
YYSTYPE *yylval = parse_events_get_lval (scanner);
106
106
107
- yylval->num = (type << 16 ) + config;
108
- return type == PERF_TYPE_HARDWARE ? PE_VALUE_SYM_HW : PE_VALUE_SYM_SW;
107
+ yylval->num = config;
108
+ return PE_VALUE_SYM_SW;
109
109
}
110
110
111
111
static int tool (yyscan_t scanner, enum perf_tool_event event)
@@ -124,13 +124,13 @@ static int term(yyscan_t scanner, enum parse_events__term_type type)
124
124
return PE_TERM;
125
125
}
126
126
127
- static int hw_term (yyscan_t scanner, int config)
127
+ static int hw (yyscan_t scanner, int config)
128
128
{
129
129
YYSTYPE *yylval = parse_events_get_lval (scanner);
130
130
char *text = parse_events_get_text (scanner);
131
131
132
- yylval->hardware_term .str = strdup (text);
133
- yylval->hardware_term .num = PERF_TYPE_HARDWARE + config;
132
+ yylval->hardware_event .str = strdup (text);
133
+ yylval->hardware_event .num = config;
134
134
return PE_TERM_HW;
135
135
}
136
136
@@ -246,16 +246,16 @@ percore { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_PERCORE); }
246
246
aux-output { return term (yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_OUTPUT); }
247
247
aux-sample-size { return term (yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_SAMPLE_SIZE); }
248
248
metric-id { return term (yyscanner, PARSE_EVENTS__TERM_TYPE_METRIC_ID); }
249
- cpu-cycles| cycles { return hw_term (yyscanner, PERF_COUNT_HW_CPU_CYCLES); }
250
- stalled-cycles-frontend| idle-cycles-frontend { return hw_term (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); }
251
- stalled-cycles-backend| idle-cycles-backend { return hw_term (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_BACKEND); }
252
- instructions { return hw_term (yyscanner, PERF_COUNT_HW_INSTRUCTIONS); }
253
- cache-references { return hw_term (yyscanner, PERF_COUNT_HW_CACHE_REFERENCES); }
254
- cache-misses { return hw_term (yyscanner, PERF_COUNT_HW_CACHE_MISSES); }
255
- branch-instructions| branches { return hw_term (yyscanner, PERF_COUNT_HW_BRANCH_INSTRUCTIONS); }
256
- branch-misses { return hw_term (yyscanner, PERF_COUNT_HW_BRANCH_MISSES); }
257
- bus-cycles { return hw_term (yyscanner, PERF_COUNT_HW_BUS_CYCLES); }
258
- ref-cycles { return hw_term (yyscanner, PERF_COUNT_HW_REF_CPU_CYCLES); }
249
+ cpu-cycles| cycles { return hw (yyscanner, PERF_COUNT_HW_CPU_CYCLES); }
250
+ stalled-cycles-frontend| idle-cycles-frontend { return hw (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); }
251
+ stalled-cycles-backend| idle-cycles-backend { return hw (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_BACKEND); }
252
+ instructions { return hw (yyscanner, PERF_COUNT_HW_INSTRUCTIONS); }
253
+ cache-references { return hw (yyscanner, PERF_COUNT_HW_CACHE_REFERENCES); }
254
+ cache-misses { return hw (yyscanner, PERF_COUNT_HW_CACHE_MISSES); }
255
+ branch-instructions| branches { return hw (yyscanner, PERF_COUNT_HW_BRANCH_INSTRUCTIONS); }
256
+ branch-misses { return hw (yyscanner, PERF_COUNT_HW_BRANCH_MISSES); }
257
+ bus-cycles { return hw (yyscanner, PERF_COUNT_HW_BUS_CYCLES); }
258
+ ref-cycles { return hw (yyscanner, PERF_COUNT_HW_REF_CPU_CYCLES); }
259
259
r{num_raw_hex } { return str (yyscanner, PE_RAW); }
260
260
r0x{num_raw_hex } { return str (yyscanner, PE_RAW); }
261
261
, { return ' ,' ; }
@@ -299,31 +299,31 @@ r0x{num_raw_hex} { return str(yyscanner, PE_RAW); }
299
299
<<EOF>> { BEGIN (INITIAL); }
300
300
}
301
301
302
- cpu-cycles| cycles { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_CPU_CYCLES); }
303
- stalled-cycles-frontend| idle-cycles-frontend { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); }
304
- stalled-cycles-backend| idle-cycles-backend { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_STALLED_CYCLES_BACKEND); }
305
- instructions { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_INSTRUCTIONS); }
306
- cache-references { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_CACHE_REFERENCES); }
307
- cache-misses { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_CACHE_MISSES); }
308
- branch-instructions| branches { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_BRANCH_INSTRUCTIONS); }
309
- branch-misses { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_BRANCH_MISSES); }
310
- bus-cycles { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_BUS_CYCLES); }
311
- ref-cycles { return sym (yyscanner, PERF_TYPE_HARDWARE , PERF_COUNT_HW_REF_CPU_CYCLES); }
312
- cpu-clock { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_CLOCK); }
313
- task-clock { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_TASK_CLOCK); }
314
- page-faults| faults { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS); }
315
- minor-faults { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MIN); }
316
- major-faults { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_PAGE_FAULTS_MAJ); }
317
- context-switches| cs { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CONTEXT_SWITCHES); }
318
- cpu-migrations| migrations { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CPU_MIGRATIONS); }
319
- alignment-faults { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_ALIGNMENT_FAULTS); }
320
- emulation-faults { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_EMULATION_FAULTS); }
321
- dummy { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_DUMMY); }
302
+ cpu-cycles| cycles { return hw (yyscanner, PERF_COUNT_HW_CPU_CYCLES); }
303
+ stalled-cycles-frontend| idle-cycles-frontend { return hw (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); }
304
+ stalled-cycles-backend| idle-cycles-backend { return hw (yyscanner, PERF_COUNT_HW_STALLED_CYCLES_BACKEND); }
305
+ instructions { return hw (yyscanner, PERF_COUNT_HW_INSTRUCTIONS); }
306
+ cache-references { return hw (yyscanner, PERF_COUNT_HW_CACHE_REFERENCES); }
307
+ cache-misses { return hw (yyscanner, PERF_COUNT_HW_CACHE_MISSES); }
308
+ branch-instructions| branches { return hw (yyscanner, PERF_COUNT_HW_BRANCH_INSTRUCTIONS); }
309
+ branch-misses { return hw (yyscanner, PERF_COUNT_HW_BRANCH_MISSES); }
310
+ bus-cycles { return hw (yyscanner, PERF_COUNT_HW_BUS_CYCLES); }
311
+ ref-cycles { return hw (yyscanner, PERF_COUNT_HW_REF_CPU_CYCLES); }
312
+ cpu-clock { return sym (yyscanner, PERF_COUNT_SW_CPU_CLOCK); }
313
+ task-clock { return sym (yyscanner, PERF_COUNT_SW_TASK_CLOCK); }
314
+ page-faults| faults { return sym (yyscanner, PERF_COUNT_SW_PAGE_FAULTS); }
315
+ minor-faults { return sym (yyscanner, PERF_COUNT_SW_PAGE_FAULTS_MIN); }
316
+ major-faults { return sym (yyscanner, PERF_COUNT_SW_PAGE_FAULTS_MAJ); }
317
+ context-switches| cs { return sym (yyscanner, PERF_COUNT_SW_CONTEXT_SWITCHES); }
318
+ cpu-migrations| migrations { return sym (yyscanner, PERF_COUNT_SW_CPU_MIGRATIONS); }
319
+ alignment-faults { return sym (yyscanner, PERF_COUNT_SW_ALIGNMENT_FAULTS); }
320
+ emulation-faults { return sym (yyscanner, PERF_COUNT_SW_EMULATION_FAULTS); }
321
+ dummy { return sym (yyscanner, PERF_COUNT_SW_DUMMY); }
322
322
duration_time { return tool (yyscanner, PERF_TOOL_DURATION_TIME); }
323
323
user_time { return tool (yyscanner, PERF_TOOL_USER_TIME); }
324
324
system_time { return tool (yyscanner, PERF_TOOL_SYSTEM_TIME); }
325
- bpf-output { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_BPF_OUTPUT); }
326
- cgroup-switches { return sym (yyscanner, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_CGROUP_SWITCHES); }
325
+ bpf-output { return sym (yyscanner, PERF_COUNT_SW_BPF_OUTPUT); }
326
+ cgroup-switches { return sym (yyscanner, PERF_COUNT_SW_CGROUP_SWITCHES); }
327
327
328
328
{lc_type } { return str (yyscanner, PE_LEGACY_CACHE); }
329
329
{lc_type }-{lc_op_result } { return str (yyscanner, PE_LEGACY_CACHE); }
0 commit comments