target/arm: Drop always-true test in define_arm_vh_e2h_redirects_aliases

The new_key field is always non-zero -- drop the if.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20220501055028.646596-11-richard.henderson@linaro.org
[PMM: reinstated dropped PL3_RW mask]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Richard Henderson 2022-04-30 22:49:52 -07:00 committed by Peter Maydell
parent cbe645856f
commit 9da35a40fd

View File

@ -5914,7 +5914,9 @@ static void define_arm_vh_e2h_redirects_aliases(ARMCPU *cpu)
for (i = 0; i < ARRAY_SIZE(aliases); i++) {
const struct E2HAlias *a = &aliases[i];
ARMCPRegInfo *src_reg, *dst_reg;
ARMCPRegInfo *src_reg, *dst_reg, *new_reg;
uint32_t *new_key;
bool ok;
if (a->feature && !a->feature(&cpu->isar)) {
continue;
@ -5933,19 +5935,16 @@ static void define_arm_vh_e2h_redirects_aliases(ARMCPU *cpu)
g_assert(src_reg->opaque == NULL);
/* Create alias before redirection so we dup the right data. */
if (a->new_key) {
ARMCPRegInfo *new_reg = g_memdup(src_reg, sizeof(ARMCPRegInfo));
uint32_t *new_key = g_memdup(&a->new_key, sizeof(uint32_t));
bool ok;
new_reg = g_memdup(src_reg, sizeof(ARMCPRegInfo));
new_key = g_memdup(&a->new_key, sizeof(uint32_t));
new_reg->name = a->new_name;
new_reg->type |= ARM_CP_ALIAS;
/* Remove PL1/PL0 access, leaving PL2/PL3 R/W in place. */
new_reg->access &= PL2_RW | PL3_RW;
new_reg->name = a->new_name;
new_reg->type |= ARM_CP_ALIAS;
/* Remove PL1/PL0 access, leaving PL2/PL3 R/W in place. */
new_reg->access &= PL2_RW | PL3_RW;
ok = g_hash_table_insert(cpu->cp_regs, new_key, new_reg);
g_assert(ok);
}
ok = g_hash_table_insert(cpu->cp_regs, new_key, new_reg);
g_assert(ok);
src_reg->opaque = dst_reg;
src_reg->orig_readfn = src_reg->readfn ?: raw_read;