45 lines
		
	
	
		
			854 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			854 B
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * (C) Copyright 2008 - 2013 Tensilica Inc.
 | |
|  * (C) Copyright 2014 - 2016 Cadence Design Systems Inc.
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * Exception handling.
 | |
|  *  We currently don't handle any exception and force a reset.
 | |
|  *  (Note that alloca is a special case and handled in start.S)
 | |
|  */
 | |
| 
 | |
| #include <common.h>
 | |
| #include <command.h>
 | |
| #include <asm/string.h>
 | |
| #include <asm/regs.h>
 | |
| 
 | |
| typedef void (*handler_t)(struct pt_regs *);
 | |
| 
 | |
| void unhandled_exception(struct pt_regs *regs)
 | |
| {
 | |
| 	printf("Unhandled Exception: EXCCAUSE = %ld, EXCVADDR = %lx, pc = %lx\n",
 | |
| 	       regs->exccause, regs->excvaddr, regs->pc);
 | |
| 	panic("*** PANIC\n");
 | |
| }
 | |
| 
 | |
| handler_t exc_table[EXCCAUSE_LAST] = {
 | |
| 	[0 ... EXCCAUSE_LAST-1]			= unhandled_exception,
 | |
| };
 | |
| 
 | |
| int interrupt_init(void)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| void enable_interrupts(void)
 | |
| {
 | |
| }
 | |
| 
 | |
| int disable_interrupts(void)
 | |
| {
 | |
| 	return 0;
 | |
| }
 |