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 <object.h> 10 11#ifdef CONFIG_KERNEL_MCS 12static inline bool_t validTimeoutHandler(tcb_t *tptr) 13{ 14 return cap_get_capType(TCB_PTR_CTE_PTR(tptr, tcbTimeoutHandler)->cap) == cap_endpoint_cap; 15} 16 17void handleTimeout(tcb_t *tptr); 18void handleNoFaultHandler(tcb_t *tptr); 19bool_t sendFaultIPC(tcb_t *tptr, cap_t handlerCap, bool_t can_donate); 20#else 21exception_t sendFaultIPC(tcb_t *tptr); 22void handleDoubleFault(tcb_t *tptr, seL4_Fault_t ex1); 23#endif 24void handleFault(tcb_t *tptr); 25 26