1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
2c7168325SHendrik Brueckner /*
3c7168325SHendrik Brueckner  * Perf PMU sysfs events attributes for available CPU-measurement counters
4c7168325SHendrik Brueckner  *
5c7168325SHendrik Brueckner  */
6c7168325SHendrik Brueckner 
7c7168325SHendrik Brueckner #include <linux/slab.h>
8c7168325SHendrik Brueckner #include <linux/perf_event.h>
930e145f8SHendrik Brueckner #include <asm/cpu_mf.h>
10c7168325SHendrik Brueckner 
11c7168325SHendrik Brueckner 
12c7168325SHendrik Brueckner /* BEGIN: CPUM_CF COUNTER DEFINITIONS =================================== */
13c7168325SHendrik Brueckner 
143593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, CPU_CYCLES, 0x0000);
153593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, INSTRUCTIONS, 0x0001);
163593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, L1I_DIR_WRITES, 0x0002);
173593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, L1I_PENALTY_CYCLES, 0x0003);
183593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_CPU_CYCLES, 0x0020);
193593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_INSTRUCTIONS, 0x0021);
203593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_L1I_DIR_WRITES, 0x0022);
213593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_L1I_PENALTY_CYCLES, 0x0023);
223593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_L1D_DIR_WRITES, 0x0024);
233593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, PROBLEM_STATE_L1D_PENALTY_CYCLES, 0x0025);
243593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, L1D_DIR_WRITES, 0x0004);
253593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn1, L1D_PENALTY_CYCLES, 0x0005);
263593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, CPU_CYCLES, 0x0000);
273593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, INSTRUCTIONS, 0x0001);
283593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, L1I_DIR_WRITES, 0x0002);
293593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, L1I_PENALTY_CYCLES, 0x0003);
303593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, PROBLEM_STATE_CPU_CYCLES, 0x0020);
313593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, PROBLEM_STATE_INSTRUCTIONS, 0x0021);
323593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, L1D_DIR_WRITES, 0x0004);
333593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_fvn3, L1D_PENALTY_CYCLES, 0x0005);
3446a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, PRNG_FUNCTIONS, 0x0040);
3546a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, PRNG_CYCLES, 0x0041);
3646a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, PRNG_BLOCKED_FUNCTIONS, 0x0042);
3746a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, PRNG_BLOCKED_CYCLES, 0x0043);
3846a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, SHA_FUNCTIONS, 0x0044);
3946a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, SHA_CYCLES, 0x0045);
4046a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, SHA_BLOCKED_FUNCTIONS, 0x0046);
4146a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, SHA_BLOCKED_CYCLES, 0x0047);
4246a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, DEA_FUNCTIONS, 0x0048);
4346a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, DEA_CYCLES, 0x0049);
4446a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, DEA_BLOCKED_FUNCTIONS, 0x004a);
4546a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, DEA_BLOCKED_CYCLES, 0x004b);
4646a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, AES_FUNCTIONS, 0x004c);
4746a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, AES_CYCLES, 0x004d);
4846a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, AES_BLOCKED_FUNCTIONS, 0x004e);
4946a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_12345, AES_BLOCKED_CYCLES, 0x004f);
5046a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_6, ECC_FUNCTION_COUNT, 0x0050);
5146a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_6, ECC_CYCLES_COUNT, 0x0051);
5246a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_6, ECC_BLOCKED_FUNCTION_COUNT, 0x0052);
5346a984ffSThomas Richter CPUMF_EVENT_ATTR(cf_svn_6, ECC_BLOCKED_CYCLES_COUNT, 0x0053);
54c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1I_L2_SOURCED_WRITES, 0x0080);
55c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1D_L2_SOURCED_WRITES, 0x0081);
56c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1I_L3_LOCAL_WRITES, 0x0082);
57c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1D_L3_LOCAL_WRITES, 0x0083);
58c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1I_L3_REMOTE_WRITES, 0x0084);
59c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1D_L3_REMOTE_WRITES, 0x0085);
60c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1D_LMEM_SOURCED_WRITES, 0x0086);
61c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1I_LMEM_SOURCED_WRITES, 0x0087);
62c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1D_RO_EXCL_WRITES, 0x0088);
63c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L1I_CACHELINE_INVALIDATES, 0x0089);
64c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, ITLB1_WRITES, 0x008a);
65c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, DTLB1_WRITES, 0x008b);
66c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, TLB2_PTE_WRITES, 0x008c);
67c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, TLB2_CRSTE_WRITES, 0x008d);
68c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, TLB2_CRSTE_HPAGE_WRITES, 0x008e);
69c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, ITLB1_MISSES, 0x0091);
70c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, DTLB1_MISSES, 0x0092);
71c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z10, L2C_STORES_SENT, 0x0093);
72c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_L2_SOURCED_WRITES, 0x0080);
73c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_L2_SOURCED_WRITES, 0x0081);
74c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, DTLB1_MISSES, 0x0082);
75c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, ITLB1_MISSES, 0x0083);
76c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L2C_STORES_SENT, 0x0085);
77c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_OFFBOOK_L3_SOURCED_WRITES, 0x0086);
78c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_ONBOOK_L4_SOURCED_WRITES, 0x0087);
79c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_ONBOOK_L4_SOURCED_WRITES, 0x0088);
80c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_RO_EXCL_WRITES, 0x0089);
81c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_OFFBOOK_L4_SOURCED_WRITES, 0x008a);
82c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_OFFBOOK_L4_SOURCED_WRITES, 0x008b);
83c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, DTLB1_HPAGE_WRITES, 0x008c);
84c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_LMEM_SOURCED_WRITES, 0x008d);
85c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_LMEM_SOURCED_WRITES, 0x008e);
86c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_OFFBOOK_L3_SOURCED_WRITES, 0x008f);
87c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, DTLB1_WRITES, 0x0090);
88c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, ITLB1_WRITES, 0x0091);
89c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, TLB2_PTE_WRITES, 0x0092);
90c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, TLB2_CRSTE_HPAGE_WRITES, 0x0093);
91c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, TLB2_CRSTE_WRITES, 0x0094);
92c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_ONCHIP_L3_SOURCED_WRITES, 0x0096);
93c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1D_OFFCHIP_L3_SOURCED_WRITES, 0x0098);
94c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_ONCHIP_L3_SOURCED_WRITES, 0x0099);
95c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z196, L1I_OFFCHIP_L3_SOURCED_WRITES, 0x009b);
96c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, DTLB1_MISSES, 0x0080);
97c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, ITLB1_MISSES, 0x0081);
98c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_L2I_SOURCED_WRITES, 0x0082);
99c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_L2I_SOURCED_WRITES, 0x0083);
100c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_L2D_SOURCED_WRITES, 0x0084);
101c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, DTLB1_WRITES, 0x0085);
102c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_LMEM_SOURCED_WRITES, 0x0087);
103c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_LMEM_SOURCED_WRITES, 0x0089);
104c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_RO_EXCL_WRITES, 0x008a);
105c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, DTLB1_HPAGE_WRITES, 0x008b);
106c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, ITLB1_WRITES, 0x008c);
107c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TLB2_PTE_WRITES, 0x008d);
108c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TLB2_CRSTE_HPAGE_WRITES, 0x008e);
109c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TLB2_CRSTE_WRITES, 0x008f);
110c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES, 0x0090);
111c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES, 0x0091);
112c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES, 0x0092);
113c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_ONBOOK_L4_SOURCED_WRITES, 0x0093);
114c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFBOOK_L4_SOURCED_WRITES, 0x0094);
115c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TX_NC_TEND, 0x0095);
116c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES_IV, 0x0096);
117c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES_IV, 0x0097);
118c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES_IV, 0x0098);
119c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES, 0x0099);
120c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES, 0x009a);
121c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES, 0x009b);
122c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_ONBOOK_L4_SOURCED_WRITES, 0x009c);
123c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L4_SOURCED_WRITES, 0x009d);
124c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TX_C_TEND, 0x009e);
125c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES_IV, 0x009f);
126c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES_IV, 0x00a0);
127c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES_IV, 0x00a1);
128c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TX_NC_TABORT, 0x00b1);
129c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TX_C_TABORT_NO_SPECIAL, 0x00b2);
130c7168325SHendrik Brueckner CPUMF_EVENT_ATTR(cf_zec12, TX_C_TABORT_SPECIAL, 0x00b3);
1315f3ba878SAndré Wild CPUMF_EVENT_ATTR(cf_z13, L1D_RO_EXCL_WRITES, 0x0080);
1323fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, DTLB1_WRITES, 0x0081);
1333fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, DTLB1_MISSES, 0x0082);
1343fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, DTLB1_HPAGE_WRITES, 0x0083);
1353fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, DTLB1_GPAGE_WRITES, 0x0084);
1363fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_L2D_SOURCED_WRITES, 0x0085);
1373fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, ITLB1_WRITES, 0x0086);
1383fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, ITLB1_MISSES, 0x0087);
1393fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_L2I_SOURCED_WRITES, 0x0088);
1403fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TLB2_PTE_WRITES, 0x0089);
1413fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TLB2_CRSTE_HPAGE_WRITES, 0x008a);
1423fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TLB2_CRSTE_WRITES, 0x008b);
1433fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TX_C_TEND, 0x008c);
1443fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TX_NC_TEND, 0x008d);
1453fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1C_TLB1_MISSES, 0x008f);
1463fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES, 0x0090);
1473fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES_IV, 0x0091);
1483fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONNODE_L4_SOURCED_WRITES, 0x0092);
1493fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES_IV, 0x0093);
1503fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES, 0x0094);
1513fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONDRAWER_L4_SOURCED_WRITES, 0x0095);
1523fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES_IV, 0x0096);
1533fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES, 0x0097);
1543fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_SCOL_L4_SOURCED_WRITES, 0x0098);
1553fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV, 0x0099);
1563fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES, 0x009a);
1573fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_FCOL_L4_SOURCED_WRITES, 0x009b);
1583fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV, 0x009c);
1593fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES, 0x009d);
1603fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONNODE_MEM_SOURCED_WRITES, 0x009e);
1613fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONDRAWER_MEM_SOURCED_WRITES, 0x009f);
1623fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_OFFDRAWER_MEM_SOURCED_WRITES, 0x00a0);
1633fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1D_ONCHIP_MEM_SOURCED_WRITES, 0x00a1);
1643fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES, 0x00a2);
1653fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES_IV, 0x00a3);
1663fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONNODE_L4_SOURCED_WRITES, 0x00a4);
1673fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES_IV, 0x00a5);
1683fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES, 0x00a6);
1693fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONDRAWER_L4_SOURCED_WRITES, 0x00a7);
1703fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES_IV, 0x00a8);
1713fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES, 0x00a9);
1723fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_SCOL_L4_SOURCED_WRITES, 0x00aa);
1733fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV, 0x00ab);
1743fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES, 0x00ac);
1753fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_FCOL_L4_SOURCED_WRITES, 0x00ad);
1763fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV, 0x00ae);
1773fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES, 0x00af);
1783fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONNODE_MEM_SOURCED_WRITES, 0x00b0);
1793fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONDRAWER_MEM_SOURCED_WRITES, 0x00b1);
1803fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_OFFDRAWER_MEM_SOURCED_WRITES, 0x00b2);
1813fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, L1I_ONCHIP_MEM_SOURCED_WRITES, 0x00b3);
1823fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TX_NC_TABORT, 0x00da);
1833fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TX_C_TABORT_NO_SPECIAL, 0x00db);
1843fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, TX_C_TABORT_SPECIAL, 0x00dc);
1853fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
1863fc7acebSHendrik Brueckner CPUMF_EVENT_ATTR(cf_z13, MT_DIAG_CYCLES_TWO_THR_ACTIVE, 0x01c1);
1875f3ba878SAndré Wild CPUMF_EVENT_ATTR(cf_z14, L1D_RO_EXCL_WRITES, 0x0080);
1883593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, DTLB2_WRITES, 0x0081);
1893593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, DTLB2_MISSES, 0x0082);
1903593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, DTLB2_HPAGE_WRITES, 0x0083);
1913593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, DTLB2_GPAGE_WRITES, 0x0084);
1923593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_L2D_SOURCED_WRITES, 0x0085);
1933593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, ITLB2_WRITES, 0x0086);
1943593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, ITLB2_MISSES, 0x0087);
1953593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_L2I_SOURCED_WRITES, 0x0088);
1963593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TLB2_PTE_WRITES, 0x0089);
1973593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TLB2_CRSTE_WRITES, 0x008a);
1983593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TLB2_ENGINES_BUSY, 0x008b);
1993593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TX_C_TEND, 0x008c);
2003593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TX_NC_TEND, 0x008d);
2013593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1C_TLB2_MISSES, 0x008f);
2023593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES, 0x0090);
2033593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCHIP_MEMORY_SOURCED_WRITES, 0x0091);
2043593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_IV, 0x0092);
2053593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES, 0x0093);
2063593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES, 0x0094);
2073593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV, 0x0095);
2083593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES, 0x0096);
2093593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES, 0x0097);
2103593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV, 0x0098);
2113593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES, 0x0099);
2123593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES, 0x009a);
2133593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV, 0x009b);
2143593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONDRAWER_L4_SOURCED_WRITES, 0x009c);
2153593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_OFFDRAWER_L4_SOURCED_WRITES, 0x009d);
2163593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_RO, 0x009e);
2173593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES, 0x00a2);
2183593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCHIP_MEMORY_SOURCED_WRITES, 0x00a3);
2193593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES_IV, 0x00a4);
2203593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES, 0x00a5);
2213593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES, 0x00a6);
2223593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV, 0x00a7);
2233593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES, 0x00a8);
2243593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES, 0x00a9);
2253593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV, 0x00aa);
2263593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES, 0x00ab);
2273593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES, 0x00ac);
2283593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV, 0x00ad);
2293593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_ONDRAWER_L4_SOURCED_WRITES, 0x00ae);
2303593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, L1I_OFFDRAWER_L4_SOURCED_WRITES, 0x00af);
2313593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, BCD_DFP_EXECUTION_SLOTS, 0x00e0);
2323593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, VX_BCD_EXECUTION_SLOTS, 0x00e1);
2333593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, DECIMAL_INSTRUCTIONS, 0x00e2);
23481507f38SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, LAST_HOST_TRANSLATIONS, 0x00e8);
2353593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TX_NC_TABORT, 0x00f3);
2363593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TX_C_TABORT_NO_SPECIAL, 0x00f4);
2373593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, TX_C_TABORT_SPECIAL, 0x00f5);
2383593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
2393593eb94SHendrik Brueckner CPUMF_EVENT_ATTR(cf_z14, MT_DIAG_CYCLES_TWO_THR_ACTIVE, 0x01c1);
240c7168325SHendrik Brueckner 
241d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_RO_EXCL_WRITES, 0x0080);
242d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DTLB2_WRITES, 0x0081);
243d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DTLB2_MISSES, 0x0082);
244d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DTLB2_HPAGE_WRITES, 0x0083);
245d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DTLB2_GPAGE_WRITES, 0x0084);
246d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_L2D_SOURCED_WRITES, 0x0085);
247d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, ITLB2_WRITES, 0x0086);
248d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, ITLB2_MISSES, 0x0087);
249d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_L2I_SOURCED_WRITES, 0x0088);
250d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TLB2_PTE_WRITES, 0x0089);
251d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TLB2_CRSTE_WRITES, 0x008a);
252d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TLB2_ENGINES_BUSY, 0x008b);
253d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TX_C_TEND, 0x008c);
254d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TX_NC_TEND, 0x008d);
255d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1C_TLB2_MISSES, 0x008f);
256d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES, 0x0090);
257d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCHIP_MEMORY_SOURCED_WRITES, 0x0091);
258d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_IV, 0x0092);
259d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES, 0x0093);
260d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES, 0x0094);
261d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV, 0x0095);
262d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES, 0x0096);
263d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES, 0x0097);
264d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV, 0x0098);
265d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES, 0x0099);
266d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES, 0x009a);
267d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV, 0x009b);
268d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONDRAWER_L4_SOURCED_WRITES, 0x009c);
269d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_OFFDRAWER_L4_SOURCED_WRITES, 0x009d);
270d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_RO, 0x009e);
271d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES, 0x00a2);
272d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCHIP_MEMORY_SOURCED_WRITES, 0x00a3);
273d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES_IV, 0x00a4);
274d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES, 0x00a5);
275d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES, 0x00a6);
276d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV, 0x00a7);
277d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES, 0x00a8);
278d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES, 0x00a9);
279d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV, 0x00aa);
280d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES, 0x00ab);
281d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES, 0x00ac);
282d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV, 0x00ad);
283d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_ONDRAWER_L4_SOURCED_WRITES, 0x00ae);
284d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, L1I_OFFDRAWER_L4_SOURCED_WRITES, 0x00af);
285d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, BCD_DFP_EXECUTION_SLOTS, 0x00e0);
286d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, VX_BCD_EXECUTION_SLOTS, 0x00e1);
287d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DECIMAL_INSTRUCTIONS, 0x00e2);
288d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, LAST_HOST_TRANSLATIONS, 0x00e8);
289d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TX_NC_TABORT, 0x00f3);
290d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TX_C_TABORT_NO_SPECIAL, 0x00f4);
291d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, TX_C_TABORT_SPECIAL, 0x00f5);
292d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DFLT_ACCESS, 0x00f7);
293d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DFLT_CYCLES, 0x00fc);
294d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DFLT_CC, 0x00108);
2953d3af181SThomas Richter CPUMF_EVENT_ATTR(cf_z15, DFLT_CCFINISH, 0x00109);
296d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
297d68d5d51SThomas Richter CPUMF_EVENT_ATTR(cf_z15, MT_DIAG_CYCLES_TWO_THR_ACTIVE, 0x01c1);
298*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, L1D_RO_EXCL_WRITES, 0x0080);
299*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_WRITES, 0x0081);
300*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_MISSES, 0x0082);
301*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, CRSTE_1MB_WRITES, 0x0083);
302*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_GPAGE_WRITES, 0x0084);
303*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ITLB2_WRITES, 0x0086);
304*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ITLB2_MISSES, 0x0087);
305*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_PTE_WRITES, 0x0089);
306*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_CRSTE_WRITES, 0x008a);
307*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_ENGINES_BUSY, 0x008b);
308*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TEND, 0x008c);
309*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_NC_TEND, 0x008d);
310*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, L1C_TLB2_MISSES, 0x008f);
311*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ, 0x0091);
312*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_IV, 0x0092);
313*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_CHIP_HIT, 0x0093);
314*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_DRAWER_HIT, 0x0094);
315*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP, 0x0095);
316*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_IV, 0x0096);
317*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_CHIP_HIT, 0x0097);
318*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_DRAWER_HIT, 0x0098);
319*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_MODULE, 0x0099);
320*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_DRAWER, 0x009a);
321*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_OFF_DRAWER, 0x009b);
322*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_MEMORY, 0x009c);
323*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_MODULE_MEMORY, 0x009d);
324*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_DRAWER_MEMORY, 0x009e);
325*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_OFF_DRAWER_MEMORY, 0x009f);
326*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_IV, 0x00a0);
327*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_CHIP_HIT, 0x00a1);
328*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_DRAWER_HIT, 0x00a2);
329*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_IV, 0x00a3);
330*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_CHIP_HIT, 0x00a4);
331*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_DRAWER_HIT, 0x00a5);
332*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_IV, 0x00a6);
333*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_CHIP_HIT, 0x00a7);
334*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_DRAWER_HIT, 0x00a8);
335*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ, 0x00a9);
336*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_IV, 0x00aa);
337*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_CHIP_HIT, 0x00ab);
338*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_DRAWER_HIT, 0x00ac);
339*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP, 0x00ad);
340*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_IV, 0x00ae);
341*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_CHIP_HIT, 0x00af);
342*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_DRAWER_HIT, 0x00b0);
343*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_MODULE, 0x00b1);
344*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_DRAWER, 0x00b2);
345*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_OFF_DRAWER, 0x00b3);
346*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_MEMORY, 0x00b4);
347*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_MODULE_MEMORY, 0x00b5);
348*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_DRAWER_MEMORY, 0x00b6);
349*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_OFF_DRAWER_MEMORY, 0x00b7);
350*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, BCD_DFP_EXECUTION_SLOTS, 0x00e0);
351*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, VX_BCD_EXECUTION_SLOTS, 0x00e1);
352*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DECIMAL_INSTRUCTIONS, 0x00e2);
353*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, LAST_HOST_TRANSLATIONS, 0x00e8);
354*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_NC_TABORT, 0x00f4);
355*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TABORT_NO_SPECIAL, 0x00f5);
356*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TABORT_SPECIAL, 0x00f6);
357*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_ACCESS, 0x00f8);
358*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CYCLES, 0x00fd);
359*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, SORTL, 0x0100);
360*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CC, 0x0109);
361*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CCFINISH, 0x010a);
362*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_INVOCATIONS, 0x010b);
363*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_COMPLETIONS, 0x010c);
364*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_WAIT_LOCK, 0x010d);
365*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_HOLD_LOCK, 0x010e);
366*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
367*c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, MT_DIAG_CYCLES_TWO_THR_ACTIVE, 0x01c1);
368d68d5d51SThomas Richter 
3693593eb94SHendrik Brueckner static struct attribute *cpumcf_fvn1_pmu_event_attr[] __initdata = {
3703593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, CPU_CYCLES),
3713593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, INSTRUCTIONS),
3723593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, L1I_DIR_WRITES),
3733593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, L1I_PENALTY_CYCLES),
3743593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_CPU_CYCLES),
3753593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_INSTRUCTIONS),
3763593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1I_DIR_WRITES),
3773593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1I_PENALTY_CYCLES),
3783593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1D_DIR_WRITES),
3793593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1D_PENALTY_CYCLES),
3803593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, L1D_DIR_WRITES),
3813593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn1, L1D_PENALTY_CYCLES),
3823593eb94SHendrik Brueckner 	NULL,
3833593eb94SHendrik Brueckner };
3843593eb94SHendrik Brueckner 
3853593eb94SHendrik Brueckner static struct attribute *cpumcf_fvn3_pmu_event_attr[] __initdata = {
3863593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, CPU_CYCLES),
3873593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, INSTRUCTIONS),
3883593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, L1I_DIR_WRITES),
3893593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, L1I_PENALTY_CYCLES),
3903593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, PROBLEM_STATE_CPU_CYCLES),
3913593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, PROBLEM_STATE_INSTRUCTIONS),
3923593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, L1D_DIR_WRITES),
3933593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_fvn3, L1D_PENALTY_CYCLES),
3943593eb94SHendrik Brueckner 	NULL,
3953593eb94SHendrik Brueckner };
3963593eb94SHendrik Brueckner 
39746a984ffSThomas Richter static struct attribute *cpumcf_svn_12345_pmu_event_attr[] __initdata = {
39846a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_FUNCTIONS),
39946a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_CYCLES),
40046a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_FUNCTIONS),
40146a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_CYCLES),
40246a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_FUNCTIONS),
40346a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_CYCLES),
40446a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_FUNCTIONS),
40546a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_CYCLES),
40646a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_FUNCTIONS),
40746a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_CYCLES),
40846a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_FUNCTIONS),
40946a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_CYCLES),
41046a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_FUNCTIONS),
41146a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_CYCLES),
41246a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_FUNCTIONS),
41346a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_CYCLES),
41446a984ffSThomas Richter 	NULL,
41546a984ffSThomas Richter };
41646a984ffSThomas Richter 
417a87b0fd4SThomas Richter static struct attribute *cpumcf_svn_67_pmu_event_attr[] __initdata = {
41846a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_FUNCTIONS),
41946a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_CYCLES),
42046a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_FUNCTIONS),
42146a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_CYCLES),
42246a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_FUNCTIONS),
42346a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_CYCLES),
42446a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_FUNCTIONS),
42546a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_CYCLES),
42646a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_FUNCTIONS),
42746a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_CYCLES),
42846a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_FUNCTIONS),
42946a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_CYCLES),
43046a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_FUNCTIONS),
43146a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_CYCLES),
43246a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_FUNCTIONS),
43346a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_CYCLES),
43446a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_6, ECC_FUNCTION_COUNT),
43546a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_6, ECC_CYCLES_COUNT),
43646a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_6, ECC_BLOCKED_FUNCTION_COUNT),
43746a984ffSThomas Richter 	CPUMF_EVENT_PTR(cf_svn_6, ECC_BLOCKED_CYCLES_COUNT),
438c7168325SHendrik Brueckner 	NULL,
439c7168325SHendrik Brueckner };
440c7168325SHendrik Brueckner 
441c7168325SHendrik Brueckner static struct attribute *cpumcf_z10_pmu_event_attr[] __initdata = {
442c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1I_L2_SOURCED_WRITES),
443c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1D_L2_SOURCED_WRITES),
444c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1I_L3_LOCAL_WRITES),
445c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1D_L3_LOCAL_WRITES),
446c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1I_L3_REMOTE_WRITES),
447c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1D_L3_REMOTE_WRITES),
448c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1D_LMEM_SOURCED_WRITES),
449c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1I_LMEM_SOURCED_WRITES),
450c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1D_RO_EXCL_WRITES),
451c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L1I_CACHELINE_INVALIDATES),
452c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, ITLB1_WRITES),
453c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, DTLB1_WRITES),
454c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, TLB2_PTE_WRITES),
455c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, TLB2_CRSTE_WRITES),
456c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, TLB2_CRSTE_HPAGE_WRITES),
457c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, ITLB1_MISSES),
458c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, DTLB1_MISSES),
459c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z10, L2C_STORES_SENT),
460c7168325SHendrik Brueckner 	NULL,
461c7168325SHendrik Brueckner };
462c7168325SHendrik Brueckner 
463c7168325SHendrik Brueckner static struct attribute *cpumcf_z196_pmu_event_attr[] __initdata = {
464c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_L2_SOURCED_WRITES),
465c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_L2_SOURCED_WRITES),
466c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, DTLB1_MISSES),
467c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, ITLB1_MISSES),
468c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L2C_STORES_SENT),
469c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_OFFBOOK_L3_SOURCED_WRITES),
470c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_ONBOOK_L4_SOURCED_WRITES),
471c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_ONBOOK_L4_SOURCED_WRITES),
472c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_RO_EXCL_WRITES),
473c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_OFFBOOK_L4_SOURCED_WRITES),
474c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_OFFBOOK_L4_SOURCED_WRITES),
475c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, DTLB1_HPAGE_WRITES),
476c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_LMEM_SOURCED_WRITES),
477c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_LMEM_SOURCED_WRITES),
478c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_OFFBOOK_L3_SOURCED_WRITES),
479c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, DTLB1_WRITES),
480c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, ITLB1_WRITES),
481c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, TLB2_PTE_WRITES),
482c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, TLB2_CRSTE_HPAGE_WRITES),
483c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, TLB2_CRSTE_WRITES),
484c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_ONCHIP_L3_SOURCED_WRITES),
485c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1D_OFFCHIP_L3_SOURCED_WRITES),
486c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_ONCHIP_L3_SOURCED_WRITES),
487c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z196, L1I_OFFCHIP_L3_SOURCED_WRITES),
488c7168325SHendrik Brueckner 	NULL,
489c7168325SHendrik Brueckner };
490c7168325SHendrik Brueckner 
491c7168325SHendrik Brueckner static struct attribute *cpumcf_zec12_pmu_event_attr[] __initdata = {
492c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, DTLB1_MISSES),
493c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, ITLB1_MISSES),
494c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_L2I_SOURCED_WRITES),
495c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_L2I_SOURCED_WRITES),
496c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_L2D_SOURCED_WRITES),
497c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, DTLB1_WRITES),
498c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_LMEM_SOURCED_WRITES),
499c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_LMEM_SOURCED_WRITES),
500c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_RO_EXCL_WRITES),
501c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, DTLB1_HPAGE_WRITES),
502c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, ITLB1_WRITES),
503c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TLB2_PTE_WRITES),
504c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TLB2_CRSTE_HPAGE_WRITES),
505c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TLB2_CRSTE_WRITES),
506c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES),
507c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES),
508c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES),
509c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_ONBOOK_L4_SOURCED_WRITES),
510c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L4_SOURCED_WRITES),
511c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TX_NC_TEND),
512c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES_IV),
513c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES_IV),
514c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES_IV),
515c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES),
516c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES),
517c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES),
518c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_ONBOOK_L4_SOURCED_WRITES),
519c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L4_SOURCED_WRITES),
520c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TX_C_TEND),
521c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES_IV),
522c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES_IV),
523c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES_IV),
524c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TX_NC_TABORT),
525c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TX_C_TABORT_NO_SPECIAL),
526c7168325SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_zec12, TX_C_TABORT_SPECIAL),
527c7168325SHendrik Brueckner 	NULL,
528c7168325SHendrik Brueckner };
529c7168325SHendrik Brueckner 
5303fc7acebSHendrik Brueckner static struct attribute *cpumcf_z13_pmu_event_attr[] __initdata = {
5315f3ba878SAndré Wild 	CPUMF_EVENT_PTR(cf_z13, L1D_RO_EXCL_WRITES),
5323fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, DTLB1_WRITES),
5333fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, DTLB1_MISSES),
5343fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, DTLB1_HPAGE_WRITES),
5353fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, DTLB1_GPAGE_WRITES),
5363fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_L2D_SOURCED_WRITES),
5373fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, ITLB1_WRITES),
5383fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, ITLB1_MISSES),
5393fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_L2I_SOURCED_WRITES),
5403fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TLB2_PTE_WRITES),
5413fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TLB2_CRSTE_HPAGE_WRITES),
5423fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TLB2_CRSTE_WRITES),
5433fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TX_C_TEND),
5443fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TX_NC_TEND),
5453fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1C_TLB1_MISSES),
5463fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES),
5473fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES_IV),
5483fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L4_SOURCED_WRITES),
5493fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES_IV),
5503fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES),
5513fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L4_SOURCED_WRITES),
5523fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES_IV),
5533fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES),
5543fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L4_SOURCED_WRITES),
5553fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV),
5563fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES),
5573fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L4_SOURCED_WRITES),
5583fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV),
5593fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES),
5603fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_MEM_SOURCED_WRITES),
5613fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_MEM_SOURCED_WRITES),
5623fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_MEM_SOURCED_WRITES),
5633fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_MEM_SOURCED_WRITES),
5643fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES),
5653fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES_IV),
5663fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L4_SOURCED_WRITES),
5673fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES_IV),
5683fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES),
5693fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L4_SOURCED_WRITES),
5703fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES_IV),
5713fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES),
5723fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L4_SOURCED_WRITES),
5733fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV),
5743fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES),
5753fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L4_SOURCED_WRITES),
5763fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV),
5773fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES),
5783fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_MEM_SOURCED_WRITES),
5793fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_MEM_SOURCED_WRITES),
5803fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_MEM_SOURCED_WRITES),
5813fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_MEM_SOURCED_WRITES),
5823fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TX_NC_TABORT),
5833fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TX_C_TABORT_NO_SPECIAL),
5843fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, TX_C_TABORT_SPECIAL),
5853fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
5863fc7acebSHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z13, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
5873fc7acebSHendrik Brueckner 	NULL,
5883fc7acebSHendrik Brueckner };
5893fc7acebSHendrik Brueckner 
5903593eb94SHendrik Brueckner static struct attribute *cpumcf_z14_pmu_event_attr[] __initdata = {
5915f3ba878SAndré Wild 	CPUMF_EVENT_PTR(cf_z14, L1D_RO_EXCL_WRITES),
5923593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, DTLB2_WRITES),
5933593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, DTLB2_MISSES),
5943593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, DTLB2_HPAGE_WRITES),
5953593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, DTLB2_GPAGE_WRITES),
5963593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_L2D_SOURCED_WRITES),
5973593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, ITLB2_WRITES),
5983593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, ITLB2_MISSES),
5993593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_L2I_SOURCED_WRITES),
6003593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TLB2_PTE_WRITES),
6013593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TLB2_CRSTE_WRITES),
6023593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TLB2_ENGINES_BUSY),
6033593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TX_C_TEND),
6043593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TX_NC_TEND),
6053593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1C_TLB2_MISSES),
6063593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES),
6073593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_MEMORY_SOURCED_WRITES),
6083593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_IV),
6093593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES),
6103593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES),
6113593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV),
6123593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES),
6133593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES),
6143593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV),
6153593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES),
6163593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES),
6173593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV),
6183593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONDRAWER_L4_SOURCED_WRITES),
6193593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L4_SOURCED_WRITES),
6203593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_RO),
6213593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES),
6223593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_MEMORY_SOURCED_WRITES),
6233593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES_IV),
6243593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES),
6253593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES),
6263593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV),
6273593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES),
6283593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES),
6293593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV),
6303593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES),
6313593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES),
6323593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV),
6333593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_ONDRAWER_L4_SOURCED_WRITES),
6343593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L4_SOURCED_WRITES),
6353593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, BCD_DFP_EXECUTION_SLOTS),
6363593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, VX_BCD_EXECUTION_SLOTS),
6373593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, DECIMAL_INSTRUCTIONS),
6383593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, LAST_HOST_TRANSLATIONS),
6393593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TX_NC_TABORT),
6403593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TX_C_TABORT_NO_SPECIAL),
6413593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, TX_C_TABORT_SPECIAL),
6423593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
6433593eb94SHendrik Brueckner 	CPUMF_EVENT_PTR(cf_z14, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
6443593eb94SHendrik Brueckner 	NULL,
6453593eb94SHendrik Brueckner };
6463593eb94SHendrik Brueckner 
647d68d5d51SThomas Richter static struct attribute *cpumcf_z15_pmu_event_attr[] __initdata = {
648d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_RO_EXCL_WRITES),
649d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DTLB2_WRITES),
650d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DTLB2_MISSES),
651d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DTLB2_HPAGE_WRITES),
652d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DTLB2_GPAGE_WRITES),
653d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_L2D_SOURCED_WRITES),
654d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, ITLB2_WRITES),
655d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, ITLB2_MISSES),
656d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_L2I_SOURCED_WRITES),
657d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TLB2_PTE_WRITES),
658d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TLB2_CRSTE_WRITES),
659d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TLB2_ENGINES_BUSY),
660d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TX_C_TEND),
661d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TX_NC_TEND),
662d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1C_TLB2_MISSES),
663d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES),
664d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_MEMORY_SOURCED_WRITES),
665d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_IV),
666d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES),
667d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES),
668d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV),
669d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES),
670d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES),
671d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV),
672d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES),
673d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES),
674d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV),
675d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONDRAWER_L4_SOURCED_WRITES),
676d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L4_SOURCED_WRITES),
677d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_RO),
678d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES),
679d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_MEMORY_SOURCED_WRITES),
680d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES_IV),
681d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES),
682d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES),
683d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV),
684d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES),
685d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES),
686d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV),
687d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES),
688d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES),
689d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV),
690d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_ONDRAWER_L4_SOURCED_WRITES),
691d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L4_SOURCED_WRITES),
692d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, BCD_DFP_EXECUTION_SLOTS),
693d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, VX_BCD_EXECUTION_SLOTS),
694d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DECIMAL_INSTRUCTIONS),
695d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, LAST_HOST_TRANSLATIONS),
696d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TX_NC_TABORT),
697d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TX_C_TABORT_NO_SPECIAL),
698d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, TX_C_TABORT_SPECIAL),
699d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DFLT_ACCESS),
700d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DFLT_CYCLES),
701d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DFLT_CC),
7023d3af181SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, DFLT_CCFINISH),
703d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
704d68d5d51SThomas Richter 	CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
705d68d5d51SThomas Richter 	NULL,
706d68d5d51SThomas Richter };
707d68d5d51SThomas Richter 
708*c9311de7SThomas Richter static struct attribute *cpumcf_z16_pmu_event_attr[] __initdata = {
709*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, L1D_RO_EXCL_WRITES),
710*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_WRITES),
711*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_MISSES),
712*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, CRSTE_1MB_WRITES),
713*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_GPAGE_WRITES),
714*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ITLB2_WRITES),
715*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ITLB2_MISSES),
716*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_PTE_WRITES),
717*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_CRSTE_WRITES),
718*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_ENGINES_BUSY),
719*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TEND),
720*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_NC_TEND),
721*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, L1C_TLB2_MISSES),
722*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ),
723*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_IV),
724*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_CHIP_HIT),
725*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_DRAWER_HIT),
726*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP),
727*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_IV),
728*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_CHIP_HIT),
729*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_DRAWER_HIT),
730*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_MODULE),
731*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_DRAWER),
732*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_OFF_DRAWER),
733*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_MEMORY),
734*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_MODULE_MEMORY),
735*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_DRAWER_MEMORY),
736*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_OFF_DRAWER_MEMORY),
737*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_IV),
738*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_CHIP_HIT),
739*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_DRAWER_HIT),
740*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_IV),
741*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_CHIP_HIT),
742*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_DRAWER_HIT),
743*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_IV),
744*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_CHIP_HIT),
745*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_DRAWER_HIT),
746*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ),
747*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_IV),
748*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_CHIP_HIT),
749*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_DRAWER_HIT),
750*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP),
751*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_IV),
752*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_CHIP_HIT),
753*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_DRAWER_HIT),
754*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_MODULE),
755*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_DRAWER),
756*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_OFF_DRAWER),
757*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_MEMORY),
758*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_MODULE_MEMORY),
759*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_DRAWER_MEMORY),
760*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_OFF_DRAWER_MEMORY),
761*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, BCD_DFP_EXECUTION_SLOTS),
762*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, VX_BCD_EXECUTION_SLOTS),
763*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DECIMAL_INSTRUCTIONS),
764*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, LAST_HOST_TRANSLATIONS),
765*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_NC_TABORT),
766*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TABORT_NO_SPECIAL),
767*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TABORT_SPECIAL),
768*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_ACCESS),
769*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CYCLES),
770*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, SORTL),
771*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CC),
772*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CCFINISH),
773*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_INVOCATIONS),
774*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_COMPLETIONS),
775*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_WAIT_LOCK),
776*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_HOLD_LOCK),
777*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
778*c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
779*c9311de7SThomas Richter 	NULL,
780*c9311de7SThomas Richter };
781*c9311de7SThomas Richter 
782c7168325SHendrik Brueckner /* END: CPUM_CF COUNTER DEFINITIONS ===================================== */
783c7168325SHendrik Brueckner 
78466a49784SHendrik Brueckner static struct attribute_group cpumcf_pmu_events_group = {
785c7168325SHendrik Brueckner 	.name = "events",
786c7168325SHendrik Brueckner };
787c7168325SHendrik Brueckner 
788c7168325SHendrik Brueckner PMU_FORMAT_ATTR(event, "config:0-63");
789c7168325SHendrik Brueckner 
79066a49784SHendrik Brueckner static struct attribute *cpumcf_pmu_format_attr[] = {
791c7168325SHendrik Brueckner 	&format_attr_event.attr,
792c7168325SHendrik Brueckner 	NULL,
793c7168325SHendrik Brueckner };
794c7168325SHendrik Brueckner 
79566a49784SHendrik Brueckner static struct attribute_group cpumcf_pmu_format_group = {
796c7168325SHendrik Brueckner 	.name = "format",
79766a49784SHendrik Brueckner 	.attrs = cpumcf_pmu_format_attr,
798c7168325SHendrik Brueckner };
799c7168325SHendrik Brueckner 
80066a49784SHendrik Brueckner static const struct attribute_group *cpumcf_pmu_attr_groups[] = {
80166a49784SHendrik Brueckner 	&cpumcf_pmu_events_group,
80266a49784SHendrik Brueckner 	&cpumcf_pmu_format_group,
803c7168325SHendrik Brueckner 	NULL,
804c7168325SHendrik Brueckner };
805c7168325SHendrik Brueckner 
806c7168325SHendrik Brueckner 
merge_attr(struct attribute ** a,struct attribute ** b,struct attribute ** c)807c7168325SHendrik Brueckner static __init struct attribute **merge_attr(struct attribute **a,
8083593eb94SHendrik Brueckner 					    struct attribute **b,
8093593eb94SHendrik Brueckner 					    struct attribute **c)
810c7168325SHendrik Brueckner {
811c7168325SHendrik Brueckner 	struct attribute **new;
812c7168325SHendrik Brueckner 	int j, i;
813c7168325SHendrik Brueckner 
814c7168325SHendrik Brueckner 	for (j = 0; a[j]; j++)
815c7168325SHendrik Brueckner 		;
816c7168325SHendrik Brueckner 	for (i = 0; b[i]; i++)
817c7168325SHendrik Brueckner 		j++;
8183593eb94SHendrik Brueckner 	for (i = 0; c[i]; i++)
8193593eb94SHendrik Brueckner 		j++;
820c7168325SHendrik Brueckner 	j++;
821c7168325SHendrik Brueckner 
8226da2ec56SKees Cook 	new = kmalloc_array(j, sizeof(struct attribute *), GFP_KERNEL);
823c7168325SHendrik Brueckner 	if (!new)
824c7168325SHendrik Brueckner 		return NULL;
825c7168325SHendrik Brueckner 	j = 0;
826c7168325SHendrik Brueckner 	for (i = 0; a[i]; i++)
827c7168325SHendrik Brueckner 		new[j++] = a[i];
828c7168325SHendrik Brueckner 	for (i = 0; b[i]; i++)
829c7168325SHendrik Brueckner 		new[j++] = b[i];
8303593eb94SHendrik Brueckner 	for (i = 0; c[i]; i++)
8313593eb94SHendrik Brueckner 		new[j++] = c[i];
832c7168325SHendrik Brueckner 	new[j] = NULL;
833c7168325SHendrik Brueckner 
834c7168325SHendrik Brueckner 	return new;
835c7168325SHendrik Brueckner }
836c7168325SHendrik Brueckner 
cpumf_cf_event_group(void)837c7168325SHendrik Brueckner __init const struct attribute_group **cpumf_cf_event_group(void)
838c7168325SHendrik Brueckner {
8393593eb94SHendrik Brueckner 	struct attribute **combined, **model, **cfvn, **csvn;
8403fc7acebSHendrik Brueckner 	struct attribute *none[] = { NULL };
8413593eb94SHendrik Brueckner 	struct cpumf_ctr_info ci;
842c7168325SHendrik Brueckner 	struct cpuid cpu_id;
843c7168325SHendrik Brueckner 
8443593eb94SHendrik Brueckner 	/* Determine generic counters set(s) */
8453593eb94SHendrik Brueckner 	qctri(&ci);
8463593eb94SHendrik Brueckner 	switch (ci.cfvn) {
8473593eb94SHendrik Brueckner 	case 1:
8483593eb94SHendrik Brueckner 		cfvn = cpumcf_fvn1_pmu_event_attr;
8493593eb94SHendrik Brueckner 		break;
8503593eb94SHendrik Brueckner 	case 3:
8513593eb94SHendrik Brueckner 		cfvn = cpumcf_fvn3_pmu_event_attr;
8523593eb94SHendrik Brueckner 		break;
8533593eb94SHendrik Brueckner 	default:
8543593eb94SHendrik Brueckner 		cfvn = none;
8553593eb94SHendrik Brueckner 	}
85646a984ffSThomas Richter 
85746a984ffSThomas Richter 	/* Determine version specific crypto set */
85846a984ffSThomas Richter 	switch (ci.csvn) {
85946a984ffSThomas Richter 	case 1 ... 5:
86046a984ffSThomas Richter 		csvn = cpumcf_svn_12345_pmu_event_attr;
86146a984ffSThomas Richter 		break;
862a87b0fd4SThomas Richter 	case 6 ... 7:
863a87b0fd4SThomas Richter 		csvn = cpumcf_svn_67_pmu_event_attr;
86446a984ffSThomas Richter 		break;
86546a984ffSThomas Richter 	default:
86646a984ffSThomas Richter 		csvn = none;
86746a984ffSThomas Richter 	}
8683593eb94SHendrik Brueckner 
8693593eb94SHendrik Brueckner 	/* Determine model-specific counter set(s) */
870c7168325SHendrik Brueckner 	get_cpu_id(&cpu_id);
871c7168325SHendrik Brueckner 	switch (cpu_id.machine) {
872c7168325SHendrik Brueckner 	case 0x2097:
873c7168325SHendrik Brueckner 	case 0x2098:
874c7168325SHendrik Brueckner 		model = cpumcf_z10_pmu_event_attr;
875c7168325SHendrik Brueckner 		break;
876c7168325SHendrik Brueckner 	case 0x2817:
877c7168325SHendrik Brueckner 	case 0x2818:
878c7168325SHendrik Brueckner 		model = cpumcf_z196_pmu_event_attr;
879c7168325SHendrik Brueckner 		break;
880c7168325SHendrik Brueckner 	case 0x2827:
881c7168325SHendrik Brueckner 	case 0x2828:
882c7168325SHendrik Brueckner 		model = cpumcf_zec12_pmu_event_attr;
883c7168325SHendrik Brueckner 		break;
8843fc7acebSHendrik Brueckner 	case 0x2964:
8853fc7acebSHendrik Brueckner 	case 0x2965:
8863fc7acebSHendrik Brueckner 		model = cpumcf_z13_pmu_event_attr;
8873fc7acebSHendrik Brueckner 		break;
8883593eb94SHendrik Brueckner 	case 0x3906:
889451239ebSHeiko Carstens 	case 0x3907:
890d68d5d51SThomas Richter 		model = cpumcf_z14_pmu_event_attr;
891d68d5d51SThomas Richter 		break;
892820bace7SThomas Richter 	case 0x8561:
893820bace7SThomas Richter 	case 0x8562:
894d68d5d51SThomas Richter 		model = cpumcf_z15_pmu_event_attr;
8953593eb94SHendrik Brueckner 		break;
896*c9311de7SThomas Richter 	case 0x3931:
897*c9311de7SThomas Richter 	case 0x3932:
898*c9311de7SThomas Richter 		model = cpumcf_z16_pmu_event_attr;
899*c9311de7SThomas Richter 		break;
900c7168325SHendrik Brueckner 	default:
9013fc7acebSHendrik Brueckner 		model = none;
902c7168325SHendrik Brueckner 		break;
9030b925159SHeiko Carstens 	}
904c7168325SHendrik Brueckner 
9053593eb94SHendrik Brueckner 	combined = merge_attr(cfvn, csvn, model);
906c7168325SHendrik Brueckner 	if (combined)
90766a49784SHendrik Brueckner 		cpumcf_pmu_events_group.attrs = combined;
90866a49784SHendrik Brueckner 	return cpumcf_pmu_attr_groups;
909c7168325SHendrik Brueckner }
910