summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorNicholas Piggin2019-06-22 15:15:35 +0200
committerMichael Ellerman2019-07-02 13:39:20 +0200
commit1582009113bc1336d4e54de1d94014ca3569c483 (patch)
treeeaa40233cd006cd0ff16e26c5114a301a5783cb0 /arch/powerpc/kernel
parentpowerpc/64s/exception: remove pointless EXCEPTION_PROLOG macro indirection (diff)
downloadkernel-qcow2-linux-1582009113bc1336d4e54de1d94014ca3569c483.tar.gz
kernel-qcow2-linux-1582009113bc1336d4e54de1d94014ca3569c483.tar.xz
kernel-qcow2-linux-1582009113bc1336d4e54de1d94014ca3569c483.zip
powerpc/64s/exception: move paca save area offsets into exception-64s.S
No generated code change. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 9b60fa040aa6..4dfccc2efc95 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -21,6 +21,28 @@
#include <asm/feature-fixups.h>
#include <asm/kup.h>
+/* PACA save area offsets (exgen, exmc, etc) */
+#define EX_R9 0
+#define EX_R10 8
+#define EX_R11 16
+#define EX_R12 24
+#define EX_R13 32
+#define EX_DAR 40
+#define EX_DSISR 48
+#define EX_CCR 52
+#define EX_CFAR 56
+#define EX_PPR 64
+#if defined(CONFIG_RELOCATABLE)
+#define EX_CTR 72
+.if EX_SIZE != 10
+ .error "EX_SIZE is wrong"
+.endif
+#else
+.if EX_SIZE != 9
+ .error "EX_SIZE is wrong"
+.endif
+#endif
+
/*
* We're short on space and time in the exception prolog, so we can't
* use the normal LOAD_REG_IMMEDIATE macro to load the address of label.