#include <linux/thread_info.h>
#include <linux/capability.h>
#include <linux/miscdevice.h>
#include <linux/ratelimit.h>
#include <linux/kallsyms.h>
#include <linux/rcupdate.h>
#include <linux/kobject.h>
#include <linux/uaccess.h>
#include <linux/kdebug.h>
#include <linux/kernel.h>
#include <linux/percpu.h>
#include <linux/string.h>
#include <linux/device.h>
#include <linux/syscore_ops.h>
#include <linux/delay.h>
#include <linux/ctype.h>
#include <linux/sched.h>
#include <linux/sysfs.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/poll.h>
#include <linux/nmi.h>
#include <linux/cpu.h>
#include <linux/smp.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/debugfs.h>
#include <linux/irq_work.h>
#include <linux/export.h>
#include <asm/processor.h>
#include <asm/mce.h>
#include <asm/msr.h>
#include "mce-internal.h"
#include <trace/events/mce.h>
Go to the source code of this file.
|
| DEFINE_PER_CPU (unsigned, mce_exception_count) |
|
| DEFINE_PER_CPU (mce_banks_t, mce_poll_banks) |
|
| ATOMIC_NOTIFIER_HEAD (x86_mce_decoder_chain) |
|
void | mce_setup (struct mce *m) |
|
| DEFINE_PER_CPU (struct mce, injectm) |
|
| EXPORT_PER_CPU_SYMBOL_GPL (injectm) |
|
void | mce_log (struct mce *mce) |
|
void | mce_register_decode_chain (struct notifier_block *nb) |
|
| EXPORT_SYMBOL_GPL (mce_register_decode_chain) |
|
void | mce_unregister_decode_chain (struct notifier_block *nb) |
|
| EXPORT_SYMBOL_GPL (mce_unregister_decode_chain) |
|
int | mce_available (struct cpuinfo_x86 *c) |
|
| DEFINE_PER_CPU (struct irq_work, mce_irq_work) |
|
| DEFINE_PER_CPU (unsigned, mce_poll_count) |
|
void | machine_check_poll (enum mcp_flags flags, mce_banks_t *b) |
|
| EXPORT_SYMBOL_GPL (machine_check_poll) |
|
void | do_machine_check (struct pt_regs *regs, long error_code) |
|
| EXPORT_SYMBOL_GPL (do_machine_check) |
|
int | memory_failure (unsigned long pfn, int vector, int flags) |
|
void | mce_notify_process (void) |
|
void | mce_timer_kick (unsigned long interval) |
|
int | mce_notify_irq (void) |
|
| EXPORT_SYMBOL_GPL (mce_notify_irq) |
|
void __cpuinit | mcheck_cpu_init (struct cpuinfo_x86 *c) |
|
void | register_mce_write_callback (ssize_t(*fn)(struct file *filp, const char __user *ubuf, size_t usize, loff_t *off)) |
|
| EXPORT_SYMBOL_GPL (register_mce_write_callback) |
|
ssize_t | mce_chrdev_write (struct file *filp, const char __user *ubuf, size_t usize, loff_t *off) |
|
| __setup ("mce", mcheck_enable) |
|
int __init | mcheck_init (void) |
|
| DEFINE_PER_CPU (struct device *, mce_device) |
|
| device_initcall_sync (mcheck_init_device) |
|
| __setup ("nomce", mcheck_disable) |
|
#define CREATE_TRACE_POINTS |
Definition at line 58 of file mce.c.
#define MCE_RING_SIZE 16 /* we use one entry less */ |
#define PANIC_TIMEOUT 5 /* 5 seconds */ |
#define pr_fmt |
( |
|
fmt | ) |
KBUILD_MODNAME ": " fmt |
Definition at line 11 of file mce.c.
#define rcu_dereference_check_mce |
( |
|
p | ) |
|
Value:
rcu_read_lock_sched_held() || \
lockdep_is_held(&mce_chrdev_read_mutex))
Definition at line 53 of file mce.c.
#define SPINUNIT 100 /* 100ns */ |
Definition at line 63 of file mce.c.
__setup |
( |
"mce" |
, |
|
|
mcheck_enable |
|
|
) |
| |
__setup |
( |
"nomce" |
, |
|
|
mcheck_disable |
|
|
) |
| |
ATOMIC_NOTIFIER_HEAD |
( |
x86_mce_decoder_chain |
| ) |
|
DEFINE_PER_CPU |
( |
unsigned |
, |
|
|
mce_exception_count |
|
|
) |
| |
DEFINE_PER_CPU |
( |
mce_banks_t |
, |
|
|
mce_poll_banks |
|
|
) |
| |
DEFINE_PER_CPU |
( |
unsigned |
, |
|
|
mce_poll_count |
|
|
) |
| |
device_initcall_sync |
( |
mcheck_init_device |
| ) |
|
EXPORT_PER_CPU_SYMBOL_GPL |
( |
injectm |
| ) |
|
void machine_check_poll |
( |
enum mcp_flags |
flags, |
|
|
mce_banks_t * |
b |
|
) |
| |
void mce_timer_kick |
( |
unsigned long |
interval | ) |
|
Definition at line 61 of file mce.c.
Initial value:=
unexpected_machine_check
Definition at line 1662 of file mce.c.
Definition at line 65 of file mce.c.