Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

s390mach.c File Reference

#include <linux/init.h>
#include <linux/malloc.h>
#include <linux/smp.h>
#include <asm/irq.h>
#include <asm/lowcore.h>
#include <asm/semaphore.h>
#include <asm/spinlock.h>
#include <asm/s390io.h>
#include <asm/s390dyn.h>
#include <asm/s390mach.h>

Include dependency graph for s390mach.c:

Go to the source code of this file.

Functions

static int s390_machine_check_handler (void *parm)
static void s390_enqueue_mchchk (mache_t *mchchk)
static mache_ts390_dequeue_mchchk (void)
static void s390_enqueue_free_mchchk (mache_t *mchchk)
static mache_ts390_dequeue_free_mchchk (void)
static int s390_collect_crw_info (void)
void s390_init_machine_check (void)
void s390_do_machine_check (void)

Variables

static struct semaphore s_sem
static mache_tmchchk_queue_head = NULL
static mache_tmchchk_queue_tail = NULL
static mache_tmchchk_queue_free = NULL
static crwe_tcrw_buffer_anchor = NULL
static spinlock_t mchchk_queue_lock = SPIN_LOCK_UNLOCKED
static spinlock_t crw_queue_lock = SPIN_LOCK_UNLOCKED


Function Documentation

static int s390_collect_crw_info void   )  [static]
 

Definition at line 411 of file s390mach.c.

References _crw::chn, count, _crwe::crw, _crwe::crwe_next, KERN_CRIT, memcpy, memset, NULL, panic(), printk, s390_dequeue_free_mchchk(), s390_enqueue_mchchk(), spin_lock, spin_unlock, and stcrw().

Referenced by s390_do_machine_check().

Here is the call graph for this function:

static mache_t * s390_dequeue_free_mchchk void   )  [static]
 

Definition at line 381 of file s390mach.c.

References _mache::next, NULL, spin_lock, and spin_unlock.

Referenced by s390_collect_crw_info().

static mache_t * s390_dequeue_mchchk void   )  [static]
 

Definition at line 270 of file s390mach.c.

References mchchk_queue_head, _mache::next, NULL, _mache::prev, spin_lock, and spin_unlock.

Referenced by s390_machine_check_handler().

void s390_do_machine_check void   ) 
 

Definition at line 128 of file s390mach.c.

References _mci::cp, _mcic::mcc, _mcic::_mcc::mcd, memcpy, printk, s390_collect_crw_info(), S390_lowcore, and up.

Here is the call graph for this function:

static void s390_enqueue_free_mchchk mache_t mchchk  )  [static]
 

Definition at line 352 of file s390mach.c.

References memset, NULL, spin_lock, and spin_unlock.

Referenced by s390_init_machine_check(), and s390_machine_check_handler().

static void s390_enqueue_mchchk mache_t mchchk  )  [static]
 

Definition at line 309 of file s390mach.c.

References mchchk_queue_head, _mache::next, NULL, _mache::prev, spin_lock, and spin_unlock.

Referenced by s390_collect_crw_info().

void s390_init_machine_check void   ) 
 

Definition at line 46 of file s390mach.c.

References _crwe::crwe_next, ctl_clear_bit, ctl_set_bit, i, init_MUTEX_LOCKED, kernel_thread(), kmalloc(), long, MAX_CRW_PENDING, MAX_MACH_PENDING, mchchk_queue_head, NULL, panic(), printk, s390_enqueue_free_mchchk(), and s390_machine_check_handler().

Referenced by do_basic_setup().

Here is the call graph for this function:

static int s390_machine_check_handler void *  parm  )  [static]
 

Definition at line 166 of file s390mach.c.

References __cli, __restore_flags, __save_flags, _mci::cp, _mache::_mc::crwe, _crwe::crwe_next, current, down_interruptible(), found, _mache::mc, _mcic::mcc, _mcic::_mcc::mcd, _mache::mcic, NULL, printk, s390_dequeue_mchchk(), s390_do_crw_pending(), s390_enqueue_free_mchchk(), sigfillset, spin_lock, spin_unlock, and strncpy.

Referenced by s390_init_machine_check().

Here is the call graph for this function:


Variable Documentation

crwe_t* crw_buffer_anchor = NULL [static]
 

Definition at line 37 of file s390mach.c.

spinlock_t crw_queue_lock = SPIN_LOCK_UNLOCKED [static]
 

Definition at line 39 of file s390mach.c.

mache_t* mchchk_queue_free = NULL [static]
 

Definition at line 36 of file s390mach.c.

mache_t* mchchk_queue_head = NULL [static]
 

Definition at line 34 of file s390mach.c.

Referenced by s390_dequeue_mchchk(), s390_enqueue_mchchk(), and s390_init_machine_check().

spinlock_t mchchk_queue_lock = SPIN_LOCK_UNLOCKED [static]
 

Definition at line 38 of file s390mach.c.

mache_t* mchchk_queue_tail = NULL [static]
 

Definition at line 35 of file s390mach.c.

struct semaphore s_sem [static]
 

Definition at line 32 of file s390mach.c.