Searched refs:pdpt (Results 1 - 14 of 14) sorted by relevance

/barrelfish-master/lib/posixcompat/
H A Dsbrk_arrakis.c27 struct pml4_entry *pdpt = NULL; variable in typeref:struct:pml4_entry
31 assert(pdpt != NULL);
32 return pdpt->e.addr;
50 pdpt = malloc(sizeof(*pdpt));
51 if (!pdpt) {
54 err = install_user_managed_pdpt(pdpt);
56 DEBUG_ERR(err, "installing pdpt");
59 base = (void *)(pdpt->e.entry << 39);
67 if (!pdpt) { // Initializ
[all...]
H A Dnestedpaging.c111 printf("pdpt mapped at %p\n", ptable);
144 errval_t user_managed_map_frame(struct pml4_entry *pdpt, argument
149 assert(pdpt);
179 if (!pdpt->swtable[pdpte]) {
189 union x86_64_pdir_entry *pdpt_ptr = pdpt->addr;
190 // map new pdir in hw pdpt
192 // map new pdir in sw pdpt
193 pdpt->swtable[pdpte] = vpdir;
195 assert(pdpt->swtable[pdpte]);
196 pdir = pdpt
[all...]
H A Dnestedpaging.h415 // common data for ptable,pdir,pdpt
446 // one pdpt
455 * \brief Create a user-manageable pdpt. Returns
457 * pdpt.
462 * \brief Map frame at given offset in pdpt
463 * \arg pdpt the pdpt in which to insert
468 errval_t user_managed_map_frame(struct pml4_entry *pdpt,
/barrelfish-master/kernel/arch/x86_32/
H A Ddebug.c26 uint32_t pdpt :2; member in struct:lin_addr::__anon74
/barrelfish-master/usr/tests/nested_paging_test/
H A Dmain.c53 union x86_64_ptable_entry *pdpt = ptable; local
64 paging_x86_64_map_huge(&pdpt[i], fi.base + i*HUGE_PAGE_SIZE,
68 printf("first entry: 0x%"PRIxGENVADDR"\n", pdpt[0].raw);
/barrelfish-master/kernel/arch/x86_64/
H A Ddebug.c27 uint64_t pdpt :9; member in struct:lin_addr::__anon75
52 printf("pdpt = %x\n", lin_addr.d.pdpt);
67 (lin_addr.d.pdpt * sizeof(union x86_64_pdir_entry)));
H A Dpage_mappings_arch.c746 // get pdpt
747 union x86_64_pdir_entry *pdpt = (union x86_64_pdir_entry *)root_pt + X86_64_PML4_BASE(vaddr); local
748 if (!pdpt->raw) { return 0; }
749 genpaddr_t pdpt_gp = pdpt->d.base_addr << BASE_PAGE_BITS;
981 // calculate which part of pdpt to check
984 // read pdpt base
985 lvaddr_t pdpt = local_phys_to_mem((genpaddr_t)pde->d.base_addr << BASE_PAGE_BITS); local
987 pde = (union x86_64_pdir_entry *)pdpt + pdptidx;
992 // calculate which part of pdpt to check
995 // read pdpt bas
1042 union x86_64_pdir_entry *pdpt = (union x86_64_pdir_entry *)root_pt + pdpt_index; local
[all...]
H A Dvmx_vmkit.c987 union x86_64_pdir_entry *pdpt = (union x86_64_pdir_entry *)root_pt + pdpt_index; local
988 if (!pdpt->raw) { continue; }
990 genpaddr_t paddr = (genpaddr_t)pdpt->d.base_addr << BASE_PAGE_BITS;
993 pdpt->d.read_write, pdpt->d.user_supervisor,
994 pdpt->raw);
996 genpaddr_t pdpt_gp = pdpt->d.base_addr << BASE_PAGE_BITS;
1011 // goto next pdpt entry
/barrelfish-master/usr/bench/cow/
H A Dpmap_cow.c234 // TODO: better change to r/o on pml4e or pdpt?
241 // create copy of pdpt cap
324 genvaddr_t base, struct vnode **pdpt)
330 *pdpt = find_vnode(root, entry);
331 assert(*pdpt);
332 DEBUG_COW("%s: is_cloned=%d\n", __FUNCTION__, (*pdpt)->is_cloned);
333 if (!(*pdpt)->is_cloned) {
342 (*pdpt)->v.cap, 0, PTABLE_SIZE, PTABLE_ACCESS_READONLY,
343 (*pdpt)->u.vnode.mcn, newptable->u.vnode.mcn);
347 memcpy(newptable->v.u.vnode.children, (*pdpt)
323 cow_get_pdpt(struct pmap_x86 *pmap, genvaddr_t base, struct vnode **pdpt) argument
360 struct vnode *pdpt = NULL; local
[all...]
/barrelfish-master/lib/barrelfish/arch/x86_64/
H A Dpmap.c102 * \brief Returns the vnode for the pdpt mapping a given vspace address
105 struct vnode **pdpt);
107 struct vnode **pdpt)
114 if((*pdpt = pmap_find_vnode(root, X86_64_PML4_BASE(base))) == NULL) {
119 pdpt, base);
122 if ((*pdpt = pmap_find_vnode(root, X86_64_PML4_BASE(base))) != NULL) {
127 DEBUG_ERR(err, "alloc_vnode for pdpt");
145 struct vnode *pdpt; local
146 err = get_pdpt(pmap, base, &pdpt);
150 assert(pdpt !
106 get_pdpt(struct pmap_x86 *pmap, genvaddr_t base, struct vnode **pdpt) argument
231 struct vnode *pdpt = find_pdpt(pmap, base); local
625 struct vnode *pdpt = NULL, *pdir = NULL, *pt = NULL, *page = NULL; local
1007 struct vnode *pdpt, *pdir, *pt, *frame; local
1048 struct vnode *pdpt, *pdir, *pt, *frame; local
[all...]
/barrelfish-master/tools/elver/
H A Delver.c122 static union pdir_entry pdpt[PTABLE_SIZE] variable in typeref:union:pdir_entry
296 paging_map_table(&boot_pml4[PML4_BASE(0)], (uint64_t)(uint32_t)pdpt);
297 paging_map_table(&pdpt[PDPT_BASE(0)], (uint64_t)(uint32_t)pdir);
/barrelfish-master/lib/barrelfish/arch/x86_32/
H A Dpmap.c473 // find page and last-level page table (can be pdir or pdpt)
786 struct vnode *pdpt = &x86->root, *pdir; local
788 assert(pdpt != NULL);
797 // iterate over pdpt entries
800 for (pdir = pdpt->u.vnode.children; pdir != NULL; pdir = pdir->next) {
/barrelfish-master/kernel/arch/armv8/
H A Dpaging.c780 // calculate which part of pdpt to check
783 // read pdpt base
784 lvaddr_t pdpt = local_phys_to_mem((genpaddr_t)pte->d.base << BASE_PAGE_BITS); local
786 pte = (union armv8_ttable_entry *)pdpt + l1idx;
788 // calculate which part of pdpt to check
791 // read pdpt base
796 // calculate which part of pdpt to check
799 // read pdpt base
/barrelfish-master/usr/arrakismon/
H A Dguest.c658 struct vnode **pdpt);
697 // get pdpt through pmap
754 // get first pdpt (512g)
1040 static uint64_t pdpt[512] = {
1044 memcpy((void *)(guest_to_host(g->mem_low_va + 0x2000)), pdpt, sizeof(pdpt));

Completed in 181 milliseconds