mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-17 06:38:28 +00:00
core: split RAM dataspace factory from RAM service
By separating the session-interface concerns from the mechanics of the dataspace creation, the code becomes simpler to follow, and the RAM session can be more easily merged with the PD session in a subsequent step. Issue #2407
This commit is contained in:
committed by
Christian Helmuth
parent
65225a94b1
commit
4773707495
@ -9,7 +9,7 @@ SRC_CC = main.cc \
|
||||
platform_thread.cc \
|
||||
platform_services.cc \
|
||||
ram_session_component.cc \
|
||||
ram_session_support.cc \
|
||||
ram_dataspace_support.cc \
|
||||
rom_session_component.cc \
|
||||
cpu_session_component.cc \
|
||||
cpu_session_support.cc \
|
||||
@ -21,6 +21,7 @@ SRC_CC = main.cc \
|
||||
native_cpu_component.cc \
|
||||
capability_space.cc \
|
||||
rpc_cap_factory_l4.cc \
|
||||
ram_dataspace_factory.cc \
|
||||
core_rpc_cap_alloc.cc \
|
||||
io_mem_session_component.cc \
|
||||
signal_source_component.cc \
|
||||
@ -54,6 +55,7 @@ vpath cpu_thread_component.cc $(GEN_CORE_DIR)
|
||||
vpath pd_upgrade_ram_quota.cc $(GEN_CORE_DIR)
|
||||
vpath capability_space.cc $(GEN_CORE_DIR)
|
||||
vpath rpc_cap_factory_l4.cc $(GEN_CORE_DIR)
|
||||
vpath ram_dataspace_factory.cc $(GEN_CORE_DIR)
|
||||
vpath platform_services.cc $(GEN_CORE_DIR)
|
||||
vpath signal_source_component.cc $(GEN_CORE_DIR)
|
||||
vpath signal_transmitter_proxy.cc $(GEN_CORE_DIR)
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <base/snprintf.h>
|
||||
|
||||
/* local includes */
|
||||
#include <ram_session_component.h>
|
||||
#include <ram_dataspace_factory.h>
|
||||
#include <resource_path.h>
|
||||
|
||||
/* base-internal includes */
|
||||
@ -33,7 +33,7 @@ using namespace Genode;
|
||||
|
||||
static int ram_ds_cnt = 0; /* counter for creating unique dataspace IDs */
|
||||
|
||||
void Ram_session_component::_export_ram_ds(Dataspace_component *ds)
|
||||
void Ram_dataspace_factory::_export_ram_ds(Dataspace_component *ds)
|
||||
{
|
||||
char fname[Linux_dataspace::FNAME_LEN];
|
||||
|
||||
@ -56,7 +56,7 @@ void Ram_session_component::_export_ram_ds(Dataspace_component *ds)
|
||||
}
|
||||
|
||||
|
||||
void Ram_session_component::_revoke_ram_ds(Dataspace_component *ds)
|
||||
void Ram_dataspace_factory::_revoke_ram_ds(Dataspace_component *ds)
|
||||
{
|
||||
int const fd = Capability_space::ipc_cap_data(ds->fd()).dst.socket;
|
||||
if (fd != -1)
|
||||
@ -64,4 +64,4 @@ void Ram_session_component::_revoke_ram_ds(Dataspace_component *ds)
|
||||
}
|
||||
|
||||
|
||||
void Ram_session_component::_clear_ds(Dataspace_component *ds) { }
|
||||
void Ram_dataspace_factory::_clear_ds(Dataspace_component *ds) { }
|
Reference in New Issue
Block a user