Internal Interface: memory management. More...


Go to the source code of this file.
Macros | |
| #define | MM_FREE 0x0000 |
| marker: block free More... | |
| #define | MM_RESERVED 0xffff |
| marker: block reserved More... | |
| #define | MM_HEADER_SIZE 2 |
| 2 words header: pid, size More... | |
| #define | MM_SPLIT_THRESH (MM_HEADER_SIZE+8) |
| split off if 8+ data bytes More... | |
| #define | MM_BLOCK_FREE(addr) |
| memory from addr on can be allocated More... | |
| #define | MM_BLOCK_RESERVED(addr) |
| memory from addr on is reserved More... | |
Functions | |
| void | mm_init () |
| initialize memory management More... | |
| void | mm_reaper () |
| free all blocks allocated by the current process More... | |
| int | mm_free_mem (void) |
| how many bytes of memory are free? More... | |
Variables | |
| size_t | mm_start |
| end of kernel code + data More... | |
| size_t * | mm_first_free |
| ptr to first free block. More... | |
Internal Interface: memory management.
Definition in file mm.h.
| #define MM_BLOCK_FREE | ( | addr | ) |
| #define MM_BLOCK_RESERVED | ( | addr | ) |
memory from addr on is reserved
Macro for mm_init(). Always alternate MM_BLOCK_FREE and MM_BLOCK_RESERVED.
| #define MM_SPLIT_THRESH (MM_HEADER_SIZE+8) |
| int mm_free_mem | ( | void | ) |
how many bytes of memory are free?
| void mm_init | ( | ) |
initialize memory management
Referenced by kmain().
| void mm_reaper | ( | ) |
free all blocks allocated by the current process
| size_t* mm_first_free |
ptr to first free block.
| size_t mm_start |
end of kernel code + data
|
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |
1.8.9.1