summaryrefslogtreecommitdiffstats
path: root/include/arch/x86_64/page-mapping.h
blob: fd620eaf1cee76a9a9c4d425fa7a7b87bfa49895 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef _JOVE_ARCH_x86_64_PAGE_MAPPING_H
#define _JOVE_ARCH_x86_64_PAGE_MAPPING_H 1

#include "arch/x86_64/page.h"

pmle_t *page_mapping_traverse(pmle_t *pml4, uint8_t depth, uint16_t *path);

/**@FUNC Get the pmle associated with this virtual address down to a given depth.
 * At depth=0, gets &pml4[pml4i]
 * At depth=1, gets &pml4[pml4i][pml3i]
 * At depth=2, gets &pml4[pml4i][pml3i][pml2i]
 * etc...*/
pmle_t *mem_mapping_vptr_mapping(pmle_t *pml4, uint8_t depth, uintptr_t vptr);

#endif