summaryrefslogtreecommitdiffstats
path: root/target/arm/internals.h
diff options
context:
space:
mode:
authorRichard Henderson2020-02-16 20:43:43 +0100
committerPeter Maydell2020-02-21 17:07:00 +0100
commitb830a5ee82e66f54697dcc6450fe9239b7412d13 (patch)
tree373385935717b62daaff8955b6cc805708c0322e /target/arm/internals.h
parenttarget/arm: Remove ttbr1_valid check from get_phys_addr_lpae (diff)
downloadqemu-b830a5ee82e66f54697dcc6450fe9239b7412d13.tar.gz
qemu-b830a5ee82e66f54697dcc6450fe9239b7412d13.tar.xz
qemu-b830a5ee82e66f54697dcc6450fe9239b7412d13.zip
target/arm: Split out aa64_va_parameter_tbi, aa64_va_parameter_tbid
For the purpose of rebuild_hflags_a64, we do not need to compute all of the va parameters, only tbi. Moreover, we can compute them in a form that is more useful to storing in hflags. This eliminates the need for aa64_va_parameter_both, so fold that in to aa64_va_parameter. The remaining calls to aa64_va_parameter are in get_phys_addr_lpae and in pauth_helper.c. This reduces the total cpu consumption of aa64_va_parameter in a kernel boot plus a kvm guest kernel boot from 3% to 0.5%. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200216194343.21331-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/internals.h')
-rw-r--r--target/arm/internals.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/target/arm/internals.h b/target/arm/internals.h
index 58c4d707c5..14328e3f7d 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -1127,15 +1127,12 @@ typedef struct ARMVAParameters {
unsigned tsz : 8;
unsigned select : 1;
bool tbi : 1;
- bool tbid : 1;
bool epd : 1;
bool hpd : 1;
bool using16k : 1;
bool using64k : 1;
} ARMVAParameters;
-ARMVAParameters aa64_va_parameters_both(CPUARMState *env, uint64_t va,
- ARMMMUIdx mmu_idx);
ARMVAParameters aa64_va_parameters(CPUARMState *env, uint64_t va,
ARMMMUIdx mmu_idx, bool data);