Lines Matching defs:cnode
51 * \return the cnode component of the address, i.e. the address with the slot
71 capaddr_t cnode;
76 /*croot*/ 0, /*cnode*/ 0, \
84 struct cnoderef cnode;
88 #define NULL_CAP (struct capref){ /*cnode*/ NULL_CNODE, /*slot*/ 0 }
92 return cnoderef.croot == 0 && cnoderef.cnode == 0;
97 return cnoderef_is_null(capref.cnode) && capref.slot == 0;
118 return cap.cnode.level + 1;
128 switch (cap.cnode.level) {
133 return cap.cnode.cnode | cap.slot;
148 return cap.cnode.level;
156 switch (cap.cnode.level) {
158 return cap.cnode.croot;
160 return cap.cnode.cnode;
173 return cap.cnode.croot;
180 .cnode = {
182 .cnode = get_capaddr_cnode_addr(croot),
198 return (c1.cnode == c2.cnode && c1.croot == c2.croot && c1.level == c2.level);
209 return c1.slot == c2.slot && cnodecmp(c1.cnode, c2.cnode);
221 struct cnoderef cnode = NULL_CNODE;
223 // L2 cnode in our root cnode
226 assert(cap.cnode.croot == CPTR_ROOTCN);
227 cnode.croot = CPTR_ROOTCN;
228 cnode.cnode = get_cap_addr(cap);
229 cnode.level = cntype;
233 cnode.level = cntype;
235 // creating a cnoderef to a root cnode for another cspace
237 cnode.croot = get_cap_addr(cap);
238 cnode.cnode = 0;
241 cnode.croot = get_croot_addr(cap);
242 cnode.cnode = get_cap_addr(cap);
253 return cnode;