Files
RockOS/kernel/memory/mm.h

26 lines
435 B
C
Raw Normal View History

2026-06-14 00:34:11 -05:00
#ifndef KMM_H
#define KMM_H
#include <stdint.h>
2026-06-16 18:44:31 -05:00
#define PAGE_PRESENT 0x1
#define PAGE_WRITABLE 0x2
#define PAGE_USER 0x4
2026-06-14 00:34:11 -05:00
typedef struct __attribute__((packed)) {
uint32_t addr;
} mem_page_t;
2026-06-15 18:09:04 -04:00
void init_pmm(void* mmap_base, uint32_t mmap_limit);
void init_page_tables();
2026-06-16 18:44:31 -05:00
void* p_alloc_frame();
2026-06-15 23:35:01 -05:00
uint32_t total_free_memory();
2026-06-14 18:53:54 -05:00
void* create_user_pd();
2026-06-16 18:44:31 -05:00
void map_page(uint32_t vaddr, uint32_t paddr, uint32_t flags);
2026-06-14 18:53:54 -05:00
#endif