base: remove component.cc from core

Issue #4784
This commit is contained in:
Norman Feske 2023-06-21 15:52:11 +02:00
parent 3a8c3dcc2d
commit 3f9698a292
5 changed files with 16 additions and 20 deletions

View File

@ -23,7 +23,6 @@ SRC_CC += rpc_entrypoint.cc
SRC_CC += signal_common.cc SRC_CC += signal_common.cc
SRC_CC += sleep.cc SRC_CC += sleep.cc
SRC_CC += entrypoint.cc SRC_CC += entrypoint.cc
SRC_CC += component.cc
SRC_CC += region_map_client.cc SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc SRC_CC += rm_session_client.cc
SRC_CC += stack_allocator.cc SRC_CC += stack_allocator.cc

View File

@ -1,3 +1,4 @@
SRC_CC += component.cc
SRC_CC += default_log.cc SRC_CC += default_log.cc
SRC_CC += platform.cc stack_area.cc SRC_CC += platform.cc stack_area.cc
SRC_CC += rpc_cap_alloc.cc heartbeat.cc SRC_CC += rpc_cap_alloc.cc heartbeat.cc

View File

@ -15,6 +15,7 @@
#include <base/sleep.h> #include <base/sleep.h>
#include <base/service.h> #include <base/service.h>
#include <base/child.h> #include <base/child.h>
#include <base/component.h>
#include <rm_session/connection.h> #include <rm_session/connection.h>
#include <pd_session/connection.h> #include <pd_session/connection.h>
#include <rom_session/connection.h> #include <rom_session/connection.h>
@ -216,11 +217,15 @@ namespace Genode {
} }
int main() /* expected by entrypoint.cc */
Genode::size_t Component::stack_size() { return 64*1024; }
void Genode::bootstrap_component()
{ {
/** init_exception_handling(*core_env().pd_session(), core_env().local_rm());
* Disable tracing within core because it is currently not fully implemented.
*/ /* disable tracing within core because it is not fully implemented */
inhibit_tracing = true; inhibit_tracing = true;
log("Genode ", Genode::version_string); log("Genode ", Genode::version_string);
@ -287,12 +292,12 @@ int main()
if (avail_ram_quota < preserved_ram_quota) { if (avail_ram_quota < preserved_ram_quota) {
error("core preservation exceeds platform RAM limit"); error("core preservation exceeds platform RAM limit");
return -1; return;
} }
if (avail_cap_quota < preserved_cap_quota) { if (avail_cap_quota < preserved_cap_quota) {
error("core preservation exceeds platform cap quota limit"); error("core preservation exceeds platform cap quota limit");
return -1; return;
} }
Ram_quota const init_ram_quota { avail_ram_quota - preserved_ram_quota }; Ram_quota const init_ram_quota { avail_ram_quota - preserved_ram_quota };
@ -319,5 +324,4 @@ int main()
platform().wait_for_exit(); platform().wait_for_exit();
init.destruct(); init.destruct();
return 0;
} }

View File

@ -30,19 +30,10 @@ using namespace Core;
static Constructible<Signal_delivery_proxy_component> delivery_proxy; static Constructible<Signal_delivery_proxy_component> delivery_proxy;
/* void Core::init_core_signal_transmitter(Rpc_entrypoint &ep)
* Entrypoint that serves the 'Signal_source' RPC objects
*/
static Rpc_entrypoint *_ep;
void Core::init_core_signal_transmitter(Rpc_entrypoint &ep) { _ep = &ep; }
void Genode::init_signal_transmitter(Env &)
{ {
if (!delivery_proxy.constructed() && _ep) if (!delivery_proxy.constructed())
delivery_proxy.construct(*_ep); delivery_proxy.construct(ep);
} }

View File

@ -57,6 +57,7 @@ namespace Genode {
Id_space<Parent::Client> &env_session_id_space(); Id_space<Parent::Client> &env_session_id_space();
Env &internal_env(); Env &internal_env();
void bootstrap_component();
void binary_ready_hook_for_platform(); void binary_ready_hook_for_platform();
} }