Skip to content

Commit

Permalink
Print CPUINFO also for s390 processors
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>

Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from #12216)
  • Loading branch information
p-steuer committed Jun 22, 2020
1 parent 13da2e6 commit b55a0b0
Showing 1 changed file with 43 additions and 1 deletion.
44 changes: 43 additions & 1 deletion crypto/info.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,20 @@

#if defined(__arm__) || defined(__arm) || defined(__aarch64__)
# include "arm_arch.h"
# define CPU_INFO_STR_LEN 128
#elif defined(__s390__) || defined(__s390x__)
# include "s390x_arch.h"
# define CPU_INFO_STR_LEN 2048
#else
# define CPU_INFO_STR_LEN 128
#endif

/* extern declaration to avoid warning */
extern char ossl_cpu_info_str[];

static char *seed_sources = NULL;

char ossl_cpu_info_str[128] = "";
char ossl_cpu_info_str[CPU_INFO_STR_LEN] = "";
#define CPUINFO_PREFIX "CPUINFO: "

static CRYPTO_ONCE init_info = CRYPTO_ONCE_STATIC_INIT;
Expand Down Expand Up @@ -56,6 +62,42 @@ DEFINE_RUN_ONCE_STATIC(init_info_strings)
BIO_snprintf(ossl_cpu_info_str + strlen(ossl_cpu_info_str),
sizeof(ossl_cpu_info_str) - strlen(ossl_cpu_info_str),
" env:%s", env);
# elif defined(__s390__) || defined(__s390x__)
const char *env;

BIO_snprintf(ossl_cpu_info_str, sizeof(ossl_cpu_info_str),
CPUINFO_PREFIX "OPENSSL_s390xcap="
"stfle:0x%llx:0x%llx:0x%llx:0x%llx:"
"kimd:0x%llx:0x%llx:"
"klmd:0x%llx:0x%llx:"
"km:0x%llx:0x%llx:"
"kmc:0x%llx:0x%llx:"
"kmac:0x%llx:0x%llx:"
"kmctr:0x%llx:0x%llx:"
"kmo:0x%llx:0x%llx:"
"kmf:0x%llx:0x%llx:"
"prno:0x%llx:0x%llx:"
"kma:0x%llx:0x%llx:"
"pcc:0x%llx:0x%llx:"
"kdsa:0x%llx:0x%llx",
OPENSSL_s390xcap_P.stfle[0], OPENSSL_s390xcap_P.stfle[1],
OPENSSL_s390xcap_P.stfle[2], OPENSSL_s390xcap_P.stfle[3],
OPENSSL_s390xcap_P.kimd[0], OPENSSL_s390xcap_P.kimd[1],
OPENSSL_s390xcap_P.klmd[0], OPENSSL_s390xcap_P.klmd[1],
OPENSSL_s390xcap_P.km[0], OPENSSL_s390xcap_P.km[1],
OPENSSL_s390xcap_P.kmc[0], OPENSSL_s390xcap_P.kmc[1],
OPENSSL_s390xcap_P.kmac[0], OPENSSL_s390xcap_P.kmac[1],
OPENSSL_s390xcap_P.kmctr[0], OPENSSL_s390xcap_P.kmctr[1],
OPENSSL_s390xcap_P.kmo[0], OPENSSL_s390xcap_P.kmo[1],
OPENSSL_s390xcap_P.kmf[0], OPENSSL_s390xcap_P.kmf[1],
OPENSSL_s390xcap_P.prno[0], OPENSSL_s390xcap_P.prno[1],
OPENSSL_s390xcap_P.kma[0], OPENSSL_s390xcap_P.kma[1],
OPENSSL_s390xcap_P.pcc[0], OPENSSL_s390xcap_P.pcc[1],
OPENSSL_s390xcap_P.kdsa[0], OPENSSL_s390xcap_P.kdsa[1]);
if ((env = getenv("OPENSSL_s390xcap")) != NULL)
BIO_snprintf(ossl_cpu_info_str + strlen(ossl_cpu_info_str),
sizeof(ossl_cpu_info_str) - strlen(ossl_cpu_info_str),
" env:%s", env);
# endif
#endif

Expand Down

0 comments on commit b55a0b0

Please sign in to comment.