Author: afaerber Date: Sun Oct 24 20:55:59 2010 New Revision: 917 URL: http://tracker.coreboot.org/trac/openbios/changeset/917
Log: Move cell2pointer and pointer2cell macros
These will be needed elsewhere for ppc64.
Cc: Blue Swirl blauwirbel@gmail.com Signed-off-by: Andreas Färber andreas.faerber@web.de
Modified: trunk/openbios-devel/include/kernel/stack.h trunk/openbios-devel/kernel/cross.h
Modified: trunk/openbios-devel/include/kernel/stack.h ============================================================================== --- trunk/openbios-devel/include/kernel/stack.h Sun Oct 24 20:48:18 2010 (r916) +++ trunk/openbios-devel/include/kernel/stack.h Sun Oct 24 20:55:59 2010 (r917) @@ -30,6 +30,18 @@
+#ifdef NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH +#define pointer2cell(x) ((ucell)(x)) +#define cell2pointer(x) ((u8 *)(x)) +#endif +#ifdef NATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH +#define pointer2cell(x) ((ucell)(((unsigned long)(x))-base_address)) +#define cell2pointer(x) ((u8 *)(((unsigned long)(x))+base_address)) +#endif +#ifdef NATIVE_BITWIDTH_LARGER_THAN_HOST_BITWIDTH +#define pointer2cell(x) ((ucell)(unsigned long)(x)) +#define cell2pointer(x) ((u8 *)((unsigned long)(x)&0xFFFFFFFFUL)) +#endif
static inline void PUSH(ucell value) { dstack[++dstackcnt] = (value);
Modified: trunk/openbios-devel/kernel/cross.h ============================================================================== --- trunk/openbios-devel/kernel/cross.h Sun Oct 24 20:48:18 2010 (r916) +++ trunk/openbios-devel/kernel/cross.h Sun Oct 24 20:55:59 2010 (r917) @@ -103,8 +103,6 @@ /* bit width handling */
#ifdef NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -#define pointer2cell(x) ((ucell)(x)) -#define cell2pointer(x) ((u8 *)(x)) #if BITS==32 #define FMT_CELL_x "x" #define FMT_CELL_d "d" @@ -116,15 +114,11 @@
#ifdef NATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH extern unsigned long base_address; -#define pointer2cell(x) ((ucell)(((unsigned long)(x))-base_address)) -#define cell2pointer(x) ((u8 *)(((unsigned long)(x))+base_address)) #define FMT_CELL_x "x" #define FMT_CELL_d "d" #endif
#ifdef NATIVE_BITWIDTH_LARGER_THAN_HOST_BITWIDTH -#define pointer2cell(x) ((ucell)(unsigned long)(x)) -#define cell2pointer(x) ((u8 *)((unsigned long)(x)&0xFFFFFFFFUL)) #define FMT_CELL_x "llx" #define FMT_CELL_d "lld" #endif