#include <linux/linkage.h>
#include <linux/sched.h>
#include <linux/vmalloc.h>
#include <linux/file.h>
#include <system_data_cells.h>
#include <descrip.h>
#include <gsddef.h>
#include <ipldef.h>
#include <ipl.h>
#include <phddef.h>
#include <rdedef.h>
#include <secdef.h>
#include <seciddef.h>
#include <starlet.h>
#include <va_rangedef.h>
#include <vmspte.h>
#include <wsldef.h>
#include <exe_routines.h>
#include <misc_routines.h>
#include <mmg_routines.h>
#include <queue.h>
#include <linux/slab.h>
Go to the source code of this file.
Functions | |
asmlinkage int | exe_crmpsc_wrap (struct struct_crmpsc *s) |
asmlinkage int | exe_mgblsc_wrap (struct struct_mgblsc *s) |
asmlinkage int | exe_mgblsc (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode, unsigned int flags, void *gsdnam, struct _secid *ident, unsigned int relpag) |
asmlinkage int | exe_crmpsc (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode, unsigned int flags, void *gsdnam, unsigned long long *ident, unsigned int relpag, unsignedlong chan, unsigned int pagcnt, unsigned int vbn, unsigned int prot, unsigned int pfc) |
system service for process-private section creation - see 5.2 15.4.1 |
asmlinkage int exe_crmpsc | ( | struct _va_range * | inadr, | |
struct _va_range * | retadr, | |||
unsigned int | acmode, | |||
unsigned int | flags, | |||
void * | gsdnam, | |||
unsigned long long * | ident, | |||
unsigned int | relpag, | |||
unsigned long | chan, | |||
unsigned int | pagcnt, | |||
unsigned int | vbn, | |||
unsigned int | prot, | |||
unsigned int | pfc | |||
) |
system service for process-private section creation - see 5.2 15.4.1
inadr | suggested address range | |
retadr | returned address range | |
acmode | access mode | |
gsd | global section no short int yet |
initialize scratch space - MISSING ?
call mmg vfysecflg to test flag args - MISSING - empty routine
confirm that the channel has been assigned etc - MISSING
check wheter the wcb maps the entire file - MISSING
if to be a copy-on-reference - MISSING
set ipl 2 to prevent asts
call mmg dalcstxscn to check process section table for deallocatable sections - MISSING
check for copy-on-reference - MISSING
check demand zero - MISSING
form a template pte
calculate protection and some more - MISSING
set sec flags from param
set sec vbn from param
vbn 0 check - MISSING
copy to sec unit_cnt (pagcnt) from pagcnt param
set in sec window the ccb window
check whether file has been open consistently with the flags - MISSING
if this is the first section mapped - MISSING
set sec refcnt to 1 - MISSING
set sec pfc - MISSING
form a template pte
calculate protection and some more - MISSING
set sec flags from param
set sec vbn from param
vbn 0 check - MISSING
copy to sec unit_cnt (pagcnt) from pagcnt param
set in sec window the ccb window
check whether file has been open consistently with the flags - MISSING
if this is the first section mapped - MISSING
set sec refcnt to 1 - MISSING
set sec pfc - MISSING
Definition at line 90 of file syscrmpsc.c.
References _pcb, ctl_ga_ccb_table, ctl_gl_pcb, exe_gl_gsdgrpfl, exe_gl_gsdsysfl, exe_mgblsc(), _gsd::gsd_l_basepfn, _gsd::gsd_l_flags, _gsd::gsd_l_gstx, _gsd::gsd_l_ident, _gsd::gsd_l_pcbuic, IPL__ASTDEL, kmalloc(), mmg_dalcstxscn(), mmg_fast_create(), mmg_gl_sysphd, mmg_gq_free_gpt, mmg_gq_gpt_base, mmg_gsdscn(), mmg_vfysecflg(), _mypte::pte_l_all, _mypte::pte_v_gblwrt, _mypte::pte_v_global, _mypte::pte_v_pfn, _mypte::pte_v_stx, _mypte::pte_v_typ0, _mypte::pte_v_typ1, _secdef::sec_l_ccb, _secdef::sec_l_flags, _secdef::sec_l_gsd, _secdef::sec_l_unit_cnt, _secdef::sec_l_vbn, _secdef::sec_l_vpx, _secdef::sec_l_window, SEC_M_GBL, SEC_M_SYSGBL, _va_range::va_range_ps_end_va, and _va_range::va_range_ps_start_va.
Referenced by do_mmap_pgoff(), exe_crmpsc_wrap(), and exe_imgact().
asmlinkage int exe_crmpsc_wrap | ( | struct struct_crmpsc * | s | ) |
Definition at line 34 of file syscrmpsc.c.
References struct_crmpsc::acmode, struct_crmpsc::chan, e2_search_fcb(), exe_crmpsc(), struct_crmpsc::flags, struct_crmpsc::gsdnam, struct_crmpsc::ident, struct_crmpsc::inadr, struct_crmpsc::pagcnt, struct_crmpsc::pfc, struct_crmpsc::prot, struct_crmpsc::relpag, struct_crmpsc::retadr, and struct_crmpsc::vbn.
asmlinkage int exe_mgblsc | ( | struct _va_range * | inadr, | |
struct _va_range * | retadr, | |||
unsigned int | acmode, | |||
unsigned int | flags, | |||
void * | gsdnam, | |||
struct _secid * | ident, | |||
unsigned int | relpag | |||
) |
Definition at line 57 of file syscrmpsc.c.
References _gsd::gsd_l_gstx, mmg_fast_create_gptx(), mmg_gl_sysphd, mmg_gsdscn(), mmg_vfysecflg(), _va_range::va_range_ps_end_va, and _va_range::va_range_ps_start_va.
Referenced by exe_crmpsc(), and exe_mgblsc_wrap().
asmlinkage int exe_mgblsc_wrap | ( | struct struct_mgblsc * | s | ) |
Definition at line 54 of file syscrmpsc.c.
References struct_mgblsc::acmode, exe_mgblsc(), struct_mgblsc::flags, struct_mgblsc::gsdnam, struct_mgblsc::ident, struct_mgblsc::inadr, struct_mgblsc::relpag, and struct_mgblsc::retadr.