aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include
diff options
context:
space:
mode:
authorHendrik Brueckner <brueckner@linux.ibm.com>2018-08-29 16:12:17 (GMT)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2019-02-22 08:19:53 (GMT)
commit346d034d7f13da9eb135458a2f6cf14c9b77a637 (patch)
tree376ec1379a4cbac6579ab3ad3c183f9b7cb45f72 /arch/s390/include
parent778fb10ccc18b16c022be898d8497767c20ea7b5 (diff)
s390/cpu_mf: replace stcctm5() with the stcctm() function
Remove the stcctm5() function to extract counters from the MT-diagnostic counter set with the stcctm() function. For readability, introduce an enum to map the counter sets names to respective numbers for the stcctm instruction. Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/cpu_mf.h25
1 files changed, 9 insertions, 16 deletions
diff --git a/arch/s390/include/asm/cpu_mf.h b/arch/s390/include/asm/cpu_mf.h
index 53ba4f2c..ae3e3221 100644
--- a/arch/s390/include/asm/cpu_mf.h
+++ b/arch/s390/include/asm/cpu_mf.h
@@ -212,7 +212,15 @@ static inline int ecctr(u64 ctr, u64 *val)
}
/* Store CPU counter multiple for a particular counter set */
-static inline int stcctm(u8 set, u64 range, u64 *dest)
+enum stcctm_ctr_set {
+ EXTENDED = 0,
+ BASIC = 1,
+ PROBLEM_STATE = 2,
+ CRYPTO_ACTIVITY = 3,
+ MT_DIAG = 5,
+ MT_DIAG_CLEARING = 9, /* clears loss-of-MT-ctr-data alert */
+};
+static inline int stcctm(enum stcctm_ctr_set set, u64 range, u64 *dest)
{
int cc;
@@ -226,21 +234,6 @@ static inline int stcctm(u8 set, u64 range, u64 *dest)
return cc;
}
-/* Store CPU counter multiple for the MT utilization counter set */
-static inline int stcctm5(u64 num, u64 *val)
-{
- int cc;
-
- asm volatile (
- " .insn rsy,0xeb0000000017,%2,5,%1\n"
- " ipm %0\n"
- " srl %0,28\n"
- : "=d" (cc)
- : "Q" (*val), "d" (num)
- : "cc", "memory");
- return cc;
-}
-
/* Query sampling information */
static inline int qsi(struct hws_qsi_info_block *info)
{

Privacy Policy