diff options
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r-- | sys/arch/i386/include/_types.h | 16 | ||||
-rw-r--r-- | sys/arch/i386/include/param.h | 18 |
2 files changed, 19 insertions, 15 deletions
diff --git a/sys/arch/i386/include/_types.h b/sys/arch/i386/include/_types.h index be5c6cfc317..7cd81c4a218 100644 --- a/sys/arch/i386/include/_types.h +++ b/sys/arch/i386/include/_types.h @@ -1,4 +1,4 @@ -/* $OpenBSD: _types.h,v 1.12 2011/09/08 02:47:13 guenther Exp $ */ +/* $OpenBSD: _types.h,v 1.13 2011/09/08 03:40:32 guenther Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -35,6 +35,20 @@ #ifndef _MACHINE__TYPES_H_ #define _MACHINE__TYPES_H_ +/* + * _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned + * value for all data types (int, long, ...). The result is an + * unsigned long and must be cast to any desired pointer type. + * + * _ALIGNED_POINTER is a boolean macro that checks whether an address + * is valid to fetch data elements of type t from on this architecture. + * This does not reflect the optimal alignment, just the possibility + * (within reasonable limits). + */ +#define _ALIGNBYTES (sizeof(int) - 1) +#define _ALIGN(p) (((unsigned long)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) +#define _ALIGNED_POINTER(p,t) 1 + #if defined(_KERNEL) typedef struct label_t { int val[6]; diff --git a/sys/arch/i386/include/param.h b/sys/arch/i386/include/param.h index d243514739b..6c6a81e70cc 100644 --- a/sys/arch/i386/include/param.h +++ b/sys/arch/i386/include/param.h @@ -1,4 +1,4 @@ -/* $OpenBSD: param.h,v 1.43 2011/04/07 15:45:17 miod Exp $ */ +/* $OpenBSD: param.h,v 1.44 2011/09/08 03:40:32 guenther Exp $ */ /* $NetBSD: param.h,v 1.29 1996/03/04 05:04:26 cgd Exp $ */ /*- @@ -53,19 +53,9 @@ #define MACHINE_ARCH "i386" #define MID_MACHINE MID_I386 -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_long and - * must be cast to any desired pointer type. - * - * ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - */ -#define ALIGNBYTES (sizeof(int) - 1) -#define ALIGN(p) (((u_long)(p) + ALIGNBYTES) &~ ALIGNBYTES) -#define ALIGNED_POINTER(p,t) 1 +#define ALIGNBYTES _ALIGNBYTES +#define ALIGN(p) _ALIGN(p) +#define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t) #define PGSHIFT 12 /* LOG2(NBPG) */ #define NBPG (1 << PGSHIFT) /* bytes/page */ |