![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 */ 0002 /* 0003 * Support for s390 CPU measurement counter set diagnostic facility 0004 * 0005 * Copyright IBM Corp. 2019 0006 Author(s): Hendrik Brueckner <brueckner@linux.ibm.com> 0007 * Thomas Richter <tmricht@linux.ibm.com> 0008 */ 0009 #ifndef S390_CPUMCF_KERNEL_H 0010 #define S390_CPUMCF_KERNEL_H 0011 0012 #define S390_CPUMCF_DIAG_DEF 0xfeef /* Counter diagnostic entry ID */ 0013 #define PERF_EVENT_CPUM_CF_DIAG 0xBC000 /* Event: Counter sets */ 0014 #define PERF_EVENT_CPUM_SF_DIAG 0xBD000 /* Event: Combined-sampling */ 0015 0016 struct cf_ctrset_entry { /* CPU-M CF counter set entry (8 byte) */ 0017 unsigned int def:16; /* 0-15 Data Entry Format */ 0018 unsigned int set:16; /* 16-23 Counter set identifier */ 0019 unsigned int ctr:16; /* 24-39 Number of stored counters */ 0020 unsigned int res1:16; /* 40-63 Reserved */ 0021 }; 0022 0023 struct cf_trailer_entry { /* CPU-M CF trailer for raw traces (64 byte) */ 0024 /* 0 - 7 */ 0025 union { 0026 struct { 0027 unsigned int clock_base:1; /* TOD clock base */ 0028 unsigned int speed:1; /* CPU speed */ 0029 /* Measurement alerts */ 0030 unsigned int mtda:1; /* Loss of MT ctr. data alert */ 0031 unsigned int caca:1; /* Counter auth. change alert */ 0032 unsigned int lcda:1; /* Loss of counter data alert */ 0033 }; 0034 unsigned long flags; /* 0-63 All indicators */ 0035 }; 0036 /* 8 - 15 */ 0037 unsigned int cfvn:16; /* 64-79 Ctr First Version */ 0038 unsigned int csvn:16; /* 80-95 Ctr Second Version */ 0039 unsigned int cpu_speed:32; /* 96-127 CPU speed */ 0040 /* 16 - 23 */ 0041 unsigned long timestamp; /* 128-191 Timestamp (TOD) */ 0042 /* 24 - 55 */ 0043 union { 0044 struct { 0045 unsigned long progusage1; 0046 unsigned long progusage2; 0047 unsigned long progusage3; 0048 unsigned long tod_base; 0049 }; 0050 unsigned long progusage[4]; 0051 }; 0052 /* 56 - 63 */ 0053 unsigned int mach_type:16; /* Machine type */ 0054 unsigned int res1:16; /* Reserved */ 0055 unsigned int res2:32; /* Reserved */ 0056 }; 0057 0058 #define CPUMF_CTR_SET_BASIC 0 /* Basic Counter Set */ 0059 #define CPUMF_CTR_SET_USER 1 /* Problem-State Counter Set */ 0060 #define CPUMF_CTR_SET_CRYPTO 2 /* Crypto-Activity Counter Set */ 0061 #define CPUMF_CTR_SET_EXT 3 /* Extended Counter Set */ 0062 #define CPUMF_CTR_SET_MT_DIAG 4 /* MT-diagnostic Counter Set */ 0063 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |