1/* 2 * Copyright 2014, General Dynamics C4 Systems 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7#pragma once 8 9#include <types.h> 10#include <api/failures.h> 11#include <api/types.h> 12#include <object/structures.h> 13#include <object/cnode.h> 14 15deriveCap_ret_t Arch_deriveCap(cte_t *slot, cap_t cap); 16cap_t CONST Arch_updateCapData(bool_t preserve, word_t data, cap_t cap); 17cap_t CONST Arch_maskCapRights(seL4_CapRights_t cap_rights_mask, cap_t cap); 18finaliseCap_ret_t Arch_finaliseCap(cap_t cap, bool_t final); 19bool_t CONST Arch_sameRegionAs(cap_t cap_a, cap_t cap_b); 20bool_t CONST Arch_sameObjectAs(cap_t cap_a, cap_t cap_b); 21cap_t Arch_createObject(object_t t, void *regionBase, word_t userSize, bool_t deviceMemory); 22exception_t Arch_decodeInvocation(word_t label, word_t length, 23 cptr_t cptr, cte_t *slot, cap_t cap, 24 extra_caps_t extraCaps, bool_t call, word_t *buffer); 25void Arch_prepareThreadDelete(tcb_t *thread); 26word_t Arch_getObjectSize(word_t t); 27bool_t Arch_isFrameType(word_t type); 28 29static inline void Arch_postCapDeletion(cap_t cap) 30{ 31} 32 33