~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/util/s390-cpumcf-kernel.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*
  3  * Support for s390 CPU measurement counter set diagnostic facility
  4  *
  5  * Copyright IBM Corp. 2019
  6    Author(s): Hendrik Brueckner <brueckner@linux.ibm.com>
  7  *              Thomas Richter <tmricht@linux.ibm.com>
  8  */
  9 #ifndef S390_CPUMCF_KERNEL_H
 10 #define S390_CPUMCF_KERNEL_H
 11 
 12 #define S390_CPUMCF_DIAG_DEF    0xfeef  /* Counter diagnostic entry ID */
 13 #define PERF_EVENT_CPUM_CF_DIAG 0xBC000 /* Event: Counter sets */
 14 #define PERF_EVENT_CPUM_SF_DIAG 0xBD000 /* Event: Combined-sampling */
 15 #define PERF_EVENT_PAI_CRYPTO_ALL       0x1000 /* Event: CRYPTO_ALL */
 16 #define PERF_EVENT_PAI_NNPA_ALL 0x1800 /* Event: NNPA_ALL */
 17 
 18 struct cf_ctrset_entry {        /* CPU-M CF counter set entry (8 byte) */
 19         unsigned int def:16;    /* 0-15  Data Entry Format */
 20         unsigned int set:16;    /* 16-23 Counter set identifier */
 21         unsigned int ctr:16;    /* 24-39 Number of stored counters */
 22         unsigned int res1:16;   /* 40-63 Reserved */
 23 };
 24 
 25 struct cf_trailer_entry {       /* CPU-M CF trailer for raw traces (64 byte) */
 26         /* 0 - 7 */
 27         union {
 28                 struct {
 29                         unsigned int clock_base:1;      /* TOD clock base */
 30                         unsigned int speed:1;           /* CPU speed */
 31                         /* Measurement alerts */
 32                         unsigned int mtda:1;    /* Loss of MT ctr. data alert */
 33                         unsigned int caca:1;    /* Counter auth. change alert */
 34                         unsigned int lcda:1;    /* Loss of counter data alert */
 35                 };
 36                 unsigned long flags;            /* 0-63    All indicators */
 37         };
 38         /* 8 - 15 */
 39         unsigned int cfvn:16;                   /* 64-79   Ctr First Version */
 40         unsigned int csvn:16;                   /* 80-95   Ctr Second Version */
 41         unsigned int cpu_speed:32;              /* 96-127  CPU speed */
 42         /* 16 - 23 */
 43         unsigned long timestamp;                /* 128-191 Timestamp (TOD) */
 44         /* 24 - 55 */
 45         union {
 46                 struct {
 47                         unsigned long progusage1;
 48                         unsigned long progusage2;
 49                         unsigned long progusage3;
 50                         unsigned long tod_base;
 51                 };
 52                 unsigned long progusage[4];
 53         };
 54         /* 56 - 63 */
 55         unsigned int mach_type:16;              /* Machine type */
 56         unsigned int res1:16;                   /* Reserved */
 57         unsigned int res2:32;                   /* Reserved */
 58 };
 59 
 60 #define CPUMF_CTR_SET_BASIC     0       /* Basic Counter Set */
 61 #define CPUMF_CTR_SET_USER      1       /* Problem-State Counter Set */
 62 #define CPUMF_CTR_SET_CRYPTO    2       /* Crypto-Activity Counter Set */
 63 #define CPUMF_CTR_SET_EXT       3       /* Extended Counter Set */
 64 #define CPUMF_CTR_SET_MT_DIAG   4       /* MT-diagnostic Counter Set */
 65 #endif
 66 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php