base: lay groundwork for base-linux caps change

Include the necessary hooks to introduce file descriptor
based capabilities in base linux.

Issue #3581
This commit is contained in:
Stefan Thöni
2020-02-19 11:35:13 +01:00
committed by Christian Helmuth
parent 5eaaee0dbe
commit a7a9855493
28 changed files with 249 additions and 78 deletions

View File

@@ -9,6 +9,9 @@ include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup-sel4 syscall-sel4
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += rpc_entrypoint_manage.cc
SRC_CC += thread.cc thread_myself.cc thread_bootstrap.cc
SRC_CC += capability.cc capability_raw.cc
SRC_CC += stack_area_addr.cc
SRC_CC += platform.cc
SRC_CC += rpc_entry.cc

View File

@@ -359,10 +359,11 @@ void Genode::ipc_reply(Native_capability, Rpc_exception_code exc,
}
Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &,
Rpc_exception_code exc,
Msgbuf_base &reply_msg,
Msgbuf_base &request_msg)
Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &,
Rpc_exception_code exc,
Msgbuf_base &reply_msg,
Msgbuf_base &request_msg,
Rpc_entrypoint::Native_context &)
{
/* allocate and define receive selector */
if (!rcv_sel())
@@ -391,9 +392,10 @@ Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &,
}
Ipc_server::Ipc_server()
Ipc_server::Ipc_server(Rpc_entrypoint::Native_context& _native_context)
:
Native_capability(Capability_space::create_ep_cap(*Thread::myself()))
Native_capability(Capability_space::create_ep_cap(*Thread::myself())),
_native_context(_native_context)
{ }