mirror of
https://github.com/drasko/codezero.git
synced 2026-01-13 11:23:16 +01:00
This patch adds ipc_sendrecv() and opens the way for client/server communication.
ipc_sendrecv() replaces ipc_sendwait() which was flawed. See ipc_sendrecv() for how client/server communication works. Tested with page faults where the kernel does an ipc_sendrecv() to faulty thread's pager and the pager successfully handles the request, and returns back the result, which effectively restarts the faulty thread.
This commit is contained in:
@@ -59,7 +59,7 @@ void fault_ipc_to_pager(u32 faulty_pc, u32 fsr, u32 far)
|
||||
offsetof(syscall_args_t, r3));
|
||||
|
||||
/* Send ipc to the task's pager */
|
||||
ipc_sendwait(current->pagerid);
|
||||
ipc_sendrecv(current->pagerid, current->pagerid);
|
||||
|
||||
/*
|
||||
* Pager is now notified and handling the fault. We now sleep on
|
||||
|
||||
Reference in New Issue
Block a user