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); 298d68d5d51SThomas Richter 2993593eb94SHendrik Brueckner static struct attribute *cpumcf_fvn1_pmu_event_attr[] __initdata = { 3003593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, CPU_CYCLES), 3013593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, INSTRUCTIONS), 3023593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, L1I_DIR_WRITES), 3033593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, L1I_PENALTY_CYCLES), 3043593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_CPU_CYCLES), 3053593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_INSTRUCTIONS), 3063593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1I_DIR_WRITES), 3073593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1I_PENALTY_CYCLES), 3083593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1D_DIR_WRITES), 3093593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, PROBLEM_STATE_L1D_PENALTY_CYCLES), 3103593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, L1D_DIR_WRITES), 3113593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn1, L1D_PENALTY_CYCLES), 3123593eb94SHendrik Brueckner NULL, 3133593eb94SHendrik Brueckner }; 3143593eb94SHendrik Brueckner 3153593eb94SHendrik Brueckner static struct attribute *cpumcf_fvn3_pmu_event_attr[] __initdata = { 3163593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, CPU_CYCLES), 3173593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, INSTRUCTIONS), 3183593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, L1I_DIR_WRITES), 3193593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, L1I_PENALTY_CYCLES), 3203593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, PROBLEM_STATE_CPU_CYCLES), 3213593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, PROBLEM_STATE_INSTRUCTIONS), 3223593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, L1D_DIR_WRITES), 3233593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_fvn3, L1D_PENALTY_CYCLES), 3243593eb94SHendrik Brueckner NULL, 3253593eb94SHendrik Brueckner }; 3263593eb94SHendrik Brueckner 32746a984ffSThomas Richter static struct attribute *cpumcf_svn_12345_pmu_event_attr[] __initdata = { 32846a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_FUNCTIONS), 32946a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_CYCLES), 33046a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_FUNCTIONS), 33146a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_CYCLES), 33246a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_FUNCTIONS), 33346a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_CYCLES), 33446a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_FUNCTIONS), 33546a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_CYCLES), 33646a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_FUNCTIONS), 33746a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_CYCLES), 33846a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_FUNCTIONS), 33946a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_CYCLES), 34046a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_FUNCTIONS), 34146a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_CYCLES), 34246a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_FUNCTIONS), 34346a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_CYCLES), 34446a984ffSThomas Richter NULL, 34546a984ffSThomas Richter }; 34646a984ffSThomas Richter 347*a87b0fd4SThomas Richter static struct attribute *cpumcf_svn_67_pmu_event_attr[] __initdata = { 34846a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_FUNCTIONS), 34946a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_CYCLES), 35046a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_FUNCTIONS), 35146a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, PRNG_BLOCKED_CYCLES), 35246a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_FUNCTIONS), 35346a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_CYCLES), 35446a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_FUNCTIONS), 35546a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, SHA_BLOCKED_CYCLES), 35646a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_FUNCTIONS), 35746a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_CYCLES), 35846a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_FUNCTIONS), 35946a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, DEA_BLOCKED_CYCLES), 36046a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_FUNCTIONS), 36146a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_CYCLES), 36246a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_FUNCTIONS), 36346a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_12345, AES_BLOCKED_CYCLES), 36446a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_6, ECC_FUNCTION_COUNT), 36546a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_6, ECC_CYCLES_COUNT), 36646a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_6, ECC_BLOCKED_FUNCTION_COUNT), 36746a984ffSThomas Richter CPUMF_EVENT_PTR(cf_svn_6, ECC_BLOCKED_CYCLES_COUNT), 368c7168325SHendrik Brueckner NULL, 369c7168325SHendrik Brueckner }; 370c7168325SHendrik Brueckner 371c7168325SHendrik Brueckner static struct attribute *cpumcf_z10_pmu_event_attr[] __initdata = { 372c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1I_L2_SOURCED_WRITES), 373c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1D_L2_SOURCED_WRITES), 374c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1I_L3_LOCAL_WRITES), 375c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1D_L3_LOCAL_WRITES), 376c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1I_L3_REMOTE_WRITES), 377c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1D_L3_REMOTE_WRITES), 378c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1D_LMEM_SOURCED_WRITES), 379c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1I_LMEM_SOURCED_WRITES), 380c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1D_RO_EXCL_WRITES), 381c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L1I_CACHELINE_INVALIDATES), 382c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, ITLB1_WRITES), 383c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, DTLB1_WRITES), 384c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, TLB2_PTE_WRITES), 385c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, TLB2_CRSTE_WRITES), 386c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, TLB2_CRSTE_HPAGE_WRITES), 387c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, ITLB1_MISSES), 388c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, DTLB1_MISSES), 389c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z10, L2C_STORES_SENT), 390c7168325SHendrik Brueckner NULL, 391c7168325SHendrik Brueckner }; 392c7168325SHendrik Brueckner 393c7168325SHendrik Brueckner static struct attribute *cpumcf_z196_pmu_event_attr[] __initdata = { 394c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_L2_SOURCED_WRITES), 395c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_L2_SOURCED_WRITES), 396c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, DTLB1_MISSES), 397c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, ITLB1_MISSES), 398c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L2C_STORES_SENT), 399c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_OFFBOOK_L3_SOURCED_WRITES), 400c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_ONBOOK_L4_SOURCED_WRITES), 401c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_ONBOOK_L4_SOURCED_WRITES), 402c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_RO_EXCL_WRITES), 403c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_OFFBOOK_L4_SOURCED_WRITES), 404c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_OFFBOOK_L4_SOURCED_WRITES), 405c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, DTLB1_HPAGE_WRITES), 406c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_LMEM_SOURCED_WRITES), 407c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_LMEM_SOURCED_WRITES), 408c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_OFFBOOK_L3_SOURCED_WRITES), 409c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, DTLB1_WRITES), 410c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, ITLB1_WRITES), 411c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, TLB2_PTE_WRITES), 412c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, TLB2_CRSTE_HPAGE_WRITES), 413c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, TLB2_CRSTE_WRITES), 414c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_ONCHIP_L3_SOURCED_WRITES), 415c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1D_OFFCHIP_L3_SOURCED_WRITES), 416c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_ONCHIP_L3_SOURCED_WRITES), 417c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_z196, L1I_OFFCHIP_L3_SOURCED_WRITES), 418c7168325SHendrik Brueckner NULL, 419c7168325SHendrik Brueckner }; 420c7168325SHendrik Brueckner 421c7168325SHendrik Brueckner static struct attribute *cpumcf_zec12_pmu_event_attr[] __initdata = { 422c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, DTLB1_MISSES), 423c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, ITLB1_MISSES), 424c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_L2I_SOURCED_WRITES), 425c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_L2I_SOURCED_WRITES), 426c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_L2D_SOURCED_WRITES), 427c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, DTLB1_WRITES), 428c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_LMEM_SOURCED_WRITES), 429c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_LMEM_SOURCED_WRITES), 430c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_RO_EXCL_WRITES), 431c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, DTLB1_HPAGE_WRITES), 432c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, ITLB1_WRITES), 433c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TLB2_PTE_WRITES), 434c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TLB2_CRSTE_HPAGE_WRITES), 435c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TLB2_CRSTE_WRITES), 436c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES), 437c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES), 438c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES), 439c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_ONBOOK_L4_SOURCED_WRITES), 440c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L4_SOURCED_WRITES), 441c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TX_NC_TEND), 442c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_ONCHIP_L3_SOURCED_WRITES_IV), 443c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_OFFCHIP_L3_SOURCED_WRITES_IV), 444c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1D_OFFBOOK_L3_SOURCED_WRITES_IV), 445c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES), 446c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES), 447c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES), 448c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_ONBOOK_L4_SOURCED_WRITES), 449c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L4_SOURCED_WRITES), 450c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TX_C_TEND), 451c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_ONCHIP_L3_SOURCED_WRITES_IV), 452c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_OFFCHIP_L3_SOURCED_WRITES_IV), 453c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, L1I_OFFBOOK_L3_SOURCED_WRITES_IV), 454c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TX_NC_TABORT), 455c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TX_C_TABORT_NO_SPECIAL), 456c7168325SHendrik Brueckner CPUMF_EVENT_PTR(cf_zec12, TX_C_TABORT_SPECIAL), 457c7168325SHendrik Brueckner NULL, 458c7168325SHendrik Brueckner }; 459c7168325SHendrik Brueckner 4603fc7acebSHendrik Brueckner static struct attribute *cpumcf_z13_pmu_event_attr[] __initdata = { 4615f3ba878SAndré Wild CPUMF_EVENT_PTR(cf_z13, L1D_RO_EXCL_WRITES), 4623fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, DTLB1_WRITES), 4633fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, DTLB1_MISSES), 4643fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, DTLB1_HPAGE_WRITES), 4653fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, DTLB1_GPAGE_WRITES), 4663fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_L2D_SOURCED_WRITES), 4673fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, ITLB1_WRITES), 4683fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, ITLB1_MISSES), 4693fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_L2I_SOURCED_WRITES), 4703fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TLB2_PTE_WRITES), 4713fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TLB2_CRSTE_HPAGE_WRITES), 4723fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TLB2_CRSTE_WRITES), 4733fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TX_C_TEND), 4743fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TX_NC_TEND), 4753fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1C_TLB1_MISSES), 4763fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES), 4773fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_L3_SOURCED_WRITES_IV), 4783fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L4_SOURCED_WRITES), 4793fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES_IV), 4803fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_L3_SOURCED_WRITES), 4813fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L4_SOURCED_WRITES), 4823fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES_IV), 4833fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_L3_SOURCED_WRITES), 4843fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L4_SOURCED_WRITES), 4853fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV), 4863fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_SCOL_L3_SOURCED_WRITES), 4873fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L4_SOURCED_WRITES), 4883fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV), 4893fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_FCOL_L3_SOURCED_WRITES), 4903fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONNODE_MEM_SOURCED_WRITES), 4913fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONDRAWER_MEM_SOURCED_WRITES), 4923fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_OFFDRAWER_MEM_SOURCED_WRITES), 4933fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1D_ONCHIP_MEM_SOURCED_WRITES), 4943fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES), 4953fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_L3_SOURCED_WRITES_IV), 4963fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L4_SOURCED_WRITES), 4973fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES_IV), 4983fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_L3_SOURCED_WRITES), 4993fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L4_SOURCED_WRITES), 5003fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES_IV), 5013fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_L3_SOURCED_WRITES), 5023fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L4_SOURCED_WRITES), 5033fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES_IV), 5043fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_SCOL_L3_SOURCED_WRITES), 5053fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L4_SOURCED_WRITES), 5063fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES_IV), 5073fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_FCOL_L3_SOURCED_WRITES), 5083fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONNODE_MEM_SOURCED_WRITES), 5093fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONDRAWER_MEM_SOURCED_WRITES), 5103fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_OFFDRAWER_MEM_SOURCED_WRITES), 5113fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, L1I_ONCHIP_MEM_SOURCED_WRITES), 5123fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TX_NC_TABORT), 5133fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TX_C_TABORT_NO_SPECIAL), 5143fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, TX_C_TABORT_SPECIAL), 5153fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, MT_DIAG_CYCLES_ONE_THR_ACTIVE), 5163fc7acebSHendrik Brueckner CPUMF_EVENT_PTR(cf_z13, MT_DIAG_CYCLES_TWO_THR_ACTIVE), 5173fc7acebSHendrik Brueckner NULL, 5183fc7acebSHendrik Brueckner }; 5193fc7acebSHendrik Brueckner 5203593eb94SHendrik Brueckner static struct attribute *cpumcf_z14_pmu_event_attr[] __initdata = { 5215f3ba878SAndré Wild CPUMF_EVENT_PTR(cf_z14, L1D_RO_EXCL_WRITES), 5223593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, DTLB2_WRITES), 5233593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, DTLB2_MISSES), 5243593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, DTLB2_HPAGE_WRITES), 5253593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, DTLB2_GPAGE_WRITES), 5263593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_L2D_SOURCED_WRITES), 5273593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, ITLB2_WRITES), 5283593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, ITLB2_MISSES), 5293593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_L2I_SOURCED_WRITES), 5303593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TLB2_PTE_WRITES), 5313593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TLB2_CRSTE_WRITES), 5323593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TLB2_ENGINES_BUSY), 5333593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TX_C_TEND), 5343593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TX_NC_TEND), 5353593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1C_TLB2_MISSES), 5363593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES), 5373593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_MEMORY_SOURCED_WRITES), 5383593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_IV), 5393593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES), 5403593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES), 5413593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV), 5423593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES), 5433593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES), 5443593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV), 5453593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES), 5463593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES), 5473593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV), 5483593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONDRAWER_L4_SOURCED_WRITES), 5493593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_OFFDRAWER_L4_SOURCED_WRITES), 5503593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1D_ONCHIP_L3_SOURCED_WRITES_RO), 5513593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES), 5523593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_MEMORY_SOURCED_WRITES), 5533593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCHIP_L3_SOURCED_WRITES_IV), 5543593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES), 5553593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES), 5563593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV), 5573593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES), 5583593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES), 5593593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV), 5603593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES), 5613593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES), 5623593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV), 5633593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_ONDRAWER_L4_SOURCED_WRITES), 5643593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, L1I_OFFDRAWER_L4_SOURCED_WRITES), 5653593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, BCD_DFP_EXECUTION_SLOTS), 5663593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, VX_BCD_EXECUTION_SLOTS), 5673593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, DECIMAL_INSTRUCTIONS), 5683593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, LAST_HOST_TRANSLATIONS), 5693593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TX_NC_TABORT), 5703593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TX_C_TABORT_NO_SPECIAL), 5713593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, TX_C_TABORT_SPECIAL), 5723593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, MT_DIAG_CYCLES_ONE_THR_ACTIVE), 5733593eb94SHendrik Brueckner CPUMF_EVENT_PTR(cf_z14, MT_DIAG_CYCLES_TWO_THR_ACTIVE), 5743593eb94SHendrik Brueckner NULL, 5753593eb94SHendrik Brueckner }; 5763593eb94SHendrik Brueckner 577d68d5d51SThomas Richter static struct attribute *cpumcf_z15_pmu_event_attr[] __initdata = { 578d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_RO_EXCL_WRITES), 579d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DTLB2_WRITES), 580d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DTLB2_MISSES), 581d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DTLB2_HPAGE_WRITES), 582d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DTLB2_GPAGE_WRITES), 583d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_L2D_SOURCED_WRITES), 584d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, ITLB2_WRITES), 585d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, ITLB2_MISSES), 586d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_L2I_SOURCED_WRITES), 587d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TLB2_PTE_WRITES), 588d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TLB2_CRSTE_WRITES), 589d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TLB2_ENGINES_BUSY), 590d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TX_C_TEND), 591d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TX_NC_TEND), 592d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1C_TLB2_MISSES), 593d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES), 594d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_MEMORY_SOURCED_WRITES), 595d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_IV), 596d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES), 597d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_MEMORY_SOURCED_WRITES), 598d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCLUSTER_L3_SOURCED_WRITES_IV), 599d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES), 600d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_MEMORY_SOURCED_WRITES), 601d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFCLUSTER_L3_SOURCED_WRITES_IV), 602d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES), 603d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_MEMORY_SOURCED_WRITES), 604d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L3_SOURCED_WRITES_IV), 605d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONDRAWER_L4_SOURCED_WRITES), 606d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_OFFDRAWER_L4_SOURCED_WRITES), 607d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1D_ONCHIP_L3_SOURCED_WRITES_RO), 608d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES), 609d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_MEMORY_SOURCED_WRITES), 610d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCHIP_L3_SOURCED_WRITES_IV), 611d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES), 612d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_MEMORY_SOURCED_WRITES), 613d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONCLUSTER_L3_SOURCED_WRITES_IV), 614d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES), 615d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_MEMORY_SOURCED_WRITES), 616d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFCLUSTER_L3_SOURCED_WRITES_IV), 617d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES), 618d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_MEMORY_SOURCED_WRITES), 619d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L3_SOURCED_WRITES_IV), 620d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_ONDRAWER_L4_SOURCED_WRITES), 621d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, L1I_OFFDRAWER_L4_SOURCED_WRITES), 622d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, BCD_DFP_EXECUTION_SLOTS), 623d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, VX_BCD_EXECUTION_SLOTS), 624d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DECIMAL_INSTRUCTIONS), 625d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, LAST_HOST_TRANSLATIONS), 626d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TX_NC_TABORT), 627d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TX_C_TABORT_NO_SPECIAL), 628d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, TX_C_TABORT_SPECIAL), 629d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DFLT_ACCESS), 630d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DFLT_CYCLES), 631d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, DFLT_CC), 6323d3af181SThomas Richter CPUMF_EVENT_PTR(cf_z15, DFLT_CCFINISH), 633d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_ONE_THR_ACTIVE), 634d68d5d51SThomas Richter CPUMF_EVENT_PTR(cf_z15, MT_DIAG_CYCLES_TWO_THR_ACTIVE), 635d68d5d51SThomas Richter NULL, 636d68d5d51SThomas Richter }; 637d68d5d51SThomas Richter 638c7168325SHendrik Brueckner /* END: CPUM_CF COUNTER DEFINITIONS ===================================== */ 639c7168325SHendrik Brueckner 64066a49784SHendrik Brueckner static struct attribute_group cpumcf_pmu_events_group = { 641c7168325SHendrik Brueckner .name = "events", 642c7168325SHendrik Brueckner }; 643c7168325SHendrik Brueckner 644c7168325SHendrik Brueckner PMU_FORMAT_ATTR(event, "config:0-63"); 645c7168325SHendrik Brueckner 64666a49784SHendrik Brueckner static struct attribute *cpumcf_pmu_format_attr[] = { 647c7168325SHendrik Brueckner &format_attr_event.attr, 648c7168325SHendrik Brueckner NULL, 649c7168325SHendrik Brueckner }; 650c7168325SHendrik Brueckner 65166a49784SHendrik Brueckner static struct attribute_group cpumcf_pmu_format_group = { 652c7168325SHendrik Brueckner .name = "format", 65366a49784SHendrik Brueckner .attrs = cpumcf_pmu_format_attr, 654c7168325SHendrik Brueckner }; 655c7168325SHendrik Brueckner 65666a49784SHendrik Brueckner static const struct attribute_group *cpumcf_pmu_attr_groups[] = { 65766a49784SHendrik Brueckner &cpumcf_pmu_events_group, 65866a49784SHendrik Brueckner &cpumcf_pmu_format_group, 659c7168325SHendrik Brueckner NULL, 660c7168325SHendrik Brueckner }; 661c7168325SHendrik Brueckner 662c7168325SHendrik Brueckner 663c7168325SHendrik Brueckner static __init struct attribute **merge_attr(struct attribute **a, 6643593eb94SHendrik Brueckner struct attribute **b, 6653593eb94SHendrik Brueckner struct attribute **c) 666c7168325SHendrik Brueckner { 667c7168325SHendrik Brueckner struct attribute **new; 668c7168325SHendrik Brueckner int j, i; 669c7168325SHendrik Brueckner 670c7168325SHendrik Brueckner for (j = 0; a[j]; j++) 671c7168325SHendrik Brueckner ; 672c7168325SHendrik Brueckner for (i = 0; b[i]; i++) 673c7168325SHendrik Brueckner j++; 6743593eb94SHendrik Brueckner for (i = 0; c[i]; i++) 6753593eb94SHendrik Brueckner j++; 676c7168325SHendrik Brueckner j++; 677c7168325SHendrik Brueckner 6786da2ec56SKees Cook new = kmalloc_array(j, sizeof(struct attribute *), GFP_KERNEL); 679c7168325SHendrik Brueckner if (!new) 680c7168325SHendrik Brueckner return NULL; 681c7168325SHendrik Brueckner j = 0; 682c7168325SHendrik Brueckner for (i = 0; a[i]; i++) 683c7168325SHendrik Brueckner new[j++] = a[i]; 684c7168325SHendrik Brueckner for (i = 0; b[i]; i++) 685c7168325SHendrik Brueckner new[j++] = b[i]; 6863593eb94SHendrik Brueckner for (i = 0; c[i]; i++) 6873593eb94SHendrik Brueckner new[j++] = c[i]; 688c7168325SHendrik Brueckner new[j] = NULL; 689c7168325SHendrik Brueckner 690c7168325SHendrik Brueckner return new; 691c7168325SHendrik Brueckner } 692c7168325SHendrik Brueckner 693c7168325SHendrik Brueckner __init const struct attribute_group **cpumf_cf_event_group(void) 694c7168325SHendrik Brueckner { 6953593eb94SHendrik Brueckner struct attribute **combined, **model, **cfvn, **csvn; 6963fc7acebSHendrik Brueckner struct attribute *none[] = { NULL }; 6973593eb94SHendrik Brueckner struct cpumf_ctr_info ci; 698c7168325SHendrik Brueckner struct cpuid cpu_id; 699c7168325SHendrik Brueckner 7003593eb94SHendrik Brueckner /* Determine generic counters set(s) */ 7013593eb94SHendrik Brueckner qctri(&ci); 7023593eb94SHendrik Brueckner switch (ci.cfvn) { 7033593eb94SHendrik Brueckner case 1: 7043593eb94SHendrik Brueckner cfvn = cpumcf_fvn1_pmu_event_attr; 7053593eb94SHendrik Brueckner break; 7063593eb94SHendrik Brueckner case 3: 7073593eb94SHendrik Brueckner cfvn = cpumcf_fvn3_pmu_event_attr; 7083593eb94SHendrik Brueckner break; 7093593eb94SHendrik Brueckner default: 7103593eb94SHendrik Brueckner cfvn = none; 7113593eb94SHendrik Brueckner } 71246a984ffSThomas Richter 71346a984ffSThomas Richter /* Determine version specific crypto set */ 71446a984ffSThomas Richter switch (ci.csvn) { 71546a984ffSThomas Richter case 1 ... 5: 71646a984ffSThomas Richter csvn = cpumcf_svn_12345_pmu_event_attr; 71746a984ffSThomas Richter break; 718*a87b0fd4SThomas Richter case 6 ... 7: 719*a87b0fd4SThomas Richter csvn = cpumcf_svn_67_pmu_event_attr; 72046a984ffSThomas Richter break; 72146a984ffSThomas Richter default: 72246a984ffSThomas Richter csvn = none; 72346a984ffSThomas Richter } 7243593eb94SHendrik Brueckner 7253593eb94SHendrik Brueckner /* Determine model-specific counter set(s) */ 726c7168325SHendrik Brueckner get_cpu_id(&cpu_id); 727c7168325SHendrik Brueckner switch (cpu_id.machine) { 728c7168325SHendrik Brueckner case 0x2097: 729c7168325SHendrik Brueckner case 0x2098: 730c7168325SHendrik Brueckner model = cpumcf_z10_pmu_event_attr; 731c7168325SHendrik Brueckner break; 732c7168325SHendrik Brueckner case 0x2817: 733c7168325SHendrik Brueckner case 0x2818: 734c7168325SHendrik Brueckner model = cpumcf_z196_pmu_event_attr; 735c7168325SHendrik Brueckner break; 736c7168325SHendrik Brueckner case 0x2827: 737c7168325SHendrik Brueckner case 0x2828: 738c7168325SHendrik Brueckner model = cpumcf_zec12_pmu_event_attr; 739c7168325SHendrik Brueckner break; 7403fc7acebSHendrik Brueckner case 0x2964: 7413fc7acebSHendrik Brueckner case 0x2965: 7423fc7acebSHendrik Brueckner model = cpumcf_z13_pmu_event_attr; 7433fc7acebSHendrik Brueckner break; 7443593eb94SHendrik Brueckner case 0x3906: 745451239ebSHeiko Carstens case 0x3907: 746d68d5d51SThomas Richter model = cpumcf_z14_pmu_event_attr; 747d68d5d51SThomas Richter break; 748820bace7SThomas Richter case 0x8561: 749820bace7SThomas Richter case 0x8562: 750d68d5d51SThomas Richter model = cpumcf_z15_pmu_event_attr; 7513593eb94SHendrik Brueckner break; 752c7168325SHendrik Brueckner default: 7533fc7acebSHendrik Brueckner model = none; 754c7168325SHendrik Brueckner break; 7550b925159SHeiko Carstens } 756c7168325SHendrik Brueckner 7573593eb94SHendrik Brueckner combined = merge_attr(cfvn, csvn, model); 758c7168325SHendrik Brueckner if (combined) 75966a49784SHendrik Brueckner cpumcf_pmu_events_group.attrs = combined; 76066a49784SHendrik Brueckner return cpumcf_pmu_attr_groups; 761c7168325SHendrik Brueckner } 762