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>
This commit is contained in:
Hendrik Brueckner
2018-08-29 18:12:17 +02:00
committed by Martin Schwidefsky
parent 778fb10ccc
commit 346d034d7f
2 changed files with 11 additions and 18 deletions

View File

@@ -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)
{