/*
 * CPU features/facilities for s390
 *
 * Copyright 2016 IBM Corp.
 *
 * Author(s): Michael Mueller <mimu@linux.vnet.ibm.com>
 *            David Hildenbrand <dahi@linux.vnet.ibm.com>
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or (at
 * your option) any later version. See the COPYING file in the top-level
 * directory.
 */

#ifndef TARGET_S390X_CPU_FEATURES_DEF_H
#define TARGET_S390X_CPU_FEATURES_DEF_H

typedef enum {
    /* Stfle */
    S390_FEAT_ESAN3 = 0,
    S390_FEAT_ZARCH,
    S390_FEAT_DAT_ENH,
    S390_FEAT_IDTE_SEGMENT,
    S390_FEAT_IDTE_REGION,
    S390_FEAT_ASN_LX_REUSE,
    S390_FEAT_STFLE,
    S390_FEAT_EDAT,
    S390_FEAT_SENSE_RUNNING_STATUS,
    S390_FEAT_CONDITIONAL_SSKE,
    S390_FEAT_CONFIGURATION_TOPOLOGY,
    S390_FEAT_IPTE_RANGE,
    S390_FEAT_NONQ_KEY_SETTING,
    S390_FEAT_EXTENDED_TRANSLATION_2,
    S390_FEAT_MSA,
    S390_FEAT_LONG_DISPLACEMENT,
    S390_FEAT_LONG_DISPLACEMENT_FAST,
    S390_FEAT_HFP_MADDSUB,
    S390_FEAT_EXTENDED_IMMEDIATE,
    S390_FEAT_EXTENDED_TRANSLATION_3,
    S390_FEAT_HFP_UNNORMALIZED_EXT,
    S390_FEAT_ETF2_ENH,
    S390_FEAT_STORE_CLOCK_FAST,
    S390_FEAT_PARSING_ENH,
    S390_FEAT_MOVE_WITH_OPTIONAL_SPEC,
    S390_FEAT_TOD_CLOCK_STEERING,
    S390_FEAT_ETF3_ENH,
    S390_FEAT_EXTRACT_CPU_TIME,
    S390_FEAT_COMPARE_AND_SWAP_AND_STORE,
    S390_FEAT_COMPARE_AND_SWAP_AND_STORE_2,
    S390_FEAT_GENERAL_INSTRUCTIONS_EXT,
    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,
    S390_FEAT_DFP_FAST,
    S390_FEAT_PFPO,
    S390_FEAT_STFLE_45,
    S390_FEAT_CMPSC_ENH,
    S390_FEAT_DFP_ZONED_CONVERSION,
    S390_FEAT_STFLE_49,
    S390_FEAT_CONSTRAINT_TRANSACTIONAL_EXE,
    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,
    S390_FEAT_MSA_EXT_3,
    S390_FEAT_MSA_EXT_4,
    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,
    S390_FEAT_SIE_SIIF,
    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,
    S390_FEAT_PLO_CLX,
    S390_FEAT_PLO_CS,
    S390_FEAT_PLO_CSG,
    S390_FEAT_PLO_CSGR,
    S390_FEAT_PLO_CSX,
    S390_FEAT_PLO_DCS,
    S390_FEAT_PLO_DCSG,
    S390_FEAT_PLO_DCSGR,
    S390_FEAT_PLO_DCSX,
    S390_FEAT_PLO_CSST,
    S390_FEAT_PLO_CSSTG,
    S390_FEAT_PLO_CSSTGR,
    S390_FEAT_PLO_CSSTX,
    S390_FEAT_PLO_CSDST,
    S390_FEAT_PLO_CSDSTG,
    S390_FEAT_PLO_CSDSTGR,
    S390_FEAT_PLO_CSDSTX,
    S390_FEAT_PLO_CSTST,
    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,
    S390_FEAT_PTFF_QUI,
    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,
    S390_FEAT_KMAC_EDEA,
    S390_FEAT_KMAC_ETDEA_128,
    S390_FEAT_KMAC_ETDEA_192,
    S390_FEAT_KMAC_AES_128,
    S390_FEAT_KMAC_AES_192,
    S390_FEAT_KMAC_AES_256,
    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,
    S390_FEAT_KMC_EDEA,
    S390_FEAT_KMC_ETDEA_128,
    S390_FEAT_KMC_ETDEA_192,
    S390_FEAT_KMC_AES_128,
    S390_FEAT_KMC_AES_192,
    S390_FEAT_KMC_AES_256,
    S390_FEAT_KMC_EAES_128,
    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,
    S390_FEAT_KM_EDEA,
    S390_FEAT_KM_ETDEA_128,
    S390_FEAT_KM_ETDEA_192,
    S390_FEAT_KM_AES_128,
    S390_FEAT_KM_AES_192,
    S390_FEAT_KM_AES_256,
    S390_FEAT_KM_EAES_128,
    S390_FEAT_KM_EAES_192,
    S390_FEAT_KM_EAES_256,
    S390_FEAT_KM_XTS_AES_128,
    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,
    S390_FEAT_KMCTR_EDEA,
    S390_FEAT_KMCTR_ETDEA_128,
    S390_FEAT_KMCTR_ETDEA_192,
    S390_FEAT_KMCTR_AES_128,
    S390_FEAT_KMCTR_AES_192,
    S390_FEAT_KMCTR_AES_256,
    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,
    S390_FEAT_KMF_EDEA,
    S390_FEAT_KMF_ETDEA_128,
    S390_FEAT_KMF_ETDEA_192,
    S390_FEAT_KMF_AES_128,
    S390_FEAT_KMF_AES_192,
    S390_FEAT_KMF_AES_256,
    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,
    S390_FEAT_KMO_EDEA,
    S390_FEAT_KMO_ETDEA_128,
    S390_FEAT_KMO_ETDEA_192,
    S390_FEAT_KMO_AES_128,
    S390_FEAT_KMO_AES_192,
    S390_FEAT_KMO_AES_256,
    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,
    S390_FEAT_PCC_CMAC_ETDEA_128,
    S390_FEAT_PCC_CMAC_ETDEA_192,
    S390_FEAT_PCC_CMAC_TDEA,
    S390_FEAT_PCC_CMAC_AES_128,
    S390_FEAT_PCC_CMAC_AES_192,
    S390_FEAT_PCC_CMAC_AES_256,
    S390_FEAT_PCC_CMAC_EAES_128,
    S390_FEAT_PCC_CMAC_EAES_192,
    S390_FEAT_PCC_CMAC_EAES_256,
    S390_FEAT_PCC_XTS_AES_128,
    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;

#endif /* TARGET_S390X_CPU_FEATURES_DEF_H */
