/seL4-test-master/kernel/src/object/ |
H A D | reply.c | 7 #include <object/reply.h> 9 void reply_push(tcb_t *tcb_caller, tcb_t *tcb_callee, reply_t *reply, bool_t canDonate) argument 14 assert(reply != NULL); 15 assert(reply->replyTCB == NULL); 17 assert(call_stack_get_callStackPtr(reply->replyPrev) == 0); 18 assert(call_stack_get_callStackPtr(reply->replyNext) == 0); 23 /* unlink callee and reply - they may not have been linked already, 28 /* link caller and reply */ 29 reply->replyTCB = tcb_caller; 30 thread_state_ptr_set_replyObject(&tcb_caller->tcbState, REPLY_REF(reply)); 54 reply_pop(reply_t *reply, tcb_t *tcb) argument 91 reply_remove(reply_t *reply, tcb_t *tcb) argument 125 reply_t *reply = REPLY_PTR(thread_state_get_replyObject(tcb->tcbState)); local [all...] |
H A D | endpoint.c | 86 reply_t *reply = REPLY_PTR(thread_state_get_replyObject(dest->tcbState)); local 87 if (reply) { 88 reply_unlink(reply, dest); 93 if (reply != NULL && (canGrant || canGrantReply)) { 94 reply_push(thread, dest, reply, canDonate); 145 userError("Reply object already has unexecuted reply!"); 327 reply_t *reply = REPLY_PTR(thread_state_get_replyObject(tptr->tcbState)); local 328 if (reply != NULL) { 329 reply_unlink(reply, tptr); 349 /* Get the reply ca 382 reply_t *reply = REPLY_PTR(thread_state_get_replyObject(thread->tcbState)); local [all...] |
/seL4-test-master/kernel/include/object/ |
H A D | reply.h | 13 /* Unlink a reply from its tcb */ 14 static inline void reply_unlink(reply_t *reply, tcb_t *tcb) argument 16 /* check the tcb and reply are linked correctly */ 17 assert(reply->replyTCB == tcb); 18 assert(thread_state_get_replyObject(tcb->tcbState) == REPLY_REF(reply)); 21 reply->replyTCB = NULL; 25 /* Push a reply object onto the call stack */ 26 void reply_push(tcb_t *tcb_caller, tcb_t *tcb_callee, reply_t *reply, bool_t canDonate); 27 /* Pop the head reply from the call stack */ 28 void reply_pop(reply_t *reply, tcb_ [all...] |
/seL4-test-master/kernel/libsel4/include/sel4/ |
H A D | syscalls_mcs.h | 44 * @param[in] reply The capability to the reply object to use on a call (only used on MCS). 52 seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply); 91 * @brief Perform a reply followed by a receive in one system call 106 * @param[in] reply The capability to the reply object, which is first invoked and then used 107 * for the recv phase to store a new reply capability. 114 seL4_ReplyRecv(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPtr reply); 132 * @param[in] reply The capability to the reply objec [all...] |
/seL4-test-master/projects/sel4test/apps/sel4test-tests/src/tests/ |
H A D | ipc_rights.c | 26 static int check_recv(seL4_CPtr ep, seL4_Word val, seL4_CPtr reply) argument 28 api_recv(ep, NULL, reply); 31 api_recv(ep, NULL, reply); 39 seL4_CPtr reply = vka_alloc_reply_leaky(vka); local 47 start_helper(env, &t, (helper_fn_t)check_recv, ep, MAGIC1, reply, 0); 74 seL4_CPtr reply = vka_alloc_reply_leaky(vka); local 93 start_helper(env, &t, (helper_fn_t)check_recv, epMint, MAGIC1, reply, 0); 112 check_recv_cap(env_t env, seL4_CPtr ep, bool should_recv_cap, seL4_CPtr reply) argument 120 api_recv(ep, NULL, reply); 145 seL4_CPtr reply local 217 seL4_CPtr reply = get_free_slot(env); local 331 seL4_CPtr reply = get_free_slot(env); local [all...] |
H A D | nbwait.c | 37 vka_object_t reply = {0}; local 50 error = vka_alloc_reply(&env->vka, &reply); 77 info = api_nbrecv(endpoint.cptr, &badge, reply.cptr); 99 info = api_nbrecv(endpoint.cptr, &badge, reply.cptr); 103 info = api_nbrecv(endpoint.cptr, &badge, reply.cptr); 115 info = api_nbrecv(endpoint.cptr, &badge, reply.cptr); 121 info = api_nbrecv(endpoint.cptr, &badge, reply.cptr);
|
H A D | ipc.c | 27 typedef int (*test_func_t)(seL4_Word /* endpoint */, seL4_Word /* seed */, seL4_Word /* reply */, 30 static int send_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word extra) argument 44 static int nbsend_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word extra) argument 58 static int call_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word extra) argument 94 static int wait_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word extra) argument 101 tag = api_recv(endpoint, &sender_badge, reply); 123 static int nbwait_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word nbwait_should_wait) argument 134 tag = api_recv(endpoint, &sender_badge, reply); 156 static int replywait_func(seL4_Word endpoint, seL4_Word seed, seL4_CPtr reply, seL4_Word extra) argument 165 /* First reply/wai 212 reply_and_wait_func(seL4_Word endpoint, seL4_Word seed, seL4_CPtr reply, seL4_Word unused) argument 268 nbsendrecv_func(seL4_Word endpoint, seL4_Word seed, seL4_Word reply, seL4_Word unused) argument 438 seL4_CPtr reply = vka_alloc_reply_leaky(vka); local 471 server_fn(seL4_CPtr endpoint, seL4_CPtr reply, volatile int *state) argument 490 proxy_fn(seL4_CPtr receive_endpoint, seL4_CPtr call_endpoint, seL4_Word reply, volatile int *state) argument 657 ipc0016_reply_once_fn(seL4_CPtr endpoint, seL4_CPtr reply) argument 952 ipc21_fault_handler_fn(seL4_CPtr endpoint, vspace_t *vspace, reservation_t *res, seL4_CPtr reply) argument 1138 ipc23_server_fn(seL4_CPtr client_ep, seL4_CPtr wait_ep, seL4_CPtr reply) argument 1305 ipc28_server_fn(seL4_CPtr ep, seL4_CPtr reply, volatile int *state) argument [all...] |
H A D | endpoints.c | 22 static int bouncer_func(seL4_CPtr ep, seL4_CPtr reply, seL4_Word arg2, seL4_Word arg3) argument 26 api_recv(ep, &sender_badge, reply); 28 api_reply_recv(ep, tag, &sender_badge, reply); 104 seL4_CPtr reply = vka_alloc_reply_leaky(&env->vka); local 111 tag = api_recv(ep, &sender_badge, reply); 115 api_reply(reply, tag); 152 static int ep_test_func(seL4_CPtr sync_ep, seL4_CPtr test_ep, volatile seL4_Word *status, seL4_CPtr reply) argument 157 api_recv(sync_ep, &sender_badge, reply); 163 api_reply(reply, tag);
|
/seL4-test-master/kernel/include/arch/arm/arch/fastpath/ |
H A D | fastpath.h | 23 void fastpath_reply_recv(word_t cptr, word_t r_msgInfo, word_t reply)
|
/seL4-test-master/projects/sel4_projects_libs/libsel4rpc/include/sel4rpc/ |
H A D | server.h | 22 vka_object_t *reply; member in struct:sel4rpc_env 31 sel4rpc_handler_t handler_func, void *data, vka_object_t *reply, simple_t *simple);
|
/seL4-test-master/kernel/include/arch/x86/arch/fastpath/ |
H A D | fastpath.h | 25 void fastpath_reply_recv(word_t cptr, word_t r_msgInfo, word_t reply)
|
/seL4-test-master/projects/seL4_libs/libsel4utils/include/sel4utils/ |
H A D | mcs_api.h | 42 static inline seL4_MessageInfo_t api_recv(seL4_CPtr ep, seL4_Word *badge, UNUSED seL4_CPtr reply) argument 45 return seL4_Recv(ep, badge, reply); 51 static inline seL4_MessageInfo_t api_nbrecv(seL4_CPtr ep, seL4_Word *badge, UNUSED seL4_CPtr reply) argument 54 return seL4_NBRecv(ep, badge, reply); 60 static inline void api_reply(UNUSED seL4_CPtr reply, seL4_MessageInfo_t msg) argument 63 seL4_Send(reply, msg); 70 UNUSED seL4_CPtr reply) 73 return seL4_ReplyRecv(ep, msg, badge, reply); 81 UNUSED seL4_CPtr reply) 85 return seL4_NBSendRecv(send, info, recv, badge, reply); 69 api_reply_recv(seL4_CPtr ep, seL4_MessageInfo_t msg, seL4_Word *badge, UNUSED seL4_CPtr reply) argument 79 api_nbsend_recv(UNUSED seL4_CPtr send, UNUSED seL4_MessageInfo_t info, UNUSED seL4_CPtr recv, UNUSED seL4_Word *badge, UNUSED seL4_CPtr reply) argument [all...] |
H A D | thread_config.h | 64 /* true if sel4utils should create a reply */ 67 seL4_CPtr reply; member in struct:sel4utils_thread_config 107 static inline sel4utils_thread_config_t thread_config_reply(sel4utils_thread_config_t config, seL4_CPtr reply) argument 110 config.reply = reply;
|
/seL4-test-master/projects/sel4test/apps/sel4test-tests/src/arch/x86/tests/ |
H A D | breakpoints.c | 47 int debugger_main(seL4_Word a0, seL4_Word reply, seL4_Word a2, seL4_Word a3) argument 94 tag = api_recv(fault_ep_cspath.capPtr, &badge, reply); 116 api_reply(reply, tag); 122 api_reply(reply, tag);
|
/seL4-test-master/kernel/libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/ |
H A D | syscalls.h | 13 #define MCS_PARAM_DECL(r) register seL4_Word reply_reg asm(r) = reply 116 seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) 148 LIBSEL4_UNUSED seL4_Word reply) 181 seL4_Word *in_out_mr3, seL4_Word reply) 192 register seL4_Word reply_reg asm("r6") = reply; 115 arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 146 arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 178 arm_sys_nbsend_recv(seL4_Word sys, seL4_Word dest, seL4_Word src, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, seL4_Word reply) argument
|
/seL4-test-master/kernel/libsel4/sel4_arch_include/arm_hyp/sel4/sel4_arch/ |
H A D | syscalls.h | 13 #define MCS_PARAM_DECL(r) register seL4_Word reply_reg asm(r) = reply 116 seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) 148 LIBSEL4_UNUSED seL4_Word reply) 181 seL4_Word *in_out_mr3, seL4_Word reply) 192 register seL4_Word reply_reg asm("r6") = reply; 115 arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 146 arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 178 arm_sys_nbsend_recv(seL4_Word sys, seL4_Word dest, seL4_Word src, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, seL4_Word reply) argument
|
/seL4-test-master/kernel/libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/ |
H A D | syscalls.h | 14 #define MCS_PARAM_DECL(r) register seL4_Word reply_reg asm(r) = reply 117 seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) 148 LIBSEL4_UNUSED seL4_Word reply) 181 seL4_Word *in_out_mr3, seL4_Word reply) 192 register seL4_Word reply_reg asm("x6") = reply; 116 arm_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 146 arm_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 178 arm_sys_nbsend_recv(seL4_Word sys, seL4_Word dest, seL4_Word src, seL4_Word *out_badge, seL4_Word info_arg, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, seL4_Word reply) argument
|
/seL4-test-master/kernel/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/ |
H A D | syscalls_sysenter.h | 14 #define MCS_PARAM_DECL(r) register seL4_Word reply_reg asm(r) = reply; 89 seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) 122 LIBSEL4_UNUSED seL4_Word reply) 161 seL4_Word *in_out_mr3, seL4_Word reply) 167 register seL4_Word reply_reg asm("r12") = reply; 88 x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 120 x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 159 x64_sys_nbsend_recv(seL4_Word sys, seL4_Word dest, seL4_Word src, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, seL4_Word reply) argument
|
H A D | syscalls_syscall.h | 14 #define MCS_REPLY_DECL register seL4_Word reply_reg asm("r12") = reply 86 LIBSEL4_UNUSED seL4_Word reply) 117 LIBSEL4_UNUSED seL4_Word reply) 154 seL4_Word *in_out_mr3, seL4_Word reply) 160 register seL4_Word reply_reg asm("r12") = reply; 84 x64_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr0, seL4_Word *out_mr1, seL4_Word *out_mr2, seL4_Word *out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 115 x64_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, LIBSEL4_UNUSED seL4_Word reply) argument 152 x64_sys_nbsend_recv(seL4_Word sys, seL4_Word dest, seL4_Word src, seL4_Word *out_dest, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr0, seL4_Word *in_out_mr1, seL4_Word *in_out_mr2, seL4_Word *in_out_mr3, seL4_Word reply) argument
|
/seL4-test-master/kernel/include/fastpath/ |
H A D | fastpath.h | 94 static inline void thread_state_ptr_set_replyObject_np(thread_state_t *ts_ptr, word_t reply) argument 99 thread_state_ptr_set_replyObject(ts_ptr, REPLY_REF(reply)); 101 ts_ptr->words[1] = REPLY_REF(reply);
|
/seL4-test-master/projects/sel4_projects_libs/libsel4vm/src/arch/arm/ |
H A D | syscalls.c | 125 seL4_MessageInfo_t reply; local 126 reply = seL4_MessageInfo_new(0, 0, 0, 0); 127 seL4_Reply(reply);
|
/seL4-test-master/kernel/include/arch/arm/arch/kernel/ |
H A D | traps.h | 33 void c_handle_fastpath_reply_recv(word_t cptr, word_t msgInfo, word_t reply)
|
/seL4-test-master/kernel/include/arch/x86/arch/kernel/ |
H A D | traps.h | 28 void c_handle_syscall(word_t cptr, word_t msgInfo, syscall_t syscall, word_t reply)
|
/seL4-test-master/kernel/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/ |
H A D | syscalls.h | 102 seL4_Word *out_mr1, MCS_COND(seL4_Word reply, seL4_Word *out_mr2)) 121 MCS_COND("+c"(reply), "=c"(*out_mr2)) 129 seL4_Word *out_info, seL4_Word *in_out_mr1, MCS_COND(seL4_Word reply, seL4_Word *in_out_mr2)) 148 MCS_COND("+c"(reply), "=c"(*in_out_mr2)) 162 seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word reply) 181 , "+c"(reply) 277 seL4_Word *out_mr1, MCS_COND(seL4_Word reply, seL4_Word *out_mr2)) 291 MCS_COND("+c"(reply), "=c"(*out_mr2)) 299 seL4_Word *out_info, seL4_Word *in_out_mr1, MCS_COND(seL4_Word reply, seL4_Word *in_out_mr2)) 313 MCS_COND("+c"(reply), " 101 x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr1, MCS_COND(seL4_Word reply, seL4_Word *out_mr2)) argument 128 x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, MCS_COND(seL4_Word reply, seL4_Word *in_out_mr2)) argument 161 x86_sys_nbsend_wait(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word reply) argument 276 x86_sys_recv(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word *out_info, seL4_Word *out_mr1, MCS_COND(seL4_Word reply, seL4_Word *out_mr2)) argument 298 x86_sys_send_recv(seL4_Word sys, seL4_Word dest, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, MCS_COND(seL4_Word reply, seL4_Word *in_out_mr2)) argument 326 x86_sys_nbsend_wait(seL4_Word sys, seL4_Word src, seL4_Word *out_badge, seL4_Word info, seL4_Word *out_info, seL4_Word *in_out_mr1, seL4_Word reply) argument 429 seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 453 seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_CPtr reply) argument 485 seL4_NBRecv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 618 seL4_ReplyRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPtr reply) argument 645 seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_Word *mr0, seL4_CPtr reply) argument 687 seL4_NBSendRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word src, seL4_Word *sender, seL4_CPtr reply) argument 708 seL4_NBSendRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word src, seL4_Word *sender, seL4_Word *mr0, seL4_CPtr reply) argument [all...] |
/seL4-test-master/kernel/src/fastpath/ |
H A D | fastpath.c | 10 #include <object/reply.h> 120 /* Ensure that the endpoint has has grant or grant-reply rights so that we can 121 * create the reply cap */ 143 reply_t *reply = thread_state_get_replyObject_np(dest->tcbState); local 144 if (unlikely(reply == NULL)) { 176 /* Unlink dest <-> reply, link src (cur thread) <-> reply */ 181 thread_state_ptr_set_replyObject_np(&NODE_STATE(ksCurThread)->tcbState, REPLY_REF(reply)); 182 reply->replyTCB = NODE_STATE(ksCurThread); 190 reply 231 fastpath_reply_recv(word_t cptr, word_t msgInfo, word_t reply) argument [all...] |