Updated memory allocator to improve support for unaligned or partially

aligned blocks.

Moved header to include/malloc.h, since we now also provide the
POSIX-like malloc()/free() pair.

Not yet tested.
This commit is contained in:
Michael Brown
2006-04-25 03:30:46 +00:00
parent 2f0d412210
commit b601a7d355
3 changed files with 227 additions and 157 deletions

View File

@@ -1,36 +0,0 @@
#ifndef _GPXE_MALLOC_H
#define _GPXE_MALLOC_H
#include <stdint.h>
/** @file
*
* Memory allocation
*
*/
extern void * gmalloc ( size_t size );
extern void gfree ( void *ptr, size_t size );
extern void gmpopulate ( void *start, size_t len );
/**
* Allocate cleared memory
*
* @v size Requested size
* @ret ptr Allocated memory
*
* Allocate memory as per gmalloc(), and zero it.
*
* Note that gmalloc() and gcalloc() are identical, in the interests
* of reducing code size. Callers should not, however, rely on
* gmalloc() clearing memory, since this behaviour may change in
* future.
*/
static inline void * gcalloc ( size_t size ) {
return gmalloc ( size );
}
/* Debug function; not compiled in by default */
void gdumpfree ( void );
#endif /* _GPXE_MALLOC_H */