|
@@ -428,7 +428,7 @@ static const char * const event_type_descriptors[] = {
|
|
|
void print_events(void)
|
|
|
{
|
|
|
struct event_symbol *syms = event_symbols;
|
|
|
- unsigned int i, type, prev_type = -1;
|
|
|
+ unsigned int i, type, op, prev_type = -1;
|
|
|
char name[40];
|
|
|
|
|
|
fprintf(stderr, "\n");
|
|
@@ -452,6 +452,21 @@ void print_events(void)
|
|
|
prev_type = type;
|
|
|
}
|
|
|
|
|
|
+ fprintf(stderr, "\n");
|
|
|
+ for (type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++) {
|
|
|
+ for (op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) {
|
|
|
+ /* skip invalid cache type */
|
|
|
+ if (!is_cache_op_valid(type, op))
|
|
|
+ continue;
|
|
|
+
|
|
|
+ for (i = 0; i < PERF_COUNT_HW_CACHE_RESULT_MAX; i++) {
|
|
|
+ fprintf(stderr, " %-40s [%s]\n",
|
|
|
+ event_cache_name(type, op, i),
|
|
|
+ event_type_descriptors[4]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fprintf(stderr, "\n");
|
|
|
fprintf(stderr, " %-40s [raw hardware event descriptor]\n",
|
|
|
"rNNN");
|