• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/barrelfish/arch/arm/

Lines Matching defs:page

17  * page table arrangement onto Barrelfish. The problem lies with
94 * page tables that are empty
120 debug_printf("1: found page table inside our region\n");
241 * \brief (recursively) remove empty page tables in region [entry ..
261 // page tables
287 * \brief Allocates a new VNode, adding it to the page table and our metadata
351 // of L2 is 1 page of L2 entries (4 tables) so we use 10 bits for the L1
392 // of L2 is 1 page of L2 entries (4 tables) so
402 // Get the page table
459 printf("page already exists in 0x%"
466 // clean out empty page tables. We do this here because we benefit
467 // from having the page tables in place when doing lots of small
476 struct vnode *page = slab_alloc(&pmap->slab);
477 assert(page);
478 page->is_vnode = false;
479 page->entry = entry;
480 page->next = ptable->u.vnode.children;
481 ptable->u.vnode.children = page;
482 page->u.frame.cap = frame;
483 page->u.frame.flags = flags;
484 page->u.frame.pte_count = pte_count;
486 err = slot_alloc(&page->mapping);
491 // Map entry into the page table
494 page->mapping);
496 errval_t err2 = slot_free(page->mapping);
566 } else { // multiple leaf page tables
631 // Perform a slab allocation for every page (do_map -> slab_alloc)
681 // If we recurse, we require more slabs than to map a single page
713 * \brief Create page mappings
747 // adjust the mapping to be on page boundaries
809 struct vnode *page = find_vnode(pt, ARM_L2_OFFSET(vaddr));
810 if (page && page->u.frame.pte_count == pte_count) {
812 debug_printf("page unmap: pt entry: %zu, entry = %zu, pte_count = %hu\n",
813 pt->entry, page->entry, page->u.frame.pte_count);
815 err = vnode_unmap(pt->u.vnode.cap, page->mapping);
822 err = cap_delete(page->mapping);
827 err = slot_free(page->mapping);
832 remove_vnode(pt, page);
833 slab_free(&pmap->slab, page);
870 * \brief Remove page mappings
1059 struct vnode *page = find_vnode(ptable, ptentry);
1060 if (page) {
1064 // page (as offset from first page in mapping), #affected
1067 size_t off = ptentry - page->entry;
1070 err = invoke_mapping_modify_flags(page->mapping,
1085 * \brief Modify page mapping
1149 * \brief Query existing page mapping