Hi Pavel,
On 04/12/15 10:25, Pavel Fedin wrote:
> Further rework is going to introduce a dedicated storage for transfer
> register value in struct sys_reg_params. Before doing this we have to
> remove all 'const' modifiers from it.
I think you are being a bit overzealous here, and a few const can
legitimately be kept, see below.
> Signed-off-by: Pavel Fedin
> ---
> arch/arm64/kvm/sys_regs.c| 38
> ++--
> arch/arm64/kvm/sys_regs.h| 12 ++--
> arch/arm64/kvm/sys_regs_generic_v8.c | 2 +-
> 3 files changed, 26 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
> index 87a64e8..e5f024e 100644
> --- a/arch/arm64/kvm/sys_regs.c
> +++ b/arch/arm64/kvm/sys_regs.c
> @@ -78,7 +78,7 @@ static u32 get_ccsidr(u32 csselr)
> * See note at ARMv7 ARM B1.14.4 (TL;DR: S/W ops are not easily virtualized).
> */
> static bool access_dcsw(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> if (!p->is_write)
> @@ -94,7 +94,7 @@ static bool access_dcsw(struct kvm_vcpu *vcpu,
> * sys_regs and leave it in complete control of the caches.
> */
> static bool access_vm_reg(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> unsigned long val;
> @@ -122,7 +122,7 @@ static bool access_vm_reg(struct kvm_vcpu *vcpu,
> * for both AArch64 and AArch32 accesses.
> */
> static bool access_gic_sgi(struct kvm_vcpu *vcpu,
> -const struct sys_reg_params *p,
> +struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> u64 val;
> @@ -137,7 +137,7 @@ static bool access_gic_sgi(struct kvm_vcpu *vcpu,
> }
>
> static bool trap_raz_wi(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> if (p->is_write)
> @@ -147,7 +147,7 @@ static bool trap_raz_wi(struct kvm_vcpu *vcpu,
> }
>
> static bool trap_oslsr_el1(struct kvm_vcpu *vcpu,
> -const struct sys_reg_params *p,
> +struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> if (p->is_write) {
> @@ -159,7 +159,7 @@ static bool trap_oslsr_el1(struct kvm_vcpu *vcpu,
> }
>
> static bool trap_dbgauthstatus_el1(struct kvm_vcpu *vcpu,
> -const struct sys_reg_params *p,
> +struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> if (p->is_write) {
> @@ -200,7 +200,7 @@ static bool trap_dbgauthstatus_el1(struct kvm_vcpu *vcpu,
> * now use the debug registers.
> */
> static bool trap_debug_regs(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *r)
> {
> if (p->is_write) {
> @@ -225,7 +225,7 @@ static bool trap_debug_regs(struct kvm_vcpu *vcpu,
> * hyp.S code switches between host and guest values in future.
> */
> static inline void reg_to_dbg(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> u64 *dbg_reg)
> {
> u64 val = *vcpu_reg(vcpu, p->Rt);
> @@ -240,7 +240,7 @@ static inline void reg_to_dbg(struct kvm_vcpu *vcpu,
> }
>
> static inline void dbg_to_reg(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> u64 *dbg_reg)
> {
> u64 val = *dbg_reg;
> @@ -252,7 +252,7 @@ static inline void dbg_to_reg(struct kvm_vcpu *vcpu,
> }
>
> static inline bool trap_bvr(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *rd)
> {
> u64 *dbg_reg = >arch.vcpu_debug_state.dbg_bvr[rd->reg];
> @@ -294,7 +294,7 @@ static inline void reset_bvr(struct kvm_vcpu *vcpu,
> }
>
> static inline bool trap_bcr(struct kvm_vcpu *vcpu,
> - const struct sys_reg_params *p,
> + struct sys_reg_params *p,
> const struct sys_reg_desc *rd)
> {
> u64 *dbg_reg = >arch.vcpu_debug_state.dbg_bcr[rd->reg];
> @@ -337,7 +337,7 @@ static inline void reset_bcr(struct kvm_vcpu *vcpu,
> }
>
> static inline bool trap_wvr(struct kvm_vcpu *vcpu,
> -