1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "vmap.h"
#include "errors.h"
usize mem_vmap_translate(MemVmap *inner, usize virt) {
if (inner->translate)
return inner->translate(inner, virt);
return 0;
}
int mem_vmap_map(MemVmap *inner, usize phys, usize virt, usize len, int flags) {
if (inner->map)
return inner->map(inner, phys, virt, len, flags);
return MEM_VMAP_UNSUPPORTED;
}
void mem_vmap_unmap(MemVmap *inner, usize virt, usize len) {
if (inner->unmap)
inner->unmap(inner, virt, len);
}
void mem_vmap_switch_to(MemVmap *inner) {
if (inner->switch_to)
inner->switch_to(inner);
}
|