[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 3/4] target/arm: Remove ttbr1_valid check from get_phys_addr_l
From: |
Richard Henderson |
Subject: |
[PATCH v3 3/4] target/arm: Remove ttbr1_valid check from get_phys_addr_lpae |
Date: |
Sun, 16 Feb 2020 11:43:42 -0800 |
Now that aa64_va_parameters_both sets select based on the number
of ranges in the regime, the ttbr1_valid check is redundant.
Signed-off-by: Richard Henderson <address@hidden>
---
target/arm/helper.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/target/arm/helper.c b/target/arm/helper.c
index b09a501284..eec7b01ab3 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -10390,7 +10390,6 @@ static bool get_phys_addr_lpae(CPUARMState *env,
target_ulong address,
TCR *tcr = regime_tcr(env, mmu_idx);
int ap, ns, xn, pxn;
uint32_t el = regime_el(env, mmu_idx);
- bool ttbr1_valid;
uint64_t descaddrmask;
bool aarch64 = arm_el_is_aa64(env, el);
bool guarded = false;
@@ -10405,14 +10404,11 @@ static bool get_phys_addr_lpae(CPUARMState *env,
target_ulong address,
param = aa64_va_parameters(env, address, mmu_idx,
access_type != MMU_INST_FETCH);
level = 0;
- ttbr1_valid = regime_has_2_ranges(mmu_idx);
addrsize = 64 - 8 * param.tbi;
inputsize = 64 - param.tsz;
} else {
param = aa32_va_parameters(env, address, mmu_idx);
level = 1;
- /* There is no TTBR1 for EL2 */
- ttbr1_valid = (el != 2);
addrsize = (mmu_idx == ARMMMUIdx_Stage2 ? 40 : 32);
inputsize = addrsize - param.tsz;
}
@@ -10429,7 +10425,7 @@ static bool get_phys_addr_lpae(CPUARMState *env,
target_ulong address,
if (inputsize < addrsize) {
target_ulong top_bits = sextract64(address, inputsize,
addrsize - inputsize);
- if (-top_bits != param.select || (param.select && !ttbr1_valid)) {
+ if (-top_bits != param.select) {
/* The gap between the two regions is a Translation fault */
fault_type = ARMFault_Translation;
goto do_fault;
--
2.20.1
- [PATCH v3 0/4] target/arm: Reduce aa64_va_parameter overhead, Richard Henderson, 2020/02/16
- [PATCH v3 1/4] target/arm: Use bit 55 explicitly for pauth, Richard Henderson, 2020/02/16
- [PATCH v3 2/4] target/arm: Fix select for aa64_va_parameters_both, Richard Henderson, 2020/02/16
- [PATCH v3 3/4] target/arm: Remove ttbr1_valid check from get_phys_addr_lpae,
Richard Henderson <=
- [PATCH v3 4/4] target/arm: Split out aa64_va_parameter_tbi, aa64_va_parameter_tbid, Richard Henderson, 2020/02/16
- Re: [PATCH v3 0/4] target/arm: Reduce aa64_va_parameter overhead, Peter Maydell, 2020/02/18