ip: Replace Sematics for Interface IP addresses
[vpp.git] / src / plugins / perfmon / perfmon_intel_ivb.c
1
2 #include <perfmon/perfmon_intel.h>
3
4 static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = {
5   {0x3A, 0x00, 0},
6
7 };
8
9 static perfmon_intel_pmc_event_t event_table[] = {
10   {
11    .event_code = {0x00},
12    .umask = 0x01,
13    .event_name = "inst_retired.any",
14    },
15   {
16    .event_code = {0x00},
17    .umask = 0x02,
18    .event_name = "cpu_clk_unhalted.thread",
19    },
20   {
21    .event_code = {0x00},
22    .umask = 0x02,
23    .event_name = "cpu_clk_unhalted.thread_any",
24    },
25   {
26    .event_code = {0x00},
27    .umask = 0x03,
28    .event_name = "cpu_clk_unhalted.ref_tsc",
29    },
30   {
31    .event_code = {0x03},
32    .umask = 0x02,
33    .event_name = "ld_blocks.store_forward",
34    },
35   {
36    .event_code = {0x03},
37    .umask = 0x08,
38    .event_name = "ld_blocks.no_sr",
39    },
40   {
41    .event_code = {0x05},
42    .umask = 0x01,
43    .event_name = "misalign_mem_ref.loads",
44    },
45   {
46    .event_code = {0x05},
47    .umask = 0x02,
48    .event_name = "misalign_mem_ref.stores",
49    },
50   {
51    .event_code = {0x07},
52    .umask = 0x01,
53    .event_name = "ld_blocks_partial.address_alias",
54    },
55   {
56    .event_code = {0x08},
57    .umask = 0x81,
58    .event_name = "dtlb_load_misses.miss_causes_a_walk",
59    },
60   {
61    .event_code = {0x08},
62    .umask = 0x82,
63    .event_name = "dtlb_load_misses.walk_completed",
64    },
65   {
66    .event_code = {0x08},
67    .umask = 0x84,
68    .event_name = "dtlb_load_misses.walk_duration",
69    },
70   {
71    .event_code = {0x08},
72    .umask = 0x88,
73    .event_name = "dtlb_load_misses.large_page_walk_completed",
74    },
75   {
76    .event_code = {0x0D},
77    .umask = 0x03,
78    .event_name = "int_misc.recovery_cycles",
79    },
80   {
81    .event_code = {0x0D},
82    .umask = 0x03,
83    .event_name = "int_misc.recovery_stalls_count",
84    },
85   {
86    .event_code = {0x0D},
87    .umask = 0x03,
88    .event_name = "int_misc.recovery_cycles_any",
89    },
90   {
91    .event_code = {0x0E},
92    .umask = 0x01,
93    .event_name = "uops_issued.any",
94    },
95   {
96    .event_code = {0x0E},
97    .umask = 0x01,
98    .event_name = "uops_issued.stall_cycles",
99    },
100   {
101    .event_code = {0x0E},
102    .umask = 0x01,
103    .event_name = "uops_issued.core_stall_cycles",
104    },
105   {
106    .event_code = {0x0E},
107    .umask = 0x10,
108    .event_name = "uops_issued.flags_merge",
109    },
110   {
111    .event_code = {0x0E},
112    .umask = 0x20,
113    .event_name = "uops_issued.slow_lea",
114    },
115   {
116    .event_code = {0x0E},
117    .umask = 0x40,
118    .event_name = "uops_issued.single_mul",
119    },
120   {
121    .event_code = {0x10},
122    .umask = 0x01,
123    .event_name = "fp_comp_ops_exe.x87",
124    },
125   {
126    .event_code = {0x10},
127    .umask = 0x10,
128    .event_name = "fp_comp_ops_exe.sse_packed_double",
129    },
130   {
131    .event_code = {0x10},
132    .umask = 0x20,
133    .event_name = "fp_comp_ops_exe.sse_scalar_single",
134    },
135   {
136    .event_code = {0x10},
137    .umask = 0x40,
138    .event_name = "fp_comp_ops_exe.sse_packed_single",
139    },
140   {
141    .event_code = {0x10},
142    .umask = 0x80,
143    .event_name = "fp_comp_ops_exe.sse_scalar_double",
144    },
145   {
146    .event_code = {0x11},
147    .umask = 0x01,
148    .event_name = "simd_fp_256.packed_single",
149    },
150   {
151    .event_code = {0x11},
152    .umask = 0x02,
153    .event_name = "simd_fp_256.packed_double",
154    },
155   {
156    .event_code = {0x14},
157    .umask = 0x01,
158    .event_name = "arith.fpu_div_active",
159    },
160   {
161    .event_code = {0x14},
162    .umask = 0x04,
163    .event_name = "arith.fpu_div",
164    },
165   {
166    .event_code = {0x24},
167    .umask = 0x01,
168    .event_name = "l2_rqsts.demand_data_rd_hit",
169    },
170   {
171    .event_code = {0x24},
172    .umask = 0x03,
173    .event_name = "l2_rqsts.all_demand_data_rd",
174    },
175   {
176    .event_code = {0x24},
177    .umask = 0x04,
178    .event_name = "l2_rqsts.rfo_hit",
179    },
180   {
181    .event_code = {0x24},
182    .umask = 0x08,
183    .event_name = "l2_rqsts.rfo_miss",
184    },
185   {
186    .event_code = {0x24},
187    .umask = 0x0C,
188    .event_name = "l2_rqsts.all_rfo",
189    },
190   {
191    .event_code = {0x24},
192    .umask = 0x10,
193    .event_name = "l2_rqsts.code_rd_hit",
194    },
195   {
196    .event_code = {0x24},
197    .umask = 0x20,
198    .event_name = "l2_rqsts.code_rd_miss",
199    },
200   {
201    .event_code = {0x24},
202    .umask = 0x30,
203    .event_name = "l2_rqsts.all_code_rd",
204    },
205   {
206    .event_code = {0x24},
207    .umask = 0x40,
208    .event_name = "l2_rqsts.pf_hit",
209    },
210   {
211    .event_code = {0x24},
212    .umask = 0x80,
213    .event_name = "l2_rqsts.pf_miss",
214    },
215   {
216    .event_code = {0x24},
217    .umask = 0xC0,
218    .event_name = "l2_rqsts.all_pf",
219    },
220   {
221    .event_code = {0x27},
222    .umask = 0x01,
223    .event_name = "l2_store_lock_rqsts.miss",
224    },
225   {
226    .event_code = {0x27},
227    .umask = 0x08,
228    .event_name = "l2_store_lock_rqsts.hit_m",
229    },
230   {
231    .event_code = {0x27},
232    .umask = 0x0F,
233    .event_name = "l2_store_lock_rqsts.all",
234    },
235   {
236    .event_code = {0x28},
237    .umask = 0x01,
238    .event_name = "l2_l1d_wb_rqsts.miss",
239    },
240   {
241    .event_code = {0x28},
242    .umask = 0x04,
243    .event_name = "l2_l1d_wb_rqsts.hit_e",
244    },
245   {
246    .event_code = {0x28},
247    .umask = 0x08,
248    .event_name = "l2_l1d_wb_rqsts.hit_m",
249    },
250   {
251    .event_code = {0x28},
252    .umask = 0x0F,
253    .event_name = "l2_l1d_wb_rqsts.all",
254    },
255   {
256    .event_code = {0x2E},
257    .umask = 0x41,
258    .event_name = "longest_lat_cache.miss",
259    },
260   {
261    .event_code = {0x2E},
262    .umask = 0x4F,
263    .event_name = "longest_lat_cache.reference",
264    },
265   {
266    .event_code = {0x3C},
267    .umask = 0x00,
268    .event_name = "cpu_clk_unhalted.thread_p",
269    },
270   {
271    .event_code = {0x3C},
272    .umask = 0x00,
273    .event_name = "cpu_clk_unhalted.thread_p_any",
274    },
275   {
276    .event_code = {0x3C},
277    .umask = 0x01,
278    .event_name = "cpu_clk_thread_unhalted.ref_xclk",
279    },
280   {
281    .event_code = {0x3C},
282    .umask = 0x01,
283    .event_name = "cpu_clk_thread_unhalted.ref_xclk_any",
284    },
285   {
286    .event_code = {0x3C},
287    .umask = 0x02,
288    .event_name = "cpu_clk_thread_unhalted.one_thread_active",
289    },
290   {
291    .event_code = {0x48},
292    .umask = 0x01,
293    .event_name = "l1d_pend_miss.pending",
294    },
295   {
296    .event_code = {0x48},
297    .umask = 0x01,
298    .event_name = "l1d_pend_miss.pending_cycles",
299    },
300   {
301    .event_code = {0x49},
302    .umask = 0x01,
303    .event_name = "dtlb_store_misses.miss_causes_a_walk",
304    },
305   {
306    .event_code = {0x49},
307    .umask = 0x02,
308    .event_name = "dtlb_store_misses.walk_completed",
309    },
310   {
311    .event_code = {0x49},
312    .umask = 0x04,
313    .event_name = "dtlb_store_misses.walk_duration",
314    },
315   {
316    .event_code = {0x49},
317    .umask = 0x10,
318    .event_name = "dtlb_store_misses.stlb_hit",
319    },
320   {
321    .event_code = {0x4C},
322    .umask = 0x01,
323    .event_name = "load_hit_pre.sw_pf",
324    },
325   {
326    .event_code = {0x4C},
327    .umask = 0x02,
328    .event_name = "load_hit_pre.hw_pf",
329    },
330   {
331    .event_code = {0x4F},
332    .umask = 0x10,
333    .event_name = "ept.walk_cycles",
334    },
335   {
336    .event_code = {0x51},
337    .umask = 0x01,
338    .event_name = "l1d.replacement",
339    },
340   {
341    .event_code = {0x58},
342    .umask = 0x01,
343    .event_name = "move_elimination.int_eliminated",
344    },
345   {
346    .event_code = {0x58},
347    .umask = 0x02,
348    .event_name = "move_elimination.simd_eliminated",
349    },
350   {
351    .event_code = {0x58},
352    .umask = 0x04,
353    .event_name = "move_elimination.int_not_eliminated",
354    },
355   {
356    .event_code = {0x58},
357    .umask = 0x08,
358    .event_name = "move_elimination.simd_not_eliminated",
359    },
360   {
361    .event_code = {0x5C},
362    .umask = 0x01,
363    .event_name = "cpl_cycles.ring0",
364    },
365   {
366    .event_code = {0x5C},
367    .umask = 0x01,
368    .event_name = "cpl_cycles.ring0_trans",
369    },
370   {
371    .event_code = {0x5C},
372    .umask = 0x02,
373    .event_name = "cpl_cycles.ring123",
374    },
375   {
376    .event_code = {0x5E},
377    .umask = 0x01,
378    .event_name = "rs_events.empty_cycles",
379    },
380   {
381    .event_code = {0x5E},
382    .umask = 0x01,
383    .event_name = "rs_events.empty_end",
384    },
385   {
386    .event_code = {0x5F},
387    .umask = 0x04,
388    .event_name = "dtlb_load_misses.stlb_hit",
389    },
390   {
391    .event_code = {0x60},
392    .umask = 0x01,
393    .event_name = "offcore_requests_outstanding.demand_data_rd",
394    },
395   {
396    .event_code = {0x60},
397    .umask = 0x01,
398    .event_name = "offcore_requests_outstanding.cycles_with_demand_data_rd",
399    },
400   {
401    .event_code = {0x60},
402    .umask = 0x02,
403    .event_name = "offcore_requests_outstanding.demand_code_rd",
404    },
405   {
406    .event_code = {0x60},
407    .umask = 0x02,
408    .event_name = "offcore_requests_outstanding.cycles_with_demand_code_rd",
409    },
410   {
411    .event_code = {0x60},
412    .umask = 0x04,
413    .event_name = "offcore_requests_outstanding.demand_rfo",
414    },
415   {
416    .event_code = {0x60},
417    .umask = 0x04,
418    .event_name = "offcore_requests_outstanding.cycles_with_demand_rfo",
419    },
420   {
421    .event_code = {0x60},
422    .umask = 0x08,
423    .event_name = "offcore_requests_outstanding.all_data_rd",
424    },
425   {
426    .event_code = {0x60},
427    .umask = 0x08,
428    .event_name = "offcore_requests_outstanding.cycles_with_data_rd",
429    },
430   {
431    .event_code = {0x63},
432    .umask = 0x01,
433    .event_name = "lock_cycles.split_lock_uc_lock_duration",
434    },
435   {
436    .event_code = {0x63},
437    .umask = 0x02,
438    .event_name = "lock_cycles.cache_lock_duration",
439    },
440   {
441    .event_code = {0x79},
442    .umask = 0x02,
443    .event_name = "idq.empty",
444    },
445   {
446    .event_code = {0x79},
447    .umask = 0x04,
448    .event_name = "idq.mite_uops",
449    },
450   {
451    .event_code = {0x79},
452    .umask = 0x04,
453    .event_name = "idq.mite_cycles",
454    },
455   {
456    .event_code = {0x79},
457    .umask = 0x08,
458    .event_name = "idq.dsb_uops",
459    },
460   {
461    .event_code = {0x79},
462    .umask = 0x08,
463    .event_name = "idq.dsb_cycles",
464    },
465   {
466    .event_code = {0x79},
467    .umask = 0x10,
468    .event_name = "idq.ms_dsb_uops",
469    },
470   {
471    .event_code = {0x79},
472    .umask = 0x10,
473    .event_name = "idq.ms_dsb_cycles",
474    },
475   {
476    .event_code = {0x79},
477    .umask = 0x10,
478    .event_name = "idq.ms_dsb_occur",
479    },
480   {
481    .event_code = {0x79},
482    .umask = 0x18,
483    .event_name = "idq.all_dsb_cycles_4_uops",
484    },
485   {
486    .event_code = {0x79},
487    .umask = 0x18,
488    .event_name = "idq.all_dsb_cycles_any_uops",
489    },
490   {
491    .event_code = {0x79},
492    .umask = 0x20,
493    .event_name = "idq.ms_mite_uops",
494    },
495   {
496    .event_code = {0x79},
497    .umask = 0x24,
498    .event_name = "idq.all_mite_cycles_4_uops",
499    },
500   {
501    .event_code = {0x79},
502    .umask = 0x24,
503    .event_name = "idq.all_mite_cycles_any_uops",
504    },
505   {
506    .event_code = {0x79},
507    .umask = 0x30,
508    .event_name = "idq.ms_uops",
509    },
510   {
511    .event_code = {0x79},
512    .umask = 0x30,
513    .event_name = "idq.ms_cycles",
514    },
515   {
516    .event_code = {0x79},
517    .umask = 0x30,
518    .event_name = "idq.ms_switches",
519    },
520   {
521    .event_code = {0x79},
522    .umask = 0x3C,
523    .event_name = "idq.mite_all_uops",
524    },
525   {
526    .event_code = {0x80},
527    .umask = 0x01,
528    .event_name = "icache.hit",
529    },
530   {
531    .event_code = {0x80},
532    .umask = 0x02,
533    .event_name = "icache.misses",
534    },
535   {
536    .event_code = {0x80},
537    .umask = 0x04,
538    .event_name = "icache.ifetch_stall",
539    },
540   {
541    .event_code = {0x85},
542    .umask = 0x01,
543    .event_name = "itlb_misses.miss_causes_a_walk",
544    },
545   {
546    .event_code = {0x85},
547    .umask = 0x02,
548    .event_name = "itlb_misses.walk_completed",
549    },
550   {
551    .event_code = {0x85},
552    .umask = 0x04,
553    .event_name = "itlb_misses.walk_duration",
554    },
555   {
556    .event_code = {0x85},
557    .umask = 0x10,
558    .event_name = "itlb_misses.stlb_hit",
559    },
560   {
561    .event_code = {0x85},
562    .umask = 0x80,
563    .event_name = "itlb_misses.large_page_walk_completed",
564    },
565   {
566    .event_code = {0x87},
567    .umask = 0x01,
568    .event_name = "ild_stall.lcp",
569    },
570   {
571    .event_code = {0x87},
572    .umask = 0x04,
573    .event_name = "ild_stall.iq_full",
574    },
575   {
576    .event_code = {0x88},
577    .umask = 0x41,
578    .event_name = "br_inst_exec.nontaken_conditional",
579    },
580   {
581    .event_code = {0x88},
582    .umask = 0x81,
583    .event_name = "br_inst_exec.taken_conditional",
584    },
585   {
586    .event_code = {0x88},
587    .umask = 0x82,
588    .event_name = "br_inst_exec.taken_direct_jump",
589    },
590   {
591    .event_code = {0x88},
592    .umask = 0x84,
593    .event_name = "br_inst_exec.taken_indirect_jump_non_call_ret",
594    },
595   {
596    .event_code = {0x88},
597    .umask = 0x88,
598    .event_name = "br_inst_exec.taken_indirect_near_return",
599    },
600   {
601    .event_code = {0x88},
602    .umask = 0x90,
603    .event_name = "br_inst_exec.taken_direct_near_call",
604    },
605   {
606    .event_code = {0x88},
607    .umask = 0xA0,
608    .event_name = "br_inst_exec.taken_indirect_near_call",
609    },
610   {
611    .event_code = {0x88},
612    .umask = 0xC1,
613    .event_name = "br_inst_exec.all_conditional",
614    },
615   {
616    .event_code = {0x88},
617    .umask = 0xC2,
618    .event_name = "br_inst_exec.all_direct_jmp",
619    },
620   {
621    .event_code = {0x88},
622    .umask = 0xC4,
623    .event_name = "br_inst_exec.all_indirect_jump_non_call_ret",
624    },
625   {
626    .event_code = {0x88},
627    .umask = 0xC8,
628    .event_name = "br_inst_exec.all_indirect_near_return",
629    },
630   {
631    .event_code = {0x88},
632    .umask = 0xD0,
633    .event_name = "br_inst_exec.all_direct_near_call",
634    },
635   {
636    .event_code = {0x88},
637    .umask = 0xFF,
638    .event_name = "br_inst_exec.all_branches",
639    },
640   {
641    .event_code = {0x89},
642    .umask = 0x41,
643    .event_name = "br_misp_exec.nontaken_conditional",
644    },
645   {
646    .event_code = {0x89},
647    .umask = 0x81,
648    .event_name = "br_misp_exec.taken_conditional",
649    },
650   {
651    .event_code = {0x89},
652    .umask = 0x84,
653    .event_name = "br_misp_exec.taken_indirect_jump_non_call_ret",
654    },
655   {
656    .event_code = {0x89},
657    .umask = 0x88,
658    .event_name = "br_misp_exec.taken_return_near",
659    },
660   {
661    .event_code = {0x89},
662    .umask = 0xA0,
663    .event_name = "br_misp_exec.taken_indirect_near_call",
664    },
665   {
666    .event_code = {0x89},
667    .umask = 0xC1,
668    .event_name = "br_misp_exec.all_conditional",
669    },
670   {
671    .event_code = {0x89},
672    .umask = 0xC4,
673    .event_name = "br_misp_exec.all_indirect_jump_non_call_ret",
674    },
675   {
676    .event_code = {0x89},
677    .umask = 0xFF,
678    .event_name = "br_misp_exec.all_branches",
679    },
680   {
681    .event_code = {0x9C},
682    .umask = 0x01,
683    .event_name = "idq_uops_not_delivered.core",
684    },
685   {
686    .event_code = {0x9C},
687    .umask = 0x01,
688    .event_name = "idq_uops_not_delivered.cycles_0_uops_deliv.core",
689    },
690   {
691    .event_code = {0x9C},
692    .umask = 0x01,
693    .event_name = "idq_uops_not_delivered.cycles_le_1_uop_deliv.core",
694    },
695   {
696    .event_code = {0x9C},
697    .umask = 0x01,
698    .event_name = "idq_uops_not_delivered.cycles_le_2_uop_deliv.core",
699    },
700   {
701    .event_code = {0x9C},
702    .umask = 0x01,
703    .event_name = "idq_uops_not_delivered.cycles_le_3_uop_deliv.core",
704    },
705   {
706    .event_code = {0x9C},
707    .umask = 0x01,
708    .event_name = "idq_uops_not_delivered.cycles_fe_was_ok",
709    },
710   {
711    .event_code = {0xA1},
712    .umask = 0x01,
713    .event_name = "uops_dispatched_port.port_0",
714    },
715   {
716    .event_code = {0xA1},
717    .umask = 0x01,
718    .event_name = "uops_dispatched_port.port_0_core",
719    },
720   {
721    .event_code = {0xA1},
722    .umask = 0x02,
723    .event_name = "uops_dispatched_port.port_1",
724    },
725   {
726    .event_code = {0xA1},
727    .umask = 0x02,
728    .event_name = "uops_dispatched_port.port_1_core",
729    },
730   {
731    .event_code = {0xA1},
732    .umask = 0x0C,
733    .event_name = "uops_dispatched_port.port_2",
734    },
735   {
736    .event_code = {0xA1},
737    .umask = 0x0C,
738    .event_name = "uops_dispatched_port.port_2_core",
739    },
740   {
741    .event_code = {0xA1},
742    .umask = 0x30,
743    .event_name = "uops_dispatched_port.port_3",
744    },
745   {
746    .event_code = {0xA1},
747    .umask = 0x30,
748    .event_name = "uops_dispatched_port.port_3_core",
749    },
750   {
751    .event_code = {0xA1},
752    .umask = 0x40,
753    .event_name = "uops_dispatched_port.port_4",
754    },
755   {
756    .event_code = {0xA1},
757    .umask = 0x40,
758    .event_name = "uops_dispatched_port.port_4_core",
759    },
760   {
761    .event_code = {0xA1},
762    .umask = 0x80,
763    .event_name = "uops_dispatched_port.port_5",
764    },
765   {
766    .event_code = {0xA1},
767    .umask = 0x80,
768    .event_name = "uops_dispatched_port.port_5_core",
769    },
770   {
771    .event_code = {0xA2},
772    .umask = 0x01,
773    .event_name = "resource_stalls.any",
774    },
775   {
776    .event_code = {0xA2},
777    .umask = 0x04,
778    .event_name = "resource_stalls.rs",
779    },
780   {
781    .event_code = {0xA2},
782    .umask = 0x08,
783    .event_name = "resource_stalls.sb",
784    },
785   {
786    .event_code = {0xA2},
787    .umask = 0x10,
788    .event_name = "resource_stalls.rob",
789    },
790   {
791    .event_code = {0xA3},
792    .umask = 0x01,
793    .event_name = "cycle_activity.cycles_l2_pending",
794    },
795   {
796    .event_code = {0xA3},
797    .umask = 0x02,
798    .event_name = "cycle_activity.cycles_ldm_pending",
799    },
800   {
801    .event_code = {0xA3},
802    .umask = 0x04,
803    .event_name = "cycle_activity.cycles_no_execute",
804    },
805   {
806    .event_code = {0xA3},
807    .umask = 0x05,
808    .event_name = "cycle_activity.stalls_l2_pending",
809    },
810   {
811    .event_code = {0xA3},
812    .umask = 0x06,
813    .event_name = "cycle_activity.stalls_ldm_pending",
814    },
815   {
816    .event_code = {0xA3},
817    .umask = 0x08,
818    .event_name = "cycle_activity.cycles_l1d_pending",
819    },
820   {
821    .event_code = {0xA3},
822    .umask = 0x0C,
823    .event_name = "cycle_activity.stalls_l1d_pending",
824    },
825   {
826    .event_code = {0xA8},
827    .umask = 0x01,
828    .event_name = "lsd.uops",
829    },
830   {
831    .event_code = {0xA8},
832    .umask = 0x01,
833    .event_name = "lsd.cycles_active",
834    },
835   {
836    .event_code = {0xA8},
837    .umask = 0x01,
838    .event_name = "lsd.cycles_4_uops",
839    },
840   {
841    .event_code = {0xAB},
842    .umask = 0x01,
843    .event_name = "dsb2mite_switches.count",
844    },
845   {
846    .event_code = {0xAB},
847    .umask = 0x02,
848    .event_name = "dsb2mite_switches.penalty_cycles",
849    },
850   {
851    .event_code = {0xAC},
852    .umask = 0x08,
853    .event_name = "dsb_fill.exceed_dsb_lines",
854    },
855   {
856    .event_code = {0xAE},
857    .umask = 0x01,
858    .event_name = "itlb.itlb_flush",
859    },
860   {
861    .event_code = {0xB0},
862    .umask = 0x01,
863    .event_name = "offcore_requests.demand_data_rd",
864    },
865   {
866    .event_code = {0xB0},
867    .umask = 0x02,
868    .event_name = "offcore_requests.demand_code_rd",
869    },
870   {
871    .event_code = {0xB0},
872    .umask = 0x04,
873    .event_name = "offcore_requests.demand_rfo",
874    },
875   {
876    .event_code = {0xB0},
877    .umask = 0x08,
878    .event_name = "offcore_requests.all_data_rd",
879    },
880   {
881    .event_code = {0xB1},
882    .umask = 0x01,
883    .event_name = "uops_executed.thread",
884    },
885   {
886    .event_code = {0xB1},
887    .umask = 0x01,
888    .event_name = "uops_executed.stall_cycles",
889    },
890   {
891    .event_code = {0xB1},
892    .umask = 0x01,
893    .event_name = "uops_executed.cycles_ge_1_uop_exec",
894    },
895   {
896    .event_code = {0xB1},
897    .umask = 0x01,
898    .event_name = "uops_executed.cycles_ge_2_uops_exec",
899    },
900   {
901    .event_code = {0xB1},
902    .umask = 0x01,
903    .event_name = "uops_executed.cycles_ge_3_uops_exec",
904    },
905   {
906    .event_code = {0xB1},
907    .umask = 0x01,
908    .event_name = "uops_executed.cycles_ge_4_uops_exec",
909    },
910   {
911    .event_code = {0xB1},
912    .umask = 0x02,
913    .event_name = "uops_executed.core",
914    },
915   {
916    .event_code = {0xB2},
917    .umask = 0x01,
918    .event_name = "offcore_requests_buffer.sq_full",
919    },
920   {
921    .event_code = {0xBD},
922    .umask = 0x01,
923    .event_name = "tlb_flush.dtlb_thread",
924    },
925   {
926    .event_code = {0xBD},
927    .umask = 0x20,
928    .event_name = "tlb_flush.stlb_any",
929    },
930   {
931    .event_code = {0xBE},
932    .umask = 0x01,
933    .event_name = "page_walks.llc_miss",
934    },
935   {
936    .event_code = {0xC0},
937    .umask = 0x00,
938    .event_name = "inst_retired.any_p",
939    },
940   {
941    .event_code = {0xC0},
942    .umask = 0x01,
943    .event_name = "inst_retired.prec_dist",
944    },
945   {
946    .event_code = {0xC1},
947    .umask = 0x08,
948    .event_name = "other_assists.avx_store",
949    },
950   {
951    .event_code = {0xC1},
952    .umask = 0x10,
953    .event_name = "other_assists.avx_to_sse",
954    },
955   {
956    .event_code = {0xC1},
957    .umask = 0x20,
958    .event_name = "other_assists.sse_to_avx",
959    },
960   {
961    .event_code = {0xC1},
962    .umask = 0x80,
963    .event_name = "other_assists.any_wb_assist",
964    },
965   {
966    .event_code = {0xC2},
967    .umask = 0x01,
968    .event_name = "uops_retired.all",
969    },
970   {
971    .event_code = {0xC2},
972    .umask = 0x01,
973    .event_name = "uops_retired.stall_cycles",
974    },
975   {
976    .event_code = {0xC2},
977    .umask = 0x01,
978    .event_name = "uops_retired.total_cycles",
979    },
980   {
981    .event_code = {0xC2},
982    .umask = 0x01,
983    .event_name = "uops_retired.core_stall_cycles",
984    },
985   {
986    .event_code = {0xC2},
987    .umask = 0x02,
988    .event_name = "uops_retired.retire_slots",
989    },
990   {
991    .event_code = {0xC3},
992    .umask = 0x01,
993    .event_name = "machine_clears.count",
994    },
995   {
996    .event_code = {0xC3},
997    .umask = 0x02,
998    .event_name = "machine_clears.memory_ordering",
999    },
1000   {
1001    .event_code = {0xC3},
1002    .umask = 0x04,
1003    .event_name = "machine_clears.smc",
1004    },
1005   {
1006    .event_code = {0xC3},
1007    .umask = 0x20,
1008    .event_name = "machine_clears.maskmov",
1009    },
1010   {
1011    .event_code = {0xC4},
1012    .umask = 0x00,
1013    .event_name = "br_inst_retired.all_branches",
1014    },
1015   {
1016    .event_code = {0xC4},
1017    .umask = 0x01,
1018    .event_name = "br_inst_retired.conditional",
1019    },
1020   {
1021    .event_code = {0xC4},
1022    .umask = 0x02,
1023    .event_name = "br_inst_retired.near_call",
1024    },
1025   {
1026    .event_code = {0xC4},
1027    .umask = 0x02,
1028    .event_name = "br_inst_retired.near_call_r3",
1029    },
1030   {
1031    .event_code = {0xC4},
1032    .umask = 0x04,
1033    .event_name = "br_inst_retired.all_branches_pebs",
1034    },
1035   {
1036    .event_code = {0xC4},
1037    .umask = 0x08,
1038    .event_name = "br_inst_retired.near_return",
1039    },
1040   {
1041    .event_code = {0xC4},
1042    .umask = 0x10,
1043    .event_name = "br_inst_retired.not_taken",
1044    },
1045   {
1046    .event_code = {0xC4},
1047    .umask = 0x20,
1048    .event_name = "br_inst_retired.near_taken",
1049    },
1050   {
1051    .event_code = {0xC4},
1052    .umask = 0x40,
1053    .event_name = "br_inst_retired.far_branch",
1054    },
1055   {
1056    .event_code = {0xC5},
1057    .umask = 0x00,
1058    .event_name = "br_misp_retired.all_branches",
1059    },
1060   {
1061    .event_code = {0xC5},
1062    .umask = 0x01,
1063    .event_name = "br_misp_retired.conditional",
1064    },
1065   {
1066    .event_code = {0xC5},
1067    .umask = 0x04,
1068    .event_name = "br_misp_retired.all_branches_pebs",
1069    },
1070   {
1071    .event_code = {0xC5},
1072    .umask = 0x20,
1073    .event_name = "br_misp_retired.near_taken",
1074    },
1075   {
1076    .event_code = {0xCA},
1077    .umask = 0x02,
1078    .event_name = "fp_assist.x87_output",
1079    },
1080   {
1081    .event_code = {0xCA},
1082    .umask = 0x04,
1083    .event_name = "fp_assist.x87_input",
1084    },
1085   {
1086    .event_code = {0xCA},
1087    .umask = 0x08,
1088    .event_name = "fp_assist.simd_output",
1089    },
1090   {
1091    .event_code = {0xCA},
1092    .umask = 0x10,
1093    .event_name = "fp_assist.simd_input",
1094    },
1095   {
1096    .event_code = {0xCA},
1097    .umask = 0x1E,
1098    .event_name = "fp_assist.any",
1099    },
1100   {
1101    .event_code = {0xCC},
1102    .umask = 0x20,
1103    .event_name = "rob_misc_events.lbr_inserts",
1104    },
1105   {
1106    .event_code = {0xCD},
1107    .umask = 0x02,
1108    .event_name = "mem_trans_retired.precise_store",
1109    },
1110   {
1111    .event_code = {0xD0},
1112    .umask = 0x11,
1113    .event_name = "mem_uops_retired.stlb_miss_loads",
1114    },
1115   {
1116    .event_code = {0xD0},
1117    .umask = 0x12,
1118    .event_name = "mem_uops_retired.stlb_miss_stores",
1119    },
1120   {
1121    .event_code = {0xD0},
1122    .umask = 0x21,
1123    .event_name = "mem_uops_retired.lock_loads",
1124    },
1125   {
1126    .event_code = {0xD0},
1127    .umask = 0x41,
1128    .event_name = "mem_uops_retired.split_loads",
1129    },
1130   {
1131    .event_code = {0xD0},
1132    .umask = 0x42,
1133    .event_name = "mem_uops_retired.split_stores",
1134    },
1135   {
1136    .event_code = {0xD0},
1137    .umask = 0x81,
1138    .event_name = "mem_uops_retired.all_loads",
1139    },
1140   {
1141    .event_code = {0xD0},
1142    .umask = 0x82,
1143    .event_name = "mem_uops_retired.all_stores",
1144    },
1145   {
1146    .event_code = {0xD1},
1147    .umask = 0x01,
1148    .event_name = "mem_load_uops_retired.l1_hit",
1149    },
1150   {
1151    .event_code = {0xD1},
1152    .umask = 0x02,
1153    .event_name = "mem_load_uops_retired.l2_hit",
1154    },
1155   {
1156    .event_code = {0xD1},
1157    .umask = 0x04,
1158    .event_name = "mem_load_uops_retired.llc_hit",
1159    },
1160   {
1161    .event_code = {0xD1},
1162    .umask = 0x08,
1163    .event_name = "mem_load_uops_retired.l1_miss",
1164    },
1165   {
1166    .event_code = {0xD1},
1167    .umask = 0x10,
1168    .event_name = "mem_load_uops_retired.l2_miss",
1169    },
1170   {
1171    .event_code = {0xD1},
1172    .umask = 0x20,
1173    .event_name = "mem_load_uops_retired.llc_miss",
1174    },
1175   {
1176    .event_code = {0xD1},
1177    .umask = 0x40,
1178    .event_name = "mem_load_uops_retired.hit_lfb",
1179    },
1180   {
1181    .event_code = {0xD2},
1182    .umask = 0x01,
1183    .event_name = "mem_load_uops_llc_hit_retired.xsnp_miss",
1184    },
1185   {
1186    .event_code = {0xD2},
1187    .umask = 0x02,
1188    .event_name = "mem_load_uops_llc_hit_retired.xsnp_hit",
1189    },
1190   {
1191    .event_code = {0xD2},
1192    .umask = 0x04,
1193    .event_name = "mem_load_uops_llc_hit_retired.xsnp_hitm",
1194    },
1195   {
1196    .event_code = {0xD2},
1197    .umask = 0x08,
1198    .event_name = "mem_load_uops_llc_hit_retired.xsnp_none",
1199    },
1200   {
1201    .event_code = {0xD3},
1202    .umask = 0x01,
1203    .event_name = "mem_load_uops_llc_miss_retired.local_dram",
1204    },
1205   {
1206    .event_code = {0xE6},
1207    .umask = 0x1F,
1208    .event_name = "baclears.any",
1209    },
1210   {
1211    .event_code = {0xF0},
1212    .umask = 0x01,
1213    .event_name = "l2_trans.demand_data_rd",
1214    },
1215   {
1216    .event_code = {0xF0},
1217    .umask = 0x02,
1218    .event_name = "l2_trans.rfo",
1219    },
1220   {
1221    .event_code = {0xF0},
1222    .umask = 0x04,
1223    .event_name = "l2_trans.code_rd",
1224    },
1225   {
1226    .event_code = {0xF0},
1227    .umask = 0x08,
1228    .event_name = "l2_trans.all_pf",
1229    },
1230   {
1231    .event_code = {0xF0},
1232    .umask = 0x10,
1233    .event_name = "l2_trans.l1d_wb",
1234    },
1235   {
1236    .event_code = {0xF0},
1237    .umask = 0x20,
1238    .event_name = "l2_trans.l2_fill",
1239    },
1240   {
1241    .event_code = {0xF0},
1242    .umask = 0x40,
1243    .event_name = "l2_trans.l2_wb",
1244    },
1245   {
1246    .event_code = {0xF0},
1247    .umask = 0x80,
1248    .event_name = "l2_trans.all_requests",
1249    },
1250   {
1251    .event_code = {0xF1},
1252    .umask = 0x01,
1253    .event_name = "l2_lines_in.i",
1254    },
1255   {
1256    .event_code = {0xF1},
1257    .umask = 0x02,
1258    .event_name = "l2_lines_in.s",
1259    },
1260   {
1261    .event_code = {0xF1},
1262    .umask = 0x04,
1263    .event_name = "l2_lines_in.e",
1264    },
1265   {
1266    .event_code = {0xF1},
1267    .umask = 0x07,
1268    .event_name = "l2_lines_in.all",
1269    },
1270   {
1271    .event_code = {0xF2},
1272    .umask = 0x01,
1273    .event_name = "l2_lines_out.demand_clean",
1274    },
1275   {
1276    .event_code = {0xF2},
1277    .umask = 0x02,
1278    .event_name = "l2_lines_out.demand_dirty",
1279    },
1280   {
1281    .event_code = {0xF2},
1282    .umask = 0x04,
1283    .event_name = "l2_lines_out.pf_clean",
1284    },
1285   {
1286    .event_code = {0xF2},
1287    .umask = 0x08,
1288    .event_name = "l2_lines_out.pf_dirty",
1289    },
1290   {
1291    .event_code = {0xF2},
1292    .umask = 0x0A,
1293    .event_name = "l2_lines_out.dirty_all",
1294    },
1295   {
1296    .event_code = {0xF4},
1297    .umask = 0x10,
1298    .event_name = "sq_misc.split_lock",
1299    },
1300   {
1301    .event_name = 0,
1302    },
1303 };
1304
1305 PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);
1306