word_t getObjectSize(word_t t, word_t userObjSize) { if (t >= seL4_NonArchObjectTypeCount) { return Arch_getObjectSize(t); } else { switch (t) { case seL4_TCBObject: return TCB_BLOCK_SIZE_BITS; case seL4_EndpointObject: return EP_SIZE_BITS; case seL4_AsyncEndpointObject: return AEP_SIZE_BITS; case seL4_CapTableObject: return CTE_SIZE_BITS + userObjSize; case seL4_UntypedObject: return userObjSize; default: fail("Invalid object type"); return 0; } } }
word_t getObjectSize(word_t t, word_t userObjSize) { if (t >= seL4_NonArchObjectTypeCount) { return Arch_getObjectSize(t); } else { switch (t) { case seL4_TCBObject: return seL4_TCBBits; case seL4_EndpointObject: return seL4_EndpointBits; case seL4_NotificationObject: return seL4_NotificationBits; case seL4_CapTableObject: return seL4_SlotBits + userObjSize; case seL4_UntypedObject: return userObjSize; default: fail("Invalid object type"); return 0; } } }