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

@ -462,10 +462,11 @@ void Genode::ipc_reply(Native_capability caller, Rpc_exception_code exc,
}
Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &last_caller,
Rpc_exception_code exc,
Msgbuf_base &reply_msg,
Msgbuf_base &request_msg)
Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &last_caller,
Rpc_exception_code exc,
Msgbuf_base &reply_msg,
Msgbuf_base &request_msg,
Rpc_entrypoint::Native_context &)
{
/* when first called, there was no request yet */
if (last_caller.valid() && exc.value != Rpc_exception_code::INVALID_OBJECT)
@ -514,9 +515,10 @@ Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &last_caller,
}
Ipc_server::Ipc_server()
Ipc_server::Ipc_server(Rpc_entrypoint::Native_context& _native_context)
:
Native_capability(Capability_space::import(Rpc_destination(), Rpc_obj_key()))
Native_capability(Capability_space::import(Rpc_destination(), Rpc_obj_key())),
_native_context(_native_context)
{
/*
* If 'thread' is 0, the constructor was called by the main thread. By