#include <linux/linkage.h>
#include <asm/current.h>
#include <system_data_cells.h>
#include <ipl.h>
#include <lckdef.h>
#include <lckctxdef.h>
#include <lksbdef.h>
#include <misc.h>
#include <ssdef.h>
#include <starlet.h>
#include <acbdef.h>
#include <ipldef.h>
#include <rsbdef.h>
#include <lkbdef.h>
#include <pridef.h>
#include <descrip.h>
#include <cdrpdef.h>
#include <queue.h>
#include <exe_routines.h>
#include <misc_routines.h>
#include <scs_routines.h>
#include <sch_routines.h>
#include <linux/slab.h>
#include <internals.h>
Go to the source code of this file.
Functions | |
void | dlmmyerr () |
void | dlmlisten () |
int | dlminit (void) |
dlm_msg () | |
dlm_dg () | |
dlm_err () | |
void | lck_snd_granted (struct _lkb *lck) |
int | reshash (struct dsc_descriptor *d) |
struct _rsb * | find_reshashtbl (struct dsc_descriptor *d) |
void | insert_reshashtbl (struct _rsb *res) |
int | insert_lck (struct _lkb *lck) |
asmlinkage int | exe_enq (unsigned int efn, unsigned int lkmode, struct _lksb *lksb, unsigned int flags, void *resnam, unsigned int parid, void(*astadr)(), unsigned long astprm, void(*blkastadr)(), unsigned int acmode, unsigned int rsdm_id) |
int | lck_deqlock (struct _lkb *lck, int flags, unsigned int lkid) |
asmlinkage int | exe_deq (unsigned int lkid, void *valblk, unsigned int acmode, unsigned int flags) |
void | lock_iosb_kast (int par) |
int | lck_grant_lock (struct _lkb *lck, struct _rsb *res, signed int curmode, signed int nextmode, int flags, int efn, signed int ggmode) |
int | maybe_blkast (struct _rsb *res, struct _lkb *lck) |
int | find_highest (struct _lkb *lck, struct _rsb *res) |
int | grant_queued (struct _rsb *res, int ggmode_not, int docvt, int dowt) |
asmlinkage int | exe_enqw (unsigned int efn, unsigned int lkmode, struct _lksb *lksb, unsigned int flags, void *resnam, unsigned int parid, void(*astadr)(), unsigned long astprm, void(*blkastadr)(), unsigned int acmode, unsigned int rsdm_id) |
asmlinkage int | exe_enqw_wrap (struct struct_args *s) |
asmlinkage int | exe_enq_wrap (struct struct_args *s) |
Variables | |
unsigned char | lck_ar_compat_tbl [6] = {0x3f,0x1f,0x7,0xb,3,1} |
unsigned char | lck_synccvt_tbl [6] = {1,3,7,0xb,0x1f,0x3f} |
unsigned char | lck_quecvt_tbl [6] = {0x3e,0x3c,0x38,0x34,0x20,0} |
unsigned char | lck_ggmax_tbl [6] = {0,0,8,4,0,0} |
unsigned char | lck_ggred_tbl [6] = {0,0,0,0,0xc,0} |
unsigned char | lck_valblk_tbl [6] = {0,0,0,0,0x1f,0x3f} |
unsigned char | lck_al_dwncvt_tbl [6] = {0,1,3,3,0xf,0x1f} |
struct _rsb * | reshashtbl [] |
unsigned long | lockidtbl [] |
dlm_dg | ( | ) |
Definition at line 78 of file sysenqdeq.c.
dlm_err | ( | ) |
Definition at line 80 of file sysenqdeq.c.
dlm_msg | ( | ) |
Definition at line 76 of file sysenqdeq.c.
int dlminit | ( | void | ) |
Definition at line 63 of file sysenqdeq.c.
References dlmlisten(), dlmmyerr(), and scs_std_listen().
void dlmlisten | ( | ) |
void dlmmyerr | ( | ) |
asmlinkage int exe_deq | ( | unsigned int | lkid, | |
void * | valblk, | |||
unsigned int | acmode, | |||
unsigned int | flags | |||
) |
Definition at line 431 of file sysenqdeq.c.
References lck_deqlock(), LCK_M_DEQALL, _lkb::lkb_l_parent, lockidtbl, SS__NORMAL, and SS__SUBLOCKS.
asmlinkage int exe_enq | ( | unsigned int | efn, | |
unsigned int | lkmode, | |||
struct _lksb * | lksb, | |||
unsigned int | flags, | |||
void * | resnam, | |||
unsigned int | parid, | |||
void(*)() | astadr, | |||
unsigned long | astprm, | |||
void(*)() | blkastadr, | |||
unsigned int | acmode, | |||
unsigned int | rsdm_id | |||
) |
Definition at line 135 of file sysenqdeq.c.
References exe_clref(), find_highest(), find_reshashtbl(), grant_queued(), insert_lck(), insert_reshashtbl(), IPL__ASTDEL, IPL__SCS, kfree(), kmalloc(), lck_ar_compat_tbl, lck_gl_lckcnt, lck_gl_rsbcnt, lck_grant_lock(), LCK_K_EXMODE, LCK_K_NLMODE, LCK_M_CONVERT, LCK_M_EXPEDITE, LCK_M_NOQUEUE, LCK_M_SYNCSTS, LCK_M_SYSTEM, lck_snd_granted(), _lkb::lkb_b_efn, _lkb::lkb_b_rqmode, _lkb::lkb_b_state, _lkb::lkb_l_astprm, _lkb::lkb_l_blkastadr, _lkb::lkb_l_cplastadr, _lkb::lkb_l_flags, _lkb::lkb_l_lksb, _lkb::lkb_l_ownqfl, _lkb::lkb_l_parent, _lkb::lkb_l_pid, _lkb::lkb_l_rsb, _lkb::lkb_l_sqfl, _lkb::lkb_l_status, _lksb::lksb_l_lkid, _lksb::lksb_w_status, lockidtbl, maybe_blkast(), qhead_init(), _rsb::rsb_b_cgmode, _rsb::rsb_b_depth, _rsb::rsb_b_fgmode, _rsb::rsb_b_ggmode, _rsb::rsb_b_rsnlen, _rsb::rsb_l_csid, _rsb::rsb_l_cvtqfl, _rsb::rsb_l_grqfl, _rsb::rsb_l_parent, _rsb::rsb_l_rrsfl, _rsb::rsb_l_rtrsb, _rsb::rsb_l_srsfl, _rsb::rsb_l_wtqfl, _rsb::rsb_t_resnam, _rsb::rsb_w_lckcnt, SPIN_SCS, SS__CVTUNGRANT, SS__EXDEPTH, SS__IVBUFLEN, SS__IVLOCKID, SS__NORMAL, SS__NOTQUEUED, SS__PARNOTGRANT, and SS__UNSUPPORTED.
Referenced by exe_enq_wrap(), and exe_enqw().
asmlinkage int exe_enq_wrap | ( | struct struct_args * | s | ) |
Definition at line 671 of file sysenqdeq.c.
References exe_enq(), struct_args::s1, struct_args::s10, struct_args::s11, struct_args::s2, struct_args::s3, struct_args::s4, struct_args::s5, struct_args::s6, struct_args::s7, struct_args::s8, and struct_args::s9.
asmlinkage int exe_enqw | ( | unsigned int | efn, | |
unsigned int | lkmode, | |||
struct _lksb * | lksb, | |||
unsigned int | flags, | |||
void * | resnam, | |||
unsigned int | parid, | |||
void(*)() | astadr, | |||
unsigned long | astprm, | |||
void(*)() | blkastadr, | |||
unsigned int | acmode, | |||
unsigned int | rsdm_id | |||
) |
Definition at line 659 of file sysenqdeq.c.
References exe_enq(), and exe_synch().
Referenced by exe_enqw_wrap().
asmlinkage int exe_enqw_wrap | ( | struct struct_args * | s | ) |
Definition at line 666 of file sysenqdeq.c.
References exe_enqw(), struct_args::s1, struct_args::s10, struct_args::s11, struct_args::s2, struct_args::s3, struct_args::s4, struct_args::s5, struct_args::s6, struct_args::s7, struct_args::s8, and struct_args::s9.
Definition at line 585 of file sysenqdeq.c.
References _lkb::lkb_b_grmode, _lkb::lkb_l_astqfl, _lkb::lkb_l_sqfl, _rsb::rsb_l_cvtqfl, and _rsb::rsb_l_grqfl.
Referenced by exe_enq(), grant_queued(), and lck_deqlock().
struct _rsb* find_reshashtbl | ( | struct dsc_descriptor * | d | ) | [read] |
Definition at line 108 of file sysenqdeq.c.
References reshash(), _rsb::rsb_l_hshchn, and _rsb::rsb_t_resnam.
Referenced by exe_enq().
int grant_queued | ( | struct _rsb * | res, | |
int | ggmode_not, | |||
int | docvt, | |||
int | dowt | |||
) |
Definition at line 619 of file sysenqdeq.c.
References find_highest(), lck_grant_lock(), _lkb::lkb_b_rqmode, _lkb::lkb_l_sqfl, _rsb::rsb_b_cgmode, _rsb::rsb_b_ggmode, and _rsb::rsb_l_cvtqfl.
Referenced by exe_enq(), and lck_deqlock().
int insert_lck | ( | struct _lkb * | lck | ) |
Definition at line 127 of file sysenqdeq.c.
References lockidtbl, and LOCKIDTBL.
Referenced by exe_enq().
void insert_reshashtbl | ( | struct _rsb * | res | ) |
int lck_deqlock | ( | struct _lkb * | lck, | |
int | flags, | |||
unsigned int | lkid | |||
) |
Definition at line 402 of file sysenqdeq.c.
References find_highest(), grant_queued(), IPL__ASTDEL, IPL__SCS, kfree(), _lkb::lkb_b_state, _lkb::lkb_l_ownqfl, _lkb::lkb_l_rsb, _lkb::lkb_l_sqfl, lockidtbl, _rsb::rsb_b_cgmode, _rsb::rsb_b_fgmode, _rsb::rsb_b_ggmode, _rsb::rsb_l_grqfl, and SPIN_SCS.
Referenced by exe_deq().
int lck_grant_lock | ( | struct _lkb * | lck, | |
struct _rsb * | res, | |||
signed int | curmode, | |||
signed int | nextmode, | |||
int | flags, | |||
int | efn, | |||
signed int | ggmode | |||
) |
Definition at line 470 of file sysenqdeq.c.
References lck_ar_compat_tbl, _lkb::lkb_b_grmode, _lkb::lkb_b_rmod, _lkb::lkb_b_state, _lkb::lkb_l_ast, _lkb::lkb_l_astprm, _lkb::lkb_l_blkastadr, _lkb::lkb_l_cplastadr, _lkb::lkb_l_kast, _lkb::lkb_l_lkst1, _lkb::lkb_l_oldastprm, _lkb::lkb_l_sqfl, _lkb::lkb_l_status, lock_iosb_kast(), _rsb::rsb_b_cgmode, _rsb::rsb_b_fgmode, _rsb::rsb_b_ggmode, _rsb::rsb_l_cvtqfl, _rsb::rsb_l_wtqfl, _rsb::rsb_w_blkastcnt, sch_postef(), sch_qast(), SS__NORMAL, and SS__SYNCH.
Referenced by exe_enq(), and grant_queued().
void lck_snd_granted | ( | struct _lkb * | lck | ) |
Definition at line 82 of file sysenqdeq.c.
References _cdrp::cdrp_l_val1, _cdrp::cdrp_l_val2, kmalloc(), lockidtbl, and scs_std_senddg().
Referenced by exe_enq().
void lock_iosb_kast | ( | int | par | ) |
Definition at line 452 of file sysenqdeq.c.
References _lkb::lkb_b_rmod, _lkb::lkb_l_ast, _lkb::lkb_l_astprm, _lkb::lkb_l_lksb, _lkb::lkb_l_status, _lksb::lksb_w_status, and sch_qast().
Referenced by lck_grant_lock().
Definition at line 563 of file sysenqdeq.c.
References _lkb::lkb_b_grmode, _lkb::lkb_b_rmod, _lkb::lkb_l_ast, _lkb::lkb_l_blkastadr, _lkb::lkb_l_sqfl, _rsb::rsb_l_grqfl, sch_qast(), and SS__NORMAL.
Referenced by exe_enq().
int reshash | ( | struct dsc_descriptor * | d | ) |
Definition at line 104 of file sysenqdeq.c.
Referenced by find_reshashtbl(), and insert_reshashtbl().
unsigned char lck_al_dwncvt_tbl[6] = {0,1,3,3,0xf,0x1f} |
Definition at line 57 of file sysenqdeq.c.
unsigned char lck_ar_compat_tbl[6] = {0x3f,0x1f,0x7,0xb,3,1} |
unsigned char lck_ggmax_tbl[6] = {0,0,8,4,0,0} |
Definition at line 51 of file sysenqdeq.c.
unsigned char lck_ggred_tbl[6] = {0,0,0,0,0xc,0} |
Definition at line 53 of file sysenqdeq.c.
unsigned char lck_quecvt_tbl[6] = {0x3e,0x3c,0x38,0x34,0x20,0} |
Definition at line 49 of file sysenqdeq.c.
unsigned char lck_synccvt_tbl[6] = {1,3,7,0xb,0x1f,0x3f} |
Definition at line 47 of file sysenqdeq.c.
unsigned char lck_valblk_tbl[6] = {0,0,0,0,0x1f,0x3f} |
Definition at line 55 of file sysenqdeq.c.
unsigned long lockidtbl[] |
Definition at line 1965 of file system_data_cells.c.
Referenced by exe_deq(), exe_enq(), exe_lkiscan_next_id(), insert_lck(), lck_deqlock(), lck_snd_granted(), and vms_init().
struct _rsb* reshashtbl[] |
Definition at line 1964 of file system_data_cells.c.