[AVR32] Clean up exception handling code
* Use generic BUG() handling * Remove some useless debug statements * Use a common function _exception() to send signals or oops when an exception can't be handled. This makes sure init doesn't enter an infinite exception loop as well. Borrowed from powerpc. * Add some basic exception tracing support to the page fault code. * Rework dump_stack(), show_regs() and friends and move everything into process.c * Print information about configuration options and chip type when oopsing Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#define __ASM_AVR32_SYSTEM_H
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
@@ -140,15 +141,9 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
|
||||
sizeof(*(ptr))))
|
||||
|
||||
struct pt_regs;
|
||||
extern void __die(const char *, struct pt_regs *, unsigned long,
|
||||
const char *, const char *, unsigned long);
|
||||
extern void __die_if_kernel(const char *, struct pt_regs *, unsigned long,
|
||||
const char *, const char *, unsigned long);
|
||||
|
||||
#define die(msg, regs, err) \
|
||||
__die(msg, regs, err, __FILE__ ":", __FUNCTION__, __LINE__)
|
||||
#define die_if_kernel(msg, regs, err) \
|
||||
__die_if_kernel(msg, regs, err, __FILE__ ":", __FUNCTION__, __LINE__)
|
||||
void NORET_TYPE die(const char *str, struct pt_regs *regs, long err);
|
||||
void _exception(long signr, struct pt_regs *regs, int code,
|
||||
unsigned long addr);
|
||||
|
||||
#define arch_align_stack(x) (x)
|
||||
|
||||
|
Reference in New Issue
Block a user