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 += sleep.cc
SRC_CC += entrypoint.cc
SRC_CC += component.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += stack_allocator.cc

View File

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

View File

@ -15,6 +15,7 @@
#include <base/sleep.h>
#include <base/service.h>
#include <base/child.h>
#include <base/component.h>
#include <rm_session/connection.h>
#include <pd_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()
{
/**
* Disable tracing within core because it is currently not fully implemented.
*/
init_exception_handling(*core_env().pd_session(), core_env().local_rm());
/* disable tracing within core because it is not fully implemented */
inhibit_tracing = true;
log("Genode ", Genode::version_string);
@ -287,12 +292,12 @@ int main()
if (avail_ram_quota < preserved_ram_quota) {
error("core preservation exceeds platform RAM limit");
return -1;
return;
}
if (avail_cap_quota < preserved_cap_quota) {
error("core preservation exceeds platform cap quota limit");
return -1;
return;
}
Ram_quota const init_ram_quota { avail_ram_quota - preserved_ram_quota };
@ -319,5 +324,4 @@ int main()
platform().wait_for_exit();
init.destruct();
return 0;
}

View File

@ -30,19 +30,10 @@ using namespace Core;
static Constructible<Signal_delivery_proxy_component> delivery_proxy;
/*
* 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 &)
void Core::init_core_signal_transmitter(Rpc_entrypoint &ep)
{
if (!delivery_proxy.constructed() && _ep)
delivery_proxy.construct(*_ep);
if (!delivery_proxy.constructed())
delivery_proxy.construct(ep);
}

View File

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