Skip to content

Commit

Permalink
KVM: arm64: Drop is_aarch32 trap attribute
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Marc Zyngier committed Nov 10, 2020
1 parent 2d27fd7 commit 50f3045
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 8 deletions.
7 changes: 2 additions & 5 deletions arch/arm64/kvm/sys_regs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand All @@ -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 */
Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/kvm/sys_regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ struct sys_reg_params {
u8 Op2;
u64 regval;
bool is_write;
bool is_aarch32;
};

struct sys_reg_desc {
Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/kvm/vgic-sys-reg-v3.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)))
Expand All @@ -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));
Expand Down

0 comments on commit 50f3045

Please sign in to comment.