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
validTimeoutHandler(tcb_t * tptr)12 static 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 
17 void handleTimeout(tcb_t *tptr);
18 void handleNoFaultHandler(tcb_t *tptr);
19 bool_t sendFaultIPC(tcb_t *tptr, cap_t handlerCap, bool_t can_donate);
20 #else
21 exception_t sendFaultIPC(tcb_t *tptr);
22 void handleDoubleFault(tcb_t *tptr, seL4_Fault_t ex1);
23 #endif
24 void handleFault(tcb_t *tptr);
25 
26