/seL4-test-master/kernel/libsel4/arch_include/x86/sel4/arch/ |
H A D | syscalls.h | 15 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Poll(seL4_CPtr src, seL4_Word *sender) argument 17 return seL4_NBWait(src, sender); 20 LIBSEL4_INLINE_FUNC void seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 22 seL4_Recv(src, sender); 24 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Poll(seL4_CPtr src, seL4_Word *sender) argument 26 return seL4_NBRecv(src, sender);
|
/seL4-test-master/kernel/include/api/ |
H A D | faults.h | 12 word_t setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer); 13 word_t Arch_setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer, word_t faultType); 15 bool_t handleFaultReply(tcb_t *receiver, tcb_t *sender); 16 bool_t Arch_handleFaultReply(tcb_t *receiver, tcb_t *sender, word_t faultType);
|
/seL4-test-master/kernel/src/arch/arm/api/ |
H A D | faults.c | 14 bool_t Arch_handleFaultReply(tcb_t *receiver, tcb_t *sender, word_t faultType) argument 33 word_t Arch_setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer, word_t faultType) argument 39 va = getRestartPC(sender); 43 setMR(receiver, receiveIPCBuffer, seL4_VMFault_IP, getRestartPC(sender)); 46 seL4_Fault_VMFault_get_address(sender->tcbFault)); 48 seL4_Fault_VMFault_get_instructionFault(sender->tcbFault)); 50 seL4_Fault_VMFault_get_FSR(sender->tcbFault)); 55 if (seL4_Fault_VGICMaintenance_get_idxValid(sender->tcbFault)) { 57 seL4_Fault_VGICMaintenance_get_idx(sender->tcbFault)); 62 return setMR(receiver, receiveIPCBuffer, seL4_VCPUFault_HSR, seL4_Fault_VCPUFault_get_hsr(sender [all...] |
/seL4-test-master/kernel/src/arch/riscv/api/ |
H A D | faults.c | 20 bool_t Arch_handleFaultReply(tcb_t *receiver, tcb_t *sender, word_t faultType) argument 31 word_t Arch_setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer, word_t faultType) argument 35 setMR(receiver, receiveIPCBuffer, seL4_VMFault_IP, getRestartPC(sender)); 37 seL4_Fault_VMFault_get_address(sender->tcbFault)); 39 seL4_Fault_VMFault_get_instructionFault(sender->tcbFault)); 41 seL4_Fault_VMFault_get_FSR(sender->tcbFault));
|
/seL4-test-master/kernel/libsel4/include/sel4/ |
H A D | syscalls_mcs.h | 38 * @param[out] sender The address to write sender information to. 39 * The sender information is the badge of the 41 * sender, or the notification word of the 52 seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply); 99 * @param[out] sender The address to write sender information to. 100 * The sender information is the badge of the 102 * sender, or the notification word of the 114 seL4_ReplyRecv(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPt [all...] |
H A D | syscalls_master.h | 38 * @param[out] sender The address to write sender information to. 39 * The sender information is the badge of the 41 * sender, or the notification word of the 51 seL4_Recv(seL4_CPtr src, seL4_Word *sender); 110 * @param[out] sender The address to write sender information to. 111 * The sender information is the badge of the 113 * sender, or the notification word of the 123 seL4_ReplyRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender); [all...] |
H A D | syscalls.h | 358 * @param[out] sender The address to write sender information to. 360 * on the bound notification then the sender information 367 seL4_VMEnter(seL4_Word *sender);
|
/seL4-test-master/kernel/src/api/ |
H A D | faults.c | 74 static inline void copyMRsFaultReply(tcb_t *sender, tcb_t *receiver, MessageID_t id, word_t length) argument 83 word_t v = getRegister(sender, msgRegisters[i]); 88 word_t *sendBuf = lookupIPCBuffer(false, sender); 99 static inline void copyMRsFault(tcb_t *sender, tcb_t *receiver, MessageID_t id, argument 104 setRegister(receiver, msgRegisters[i], getRegister(sender, fault_messages[id][i])); 109 receiveIPCBuffer[i + 1] = getRegister(sender, fault_messages[id][i]); 114 bool_t handleFaultReply(tcb_t *receiver, tcb_t *sender) argument 117 seL4_MessageInfo_t tag = messageInfoFromWord(getRegister(sender, msgInfoRegister)); 127 copyMRsFaultReply(sender, receiver, MessageID_Syscall, MIN(length, n_syscallMessage)); 131 copyMRsFaultReply(sender, receive 191 setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer) argument [all...] |
/seL4-test-master/kernel/src/arch/x86/api/ |
H A D | faults.c | 13 bool_t Arch_handleFaultReply(tcb_t *receiver, tcb_t *sender, word_t faultType) argument 24 word_t Arch_setMRs_fault(tcb_t *sender, tcb_t *receiver, word_t *receiveIPCBuffer, word_t faultType) argument 28 setMR(receiver, receiveIPCBuffer, seL4_VMFault_IP, getRestartPC(sender)); 30 seL4_Fault_VMFault_get_address(sender->tcbFault)); 32 seL4_Fault_VMFault_get_instructionFault(sender->tcbFault)); 34 seL4_Fault_VMFault_get_FSR(sender->tcbFault));
|
/seL4-test-master/kernel/src/object/ |
H A D | endpoint.c | 201 tcb_t *sender; local 209 sender = queue.head; 212 assert(sender); 215 queue = tcbEPDequeue(sender, queue); 222 /* Get sender IPC details */ 223 badge = thread_state_ptr_get_blockingIPCBadge(&sender->tcbState); 225 thread_state_ptr_get_blockingIPCCanGrant(&sender->tcbState); 227 thread_state_ptr_get_blockingIPCCanGrantReply(&sender->tcbState); 230 doIPCTransfer(sender, epptr, badge, 233 do_call = thread_state_ptr_get_blockingIPCIsCall(&sender [all...] |
H A D | tcb.c | 351 void setupCallerCap(tcb_t *sender, tcb_t *receiver, bool_t canGrant) argument 356 setThreadState(sender, ThreadState_BlockedOnReply); 357 replySlot = TCB_PTR_CTE_PTR(sender, tcbReply); 363 assert(TCB_PTR(cap_reply_cap_get_capTCBPtr(masterCap)) == sender); 368 cteInsert(cap_reply_cap_new(canGrant, false, TCB_REF(sender)), 416 word_t copyMRs(tcb_t *sender, word_t *sendBuf, tcb_t *receiver, argument 424 getRegister(sender, msgRegisters[i]));
|
/seL4-test-master/kernel/libsel4/arch_include/arm/sel4/arch/ |
H A D | syscalls.h | 77 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 79 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender) 96 /* Return back sender and message information. */ 97 if (sender) { 98 *sender = badge; 104 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply, argument 107 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, 134 /* Return back sender and message information. */ 135 if (sender) { 136 *sender 142 seL4_NBRecv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 230 seL4_ReplyRecv(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPtr reply) argument 267 seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 322 seL4_NBSendRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 355 seL4_NBSendRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 404 seL4_NBSendWait(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender) argument 437 seL4_NBSendWaitWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 494 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 517 seL4_WaitWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 550 seL4_NBWait(seL4_CPtr src, seL4_Word *sender) argument 791 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 797 seL4_Poll(seL4_CPtr src, seL4_Word *sender) argument [all...] |
/seL4-test-master/kernel/libsel4/arch_include/riscv/sel4/arch/ |
H A D | syscalls.h | 257 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 259 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender) 276 /* Return back sender and message information. */ 277 if (sender) { 278 *sender = badge; 285 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply, argument 288 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, 315 /* Return back sender and message information. */ 316 if (sender) { 317 *sender 323 seL4_NBRecv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 371 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 377 seL4_Poll(seL4_CPtr src, seL4_Word *sender) argument 428 seL4_ReplyRecv(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPtr reply) argument 466 seL4_ReplyRecvWithMRs(seL4_CPtr src, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 521 seL4_NBSendRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 555 seL4_NBSendRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 605 seL4_NBSendWait(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender) argument 638 seL4_NBSendWaitWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 695 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 718 seL4_WaitWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 751 seL4_NBWait(seL4_CPtr src, seL4_Word *sender) argument [all...] |
/seL4-test-master/kernel/libsel4/sel4_arch_include/ia32/sel4/sel4_arch/ |
H A D | syscalls.h | 429 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 431 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender) 445 if (sender) { 446 *sender = badge; 453 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, argument 456 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, 477 if (sender) { 478 *sender = badge; 485 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_NBRecv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 487 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_NBRecv(seL4_CPtr src, seL4_Word *sender) 510 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 527 seL4_WaitWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0) argument 547 seL4_NBWait(seL4_CPtr src, seL4_Word *sender) 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 736 seL4_NBSendWait(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word src, seL4_Word *sender) argument 754 seL4_NBSendWaitWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word src, seL4_Word *sender, seL4_Word *mr0) argument 787 seL4_VMEnter(seL4_Word *sender) argument [all...] |
/seL4-test-master/kernel/libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/ |
H A D | syscalls.h | 80 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 82 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_Recv(seL4_CPtr src, seL4_Word *sender) 99 if (sender) { 100 *sender = badge; 107 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, argument 110 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_RecvWithMRs(seL4_CPtr src, seL4_Word *sender, 136 if (sender) { 137 *sender = badge; 144 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_NBRecv(seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 146 LIBSEL4_INLINE_FUNC seL4_MessageInfo_t seL4_NBRecv(seL4_CPtr src, seL4_Word *sender) 171 seL4_Wait(seL4_CPtr src, seL4_Word *sender) argument 194 seL4_WaitWithMRs(seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 226 seL4_NBWait(seL4_CPtr src, seL4_Word *sender) argument 310 seL4_ReplyRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_CPtr reply) argument 339 seL4_ReplyRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 392 seL4_NBSendRecv(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_CPtr reply) argument 417 seL4_NBSendRecvWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3, seL4_CPtr reply) argument 464 seL4_NBSendWait(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender) argument 494 seL4_NBSendWaitWithMRs(seL4_CPtr dest, seL4_MessageInfo_t msgInfo, seL4_CPtr src, seL4_Word *sender, seL4_Word *mr0, seL4_Word *mr1, seL4_Word *mr2, seL4_Word *mr3) argument 556 seL4_VMEnter(seL4_Word *sender) argument [all...] |
/seL4-test-master/kernel/src/kernel/ |
H A D | thread.c | 107 void doIPCTransfer(tcb_t *sender, endpoint_t *endpoint, word_t badge, argument 114 if (likely(seL4_Fault_get_seL4_FaultType(sender->tcbFault) == seL4_Fault_NullFault)) { 115 sendBuffer = lookupIPCBuffer(false, sender); 116 doNormalTransfer(sender, sendBuffer, endpoint, badge, grant, 119 doFaultTransfer(badge, sender, receiver, receiveBuffer); 124 void doReplyTransfer(tcb_t *sender, reply_t *reply, bool_t grant) argument 126 void doReplyTransfer(tcb_t *sender, tcb_t *receiver, cte_t *slot, bool_t grant) 147 doIPCTransfer(sender, NULL, 0, grant, receiver); 161 bool_t restart = handleFaultReply(receiver, sender); 189 void doNormalTransfer(tcb_t *sender, word_ argument 221 doFaultTransfer(word_t badge, tcb_t *sender, tcb_t *receiver, word_t *receiverIPCBuffer) argument [all...] |
/seL4-test-master/projects/sel4test/apps/sel4test-tests/src/tests/ |
H A D | binding.c | 33 static int sender(seL4_Word ep, seL4_Word id, seL4_Word runs, seL4_Word arg3) function 65 start_helper(env, ¬ification, sender, badged_notification_ep, ASYNC, NUM_RUNS, 0); 66 start_helper(env, &sync, sender, badged_sync_ep, SYNC, NUM_RUNS, 0); 118 start_helper(env, ¬ification, sender, badged_notification_ep, ASYNC, NUM_RUNS, 0); 174 start_helper(env, &sender_thread, sender, notification_ep, 0, 1, 0);
|
H A D | ipc.c | 714 static void sender(seL4_CPtr endpoint, volatile int *state) function 768 start_helper(env, &client1, (helper_fn_t) sender, endpoint, (seL4_Word) &state1, 0, 0); 769 start_helper(env, &client2, (helper_fn_t) sender, endpoint, (seL4_Word) &state2, 0, 0); 875 start_helper(env, &client, (helper_fn_t) sender, endpoint, (seL4_Word) &state, 0, 0);
|
/seL4-test-master/kernel/include/kernel/ |
H A D | thread.h | 176 void doIPCTransfer(tcb_t *sender, endpoint_t *endpoint, 179 void doReplyTransfer(tcb_t *sender, reply_t *reply, bool_t grant); 181 void doReplyTransfer(tcb_t *sender, tcb_t *receiver, cte_t *slot, bool_t grant); 184 void doNormalTransfer(tcb_t *sender, word_t *sendBuffer, endpoint_t *endpoint, 187 void doFaultTransfer(word_t badge, tcb_t *sender, tcb_t *receiver,
|
/seL4-test-master/kernel/include/object/ |
H A D | tcb.h | 120 void setupCallerCap(tcb_t *sender, tcb_t *receiver, bool_t canGrant); 124 word_t copyMRs(tcb_t *sender, word_t *sendBuf, tcb_t *receiver,
|
/seL4-test-master/kernel/manual/parts/ |
H A D | notifications.tex | 35 If the signal sender capability was unbadged or 0-badged, the operation degrades
|
H A D | ipc.tex | 109 no sender is ready, threads performing the \apifunc{seL4\_Recv}{sel4_recv} 111 will wait for the first available sender. 175 sender's CNode slot to the receiver's CNode slot. The sender retains access 182 third capability in the sender's message which could not be unwrapped.
|
H A D | objects.tex | 169 receive messages through endpoints or notifications. If no sender or 246 poll for messages through endpoints or notifications. If no sender or 291 a sender and a receiver rendezvous at the endpoint, and the
|