xref: /freebsd/lib/libpmc/pmu-events/arch/x86/elkhartlake/frontend.json (revision 52d973f52c07b94909a6487be373c269988dc151)
1*52d973f5SAlexander Motin[
2*52d973f5SAlexander Motin    {
3*52d973f5SAlexander Motin        "BriefDescription": "Counts the total number of BACLEARS.",
4*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
5*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
6*52d973f5SAlexander Motin        "EventCode": "0xe6",
7*52d973f5SAlexander Motin        "EventName": "BACLEARS.ANY",
8*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
9*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
10*52d973f5SAlexander Motin        "PublicDescription": "Counts the total number of BACLEARS, which occur when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend.  Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
11*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
12*52d973f5SAlexander Motin        "UMask": "0x1"
13*52d973f5SAlexander Motin    },
14*52d973f5SAlexander Motin    {
15*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of BACLEARS due to a conditional jump.",
16*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
17*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
18*52d973f5SAlexander Motin        "EventCode": "0xe6",
19*52d973f5SAlexander Motin        "EventName": "BACLEARS.COND",
20*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
21*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
22*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
23*52d973f5SAlexander Motin        "UMask": "0x10"
24*52d973f5SAlexander Motin    },
25*52d973f5SAlexander Motin    {
26*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of BACLEARS due to an indirect branch.",
27*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
28*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
29*52d973f5SAlexander Motin        "EventCode": "0xe6",
30*52d973f5SAlexander Motin        "EventName": "BACLEARS.INDIRECT",
31*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
32*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
33*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
34*52d973f5SAlexander Motin        "UMask": "0x2"
35*52d973f5SAlexander Motin    },
36*52d973f5SAlexander Motin    {
37*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of BACLEARS due to a return branch.",
38*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
39*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
40*52d973f5SAlexander Motin        "EventCode": "0xe6",
41*52d973f5SAlexander Motin        "EventName": "BACLEARS.RETURN",
42*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
43*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
44*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
45*52d973f5SAlexander Motin        "UMask": "0x8"
46*52d973f5SAlexander Motin    },
47*52d973f5SAlexander Motin    {
48*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of BACLEARS due to a non-indirect, non-conditional jump.",
49*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
50*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
51*52d973f5SAlexander Motin        "EventCode": "0xe6",
52*52d973f5SAlexander Motin        "EventName": "BACLEARS.UNCOND",
53*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
54*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
55*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
56*52d973f5SAlexander Motin        "UMask": "0x4"
57*52d973f5SAlexander Motin    },
58*52d973f5SAlexander Motin    {
59*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.",
60*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
61*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
62*52d973f5SAlexander Motin        "EventCode": "0xe9",
63*52d973f5SAlexander Motin        "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
64*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
65*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
66*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
67*52d973f5SAlexander Motin        "UMask": "0x1"
68*52d973f5SAlexander Motin    },
69*52d973f5SAlexander Motin    {
70*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.",
71*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
72*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
73*52d973f5SAlexander Motin        "EventCode": "0x80",
74*52d973f5SAlexander Motin        "EventName": "ICACHE.ACCESSES",
75*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
76*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
77*52d973f5SAlexander Motin        "PublicDescription": "Counts the total number of requests to the instruction cache.  The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line or byte chunk count as one.  Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
78*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
79*52d973f5SAlexander Motin        "UMask": "0x3"
80*52d973f5SAlexander Motin    },
81*52d973f5SAlexander Motin    {
82*52d973f5SAlexander Motin        "BriefDescription": "Counts the number of instruction cache misses.",
83*52d973f5SAlexander Motin        "CollectPEBSRecord": "2",
84*52d973f5SAlexander Motin        "Counter": "0,1,2,3",
85*52d973f5SAlexander Motin        "EventCode": "0x80",
86*52d973f5SAlexander Motin        "EventName": "ICACHE.MISSES",
87*52d973f5SAlexander Motin        "PDIR_COUNTER": "na",
88*52d973f5SAlexander Motin        "PEBScounters": "0,1,2,3",
89*52d973f5SAlexander Motin        "PublicDescription": "Counts the number of missed requests to the instruction cache.  The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one.  Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
90*52d973f5SAlexander Motin        "SampleAfterValue": "200003",
91*52d973f5SAlexander Motin        "UMask": "0x2"
92*52d973f5SAlexander Motin    }
93*52d973f5SAlexander Motin]