Internal Interface: memory management.
More...
#include <config.h>
#include <mem.h>
#include <stdlib.h>
Go to the source code of this file.
Internal Interface: memory management.
- Author
- Markus L. Noga marku.nosp@m.s@no.nosp@m.ga.de
Definition in file mm.h.
◆ MM_BLOCK_FREE
#define MM_BLOCK_FREE |
( |
|
addr | ) |
|
Value: next=(size_t*)(addr); \
current=next;
unsigned size_t
data type for memory sizes
#define MM_FREE
marker: block free
memory from addr on can be allocated
Macro for mm_init(). Always alternate MM_BLOCK_FREE and MM_BLOCK_RESERVED.
Definition at line 68 of file mm.h.
◆ MM_BLOCK_RESERVED
#define MM_BLOCK_RESERVED |
( |
|
addr | ) |
|
Value: next=(size_t*)(((size_t)addr)-4); \
current=next;
#define MM_RESERVED
marker: block reserved
memory from addr on is reserved
Macro for mm_init(). Always alternate MM_BLOCK_FREE and MM_BLOCK_RESERVED.
Definition at line 79 of file mm.h.
◆ MM_FREE
marker: block free
Definition at line 47 of file mm.h.
◆ MM_HEADER_SIZE
2 words header: pid, size
Definition at line 53 of file mm.h.
◆ MM_RESERVED
#define MM_RESERVED 0xffff |
marker: block reserved
Definition at line 48 of file mm.h.
◆ MM_SPLIT_THRESH
split off if 8+ data bytes
Definition at line 54 of file mm.h.
◆ mm_free_mem()
how many bytes of memory are free?
◆ mm_init()
initialize memory management
◆ mm_reaper()
free all blocks allocated by the current process
◆ mm_first_free
◆ mm_start
end of kernel code + data