GSoC/Buflib: Add buflib memory alocator to the core.
commitd0b72e25903574acb1cf9184a6052cdd646dbc37
authorThomas Martitz <kugel@rockbox.org>
Tue, 30 Aug 2011 14:01:33 +0000 (30 14:01 +0000)
committerThomas Martitz <kugel@rockbox.org>
Tue, 30 Aug 2011 14:01:33 +0000 (30 14:01 +0000)
tree5be8db5ee00b2a727e4821cf51a5f7bcf3991073
parentc940811ade7d99a0e0d414df7c6509672413684a
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.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
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