165db92e0SKan Liang[
265db92e0SKan Liang    {
365db92e0SKan Liang        "CollectPEBSRecord": "1",
465db92e0SKan Liang        "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.",
565db92e0SKan Liang        "EventCode": "0x86",
665db92e0SKan Liang        "Counter": "0,1,2,3",
765db92e0SKan Liang        "UMask": "0x0",
865db92e0SKan Liang        "PEBScounters": "0,1,2,3",
965db92e0SKan Liang        "EventName": "FETCH_STALL.ALL",
1065db92e0SKan Liang        "PDIR_COUNTER": "na",
1165db92e0SKan Liang        "SampleAfterValue": "200003",
1265db92e0SKan Liang        "BriefDescription": "Cycles code-fetch stalled due to any reason."
1365db92e0SKan Liang    },
1465db92e0SKan Liang    {
1565db92e0SKan Liang        "CollectPEBSRecord": "1",
1665db92e0SKan Liang        "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.",
1765db92e0SKan Liang        "EventCode": "0x86",
1865db92e0SKan Liang        "Counter": "0,1,2,3",
1965db92e0SKan Liang        "UMask": "0x1",
2065db92e0SKan Liang        "PEBScounters": "0,1,2,3",
2165db92e0SKan Liang        "EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
2265db92e0SKan Liang        "PDIR_COUNTER": "na",
2365db92e0SKan Liang        "SampleAfterValue": "200003",
2465db92e0SKan Liang        "BriefDescription": "Cycles the code-fetch stalls and an ITLB miss is outstanding."
2565db92e0SKan Liang    },
2665db92e0SKan Liang    {
2765db92e0SKan Liang        "CollectPEBSRecord": "1",
2865db92e0SKan Liang        "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).",
2965db92e0SKan Liang        "EventCode": "0xCA",
3065db92e0SKan Liang        "Counter": "0,1,2,3",
3165db92e0SKan Liang        "UMask": "0x0",
3265db92e0SKan Liang        "PEBScounters": "0,1,2,3",
3365db92e0SKan Liang        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.ANY",
3465db92e0SKan Liang        "PDIR_COUNTER": "na",
3565db92e0SKan Liang        "SampleAfterValue": "200003",
3665db92e0SKan Liang        "BriefDescription": "Unfilled issue slots per cycle"
3765db92e0SKan Liang    },
3865db92e0SKan Liang    {
3965db92e0SKan Liang        "CollectPEBSRecord": "1",
4065db92e0SKan Liang        "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.",
4165db92e0SKan Liang        "EventCode": "0xCA",
4265db92e0SKan Liang        "Counter": "0,1,2,3",
4365db92e0SKan Liang        "UMask": "0x1",
4465db92e0SKan Liang        "PEBScounters": "0,1,2,3",
4565db92e0SKan Liang        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RESOURCE_FULL",
4665db92e0SKan Liang        "PDIR_COUNTER": "na",
4765db92e0SKan Liang        "SampleAfterValue": "200003",
4865db92e0SKan Liang        "BriefDescription": "Unfilled issue slots per cycle because of a full resource in the backend"
4965db92e0SKan Liang    },
5065db92e0SKan Liang    {
5165db92e0SKan Liang        "CollectPEBSRecord": "1",
5265db92e0SKan Liang        "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.",
5365db92e0SKan Liang        "EventCode": "0xCA",
5465db92e0SKan Liang        "Counter": "0,1,2,3",
5565db92e0SKan Liang        "UMask": "0x2",
5665db92e0SKan Liang        "PEBScounters": "0,1,2,3",
5765db92e0SKan Liang        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RECOVERY",
5865db92e0SKan Liang        "PDIR_COUNTER": "na",
5965db92e0SKan Liang        "SampleAfterValue": "200003",
6065db92e0SKan Liang        "BriefDescription": "Unfilled issue slots per cycle to recover"
6165db92e0SKan Liang    },
6265db92e0SKan Liang    {
6365db92e0SKan Liang        "CollectPEBSRecord": "2",
6465db92e0SKan Liang        "PublicDescription": "Counts hardware interrupts received by the processor.",
6565db92e0SKan Liang        "EventCode": "0xCB",
6665db92e0SKan Liang        "Counter": "0,1,2,3",
6765db92e0SKan Liang        "UMask": "0x1",
6865db92e0SKan Liang        "PEBScounters": "0,1,2,3",
6965db92e0SKan Liang        "EventName": "HW_INTERRUPTS.RECEIVED",
7065db92e0SKan Liang        "PDIR_COUNTER": "na",
7165db92e0SKan Liang        "SampleAfterValue": "203",
7265db92e0SKan Liang        "BriefDescription": "Hardware interrupts received"
7365db92e0SKan Liang    },
7465db92e0SKan Liang    {
7565db92e0SKan Liang        "CollectPEBSRecord": "2",
7665db92e0SKan Liang        "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.",
7765db92e0SKan Liang        "EventCode": "0xCB",
7865db92e0SKan Liang        "Counter": "0,1,2,3",
7965db92e0SKan Liang        "UMask": "0x2",
8065db92e0SKan Liang        "PEBScounters": "0,1,2,3",
8165db92e0SKan Liang        "EventName": "HW_INTERRUPTS.MASKED",
8265db92e0SKan Liang        "PDIR_COUNTER": "na",
8365db92e0SKan Liang        "SampleAfterValue": "200003",
8465db92e0SKan Liang        "BriefDescription": "Cycles hardware interrupts are masked"
8565db92e0SKan Liang    },
8665db92e0SKan Liang    {
8765db92e0SKan Liang        "CollectPEBSRecord": "2",
8865db92e0SKan Liang        "PublicDescription": "Counts core cycles during which there are pending interrupts, but interrupts are masked (EFLAGS.IF = 0).",
8965db92e0SKan Liang        "EventCode": "0xCB",
9065db92e0SKan Liang        "Counter": "0,1,2,3",
9165db92e0SKan Liang        "UMask": "0x4",
9265db92e0SKan Liang        "PEBScounters": "0,1,2,3",
9365db92e0SKan Liang        "EventName": "HW_INTERRUPTS.PENDING_AND_MASKED",
9465db92e0SKan Liang        "PDIR_COUNTER": "na",
9565db92e0SKan Liang        "SampleAfterValue": "200003",
9665db92e0SKan Liang        "BriefDescription": "Cycles pending interrupts are masked"
9765db92e0SKan Liang    }
9865db92e0SKan Liang]