#ifndef MM_H #define MM_H #include #include #define PAGE_SIZE 4096u static inline size_t mm_page_floor(size_t bytes) { return bytes & ~(PAGE_SIZE - 1u); } static inline size_t mm_page_ceil(size_t bytes) { return (bytes + PAGE_SIZE - 1u) & ~(PAGE_SIZE - 1u); } void mm_init(void); void mm_register_ram_region(uint64_t base, size_t size); size_t mm_get_total_ram(void); size_t mm_get_kernel_address(void); size_t mm_get_kernel_size(void); #endif