Created
October 22, 2009 22:57
-
-
Save mhansen/216432 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- oldsrc/kernel/table.c 2009-10-22 18:23:54.714684100 +1300 | |
| +++ src/kernel/table.c 2009-10-22 18:00:38.046799300 +1300 | |
| @@ -81,61 +81,63 @@ | |
| #define FS_C SYS_KILL, SYS_VIRCOPY, SYS_SAFECOPYFROM, SYS_SAFECOPYTO, \ | |
| SYS_VIRVCOPY, SYS_UMAP, SYS_GETINFO, SYS_EXIT, SYS_TIMES, SYS_SETALARM, \ | |
| SYS_PRIVCTL, SYS_TRACE , SYS_SETGRANT, SYS_PROFBUF, SYS_SYSCTL | |
| #define DRV_C FS_C, SYS_SEGCTL, SYS_IRQCTL, SYS_INT86, SYS_DEVIO, \ | |
| SYS_SDEVIO, SYS_VDEVIO, SYS_SETGRANT, SYS_PROFBUF, SYS_SYSCTL | |
| PRIVATE int | |
| fs_c[] = { FS_C }, | |
| pm_c[] = { SYS_ALL_CALLS }, | |
| rs_c[] = { SYS_ALL_CALLS }, | |
| ds_c[] = { SYS_ALL_CALLS }, | |
| vm_c[] = { SYS_ALL_CALLS }, | |
| drv_c[] = { DRV_C }, | |
| tty_c[] = { DRV_C, SYS_PHYSCOPY, SYS_ABORT, SYS_IOPENABLE, | |
| SYS_READBIOS }, | |
| mem_c[] = { DRV_C, SYS_PHYSCOPY, SYS_PHYSVCOPY, SYS_IOPENABLE }; | |
| /* The system image table lists all programs that are part of the boot image. | |
| * The order of the entries here MUST agree with the order of the programs | |
| * in the boot image and all kernel tasks must come first. Furthermore, the | |
| * order of the entries MUST agree with their process numbers. See above. | |
| * | |
| * Each entry provides the process number, flags, quantum size, scheduling | |
| * queue, allowed traps, ipc mask, and a name for the process table. The | |
| * initial program counter and stack size is also provided for kernel tasks. | |
| * | |
| * Note: the quantum size must be positive in all cases! | |
| */ | |
| #define c(calls) calls, (sizeof(calls) / sizeof((calls)[0])) | |
| #define no_c { 0 }, 0 | |
| +#define proc_c c(mem_c) | |
| PUBLIC struct boot_image image[] = { | |
| /* process nr, pc,flags, qs, queue, stack, traps, ipcto, call, name */ | |
| {IDLE, idle_task,IDL_F, 8, IDLE_Q, IDL_S, 0, 0, no_c,"idle" }, | |
| {CLOCK,clock_task,TSK_F, 8, TASK_Q, TSK_S, TSK_T, 0, no_c,"clock" }, | |
| {SYSTEM, sys_task,TSK_F, 8, TASK_Q, TSK_S, TSK_T, 0, no_c,"system"}, | |
| {HARDWARE, 0,TSK_F, 8, TASK_Q, HRD_S, 0, 0, no_c,"kernel"}, | |
| {PM_PROC_NR, 0,SVM_F, 32, 4, 0, SRV_T, SRV_M, c(pm_c),"pm" }, | |
| {FS_PROC_NR, 0,SVM_F, 32, 5, 0, SRV_T, SRV_M, c(fs_c),"vfs" }, | |
| {RS_PROC_NR, 0,SVM_F, 4, 4, 0, SRV_T, SYS_M, c(rs_c),"rs" }, | |
| -{MEM_PROC_NR, 0,SVM_F, 4, 3, 0, SRV_T, SYS_M,c(mem_c),"memory"}, | |
| +{MEM_PROC_NR, 0,SVM_F, 4, 3, 0, SRV_T, SYS_M,c(mem_c),"memory"}, | |
| {LOG_PROC_NR, 0,SVM_F, 4, 2, 0, SRV_T, SYS_M,c(drv_c),"log" }, | |
| {TTY_PROC_NR, 0,SVM_F, 4, 1, 0, SRV_T, SYS_M,c(tty_c),"tty" }, | |
| {DS_PROC_NR, 0,SVM_F, 4, 4, 0, SRV_T, SYS_M, c(ds_c),"ds" }, | |
| {MFS_PROC_NR, 0,SVM_F, 32, 5, 0, SRV_T, SRV_M, c(fs_c),"mfs" }, | |
| {VM_PROC_NR, 0,SRV_F, 32, 2, 0, SRV_T, SRV_M, c(vm_c),"vm" }, | |
| +{PROC_PROC_NR, 0,SVM_F, 4, 3, 0, SRV_T, SYS_M,proc_c,"proc"}, | |
| {INIT_PROC_NR, 0,USR_F, 8, USER_Q, 0, USR_T, USR_M, no_c,"init" }, | |
| }; | |
| /* Verify the size of the system image table at compile time. Also verify that | |
| * the first chunk of the ipc mask has enough bits to accommodate the processes | |
| * in the image. | |
| * If a problem is detected, the size of the 'dummy' array will be negative, | |
| * causing a compile time error. Note that no space is actually allocated | |
| * because 'dummy' is declared extern. | |
| */ | |
| extern int dummy[(NR_BOOT_PROCS==sizeof(image)/ | |
| sizeof(struct boot_image))?1:-1]; | |
| extern int dummy[(BITCHUNK_BITS > NR_BOOT_PROCS - 1) ? 1 : -1]; | |
| PUBLIC endpoint_t ipc_stats_target= NONE; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment