KVM: s390: implements the kvm_arch_vcpu_in_kernel()
This implements kvm_arch_vcpu_in_kernel() for s390. DIAG is a privileged operation, so it cannot be called from problem state (user mode). Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
de63ad4cf4
commit
0546c63d98
@ -150,7 +150,7 @@ static int __diag_time_slice_end(struct kvm_vcpu *vcpu)
|
|||||||
{
|
{
|
||||||
VCPU_EVENT(vcpu, 5, "%s", "diag time slice end");
|
VCPU_EVENT(vcpu, 5, "%s", "diag time slice end");
|
||||||
vcpu->stat.diagnose_44++;
|
vcpu->stat.diagnose_44++;
|
||||||
kvm_vcpu_on_spin(vcpu, false);
|
kvm_vcpu_on_spin(vcpu, true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2449,7 +2449,7 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
|
|||||||
|
|
||||||
bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
|
bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
return false;
|
return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_s390_vcpu_block(struct kvm_vcpu *vcpu)
|
void kvm_s390_vcpu_block(struct kvm_vcpu *vcpu)
|
||||||
|
Loading…
Reference in New Issue
Block a user