[OpenBIOS] [commit] r951 - in trunk/openbios-devel: include/kernel kernel
repository service
svn at openbios.org
Tue Nov 9 23:50:49 CET 2010
Author: afaerber
Date: Tue Nov 9 23:50:48 2010
New Revision: 951
URL: http://tracker.coreboot.org/trac/openbios/changeset/951
Log:
Convert cell2pointer() and pointer2cell() macros to inline functions
Inline functions suggested by Blue.
Use const void* for pointer2cell() due to const char* arguments.
Fix a misuse of pointer2cell().
Drop comment on reusing different host bitness code path;
any special handling for different target bitnesses should go
into these new functions.
v2:
* Use QEMU-style indentation for new inline functions.
Cc: Blue Swirl <blauwirbel at gmail.com>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
Modified:
trunk/openbios-devel/include/kernel/stack.h
trunk/openbios-devel/kernel/internal.c
Modified: trunk/openbios-devel/include/kernel/stack.h
==============================================================================
--- trunk/openbios-devel/include/kernel/stack.h Tue Nov 9 21:12:35 2010 (r950)
+++ trunk/openbios-devel/include/kernel/stack.h Tue Nov 9 23:50:48 2010 (r951)
@@ -31,9 +31,17 @@
#ifdef NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH
-// XXX Check whether we can take the larger-than code path for ppc64 instead.
-#define pointer2cell(x) ((ucell)(uintptr_t)(x))
-#define cell2pointer(x) ((u8 *)(uintptr_t)(x))
+
+static inline ucell pointer2cell(const void* x)
+{
+ return (ucell)(uintptr_t)x;
+}
+
+static inline void* cell2pointer(ucell x)
+{
+ return (void*)(uintptr_t)x;
+}
+
#endif
static inline void PUSH(ucell value) {
Modified: trunk/openbios-devel/kernel/internal.c
==============================================================================
--- trunk/openbios-devel/kernel/internal.c Tue Nov 9 21:12:35 2010 (r950)
+++ trunk/openbios-devel/kernel/internal.c Tue Nov 9 23:50:48 2010 (r951)
@@ -645,7 +645,7 @@
case 'F':
/* Start subordinate Forth interpreter */
PUSHR(PC - sizeof(cell));
- PC = pointer2cell(findword("outer-interpreter")) + sizeof(ucell);
+ PC = findword("outer-interpreter") + sizeof(ucell);
/* Save rstack position for when we return */
dbgrstackcnt = rstackcnt;
More information about the OpenBIOS
mailing list