diff options
author | Bharat Bhushan <bharat.bhushan@freescale.com> | 2013-04-08 00:32:14 (GMT) |
---|---|---|
committer | Andy Fleming <afleming@freescale.com> | 2013-04-17 21:26:57 (GMT) |
commit | 9cacddc961b9e43cfca9b3be5c3c74f09faca0ea (patch) | |
tree | 779db4416447a4dbd368bad5be21025753eb7d99 /arch/powerpc/kvm | |
parent | 7e88704917944d697bc5ad580999c9763ad80f3c (diff) | |
download | linux-fsl-qoriq-9cacddc961b9e43cfca9b3be5c3c74f09faca0ea.tar.xz |
KVM: extend EMULATE_EXIT_USER to support different exit reasons
Currently the instruction emulator code returns EMULATE_EXIT_USER
and common code initializes the "run->exit_reason = .." and
"vcpu->arch.hcall_needed = .." with one fixed reason.
But there can be different reasons when emulator need to exit
to user space. To support that the "run->exit_reason = .."
and "vcpu->arch.hcall_needed = .." initialization is moved a
level up to emulator.
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r-- | arch/powerpc/kvm/book3s_emulate.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_pr.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s_emulate.c b/arch/powerpc/kvm/book3s_emulate.c index cdd19d6..1f6344c 100644 --- a/arch/powerpc/kvm/book3s_emulate.c +++ b/arch/powerpc/kvm/book3s_emulate.c @@ -194,6 +194,8 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, run->papr_hcall.args[i] = gpr; } + run->exit_reason = KVM_EXIT_PAPR_HCALL; + vcpu->arch.hcall_needed = 1; emulated = EMULATE_EXIT_USER; break; } diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c index 8df2d2d..2e8bd53 100644 --- a/arch/powerpc/kvm/book3s_pr.c +++ b/arch/powerpc/kvm/book3s_pr.c @@ -761,8 +761,6 @@ program_interrupt: r = RESUME_HOST_NV; break; case EMULATE_EXIT_USER: - run->exit_reason = KVM_EXIT_PAPR_HCALL; - vcpu->arch.hcall_needed = 1; r = RESUME_HOST_NV; break; default: |