Conventions :
* Public headers :
memory.h,config.h,defines.h,inlines.h,types.h,functions.h
* Private headers :
memory-page.h,memory-slab.h (here you can find
prototypes functions or structures we want to share
only between memory-page.c, memory-slab.c,
memory-block.c, memory-misc.c).
* Public or private codes in :
memory-page.c,memory-slab.c,memory-block.c,memory-misc.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@126 a1c6a512-1295-4272-9138-f99709370657
* now we have seperate private headers files
containing private and static or public functions
in memory-* files.
* there is only one .c file of the same name the library.
Zagor: because now there is only one .c file, you could only have a .o file and use it instead of the .a libfile.
* most structures and codes are now private.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@113 a1c6a512-1295-4272-9138-f99709370657
* now we have seperate private headers files
containing private and static or public functions
in memory-* files.
* there is only one .c file of the same name the library.
Zagor: because now there is only one .c file, you could only have a .o file and use it instead of the .a libfile.
* most structures and codes are now private.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@112 a1c6a512-1295-4272-9138-f99709370657
* memory-page :
It is a page allocator using bins. Each bin is a list (or a splay tree)
of the same power-of-2 pages. If no page left in a bin, it tries to
allocate a large page to split into two pages. Page size are :
512 B, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB,
256 KB, 512 KB, 1 MB and 2 MB. Alignment of a page is the same
value than for its size.
* memory-slab :
using slab for smaller blocks, but much simpler than Linux' slab.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@106 a1c6a512-1295-4272-9138-f99709370657