lib: Make log2() available in romstage on ARM, not just x86
On x86, log2() is defined as an inline function in arch/io.h. This is a remnant of ROMCC, and forced us to not include clog2.c in romstage. As a result, romstage on ARM has no log2(). Use the inline log2 only with ROMCC, but otherwise, use the one in clog2.c. Change-Id: Ifef2aa0a7b5a1db071a66f2eec0be421b8b2a56d Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/4681 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
@@ -167,7 +167,8 @@ static inline __attribute__((always_inline)) void write32(unsigned long addr, ui
|
||||
*((volatile uint32_t *)(addr)) = value;
|
||||
}
|
||||
|
||||
#if defined(__PRE_RAM__) || defined(__SMM__)
|
||||
/* Conflicts with definition in lib.h */
|
||||
#if defined(__ROMCC__) || defined(__SMM__)
|
||||
static inline int log2(int value)
|
||||
{
|
||||
unsigned int r = 0;
|
||||
@@ -180,6 +181,9 @@ static inline int log2(int value)
|
||||
return r;
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__PRE_RAM__) || defined(__SMM__)
|
||||
static inline int log2f(int value)
|
||||
{
|
||||
unsigned int r = 0;
|
||||
|
Reference in New Issue
Block a user