[PATCH] bookehv: Handle debug exception on guest exit
Stuart Yoder
b08248 at gmail.com
Fri Apr 12 04:44:49 EST 2013
So the patch should look something like this (on a 3.8 kernel):
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index 5f051ee..92b675a 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -286,13 +286,13 @@ label:
andis. r10,r10,(DBSR_IC|DBSR_BT)@h; \
beq+ 2f; \
\
- lis r10,KERNELBASE at h; /* check if exception in vectors */ \
- ori r10,r10,KERNELBASE at l; \
+ lis r10,interrupt_base at h; /* check if exception in vectors */ \
+ ori r10,r10,interrupt_base at l;
cmplw r12,r10; \
blt+ 2f; /* addr below exception vectors */ \
\
- lis r10,DebugDebug at h; \
- ori r10,r10,DebugDebug at l; \
+ lis r10,interrupt_end at h; \
+ ori r10,r10,interrupt_end at l;
cmplw r12,r10; \
bgt+ 2f; /* addr above exception vectors */ \
\
@@ -339,13 +339,13 @@ label:
andis. r10,r10,(DBSR_IC|DBSR_BT)@h; \
beq+ 2f; \
\
- lis r10,KERNELBASE at h; /* check if exception in vectors */ \
- ori r10,r10,KERNELBASE at l; \
+ lis r10,interrupt_base at h; /* check if exception in vectors */ \
+ ori r10,r10,interrupt_base at l;
cmplw r12,r10; \
blt+ 2f; /* addr below exception vectors */ \
\
- lis r10,DebugCrit at h; \
- ori r10,r10,DebugCrit at l; \
+ lis r10,interrupt_end at h; \
+ ori r10,r10,interrupt_end at l;
cmplw r12,r10; \
bgt+ 2f; /* addr above exception vectors */ \
\
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index 7a2e5e4..97e2671 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -769,6 +769,8 @@ finish_tlb_load_47x:
*/
DEBUG_CRIT_EXCEPTION
+interrupt_end:
+
/*
* Global functions
*/
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl
index 58925b6..2c3e31d 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -605,6 +605,8 @@ END_FTR_SECTION_IFSET(CPU_FTR_EMB_HV)
/* Embedded Hypervisor Privilege */
EXCEPTION(0, HV_PRIV, Ehvpriv, unknown_exception, EXC_XFER_EE)
+interrupt_end:
+
/*
* Local functions
*/
More information about the Linuxppc-dev
mailing list