165db92e0SKan Liang[
265db92e0SKan Liang    {
3*45957c1eSIan Rogers        "BriefDescription": "Cycles code-fetch stalled due to any reason.",
465db92e0SKan Liang        "CollectPEBSRecord": "1",
565db92e0SKan Liang        "Counter": "0,1,2,3",
6*45957c1eSIan Rogers        "EventCode": "0x86",
765db92e0SKan Liang        "EventName": "FETCH_STALL.ALL",
865db92e0SKan Liang        "PDIR_COUNTER": "na",
9*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
10*45957c1eSIan Rogers        "PublicDescription": "Counts cycles that fetch is stalled due to any reason. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes.  This will include cycles due to an ITLB miss, ICache miss and other events.",
11*45957c1eSIan Rogers        "SampleAfterValue": "200003"
1265db92e0SKan Liang    },
1365db92e0SKan Liang    {
14*45957c1eSIan Rogers        "BriefDescription": "Cycles the code-fetch stalls and an ITLB miss is outstanding.",
1565db92e0SKan Liang        "CollectPEBSRecord": "1",
1665db92e0SKan Liang        "Counter": "0,1,2,3",
17*45957c1eSIan Rogers        "EventCode": "0x86",
1865db92e0SKan Liang        "EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
1965db92e0SKan Liang        "PDIR_COUNTER": "na",
2065db92e0SKan Liang        "PEBScounters": "0,1,2,3",
21*45957c1eSIan Rogers        "PublicDescription": "Counts cycles that fetch is stalled due to an outstanding ITLB miss. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes due to an ITLB miss.  Note: this event is not the same as page walk cycles to retrieve an instruction translation.",
2265db92e0SKan Liang        "SampleAfterValue": "200003",
23*45957c1eSIan Rogers        "UMask": "0x1"
2465db92e0SKan Liang    },
2565db92e0SKan Liang    {
26*45957c1eSIan Rogers        "BriefDescription": "Cycles hardware interrupts are masked",
2765db92e0SKan Liang        "CollectPEBSRecord": "2",
2865db92e0SKan Liang        "Counter": "0,1,2,3",
2965db92e0SKan Liang        "EventCode": "0xCB",
3065db92e0SKan Liang        "EventName": "HW_INTERRUPTS.MASKED",
3165db92e0SKan Liang        "PDIR_COUNTER": "na",
32*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
33*45957c1eSIan Rogers        "PublicDescription": "Counts the number of core cycles during which interrupts are masked (disabled). Increments by 1 each core cycle that EFLAGS.IF is 0, regardless of whether interrupts are pending or not.",
3465db92e0SKan Liang        "SampleAfterValue": "200003",
35*45957c1eSIan Rogers        "UMask": "0x2"
3665db92e0SKan Liang    },
3765db92e0SKan Liang    {
38*45957c1eSIan Rogers        "BriefDescription": "Cycles pending interrupts are masked",
3965db92e0SKan Liang        "CollectPEBSRecord": "2",
4065db92e0SKan Liang        "Counter": "0,1,2,3",
41*45957c1eSIan Rogers        "EventCode": "0xCB",
4265db92e0SKan Liang        "EventName": "HW_INTERRUPTS.PENDING_AND_MASKED",
4365db92e0SKan Liang        "PDIR_COUNTER": "na",
44*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
45*45957c1eSIan Rogers        "PublicDescription": "Counts core cycles during which there are pending interrupts, but interrupts are masked (EFLAGS.IF = 0).",
4665db92e0SKan Liang        "SampleAfterValue": "200003",
47*45957c1eSIan Rogers        "UMask": "0x4"
48*45957c1eSIan Rogers    },
49*45957c1eSIan Rogers    {
50*45957c1eSIan Rogers        "BriefDescription": "Hardware interrupts received",
51*45957c1eSIan Rogers        "CollectPEBSRecord": "2",
52*45957c1eSIan Rogers        "Counter": "0,1,2,3",
53*45957c1eSIan Rogers        "EventCode": "0xCB",
54*45957c1eSIan Rogers        "EventName": "HW_INTERRUPTS.RECEIVED",
55*45957c1eSIan Rogers        "PDIR_COUNTER": "na",
56*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
57*45957c1eSIan Rogers        "PublicDescription": "Counts hardware interrupts received by the processor.",
58*45957c1eSIan Rogers        "SampleAfterValue": "203",
59*45957c1eSIan Rogers        "UMask": "0x1"
60*45957c1eSIan Rogers    },
61*45957c1eSIan Rogers    {
62*45957c1eSIan Rogers        "BriefDescription": "Unfilled issue slots per cycle",
63*45957c1eSIan Rogers        "CollectPEBSRecord": "1",
64*45957c1eSIan Rogers        "Counter": "0,1,2,3",
65*45957c1eSIan Rogers        "EventCode": "0xCA",
66*45957c1eSIan Rogers        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.ANY",
67*45957c1eSIan Rogers        "PDIR_COUNTER": "na",
68*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
69*45957c1eSIan Rogers        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend due to either a full resource  in the backend (RESOURCE_FULL) or due to the processor recovering from some event (RECOVERY).",
70*45957c1eSIan Rogers        "SampleAfterValue": "200003"
71*45957c1eSIan Rogers    },
72*45957c1eSIan Rogers    {
73*45957c1eSIan Rogers        "BriefDescription": "Unfilled issue slots per cycle to recover",
74*45957c1eSIan Rogers        "CollectPEBSRecord": "1",
75*45957c1eSIan Rogers        "Counter": "0,1,2,3",
76*45957c1eSIan Rogers        "EventCode": "0xCA",
77*45957c1eSIan Rogers        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RECOVERY",
78*45957c1eSIan Rogers        "PDIR_COUNTER": "na",
79*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
80*45957c1eSIan Rogers        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend because allocation is stalled waiting for a mispredicted jump to retire or other branch-like conditions (e.g. the event is relevant during certain microcode flows).   Counts all issue slots blocked while within this window including slots where uops were not available in the Instruction Queue.",
81*45957c1eSIan Rogers        "SampleAfterValue": "200003",
82*45957c1eSIan Rogers        "UMask": "0x2"
83*45957c1eSIan Rogers    },
84*45957c1eSIan Rogers    {
85*45957c1eSIan Rogers        "BriefDescription": "Unfilled issue slots per cycle because of a full resource in the backend",
86*45957c1eSIan Rogers        "CollectPEBSRecord": "1",
87*45957c1eSIan Rogers        "Counter": "0,1,2,3",
88*45957c1eSIan Rogers        "EventCode": "0xCA",
89*45957c1eSIan Rogers        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RESOURCE_FULL",
90*45957c1eSIan Rogers        "PDIR_COUNTER": "na",
91*45957c1eSIan Rogers        "PEBScounters": "0,1,2,3",
92*45957c1eSIan Rogers        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed because of a full resource in the backend.  Including but not limited to resources such as the Re-order Buffer (ROB), reservation stations (RS), load/store buffers, physical registers, or any other needed machine resource that is currently unavailable.   Note that uops must be available for consumption in order for this event to fire.  If a uop is not available (Instruction Queue is empty), this event will not count.",
93*45957c1eSIan Rogers        "SampleAfterValue": "200003",
94*45957c1eSIan Rogers        "UMask": "0x1"
9565db92e0SKan Liang    }
9665db92e0SKan Liang]