1
2
3
4
5
6
7
8
9#ifndef S390_CPUMCF_KERNEL_H
10#define S390_CPUMCF_KERNEL_H
11
12#define S390_CPUMCF_DIAG_DEF 0xfeef
13#define PERF_EVENT_CPUM_CF_DIAG 0xBC000
14#define PERF_EVENT_CPUM_SF_DIAG 0xBD000
15
16struct cf_ctrset_entry {
17 unsigned int def:16;
18 unsigned int set:16;
19 unsigned int ctr:16;
20 unsigned int res1:16;
21};
22
23struct cf_trailer_entry {
24
25 union {
26 struct {
27 unsigned int clock_base:1;
28 unsigned int speed:1;
29
30 unsigned int mtda:1;
31 unsigned int caca:1;
32 unsigned int lcda:1;
33 };
34 unsigned long flags;
35 };
36
37 unsigned int cfvn:16;
38 unsigned int csvn:16;
39 unsigned int cpu_speed:32;
40
41 unsigned long timestamp;
42
43 union {
44 struct {
45 unsigned long progusage1;
46 unsigned long progusage2;
47 unsigned long progusage3;
48 unsigned long tod_base;
49 };
50 unsigned long progusage[4];
51 };
52
53 unsigned int mach_type:16;
54 unsigned int res1:16;
55 unsigned int res2:32;
56};
57
58#define CPUMF_CTR_SET_BASIC 0
59#define CPUMF_CTR_SET_USER 1
60#define CPUMF_CTR_SET_CRYPTO 2
61#define CPUMF_CTR_SET_EXT 3
62#define CPUMF_CTR_SET_MT_DIAG 4
63#endif
64