Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ghes.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/acpi.h>
#include <linux/acpi_io.h>
#include <linux/io.h>
#include <linux/interrupt.h>
#include <linux/timer.h>
#include <linux/cper.h>
#include <linux/kdebug.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/ratelimit.h>
#include <linux/vmalloc.h>
#include <linux/irq_work.h>
#include <linux/llist.h>
#include <linux/genalloc.h>
#include <linux/pci.h>
#include <linux/aer.h>
#include <acpi/apei.h>
#include <acpi/hed.h>
#include <asm/mce.h>
#include <asm/tlbflush.h>
#include <asm/nmi.h>
#include "apei-internal.h"

Go to the source code of this file.

Data Structures

struct  ghes
 
struct  ghes_estatus_node
 
struct  ghes_estatus_cache
 

Macros

#define GHES_PFX   "GHES: "
 
#define GHES_ESTATUS_MAX_SIZE   65536
 
#define GHES_ESOURCE_PREALLOC_MAX_SIZE   65536
 
#define GHES_ESTATUS_POOL_MIN_ALLOC_ORDER   3
 
#define GHES_ESTATUS_CACHE_AVG_SIZE   512
 
#define GHES_ESTATUS_CACHES_SIZE   4
 
#define GHES_ESTATUS_IN_CACHE_MAX_NSEC   10000000000ULL
 
#define GHES_ESTATUS_CACHE_ALLOCED_MAX   (GHES_ESTATUS_CACHES_SIZE * 3 / 2)
 
#define GHES_ESTATUS_CACHE_LEN(estatus_len)   (sizeof(struct ghes_estatus_cache) + (estatus_len))
 
#define GHES_ESTATUS_FROM_CACHE(estatus_cache)
 
#define GHES_ESTATUS_NODE_LEN(estatus_len)   (sizeof(struct ghes_estatus_node) + (estatus_len))
 
#define GHES_ESTATUS_FROM_NODE(estatus_node)
 
#define GHES_TO_CLEAR   0x0001
 
#define GHES_EXITING   0x0002
 
#define GHES_IOREMAP_PAGES   2
 
#define GHES_IOREMAP_NMI_PAGE(base)   (base)
 
#define GHES_IOREMAP_IRQ_PAGE(base)   ((base) + PAGE_SIZE)
 

Enumerations

enum  { GHES_SEV_NO = 0x0, GHES_SEV_CORRECTED = 0x1, GHES_SEV_RECOVERABLE = 0x2, GHES_SEV_PANIC = 0x3 }
 

Functions

 module_param_named (disable, ghes_disable, bool, 0)
 
 module_init (ghes_init)
 
 module_exit (ghes_exit)
 
 MODULE_AUTHOR ("Huang Ying")
 
 MODULE_DESCRIPTION ("APEI Generic Hardware Error Source support")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS ("platform:GHES")
 

Variables

bool ghes_disable
 
struct ghes_estatus_cacheghes_estatus_caches [GHES_ESTATUS_CACHES_SIZE]
 

Macro Definition Documentation

#define GHES_ESOURCE_PREALLOC_MAX_SIZE   65536

Definition at line 62 of file ghes.c.

#define GHES_ESTATUS_CACHE_ALLOCED_MAX   (GHES_ESTATUS_CACHES_SIZE * 3 / 2)

Definition at line 73 of file ghes.c.

#define GHES_ESTATUS_CACHE_AVG_SIZE   512

Definition at line 67 of file ghes.c.

#define GHES_ESTATUS_CACHE_LEN (   estatus_len)    (sizeof(struct ghes_estatus_cache) + (estatus_len))

Definition at line 75 of file ghes.c.

#define GHES_ESTATUS_CACHES_SIZE   4

Definition at line 69 of file ghes.c.

#define GHES_ESTATUS_FROM_CACHE (   estatus_cache)
Value:
((struct ghes_estatus_cache *)(estatus_cache) + 1))

Definition at line 77 of file ghes.c.

#define GHES_ESTATUS_FROM_NODE (   estatus_node)
Value:
((struct ghes_estatus_node *)(estatus_node) + 1))

Definition at line 83 of file ghes.c.

#define GHES_ESTATUS_IN_CACHE_MAX_NSEC   10000000000ULL

Definition at line 71 of file ghes.c.

#define GHES_ESTATUS_MAX_SIZE   65536

Definition at line 61 of file ghes.c.

#define GHES_ESTATUS_NODE_LEN (   estatus_len)    (sizeof(struct ghes_estatus_node) + (estatus_len))

Definition at line 81 of file ghes.c.

#define GHES_ESTATUS_POOL_MIN_ALLOC_ORDER   3

Definition at line 64 of file ghes.c.

#define GHES_EXITING   0x0002

Definition at line 96 of file ghes.c.

#define GHES_IOREMAP_IRQ_PAGE (   base)    ((base) + PAGE_SIZE)

Definition at line 159 of file ghes.c.

#define GHES_IOREMAP_NMI_PAGE (   base)    (base)

Definition at line 158 of file ghes.c.

#define GHES_IOREMAP_PAGES   2

Definition at line 157 of file ghes.c.

#define GHES_PFX   "GHES: "

Definition at line 59 of file ghes.c.

#define GHES_TO_CLEAR   0x0001

Definition at line 95 of file ghes.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
GHES_SEV_NO 
GHES_SEV_CORRECTED 
GHES_SEV_RECOVERABLE 
GHES_SEV_PANIC 

Definition at line 336 of file ghes.c.

Function Documentation

MODULE_ALIAS ( "platform:GHES"  )
MODULE_AUTHOR ( "Huang Ying"  )
MODULE_DESCRIPTION ( "APEI Generic Hardware Error Source support )
module_exit ( ghes_exit  )
module_init ( ghes_init  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( disable  ,
ghes_disable  ,
bool  ,
 
)

Variable Documentation

bool ghes_disable

Definition at line 123 of file ghes.c.

Definition at line 183 of file ghes.c.