KVM: arm64: Drop is_aarch32 trap attribute
authorMarc Zyngier <maz@kernel.org>
Thu, 29 Oct 2020 17:20:49 +0000 (17:20 +0000)
committerMarc Zyngier <maz@kernel.org>
Tue, 10 Nov 2020 11:22:52 +0000 (11:22 +0000)
is_aarch32 is only used once, and can be trivially replaced by
testing Op0 instead. Drop it.

Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/sys_regs.c
arch/arm64/kvm/sys_regs.h
arch/arm64/kvm/vgic-sys-reg-v3.c

index a4726cd..64fdfb6 100644 (file)
@@ -213,7 +213,7 @@ static bool access_gic_sgi(struct kvm_vcpu *vcpu,
         * equivalent to ICC_SGI0R_EL1, as there is no "alternative" secure
         * group.
         */
-       if (p->is_aarch32) {
+       if (p->Op0 == 0) {              /* AArch32 */
                switch (p->Op1) {
                default:                /* Keep GCC quiet */
                case 0:                 /* ICC_SGI1R */
@@ -224,7 +224,7 @@ static bool access_gic_sgi(struct kvm_vcpu *vcpu,
                        g1 = false;
                        break;
                }
-       } else {
+       } else {                        /* AArch64 */
                switch (p->Op2) {
                default:                /* Keep GCC quiet */
                case 5:                 /* ICC_SGI1R_EL1 */
@@ -2175,7 +2175,6 @@ static int kvm_handle_cp_64(struct kvm_vcpu *vcpu,
        int Rt = kvm_vcpu_sys_get_rt(vcpu);
        int Rt2 = (esr >> 10) & 0x1f;
 
-       params.is_aarch32 = true;
        params.CRm = (esr >> 1) & 0xf;
        params.is_write = ((esr & 1) == 0);
 
@@ -2225,7 +2224,6 @@ static int kvm_handle_cp_32(struct kvm_vcpu *vcpu,
        u32 esr = kvm_vcpu_get_esr(vcpu);
        int Rt  = kvm_vcpu_sys_get_rt(vcpu);
 
-       params.is_aarch32 = true;
        params.CRm = (esr >> 1) & 0xf;
        params.regval = vcpu_get_reg(vcpu, Rt);
        params.is_write = ((esr & 1) == 0);
@@ -2319,7 +2317,6 @@ int kvm_handle_sys_reg(struct kvm_vcpu *vcpu)
 
        trace_kvm_handle_sys_reg(esr);
 
-       params.is_aarch32 = false;
        params.Op0 = (esr >> 20) & 3;
        params.Op1 = (esr >> 14) & 0x7;
        params.CRn = (esr >> 10) & 0xf;
index 8c4958d..416153b 100644 (file)
@@ -19,7 +19,6 @@ struct sys_reg_params {
        u8      Op2;
        u64     regval;
        bool    is_write;
-       bool    is_aarch32;
 };
 
 struct sys_reg_desc {
index 806d670..07d5271 100644 (file)
@@ -268,7 +268,6 @@ int vgic_v3_has_cpu_sysregs_attr(struct kvm_vcpu *vcpu, bool is_write, u64 id,
 
        params.regval = *reg;
        params.is_write = is_write;
-       params.is_aarch32 = false;
 
        if (find_reg_by_id(sysreg, &params, gic_v3_icc_reg_descs,
                              ARRAY_SIZE(gic_v3_icc_reg_descs)))
@@ -287,7 +286,6 @@ int vgic_v3_cpu_sysregs_uaccess(struct kvm_vcpu *vcpu, bool is_write, u64 id,
        if (is_write)
                params.regval = *reg;
        params.is_write = is_write;
-       params.is_aarch32 = false;
 
        r = find_reg_by_id(sysreg, &params, gic_v3_icc_reg_descs,
                           ARRAY_SIZE(gic_v3_icc_reg_descs));