Re: [PATCH v3 5/6] KVM: arm64: rename functions for invariant sys regs

From: Eric Auger
Date: Wed May 29 2024 - 09:59:01 EST


Hi Sebastian,

On 5/14/24 09:22, Sebastian Ott wrote:
> Invariant system id registers are populated with host values
> at initialization time using their .reset function cb.
get_##reg call read_sysreg(). I don't really understand the above
sentence. Please could you elaborate?

Thanks

Eric
>
> These are currently called get_* which is usually used by
> the functions implementing the .get_user callback.
>
> Change their function names to reset_* to reflect what they
> are used for.
>
> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxx>
> ---
> arch/arm64/kvm/sys_regs.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
> index 1b6ab483e21e..bae72a4ce72b 100644
> --- a/arch/arm64/kvm/sys_regs.c
> +++ b/arch/arm64/kvm/sys_regs.c
> @@ -3795,8 +3795,8 @@ id_to_sys_reg_desc(struct kvm_vcpu *vcpu, u64 id,
> */
>
> #define FUNCTION_INVARIANT(reg) \
> - static u64 get_##reg(struct kvm_vcpu *v, \
> - const struct sys_reg_desc *r) \
> + static u64 reset_##reg(struct kvm_vcpu *v, \
> + const struct sys_reg_desc *r) \
> { \
> ((struct sys_reg_desc *)r)->val = read_sysreg(reg); \
> return ((struct sys_reg_desc *)r)->val; \
> @@ -3808,9 +3808,9 @@ FUNCTION_INVARIANT(aidr_el1)
>
> /* ->val is filled in by kvm_sys_reg_table_init() */
> static struct sys_reg_desc invariant_sys_regs[] __ro_after_init = {
> - { SYS_DESC(SYS_MIDR_EL1), NULL, get_midr_el1 },
> - { SYS_DESC(SYS_REVIDR_EL1), NULL, get_revidr_el1 },
> - { SYS_DESC(SYS_AIDR_EL1), NULL, get_aidr_el1 },
> + { SYS_DESC(SYS_MIDR_EL1), NULL, reset_midr_el1 },
> + { SYS_DESC(SYS_REVIDR_EL1), NULL, reset_revidr_el1 },
> + { SYS_DESC(SYS_AIDR_EL1), NULL, reset_aidr_el1 },
> };
>
> static int get_invariant_sys_reg(u64 id, u64 __user *uaddr)