Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
mce.h File Reference
#include <linux/types.h>
#include <asm/ioctls.h>

Go to the source code of this file.

Data Structures

struct  mce
 
struct  mce_log
 

Macros

#define MCG_BANKCNT_MASK   0xff /* Number of Banks */
 
#define MCG_CTL_P   (1ULL<<8) /* MCG_CTL register available */
 
#define MCG_EXT_P   (1ULL<<9) /* Extended registers available */
 
#define MCG_CMCI_P   (1ULL<<10) /* CMCI supported */
 
#define MCG_EXT_CNT_MASK   0xff0000 /* Number of Extended registers */
 
#define MCG_EXT_CNT_SHIFT   16
 
#define MCG_EXT_CNT(c)   (((c) & MCG_EXT_CNT_MASK) >> MCG_EXT_CNT_SHIFT)
 
#define MCG_SER_P   (1ULL<<24) /* MCA recovery/new status bits */
 
#define MCG_STATUS_RIPV   (1ULL<<0) /* restart ip valid */
 
#define MCG_STATUS_EIPV   (1ULL<<1) /* ip points to correct instruction */
 
#define MCG_STATUS_MCIP   (1ULL<<2) /* machine check in progress */
 
#define MCI_STATUS_VAL   (1ULL<<63) /* valid error */
 
#define MCI_STATUS_OVER   (1ULL<<62) /* previous errors lost */
 
#define MCI_STATUS_UC   (1ULL<<61) /* uncorrected error */
 
#define MCI_STATUS_EN   (1ULL<<60) /* error enabled */
 
#define MCI_STATUS_MISCV   (1ULL<<59) /* misc error reg. valid */
 
#define MCI_STATUS_ADDRV   (1ULL<<58) /* addr reg. valid */
 
#define MCI_STATUS_PCC   (1ULL<<57) /* processor context corrupt */
 
#define MCI_STATUS_S   (1ULL<<56) /* Signaled machine check */
 
#define MCI_STATUS_AR   (1ULL<<55) /* Action required */
 
#define MCACOD   0xffff /* MCA Error Code */
 
#define MCACOD_SCRUB   0x00C0 /* 0xC0-0xCF Memory Scrubbing */
 
#define MCACOD_SCRUBMSK   0xfff0
 
#define MCACOD_L3WB   0x017A /* L3 Explicit Writeback */
 
#define MCACOD_DATA   0x0134 /* Data Load */
 
#define MCACOD_INSTR   0x0150 /* Instruction Fetch */
 
#define MCI_MISC_ADDR_LSB(m)   ((m) & 0x3f)
 
#define MCI_MISC_ADDR_MODE(m)   (((m) >> 6) & 7)
 
#define MCI_MISC_ADDR_SEGOFF   0 /* segment offset */
 
#define MCI_MISC_ADDR_LINEAR   1 /* linear address */
 
#define MCI_MISC_ADDR_PHYS   2 /* physical address */
 
#define MCI_MISC_ADDR_MEM   3 /* memory address */
 
#define MCI_MISC_ADDR_GENERIC   7 /* generic */
 
#define MCI_CTL2_CMCI_EN   (1ULL << 30)
 
#define MCI_CTL2_CMCI_THRESHOLD_MASK   0x7fffULL
 
#define MCJ_CTX_MASK   3
 
#define MCJ_CTX(flags)   ((flags) & MCJ_CTX_MASK)
 
#define MCJ_CTX_RANDOM   0 /* inject context: random */
 
#define MCJ_CTX_PROCESS   0x1 /* inject context: process */
 
#define MCJ_CTX_IRQ   0x2 /* inject context: IRQ */
 
#define MCJ_NMI_BROADCAST   0x4 /* do NMI broadcasting */
 
#define MCJ_EXCEPTION   0x8 /* raise as exception */
 
#define MCJ_IRQ_BRAODCAST   0x10 /* do IRQ broadcasting */
 
#define MCE_LOG_LEN   32
 
#define MCE_OVERFLOW   0 /* bit 0 in flags means overflow */
 
#define MCE_LOG_SIGNATURE   "MACHINECHECK"
 
#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)
 
#define MCE_GET_LOG_LEN   _IOR('M', 2, int)
 
#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)
 
#define MCE_EXTENDED_BANK   128
 
#define MCE_THERMAL_BANK   MCE_EXTENDED_BANK + 0
 
#define K8_MCE_THRESHOLD_BASE   (MCE_EXTENDED_BANK + 1)
 

Macro Definition Documentation

#define K8_MCE_THRESHOLD_BASE   (MCE_EXTENDED_BANK + 1)

Definition at line 119 of file mce.h.

#define MCACOD   0xffff /* MCA Error Code */

Definition at line 36 of file mce.h.

#define MCACOD_DATA   0x0134 /* Data Load */

Definition at line 42 of file mce.h.

#define MCACOD_INSTR   0x0150 /* Instruction Fetch */

Definition at line 43 of file mce.h.

#define MCACOD_L3WB   0x017A /* L3 Explicit Writeback */

Definition at line 41 of file mce.h.

#define MCACOD_SCRUB   0x00C0 /* 0xC0-0xCF Memory Scrubbing */

Definition at line 39 of file mce.h.

#define MCACOD_SCRUBMSK   0xfff0

Definition at line 40 of file mce.h.

#define MCE_EXTENDED_BANK   128

Definition at line 117 of file mce.h.

#define MCE_GET_LOG_LEN   _IOR('M', 2, int)

Definition at line 113 of file mce.h.

#define MCE_GET_RECORD_LEN   _IOR('M', 1, int)

Definition at line 112 of file mce.h.

#define MCE_GETCLEAR_FLAGS   _IOR('M', 3, int)

Definition at line 114 of file mce.h.

#define MCE_LOG_LEN   32

Definition at line 97 of file mce.h.

#define MCE_LOG_SIGNATURE   "MACHINECHECK"

Definition at line 110 of file mce.h.

#define MCE_OVERFLOW   0 /* bit 0 in flags means overflow */

Definition at line 108 of file mce.h.

#define MCE_THERMAL_BANK   MCE_EXTENDED_BANK + 0

Definition at line 118 of file mce.h.

#define MCG_BANKCNT_MASK   0xff /* Number of Banks */

Definition at line 12 of file mce.h.

#define MCG_CMCI_P   (1ULL<<10) /* CMCI supported */

Definition at line 15 of file mce.h.

#define MCG_CTL_P   (1ULL<<8) /* MCG_CTL register available */

Definition at line 13 of file mce.h.

#define MCG_EXT_CNT (   c)    (((c) & MCG_EXT_CNT_MASK) >> MCG_EXT_CNT_SHIFT)

Definition at line 18 of file mce.h.

#define MCG_EXT_CNT_MASK   0xff0000 /* Number of Extended registers */

Definition at line 16 of file mce.h.

#define MCG_EXT_CNT_SHIFT   16

Definition at line 17 of file mce.h.

#define MCG_EXT_P   (1ULL<<9) /* Extended registers available */

Definition at line 14 of file mce.h.

#define MCG_SER_P   (1ULL<<24) /* MCA recovery/new status bits */

Definition at line 19 of file mce.h.

#define MCG_STATUS_EIPV   (1ULL<<1) /* ip points to correct instruction */

Definition at line 23 of file mce.h.

#define MCG_STATUS_MCIP   (1ULL<<2) /* machine check in progress */

Definition at line 24 of file mce.h.

#define MCG_STATUS_RIPV   (1ULL<<0) /* restart ip valid */

Definition at line 22 of file mce.h.

#define MCI_CTL2_CMCI_EN   (1ULL << 30)

Definition at line 55 of file mce.h.

#define MCI_CTL2_CMCI_THRESHOLD_MASK   0x7fffULL

Definition at line 56 of file mce.h.

#define MCI_MISC_ADDR_GENERIC   7 /* generic */

Definition at line 52 of file mce.h.

#define MCI_MISC_ADDR_LINEAR   1 /* linear address */

Definition at line 49 of file mce.h.

#define MCI_MISC_ADDR_LSB (   m)    ((m) & 0x3f)

Definition at line 46 of file mce.h.

#define MCI_MISC_ADDR_MEM   3 /* memory address */

Definition at line 51 of file mce.h.

#define MCI_MISC_ADDR_MODE (   m)    (((m) >> 6) & 7)

Definition at line 47 of file mce.h.

#define MCI_MISC_ADDR_PHYS   2 /* physical address */

Definition at line 50 of file mce.h.

#define MCI_MISC_ADDR_SEGOFF   0 /* segment offset */

Definition at line 48 of file mce.h.

#define MCI_STATUS_ADDRV   (1ULL<<58) /* addr reg. valid */

Definition at line 32 of file mce.h.

#define MCI_STATUS_AR   (1ULL<<55) /* Action required */

Definition at line 35 of file mce.h.

#define MCI_STATUS_EN   (1ULL<<60) /* error enabled */

Definition at line 30 of file mce.h.

#define MCI_STATUS_MISCV   (1ULL<<59) /* misc error reg. valid */

Definition at line 31 of file mce.h.

#define MCI_STATUS_OVER   (1ULL<<62) /* previous errors lost */

Definition at line 28 of file mce.h.

#define MCI_STATUS_PCC   (1ULL<<57) /* processor context corrupt */

Definition at line 33 of file mce.h.

#define MCI_STATUS_S   (1ULL<<56) /* Signaled machine check */

Definition at line 34 of file mce.h.

#define MCI_STATUS_UC   (1ULL<<61) /* uncorrected error */

Definition at line 29 of file mce.h.

#define MCI_STATUS_VAL   (1ULL<<63) /* valid error */

Definition at line 27 of file mce.h.

#define MCJ_CTX (   flags)    ((flags) & MCJ_CTX_MASK)

Definition at line 59 of file mce.h.

#define MCJ_CTX_IRQ   0x2 /* inject context: IRQ */

Definition at line 62 of file mce.h.

#define MCJ_CTX_MASK   3

Definition at line 58 of file mce.h.

#define MCJ_CTX_PROCESS   0x1 /* inject context: process */

Definition at line 61 of file mce.h.

#define MCJ_CTX_RANDOM   0 /* inject context: random */

Definition at line 60 of file mce.h.

#define MCJ_EXCEPTION   0x8 /* raise as exception */

Definition at line 64 of file mce.h.

#define MCJ_IRQ_BRAODCAST   0x10 /* do IRQ broadcasting */

Definition at line 65 of file mce.h.

#define MCJ_NMI_BROADCAST   0x4 /* do NMI broadcasting */

Definition at line 63 of file mce.h.