Change allowed kernel call bitmap to an array of bitmaps to allow

any number of kernel calls.

Allowed kernel calls are stored in table.c for every image process as a
variably-sized array of allowed calls. This is used to fill the bitmap
of size determined at compile time by the number of kernel calls. This
filling is done by main.c. There is a special call called SYS_ALL_CALLS
which fills the bitmap of allowed calls completely, if that is the only
entry in the array.
This commit is contained in:
Ben Gras
2006-06-20 09:56:06 +00:00
parent eecb40cf21
commit 2e89eb5270
4 changed files with 66 additions and 28 deletions

View File

@@ -1,6 +1,8 @@
#ifndef TYPE_H
#define TYPE_H
#include <minix/com.h>
typedef _PROTOTYPE( void task_t, (void) );
/* Process table and system property related types. */
@@ -19,9 +21,10 @@ struct boot_image {
int stksize; /* stack size for tasks */
short trap_mask; /* allowed system call traps */
bitchunk_t ipc_to; /* send mask protection */
long call_mask; /* system call protection */
int *k_calls; /* kern. call protection */
int nr_k_calls;
char proc_name[P_NAME_LEN]; /* name in process table */
int endpoint; /* endpoint number when started */
endpoint_t endpoint; /* endpoint number when started */
};
struct memory {