gint/src/std
Lephe 162b11cc73
kmalloc: create the kmalloc interface
This change introduces a centralized memory allocator in the kernel.
This interface can call into multiple arenas, including the default OS
heap and planned arenas managed by a gint algorithm.

The main advantage of this method is that it allows the heap to be
extended over previously-unused areas of RAM such as the end of the
static RAM region (apart from where the stack resides). Not using the OS
heap is also sometimes a matter of correctness since on some OS versions
the heap is known to fragment badly and degrade over time.

I hope the deep control this interfaces gives over meomry allocation
will allow very particular applications like object-specific allocators
in fragmented SPU memory.

This change does not introduce any new algorithm or arena so programs
should behave exactly as before.
2021-03-12 17:24:49 +01:00
..
aprint.c std/stdio: support asprintf() and vasprintf() 2021-02-15 09:48:10 +01:00
malloc.c kmalloc: create the kmalloc interface 2021-03-12 17:24:49 +01:00
memcmp.s string: optimized memcpy, memcmp, memset; decent memmove 2020-07-04 15:05:28 +02:00
memcpy.s libc: faster memcpy for on-chip memory 2020-07-27 22:47:30 +02:00
memmove.s string: optimized memcpy, memcmp, memset; decent memmove 2020-07-04 15:05:28 +02:00
memset.s libc: faster memset 2020-07-28 17:34:25 +02:00
print.c improve structure of sources and formatted printer 2021-02-02 18:19:10 +01:00
string-ext.c std/string: add strchr(), strrchr(), and strchrnul() 2021-02-15 17:28:11 +01:00
string.c std/string: add strchr(), strrchr(), and strchrnul() 2021-02-15 17:28:11 +01:00