diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-07-09 22:38:36 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-07-09 22:42:54 +0200 |
commit | d7d9a1e104c21183506935f26d59bb00161bd797 (patch) | |
tree | c775d8ceb5f50a38c3623b9486817f17f78271d4 /kern | |
parent | af9f471b500bcd0c1023259c7577e074fe6d3ee5 (diff) | |
download | gnumach-d7d9a1e104c21183506935f26d59bb00161bd797.tar.gz gnumach-d7d9a1e104c21183506935f26d59bb00161bd797.tar.bz2 gnumach-d7d9a1e104c21183506935f26d59bb00161bd797.zip |
Add experimental RPC infrastructure
This is free for experimenting RPCs, with no backward compatibility guarantees.
* Makefrag.am (EXTRA_DIST): Add kern/experimental.srv.
(include_mach_HEADERS): Add include/mach/experimental.defs.
(nodist_lib_dep_tr_for_defs_a_SOURCES): Add
kern/experimental.server.defs.c.
(nodist_libkernel_a_SOURCES): Add kern/experimental.server.h,
kern/experimental.server.c, kern/experimental.server.msgids.
(nodist_libkernel_a_SOURCES): Add kern/experimental.server.defs.
* include/mach/experimental.defs: New file.
* kern/experimental.srv: New file.
* kern/ipc_kobject.c: Include <kern/experimental.server.h>.
(ipc_kobject_server): Call experimental_server_routine.
Diffstat (limited to 'kern')
-rw-r--r-- | kern/experimental.srv | 3 | ||||
-rw-r--r-- | kern/ipc_kobject.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/kern/experimental.srv b/kern/experimental.srv new file mode 100644 index 00000000..2ccfd783 --- /dev/null +++ b/kern/experimental.srv @@ -0,0 +1,3 @@ +#define KERNEL_SERVER 1 + +#include <mach/experimental.defs> diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c index 709ec9ec..5ced4037 100644 --- a/kern/ipc_kobject.c +++ b/kern/ipc_kobject.c @@ -56,6 +56,7 @@ #include <device/device_pager.server.h> #include <kern/mach4.server.h> #include <kern/gnumach.server.h> +#include <kern/experimental.server.h> #if MACH_DEBUG #include <kern/mach_debug.server.h> @@ -170,6 +171,7 @@ ipc_kobject_server(request) #endif /* MACH_DEBUG */ || (routine = mach4_server_routine(&request->ikm_header)) != 0 || (routine = gnumach_server_routine(&request->ikm_header)) != 0 + || (routine = experimental_server_routine(&request->ikm_header)) != 0 #if MACH_MACHINE_ROUTINES || (routine = MACHINE_SERVER_ROUTINE(&request->ikm_header)) != 0 #endif /* MACH_MACHINE_ROUTINES */ |