Message ID | 20210916181510.963449-4-oupton@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm64: Add idempotent controls to migrate guest counter | expand |
On Thu, Sep 16, 2021 at 06:15:05PM +0000, Oliver Upton wrote: > Presently, the number of timer registers is constant. There may be > opt-in behavior in KVM that exposes more timer registers to userspace. > Prepare for the change by switching from a macro to a helper function to > get the number of timer registers. > > No functional change intended. > > Signed-off-by: Oliver Upton <oupton@google.com> > --- > arch/arm64/kvm/guest.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c > index 5ce26bedf23c..a13a79f5e0e2 100644 > --- a/arch/arm64/kvm/guest.c > +++ b/arch/arm64/kvm/guest.c > @@ -588,7 +588,10 @@ static unsigned long num_core_regs(const struct kvm_vcpu *vcpu) > * ARM64 versions of the TIMER registers, always available on arm64 > */ > > -#define NUM_TIMER_REGS 3 > +static inline unsigned long num_timer_regs(struct kvm_vcpu *vcpu) > +{ > + return 3; > +} > > static bool is_timer_reg(u64 index) > { > @@ -711,7 +714,7 @@ unsigned long kvm_arm_num_regs(struct kvm_vcpu *vcpu) > res += num_sve_regs(vcpu); > res += kvm_arm_num_sys_reg_descs(vcpu); > res += kvm_arm_get_fw_num_regs(vcpu); > - res += NUM_TIMER_REGS; > + res += num_timer_regs(vcpu); > > return res; > } > @@ -743,7 +746,7 @@ int kvm_arm_copy_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices) > ret = copy_timer_indices(vcpu, uindices); > if (ret < 0) > return ret; > - uindices += NUM_TIMER_REGS; > + uindices += num_timer_regs(vcpu); > > return kvm_arm_copy_sys_reg_indices(vcpu, uindices); > } > -- > 2.33.0.309.g3052b89438-goog > Reviewed-by: Andrew Jones <drjones@redhat.com>
diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c index 5ce26bedf23c..a13a79f5e0e2 100644 --- a/arch/arm64/kvm/guest.c +++ b/arch/arm64/kvm/guest.c @@ -588,7 +588,10 @@ static unsigned long num_core_regs(const struct kvm_vcpu *vcpu) * ARM64 versions of the TIMER registers, always available on arm64 */ -#define NUM_TIMER_REGS 3 +static inline unsigned long num_timer_regs(struct kvm_vcpu *vcpu) +{ + return 3; +} static bool is_timer_reg(u64 index) { @@ -711,7 +714,7 @@ unsigned long kvm_arm_num_regs(struct kvm_vcpu *vcpu) res += num_sve_regs(vcpu); res += kvm_arm_num_sys_reg_descs(vcpu); res += kvm_arm_get_fw_num_regs(vcpu); - res += NUM_TIMER_REGS; + res += num_timer_regs(vcpu); return res; } @@ -743,7 +746,7 @@ int kvm_arm_copy_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices) ret = copy_timer_indices(vcpu, uindices); if (ret < 0) return ret; - uindices += NUM_TIMER_REGS; + uindices += num_timer_regs(vcpu); return kvm_arm_copy_sys_reg_indices(vcpu, uindices); }
Presently, the number of timer registers is constant. There may be opt-in behavior in KVM that exposes more timer registers to userspace. Prepare for the change by switching from a macro to a helper function to get the number of timer registers. No functional change intended. Signed-off-by: Oliver Upton <oupton@google.com> --- arch/arm64/kvm/guest.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)