diff options
| author | Nathan Lee <me@nwlee.tech> | 2026-06-17 13:05:15 -0500 |
|---|---|---|
| committer | Nathan Lee <me@nwlee.tech> | 2026-06-17 13:05:15 -0500 |
| commit | b106df2447d23d6b3fcffa7cc87edde218d054f3 (patch) | |
| tree | 85b01191beada41b85bc391482cee7294b73f89b /kernel/mem.c | |
| parent | 2fb81f37d20fd442d1954a7356e3ab7f88314a9c (diff) | |
create wdt device discovery
discuss: per wrv32em status, consider moving custom wdt format to dtb or
pci device discovery (potentially both: we have the framework for pci.ko
extension after using dtb to discover memory and pci devices)
Diffstat (limited to 'kernel/mem.c')
| -rw-r--r-- | kernel/mem.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/kernel/mem.c b/kernel/mem.c new file mode 100644 index 0000000..531dd81 --- /dev/null +++ b/kernel/mem.c @@ -0,0 +1,32 @@ +#include <types.h> +#include <mem.h> + +static char eheap[EHEAP_SIZE] = {0}; +static size_t eheap_off = 0; + +void* kmalloc(size_t size) { + return (void*)size; +} + +void* kemalloc(size_t size) { + size = (size + 7) & ~7; + + if (eheap_off + size > EHEAP_SIZE) { + return NULL; + } + + void *ptr = &eheap[eheap_off]; + eheap_off += size; + return ptr; +} + +void* memcpy(void *to, const void *from, size_t size) { + char *dest = (char *)to; + const char *src = (const char *)from; + + while (size--) { + *dest++ = *src++; + } + + return dest; +} |
