1 /* General macros and constants used by the kernel. */
5 #include <minix/config.h>
6 #include <minix/bitmap.h>
10 /* Translate an endpoint number to a process number, return success. */
12 #define isokendpt(e,p) isokendpt_d((e),(p),0)
13 #define okendpt(e,p) isokendpt_d((e),(p),1)
16 /* Constants used in virtual_copy(). Values must be 0 and 1, respectively. */
20 #define get_sys_bit(map,bit) \
21 ( MAP_CHUNK((map).chunk,bit) & (1 << CHUNK_OFFSET(bit) ))
22 #define get_sys_bits(map,bit) \
23 ( MAP_CHUNK((map).chunk,bit) )
24 #define set_sys_bit(map,bit) \
25 ( MAP_CHUNK((map).chunk,bit) |= (1 << CHUNK_OFFSET(bit) ))
26 #define unset_sys_bit(map,bit) \
27 ( MAP_CHUNK((map).chunk,bit) &= ~(1 << CHUNK_OFFSET(bit) ))
30 #define END_OF_KMESS 0
35 #define USR_DATATOP 0xF0000000
37 #define USR_DATATOP 0xE0000000 /* TODO: is this necessary? */
42 #define USR_STACKTOP USR_DATATOP
45 #ifndef USR_DATATOP_COMPACT
46 #define USR_DATATOP_COMPACT USR_DATATOP
49 #ifndef USR_STACKTOP_COMPACT
50 #define USR_STACKTOP_COMPACT 0x50000000