diff options
author | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-05-21 10:02:52 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-05-21 10:02:52 +0000 |
commit | d385ed29b94af71dedeb5f44d72ad8dab43c4664 (patch) | |
tree | 6eea529dc55d67078ac9fc0fbf271189318c4a12 /payloads/libpayload/libc | |
parent | 1e6f6929c1ee96b291ef17e8d801f376a5dbb0d2 (diff) |
This change adds PPC support to libpayload, and hooks it up in the build
process.
The PPC support is still stubbed, with commented out x86 code as guide
line for an implementor.
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4293 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/libc')
-rw-r--r-- | payloads/libpayload/libc/malloc.c | 16 | ||||
-rw-r--r-- | payloads/libpayload/libc/time.c | 12 |
2 files changed, 23 insertions, 5 deletions
diff --git a/payloads/libpayload/libc/malloc.c b/payloads/libpayload/libc/malloc.c index 24daf0e680..d18b289adf 100644 --- a/payloads/libpayload/libc/malloc.c +++ b/payloads/libpayload/libc/malloc.c @@ -103,16 +103,22 @@ static void *alloc(int len) void *nptr = ptr + (HDRSIZE + len); int nsize = size - (HDRSIZE + len); - /* Mark the block as used. */ - *((hdrtype_t *) ptr) = USED_BLOCK(len); - /* If there is still room in this block, - * then mark it as such. + * then mark it as such otherwise account + * the whole space for that block. */ - if (nsize > 0) + if (nsize > 0) { + /* Mark the block as used. */ + *((hdrtype_t *) ptr) = USED_BLOCK(len); + + /* Create a new free block. */ *((hdrtype_t *) nptr) = FREE_BLOCK(nsize); + } else { + /* Mark the block as used. */ + *((hdrtype_t *) ptr) = USED_BLOCK(size); + } return (void *)(ptr + HDRSIZE); } diff --git a/payloads/libpayload/libc/time.c b/payloads/libpayload/libc/time.c index 2d19bd173f..67675623a4 100644 --- a/payloads/libpayload/libc/time.c +++ b/payloads/libpayload/libc/time.c @@ -34,7 +34,9 @@ #include <libpayload-config.h> #include <libpayload.h> +#ifdef CONFIG_TARGET_I386 #include <arch/rdtsc.h> +#endif extern u32 cpu_khz; @@ -47,6 +49,7 @@ static struct { #define TICKS_PER_SEC (cpu_khz * 1000) #define TICKS_PER_USEC (cpu_khz / 1000) +#ifdef CONFIG_TARGET_I386 static void update_clock(void) { u64 delta = rdtsc() - clock.ticks; @@ -114,7 +117,16 @@ static void gettimeofday_init(void) clock.ticks = rdtsc(); } #endif +#endif +#ifdef CONFIG_TARGET_POWERPC +static void update_clock(void) +{ +} +static void gettimeofday_init(void) +{ +} +#endif /** * Return the current time broken into a timeval structure. * |