diff --git a/include/minix/com.h b/include/minix/com.h index 62b13f967..46eaacc2f 100755 --- a/include/minix/com.h +++ b/include/minix/com.h @@ -37,6 +37,7 @@ #define IS_PROC_NR 5 /* information server */ #define TTY 6 /* terminal (TTY) driver */ #define MEMORY 8 /* memory driver (RAM disk, null, etc.) */ +#define SM_PROC_NR 3 /* system management server */ #define AT_WINI (MEMORY + ENABLE_AT_WINI) /* AT Winchester */ #define FLOPPY (AT_WINI + ENABLE_FLOPPY) /* floppy disk */ #define PRINTER (FLOPPY + ENABLE_PRINTER) /* Centronics */ @@ -46,7 +47,7 @@ /* Number of processes contained in the system image. */ #define IMAGE_SIZE (NR_TASKS + \ - 5 + ENABLE_AT_WINI + ENABLE_FLOPPY + \ + 6 + ENABLE_AT_WINI + ENABLE_FLOPPY + \ ENABLE_PRINTER + ENABLE_RTL8139 + ENABLE_FXP + 1 ) @@ -225,7 +226,7 @@ # define SYS_IOPENABLE 27 /* sys_enable_iop() */ # define SYS_SEGCTL 28 /* sys_segctl(*idx, *seg, *off, phys, size) */ -# define SYS_EXIT 29 /* sys_exit(status) */ + # define SYS_VIRCOPY 30 /* sys_vircopy(src,seg,addr,dst,seg,addr,cnt) */ # define SYS_PHYSCOPY 31 /* sys_physcopy(src_addr,dst_addr,count) */ # define SYS_VIRVCOPY 32 /* sys_virvcopy(vec_ptr, vec_size) */ @@ -274,9 +275,6 @@ #define IRQ_PROC_NR m5_i2 /* process number, SELF, NONE */ #define IRQ_HOOK_ID m5_l3 /* id of irq hook at kernel */ -/* Names of message field and paramaters for SYS_EXIT request. */ -#define EXIT_STATUS m2_i1 /* zero for normal exit, non-zero else */ - /* Field names for SYS_SEGCTL. */ #define SEG_SELECT m4_l1 /* segment selector returned */ #define SEG_OFFSET m4_l2 /* offset in segment returned */ diff --git a/include/minix/syslib.h b/include/minix/syslib.h index 9f60a3cf8..3266d855d 100755 --- a/include/minix/syslib.h +++ b/include/minix/syslib.h @@ -8,7 +8,6 @@ * Oct 10, 2004 removed sys_findproc (Jorrit N. Herder) * Sep 23, 2004 added sys_getsig (Jorrit N. Herder) * Sep 09, 2004 added sys_physcopy, sys_vircopy (Jorrit N. Herder) - * Sep 02, 2004 added sys_exit (Jorrit N. Herder) * Aug 15, 2004 added sys_getinfo (Jorrit N. Herder) * Jul 23, 2004 added sys_umap (Jorrit N. Herder) * Jul 13, 2004 added sys_enable_iop, sys_segctl (Jorrit N. Herder) @@ -51,7 +50,13 @@ _PROTOTYPE( int sys_getmap, (int proc, struct mem_map *ptr) ); _PROTOTYPE( int sys_times, (int proc_nr, clock_t *ptr) ); _PROTOTYPE( int sys_getuptime, (clock_t *ticks) ); _PROTOTYPE( int sys_trace, (int req, int proc, long addr, long *data_p) ); -_PROTOTYPE( int sys_xit, (int parent, int proc) ); + +/* A system server can directly exit itself with the sys_xit call. The + * status argument is here to resemble exit(2), but not passed to kernel. + */ +#define sys_exit(status) sys_xit(SELF) +_PROTOTYPE( int sys_xit, (int proc) ); + _PROTOTYPE( int sys_svrctl, (int proc, int req, int priv,vir_bytes argp)); @@ -124,7 +129,6 @@ _PROTOTYPE(int sys_enable_iop, (int proc_nr) ); #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) ); -_PROTOTYPE(int sys_exit, (int status) ); /* Signal control. */ diff --git a/include/minix/type.h b/include/minix/type.h index ba2e34bc5..4433f9899 100755 --- a/include/minix/type.h +++ b/include/minix/type.h @@ -58,19 +58,6 @@ typedef struct { vir_bytes iov_size; /* sizeof an I/O buffer */ } iovec_t; -typedef struct { - vir_bytes cpv_src; /* src address of data */ - vir_bytes cpv_dst; /* dst address of data */ - vir_bytes cpv_size; /* size of data */ -} cpvec_t; - -/* virtual copy vector */ -typedef struct { - int cpvv_src_seg, cpvv_dst_seg; /* src & dst segments */ - vir_bytes cpvv_src; /* src address of data */ - vir_bytes cpvv_dst; /* dst address of data */ - vir_bytes cpvv_size; /* size of data */ -} cpvvec_t; /* MM passes the address of a structure of this type to KERNEL when * do_sendsig() is invoked as part of the signal catching mechanism.