GSoC/Buflib: Add buflib memory alocator to the core.
commitb0df565e0e4e90bbe6822306b28e3ea737f0ce94
authorThomas Martitz <kugel@rockbox.org>
Mon, 15 Aug 2011 15:44:38 +0000 (15 17:44 +0200)
committerThomas Martitz <kugel@rockbox.org>
Mon, 15 Aug 2011 15:44:38 +0000 (15 17:44 +0200)
tree60d0a858365c54fb62f18bfd7f382b817dc52dc5
parent491df5dbb4f0fc46fa98f2f1b87f0dda9c0bc73f
GSoC/Buflib: Add buflib memory alocator to the core.

The buflib memory allocator is handle based and can free and
compact, move or resize memory on demand. This allows to effeciently
allocate memory dynamically without an MMU, by avoiding fragmentation
through memory compaction.

This patch adds the buflib library to the core, along with
convinience wrappers to omit the context parameter. Compaction is
not yet enabled, but will be in a later patch. Therefore, this acts as a
replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug
menu.

See buflib.h for some API documentation.
26 files changed:
apps/debug_menu.c
apps/dsp.c
apps/filetypes.c
apps/gui/skin_engine/skin_engine.c
apps/main.c
apps/menus/main_menu.c
apps/mpeg.c
apps/playback.c
apps/playlist.c
apps/playlist.h
apps/scrobbler.c
apps/tagcache.c
apps/tagtree.c
apps/talk.c
apps/tdspeed.c
apps/tree.c
firmware/SOURCES
firmware/buflib.c [new file with mode: 0644]
firmware/common/dircache.c
firmware/core_alloc.c [new file with mode: 0644]
firmware/export/audio.h
firmware/include/buflib.h [new file with mode: 0644]
firmware/include/core_alloc.h [new file with mode: 0644]
firmware/rolo.c
firmware/target/arm/ata-nand-telechips.c
firmware/target/arm/tms320dm320/creative-zvm/ata-creativezvm.c