1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2008 - 2013 Tensilica Inc.
4  * (C) Copyright 2014 - 2016 Cadence Design Systems Inc.
5  */
6 
7 /*
8  * Exception handling.
9  *  We currently don't handle any exception and force a reset.
10  *  (Note that alloca is a special case and handled in start.S)
11  */
12 
13 #include <common.h>
14 #include <command.h>
15 #include <irq_func.h>
16 #include <asm/ptrace.h>
17 #include <asm/string.h>
18 #include <asm/regs.h>
19 
20 typedef void (*handler_t)(struct pt_regs *);
21 
unhandled_exception(struct pt_regs * regs)22 void unhandled_exception(struct pt_regs *regs)
23 {
24 	printf("Unhandled Exception: EXCCAUSE = %ld, EXCVADDR = %lx, pc = %lx\n",
25 	       regs->exccause, regs->excvaddr, regs->pc);
26 	panic("*** PANIC\n");
27 }
28 
29 handler_t exc_table[EXCCAUSE_LAST] = {
30 	[0 ... EXCCAUSE_LAST-1]			= unhandled_exception,
31 };
32 
interrupt_init(void)33 int interrupt_init(void)
34 {
35 	return 0;
36 }
37 
enable_interrupts(void)38 void enable_interrupts(void)
39 {
40 }
41 
disable_interrupts(void)42 int disable_interrupts(void)
43 {
44 	return 0;
45 }
46