提交 1eb59128 编写于 作者: A Alex Bennée 提交者: Christoffer Dall

kvm: arm64: handle single-step of userspace mmio instructions

The system state of KVM when using userspace emulation is not complete
until we return into KVM_RUN. To handle mmio related updates we wait
until they have been committed and then schedule our KVM_EXIT_DEBUG.

The kvm_arm_handle_step_debug() helper tells us if we need to return
and sets up the exit_reason for us.
Signed-off-by: NAlex Bennée <alex.bennee@linaro.org>
Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
上级 7226bc2e
...@@ -628,6 +628,9 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) ...@@ -628,6 +628,9 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
ret = kvm_handle_mmio_return(vcpu, vcpu->run); ret = kvm_handle_mmio_return(vcpu, vcpu->run);
if (ret) if (ret)
return ret; return ret;
if (kvm_arm_handle_step_debug(vcpu, vcpu->run))
return 0;
} }
if (run->immediate_exit) if (run->immediate_exit)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册