Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / minix / param.h @ 13

History | View | Annotate | Download (2.05 KB)

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