aboutsummaryrefslogtreecommitdiff
path: root/src/uapi/ipc.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-07-07 18:12:55 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-07-07 18:12:55 +0300
commitfe4c623cb9320226866829317cea8ba0c49e7dbc (patch)
tree7ea3723077c72ff7969747a70ece0b94d88d2219 /src/uapi/ipc.c
parentd592abd8ccc4026c51e196777031eb65c4acc4de (diff)
downloadkmi-fe4c623cb9320226866829317cea8ba0c49e7dbc.tar.gz
kmi-fe4c623cb9320226866829317cea8ba0c49e7dbc.zip
make executable entrypoint universal callback
+ Effectively means that all executables can be called into, but if an exe doesn't want to deal with anyone else it should just set a flag like `not_really_a_server` or whatever
Diffstat (limited to 'src/uapi/ipc.c')
-rw-r--r--src/uapi/ipc.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/uapi/ipc.c b/src/uapi/ipc.c
index 613d4a9..3ac4727 100644
--- a/src/uapi/ipc.c
+++ b/src/uapi/ipc.c
@@ -166,7 +166,7 @@ static __noreturn void __run_notify(struct tcb *t, struct tcb *r)
/* signal to whoever is receiving us that we're from the kernel
* ("pid 0"), and we are notifying the current thread */
vm_t s = enter_rpc(t,
- SYS_RET5(0, code, flags, t->eid, t->tid),
+ SYS_RET5(0, t->tid, code, flags, t->eid),
IPC_REQ);
finalize_rpc(t, r, s);
@@ -271,19 +271,6 @@ static void leave_rpc(struct tcb *t, struct sys_ret a)
}
/**
- * IPC server notification syscall handler.
- *
- * @param t Current tcb.
- * @param callback Address of server callback.
- * @return \ref OK and \c 0.
- */
-SYSCALL_DEFINE1(ipc_server)(struct tcb *t, sys_arg_t callback)
-{
- get_cproc(t)->callback = callback;
- return_args1(t, OK);
-}
-
-/**
* Actual IPC syscall handler.
*
* @param t Current tcb.