xref: /linux/tools/perf/pmu-events/arch/x86/goldmont/frontend.json (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
14a00680bSAndi Kleen[
24a00680bSAndi Kleen    {
34ee19e31SIan Rogers        "BriefDescription": "BACLEARs asserted for any branch type",
4*faa35916SIan Rogers        "Counter": "0,1,2,3",
54ee19e31SIan Rogers        "EventCode": "0xE6",
64ee19e31SIan Rogers        "EventName": "BACLEARS.ALL",
74ee19e31SIan 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.",
84a00680bSAndi Kleen        "SampleAfterValue": "200003",
94ee19e31SIan Rogers        "UMask": "0x1"
104a00680bSAndi Kleen    },
114a00680bSAndi Kleen    {
124ee19e31SIan Rogers        "BriefDescription": "BACLEARs asserted for conditional branch",
13*faa35916SIan Rogers        "Counter": "0,1,2,3",
144ee19e31SIan Rogers        "EventCode": "0xE6",
154ee19e31SIan Rogers        "EventName": "BACLEARS.COND",
164ee19e31SIan Rogers        "PublicDescription": "Counts BACLEARS on Jcc (Jump on Conditional Code/Jump if Condition is Met) branches.",
174a00680bSAndi Kleen        "SampleAfterValue": "200003",
184ee19e31SIan Rogers        "UMask": "0x10"
194a00680bSAndi Kleen    },
204a00680bSAndi Kleen    {
214ee19e31SIan Rogers        "BriefDescription": "BACLEARs asserted for return branch",
22*faa35916SIan Rogers        "Counter": "0,1,2,3",
234ee19e31SIan Rogers        "EventCode": "0xE6",
244ee19e31SIan Rogers        "EventName": "BACLEARS.RETURN",
254ee19e31SIan Rogers        "PublicDescription": "Counts BACLEARS on return instructions.",
264a00680bSAndi Kleen        "SampleAfterValue": "200003",
274ee19e31SIan Rogers        "UMask": "0x8"
284a00680bSAndi Kleen    },
294a00680bSAndi Kleen    {
304ee19e31SIan Rogers        "BriefDescription": "Decode restrictions due to predicting wrong instruction length",
31*faa35916SIan Rogers        "Counter": "0,1,2,3",
324a00680bSAndi Kleen        "EventCode": "0xE9",
334a00680bSAndi Kleen        "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
344ee19e31SIan Rogers        "PublicDescription": "Counts the number of times the prediction (from the predecode cache) for instruction length is incorrect.",
354a00680bSAndi Kleen        "SampleAfterValue": "200003",
364ee19e31SIan Rogers        "UMask": "0x1"
374ee19e31SIan Rogers    },
384ee19e31SIan Rogers    {
394ee19e31SIan Rogers        "BriefDescription": "References per ICache line. This event counts differently than Intel processors based on Silvermont microarchitecture",
40*faa35916SIan Rogers        "Counter": "0,1,2,3",
414ee19e31SIan Rogers        "EventCode": "0x80",
424ee19e31SIan Rogers        "EventName": "ICACHE.ACCESSES",
434ee19e31SIan 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.",
444ee19e31SIan Rogers        "SampleAfterValue": "200003",
454ee19e31SIan Rogers        "UMask": "0x3"
464ee19e31SIan Rogers    },
474ee19e31SIan Rogers    {
484ee19e31SIan 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*faa35916SIan Rogers        "Counter": "0,1,2,3",
504ee19e31SIan Rogers        "EventCode": "0x80",
514ee19e31SIan Rogers        "EventName": "ICACHE.HIT",
524ee19e31SIan 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.",
534ee19e31SIan Rogers        "SampleAfterValue": "200003",
544ee19e31SIan Rogers        "UMask": "0x1"
554ee19e31SIan Rogers    },
564ee19e31SIan Rogers    {
574ee19e31SIan 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*faa35916SIan Rogers        "Counter": "0,1,2,3",
594ee19e31SIan Rogers        "EventCode": "0x80",
604ee19e31SIan Rogers        "EventName": "ICACHE.MISSES",
614ee19e31SIan 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.",
624ee19e31SIan Rogers        "SampleAfterValue": "200003",
634ee19e31SIan Rogers        "UMask": "0x2"
644ee19e31SIan Rogers    },
654ee19e31SIan Rogers    {
664ee19e31SIan Rogers        "BriefDescription": "MS decode starts",
67*faa35916SIan Rogers        "Counter": "0,1,2,3",
684ee19e31SIan Rogers        "EventCode": "0xE7",
694ee19e31SIan Rogers        "EventName": "MS_DECODED.MS_ENTRY",
704ee19e31SIan 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.",
714ee19e31SIan Rogers        "SampleAfterValue": "200003",
724ee19e31SIan Rogers        "UMask": "0x1"
734a00680bSAndi Kleen    }
744a00680bSAndi Kleen]
75