Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
panic.c File Reference
#include <linux/debug_locks.h>
#include <linux/interrupt.h>
#include <linux/kmsg_dump.h>
#include <linux/kallsyms.h>
#include <linux/notifier.h>
#include <linux/module.h>
#include <linux/random.h>
#include <linux/reboot.h>
#include <linux/delay.h>
#include <linux/kexec.h>
#include <linux/sched.h>
#include <linux/sysrq.h>
#include <linux/init.h>
#include <linux/nmi.h>
#include <linux/dmi.h>

Go to the source code of this file.

Data Structures

struct  tnt
 

Macros

#define PANIC_TIMER_STEP   100
 
#define PANIC_BLINK_SPD   18
 

Functions

 EXPORT_SYMBOL_GPL (panic_timeout)
 
 ATOMIC_NOTIFIER_HEAD (panic_notifier_list)
 
 EXPORT_SYMBOL (panic_notifier_list)
 
 EXPORT_SYMBOL (panic_blink)
 
void __weak panic_smp_self_stop (void)
 
void panic (const char *fmt,...)
 
 EXPORT_SYMBOL (panic)
 
const charprint_tainted (void)
 
int test_taint (unsigned flag)
 
 EXPORT_SYMBOL (test_taint)
 
unsigned long get_taint (void)
 
void add_taint (unsigned flag)
 
 EXPORT_SYMBOL (add_taint)
 
int oops_may_print (void)
 
void oops_enter (void)
 
 late_initcall (init_oops_id)
 
void print_oops_end_marker (void)
 
void oops_exit (void)
 
 core_param (panic, panic_timeout, int, 0644)
 
 core_param (pause_on_oops, pause_on_oops, int, 0644)
 
 early_param ("oops", oops_setup)
 

Variables

int panic_on_oops = CONFIG_PANIC_ON_OOPS_VALUE
 
int panic_timeout
 
long(* panic_blink )(int state)
 

Macro Definition Documentation

#define PANIC_BLINK_SPD   18

Definition at line 28 of file panic.c.

#define PANIC_TIMER_STEP   100

Definition at line 27 of file panic.c.

Function Documentation

void add_taint ( unsigned  flag)

Definition at line 262 of file panic.c.

ATOMIC_NOTIFIER_HEAD ( panic_notifier_list  )
core_param ( panic  ,
panic_timeout  ,
int  ,
0644   
)
core_param ( pause_on_oops  ,
pause_on_oops  ,
int  ,
0644   
)
early_param ( "oops"  ,
oops_setup   
)
EXPORT_SYMBOL ( panic_notifier_list  )
EXPORT_SYMBOL ( panic_blink  )
EXPORT_SYMBOL ( panic  )
EXPORT_SYMBOL ( test_taint  )
EXPORT_SYMBOL ( add_taint  )
EXPORT_SYMBOL_GPL ( panic_timeout  )
unsigned long get_taint ( void  )

Definition at line 257 of file panic.c.

late_initcall ( init_oops_id  )
void oops_enter ( void  )

Definition at line 359 of file panic.c.

void oops_exit ( void  )

Definition at line 394 of file panic.c.

int oops_may_print ( void  )

Definition at line 340 of file panic.c.

void panic ( const char fmt,
  ... 
)

panic - halt the system : The text string to print

Display a message, then perform cleanups.

This function never returns.

Definition at line 69 of file panic.c.

void __weak panic_smp_self_stop ( void  )

Definition at line 55 of file panic.c.

void print_oops_end_marker ( void  )

Definition at line 383 of file panic.c.

const char* print_tainted ( void  )

print_tainted - return a string to represent the kernel taint state.

'P' - Proprietary module has been loaded. 'F' - Module has been forcibly loaded. 'S' - SMP with CPUs not designed for SMP. 'R' - User forced a module unload. 'M' - System experienced a machine check exception. 'B' - System has hit bad_page. 'U' - Userspace-defined naughtiness. 'D' - Kernel has oopsed before 'A' - ACPI table overridden. 'W' - Taint on warning. 'C' - modules from drivers/staging are loaded. 'I' - Working around severe firmware bug. 'O' - Out-of-tree module has been loaded.

The string is overwritten by the next call to print_tainted().

Definition at line 230 of file panic.c.

int test_taint ( unsigned  flag)

Definition at line 251 of file panic.c.

Variable Documentation

long(* panic_blink)(int state)

Definition at line 49 of file panic.c.

int panic_on_oops = CONFIG_PANIC_ON_OOPS_VALUE

Definition at line 30 of file panic.c.

int panic_timeout

Definition at line 36 of file panic.c.