aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2014-06-18 08:53:49 -0400
committerAlexander Graf <agraf@suse.de>2014-07-28 12:30:10 -0400
commitd69614a295aef72f8fb22da8e3ccf1a8f19a7ffc (patch)
treeb8ce894e8738e6711b5593a28a116db5567fe31f /arch/powerpc/include
parentc12fb43c2f6d6a57a4e21afe74ff56485d699ee7 (diff)
KVM: PPC: Separate loadstore emulation from priv emulation
Today the instruction emulator can get called via 2 separate code paths. It can either be called by MMIO emulation detection code or by privileged instruction traps. This is bad, as both code paths prepare the environment differently. For MMIO emulation we already know the virtual address we faulted on, so instructions there don't have to actually fetch that information. Split out the two separate use cases into separate files. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_ppc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index 17fa277d297e..2214ee61f668 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -86,6 +86,7 @@ extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr,
86 bool data); 86 bool data);
87extern int kvmppc_emulate_instruction(struct kvm_run *run, 87extern int kvmppc_emulate_instruction(struct kvm_run *run,
88 struct kvm_vcpu *vcpu); 88 struct kvm_vcpu *vcpu);
89extern int kvmppc_emulate_loadstore(struct kvm_vcpu *vcpu);
89extern int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu); 90extern int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu);
90extern void kvmppc_emulate_dec(struct kvm_vcpu *vcpu); 91extern void kvmppc_emulate_dec(struct kvm_vcpu *vcpu);
91extern u32 kvmppc_get_dec(struct kvm_vcpu *vcpu, u64 tb); 92extern u32 kvmppc_get_dec(struct kvm_vcpu *vcpu, u64 tb);