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
This commit is contained in:
Patrick Georgi
2009-05-21 10:02:52 +00:00
parent 1e6f6929c1
commit d385ed29b9
34 changed files with 1058 additions and 27 deletions

View File

@ -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);
}