0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef _PERF_CPUM_CF_DIAG_H
0014 #define _PERF_CPUM_CF_DIAG_H
0015
0016 #include <linux/ioctl.h>
0017 #include <linux/types.h>
0018
0019 #define S390_HWCTR_DEVICE "hwctr"
0020 #define S390_HWCTR_START_VERSION 1
0021
0022 struct s390_ctrset_start {
0023 __u64 version;
0024 __u64 data_bytes;
0025 __u64 cpumask_len;
0026 __u64 *cpumask;
0027 __u64 counter_sets;
0028 };
0029
0030 struct s390_ctrset_setdata {
0031 __u32 set;
0032 __u32 no_cnts;
0033 __u64 cv[];
0034 };
0035
0036 struct s390_ctrset_cpudata {
0037 __u32 cpu_nr;
0038 __u32 no_sets;
0039 struct s390_ctrset_setdata data[];
0040 };
0041
0042 struct s390_ctrset_read {
0043 __u64 no_cpus;
0044 struct s390_ctrset_cpudata data[];
0045 };
0046
0047 #define S390_HWCTR_MAGIC 'C'
0048 #define S390_HWCTR_START _IOWR(S390_HWCTR_MAGIC, 1, struct s390_ctrset_start)
0049 #define S390_HWCTR_STOP _IO(S390_HWCTR_MAGIC, 2)
0050 #define S390_HWCTR_READ _IOWR(S390_HWCTR_MAGIC, 3, struct s390_ctrset_read)
0051 #endif