aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/book3s.c')
-rw-r--r--arch/powerpc/kvm/book3s.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 31facfc1314b..37ca8a0897c3 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -488,6 +488,23 @@ mmio:
488} 488}
489EXPORT_SYMBOL_GPL(kvmppc_ld); 489EXPORT_SYMBOL_GPL(kvmppc_ld);
490 490
491int kvmppc_load_last_inst(struct kvm_vcpu *vcpu, enum instruction_type type,
492 u32 *inst)
493{
494 ulong pc = kvmppc_get_pc(vcpu);
495 int r;
496
497 if (type == INST_SC)
498 pc -= 4;
499
500 r = kvmppc_ld(vcpu, &pc, sizeof(u32), inst, false);
501 if (r == EMULATE_DONE)
502 return r;
503 else
504 return EMULATE_AGAIN;
505}
506EXPORT_SYMBOL_GPL(kvmppc_load_last_inst);
507
491int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) 508int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)
492{ 509{
493 return 0; 510 return 0;