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