Searched refs:vnode (Results 1 - 25 of 60) sorted by relevance

123

/barrelfish-master/lib/barrelfish/include/pmap_array/
H A Dpmap_ds.h19 //#define INIT_SLAB_BUFFER_SIZE SLAB_STATIC_SIZE(INIT_SLAB_COUNT, sizeof(struct vnode))
20 //#define PTSLAB_SLABSIZE (sizeof(struct vnode *)*PTABLE_ENTRIES)
28 static inline int pmap_next_child(struct vnode *root, int i, struct vnode **n)
31 struct vnode *tmp;
34 tmp = root->v.u.vnode.children[i];
43 * through the non-null children of the vnode `root`.
46 * Note: this macro requires both root and iter to be 'struct vnode *'.
/barrelfish-master/include/target/arm/barrelfish/
H A Dpmap_target.h24 struct vnode { struct
27 struct vnode *next; ///< Next entry in list of siblings
28 struct capref mapping; ///< Mapping cap for this vnode
33 struct vnode *children; ///< Children of this VNode
36 } vnode; // for non-leaf node member in union:vnode::__anon50
47 #define INIT_SLAB_BUFFER_BYTES SLAB_STATIC_SIZE(32, sizeof(struct vnode))
53 struct vnode root; ///< Root of the vnode tree
54 struct slab_allocator slab; ///< Slab allocator for the vnode lists
/barrelfish-master/lib/barrelfish/include/
H A Dpmap_priv.h33 set_mapping_cap(struct pmap *pmap, struct vnode *vnode, argument
34 struct vnode *root, uint16_t entry)
39 vnode->v.mapping.cnode = root->u.vnode.mcnode[entry / L2_CNODE_SLOTS];
40 vnode->v.mapping.slot = entry % L2_CNODE_SLOTS;
41 assert(!cnoderef_is_null(vnode->v.mapping.cnode));
42 assert(!capref_is_null(vnode->v.mapping));
46 err = pmap->slot_alloc->alloc(pmap->slot_alloc, &vnode->v.mapping);
/barrelfish-master/lib/barrelfish/include/target/x86/
H A Dpmap_x86.h28 * \brief check whether vnode `root` has children in [entry .. entry+len).
34 bool has_vnode(struct vnode *root, uint32_t entry, size_t len,
37 * \return vnode at `entry` in `root`. NULL if no vnode there.
39 struct vnode *find_vnode(struct vnode *root, uint16_t entry);
44 bool inside_region(struct vnode *root, uint32_t entry, uint32_t npages);
47 * \brief remove vnode `item` from list of children of `root`.
49 void remove_vnode(struct vnode *root, struct vnode *ite
[all...]
/barrelfish-master/lib/barrelfish/
H A Dpmap_ll.c23 * \brief Starting at a given root, return the vnode with entry equal to #entry
25 struct vnode *pmap_find_vnode(struct vnode *root, uint16_t entry)
30 struct vnode *n;
32 for(n = root->v.u.vnode.children; n != NULL; n = n->v.meta.next) {
44 // return n if n is a vnode and the indices match
51 bool pmap_inside_region(struct vnode *root, uint16_t entry, uint16_t npages)
56 struct vnode *n;
58 for (n = root->v.u.vnode.children; n; n = n->v.meta.next) {
70 void pmap_remove_vnode(struct vnode *roo
[all...]
H A Dpmap_array.c23 * \brief Starting at a given root, return the vnode with entry equal to #entry
25 struct vnode *pmap_find_vnode(struct vnode *root, uint16_t entry)
31 if (root->v.u.vnode.children) {
32 return root->v.u.vnode.children[entry];
38 bool pmap_inside_region(struct vnode *root, uint16_t entry, uint16_t npages)
43 struct vnode *n = root->v.u.vnode.children[entry];
58 void pmap_remove_vnode(struct vnode *root, struct vnode *ite
[all...]
/barrelfish-master/include/arch/x86_32/barrelfish/
H A Dpmap_arch.h23 struct capref vnode,
26 return pmap_x86_32_init(pmap, vspace, vnode, opt_slot_alloc);
22 pmap_init(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
/barrelfish-master/include/arch/x86_64/barrelfish/
H A Dpmap_arch.h23 struct capref vnode,
26 return pmap_x86_64_init(pmap, vspace, vnode, opt_slot_alloc);
22 pmap_init(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
/barrelfish-master/include/target/x86/barrelfish/
H A Dpmap_target.h26 struct vnode { // NB: misnomer :) struct
27 struct vnode_public v; ///< public part of vnode
28 bool is_pinned; ///< is this a pinned vnode (do not reclaim automatically)
30 // still have to clone this vnode
31 struct vnode *orig; ///< vnode from which this one is cloned, for copy-on-write
39 } vnode; // for non-leaf node (maps another vnode) member in union:vnode::__anon60
47 STATIC_ASSERT(sizeof(struct vnode) <= VNODE_SLAB_SIZE, "vnode sla
[all...]
/barrelfish-master/lib/barrelfish/include/pmap_ll/
H A Dpmap_ds.h21 * through the non-null children of the vnode `root`.
23 * Note: this macro requires both root and iter to be 'struct vnode *'.
26 for (iter = (root)->v.u.vnode.children; iter; iter = iter->v.meta.next)
/barrelfish-master/usr/bench/cow/
H A Dpmap_cow.c16 static struct vnode *cow_root_pte = NULL;
125 static errval_t alloc_vnode_noalloc(struct pmap_x86 *pmap, struct vnode *root,
127 struct vnode **retvnode)
131 struct vnode *newvnode = slab_alloc(&pmap->p.m.slab);
152 newvnode->v.meta.next = root->v.u.vnode.children;
153 root->v.u.vnode.children = newvnode;
154 newvnode->v.u.vnode.children = NULL;
156 memset(newvnode->v.u.vnode.children, 0, sizeof(struct vode *)*PTABLE_SIZE);
157 root->v.u.vnode.children[entry] = newvnode;
166 static errval_t alloc_vnode(struct pmap_x86 *pmap, struct vnode *roo
[all...]
/barrelfish-master/include/barrelfish/
H A Dpmap_ds.h27 // 128 bytes is a rough estimate of sizeof(struct vnode)
33 typedef struct vnode pmap_ds_child_t;
36 struct vnode *next; ///< Pointer to next vnode in linked list
51 typedef struct vnode* pmap_ds_child_t;
H A Dpmap.h78 * Public part of struct vnode -- this should be the first member of
79 * arch-specific vnode definitions.
83 bool is_vnode; ///< Is this a vnode, or a (leaf) page mapping
84 enum objtype type; ///< Type of cap in the vnode
85 struct capref cap; ///< capability which is managed by this vnode
92 } vnode; // for non-leaf node (maps another vnode) member in union:vnode_public::__anon14
119 * \brief Pmap traversal: return the vnode with entry equal to #entry in vnode `root`.
121 struct vnode *pmap_find_vnod
[all...]
/barrelfish-master/include/target/aarch64/barrelfish/
H A Dpmap_target.h25 struct vnode { struct
26 struct vnode_public v; ///< Public part of struct vnode
31 } vnode; // for non-leaf node member in union:vnode::__anon47
40 struct vnode root; ///< Root of the vnode tree
/barrelfish-master/include/vm/
H A Dvnode_pager.h43 int vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m,
46 int vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *m,
/barrelfish-master/include/target/x86_64/barrelfish/
H A Dpmap_target.h31 struct capref vnode,
34 struct capref vnode,
/barrelfish-master/include/arch/aarch64/barrelfish/
H A Dpmap_arch.h23 errval_t pmap_init(struct pmap *p, struct vspace *v, struct capref vnode,
/barrelfish-master/lib/barrelfish/arch/x86_64/
H A Dpmap.c91 static inline bool is_large_page(struct vnode *p)
96 static inline bool is_huge_page(struct vnode *p)
102 * \brief Returns the vnode for the pdpt mapping a given vspace address
105 struct vnode **pdpt);
107 struct vnode **pdpt)
110 struct vnode *root = &pmap->root;
136 * \brief Returns the vnode for the page directory mapping a given vspace
140 struct vnode **pdir);
142 struct vnode **pdir)
145 struct vnode *pdp
1142 struct vnode *vnode; local
1313 pmap_x86_64_init(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
1384 pmap_x86_64_init_ept(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
[all...]
/barrelfish-master/usr/tests/nkm/
H A Dmap_offset.c25 struct capref vnode; local
26 err = slot_alloc(&vnode);
37 err = vnode_create(vnode, vntype);
59 err = vnode_map(vnode, frame, 0, FLAGS, 0, 128, mapping);
66 err = vnode_map(vnode, frame, 0, FLAGS, 0, 1, mapping);
80 err = vnode_map(vnode, frame, 1, FLAGS, 0, 1, mapping);
H A Dvnode_inherit.c24 struct vnode **ptable);
63 /* get struct vnode for ptable for our region */
64 struct vnode *ptable = NULL;
76 struct vnode *cloned = NULL;
82 debug_printf("calling vnode inherit\n");
83 err = vnode_inherit(cloned->v.u.vnode.invokable, ptable->v.u.vnode.invokable,
84 0, PTABLE_SIZE, ptable->u.vnode.mcn, cloned->u.vnode.mcn);
/barrelfish-master/lib/barrelfish/arch/arm/
H A Dpmap.c21 * single 1kB vnode from a 4kB frame, so we currently waste 3kB when creating
69 set_mapping_capref(struct capref *mapping, struct vnode *root, uint32_t entry)
72 mapping->cnode = root->u.vnode.mcnode[entry / L2_CNODE_SLOTS];
101 * \brief Check whether vnode `root' has entries in between [entry ..
103 * \param root the vnode to look at
113 static bool has_vnode(struct vnode *root, uint32_t entry, size_t len,
118 struct vnode *n;
126 for (n = root->u.vnode.children; n; n = n->next) {
141 // not vnode
159 * \brief Starting at a given root, return the vnode wit
1217 pmap_init(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
[all...]
/barrelfish-master/include/arch/arm/barrelfish/
H A Dpmap_arch.h32 errval_t pmap_init(struct pmap *p, struct vspace *v, struct capref vnode,
/barrelfish-master/lib/barrelfish/arch/x86/
H A Dpmap.c28 * starting from `entry` in vnode `root`, if `only_pages` is set, page table
31 bool has_vnode(struct vnode *root, uint32_t entry, size_t len,
36 struct vnode *n;
100 errval_t alloc_vnode(struct pmap_x86 *pmap, struct vnode *root,
102 struct vnode **retvnode, genvaddr_t base)
106 struct vnode *newvnode = slab_alloc(&pmap->p.m.slab);
123 // XXX: need to make sure that vnode cap that we will invoke is in our cspace!
125 // debug_printf("%s: creating vnode for another domain in that domain's cspace; need to copy vnode cap to our cspace to make it invokable\n", __FUNCTION__);
126 err = slot_alloc(&newvnode->v.u.vnode
[all...]
/barrelfish-master/usr/tests/pagetable/
H A Dpagetable.c16 static void print_vnodes(struct vnode* current, int depth);
17 static void print_vnode(struct vnode *current, int depth)
28 printf("vnode:%p { entry: %d is_vnode: %d\n", current, current->v.entry, current->v.is_vnode);
32 printf("vnode: cap=%s\n", capbuffer);
34 print_vnodes(current->v.u.vnode.children, depth+1);
36 print_vnodes(current->v.u.vnode.children[0], depth+1);
52 static void print_vnodes(struct vnode* current, int depth) {
60 struct vnode **currentp = &current;
71 static void find_pagetables(struct vnode* current) {
88 USER_PANIC_ERR(err, "Invoke vnode identif
[all...]
/barrelfish-master/lib/barrelfish/arch/aarch64/
H A Dpmap.c89 static bool has_vnode(struct vnode *root, uint16_t entry, size_t len)
93 struct vnode *n;
118 static errval_t alloc_vnode(struct pmap_aarch64 *pmap_aarch64, struct vnode *root,
120 struct vnode **retvnode)
131 struct vnode *newvnode = slab_alloc(&pmap_aarch64->p.m.slab);
152 // XXX: need to make sure that vnode cap that we will invoke is in our cspace!
154 // debug_printf("%s: creating vnode for another domain in that domain's cspace; need to copy vnode cap to our cspace to make it invokable\n", __FUNCTION__);
156 err = slot_alloc(&newvnode->v.u.vnode.invokable);
160 err = cap_copy(newvnode->v.u.vnode
743 pmap_init(struct pmap *pmap, struct vspace *vspace, struct capref vnode, struct slot_allocator *opt_slot_alloc) argument
[all...]

Completed in 303 milliseconds

123