summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/kvm_booke.h
diff options
context:
space:
mode:
authorBharat Bhushan <r65777@freescale.com>2013-07-04 12:27:45 +0530
committerAlexander Graf <agraf@suse.de>2013-10-17 14:49:39 +0200
commitb12c784123ff805c066449ca580f15a903c24994 (patch)
tree9fe3eadbff1e5acae7ad3c9b05c0fd349af1439c /arch/powerpc/include/asm/kvm_booke.h
parentfc82cf113bded906e0fc1d4a8636a6776670b1c5 (diff)
downloadlinux-stable-b12c784123ff805c066449ca580f15a903c24994.tar.gz
linux-stable-b12c784123ff805c066449ca580f15a903c24994.tar.bz2
linux-stable-b12c784123ff805c066449ca580f15a903c24994.zip
KVM: PPC: E500: exit to user space on "ehpriv 1" instruction
"ehpriv 1" instruction is used for setting software breakpoints by user space. This patch adds support to exit to user space with "run->debug" have relevant information. As this is the first point we are using run->debug, also defined the run->debug structure. Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_booke.h')
-rw-r--r--arch/powerpc/include/asm/kvm_booke.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/kvm_booke.h b/arch/powerpc/include/asm/kvm_booke.h
index d3c1eb34c986..dd8f61510dfd 100644
--- a/arch/powerpc/include/asm/kvm_booke.h
+++ b/arch/powerpc/include/asm/kvm_booke.h
@@ -26,7 +26,12 @@
/* LPIDs we support with this build -- runtime limit may be lower */
#define KVMPPC_NR_LPIDS 64
-#define KVMPPC_INST_EHPRIV 0x7c00021c
+#define KVMPPC_INST_EHPRIV 0x7c00021c
+#define EHPRIV_OC_SHIFT 11
+/* "ehpriv 1" : ehpriv with OC = 1 is used for debug emulation */
+#define EHPRIV_OC_DEBUG 1
+#define KVMPPC_INST_EHPRIV_DEBUG (KVMPPC_INST_EHPRIV | \
+ (EHPRIV_OC_DEBUG << EHPRIV_OC_SHIFT))
static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val)
{