blob: 74feae945a26062fd0734dacd5ac28fd11b2c6df [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _X86_64_KDEBUG_H
2#define _X86_64_KDEBUG_H 1
3
4#include <linux/notifier.h>
5
6struct pt_regs;
7
Anil S Keshavamurthy1bd858a2006-06-26 00:25:25 -07008extern int register_page_fault_notifier(struct notifier_block *);
9extern int unregister_page_fault_notifier(struct notifier_block *);
Alan Sterne041c682006-03-27 01:16:30 -080010
Linus Torvalds1da177e2005-04-16 15:20:36 -070011/* Grossly misnamed. */
Alan Sterne041c682006-03-27 01:16:30 -080012enum die_val {
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 DIE_OOPS = 1,
14 DIE_INT3,
15 DIE_DEBUG,
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 DIE_PANIC,
17 DIE_NMI,
18 DIE_DIE,
19 DIE_NMIWATCHDOG,
20 DIE_KERNELDEBUG,
21 DIE_TRAP,
22 DIE_GPF,
23 DIE_CALL,
24 DIE_NMI_IPI,
Corey Minyardf64da952007-05-08 00:23:58 -070025 DIE_NMI_POST,
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 DIE_PAGE_FAULT,
Alan Sterne041c682006-03-27 01:16:30 -080027};
28
Ingo Molnar3ac94932006-07-03 00:24:36 -070029extern void printk_address(unsigned long address);
Linus Torvalds1da177e2005-04-16 15:20:36 -070030extern void die(const char *,struct pt_regs *,long);
31extern void __die(const char *,struct pt_regs *,long);
32extern void show_registers(struct pt_regs *regs);
33extern void dump_pagetable(unsigned long);
Jan Beulich12091402005-09-12 18:49:24 +020034extern unsigned long oops_begin(void);
35extern void oops_end(unsigned long);
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
37#endif