/* * $Id$ */ #ifndef _MACHINE_PARAM_H_ #define _MACHINE_PARAM_H_ /* * These aren't really machine-dependent for RTEMS..... */ /* #define MACHINE "i386" #define MID_MACHINE MID_I386 */ #include #define ALIGNBYTES _ALIGNBYTES #define ALIGN(p) _ALIGN(p) #define PAGE_SHIFT 12 /* LOG2(PAGE_SIZE) */ #define PAGE_SIZE (1<>PAGE_SHIFT) /* * btodb() is messy and perhaps slow because `bytes' may be an off_t. We * want to shift an unsigned type to avoid sign extension and we don't * want to widen `bytes' unnecessarily. Assume that the result fits in * a daddr_t. */ #define btodb(bytes) /* calculates (bytes / DEV_BSIZE) */ \ (sizeof (bytes) > sizeof(long) \ ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \ : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT)) #define dbtob(db) /* calculates (db * DEV_BSIZE) */ \ ((off_t)(db) << DEV_BSHIFT) /* * Mach derived conversion macros */ #define trunc_page(x) ((unsigned)(x) & ~PAGE_MASK) #define round_page(x) ((((unsigned)(x)) + PAGE_MASK) & ~PAGE_MASK) #define atop(x) ((unsigned)(x) >> PAGE_SHIFT) #define ptoa(x) ((unsigned)(x) << PAGE_SHIFT) #endif /* !_MACHINE_PARAM_H_ */