#include <linux/sched.h>
#include <asm/bitops.h>
#include <ssdef.h>
#include <cebdef.h>
#include <evtdef.h>
#include <ipldef.h>
#include <system_data_cells.h>
#include <ipl.h>
#include <internals.h>
#include <exe_routines.h>
#include <sch_routines.h>
#include <misc_routines.h>
Go to the source code of this file.
Defines | |
#define | MYDEB_EFC |
Functions | |
int | waitcheck (struct _pcb *p, unsigned long priclass, unsigned long *efp, unsigned long *clusteraddr) |
check whether this flag satisfies a wait request for this process | |
int | waitcheck2 (struct _pcb *p, unsigned long priclass, unsigned long *efp, unsigned long *clusteraddr) |
check whether this flag satisfies a wait request for this process | |
int | sch_postef (unsigned long ipid, unsigned long priclass, unsigned long efn) |
setting an event flag - see 5.2 9.7 | |
Variables | |
long | efc [32 *1024] |
long | efcc [32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } |
Definition in file postef.c.
int sch_postef | ( | unsigned long | ipid, | |
unsigned long | priclass, | |||
unsigned long | efn | |||
) |
setting an event flag - see 5.2 9.7
ipid | internal process id | |
priclass | at which priority class | |
efn | event flag number |
sched spinlock
does process still exist
test event flag legality
if non-common event flag
test if set
wait satisfied?
common event flag
locate ceb
wait satisfied?
unlock sched spinlock
Definition at line 86 of file postef.c.
References _pcb, _ceb::ceb_l_wqfl, efc, efcc, exe_ipid_to_pcb(), getefc(), getefcno(), getefcp(), IPL__SYNCH, SPIN_SCHED, SS__ILLEFC, SS__NONEXPR, SS__UNASEFC, SS__WASCLR, SS__WASSET, waitcheck(), and waitcheck2().
Referenced by bufpost(), exe_getdvi(), exe_getjpi(), exe_getsyi(), exe_qio(), exe_setef(), exe_swtimint(), ioc_iopost(), and lck_grant_lock().
int waitcheck | ( | struct _pcb * | p, | |
unsigned long | priclass, | |||
unsigned long * | efp, | |||
unsigned long * | clusteraddr | |||
) |
check whether this flag satisfies a wait request for this process
for single flags < 64
p | the process pcb | |
priclass | the priority calss | |
efp | event flag pointer | |
clusteraddr | address of the cluster |
if wait satisfied invoke sch_rse
Definition at line 36 of file postef.c.
References sch_rse().
Referenced by sch_postef().
int waitcheck2 | ( | struct _pcb * | p, | |
unsigned long | priclass, | |||
unsigned long * | efp, | |||
unsigned long * | clusteraddr | |||
) |
check whether this flag satisfies a wait request for this process
for common flags >= 64
p | the process pcb | |
priclass | the priority calss | |
efp | event flag pointer | |
clusteraddr | address of the cluster |
if wait satisfied invoke sch_rse
Definition at line 59 of file postef.c.
References sch_rse().
Referenced by sch_postef().
long efc[32 *1024] |
long efcc[32] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } |