Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 11269
b: refs/heads/master
c: 178086c
h: refs/heads/master
i:
  11267: 0d5f7f3
v: v3
  • Loading branch information
Ralf Baechle committed Oct 29, 2005
1 parent ed3eff8 commit 27589fa
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6ec25809c143d875ed17b2e85d1dd894a1f4aba4
refs/heads/master: 178086c86ac9738a76f1462e9ee4cbe8fd3b8c51
16 changes: 2 additions & 14 deletions trunk/arch/mips/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,30 +276,18 @@ void show_registers(struct pt_regs *regs)

static DEFINE_SPINLOCK(die_lock);

NORET_TYPE void ATTRIB_NORET __die(const char * str, struct pt_regs * regs,
const char * file, const char * func,
unsigned long line)
NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs)
{
static int die_counter;

console_verbose();
spin_lock_irq(&die_lock);
printk("%s", str);
if (file && func)
printk(" in %s:%s, line %ld", file, func, line);
printk("[#%d]:\n", ++die_counter);
printk("%s[#%d]:\n", str, ++die_counter);
show_registers(regs);
spin_unlock_irq(&die_lock);
do_exit(SIGSEGV);
}

void __die_if_kernel(const char * str, struct pt_regs * regs,
const char * file, const char * func, unsigned long line)
{
if (!user_mode(regs))
__die(str, regs, file, func, line);
}

extern const struct exception_table_entry __start___dbe_table[];
extern const struct exception_table_entry __stop___dbe_table[];

Expand Down
16 changes: 7 additions & 9 deletions trunk/include/asm-mips/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -434,15 +434,13 @@ extern void *set_vi_srs_handler (int n, void *addr, int regset);
extern void *set_except_vector(int n, void *addr);
extern void per_cpu_trap_init(void);

extern NORET_TYPE void __die(const char *, struct pt_regs *, const char *file,
const char *func, unsigned long line) ATTRIB_NORET;
extern void __die_if_kernel(const char *, struct pt_regs *, const char *file,
const char *func, unsigned long line);

#define die(msg, regs) \
__die(msg, regs, __FILE__ ":", __FUNCTION__, __LINE__)
#define die_if_kernel(msg, regs) \
__die_if_kernel(msg, regs, __FILE__ ":", __FUNCTION__, __LINE__)
extern NORET_TYPE void die(const char *, struct pt_regs *);

static inline void die_if_kernel(const char *str, struct pt_regs *regs)
{
if (unlikely(!user_mode(regs)))
die(str, regs);
}

extern int stop_a_enabled;

Expand Down

0 comments on commit 27589fa

Please sign in to comment.