kdebug.h 1.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#ifndef _ASM_X86_KDEBUG_H
#define _ASM_X86_KDEBUG_H

#include <linux/notifier.h>

struct pt_regs;

/* Grossly misnamed. */
enum die_val {
	DIE_OOPS = 1,
	DIE_INT3,
	DIE_DEBUG,
	DIE_PANIC,
	DIE_NMI,
	DIE_DIE,
	DIE_NMIWATCHDOG,
	DIE_KERNELDEBUG,
	DIE_TRAP,
	DIE_GPF,
	DIE_CALL,
	DIE_NMI_IPI,
	DIE_PAGE_FAULT,
J
Jason Wessel 已提交
23
	DIE_NMIUNKNOWN,
24 25
};

26
extern void printk_address(unsigned long address, int reliable);
27
extern void die(const char *, struct pt_regs *,long);
28
extern int __must_check __die(const char *, struct pt_regs *, long);
29
extern void show_registers(struct pt_regs *regs);
30
extern void __show_registers(struct pt_regs *, int all);
31
extern void show_trace(struct task_struct *t, struct pt_regs *regs,
32
		       unsigned long *sp, unsigned long bp);
33 34
extern void __show_regs(struct pt_regs *regs);
extern void show_regs(struct pt_regs *regs);
35
extern unsigned long oops_begin(void);
36
extern void oops_end(unsigned long, struct pt_regs *, int signr);
37

38 39 40 41 42 43 44 45 46
struct pf_handler {
	struct hlist_node hlist;
	int (*handler)(struct pt_regs *regs, unsigned long error_code,
						unsigned long address);
};

extern void register_page_fault_handler(struct pf_handler *new_pfh);
extern void unregister_page_fault_handler(struct pf_handler *old_pfh);

47
#endif