base: restructure signal-submit initialization

This patch allows core's 'Signal_transmitter' implementation to sidestep
the 'Env::Pd' interface and thereby adhere to a stricter layering within
core. The 'Signal_transmitter' now uses - on kernels that depend on it -
a dedicated (and fairly freestanding) RPC proxy mechanism for signal
deliver, instead of channeling signals through the 'Pd_session::submit'
RPC function.
This commit is contained in:
Norman Feske
2017-05-10 20:11:38 +02:00
committed by Christian Helmuth
parent 71efb59873
commit a1df4fee44
38 changed files with 372 additions and 64 deletions

View File

@@ -8,7 +8,6 @@ include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup-sel4 syscall-sel4
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_myself.cc thread_bootstrap.cc
SRC_CC += capability.cc capability_raw.cc

View File

@@ -3,5 +3,6 @@ include $(BASE_DIR)/lib/mk/base.inc
SRC_CC += capability_space.cc
SRC_CC += thread_start.cc thread_init.cc
SRC_CC += cache.cc
SRC_CC += signal_transmitter.cc signal.cc
LIBS += syscall-sel4 base-sel4-common timeout
LIBS += syscall-sel4 base-sel4-common cxx timeout

View File

@@ -26,6 +26,8 @@ SRC_CC += \
region_map_support.cc \
irq_session_component.cc \
signal_source_component.cc \
signal_transmitter_proxy.cc \
signal_receiver.cc \
trace_session_component.cc \
core_region_map.cc \
core_mem_alloc.cc \
@@ -58,6 +60,8 @@ vpath io_mem_session_support.cc $(GEN_CORE_DIR)
vpath io_port_session_component.cc $(GEN_CORE_DIR)/spec/x86
vpath platform_services.cc $(GEN_CORE_DIR)/spec/x86
vpath trace_session_component.cc $(GEN_CORE_DIR)
vpath signal_transmitter_proxy.cc $(GEN_CORE_DIR)
vpath signal_receiver.cc $(GEN_CORE_DIR)
vpath dataspace_component.cc $(GEN_CORE_DIR)
vpath core_mem_alloc.cc $(GEN_CORE_DIR)
vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)