| 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | #include "linux/string.h" |
| 3 | #include "util/map_symbol.h" |
| 4 | #include "util/mem-events.h" |
| 5 | #include "mem-events.h" |
| 6 | |
| 7 | |
| 8 | #define MEM_LOADS_AUX 0x8203 |
| 9 | |
| 10 | #define E(t, n, s, l, a) { .tag = t, .name = n, .event_name = s, .ldlat = l, .aux_event = a } |
| 11 | |
| 12 | struct perf_mem_event perf_mem_events_intel[PERF_MEM_EVENTS__MAX] = { |
| 13 | E("ldlat-loads" , "%s/mem-loads,ldlat=%u/P" , "mem-loads" , true, 0), |
| 14 | E("ldlat-stores" , "%s/mem-stores/P" , "mem-stores" , false, 0), |
| 15 | E(NULL, NULL, NULL, false, 0), |
| 16 | }; |
| 17 | |
| 18 | struct perf_mem_event perf_mem_events_intel_aux[PERF_MEM_EVENTS__MAX] = { |
| 19 | E("ldlat-loads" , "{%s/mem-loads-aux/,%s/mem-loads,ldlat=%u/}:P" , "mem-loads" , true, MEM_LOADS_AUX), |
| 20 | E("ldlat-stores" , "%s/mem-stores/P" , "mem-stores" , false, 0), |
| 21 | E(NULL, NULL, NULL, false, 0), |
| 22 | }; |
| 23 | |
| 24 | struct perf_mem_event perf_mem_events_amd[PERF_MEM_EVENTS__MAX] = { |
| 25 | E(NULL, NULL, NULL, false, 0), |
| 26 | E(NULL, NULL, NULL, false, 0), |
| 27 | E("mem-ldst" , "%s//" , NULL, false, 0), |
| 28 | }; |
| 29 | |
| 30 | struct perf_mem_event perf_mem_events_amd_ldlat[PERF_MEM_EVENTS__MAX] = { |
| 31 | E(NULL, NULL, NULL, false, 0), |
| 32 | E(NULL, NULL, NULL, false, 0), |
| 33 | E("mem-ldst" , "%s/ldlat=%u/" , NULL, true, 0), |
| 34 | }; |
| 35 | |