#include <linux/linkage.h>
#include <system_data_cells.h>
#include <ucbdef.h>
#include <irpdef.h>
#include <fkbdef.h>
#include <ipldef.h>
#include <ipl.h>
#include <internals.h>
#include <linux/smp.h>
#include <asm/current.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <asm/hw_irq.h>
#include <queue.h>
Go to the source code of this file.
Classes | |
struct | fork_lock_struct |
Functions | |
asmlinkage void | exe_forkdspth (int i) |
requesting i/o completion processing - see 5.2 22.3.4 | |
void | exe_fork (struct _irp *i, struct _ucb *u) |
servicing the device interrupt - see 5.2 22.3.3 | |
void | exe_queue_fork (struct _irp *i, struct _ucb *u) |
servicing the device interrupt - see 5.2 22.3.3 | |
int | forklock (int i, signed int j) |
forklock - see 5.2 8.3.7 | |
void | forkunlock (int i, signed int j) |
forkunlock - see 5.2 8.3.7 | |
asmlinkage void | exe_frkipl6dsp (void) |
fork soft int - see 5.2 22.3.4 | |
asmlinkage void | exe_frkipl8dsp (void) |
fork soft int - see 5.2 22.3.4 | |
asmlinkage void | exe_frkipl9dsp (void) |
fork soft int - see 5.2 22.3.4 | |
asmlinkage void | exe_frkipl10dsp (void) |
fork soft int - see 5.2 22.3.4 | |
asmlinkage void | exe_frkipl11dsp (void) |
fork soft int - see 5.2 22.3.4 | |
void | exe_iofork (struct _irp *i, struct _ucb *u) |
servicing the device interrupt - see 5.2 22.3.3 | |
void | exe_std_queue_fork (struct _fkb *fkb) |
void | exe_std_primitive_fork (long fr3, long fr4, struct _fkb *fkb) |
servicing the device interrupt - see 5.2 22.3.3
i | irp | |
u | ucb |
call queue_fork
Definition at line 162 of file forkcntrl.c.
References exe_queue_fork(), and _ucb::ucb_l_fr3.
Referenced by exe_iofork().
asmlinkage void exe_forkdspth | ( | int | i | ) |
requesting i/o completion processing - see 5.2 22.3.4
i | interrupt |
remove one fork block at a time from the appropriate fork queue
get forklock
call fork routine
unlock fork
next entry TODO redo maybe
asmlinkage void exe_frkipl10dsp | ( | void | ) |
fork soft int - see 5.2 22.3.4
Definition at line 99 of file forkcntrl.c.
References exe_forkdspth().
asmlinkage void exe_frkipl11dsp | ( | void | ) |
fork soft int - see 5.2 22.3.4
Definition at line 107 of file forkcntrl.c.
References exe_forkdspth().
asmlinkage void exe_frkipl6dsp | ( | void | ) |
fork soft int - see 5.2 22.3.4
Definition at line 75 of file forkcntrl.c.
References exe_forkdspth().
asmlinkage void exe_frkipl8dsp | ( | void | ) |
fork soft int - see 5.2 22.3.4
Definition at line 83 of file forkcntrl.c.
References exe_forkdspth().
asmlinkage void exe_frkipl9dsp | ( | void | ) |
fork soft int - see 5.2 22.3.4
Definition at line 91 of file forkcntrl.c.
References exe_forkdspth().
servicing the device interrupt - see 5.2 22.3.3
i | irp | |
u | ucb |
clear tim bit
call exe_fork
Definition at line 149 of file forkcntrl.c.
References exe_fork(), and _ucb::ucb_l_sts.
servicing the device interrupt - see 5.2 22.3.3
i | irp | |
u | ucb |
get fork ipl - TODO smp/up support?
locate fork block queue and insert fork block
if first element request softint for it
Definition at line 175 of file forkcntrl.c.
References _fkb::fkb_b_flck, _fkb::fkb_l_fqbl, IPL__IOLOCK10, IPL__IOLOCK11, IPL__IOLOCK8, IPL__IOLOCK9, IPL__QUEUEAST, and smp_gl_cpu_data.
Referenced by exe_fork(), and exe_std_queue_fork().
void exe_std_primitive_fork | ( | long | fr3, | |
long | fr4, | |||
struct _fkb * | fkb | |||
) |
Definition at line 219 of file forkcntrl.c.
References exe_std_queue_fork(), _fkb::fkb_l_fr3, and _fkb::fkb_l_fr4.
void exe_std_queue_fork | ( | struct _fkb * | fkb | ) |
Definition at line 214 of file forkcntrl.c.
References exe_queue_fork().
Referenced by exe_std_primitive_fork().
int forklock | ( | int | i, | |
signed int | j | |||
) | [inline] |
forklock - see 5.2 8.3.7
forklock with spinlock and setipl not 100% according to spec
i | lock type | |
j | new ipl |
Definition at line 49 of file forkcntrl.c.
References fork_lock_struct::ipl, and spin.
Referenced by exe_altquepkt(), exe_finishio(), exe_insioq(), and exe_std_abortio().
void forkunlock | ( | int | i, | |
signed int | j | |||
) | [inline] |
forkunlock - see 5.2 8.3.7
forkunlock with spinunlock and setipl not 100% according to spec
i | lock type | |
j | new ipl |
Definition at line 64 of file forkcntrl.c.
References fork_lock_struct::ipl, and spin.
Referenced by exe_altquepkt(), exe_finishio(), exe_insioq(), and exe_std_abortio().