libsys: various updates
- move system calls for use by services from libminlib into libsys; - move srv_fork(2) and srv_kill(2) from RS and into libsys; - replace getprocnr(2) with sef_self(3); - rename previous getnprocnr(2) to getprocnr(2); - clean up getepinfo(2); - change all libsys calls that used _syscall to use _taskcall, so as to avoid going through errno to pass errors; this is already how most calls work anyway, and many of the calls previously using _syscall were already assumed to return the actual error; - initialize request messages to zero, for future compatibility (note that this does not include PCI calls, which are in need of a much bigger overhaul, nor kernel calls); - clean up more of dead DS code as a side effect. Change-Id: I8788f54c68598fcf58e23486e270c2d749780ebb
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
/* Self variables. */
|
||||
#define SEF_SELF_NAME_MAXLEN 20
|
||||
char sef_self_name[SEF_SELF_NAME_MAXLEN];
|
||||
endpoint_t sef_self_endpoint;
|
||||
endpoint_t sef_self_endpoint = NONE;
|
||||
int sef_self_priv_flags;
|
||||
int sef_self_first_receive_done;
|
||||
int sef_self_receiving;
|
||||
@@ -68,8 +68,8 @@ void sef_startup()
|
||||
if((sef_self_priv_flags & ROOT_SYS_PROC) && sef_self_endpoint != RS_PROC_NR) {
|
||||
r = vm_update(RS_PROC_NR, sef_self_endpoint);
|
||||
if(r != OK) {
|
||||
panic("unable to update RS from instance %d to %d",
|
||||
RS_PROC_NR, sef_self_endpoint);
|
||||
panic("unable to update RS from instance %d to %d: %d",
|
||||
RS_PROC_NR, sef_self_endpoint, r);
|
||||
}
|
||||
old_endpoint = sef_self_endpoint;
|
||||
sef_self_endpoint = RS_PROC_NR;
|
||||
@@ -190,6 +190,19 @@ int sef_receive_status(endpoint_t src, message *m_ptr, int *status_ptr)
|
||||
return r;
|
||||
}
|
||||
|
||||
/*===========================================================================*
|
||||
* sef_self *
|
||||
*===========================================================================*/
|
||||
endpoint_t sef_self(void)
|
||||
{
|
||||
/* Return the process's own endpoint number. */
|
||||
|
||||
if (sef_self_endpoint == NONE)
|
||||
panic("sef_self called before initialization");
|
||||
|
||||
return sef_self_endpoint;
|
||||
}
|
||||
|
||||
/*===========================================================================*
|
||||
* sef_cancel *
|
||||
*===========================================================================*/
|
||||
|
||||
Reference in New Issue
Block a user