#include "lib/memory.h" #include "memory/mm.h" void memcpy(const void* src, void* dst, size_t sz) { for (size_t i = 0; i < sz; i++) { ((uint8_t*)dst)[i] = ((uint8_t*)src)[i]; } } void memset(const uint8_t* dst, uint8_t val, size_t sz) { for (size_t i = 0; i < sz; i++) { ((uint8_t*)dst)[i] = val; } } int strcmp(const char* s1, const char* s2) { while (*s1 && (*s1 == *s2)) { s1++; s2++; } return *(const uint8_t*)s1 - *(const uint8_t*)s2; } int strlen(const char* str) { int len = 0; while(*str != 0) { str++; len++; } return len; } static void* kernel_heap = (void*)0xE0000000; static size_t kernel_heap_sz = 0; void kheap_init() { if (kernel_heap_sz == 0) { void* frame = p_alloc_frame(); map_page((uint32_t)kernel_heap, (uint32_t)frame, PAGE_PRESENT | PAGE_WRITABLE); } } void* alloc(size_t sz) { }