From f110a77b68d46f10cab8847cf73fe92686ae7d11 Mon Sep 17 00:00:00 2001 From: Thomas Richter Date: Wed, 10 Jul 2019 13:01:09 +0200 Subject: [PATCH] cpumf: Add support for CPU-Measurement Facility counters SVN 6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for CPU-Measurement facility counter second version number 6. This adds some more counters to the crypto counter set. Extended counter set is the same as for z14. Signed-off-by: Thomas Richter Signed-off-by: Jan Höppner --- cpumf/Makefile | 2 +- cpumf/bin/cpumf_helper.in | 7 +++- ...svn-generic.ctr => cpum-cf-csvn-12345.ctr} | 0 cpumf/data/cpum-cf-csvn-6.ctr | 33 +++++++++++++++++++ cpumf/data/cpum-cf-hw-counter.map | 6 +++- 5 files changed, 45 insertions(+), 3 deletions(-) rename cpumf/data/{cpum-cf-csvn-generic.ctr => cpum-cf-csvn-12345.ctr} (100%) create mode 100644 cpumf/data/cpum-cf-csvn-6.ctr diff --git a/cpumf/Makefile b/cpumf/Makefile index 3fc4c0fc..2e11810a 100644 --- a/cpumf/Makefile +++ b/cpumf/Makefile @@ -6,7 +6,7 @@ include ../common.mak CPUMF_DATADIR = $(TOOLS_DATADIR)/cpumf DATA_FILES = cpum-cf-hw-counter.map \ cpum-cf-cfvn-1.ctr cpum-cf-cfvn-3.ctr \ - cpum-cf-csvn-generic.ctr \ + cpum-cf-csvn-12345.ctr cpum-cf-csvn-6.ctr \ cpum-cf-extended-z10.ctr cpum-cf-extended-z196.ctr \ cpum-cf-extended-zEC12.ctr cpum-sf-modes.ctr \ cpum-cf-extended-z13.ctr cpum-cf-extended-z14.ctr diff --git a/cpumf/bin/cpumf_helper.in b/cpumf/bin/cpumf_helper.in index e5737f92..3356e384 100755 --- a/cpumf/bin/cpumf_helper.in +++ b/cpumf/bin/cpumf_helper.in @@ -267,7 +267,12 @@ sub cpumf_load_ctrdef($;$) # List of "generic" counter sets my @def = (); push @def, "cfvn-" . $version->{cfvn}; - push @def, "csvn-generic"; + if ($version->{csvn} >= 1 && $version->{csvn} <= 6) { + push @def, "csvn-12345"; + } + if ($version->{csvn} == 6) { + push @def, "csvn-6"; + } my $h = {}; # Load counter set definition diff --git a/cpumf/data/cpum-cf-csvn-generic.ctr b/cpumf/data/cpum-cf-csvn-12345.ctr similarity index 100% rename from cpumf/data/cpum-cf-csvn-generic.ctr rename to cpumf/data/cpum-cf-csvn-12345.ctr diff --git a/cpumf/data/cpum-cf-csvn-6.ctr b/cpumf/data/cpum-cf-csvn-6.ctr new file mode 100644 index 00000000..4ea3b447 --- /dev/null +++ b/cpumf/data/cpum-cf-csvn-6.ctr @@ -0,0 +1,33 @@ +Counter: 80 Name:ECC_FUNCTION_COUNT +Short-Description:ECC Function Count +Description: +This counter counts the +total number of the elliptic-curve cryptography (ECC) +functions issued by the CPU. +. +Counter: 81 Name:ECC_CYCLES_COUNT +Short-Description:ECC Cycles Count +Description: +This counter counts the total +number of CPU cycles when the ECC coprocessor is +busy performing the elliptic-curve cryptography +(ECC) functions issued by the CPU. +. +Counter: 82 Name:ECC_BLOCKED_FUNCTION_COUNT +Short-Description:Ecc Blocked Function Count +Description: +This counter +counts the total number of the elliptic-curve +cryptography (ECC) functions that are issued by the CPU +and are blocked because the ECC coprocessor is +busy performing a function issued by another CPU. +. +Counter: 83 Name:ECC_BLOCKED_CYCLES_COUNT +Short-Description:ECC Blocked Cycles Count +Description: +This counter counts +the total number of CPU cycles blocked for the elliptic-curve +cryptography (ECC) functions issued by the +CPU because the ECC coprocessor is busy perform- +ing a function issued by another CPU. +. diff --git a/cpumf/data/cpum-cf-hw-counter.map b/cpumf/data/cpum-cf-hw-counter.map index a8a28466..5729b952 100644 --- a/cpumf/data/cpum-cf-hw-counter.map +++ b/cpumf/data/cpum-cf-hw-counter.map @@ -14,7 +14,8 @@ 'cfvn-3' => 'cpum-cf-cfvn-3.ctr', # CSVN - 'csvn-generic' => 'cpum-cf-csvn-generic.ctr', + 'csvn-12345' => 'cpum-cf-csvn-12345.ctr', + 'csvn-6' => 'cpum-cf-csvn-6.ctr', # Extended counters 2097 => 'cpum-cf-extended-z10.ctr', @@ -27,4 +28,7 @@ 2965 => 'cpum-cf-extended-z13.ctr', 3906 => 'cpum-cf-extended-z14.ctr', 3907 => 'cpum-cf-extended-z14.ctr', + # Identical with z14 + 8561 => 'cpum-cf-extended-z14.ctr', + 8562 => 'cpum-cf-extended-z14.ctr', };