summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/booke.h
diff options
context:
space:
mode:
authorHollis Blanchard <hollisb@us.ibm.com>2009-01-03 16:23:06 -0600
committerAvi Kivity <avi@redhat.com>2009-03-24 11:02:57 +0200
commitd0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d (patch)
tree8f0aa28d4734fc20249239b4736ac437a19c3937 /arch/powerpc/kvm/booke.h
parentcea5d8c9de669e30ed6d60930318376d5cc42e9e (diff)
downloadlinux-d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d.tar.gz
linux-d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d.tar.bz2
linux-d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d.zip
KVM: ppc: split out common Book E instruction emulation
The Book E code will be shared with e500. I've left PID in kvmppc_core_emulate_op() just so that we don't need to move kvmppc_set_pid() right now. Once we have the e500 implementation, we can probably share that too. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm/booke.h')
-rw-r--r--arch/powerpc/kvm/booke.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/booke.h b/arch/powerpc/kvm/booke.h
index cf7c94ca24bf..311fdbc23fbe 100644
--- a/arch/powerpc/kvm/booke.h
+++ b/arch/powerpc/kvm/booke.h
@@ -22,6 +22,7 @@
#include <linux/types.h>
#include <linux/kvm_host.h>
+#include <asm/kvm_ppc.h>
#include "timing.h"
/* interrupt priortity ordering */
@@ -57,4 +58,9 @@ static inline void kvmppc_set_msr(struct kvm_vcpu *vcpu, u32 new_msr)
};
}
+int kvmppc_booke_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
+ unsigned int inst, int *advance);
+int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt);
+int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs);
+
#endif /* __KVM_BOOKE_H__ */