xref: /linux/arch/s390/kernel/perf_cpum_cf_events.c (revision f10933cbd2dfddf6273698a45f76db9bafd8150f)
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);
298c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, L1D_RO_EXCL_WRITES, 0x0080);
299c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_WRITES, 0x0081);
300c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_MISSES, 0x0082);
301c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, CRSTE_1MB_WRITES, 0x0083);
302c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DTLB2_GPAGE_WRITES, 0x0084);
303c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ITLB2_WRITES, 0x0086);
304c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ITLB2_MISSES, 0x0087);
305c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_PTE_WRITES, 0x0089);
306c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_CRSTE_WRITES, 0x008a);
307c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TLB2_ENGINES_BUSY, 0x008b);
308c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TEND, 0x008c);
309c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_NC_TEND, 0x008d);
310c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, L1C_TLB2_MISSES, 0x008f);
311c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ, 0x0091);
312c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_IV, 0x0092);
313c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_CHIP_HIT, 0x0093);
314c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_REQ_DRAWER_HIT, 0x0094);
315c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP, 0x0095);
316c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_IV, 0x0096);
317c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_CHIP_HIT, 0x0097);
318c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_DRAWER_HIT, 0x0098);
319c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_MODULE, 0x0099);
320c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_DRAWER, 0x009a);
321c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_OFF_DRAWER, 0x009b);
322c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_CHIP_MEMORY, 0x009c);
323c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_MODULE_MEMORY, 0x009d);
324c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_ON_DRAWER_MEMORY, 0x009e);
325c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DCW_OFF_DRAWER_MEMORY, 0x009f);
326c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_IV, 0x00a0);
327c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_CHIP_HIT, 0x00a1);
328c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_MODULE_DRAWER_HIT, 0x00a2);
329c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_IV, 0x00a3);
330c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_CHIP_HIT, 0x00a4);
331c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_ON_DRAWER_DRAWER_HIT, 0x00a5);
332c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_IV, 0x00a6);
333c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_CHIP_HIT, 0x00a7);
334c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, IDCW_OFF_DRAWER_DRAWER_HIT, 0x00a8);
335c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ, 0x00a9);
336c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_IV, 0x00aa);
337c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_CHIP_HIT, 0x00ab);
338c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_REQ_DRAWER_HIT, 0x00ac);
339c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP, 0x00ad);
340c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_IV, 0x00ae);
341c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_CHIP_HIT, 0x00af);
342c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_DRAWER_HIT, 0x00b0);
343c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_MODULE, 0x00b1);
344c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_DRAWER, 0x00b2);
345c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_OFF_DRAWER, 0x00b3);
346c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_CHIP_MEMORY, 0x00b4);
347c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_MODULE_MEMORY, 0x00b5);
348c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_ON_DRAWER_MEMORY, 0x00b6);
349c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, ICW_OFF_DRAWER_MEMORY, 0x00b7);
350c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, BCD_DFP_EXECUTION_SLOTS, 0x00e0);
351c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, VX_BCD_EXECUTION_SLOTS, 0x00e1);
352c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DECIMAL_INSTRUCTIONS, 0x00e2);
353c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, LAST_HOST_TRANSLATIONS, 0x00e8);
354c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_NC_TABORT, 0x00f4);
355c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TABORT_NO_SPECIAL, 0x00f5);
356c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, TX_C_TABORT_SPECIAL, 0x00f6);
357c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_ACCESS, 0x00f8);
358c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CYCLES, 0x00fd);
359c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, SORTL, 0x0100);
360c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CC, 0x0109);
361c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, DFLT_CCFINISH, 0x010a);
362c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_INVOCATIONS, 0x010b);
363c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_COMPLETIONS, 0x010c);
364c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_WAIT_LOCK, 0x010d);
365c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, NNPA_HOLD_LOCK, 0x010e);
366c9311de7SThomas Richter CPUMF_EVENT_ATTR(cf_z16, MT_DIAG_CYCLES_ONE_THR_ACTIVE, 0x01c0);
367c9311de7SThomas 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 
708c9311de7SThomas Richter static struct attribute *cpumcf_z16_pmu_event_attr[] __initdata = {
709c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, L1D_RO_EXCL_WRITES),
710c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_WRITES),
711c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_MISSES),
712c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, CRSTE_1MB_WRITES),
713c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DTLB2_GPAGE_WRITES),
714c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ITLB2_WRITES),
715c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ITLB2_MISSES),
716c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_PTE_WRITES),
717c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_CRSTE_WRITES),
718c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TLB2_ENGINES_BUSY),
719c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TEND),
720c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_NC_TEND),
721c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, L1C_TLB2_MISSES),
722c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ),
723c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_IV),
724c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_CHIP_HIT),
725c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_REQ_DRAWER_HIT),
726c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP),
727c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_IV),
728c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_CHIP_HIT),
729c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_DRAWER_HIT),
730c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_MODULE),
731c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_DRAWER),
732c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_OFF_DRAWER),
733c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_CHIP_MEMORY),
734c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_MODULE_MEMORY),
735c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_ON_DRAWER_MEMORY),
736c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DCW_OFF_DRAWER_MEMORY),
737c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_IV),
738c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_CHIP_HIT),
739c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_MODULE_DRAWER_HIT),
740c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_IV),
741c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_CHIP_HIT),
742c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_ON_DRAWER_DRAWER_HIT),
743c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_IV),
744c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_CHIP_HIT),
745c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, IDCW_OFF_DRAWER_DRAWER_HIT),
746c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ),
747c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_IV),
748c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_CHIP_HIT),
749c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_REQ_DRAWER_HIT),
750c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP),
751c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_IV),
752c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_CHIP_HIT),
753c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_DRAWER_HIT),
754c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_MODULE),
755c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_DRAWER),
756c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_OFF_DRAWER),
757c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_CHIP_MEMORY),
758c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_MODULE_MEMORY),
759c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_ON_DRAWER_MEMORY),
760c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, ICW_OFF_DRAWER_MEMORY),
761c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, BCD_DFP_EXECUTION_SLOTS),
762c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, VX_BCD_EXECUTION_SLOTS),
763c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DECIMAL_INSTRUCTIONS),
764c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, LAST_HOST_TRANSLATIONS),
765c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_NC_TABORT),
766c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TABORT_NO_SPECIAL),
767c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, TX_C_TABORT_SPECIAL),
768c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_ACCESS),
769c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CYCLES),
770c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, SORTL),
771c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CC),
772c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, DFLT_CCFINISH),
773c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_INVOCATIONS),
774c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_COMPLETIONS),
775c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_WAIT_LOCK),
776c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, NNPA_HOLD_LOCK),
777c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, MT_DIAG_CYCLES_ONE_THR_ACTIVE),
778c9311de7SThomas Richter 	CPUMF_EVENT_PTR(cf_z16, MT_DIAG_CYCLES_TWO_THR_ACTIVE),
779c9311de7SThomas Richter 	NULL,
780c9311de7SThomas Richter };
781c9311de7SThomas 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 
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 
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 	csvn = none;
859*f10933cbSThomas Richter 	if (ci.csvn >= 1 && ci.csvn <= 5)
860*f10933cbSThomas Richter 		csvn = cpumcf_svn_12345_pmu_event_attr;
861*f10933cbSThomas Richter 	else if (ci.csvn >= 6)
862*f10933cbSThomas Richter 		csvn = cpumcf_svn_67_pmu_event_attr;
8633593eb94SHendrik Brueckner 
8643593eb94SHendrik Brueckner 	/* Determine model-specific counter set(s) */
865c7168325SHendrik Brueckner 	get_cpu_id(&cpu_id);
866c7168325SHendrik Brueckner 	switch (cpu_id.machine) {
867c7168325SHendrik Brueckner 	case 0x2097:
868c7168325SHendrik Brueckner 	case 0x2098:
869c7168325SHendrik Brueckner 		model = cpumcf_z10_pmu_event_attr;
870c7168325SHendrik Brueckner 		break;
871c7168325SHendrik Brueckner 	case 0x2817:
872c7168325SHendrik Brueckner 	case 0x2818:
873c7168325SHendrik Brueckner 		model = cpumcf_z196_pmu_event_attr;
874c7168325SHendrik Brueckner 		break;
875c7168325SHendrik Brueckner 	case 0x2827:
876c7168325SHendrik Brueckner 	case 0x2828:
877c7168325SHendrik Brueckner 		model = cpumcf_zec12_pmu_event_attr;
878c7168325SHendrik Brueckner 		break;
8793fc7acebSHendrik Brueckner 	case 0x2964:
8803fc7acebSHendrik Brueckner 	case 0x2965:
8813fc7acebSHendrik Brueckner 		model = cpumcf_z13_pmu_event_attr;
8823fc7acebSHendrik Brueckner 		break;
8833593eb94SHendrik Brueckner 	case 0x3906:
884451239ebSHeiko Carstens 	case 0x3907:
885d68d5d51SThomas Richter 		model = cpumcf_z14_pmu_event_attr;
886d68d5d51SThomas Richter 		break;
887820bace7SThomas Richter 	case 0x8561:
888820bace7SThomas Richter 	case 0x8562:
889d68d5d51SThomas Richter 		model = cpumcf_z15_pmu_event_attr;
8903593eb94SHendrik Brueckner 		break;
891c9311de7SThomas Richter 	case 0x3931:
892c9311de7SThomas Richter 	case 0x3932:
893c9311de7SThomas Richter 		model = cpumcf_z16_pmu_event_attr;
894c9311de7SThomas Richter 		break;
895c7168325SHendrik Brueckner 	default:
8963fc7acebSHendrik Brueckner 		model = none;
897c7168325SHendrik Brueckner 		break;
8980b925159SHeiko Carstens 	}
899c7168325SHendrik Brueckner 
9003593eb94SHendrik Brueckner 	combined = merge_attr(cfvn, csvn, model);
901c7168325SHendrik Brueckner 	if (combined)
90266a49784SHendrik Brueckner 		cpumcf_pmu_events_group.attrs = combined;
90366a49784SHendrik Brueckner 	return cpumcf_pmu_attr_groups;
904c7168325SHendrik Brueckner }
905