diff --git a/qemu/target-arm/helper.c b/qemu/target-arm/helper.c index aae3322c..6bcaef38 100644 --- a/qemu/target-arm/helper.c +++ b/qemu/target-arm/helper.c @@ -2473,6 +2473,10 @@ static const ARMCPRegInfo el3_no_el2_cp_reginfo[] = { PL2_RW, 0, NULL, 0 }, { "HMAIR1", 0,10,2, 0,4,1, ARM_CP_STATE_AA32, ARM_CP_CONST, PL2_RW, 0, NULL, 0 }, + { "AMAIR_EL2", 0,10,3, 3,4,0, ARM_CP_STATE_BOTH, ARM_CP_CONST, + PL2_RW, 0, NULL, 0 }, + { "HMAIR1", 0,10,3, 0,4,1, ARM_CP_STATE_AA32, ARM_CP_CONST, + PL2_RW, 0, NULL, 0 }, { "TCR_EL2", 0,2,0, 3,4,2, ARM_CP_STATE_BOTH, ARM_CP_CONST, PL2_RW, 0, NULL, 0 }, { "SCTLR_EL2", 0,1,0, 3,4,0, ARM_CP_STATE_BOTH, ARM_CP_CONST, @@ -2554,6 +2558,11 @@ static const ARMCPRegInfo el2_cp_reginfo[] = { PL2_RW, 0, NULL, 0, offsetof(CPUARMState, cp15.mair_el[2]) }, { "HMAIR1", 0,10,2, 0,4,1, ARM_CP_STATE_AA32, ARM_CP_ALIAS, PL2_RW, 0, NULL, 0, offsetofhigh32(CPUARMState, cp15.mair_el[2]) }, + { "AMAIR_EL2", 0,10,3, 3,4,0, ARM_CP_STATE_BOTH, ARM_CP_CONST, + PL2_RW, 0, NULL, 0 }, + /* HAMAIR1 is mapped to AMAIR_EL2[63:32] */ + { "HMAIR1", 0,10,3, 0,4,1, ARM_CP_STATE_AA32, ARM_CP_CONST, + PL2_RW, 0, NULL, 0 }, { "TCR_EL2", 0,2,0, 3,4,2, ARM_CP_STATE_BOTH, 0, PL2_RW, 0, NULL, 0, offsetof(CPUARMState, cp15.tcr_el[2]), {0, 0}, NULL, NULL, vmsa_tcr_el1_write, NULL, raw_write, vmsa_ttbcr_reset }, @@ -2647,6 +2656,8 @@ static const ARMCPRegInfo el3_cp_reginfo[] = { cptr_access }, { "TPIDR_EL3", 0,13,0, 3,6,2, ARM_CP_STATE_AA64, 0, PL3_RW, 0, NULL, 0, offsetof(CPUARMState, cp15.tpidr_el[3]) }, + { "AMAIR_EL3", 0,10,3, 3,6,0, ARM_CP_STATE_AA64, ARM_CP_CONST, + PL3_RW, 0, NULL, 0 }, REGINFO_SENTINEL };