From b830a5ee82e66f54697dcc6450fe9239b7412d13 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 16 Feb 2020 11:43:43 -0800 Subject: 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 Signed-off-by: Richard Henderson Message-id: 20200216194343.21331-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/internals.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'target/arm/internals.h') 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); -- cgit v1.2.3-55-g7522