diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-05 13:53:42 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-05 13:53:42 +0200 |
commit | c55bc80baa51dc1028cbbae8a02540cfe4c56557 (patch) | |
tree | cc8f9e327d9e68eb6aee9ca781838c473074fa60 /src/kernel/memorymanagement.h | |
parent | b281252aac949fe54057608edb20cdfbe20eaed0 (diff) | |
download | abaos-c55bc80baa51dc1028cbbae8a02540cfe4c56557.tar.gz abaos-c55bc80baa51dc1028cbbae8a02540cfe4c56557.tar.bz2 |
'mem' command shows memory usage of kernel heap now
implemented a malloc/free and memory manager (simplest possible implementation,
just allocating linearly and never freeing)
Diffstat (limited to 'src/kernel/memorymanagement.h')
-rw-r--r-- | src/kernel/memorymanagement.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/kernel/memorymanagement.h b/src/kernel/memorymanagement.h new file mode 100644 index 0000000..16f0b29 --- /dev/null +++ b/src/kernel/memorymanagement.h @@ -0,0 +1,16 @@ +#ifndef MEMORYMANAGEMENT_H +#define MEMORYMANAGEMENT_H + +#include "stddef.h" + +typedef struct { + size_t offset; + size_t size; + uint32_t free_ptr; +} memory_manager_t; + +void memory_manager_init( memory_manager_t *memory_manager, size_t offset, size_t size ); +void *memory_manager_allocate( memory_manager_t *memory_manager, size_t size ); +void memory_manager_deallocate( memory_manager_t *memory_manager, void **p ); + +#endif // MEMORYMANAGEMENT_H |