diff options
author | Carsten Otte <cotte@de.ibm.com> | 2010-05-17 04:00:04 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-05-17 04:00:15 -0400 |
commit | cd3b70f5d4d82f85d1e1d6e822f38ae098cf7c72 (patch) | |
tree | aa394e63d300312bece2afb53a53dfd93a0f5f23 /arch/s390/include/asm | |
parent | 6377981faf1a4425b0531e577736ef03df97c8f6 (diff) |
[S390] virtualization aware cpu measurement
Use the SPP instruction to set a tag on entry to / exit of the virtual
machine context. This allows the cpu measurement facility to distinguish
the samples from the host and the different guests.
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/lowcore.h | 3 | ||||
-rw-r--r-- | arch/s390/include/asm/setup.h | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h index 2c02d46c3588..0f97ef2d92ac 100644 --- a/arch/s390/include/asm/lowcore.h +++ b/arch/s390/include/asm/lowcore.h | |||
@@ -267,7 +267,8 @@ struct _lowcore { | |||
267 | __u64 vdso_per_cpu_data; /* 0x0358 */ | 267 | __u64 vdso_per_cpu_data; /* 0x0358 */ |
268 | __u64 machine_flags; /* 0x0360 */ | 268 | __u64 machine_flags; /* 0x0360 */ |
269 | __u64 ftrace_func; /* 0x0368 */ | 269 | __u64 ftrace_func; /* 0x0368 */ |
270 | __u8 pad_0x0370[0x0380-0x0370]; /* 0x0370 */ | 270 | __u64 sie_hook; /* 0x0370 */ |
271 | __u64 cmf_hpp; /* 0x0378 */ | ||
271 | 272 | ||
272 | /* Interrupt response block. */ | 273 | /* Interrupt response block. */ |
273 | __u8 irb[64]; /* 0x0380 */ | 274 | __u8 irb[64]; /* 0x0380 */ |
diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h index 9ab6bd3a65d1..25e831d58e1e 100644 --- a/arch/s390/include/asm/setup.h +++ b/arch/s390/include/asm/setup.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * include/asm-s390/setup.h | 2 | * include/asm-s390/setup.h |
3 | * | 3 | * |
4 | * S390 version | 4 | * S390 version |
5 | * Copyright IBM Corp. 1999,2006 | 5 | * Copyright IBM Corp. 1999,2010 |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #ifndef _ASM_S390_SETUP_H | 8 | #ifndef _ASM_S390_SETUP_H |
@@ -72,6 +72,7 @@ extern unsigned int user_mode; | |||
72 | #define MACHINE_FLAG_HPAGE (1UL << 10) | 72 | #define MACHINE_FLAG_HPAGE (1UL << 10) |
73 | #define MACHINE_FLAG_PFMF (1UL << 11) | 73 | #define MACHINE_FLAG_PFMF (1UL << 11) |
74 | #define MACHINE_FLAG_LPAR (1UL << 12) | 74 | #define MACHINE_FLAG_LPAR (1UL << 12) |
75 | #define MACHINE_FLAG_SPP (1UL << 13) | ||
75 | 76 | ||
76 | #define MACHINE_IS_VM (S390_lowcore.machine_flags & MACHINE_FLAG_VM) | 77 | #define MACHINE_IS_VM (S390_lowcore.machine_flags & MACHINE_FLAG_VM) |
77 | #define MACHINE_IS_KVM (S390_lowcore.machine_flags & MACHINE_FLAG_KVM) | 78 | #define MACHINE_IS_KVM (S390_lowcore.machine_flags & MACHINE_FLAG_KVM) |
@@ -88,6 +89,7 @@ extern unsigned int user_mode; | |||
88 | #define MACHINE_HAS_MVCOS (0) | 89 | #define MACHINE_HAS_MVCOS (0) |
89 | #define MACHINE_HAS_HPAGE (0) | 90 | #define MACHINE_HAS_HPAGE (0) |
90 | #define MACHINE_HAS_PFMF (0) | 91 | #define MACHINE_HAS_PFMF (0) |
92 | #define MACHINE_HAS_SPP (0) | ||
91 | #else /* __s390x__ */ | 93 | #else /* __s390x__ */ |
92 | #define MACHINE_HAS_IEEE (1) | 94 | #define MACHINE_HAS_IEEE (1) |
93 | #define MACHINE_HAS_CSP (1) | 95 | #define MACHINE_HAS_CSP (1) |
@@ -97,6 +99,7 @@ extern unsigned int user_mode; | |||
97 | #define MACHINE_HAS_MVCOS (S390_lowcore.machine_flags & MACHINE_FLAG_MVCOS) | 99 | #define MACHINE_HAS_MVCOS (S390_lowcore.machine_flags & MACHINE_FLAG_MVCOS) |
98 | #define MACHINE_HAS_HPAGE (S390_lowcore.machine_flags & MACHINE_FLAG_HPAGE) | 100 | #define MACHINE_HAS_HPAGE (S390_lowcore.machine_flags & MACHINE_FLAG_HPAGE) |
99 | #define MACHINE_HAS_PFMF (S390_lowcore.machine_flags & MACHINE_FLAG_PFMF) | 101 | #define MACHINE_HAS_PFMF (S390_lowcore.machine_flags & MACHINE_FLAG_PFMF) |
102 | #define MACHINE_HAS_SPP (S390_lowcore.machine_flags & MACHINE_FLAG_SPP) | ||
100 | #endif /* __s390x__ */ | 103 | #endif /* __s390x__ */ |
101 | 104 | ||
102 | #define ZFCPDUMP_HSA_SIZE (32UL<<20) | 105 | #define ZFCPDUMP_HSA_SIZE (32UL<<20) |