Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
mca_drv.c File Reference
#include <linux/types.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/kallsyms.h>
#include <linux/bootmem.h>
#include <linux/acpi.h>
#include <linux/timer.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/workqueue.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <asm/delay.h>
#include <asm/machvec.h>
#include <asm/page.h>
#include <asm/ptrace.h>
#include <asm/sal.h>
#include <asm/mca.h>
#include <asm/irq.h>
#include <asm/hw_irq.h>
#include "mca_drv.h"

Go to the source code of this file.

Macros

#define MAX_PAGE_ISOLATE   1024
 
#define LOG_INDEX_ADD_SECT_PTR(sect, ptr)
 

Enumerations

enum  mca_type_t { MCA_IS_LOCAL = 0, MCA_IS_GLOBAL = 1 }
 
enum  isolate_status_t { ISOLATE_NG, ISOLATE_OK, ISOLATE_NONE }
 
enum  recovery_status_t { MCA_NOT_RECOVERED = 0, MCA_RECOVERED = 1 }
 

Functions

voidmca_handler_bhhook (void)
 
void mca_handler_bh (unsigned long paddr, void *iip, unsigned long ipsr)
 
int __init mca_external_handler_init (void)
 
void __exit mca_external_handler_exit (void)
 
 module_init (mca_external_handler_init)
 
 module_exit (mca_external_handler_exit)
 
 module_param (sal_rec_max, int, 0644)
 
 MODULE_PARM_DESC (sal_rec_max,"Max size of SAL error record")
 
 MODULE_DESCRIPTION ("ia64 platform dependent mca handler driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define LOG_INDEX_ADD_SECT_PTR (   sect,
  ptr 
)
Value:
{slidx_list_t *hl = &slidx_pool.buffer[slidx_pool.cur_idx]; \
hl->hdr = ptr; \
list_add(&hl->list, &(sect)); \
slidx_pool.cur_idx = (slidx_pool.cur_idx + 1)%slidx_pool.max_idx; }

mca_make_slidx - Make index of SAL error record : pointer to SAL error record : pointer to index of SAL error record

Return value: 1 if record has platform error / 0 if not

Definition at line 220 of file mca_drv.c.

#define MAX_PAGE_ISOLATE   1024

Definition at line 52 of file mca_drv.c.

Enumeration Type Documentation

Enumerator:
ISOLATE_NG 
ISOLATE_OK 
ISOLATE_NONE 

Definition at line 57 of file mca_drv.c.

enum mca_type_t
Enumerator:
MCA_IS_LOCAL 
MCA_IS_GLOBAL 

Definition at line 47 of file mca_drv.c.

Enumerator:
MCA_NOT_RECOVERED 
MCA_RECOVERED 

Definition at line 63 of file mca_drv.c.

Function Documentation

void __exit mca_external_handler_exit ( void  )

Definition at line 781 of file mca_drv.c.

int __init mca_external_handler_init ( void  )

Definition at line 767 of file mca_drv.c.

void mca_handler_bh ( unsigned long  paddr,
void iip,
unsigned long  ipsr 
)

mca_hanlder_bh - Kill the process which occurred memory read error : poisoned address received from MCA Handler

Definition at line 156 of file mca_drv.c.

void* mca_handler_bhhook ( void  )
MODULE_DESCRIPTION ( "ia64 platform dependent mca handler driver )
module_exit ( mca_external_handler_exit  )
module_init ( mca_external_handler_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( sal_rec_max  ,
int  ,
0644   
)
MODULE_PARM_DESC ( sal_rec_max  ,
"Max size of SAL error record  
)

Variable Documentation

Definition at line 72 of file mca_drv.c.

int cur_idx

Definition at line 73 of file mca_drv.c.

int max_idx

Definition at line 74 of file mca_drv.c.