From 2dbf529c33aa3e24beff944758d586bb0608c1be Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Tue, 15 Apr 2025 22:20:59 -0400 Subject: expand memory manager work with userspace (more then one ctx) --- kernel/include/lib/kio.h | 10 ++++++++++ kernel/include/lib/klib.h | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) (limited to 'kernel/include/lib') diff --git a/kernel/include/lib/kio.h b/kernel/include/lib/kio.h index 66efc7b..1b10a39 100644 --- a/kernel/include/lib/kio.h +++ b/kernel/include/lib/kio.h @@ -26,6 +26,16 @@ void kputc(char c); */ void kputs(const char *s); +#ifdef TRACING +#define TRACE(format, ...) \ + do { \ + kprintf("[TRACE] %s ", __FUNCTION__); \ + kprintf(format, ##__VA_ARGS__); \ + } while (0) +#else +#define TRACE(format, ...) +#endif + /** * prints out a formatted string * diff --git a/kernel/include/lib/klib.h b/kernel/include/lib/klib.h index 7f66e90..0d9797b 100644 --- a/kernel/include/lib/klib.h +++ b/kernel/include/lib/klib.h @@ -231,4 +231,29 @@ void log_backtrace(void); */ void log_backtrace_ex(void *ip, void *bp); +/** + * Allocates size_t bytes in memory + * + * @param size - the amount of bytes to allocate + * @returns the address allocated or NULL on failure + */ +void *kalloc(size_t size); + +/** + * Rellocates a given allocated ptr to a new size of bytes in memory. + * If ptr is NULL it will allocate new memory. + * + * @param ptr - the pointer to reallocate + * @param size - the amount of bytes to reallocate to + * @returns the address allocated or NULL on failure + */ +void *krealloc(void *ptr, size_t size); + +/** + * Frees an allocated pointer in memory + * + * @param ptr - the pointer to free + */ +void kfree(void *ptr); + #endif /* klib.h */ -- cgit v1.2.3-freya