1433d6423SLionel Sambuc /* The object file of "table.c" contains most kernel data. Variables that 2433d6423SLionel Sambuc * are declared in the *.h files appear with EXTERN in front of them, as in 3433d6423SLionel Sambuc * 4433d6423SLionel Sambuc * EXTERN int x; 5433d6423SLionel Sambuc * 6433d6423SLionel Sambuc * Normally EXTERN is defined as extern, so when they are included in another 7433d6423SLionel Sambuc * file, no storage is allocated. If EXTERN were not present, but just say, 8433d6423SLionel Sambuc * 9433d6423SLionel Sambuc * int x; 10433d6423SLionel Sambuc * 11433d6423SLionel Sambuc * then including this file in several source files would cause 'x' to be 12433d6423SLionel Sambuc * declared several times. While some linkers accept this, others do not, 13433d6423SLionel Sambuc * so they are declared extern when included normally. However, it must be 14433d6423SLionel Sambuc * declared for real somewhere. That is done here, by redefining EXTERN as 15433d6423SLionel Sambuc * the null string, so that inclusion of all *.h files in table.c actually 16433d6423SLionel Sambuc * generates storage for them. 17433d6423SLionel Sambuc * 18433d6423SLionel Sambuc * Various variables could not be declared EXTERN, but are declared PUBLIC 19433d6423SLionel Sambuc * or PRIVATE. The reason for this is that extern variables cannot have a 20433d6423SLionel Sambuc * default initialization. If such variables are shared, they must also be 21433d6423SLionel Sambuc * declared in one of the *.h files without the initialization. Examples 22433d6423SLionel Sambuc * include 'boot_image' (this file) and 'idt' and 'gdt' (protect.c). 23433d6423SLionel Sambuc * 24433d6423SLionel Sambuc * Changes: 25433d6423SLionel Sambuc * Nov 22, 2009 rewrite of privilege management (Cristiano Giuffrida) 26433d6423SLionel Sambuc * Aug 02, 2005 set privileges and minimal boot image (Jorrit N. Herder) 27433d6423SLionel Sambuc * Oct 17, 2004 updated above and tasktab comments (Jorrit N. Herder) 28433d6423SLionel Sambuc * May 01, 2004 changed struct for system image (Jorrit N. Herder) 29433d6423SLionel Sambuc */ 30433d6423SLionel Sambuc #define _TABLE 31433d6423SLionel Sambuc 32433d6423SLionel Sambuc #include "kernel/kernel.h" 33433d6423SLionel Sambuc 34433d6423SLionel Sambuc /* The system image table lists all programs that are part of the boot image. 35433d6423SLionel Sambuc * The order of the entries here MUST agree with the order of the programs 36433d6423SLionel Sambuc * in the boot image and all kernel tasks must come first. 37433d6423SLionel Sambuc * The order of the entries here matches the priority NOTIFY messages are 38433d6423SLionel Sambuc * delivered to a given process. NOTIFY messages are always delivered with 39433d6423SLionel Sambuc * the highest priority. DS must be the first system process in the list to 40433d6423SLionel Sambuc * allow reliable asynchronous publishing of system events. RS comes right after 41433d6423SLionel Sambuc * to prioritize ping messages periodically delivered to system processes. 42433d6423SLionel Sambuc */ 43433d6423SLionel Sambuc 44433d6423SLionel Sambuc struct boot_image image[NR_BOOT_PROCS] = { 45*e4e21ee1SDavid van Moolenbroek /* process nr, name */ 46433d6423SLionel Sambuc {ASYNCM, "asyncm"}, 47433d6423SLionel Sambuc {IDLE, "idle" }, 48433d6423SLionel Sambuc {CLOCK, "clock" }, 49433d6423SLionel Sambuc {SYSTEM, "system"}, 50433d6423SLionel Sambuc {HARDWARE, "kernel"}, 51433d6423SLionel Sambuc 52433d6423SLionel Sambuc {DS_PROC_NR, "ds" }, 53433d6423SLionel Sambuc {RS_PROC_NR, "rs" }, 54433d6423SLionel Sambuc 55433d6423SLionel Sambuc {PM_PROC_NR, "pm" }, 56433d6423SLionel Sambuc {SCHED_PROC_NR, "sched" }, 57433d6423SLionel Sambuc {VFS_PROC_NR, "vfs" }, 58433d6423SLionel Sambuc {MEM_PROC_NR, "memory"}, 59433d6423SLionel Sambuc {TTY_PROC_NR, "tty" }, 60*e4e21ee1SDavid van Moolenbroek {MIB_PROC_NR, "mib" }, 61433d6423SLionel Sambuc {VM_PROC_NR, "vm" }, 62433d6423SLionel Sambuc {PFS_PROC_NR, "pfs" }, 63*e4e21ee1SDavid van Moolenbroek {MFS_PROC_NR, "mfs" }, 64433d6423SLionel Sambuc {INIT_PROC_NR, "init" }, 65433d6423SLionel Sambuc }; 66433d6423SLionel Sambuc 67