Support for setitimer(ITIMER_VIRTUAL/ITIMER_PROF). New test (41) for setitimer.
This commit is contained in:
+11
-1
@@ -328,7 +328,9 @@
|
||||
# define SYS_VMCTL (KERNEL_CALL + 43) /* sys_vmctl() */
|
||||
# define SYS_SYSCTL (KERNEL_CALL + 44) /* sys_sysctl() */
|
||||
|
||||
#define NR_SYS_CALLS 45 /* number of system calls */
|
||||
# define SYS_VTIMER (KERNEL_CALL + 45) /* sys_vtimer() */
|
||||
|
||||
#define NR_SYS_CALLS 46 /* number of system calls */
|
||||
|
||||
/* Pseudo call for use in kernel/table.c. */
|
||||
#define SYS_ALL_CALLS (NR_SYS_CALLS)
|
||||
@@ -604,6 +606,14 @@
|
||||
#define VMCTL_INCSP 16
|
||||
#define VMCTL_NOPAGEZERO 18
|
||||
|
||||
/* Field names for SYS_VTIMER. */
|
||||
#define VT_WHICH m2_i1 /* which timer to set/retrieve */
|
||||
# define VT_VIRTUAL 1 /* the ITIMER_VIRTUAL timer */
|
||||
# define VT_PROF 2 /* the ITIMER_PROF timer */
|
||||
#define VT_SET m2_i2 /* 1 for setting a timer, 0 retrieval only */
|
||||
#define VT_VALUE m2_l1 /* new/previous value of the timer */
|
||||
#define VT_ENDPT m2_l2 /* process to set/retrieve the timer for */
|
||||
|
||||
/*===========================================================================*
|
||||
* Messages for the Reincarnation Server *
|
||||
*===========================================================================*/
|
||||
|
||||
@@ -86,10 +86,14 @@ _PROTOTYPE(void *alloc_contig, (size_t len, int flags, phys_bytes *phys));
|
||||
#define AC_LOWER16M 0x02
|
||||
#define AC_ALIGN64K 0x04
|
||||
|
||||
/* Clock functionality: get system times or (un)schedule an alarm call. */
|
||||
/* Clock functionality: get system times, (un)schedule an alarm call, or
|
||||
* retrieve/set a process-virtual timer.
|
||||
*/
|
||||
_PROTOTYPE( int sys_times, (endpoint_t proc_nr, clock_t *user_time,
|
||||
clock_t *sys_time, clock_t *uptime));
|
||||
_PROTOTYPE(int sys_setalarm, (clock_t exp_time, int abs_time));
|
||||
_PROTOTYPE( int sys_vtimer, (endpoint_t proc_nr, int which, clock_t *newval,
|
||||
clock_t *oldval));
|
||||
|
||||
/* Shorthands for sys_irqctl() system call. */
|
||||
#define sys_irqdisable(hook_id) \
|
||||
|
||||
+3
-1
@@ -44,6 +44,8 @@ typedef unsigned long sigset_t;
|
||||
#define SIGEMT 16 /* EMT instruction */
|
||||
#define SIGCHLD 17 /* child process terminated or stopped */
|
||||
#define SIGWINCH 21 /* window size has changed */
|
||||
#define SIGVTALRM 24 /* virtual alarm */
|
||||
#define SIGPROF 25 /* profiler alarm */
|
||||
|
||||
/* POSIX requires the following signals to be defined, even if they are
|
||||
* not supported. Here are the definitions, but they are not supported.
|
||||
@@ -54,7 +56,7 @@ typedef unsigned long sigset_t;
|
||||
#define SIGTTIN 22 /* background process wants to read */
|
||||
#define SIGTTOU 23 /* background process wants to write */
|
||||
|
||||
#define _NSIG 24 /* highest signal number plus one */
|
||||
#define _NSIG 26 /* highest signal number plus one */
|
||||
|
||||
#ifdef _MINIX
|
||||
#define SIGIOT SIGABRT /* for people who speak PDP-11 */
|
||||
|
||||
Reference in New Issue
Block a user