xref: /minix/minix/include/minix/param.h (revision 7f5f010b)
1 
2 #ifndef _MINIX_PARAM_H
3 #define _MINIX_PARAM_H 1
4 
5 #include <minix/com.h>
6 #include <minix/const.h>
7 
8 /* Number of processes contained in the system image. */
9 #define NR_BOOT_PROCS   (NR_TASKS + LAST_SPECIAL_PROC_NR + 1)
10 
11 #ifdef _MINIX_SYSTEM
12 /* This is used to obtain system information through SYS_GETINFO. */
13 #define MAXMEMMAP 40
14 typedef struct kinfo {
15         /* Straight multiboot-provided info */
16         multiboot_info_t        mbi;
17         multiboot_module_t      module_list[MULTIBOOT_MAX_MODS];
18         multiboot_memory_map_t  memmap[MAXMEMMAP]; /* free mem list */
19         phys_bytes              mem_high_phys;
20         int                     mmap_size;
21 
22         /* Multiboot-derived */
23         int                     mods_with_kernel; /* no. of mods incl kernel */
24         int                     kern_mod; /* which one is kernel */
25 
26         /* Minix stuff, started at bootstrap phase */
27         int                     freepde_start;  /* lowest pde unused kernel pde */
28         char                    param_buf[MULTIBOOT_PARAM_BUF_SIZE];
29 
30         /* Minix stuff */
31         struct kmessages *kmessages;
32         int do_serial_debug;    /* system serial output */
33         int serial_debug_baud;  /* serial baud rate */
34         int minix_panicing;     /* are we panicing? */
35         vir_bytes               user_sp; /* where does kernel want stack set */
36         vir_bytes               user_end; /* upper proc limit */
37         vir_bytes               vir_kern_start; /* kernel addrspace starts */
38         vir_bytes               bootstrap_start, bootstrap_len;
39         struct boot_image       boot_procs[NR_BOOT_PROCS];
40         int nr_procs;           /* number of user processes */
41         int nr_tasks;           /* number of kernel tasks */
42         char release[6];        /* kernel release number */
43         char version[6];        /* kernel version number */
44 	int vm_allocated_bytes; /* allocated by kernel to load vm */
45 	int kernel_allocated_bytes;		/* used by kernel */
46 	int kernel_allocated_bytes_dynamic;	/* used by kernel (runtime) */
47 } kinfo_t;
48 #endif /* _MINIX_SYSTEM */
49 
50 #endif
51