aboutsummaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2016-07-24 09:27:09 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-08-22 15:26:51 +1000
commitf3ebe66f015e04a2e3a4414d24b3dba90ad3b893 (patch)
tree97a8ef39592773765faee432ca74c4bee9eb8507 /asm
parent2ff996194673daf1eee00814c69f588eefb85ef1 (diff)
downloadskiboot-f3ebe66f015e04a2e3a4414d24b3dba90ad3b893.zip
skiboot-f3ebe66f015e04a2e3a4414d24b3dba90ad3b893.tar.gz
skiboot-f3ebe66f015e04a2e3a4414d24b3dba90ad3b893.tar.bz2
main: Copy all exception vectors down
If we aren't loaded at 0 before relocation, we have no exception handlers. This is annoying when debugging, but will be deadly when we start using NAP mode which wakes up via the system reset interrupt at 0x100. So instead, let's copy the whole vectors block down. We are careful to avoid 0..0x100 since that contains the boot flags which are still "hot" as secondaries might still be entering skiboot. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'asm')
-rw-r--r--asm/head.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/asm/head.S b/asm/head.S
index 4f976b6..f7ccee1 100644
--- a/asm/head.S
+++ b/asm/head.S
@@ -95,6 +95,11 @@ attn_trigger:
hir_trigger:
.long 0
+ /*
+ * At 0x100 and 0x180 reside our entry points. Once started,
+ * we will ovewrite them with our actual 0x100 exception handler
+ * used for recovering from rvw or nap mode
+ */
. = 0x100
/* BML entry, load up r3 with device tree location */
li %r3, 0