@ -1201,7 +1201,7 @@ void aarch64_max_tcg_initfn(Object *obj)
*/
t = FIELD_DP64 ( t , ID_AA64PFR1 , MTE , 3 ) ; /* FEAT_MTE3 */
t = FIELD_DP64 ( t , ID_AA64PFR1 , RAS_FRAC , 0 ) ; /* FEAT_RASv1p1 + FEAT_DoubleFault */
t = FIELD_DP64 ( t , ID_AA64PFR1 , SME , 1 ) ; /* FEAT_SME */
t = FIELD_DP64 ( t , ID_AA64PFR1 , SME , 2 ) ; /* FEAT_SME2 */
t = FIELD_DP64 ( t , ID_AA64PFR1 , CSV2_FRAC , 0 ) ; /* FEAT_CSV2_3 */
t = FIELD_DP64 ( t , ID_AA64PFR1 , NMI , 1 ) ; /* FEAT_NMI */
SET_IDREG ( isar , ID_AA64PFR1 , t ) ;
@ -1250,10 +1250,11 @@ void aarch64_max_tcg_initfn(Object *obj)
FIELD_DP64_IDREG ( isar , ID_AA64MMFR3 , SPEC_FPACC , 1 ) ; /* FEAT_FPACC_SPEC */
t = GET_IDREG ( isar , ID_AA64ZFR0 ) ;
t = FIELD_DP64 ( t , ID_AA64ZFR0 , SVEVER , 1 ) ;
t = FIELD_DP64 ( t , ID_AA64ZFR0 , SVEVER , 2 ) ; /* FEAT_SVE2p1 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , AES , 2 ) ; /* FEAT_SVE_PMULL128 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , BITPERM , 1 ) ; /* FEAT_SVE_BitPerm */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , BFLOAT16 , 2 ) ; /* FEAT_BF16, FEAT_EBF16 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , B16B16 , 1 ) ; /* FEAT_SVE_B16B16 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , SHA3 , 1 ) ; /* FEAT_SVE_SHA3 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , SM4 , 1 ) ; /* FEAT_SVE_SM4 */
t = FIELD_DP64 ( t , ID_AA64ZFR0 , I8MM , 1 ) ; /* FEAT_I8MM */
@ -1269,11 +1270,16 @@ void aarch64_max_tcg_initfn(Object *obj)
t = GET_IDREG ( isar , ID_AA64SMFR0 ) ;
t = FIELD_DP64 ( t , ID_AA64SMFR0 , F32F32 , 1 ) ; /* FEAT_SME */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , BI32I32 , 1 ) ; /* FEAT_SME2 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , B16F32 , 1 ) ; /* FEAT_SME */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , F16F32 , 1 ) ; /* FEAT_SME */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , I8I32 , 0xf ) ; /* FEAT_SME */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , F16F16 , 1 ) ; /* FEAT_SME_F16F16 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , B16B16 , 1 ) ; /* FEAT_SME_B16B16 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , I16I32 , 5 ) ; /* FEAT_SME2 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , F64F64 , 1 ) ; /* FEAT_SME_F64F64 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , I16I64 , 0xf ) ; /* FEAT_SME_I16I64 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , SMEVER , 2 ) ; /* FEAT_SME2p1 */
t = FIELD_DP64 ( t , ID_AA64SMFR0 , FA64 , 1 ) ; /* FEAT_SME_FA64 */
SET_IDREG ( isar , ID_AA64SMFR0 , t ) ;