feat: initial paging setup
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
//
|
||||
// Created by rick on 21-02-21.
|
||||
//
|
||||
|
||||
#ifndef NEW_KERNEL_PAGING_H
|
||||
#define NEW_KERNEL_PAGING_H
|
||||
|
||||
#endif //NEW_KERNEL_PAGING_H
|
||||
19
include/myke/mem/pm.h
Normal file
19
include/myke/mem/pm.h
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// Created by rick on 23-02-21.
|
||||
//
|
||||
|
||||
#ifndef NEW_KERNEL_PM_H
|
||||
#define NEW_KERNEL_PM_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
// 4k blocks
|
||||
#define PAGE_SIZE 4096
|
||||
|
||||
void pm_init(void *start_addr, size_t size);
|
||||
|
||||
void *pm_get_pages(uint32_t num_pages);
|
||||
|
||||
void pm_free_pages(void *page, uint32_t num_pages);
|
||||
|
||||
#endif //NEW_KERNEL_PM_H
|
||||
@@ -1,19 +0,0 @@
|
||||
//
|
||||
// Created by rick on 23-02-21.
|
||||
//
|
||||
|
||||
#ifndef NEW_KERNEL_PMM_H
|
||||
#define NEW_KERNEL_PMM_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
// 4k blocks
|
||||
#define PAGE_SIZE 4096
|
||||
|
||||
void pmm_init(void *start_addr, size_t size);
|
||||
|
||||
void *pmm_get_pages(uint32_t num_pages);
|
||||
|
||||
void pmm_free_pages(void *page, uint32_t num_pages);
|
||||
|
||||
#endif //NEW_KERNEL_PMM_H
|
||||
13
include/myke/mem/vmm.h
Normal file
13
include/myke/mem/vmm.h
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// Created by rick on 21-02-21.
|
||||
//
|
||||
|
||||
#ifndef NEW_KERNEL_VMM_H
|
||||
#define NEW_KERNEL_VMM_H
|
||||
#include <sys/types.h>
|
||||
|
||||
void vmm_assign_page(void *paddr, void *vaddr, size_t number_of_pages);
|
||||
|
||||
void vmm_unassign_page(void *vaddr, size_t number_of_pages);
|
||||
|
||||
#endif //NEW_KERNEL_VMM_H
|
||||
Reference in New Issue
Block a user