FD.io VPP  v19.04.1-1-ge4a0f9f
Vector Packet Processing
perfmon_intel_bnl.c
Go to the documentation of this file.
1 
3 
4 static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = {
5  {0x1C, 0x00, 0},
6  {0x26, 0x00, 0},
7  {0x27, 0x00, 0},
8  {0x36, 0x00, 0},
9  {0x35, 0x00, 0},
10 
11 };
12 
13 static perfmon_intel_pmc_event_t event_table[] = {
14  {
15  .event_code = {0x2},
16  .umask = 0x83,
17  .event_name = "store_forwards.any",
18  },
19  {
20  .event_code = {0x2},
21  .umask = 0x81,
22  .event_name = "store_forwards.good",
23  },
24  {
25  .event_code = {0x3},
26  .umask = 0x7F,
27  .event_name = "reissue.any",
28  },
29  {
30  .event_code = {0x3},
31  .umask = 0xFF,
32  .event_name = "reissue.any.ar",
33  },
34  {
35  .event_code = {0x5},
36  .umask = 0xF,
37  .event_name = "misalign_mem_ref.split",
38  },
39  {
40  .event_code = {0x5},
41  .umask = 0x9,
42  .event_name = "misalign_mem_ref.ld_split",
43  },
44  {
45  .event_code = {0x5},
46  .umask = 0xA,
47  .event_name = "misalign_mem_ref.st_split",
48  },
49  {
50  .event_code = {0x5},
51  .umask = 0x8F,
52  .event_name = "misalign_mem_ref.split.ar",
53  },
54  {
55  .event_code = {0x5},
56  .umask = 0x89,
57  .event_name = "misalign_mem_ref.ld_split.ar",
58  },
59  {
60  .event_code = {0x5},
61  .umask = 0x8A,
62  .event_name = "misalign_mem_ref.st_split.ar",
63  },
64  {
65  .event_code = {0x5},
66  .umask = 0x8C,
67  .event_name = "misalign_mem_ref.rmw_split",
68  },
69  {
70  .event_code = {0x5},
71  .umask = 0x97,
72  .event_name = "misalign_mem_ref.bubble",
73  },
74  {
75  .event_code = {0x5},
76  .umask = 0x91,
77  .event_name = "misalign_mem_ref.ld_bubble",
78  },
79  {
80  .event_code = {0x5},
81  .umask = 0x92,
82  .event_name = "misalign_mem_ref.st_bubble",
83  },
84  {
85  .event_code = {0x5},
86  .umask = 0x94,
87  .event_name = "misalign_mem_ref.rmw_bubble",
88  },
89  {
90  .event_code = {0x6},
91  .umask = 0x80,
92  .event_name = "segment_reg_loads.any",
93  },
94  {
95  .event_code = {0x7},
96  .umask = 0x81,
97  .event_name = "prefetch.prefetcht0",
98  },
99  {
100  .event_code = {0x7},
101  .umask = 0x82,
102  .event_name = "prefetch.prefetcht1",
103  },
104  {
105  .event_code = {0x7},
106  .umask = 0x84,
107  .event_name = "prefetch.prefetcht2",
108  },
109  {
110  .event_code = {0x7},
111  .umask = 0x86,
112  .event_name = "prefetch.sw_l2",
113  },
114  {
115  .event_code = {0x7},
116  .umask = 0x88,
117  .event_name = "prefetch.prefetchnta",
118  },
119  {
120  .event_code = {0x7},
121  .umask = 0x10,
122  .event_name = "prefetch.hw_prefetch",
123  },
124  {
125  .event_code = {0x7},
126  .umask = 0xF,
127  .event_name = "prefetch.software_prefetch",
128  },
129  {
130  .event_code = {0x7},
131  .umask = 0x8F,
132  .event_name = "prefetch.software_prefetch.ar",
133  },
134  {
135  .event_code = {0x8},
136  .umask = 0x7,
137  .event_name = "data_tlb_misses.dtlb_miss",
138  },
139  {
140  .event_code = {0x8},
141  .umask = 0x5,
142  .event_name = "data_tlb_misses.dtlb_miss_ld",
143  },
144  {
145  .event_code = {0x8},
146  .umask = 0x9,
147  .event_name = "data_tlb_misses.l0_dtlb_miss_ld",
148  },
149  {
150  .event_code = {0x8},
151  .umask = 0x6,
152  .event_name = "data_tlb_misses.dtlb_miss_st",
153  },
154  {
155  .event_code = {0x8},
156  .umask = 0xA,
157  .event_name = "data_tlb_misses.l0_dtlb_miss_st",
158  },
159  {
160  .event_code = {0x9},
161  .umask = 0x20,
162  .event_name = "dispatch_blocked.any",
163  },
164  {
165  .event_code = {0xC},
166  .umask = 0x3,
167  .event_name = "page_walks.walks",
168  },
169  {
170  .event_code = {0xC},
171  .umask = 0x3,
172  .event_name = "page_walks.cycles",
173  },
174  {
175  .event_code = {0xC},
176  .umask = 0x1,
177  .event_name = "page_walks.d_side_walks",
178  },
179  {
180  .event_code = {0xC},
181  .umask = 0x1,
182  .event_name = "page_walks.d_side_cycles",
183  },
184  {
185  .event_code = {0xC},
186  .umask = 0x2,
187  .event_name = "page_walks.i_side_walks",
188  },
189  {
190  .event_code = {0xC},
191  .umask = 0x2,
192  .event_name = "page_walks.i_side_cycles",
193  },
194  {
195  .event_code = {0x10},
196  .umask = 0x1,
197  .event_name = "x87_comp_ops_exe.any.s",
198  },
199  {
200  .event_code = {0x10},
201  .umask = 0x81,
202  .event_name = "x87_comp_ops_exe.any.ar",
203  },
204  {
205  .event_code = {0x10},
206  .umask = 0x2,
207  .event_name = "x87_comp_ops_exe.fxch.s",
208  },
209  {
210  .event_code = {0x10},
211  .umask = 0x82,
212  .event_name = "x87_comp_ops_exe.fxch.ar",
213  },
214  {
215  .event_code = {0x11},
216  .umask = 0x1,
217  .event_name = "fp_assist.s",
218  },
219  {
220  .event_code = {0x11},
221  .umask = 0x81,
222  .event_name = "fp_assist.ar",
223  },
224  {
225  .event_code = {0x12},
226  .umask = 0x1,
227  .event_name = "mul.s",
228  },
229  {
230  .event_code = {0x12},
231  .umask = 0x81,
232  .event_name = "mul.ar",
233  },
234  {
235  .event_code = {0x13},
236  .umask = 0x1,
237  .event_name = "div.s",
238  },
239  {
240  .event_code = {0x13},
241  .umask = 0x81,
242  .event_name = "div.ar",
243  },
244  {
245  .event_code = {0x14},
246  .umask = 0x1,
247  .event_name = "cycles_div_busy",
248  },
249  {
250  .event_code = {0x21},
251  .umask = 0x40,
252  .event_name = "l2_ads.self",
253  },
254  {
255  .event_code = {0x22},
256  .umask = 0x40,
257  .event_name = "l2_dbus_busy.self",
258  },
259  {
260  .event_code = {0x23},
261  .umask = 0x40,
262  .event_name = "l2_dbus_busy_rd.self",
263  },
264  {
265  .event_code = {0x24},
266  .umask = 0x70,
267  .event_name = "l2_lines_in.self.any",
268  },
269  {
270  .event_code = {0x24},
271  .umask = 0x40,
272  .event_name = "l2_lines_in.self.demand",
273  },
274  {
275  .event_code = {0x24},
276  .umask = 0x50,
277  .event_name = "l2_lines_in.self.prefetch",
278  },
279  {
280  .event_code = {0x25},
281  .umask = 0x40,
282  .event_name = "l2_m_lines_in.self",
283  },
284  {
285  .event_code = {0x26},
286  .umask = 0x70,
287  .event_name = "l2_lines_out.self.any",
288  },
289  {
290  .event_code = {0x26},
291  .umask = 0x40,
292  .event_name = "l2_lines_out.self.demand",
293  },
294  {
295  .event_code = {0x26},
296  .umask = 0x50,
297  .event_name = "l2_lines_out.self.prefetch",
298  },
299  {
300  .event_code = {0x27},
301  .umask = 0x70,
302  .event_name = "l2_m_lines_out.self.any",
303  },
304  {
305  .event_code = {0x27},
306  .umask = 0x40,
307  .event_name = "l2_m_lines_out.self.demand",
308  },
309  {
310  .event_code = {0x27},
311  .umask = 0x50,
312  .event_name = "l2_m_lines_out.self.prefetch",
313  },
314  {
315  .event_code = {0x28},
316  .umask = 0x44,
317  .event_name = "l2_ifetch.self.e_state",
318  },
319  {
320  .event_code = {0x28},
321  .umask = 0x41,
322  .event_name = "l2_ifetch.self.i_state",
323  },
324  {
325  .event_code = {0x28},
326  .umask = 0x48,
327  .event_name = "l2_ifetch.self.m_state",
328  },
329  {
330  .event_code = {0x28},
331  .umask = 0x42,
332  .event_name = "l2_ifetch.self.s_state",
333  },
334  {
335  .event_code = {0x28},
336  .umask = 0x4F,
337  .event_name = "l2_ifetch.self.mesi",
338  },
339  {
340  .event_code = {0x29},
341  .umask = 0x74,
342  .event_name = "l2_ld.self.any.e_state",
343  },
344  {
345  .event_code = {0x29},
346  .umask = 0x71,
347  .event_name = "l2_ld.self.any.i_state",
348  },
349  {
350  .event_code = {0x29},
351  .umask = 0x78,
352  .event_name = "l2_ld.self.any.m_state",
353  },
354  {
355  .event_code = {0x29},
356  .umask = 0x72,
357  .event_name = "l2_ld.self.any.s_state",
358  },
359  {
360  .event_code = {0x29},
361  .umask = 0x7F,
362  .event_name = "l2_ld.self.any.mesi",
363  },
364  {
365  .event_code = {0x29},
366  .umask = 0x44,
367  .event_name = "l2_ld.self.demand.e_state",
368  },
369  {
370  .event_code = {0x29},
371  .umask = 0x41,
372  .event_name = "l2_ld.self.demand.i_state",
373  },
374  {
375  .event_code = {0x29},
376  .umask = 0x48,
377  .event_name = "l2_ld.self.demand.m_state",
378  },
379  {
380  .event_code = {0x29},
381  .umask = 0x42,
382  .event_name = "l2_ld.self.demand.s_state",
383  },
384  {
385  .event_code = {0x29},
386  .umask = 0x4F,
387  .event_name = "l2_ld.self.demand.mesi",
388  },
389  {
390  .event_code = {0x29},
391  .umask = 0x54,
392  .event_name = "l2_ld.self.prefetch.e_state",
393  },
394  {
395  .event_code = {0x29},
396  .umask = 0x51,
397  .event_name = "l2_ld.self.prefetch.i_state",
398  },
399  {
400  .event_code = {0x29},
401  .umask = 0x58,
402  .event_name = "l2_ld.self.prefetch.m_state",
403  },
404  {
405  .event_code = {0x29},
406  .umask = 0x52,
407  .event_name = "l2_ld.self.prefetch.s_state",
408  },
409  {
410  .event_code = {0x29},
411  .umask = 0x5F,
412  .event_name = "l2_ld.self.prefetch.mesi",
413  },
414  {
415  .event_code = {0x2A},
416  .umask = 0x44,
417  .event_name = "l2_st.self.e_state",
418  },
419  {
420  .event_code = {0x2A},
421  .umask = 0x41,
422  .event_name = "l2_st.self.i_state",
423  },
424  {
425  .event_code = {0x2A},
426  .umask = 0x48,
427  .event_name = "l2_st.self.m_state",
428  },
429  {
430  .event_code = {0x2A},
431  .umask = 0x42,
432  .event_name = "l2_st.self.s_state",
433  },
434  {
435  .event_code = {0x2A},
436  .umask = 0x4F,
437  .event_name = "l2_st.self.mesi",
438  },
439  {
440  .event_code = {0x2B},
441  .umask = 0x44,
442  .event_name = "l2_lock.self.e_state",
443  },
444  {
445  .event_code = {0x2B},
446  .umask = 0x41,
447  .event_name = "l2_lock.self.i_state",
448  },
449  {
450  .event_code = {0x2B},
451  .umask = 0x48,
452  .event_name = "l2_lock.self.m_state",
453  },
454  {
455  .event_code = {0x2B},
456  .umask = 0x42,
457  .event_name = "l2_lock.self.s_state",
458  },
459  {
460  .event_code = {0x2B},
461  .umask = 0x4F,
462  .event_name = "l2_lock.self.mesi",
463  },
464  {
465  .event_code = {0x2C},
466  .umask = 0x44,
467  .event_name = "l2_data_rqsts.self.e_state",
468  },
469  {
470  .event_code = {0x2C},
471  .umask = 0x41,
472  .event_name = "l2_data_rqsts.self.i_state",
473  },
474  {
475  .event_code = {0x2C},
476  .umask = 0x48,
477  .event_name = "l2_data_rqsts.self.m_state",
478  },
479  {
480  .event_code = {0x2C},
481  .umask = 0x42,
482  .event_name = "l2_data_rqsts.self.s_state",
483  },
484  {
485  .event_code = {0x2C},
486  .umask = 0x4F,
487  .event_name = "l2_data_rqsts.self.mesi",
488  },
489  {
490  .event_code = {0x2D},
491  .umask = 0x44,
492  .event_name = "l2_ld_ifetch.self.e_state",
493  },
494  {
495  .event_code = {0x2D},
496  .umask = 0x41,
497  .event_name = "l2_ld_ifetch.self.i_state",
498  },
499  {
500  .event_code = {0x2D},
501  .umask = 0x48,
502  .event_name = "l2_ld_ifetch.self.m_state",
503  },
504  {
505  .event_code = {0x2D},
506  .umask = 0x42,
507  .event_name = "l2_ld_ifetch.self.s_state",
508  },
509  {
510  .event_code = {0x2D},
511  .umask = 0x4F,
512  .event_name = "l2_ld_ifetch.self.mesi",
513  },
514  {
515  .event_code = {0x2E},
516  .umask = 0x74,
517  .event_name = "l2_rqsts.self.any.e_state",
518  },
519  {
520  .event_code = {0x2E},
521  .umask = 0x71,
522  .event_name = "l2_rqsts.self.any.i_state",
523  },
524  {
525  .event_code = {0x2E},
526  .umask = 0x78,
527  .event_name = "l2_rqsts.self.any.m_state",
528  },
529  {
530  .event_code = {0x2E},
531  .umask = 0x72,
532  .event_name = "l2_rqsts.self.any.s_state",
533  },
534  {
535  .event_code = {0x2E},
536  .umask = 0x7F,
537  .event_name = "l2_rqsts.self.any.mesi",
538  },
539  {
540  .event_code = {0x2E},
541  .umask = 0x44,
542  .event_name = "l2_rqsts.self.demand.e_state",
543  },
544  {
545  .event_code = {0x2E},
546  .umask = 0x48,
547  .event_name = "l2_rqsts.self.demand.m_state",
548  },
549  {
550  .event_code = {0x2E},
551  .umask = 0x42,
552  .event_name = "l2_rqsts.self.demand.s_state",
553  },
554  {
555  .event_code = {0x2E},
556  .umask = 0x54,
557  .event_name = "l2_rqsts.self.prefetch.e_state",
558  },
559  {
560  .event_code = {0x2E},
561  .umask = 0x51,
562  .event_name = "l2_rqsts.self.prefetch.i_state",
563  },
564  {
565  .event_code = {0x2E},
566  .umask = 0x58,
567  .event_name = "l2_rqsts.self.prefetch.m_state",
568  },
569  {
570  .event_code = {0x2E},
571  .umask = 0x52,
572  .event_name = "l2_rqsts.self.prefetch.s_state",
573  },
574  {
575  .event_code = {0x2E},
576  .umask = 0x5F,
577  .event_name = "l2_rqsts.self.prefetch.mesi",
578  },
579  {
580  .event_code = {0x2E},
581  .umask = 0x41,
582  .event_name = "l2_rqsts.self.demand.i_state",
583  },
584  {
585  .event_code = {0x2E},
586  .umask = 0x4F,
587  .event_name = "l2_rqsts.self.demand.mesi",
588  },
589  {
590  .event_code = {0x30},
591  .umask = 0x74,
592  .event_name = "l2_reject_busq.self.any.e_state",
593  },
594  {
595  .event_code = {0x30},
596  .umask = 0x71,
597  .event_name = "l2_reject_busq.self.any.i_state",
598  },
599  {
600  .event_code = {0x30},
601  .umask = 0x78,
602  .event_name = "l2_reject_busq.self.any.m_state",
603  },
604  {
605  .event_code = {0x30},
606  .umask = 0x72,
607  .event_name = "l2_reject_busq.self.any.s_state",
608  },
609  {
610  .event_code = {0x30},
611  .umask = 0x7F,
612  .event_name = "l2_reject_busq.self.any.mesi",
613  },
614  {
615  .event_code = {0x30},
616  .umask = 0x44,
617  .event_name = "l2_reject_busq.self.demand.e_state",
618  },
619  {
620  .event_code = {0x30},
621  .umask = 0x41,
622  .event_name = "l2_reject_busq.self.demand.i_state",
623  },
624  {
625  .event_code = {0x30},
626  .umask = 0x48,
627  .event_name = "l2_reject_busq.self.demand.m_state",
628  },
629  {
630  .event_code = {0x30},
631  .umask = 0x42,
632  .event_name = "l2_reject_busq.self.demand.s_state",
633  },
634  {
635  .event_code = {0x30},
636  .umask = 0x4F,
637  .event_name = "l2_reject_busq.self.demand.mesi",
638  },
639  {
640  .event_code = {0x30},
641  .umask = 0x54,
642  .event_name = "l2_reject_busq.self.prefetch.e_state",
643  },
644  {
645  .event_code = {0x30},
646  .umask = 0x51,
647  .event_name = "l2_reject_busq.self.prefetch.i_state",
648  },
649  {
650  .event_code = {0x30},
651  .umask = 0x58,
652  .event_name = "l2_reject_busq.self.prefetch.m_state",
653  },
654  {
655  .event_code = {0x30},
656  .umask = 0x52,
657  .event_name = "l2_reject_busq.self.prefetch.s_state",
658  },
659  {
660  .event_code = {0x30},
661  .umask = 0x5F,
662  .event_name = "l2_reject_busq.self.prefetch.mesi",
663  },
664  {
665  .event_code = {0x32},
666  .umask = 0x40,
667  .event_name = "l2_no_req.self",
668  },
669  {
670  .event_code = {0x3A},
671  .umask = 0x0,
672  .event_name = "eist_trans",
673  },
674  {
675  .event_code = {0x3B},
676  .umask = 0xC0,
677  .event_name = "thermal_trip",
678  },
679  {
680  .event_code = {0x3C},
681  .umask = 0x0,
682  .event_name = "cpu_clk_unhalted.core_p",
683  },
684  {
685  .event_code = {0x3C},
686  .umask = 0x1,
687  .event_name = "cpu_clk_unhalted.bus",
688  },
689  {
690  .event_code = {0xA},
691  .umask = 0x0,
692  .event_name = "cpu_clk_unhalted.core",
693  },
694  {
695  .event_code = {0xA},
696  .umask = 0x0,
697  .event_name = "cpu_clk_unhalted.ref",
698  },
699  {
700  .event_code = {0x40},
701  .umask = 0xA1,
702  .event_name = "l1d_cache.ld",
703  },
704  {
705  .event_code = {0x40},
706  .umask = 0xA2,
707  .event_name = "l1d_cache.st",
708  },
709  {
710  .event_code = {0x40},
711  .umask = 0x83,
712  .event_name = "l1d_cache.all_ref",
713  },
714  {
715  .event_code = {0x40},
716  .umask = 0xA3,
717  .event_name = "l1d_cache.all_cache_ref",
718  },
719  {
720  .event_code = {0x40},
721  .umask = 0x8,
722  .event_name = "l1d_cache.repl",
723  },
724  {
725  .event_code = {0x40},
726  .umask = 0x48,
727  .event_name = "l1d_cache.replm",
728  },
729  {
730  .event_code = {0x40},
731  .umask = 0x10,
732  .event_name = "l1d_cache.evict",
733  },
734  {
735  .event_code = {0x60},
736  .umask = 0xE0,
737  .event_name = "bus_request_outstanding.all_agents",
738  },
739  {
740  .event_code = {0x60},
741  .umask = 0x40,
742  .event_name = "bus_request_outstanding.self",
743  },
744  {
745  .event_code = {0x61},
746  .umask = 0x20,
747  .event_name = "bus_bnr_drv.all_agents",
748  },
749  {
750  .event_code = {0x61},
751  .umask = 0x0,
752  .event_name = "bus_bnr_drv.this_agent",
753  },
754  {
755  .event_code = {0x62},
756  .umask = 0x20,
757  .event_name = "bus_drdy_clocks.all_agents",
758  },
759  {
760  .event_code = {0x62},
761  .umask = 0x0,
762  .event_name = "bus_drdy_clocks.this_agent",
763  },
764  {
765  .event_code = {0x63},
766  .umask = 0xE0,
767  .event_name = "bus_lock_clocks.all_agents",
768  },
769  {
770  .event_code = {0x63},
771  .umask = 0x40,
772  .event_name = "bus_lock_clocks.self",
773  },
774  {
775  .event_code = {0x64},
776  .umask = 0x40,
777  .event_name = "bus_data_rcv.self",
778  },
779  {
780  .event_code = {0x65},
781  .umask = 0xE0,
782  .event_name = "bus_trans_brd.all_agents",
783  },
784  {
785  .event_code = {0x65},
786  .umask = 0x40,
787  .event_name = "bus_trans_brd.self",
788  },
789  {
790  .event_code = {0x66},
791  .umask = 0xE0,
792  .event_name = "bus_trans_rfo.all_agents",
793  },
794  {
795  .event_code = {0x66},
796  .umask = 0x40,
797  .event_name = "bus_trans_rfo.self",
798  },
799  {
800  .event_code = {0x67},
801  .umask = 0xE0,
802  .event_name = "bus_trans_wb.all_agents",
803  },
804  {
805  .event_code = {0x67},
806  .umask = 0x40,
807  .event_name = "bus_trans_wb.self",
808  },
809  {
810  .event_code = {0x68},
811  .umask = 0xE0,
812  .event_name = "bus_trans_ifetch.all_agents",
813  },
814  {
815  .event_code = {0x68},
816  .umask = 0x40,
817  .event_name = "bus_trans_ifetch.self",
818  },
819  {
820  .event_code = {0x69},
821  .umask = 0xE0,
822  .event_name = "bus_trans_inval.all_agents",
823  },
824  {
825  .event_code = {0x69},
826  .umask = 0x40,
827  .event_name = "bus_trans_inval.self",
828  },
829  {
830  .event_code = {0x6A},
831  .umask = 0xE0,
832  .event_name = "bus_trans_pwr.all_agents",
833  },
834  {
835  .event_code = {0x6A},
836  .umask = 0x40,
837  .event_name = "bus_trans_pwr.self",
838  },
839  {
840  .event_code = {0x6B},
841  .umask = 0xE0,
842  .event_name = "bus_trans_p.all_agents",
843  },
844  {
845  .event_code = {0x6B},
846  .umask = 0x40,
847  .event_name = "bus_trans_p.self",
848  },
849  {
850  .event_code = {0x6C},
851  .umask = 0xE0,
852  .event_name = "bus_trans_io.all_agents",
853  },
854  {
855  .event_code = {0x6C},
856  .umask = 0x40,
857  .event_name = "bus_trans_io.self",
858  },
859  {
860  .event_code = {0x6D},
861  .umask = 0xE0,
862  .event_name = "bus_trans_def.all_agents",
863  },
864  {
865  .event_code = {0x6D},
866  .umask = 0x40,
867  .event_name = "bus_trans_def.self",
868  },
869  {
870  .event_code = {0x6E},
871  .umask = 0xE0,
872  .event_name = "bus_trans_burst.all_agents",
873  },
874  {
875  .event_code = {0x6E},
876  .umask = 0x40,
877  .event_name = "bus_trans_burst.self",
878  },
879  {
880  .event_code = {0x6F},
881  .umask = 0xE0,
882  .event_name = "bus_trans_mem.all_agents",
883  },
884  {
885  .event_code = {0x6F},
886  .umask = 0x40,
887  .event_name = "bus_trans_mem.self",
888  },
889  {
890  .event_code = {0x70},
891  .umask = 0xE0,
892  .event_name = "bus_trans_any.all_agents",
893  },
894  {
895  .event_code = {0x70},
896  .umask = 0x40,
897  .event_name = "bus_trans_any.self",
898  },
899  {
900  .event_code = {0x77},
901  .umask = 0xB,
902  .event_name = "ext_snoop.this_agent.any",
903  },
904  {
905  .event_code = {0x77},
906  .umask = 0x1,
907  .event_name = "ext_snoop.this_agent.clean",
908  },
909  {
910  .event_code = {0x77},
911  .umask = 0x2,
912  .event_name = "ext_snoop.this_agent.hit",
913  },
914  {
915  .event_code = {0x77},
916  .umask = 0x8,
917  .event_name = "ext_snoop.this_agent.hitm",
918  },
919  {
920  .event_code = {0x77},
921  .umask = 0x2B,
922  .event_name = "ext_snoop.all_agents.any",
923  },
924  {
925  .event_code = {0x77},
926  .umask = 0x21,
927  .event_name = "ext_snoop.all_agents.clean",
928  },
929  {
930  .event_code = {0x77},
931  .umask = 0x22,
932  .event_name = "ext_snoop.all_agents.hit",
933  },
934  {
935  .event_code = {0x77},
936  .umask = 0x28,
937  .event_name = "ext_snoop.all_agents.hitm",
938  },
939  {
940  .event_code = {0x7A},
941  .umask = 0x20,
942  .event_name = "bus_hit_drv.all_agents",
943  },
944  {
945  .event_code = {0x7A},
946  .umask = 0x0,
947  .event_name = "bus_hit_drv.this_agent",
948  },
949  {
950  .event_code = {0x7B},
951  .umask = 0x20,
952  .event_name = "bus_hitm_drv.all_agents",
953  },
954  {
955  .event_code = {0x7B},
956  .umask = 0x0,
957  .event_name = "bus_hitm_drv.this_agent",
958  },
959  {
960  .event_code = {0x7D},
961  .umask = 0x40,
962  .event_name = "busq_empty.self",
963  },
964  {
965  .event_code = {0x7E},
966  .umask = 0xE0,
967  .event_name = "snoop_stall_drv.all_agents",
968  },
969  {
970  .event_code = {0x7E},
971  .umask = 0x40,
972  .event_name = "snoop_stall_drv.self",
973  },
974  {
975  .event_code = {0x7F},
976  .umask = 0x40,
977  .event_name = "bus_io_wait.self",
978  },
979  {
980  .event_code = {0x80},
981  .umask = 0x3,
982  .event_name = "icache.accesses",
983  },
984  {
985  .event_code = {0x80},
986  .umask = 0x1,
987  .event_name = "icache.hit",
988  },
989  {
990  .event_code = {0x80},
991  .umask = 0x2,
992  .event_name = "icache.misses",
993  },
994  {
995  .event_code = {0x82},
996  .umask = 0x1,
997  .event_name = "itlb.hit",
998  },
999  {
1000  .event_code = {0x82},
1001  .umask = 0x4,
1002  .event_name = "itlb.flush",
1003  },
1004  {
1005  .event_code = {0x82},
1006  .umask = 0x2,
1007  .event_name = "itlb.misses",
1008  },
1009  {
1010  .event_code = {0x86},
1011  .umask = 0x1,
1012  .event_name = "cycles_icache_mem_stalled.icache_mem_stalled",
1013  },
1014  {
1015  .event_code = {0x87},
1016  .umask = 0x1,
1017  .event_name = "decode_stall.pfb_empty",
1018  },
1019  {
1020  .event_code = {0x87},
1021  .umask = 0x2,
1022  .event_name = "decode_stall.iq_full",
1023  },
1024  {
1025  .event_code = {0x88},
1026  .umask = 0x1,
1027  .event_name = "br_inst_type_retired.cond",
1028  },
1029  {
1030  .event_code = {0x88},
1031  .umask = 0x2,
1032  .event_name = "br_inst_type_retired.uncond",
1033  },
1034  {
1035  .event_code = {0x88},
1036  .umask = 0x4,
1037  .event_name = "br_inst_type_retired.ind",
1038  },
1039  {
1040  .event_code = {0x88},
1041  .umask = 0x8,
1042  .event_name = "br_inst_type_retired.ret",
1043  },
1044  {
1045  .event_code = {0x88},
1046  .umask = 0x10,
1047  .event_name = "br_inst_type_retired.dir_call",
1048  },
1049  {
1050  .event_code = {0x88},
1051  .umask = 0x20,
1052  .event_name = "br_inst_type_retired.ind_call",
1053  },
1054  {
1055  .event_code = {0x88},
1056  .umask = 0x41,
1057  .event_name = "br_inst_type_retired.cond_taken",
1058  },
1059  {
1060  .event_code = {0x89},
1061  .umask = 0x1,
1062  .event_name = "br_missp_type_retired.cond",
1063  },
1064  {
1065  .event_code = {0x89},
1066  .umask = 0x2,
1067  .event_name = "br_missp_type_retired.ind",
1068  },
1069  {
1070  .event_code = {0x89},
1071  .umask = 0x4,
1072  .event_name = "br_missp_type_retired.return",
1073  },
1074  {
1075  .event_code = {0x89},
1076  .umask = 0x8,
1077  .event_name = "br_missp_type_retired.ind_call",
1078  },
1079  {
1080  .event_code = {0x89},
1081  .umask = 0x11,
1082  .event_name = "br_missp_type_retired.cond_taken",
1083  },
1084  {
1085  .event_code = {0xAA},
1086  .umask = 0x1,
1087  .event_name = "macro_insts.non_cisc_decoded",
1088  },
1089  {
1090  .event_code = {0xAA},
1091  .umask = 0x2,
1092  .event_name = "macro_insts.cisc_decoded",
1093  },
1094  {
1095  .event_code = {0xAA},
1096  .umask = 0x3,
1097  .event_name = "macro_insts.all_decoded",
1098  },
1099  {
1100  .event_code = {0xB0},
1101  .umask = 0x0,
1102  .event_name = "simd_uops_exec.s",
1103  },
1104  {
1105  .event_code = {0xB0},
1106  .umask = 0x80,
1107  .event_name = "simd_uops_exec.ar",
1108  },
1109  {
1110  .event_code = {0xB1},
1111  .umask = 0x0,
1112  .event_name = "simd_sat_uop_exec.s",
1113  },
1114  {
1115  .event_code = {0xB1},
1116  .umask = 0x80,
1117  .event_name = "simd_sat_uop_exec.ar",
1118  },
1119  {
1120  .event_code = {0xB3},
1121  .umask = 0x1,
1122  .event_name = "simd_uop_type_exec.mul.s",
1123  },
1124  {
1125  .event_code = {0xB3},
1126  .umask = 0x81,
1127  .event_name = "simd_uop_type_exec.mul.ar",
1128  },
1129  {
1130  .event_code = {0xB3},
1131  .umask = 0x2,
1132  .event_name = "simd_uop_type_exec.shift.s",
1133  },
1134  {
1135  .event_code = {0xB3},
1136  .umask = 0x82,
1137  .event_name = "simd_uop_type_exec.shift.ar",
1138  },
1139  {
1140  .event_code = {0xB3},
1141  .umask = 0x4,
1142  .event_name = "simd_uop_type_exec.pack.s",
1143  },
1144  {
1145  .event_code = {0xB3},
1146  .umask = 0x84,
1147  .event_name = "simd_uop_type_exec.pack.ar",
1148  },
1149  {
1150  .event_code = {0xB3},
1151  .umask = 0x8,
1152  .event_name = "simd_uop_type_exec.unpack.s",
1153  },
1154  {
1155  .event_code = {0xB3},
1156  .umask = 0x88,
1157  .event_name = "simd_uop_type_exec.unpack.ar",
1158  },
1159  {
1160  .event_code = {0xB3},
1161  .umask = 0x10,
1162  .event_name = "simd_uop_type_exec.logical.s",
1163  },
1164  {
1165  .event_code = {0xB3},
1166  .umask = 0x90,
1167  .event_name = "simd_uop_type_exec.logical.ar",
1168  },
1169  {
1170  .event_code = {0xB3},
1171  .umask = 0x20,
1172  .event_name = "simd_uop_type_exec.arithmetic.s",
1173  },
1174  {
1175  .event_code = {0xB3},
1176  .umask = 0xA0,
1177  .event_name = "simd_uop_type_exec.arithmetic.ar",
1178  },
1179  {
1180  .event_code = {0xC0},
1181  .umask = 0x0,
1182  .event_name = "inst_retired.any_p",
1183  },
1184  {
1185  .event_code = {0xA},
1186  .umask = 0x0,
1187  .event_name = "inst_retired.any",
1188  },
1189  {
1190  .event_code = {0xC2},
1191  .umask = 0x10,
1192  .event_name = "uops_retired.any",
1193  },
1194  {
1195  .event_code = {0xC2},
1196  .umask = 0x10,
1197  .event_name = "uops_retired.stalled_cycles",
1198  },
1199  {
1200  .event_code = {0xC2},
1201  .umask = 0x10,
1202  .event_name = "uops_retired.stalls",
1203  },
1204  {
1205  .event_code = {0xA9},
1206  .umask = 0x1,
1207  .event_name = "uops.ms_cycles",
1208  },
1209  {
1210  .event_code = {0xC3},
1211  .umask = 0x1,
1212  .event_name = "machine_clears.smc",
1213  },
1214  {
1215  .event_code = {0xC4},
1216  .umask = 0x0,
1217  .event_name = "br_inst_retired.any",
1218  },
1219  {
1220  .event_code = {0xC4},
1221  .umask = 0x1,
1222  .event_name = "br_inst_retired.pred_not_taken",
1223  },
1224  {
1225  .event_code = {0xC4},
1226  .umask = 0x2,
1227  .event_name = "br_inst_retired.mispred_not_taken",
1228  },
1229  {
1230  .event_code = {0xC4},
1231  .umask = 0x4,
1232  .event_name = "br_inst_retired.pred_taken",
1233  },
1234  {
1235  .event_code = {0xC4},
1236  .umask = 0x8,
1237  .event_name = "br_inst_retired.mispred_taken",
1238  },
1239  {
1240  .event_code = {0xC4},
1241  .umask = 0xC,
1242  .event_name = "br_inst_retired.taken",
1243  },
1244  {
1245  .event_code = {0xC4},
1246  .umask = 0xF,
1247  .event_name = "br_inst_retired.any1",
1248  },
1249  {
1250  .event_code = {0xC5},
1251  .umask = 0x0,
1252  .event_name = "br_inst_retired.mispred",
1253  },
1254  {
1255  .event_code = {0xC6},
1256  .umask = 0x1,
1257  .event_name = "cycles_int_masked.cycles_int_masked",
1258  },
1259  {
1260  .event_code = {0xC6},
1261  .umask = 0x2,
1262  .event_name = "cycles_int_masked.cycles_int_pending_and_masked",
1263  },
1264  {
1265  .event_code = {0xC7},
1266  .umask = 0x1,
1267  .event_name = "simd_inst_retired.packed_single",
1268  },
1269  {
1270  .event_code = {0xC7},
1271  .umask = 0x2,
1272  .event_name = "simd_inst_retired.scalar_single",
1273  },
1274  {
1275  .event_code = {0xC7},
1276  .umask = 0x8,
1277  .event_name = "simd_inst_retired.scalar_double",
1278  },
1279  {
1280  .event_code = {0xC7},
1281  .umask = 0x10,
1282  .event_name = "simd_inst_retired.vector",
1283  },
1284  {
1285  .event_code = {0xC8},
1286  .umask = 0x0,
1287  .event_name = "hw_int_rcv",
1288  },
1289  {
1290  .event_code = {0xCA},
1291  .umask = 0x1,
1292  .event_name = "simd_comp_inst_retired.packed_single",
1293  },
1294  {
1295  .event_code = {0xCA},
1296  .umask = 0x2,
1297  .event_name = "simd_comp_inst_retired.scalar_single",
1298  },
1299  {
1300  .event_code = {0xCA},
1301  .umask = 0x8,
1302  .event_name = "simd_comp_inst_retired.scalar_double",
1303  },
1304  {
1305  .event_code = {0xCB},
1306  .umask = 0x1,
1307  .event_name = "mem_load_retired.l2_hit",
1308  },
1309  {
1310  .event_code = {0xCB},
1311  .umask = 0x2,
1312  .event_name = "mem_load_retired.l2_miss",
1313  },
1314  {
1315  .event_code = {0xCB},
1316  .umask = 0x4,
1317  .event_name = "mem_load_retired.dtlb_miss",
1318  },
1319  {
1320  .event_code = {0xCD},
1321  .umask = 0x0,
1322  .event_name = "simd_assist",
1323  },
1324  {
1325  .event_code = {0xCE},
1326  .umask = 0x0,
1327  .event_name = "simd_instr_retired",
1328  },
1329  {
1330  .event_code = {0xCF},
1331  .umask = 0x0,
1332  .event_name = "simd_sat_instr_retired",
1333  },
1334  {
1335  .event_code = {0xDC},
1336  .umask = 0x2,
1337  .event_name = "resource_stalls.div_busy",
1338  },
1339  {
1340  .event_code = {0xE0},
1341  .umask = 0x1,
1342  .event_name = "br_inst_decoded",
1343  },
1344  {
1345  .event_code = {0xE4},
1346  .umask = 0x1,
1347  .event_name = "bogus_br",
1348  },
1349  {
1350  .event_code = {0xE6},
1351  .umask = 0x1,
1352  .event_name = "baclears.any",
1353  },
1354  {
1355  .event_code = {0x3},
1356  .umask = 0x1,
1357  .event_name = "reissue.overlap_store",
1358  },
1359  {
1360  .event_code = {0x3},
1361  .umask = 0x81,
1362  .event_name = "reissue.overlap_store.ar",
1363  },
1364  {
1365  .event_name = 0,
1366  },
1367 };
1368 
1369 PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);
1370 
PERFMON_REGISTER_INTEL_PMC(cpu_model_table, event_table)