summaryrefslogtreecommitdiff
path: root/src/kernel/paging.h
blob: 72400e841edc0ca2de878716a65a00e43f6c0046 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdint.h>
#include <stdbool.h>

void init_paging();

void *new_pd();
void free_pd(void *pd);
void pd_map(void *pd, uint32_t physical_addr, uint32_t virtual_addr, bool writable);
void switch_pd(void *pd);

void free_task_pd(void *pd);
void *new_task_pd();
void *pd_user_allocate(void *pd, uint32_t vma, uint32_t pages, bool writable);
void *pd_user_allocate_anywhere_writable(void *pd, uint32_t pages);

void switch_to_kernel_cr3();
void switch_to_task_cr3();