From: Haren Myneni <haren@us.ibm.com>
Subject: powerpc: Increase exceptions arrays in paca struct to save PPR
Git-commit: a09688cd23d477ebd9c8f57881bfe907240cb0a1
Patch-mainline: yes
References: bnc#795905,fate#314033 

Using paca to save user defined PPR value in the first level exception vector.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Acked-by: Torsten Duwe <duwe@suse.de>

diff -Naurp linux2/arch/powerpc/include/asm/exception-64s.h linux3/arch/powerpc/include/asm/exception-64s.h
--- linux2/arch/powerpc/include/asm/exception-64s.h	2012-12-22 00:43:34.000000000 -0800
+++ linux3/arch/powerpc/include/asm/exception-64s.h	2012-12-22 00:50:29.000000000 -0800
@@ -47,6 +47,7 @@
 #define EX_R3		64
 #define EX_LR		72
 #define EX_CFAR		80
+#define EX_PPR		88	/* SMT thread status register (priority) */
 
 /*
  * We're short on space and time in the exception prolog, so we can't
diff -Naurp linux2/arch/powerpc/include/asm/paca.h linux3/arch/powerpc/include/asm/paca.h
--- linux2/arch/powerpc/include/asm/paca.h	2012-12-22 00:43:34.000000000 -0800
+++ linux3/arch/powerpc/include/asm/paca.h	2012-12-22 00:50:29.000000000 -0800
@@ -92,9 +92,9 @@ struct paca_struct {
 	 * Now, starting in cacheline 2, the exception save areas
 	 */
 	/* used for most interrupts/exceptions */
-	u64 exgen[11] __attribute__((aligned(0x80)));
-	u64 exmc[11];		/* used for machine checks */
-	u64 exslb[11];		/* used for SLB/segment table misses
+	u64 exgen[12] __attribute__((aligned(0x80)));
+	u64 exmc[12];		/* used for machine checks */
+	u64 exslb[12];		/* used for SLB/segment table misses
  				 * on the linear mapping */
 	/* SLB related definitions */
 	u16 vmalloc_sllp;
