aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2019-01-08 00:04:23 +1000
committerStewart Smith <stewart@linux.ibm.com>2019-02-13 14:36:43 +1100
commit75669cb37067b52f80f43858a2eb9fac69b451ee (patch)
treecececd1cfcd926c550d3ca644a3d2ba7d967b1c6 /core
parentebb814a80369adee82a509d50d41d56674ea68e4 (diff)
downloadskiboot-75669cb37067b52f80f43858a2eb9fac69b451ee.zip
skiboot-75669cb37067b52f80f43858a2eb9fac69b451ee.tar.gz
skiboot-75669cb37067b52f80f43858a2eb9fac69b451ee.tar.bz2
asm/head: provide asm support for interrupts to be returned from
This adds the redzone to the interrupt stack, and code to restore registers. This can be used for a number of things. Initially it will be used to recover from system reset interrupts, it could later be used to handle recoverable machine checks, use the decrementer to implement a watchdog, handle HMI interrupts at boot, and to implement virtual memory. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core')
-rw-r--r--core/exceptions.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/exceptions.c b/core/exceptions.c
index ed92edf..f05bcfb 100644
--- a/core/exceptions.c
+++ b/core/exceptions.c
@@ -40,9 +40,9 @@ static void dump_regs(struct stack_frame *stack)
}
/* Called from head.S, thus no prototype */
-void exception_entry(struct stack_frame *stack) __noreturn;
+void __noreturn exception_entry(struct stack_frame *stack);
-void exception_entry(struct stack_frame *stack)
+void __noreturn exception_entry(struct stack_frame *stack)
{
uint64_t nip;
uint64_t msr;