xref: /linux/tools/perf/pmu-events/arch/x86/goldmontplus/frontend.json (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
165db92e0SKan Liang[
265db92e0SKan Liang    {
345957c1eSIan Rogers        "BriefDescription": "BACLEARs asserted for any branch type",
4*75e71be1SIan Rogers        "Counter": "0,1,2,3",
545957c1eSIan Rogers        "EventCode": "0xE6",
645957c1eSIan Rogers        "EventName": "BACLEARS.ALL",
745957c1eSIan Rogers        "PublicDescription": "Counts the number of times a BACLEAR is signaled for any reason, including, but not limited to indirect branch/call,  Jcc (Jump on Conditional Code/Jump if Condition is Met) branch, unconditional branch/call, and returns.",
865db92e0SKan Liang        "SampleAfterValue": "200003",
945957c1eSIan Rogers        "UMask": "0x1"
1065db92e0SKan Liang    },
1165db92e0SKan Liang    {
1245957c1eSIan Rogers        "BriefDescription": "BACLEARs asserted for conditional branch",
13*75e71be1SIan Rogers        "Counter": "0,1,2,3",
1445957c1eSIan Rogers        "EventCode": "0xE6",
1545957c1eSIan Rogers        "EventName": "BACLEARS.COND",
1645957c1eSIan Rogers        "PublicDescription": "Counts BACLEARS on Jcc (Jump on Conditional Code/Jump if Condition is Met) branches.",
1765db92e0SKan Liang        "SampleAfterValue": "200003",
1845957c1eSIan Rogers        "UMask": "0x10"
1965db92e0SKan Liang    },
2065db92e0SKan Liang    {
2145957c1eSIan Rogers        "BriefDescription": "BACLEARs asserted for return branch",
22*75e71be1SIan Rogers        "Counter": "0,1,2,3",
2345957c1eSIan Rogers        "EventCode": "0xE6",
2445957c1eSIan Rogers        "EventName": "BACLEARS.RETURN",
2545957c1eSIan Rogers        "PublicDescription": "Counts BACLEARS on return instructions.",
2665db92e0SKan Liang        "SampleAfterValue": "200003",
2745957c1eSIan Rogers        "UMask": "0x8"
2865db92e0SKan Liang    },
2965db92e0SKan Liang    {
3045957c1eSIan Rogers        "BriefDescription": "Decode restrictions due to predicting wrong instruction length",
31*75e71be1SIan Rogers        "Counter": "0,1,2,3",
3265db92e0SKan Liang        "EventCode": "0xE9",
3365db92e0SKan Liang        "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
3445957c1eSIan Rogers        "PublicDescription": "Counts the number of times the prediction (from the predecode cache) for instruction length is incorrect.",
3565db92e0SKan Liang        "SampleAfterValue": "200003",
3645957c1eSIan Rogers        "UMask": "0x1"
3745957c1eSIan Rogers    },
3845957c1eSIan Rogers    {
3945957c1eSIan Rogers        "BriefDescription": "References per ICache line. This event counts differently than Intel processors based on Silvermont microarchitecture",
40*75e71be1SIan Rogers        "Counter": "0,1,2,3",
4145957c1eSIan Rogers        "EventCode": "0x80",
4245957c1eSIan Rogers        "EventName": "ICACHE.ACCESSES",
4345957c1eSIan Rogers        "PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line.  The event strives to count on a cache line basis, so that multiple fetches to a single cache line count as one ICACHE.ACCESS.  Specifically, the event counts when accesses from straight line code crosses the cache line boundary, or when a branch target is to a new line.\r\nThis event counts differently than Intel processors based on Silvermont microarchitecture.",
4445957c1eSIan Rogers        "SampleAfterValue": "200003",
4545957c1eSIan Rogers        "UMask": "0x3"
4645957c1eSIan Rogers    },
4745957c1eSIan Rogers    {
4845957c1eSIan Rogers        "BriefDescription": "References per ICache line that are available in the ICache (hit). This event counts differently than Intel processors based on Silvermont microarchitecture",
49*75e71be1SIan Rogers        "Counter": "0,1,2,3",
5045957c1eSIan Rogers        "EventCode": "0x80",
5145957c1eSIan Rogers        "EventName": "ICACHE.HIT",
5245957c1eSIan Rogers        "PublicDescription": "Counts requests to the Instruction Cache (ICache) for one or more bytes in an ICache Line and that cache line is in the ICache (hit).  The event strives to count on a cache line basis, so that multiple accesses which hit in a single cache line count as one ICACHE.HIT.  Specifically, the event counts when straight line code crosses the cache line boundary, or when a branch target is to a new line, and that cache line is in the ICache. This event counts differently than Intel processors based on Silvermont microarchitecture.",
5345957c1eSIan Rogers        "SampleAfterValue": "200003",
5445957c1eSIan Rogers        "UMask": "0x1"
5545957c1eSIan Rogers    },
5645957c1eSIan Rogers    {
5745957c1eSIan Rogers        "BriefDescription": "References per ICache line that are not available in the ICache (miss). This event counts differently than Intel processors based on Silvermont microarchitecture",
58*75e71be1SIan Rogers        "Counter": "0,1,2,3",
5945957c1eSIan Rogers        "EventCode": "0x80",
6045957c1eSIan Rogers        "EventName": "ICACHE.MISSES",
6145957c1eSIan Rogers        "PublicDescription": "Counts requests to the Instruction Cache (ICache)  for one or more bytes in an ICache Line and that cache line is not in the ICache (miss).  The event strives to count on a cache line basis, so that multiple accesses which miss in a single cache line count as one ICACHE.MISS.  Specifically, the event counts when straight line code crosses the cache line boundary, or when a branch target is to a new line, and that cache line is not in the ICache. This event counts differently than Intel processors based on Silvermont microarchitecture.",
6245957c1eSIan Rogers        "SampleAfterValue": "200003",
6345957c1eSIan Rogers        "UMask": "0x2"
6445957c1eSIan Rogers    },
6545957c1eSIan Rogers    {
6645957c1eSIan Rogers        "BriefDescription": "MS decode starts",
67*75e71be1SIan Rogers        "Counter": "0,1,2,3",
6845957c1eSIan Rogers        "EventCode": "0xE7",
6945957c1eSIan Rogers        "EventName": "MS_DECODED.MS_ENTRY",
7045957c1eSIan Rogers        "PublicDescription": "Counts the number of times the Microcode Sequencer (MS) starts a flow of uops from the MSROM. It does not count every time a uop is read from the MSROM.  The most common case that this counts is when a micro-coded instruction is encountered by the front end of the machine.  Other cases include when an instruction encounters a fault, trap, or microcode assist of any sort that initiates a flow of uops.  The event will count MS startups for uops that are speculative, and subsequently cleared by branch mispredict or a machine clear.",
7145957c1eSIan Rogers        "SampleAfterValue": "200003",
7245957c1eSIan Rogers        "UMask": "0x1"
7365db92e0SKan Liang    }
7465db92e0SKan Liang]
75