00001
00002 #ifndef CONST_H
00003 #define CONST_H
00004
00005 #include <minix/config.h>
00006 #include <minix/bitmap.h>
00007
00008 #include "config.h"
00009 #include "debug.h"
00010
00011
00012 #define isokendpt(e,p) isokendpt_d((e),(p),0)
00013 #define okendpt(e,p) isokendpt_d((e),(p),1)
00014
00015
00016 #define _SRC_ 0
00017 #define _DST_ 1
00018
00019 #define get_sys_bit(map,bit) \
00020 ( MAP_CHUNK(map.chunk,bit) & (1 << CHUNK_OFFSET(bit) )
00021 #define get_sys_bits(map,bit) \
00022 ( MAP_CHUNK(map.chunk,bit) )
00023 #define set_sys_bit(map,bit) \
00024 ( MAP_CHUNK(map.chunk,bit) |= (1 << CHUNK_OFFSET(bit) )
00025 #define unset_sys_bit(map,bit) \
00026 ( MAP_CHUNK(map.chunk,bit) &= ~(1 << CHUNK_OFFSET(bit) )
00027
00028 #define reallock do { int d; d = intr_disabled(); intr_disable(); locklevel++; if(d && locklevel == 1) { minix_panic("reallock while interrupts disabled first time", __LINE__); } } while(0)
00029
00030 #define realunlock do { if(!intr_disabled()) { minix_panic("realunlock while interrupts enabled", __LINE__); } if(locklevel < 1) { minix_panic("realunlock while locklevel below 1", __LINE__); } locklevel--; if(locklevel == 0) { intr_enable(); } } while(0)
00031
00032
00033
00034
00035 #define lock reallock
00036 #define unlock realunlock
00037
00038 #ifdef CONFIG_IDLE_TSC
00039 #define IDLE_STOP if(idle_active) { read_tsc_64(&idle_stop); idle_active = 0; }
00040 #else
00041 #define IDLE_STOP
00042 #endif
00043
00044
00045 #define INTS_ORIG 0
00046 #define INTS_MINIX 1
00047
00048
00049 #define END_OF_KMESS 0
00050
00051 #endif