2
* (C) Copyright 2007 Michal Simek
4
* Michal SIMEK <monstr@monstr.eu>
6
* SPDX-License-Identifier: GPL-2.0+
12
void _hw_exception_handler (void)
16
/* loading address of exception EAR */
18
/* loading excetpion state register ESR */
20
printf ("Hardware exception at 0x%x address\n", address);
21
switch (state & 0x1f) { /* mask on exception cause */
23
puts ("Unaligned data access exception\n");
26
puts ("Illegal op-code exception\n");
29
puts ("Instruction bus error exception\n");
32
puts ("Data bus error exception\n");
35
puts ("Divide by zero exception\n");
39
puts("Priviledged or stack protection violation exception\n");
42
puts ("Exception in delay slot\n");
46
puts ("Undefined cause\n");
49
printf ("Unaligned %sword access\n", ((state & 0x800) ? "" : "half"));
50
printf ("Unaligned %s access\n", ((state & 0x400) ? "store" : "load"));
51
printf ("Register R%x\n", (state & 0x3E) >> 5);
55
#ifdef CONFIG_SYS_USR_EXCEP
56
void _exception_handler (void)
58
puts ("User vector_exception\n");