Obj_space_phys<SPACE>::v_delete(V_pfn virt, Page_order size, L4_fpage::Rights page_attribs = L4_fpage::Rights::FULL()) { (void)size; assert (size == Page_order(0)); Capability *c = get_cap(virt); if (c && c->valid()) { if (page_attribs & L4_fpage::Rights::R()) c->invalidate(); else c->del_rights(page_attribs); } return L4_fpage::Rights(0); }
unsigned long Generic_obj_space<SPACE>::v_delete(Page_number virt, Size size, unsigned long page_attribs = L4_fpage::RWX) { (void)size; assert (size.value() == 1); Capability *c = get_cap(virt.value()); if (c && c->valid()) { if (page_attribs & L4_fpage::R) c->invalidate(); else c->del_rights(page_attribs & L4_fpage::WX); } return 0; }