#define KVM_REQ_TLB_FLUSH_GPA KVM_ARCH_REQ(0)
#define KVM_REQ_STEAL_UPDATE KVM_ARCH_REQ(1)
#define KVM_REQ_PMU KVM_ARCH_REQ(2)
-#define KVM_REQ_AUX_LOAD KVM_ARCH_REQ(3)
+#define KVM_REQ_FPU_LOAD KVM_ARCH_REQ(3)
+#define KVM_REQ_LBT_LOAD KVM_ARCH_REQ(4)
#define KVM_GUESTDBG_SW_BP_MASK \
(KVM_GUESTDBG_ENABLE | KVM_GUESTDBG_USE_SW_BP)
}
vcpu->arch.aux_ldtype = KVM_LARCH_FPU;
- kvm_make_request(KVM_REQ_AUX_LOAD, vcpu);
+ kvm_make_request(KVM_REQ_FPU_LOAD, vcpu);
return RESUME_GUEST;
}
kvm_queue_exception(vcpu, EXCCODE_INE, 0);
else {
vcpu->arch.aux_ldtype = KVM_LARCH_LSX;
- kvm_make_request(KVM_REQ_AUX_LOAD, vcpu);
+ kvm_make_request(KVM_REQ_FPU_LOAD, vcpu);
}
return RESUME_GUEST;
kvm_queue_exception(vcpu, EXCCODE_INE, 0);
else {
vcpu->arch.aux_ldtype = KVM_LARCH_LASX;
- kvm_make_request(KVM_REQ_AUX_LOAD, vcpu);
+ kvm_make_request(KVM_REQ_FPU_LOAD, vcpu);
}
return RESUME_GUEST;
{
if (!kvm_guest_has_lbt(&vcpu->arch))
kvm_queue_exception(vcpu, EXCCODE_INE, 0);
- else {
- vcpu->arch.aux_ldtype = KVM_LARCH_LBT;
- kvm_make_request(KVM_REQ_AUX_LOAD, vcpu);
- }
+ else
+ kvm_make_request(KVM_REQ_LBT_LOAD, vcpu);
return RESUME_GUEST;
}
vcpu->arch.flush_gpa = INVALID_GPA;
}
- if (kvm_check_request(KVM_REQ_AUX_LOAD, vcpu)) {
+ if (kvm_check_request(KVM_REQ_FPU_LOAD, vcpu)) {
switch (vcpu->arch.aux_ldtype) {
case KVM_LARCH_FPU:
kvm_own_fpu(vcpu);
case KVM_LARCH_LASX:
kvm_own_lasx(vcpu);
break;
- case KVM_LARCH_LBT:
- kvm_own_lbt(vcpu);
- break;
default:
break;
}
vcpu->arch.aux_ldtype = 0;
}
+
+ if (kvm_check_request(KVM_REQ_LBT_LOAD, vcpu))
+ kvm_own_lbt(vcpu);
}
/*