Bit KVM_LARCH_LASX and KVM_LARCH_LSX represents whether LASX/LSX is
enabled. Instead combination of KVM_LARCH_FPU and kvm_guest_has_lasx()
has the same effect.
Here remove KVM_LARCH_LASX and KVM_LARCH_LSX, make the logic simpler.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
---
arch/loongarch/include/asm/kvm_host.h | 2 --
arch/loongarch/kvm/vcpu.c | 8 +++-----
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/arch/loongarch/include/asm/kvm_host.h b/arch/loongarch/include/asm/kvm_host.h
index 9e0568c3c7f9..4a481589ddb2 100644
--- a/arch/loongarch/include/asm/kvm_host.h
+++ b/arch/loongarch/include/asm/kvm_host.h
@@ -157,8 +157,6 @@ enum emulation_result {
};
#define KVM_LARCH_FPU (0x1 << 0)
-#define KVM_LARCH_LSX (0x1 << 1)
-#define KVM_LARCH_LASX (0x1 << 2)
#define KVM_LARCH_LBT (0x1 << 3)
#define KVM_LARCH_PMU (0x1 << 4)
#define KVM_LARCH_SWCSR_LATEST (0x1 << 5)
diff --git a/arch/loongarch/kvm/vcpu.c b/arch/loongarch/kvm/vcpu.c
index 920f3101ed3d..9a8f026275a5 100644
--- a/arch/loongarch/kvm/vcpu.c
+++ b/arch/loongarch/kvm/vcpu.c
@@ -1393,7 +1393,7 @@ int kvm_own_lsx(struct kvm_vcpu *vcpu)
kvm_restore_lsx(&vcpu->arch.fpu);
trace_kvm_aux(vcpu, KVM_TRACE_AUX_RESTORE, KVM_TRACE_AUX_LSX);
- vcpu->arch.aux_inuse |= KVM_LARCH_LSX | KVM_LARCH_FPU;
+ vcpu->arch.aux_inuse |= KVM_LARCH_FPU;
return 0;
}
@@ -1409,7 +1409,7 @@ int kvm_own_lasx(struct kvm_vcpu *vcpu)
kvm_restore_lasx(&vcpu->arch.fpu);
trace_kvm_aux(vcpu, KVM_TRACE_AUX_RESTORE, KVM_TRACE_AUX_LASX);
- vcpu->arch.aux_inuse |= KVM_LARCH_LASX | KVM_LARCH_LSX | KVM_LARCH_FPU;
+ vcpu->arch.aux_inuse |= KVM_LARCH_FPU;
return 0;
}
@@ -1426,26 +1426,24 @@ void kvm_lose_fpu(struct kvm_vcpu *vcpu)
kvm_check_fcsr_alive(vcpu);
if (kvm_guest_has_lasx(&vcpu->arch)) {
kvm_save_lasx(&vcpu->arch.fpu);
- vcpu->arch.aux_inuse &= ~(KVM_LARCH_LSX | KVM_LARCH_FPU | KVM_LARCH_LASX);
trace_kvm_aux(vcpu, KVM_TRACE_AUX_SAVE, KVM_TRACE_AUX_LASX);
/* Disable LASX & LSX & FPU */
clear_csr_euen(CSR_EUEN_FPEN | CSR_EUEN_LSXEN | CSR_EUEN_LASXEN);
} else if (kvm_guest_has_lsx(&vcpu->arch)) {
kvm_save_lsx(&vcpu->arch.fpu);
- vcpu->arch.aux_inuse &= ~(KVM_LARCH_LSX | KVM_LARCH_FPU);
trace_kvm_aux(vcpu, KVM_TRACE_AUX_SAVE, KVM_TRACE_AUX_LSX);
/* Disable LSX & FPU */
clear_csr_euen(CSR_EUEN_FPEN | CSR_EUEN_LSXEN);
} else {
kvm_save_fpu(&vcpu->arch.fpu);
- vcpu->arch.aux_inuse &= ~KVM_LARCH_FPU;
trace_kvm_aux(vcpu, KVM_TRACE_AUX_SAVE, KVM_TRACE_AUX_FPU);
/* Disable FPU */
clear_csr_euen(CSR_EUEN_FPEN);
}
+ vcpu->arch.aux_inuse &= ~KVM_LARCH_FPU;
kvm_lose_lbt(vcpu);
preempt_enable();
--
2.39.3