aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/cpu_features_def.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/s390x/cpu_features_def.h')
-rw-r--r--target/s390x/cpu_features_def.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index aa5ab8d371..4b6d4e9cc0 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -15,6 +15,7 @@
#define TARGET_S390X_CPU_FEATURES_DEF_H
typedef enum {
+ /* Stfle */
S390_FEAT_ESAN3 = 0,
S390_FEAT_ZARCH,
S390_FEAT_DAT_ENH,
@@ -49,6 +50,7 @@ typedef enum {
S390_FEAT_EXECUTE_EXT,
S390_FEAT_ENHANCED_MONITOR,
S390_FEAT_FLOATING_POINT_EXT,
+ S390_FEAT_ORDER_PRESERVING_COMPRESSION,
S390_FEAT_SET_PROGRAM_PARAMETERS,
S390_FEAT_FLOATING_POINT_SUPPPORT_ENH,
S390_FEAT_DFP,
@@ -62,8 +64,15 @@ typedef enum {
S390_FEAT_LOCAL_TLB_CLEARING,
S390_FEAT_INTERLOCKED_ACCESS_2,
S390_FEAT_STFLE_53,
+ S390_FEAT_ENTROPY_ENC_COMP,
S390_FEAT_MSA_EXT_5,
+ S390_FEAT_MISC_INSTRUCTION_EXT,
+ S390_FEAT_SEMAPHORE_ASSIST,
+ S390_FEAT_TIME_SLICE_INSTRUMENTATION,
S390_FEAT_RUNTIME_INSTRUMENTATION,
+ S390_FEAT_ZPCI,
+ S390_FEAT_ADAPTER_EVENT_NOTIFICATION,
+ S390_FEAT_ADAPTER_INT_SUPPRESSION,
S390_FEAT_TRANSACTIONAL_EXE,
S390_FEAT_STORE_HYPERVISOR_INFO,
S390_FEAT_ACCESS_EXCEPTION_FS_INDICATION,
@@ -72,12 +81,30 @@ typedef enum {
S390_FEAT_EDAT_2,
S390_FEAT_DFP_PACKED_CONVERSION,
S390_FEAT_VECTOR,
+ S390_FEAT_INSTRUCTION_EXEC_PROT,
+ S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2,
+ S390_FEAT_GUARDED_STORAGE,
+ S390_FEAT_VECTOR_PACKED_DECIMAL,
+ S390_FEAT_VECTOR_ENH,
+ S390_FEAT_MULTIPLE_EPOCH,
+ S390_FEAT_TEST_PENDING_EXT_INTERRUPTION,
+ S390_FEAT_INSERT_REFERENCE_BITS_MULT,
+ S390_FEAT_MSA_EXT_8,
+ S390_FEAT_CMM_NT,
+
+ /* Sclp Conf Char */
S390_FEAT_SIE_GSLS,
S390_FEAT_ESOP,
+ S390_FEAT_HPMA2,
+ S390_FEAT_SIE_KSS,
+
+ /* Sclp Conf Char Ext */
S390_FEAT_SIE_64BSCAO,
S390_FEAT_SIE_CMMA,
S390_FEAT_SIE_PFMFI,
S390_FEAT_SIE_IBS,
+
+ /* Sclp Cpu */
S390_FEAT_SIE_F2,
S390_FEAT_SIE_SKEY,
S390_FEAT_SIE_GPERE,
@@ -85,8 +112,12 @@ typedef enum {
S390_FEAT_SIE_SIGPIF,
S390_FEAT_SIE_IB,
S390_FEAT_SIE_CEI,
+
+ /* Misc */
S390_FEAT_DAT_ENH_2,
S390_FEAT_CMM,
+
+ /* PLO */
S390_FEAT_PLO_CL,
S390_FEAT_PLO_CLG,
S390_FEAT_PLO_CLGR,
@@ -111,6 +142,8 @@ typedef enum {
S390_FEAT_PLO_CSTSTG,
S390_FEAT_PLO_CSTSTGR,
S390_FEAT_PLO_CSTSTX,
+
+ /* PTFF */
S390_FEAT_PTFF_QTO,
S390_FEAT_PTFF_QSI,
S390_FEAT_PTFF_QPT,
@@ -118,6 +151,8 @@ typedef enum {
S390_FEAT_PTFF_QTOU,
S390_FEAT_PTFF_STO,
S390_FEAT_PTFF_STOU,
+
+ /* KMAC */
S390_FEAT_KMAC_DEA,
S390_FEAT_KMAC_TDEA_128,
S390_FEAT_KMAC_TDEA_192,
@@ -130,6 +165,8 @@ typedef enum {
S390_FEAT_KMAC_EAES_128,
S390_FEAT_KMAC_EAES_192,
S390_FEAT_KMAC_EAES_256,
+
+ /* KMC */
S390_FEAT_KMC_DEA,
S390_FEAT_KMC_TDEA_128,
S390_FEAT_KMC_TDEA_192,
@@ -143,6 +180,8 @@ typedef enum {
S390_FEAT_KMC_EAES_192,
S390_FEAT_KMC_EAES_256,
S390_FEAT_KMC_PRNG,
+
+ /* KM */
S390_FEAT_KM_DEA,
S390_FEAT_KM_TDEA_128,
S390_FEAT_KM_TDEA_192,
@@ -159,19 +198,39 @@ typedef enum {
S390_FEAT_KM_XTS_AES_256,
S390_FEAT_KM_XTS_EAES_128,
S390_FEAT_KM_XTS_EAES_256,
+
+ /* KIMD */
S390_FEAT_KIMD_SHA_1,
S390_FEAT_KIMD_SHA_256,
S390_FEAT_KIMD_SHA_512,
+ S390_FEAT_KIMD_SHA3_224,
+ S390_FEAT_KIMD_SHA3_256,
+ S390_FEAT_KIMD_SHA3_384,
+ S390_FEAT_KIMD_SHA3_512,
+ S390_FEAT_KIMD_SHAKE_128,
+ S390_FEAT_KIMD_SHAKE_256,
S390_FEAT_KIMD_GHASH,
+
+ /* KLMD */
S390_FEAT_KLMD_SHA_1,
S390_FEAT_KLMD_SHA_256,
S390_FEAT_KLMD_SHA_512,
+ S390_FEAT_KLMD_SHA3_224,
+ S390_FEAT_KLMD_SHA3_256,
+ S390_FEAT_KLMD_SHA3_384,
+ S390_FEAT_KLMD_SHA3_512,
+ S390_FEAT_KLMD_SHAKE_128,
+ S390_FEAT_KLMD_SHAKE_256,
+
+ /* PCKMO */
S390_FEAT_PCKMO_EDEA,
S390_FEAT_PCKMO_ETDEA_128,
S390_FEAT_PCKMO_ETDEA_256,
S390_FEAT_PCKMO_AES_128,
S390_FEAT_PCKMO_AES_192,
S390_FEAT_PCKMO_AES_256,
+
+ /* KMCTR */
S390_FEAT_KMCTR_DEA,
S390_FEAT_KMCTR_TDEA_128,
S390_FEAT_KMCTR_TDEA_192,
@@ -184,6 +243,8 @@ typedef enum {
S390_FEAT_KMCTR_EAES_128,
S390_FEAT_KMCTR_EAES_192,
S390_FEAT_KMCTR_EAES_256,
+
+ /* KMF */
S390_FEAT_KMF_DEA,
S390_FEAT_KMF_TDEA_128,
S390_FEAT_KMF_TDEA_192,
@@ -196,6 +257,8 @@ typedef enum {
S390_FEAT_KMF_EAES_128,
S390_FEAT_KMF_EAES_192,
S390_FEAT_KMF_EAES_256,
+
+ /* KMO */
S390_FEAT_KMO_DEA,
S390_FEAT_KMO_TDEA_128,
S390_FEAT_KMO_TDEA_192,
@@ -208,6 +271,8 @@ typedef enum {
S390_FEAT_KMO_EAES_128,
S390_FEAT_KMO_EAES_192,
S390_FEAT_KMO_EAES_256,
+
+ /* PCC */
S390_FEAT_PCC_CMAC_DEA,
S390_FEAT_PCC_CMAC_TDEA_128,
S390_FEAT_PCC_CMAC_TDEA_192,
@@ -224,7 +289,19 @@ typedef enum {
S390_FEAT_PCC_XTS_AES_256,
S390_FEAT_PCC_XTS_EAES_128,
S390_FEAT_PCC_XTS_EAES_256,
+
+ /* PPNO/PRNO */
S390_FEAT_PPNO_SHA_512_DRNG,
+ S390_FEAT_PRNO_TRNG_QRTCR,
+ S390_FEAT_PRNO_TRNG,
+
+ /* KMA */
+ S390_FEAT_KMA_GCM_AES_128,
+ S390_FEAT_KMA_GCM_AES_192,
+ S390_FEAT_KMA_GCM_AES_256 ,
+ S390_FEAT_KMA_GCM_EAES_128,
+ S390_FEAT_KMA_GCM_EAES_192,
+ S390_FEAT_KMA_GCM_EAES_256,
S390_FEAT_MAX,
} S390Feat;