Added new signal types for kernel events:

- SIGKMESS: new kernel message (sent to TTY, IS, or LOG)
- SIGKSTOP: MINIX is shut down (sent to TTY-> switch to primary console)
- SIGKSIG: kernel signals pending (sent to PM)

Renamed SYS_SETPRIORITY to SYS_NICE.
This commit is contained in:
Jorrit Herder
2005-07-19 12:24:51 +00:00
parent 198c976f7e
commit 0129d98ae1
8 changed files with 35 additions and 29 deletions

View File

@@ -64,12 +64,11 @@
* offset are used for the per-process notification bit maps.
*/
#define NOTIFY_FROM(p_nr) (0x1000 | ((p_nr) + NR_TASKS))
# define SYN_ALARM NOTIFY_FROM(CLOCK) /* synchronous alarm */
# define KSIG_PENDING NOTIFY_FROM(SYSTEM) /* pending signal(s) */
# define HARD_INT NOTIFY_FROM(HARDWARE) /* hardware interrupt */
# define NEW_KMESS NOTIFY_FROM(SYSTEM) /* new kernel message */
# define NEW_KSIG NOTIFY_FROM(HARDWARE) /* new kernel signal */
# define FKEY_PRESSED NOTIFY_FROM(TTY) /* function key press */
# define SYN_ALARM NOTIFY_FROM(CLOCK) /* synchronous alarm */
# define SYS_EVENT NOTIFY_FROM(SYSTEM) /* signal system event */
# define HARD_INT NOTIFY_FROM(HARDWARE) /* hardware interrupt */
# define NEW_KSIG NOTIFY_FROM(HARDWARE) /* new kernel signal */
# define FKEY_PRESSED NOTIFY_FROM(TTY) /* function key press */
#define NOTIFICATION 0x800 /* flag for notifications */
# define HARD_STOP (NOTIFICATION | 4) /* system shutdown */
@@ -239,7 +238,7 @@
# define SYS_PHYSCOPY 31 /* sys_physcopy(src_addr,dst_addr,count) */
# define SYS_VIRVCOPY 32 /* sys_virvcopy(vec_ptr, vec_size) */
# define SYS_MEMSET 33 /* sys_memset(char, addr, count) */
# define SYS_SETPRIORITY 34 /* sys_setpriority(who,prio) */
# define SYS_NICE 34 /* sys_nice(who,prio) */
#define NR_SYS_CALLS 35 /* number of system calls */
/* Field names for SYS_MEMSET, SYS_SEGCTL. */
@@ -344,8 +343,8 @@
#define I_PROC_NR m7_i4 /* calling process */
#define I_VAL_PTR m7_p1 /* virtual address at caller */
#define I_VAL_LEN m7_i1 /* max length of value */
#define I_KEY_PTR m7_p2 /* virtual address of key to lookup */
#define I_KEY_LEN m7_i2 /* length of key to lookup */
#define I_VAL_PTR2 m7_p2 /* second virtual address */
#define I_VAL_LEN2 m7_i2 /* second length, or proc nr */
/* Field names for SYS_TIMES. */
#define T_PROC_NR m4_l1 /* process to request time info for */

View File

@@ -56,8 +56,6 @@
/* Defines for driver and kernel configuration. */
#define AUTO_BIOS 0 /* xt_wini.c - use Western's autoconfig BIOS */
#define LINEWRAP 1 /* console.c - wrap lines at column 80 */
#define ALLOW_GAP_MESSAGES 1 /* proc.c - allow messages in the gap between
* the end of bss and lowest stack address */
/* Number of controller tasks (/dev/cN device classes). */
#define NR_CTRLRS 2

View File

@@ -31,7 +31,7 @@ _PROTOTYPE( int sys_exit, (int proc) );
_PROTOTYPE( int sys_trace, (int req, int proc, long addr, long *data_p) );
_PROTOTYPE( int sys_svrctl, (int proc, int req, int priv,vir_bytes argp));
_PROTOTYPE( int sys_setpriority, (int proc, int prio) );
_PROTOTYPE( int sys_nice, (int proc, int prio) );
/* Shorthands for sys_sdevio() system call. */
@@ -102,7 +102,7 @@ _PROTOTYPE(int sys_segctl, (int *index, u16_t *seg, vir_bytes *off,
#define sys_getschedinfo(v1,v2) sys_getinfo(GET_SCHEDINFO, v1,0, v2,0)
#define sys_getlocktimings(dst) sys_getinfo(GET_LOCKTIMING, dst, 0,0,0)
_PROTOTYPE(int sys_getinfo, (int request, void *val_ptr, int val_len,
void *key_ptr, int key_len) );
void *val_ptr2, int val_len2) );
/* Signal control. */
_PROTOTYPE(int sys_kill, (int proc, int sig) );

View File

@@ -25,7 +25,7 @@ typedef unsigned long sigset_t;
#endif
#endif
#define _NSIG 17 /* number of signals used */
#define _NSIG 20 /* number of signals used */
#define SIGHUP 1 /* hangup */
#define SIGINT 2 /* interrupt (DEL) */
@@ -48,6 +48,13 @@ typedef unsigned long sigset_t;
#define SIGEMT 7 /* obsolete */
#define SIGBUS 10 /* obsolete */
/* MINIX specific signals. These signals are not used by user proceses,
* but meant to inform system processes, like the PM, about system events.
*/
#define SIGKMESS 18 /* new kernel message */
#define SIGKSIG 19 /* kernel signal pending */
#define SIGKSTOP 20 /* kernel shutting down */
/* POSIX requires the following signals to be defined, even if they are
* not supported. Here are the definitions, but they are not supported.
*/
@@ -57,6 +64,7 @@ typedef unsigned long sigset_t;
#define SIGTTIN 21 /* background process wants to read */
#define SIGTTOU 22 /* background process wants to write */
/* The sighandler_t type is not allowed unless _POSIX_SOURCE is defined. */
typedef void _PROTOTYPE( (*__sighandler_t), (int) );
@@ -66,6 +74,7 @@ typedef void _PROTOTYPE( (*__sighandler_t), (int) );
#define SIG_IGN ((__sighandler_t) 1) /* ignore signal */
#define SIG_HOLD ((__sighandler_t) 2) /* block signal */
#define SIG_CATCH ((__sighandler_t) 3) /* catch signal */
#define SIG_MESS ((__sighandler_t) 4) /* pass as message (MINIX) */
#ifdef _POSIX_SOURCE
struct sigaction {