RS crash recovery support.
This commit is contained in:
@@ -487,7 +487,7 @@
|
||||
# define GET_IRQACTIDS 16 /* get the IRQ masks */
|
||||
# define GET_PRIV 17 /* get privilege structure */
|
||||
# define GET_HZ 18 /* get HZ value */
|
||||
# define GET_WHOAMI 19 /* get own name and endpoint */
|
||||
# define GET_WHOAMI 19 /* get own name, endpoint, and privileges */
|
||||
# define GET_RANDOMNESS_BIN 20 /* get one randomness bin */
|
||||
# define GET_IDLETSC 21 /* get cumulative idle time stamp counter */
|
||||
# define GET_AOUTHEADER 22 /* get a.out headers from the boot image */
|
||||
@@ -500,6 +500,7 @@
|
||||
/* GET_WHOAMI fields. */
|
||||
#define GIWHO_EP m3_i1
|
||||
#define GIWHO_NAME m3_ca1
|
||||
#define GIWHO_PRIVFLAGS m3_i2
|
||||
|
||||
/* Field names for SYS_TIMES. */
|
||||
#define T_ENDPT m4_l1 /* process to request time info for */
|
||||
@@ -529,6 +530,7 @@
|
||||
*/
|
||||
#define SYS_PRIV_ADD_IRQ 7 /* Add IRQ */
|
||||
#define SYS_PRIV_QUERY_MEM 8 /* Verify memory privilege. */
|
||||
#define SYS_PRIV_UPDATE_SYS 9 /* Update a sys privilege structure. */
|
||||
|
||||
/* Field names for SYS_SETGRANT */
|
||||
#define SG_ADDR m2_p1 /* address */
|
||||
|
||||
@@ -168,14 +168,17 @@
|
||||
#define PROC_FULLVM 0x100 /* VM sets and manages full pagetable */
|
||||
|
||||
/* Bits for s_flags in the privilege structure. */
|
||||
#define PREEMPTIBLE 0x02 /* kernel tasks are not preemptible */
|
||||
#define BILLABLE 0x04 /* some processes are not billable */
|
||||
#define DYN_PRIV_ID 0x08 /* privilege id assigned dynamically */
|
||||
#define PREEMPTIBLE 0x002 /* kernel tasks are not preemptible */
|
||||
#define BILLABLE 0x004 /* some processes are not billable */
|
||||
#define DYN_PRIV_ID 0x008 /* privilege id assigned dynamically */
|
||||
|
||||
#define SYS_PROC 0x10 /* system processes have own priv structure */
|
||||
#define CHECK_IO_PORT 0x20 /* check if I/O request is allowed */
|
||||
#define CHECK_IRQ 0x40 /* check if IRQ can be used */
|
||||
#define CHECK_MEM 0x80 /* check if (VM) mem map request is allowed */
|
||||
#define SYS_PROC 0x010 /* system processes have own priv structure */
|
||||
#define CHECK_IO_PORT 0x020 /* check if I/O request is allowed */
|
||||
#define CHECK_IRQ 0x040 /* check if IRQ can be used */
|
||||
#define CHECK_MEM 0x080 /* check if (VM) mem map request is allowed */
|
||||
#define ROOT_SYS_PROC 0x100 /* this is a root system process instance */
|
||||
#define LU_SYS_PROC 0x200 /* this is a live updated sys proc instance */
|
||||
#define RST_SYS_PROC 0x400 /* this is a restarted sys proc instance */
|
||||
|
||||
/* Bits for device driver flags managed by RS and VFS. */
|
||||
#define DRV_FORCED 0x01 /* driver is mapped even if not alive yet */
|
||||
|
||||
@@ -29,6 +29,7 @@ _PROTOTYPE( void sef_exit, (int status) );
|
||||
/* Type definitions. */
|
||||
typedef struct {
|
||||
cp_grant_id_t rproctab_gid;
|
||||
endpoint_t endpoint;
|
||||
endpoint_t old_endpoint;
|
||||
} sef_init_info_t;
|
||||
|
||||
|
||||
@@ -197,7 +197,8 @@ _PROTOTYPE(int sys_segctl, (int *index, u16_t *seg, vir_bytes *off,
|
||||
#define sys_getaoutheader(dst,nr) sys_getinfo(GET_AOUTHEADER, dst, 0,0,nr)
|
||||
_PROTOTYPE(int sys_getinfo, (int request, void *val_ptr, int val_len,
|
||||
void *val_ptr2, int val_len2) );
|
||||
_PROTOTYPE(int sys_whoami, (endpoint_t *ep, char *name, int namelen));
|
||||
_PROTOTYPE(int sys_whoami, (endpoint_t *ep, char *name, int namelen,
|
||||
int *priv_flags));
|
||||
|
||||
/* Signal control. */
|
||||
_PROTOTYPE(int sys_kill, (endpoint_t proc_ep, int sig) );
|
||||
|
||||
Reference in New Issue
Block a user