mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-18 07:08:18 +00:00
Warn about the use of deprecated env() function
This patch enables warnings if one of the deprecate functions that rely in the implicit use of the global Genode::env() accessor are called. For the time being, some places within the base framework continue to rely on the global function while omitting the warning by calling 'env_deprecated' instead of 'env'. Issue #1987
This commit is contained in:
@ -36,13 +36,13 @@ class Genode::Trace::Control_area
|
||||
|
||||
static Ram_dataspace_capability _try_alloc(size_t size)
|
||||
{
|
||||
try { return env()->ram_session()->alloc(size); }
|
||||
try { return env_deprecated()->ram_session()->alloc(size); }
|
||||
catch (...) { return Ram_dataspace_capability(); }
|
||||
}
|
||||
|
||||
static Trace::Control *_try_attach(Dataspace_capability ds)
|
||||
{
|
||||
try { return env()->rm_session()->attach(ds); }
|
||||
try { return env_deprecated()->rm_session()->attach(ds); }
|
||||
catch (...) { return 0; }
|
||||
}
|
||||
|
||||
@ -61,8 +61,8 @@ class Genode::Trace::Control_area
|
||||
|
||||
~Control_area()
|
||||
{
|
||||
if (_local_base) env()->rm_session()->detach(_local_base);
|
||||
if (_ds.valid()) env()->ram_session()->free(_ds);
|
||||
if (_local_base) env_deprecated()->rm_session()->detach(_local_base);
|
||||
if (_ds.valid()) env_deprecated()->ram_session()->free(_ds);
|
||||
}
|
||||
|
||||
Dataspace_capability dataspace() const { return _ds; }
|
||||
|
@ -57,13 +57,13 @@ class Genode::Trace::Session_component
|
||||
:
|
||||
ram(ram),
|
||||
ds(ram.alloc(size)),
|
||||
base(env()->rm_session()->attach(ds)),
|
||||
base(env_deprecated()->rm_session()->attach(ds)),
|
||||
size(ds.call<Dataspace::Rpc_size>())
|
||||
{ }
|
||||
|
||||
~Argument_buffer()
|
||||
{
|
||||
env()->rm_session()->detach(base);
|
||||
env_deprecated()->rm_session()->detach(base);
|
||||
ram.free(ds);
|
||||
}
|
||||
} _argument_buffer;
|
||||
|
@ -102,13 +102,13 @@ class Genode::Trace::Subject
|
||||
_ds = ram.alloc(_size);
|
||||
|
||||
/* copy content */
|
||||
void *src = env()->rm_session()->attach(from_ds),
|
||||
*dst = env()->rm_session()->attach(_ds);
|
||||
void *src = env_deprecated()->rm_session()->attach(from_ds),
|
||||
*dst = env_deprecated()->rm_session()->attach(_ds);
|
||||
|
||||
memcpy(dst, src, _size);
|
||||
|
||||
env()->rm_session()->detach(src);
|
||||
env()->rm_session()->detach(dst);
|
||||
env_deprecated()->rm_session()->detach(src);
|
||||
env_deprecated()->rm_session()->detach(dst);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ Core_env * Genode::core_env()
|
||||
}
|
||||
|
||||
|
||||
Env_deprecated * Genode::env() {
|
||||
Env_deprecated * Genode::env_deprecated() {
|
||||
return core_env(); }
|
||||
|
||||
|
||||
@ -148,7 +148,7 @@ class Core_child : public Child_policy
|
||||
_core_ram_cap(core_ram_cap), _core_ram(core_ram),
|
||||
_core_cpu_cap(core_cpu_cap), _core_cpu(core_cpu),
|
||||
_ram_quota(Child::effective_ram_quota(ram_quota)),
|
||||
_child(*env()->rm_session(), _entrypoint, *this)
|
||||
_child(*env_deprecated()->rm_session(), _entrypoint, *this)
|
||||
{
|
||||
_entrypoint.activate();
|
||||
}
|
||||
@ -250,7 +250,7 @@ int main()
|
||||
* Allocate session meta data on distinct dataspaces to enable independent
|
||||
* destruction (to enable quota trading) of session component objects.
|
||||
*/
|
||||
static Sliced_heap sliced_heap(env()->ram_session(), env()->rm_session());
|
||||
static Sliced_heap sliced_heap(env_deprecated()->ram_session(), env_deprecated()->rm_session());
|
||||
|
||||
/*
|
||||
* Factory for creating RPC capabilities within core
|
||||
@ -303,7 +303,7 @@ int main()
|
||||
log("", ram_quota / (1024*1024), " MiB RAM assigned to init");
|
||||
|
||||
static Reconstructible<Core_child>
|
||||
init(services, *env()->ram_session(), env()->ram_session_cap(),
|
||||
init(services, *env_deprecated()->ram_session(), env_deprecated()->ram_session_cap(),
|
||||
ram_quota, core_cpu, core_cpu_cap);
|
||||
|
||||
platform()->wait_for_exit();
|
||||
|
@ -151,7 +151,7 @@ Session_component::Session_component(Allocator &md_alloc, size_t ram_quota,
|
||||
char const *label, Source_registry &sources,
|
||||
Policy_registry &policies)
|
||||
:
|
||||
_ram(*env()->ram_session()),
|
||||
_ram(*env_deprecated()->ram_session()),
|
||||
_md_alloc(&md_alloc, ram_quota),
|
||||
_subjects_slab(&_md_alloc),
|
||||
_policies_slab(&_md_alloc),
|
||||
|
@ -62,7 +62,7 @@ struct Genode::Expanding_ram_session_client : Upgradeable_client<Genode::Ram_ses
|
||||
enum { ALLOC_OVERHEAD = 4096U };
|
||||
Genode::snprintf(buf, sizeof(buf), "ram_quota=%lu",
|
||||
size + ALLOC_OVERHEAD);
|
||||
env()->parent()->resource_request(buf);
|
||||
env_deprecated()->parent()->resource_request(buf);
|
||||
},
|
||||
NUM_ATTEMPTS);
|
||||
}
|
||||
@ -84,7 +84,7 @@ struct Genode::Expanding_ram_session_client : Upgradeable_client<Genode::Ram_ses
|
||||
*/
|
||||
char buf[128];
|
||||
Genode::snprintf(buf, sizeof(buf), "ram_quota=%lu", amount);
|
||||
env()->parent()->resource_request(buf);
|
||||
env_deprecated()->parent()->resource_request(buf);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ struct Genode::Upgradeable_client : CLIENT
|
||||
char buf[128];
|
||||
snprintf(buf, sizeof(buf), "ram_quota=%lu", quota);
|
||||
|
||||
env()->parent()->upgrade(_id, buf);
|
||||
env_deprecated()->parent()->upgrade(_id, buf);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -34,7 +34,7 @@ namespace {
|
||||
{
|
||||
Genode::Entrypoint &_ep;
|
||||
|
||||
Genode::Parent &_parent = *env()->parent();
|
||||
Genode::Parent &_parent = *env_deprecated()->parent();
|
||||
|
||||
/**
|
||||
* Lock for serializing 'session' and 'close'
|
||||
@ -63,25 +63,25 @@ namespace {
|
||||
Env(Genode::Entrypoint &ep) : _ep(ep) { env_ptr = this; }
|
||||
|
||||
Genode::Parent &parent() override { return _parent; }
|
||||
Genode::Ram_session &ram() override { return *Genode::env()->ram_session(); }
|
||||
Genode::Cpu_session &cpu() override { return *Genode::env()->cpu_session(); }
|
||||
Genode::Region_map &rm() override { return *Genode::env()->rm_session(); }
|
||||
Genode::Pd_session &pd() override { return *Genode::env()->pd_session(); }
|
||||
Genode::Ram_session &ram() override { return *Genode::env_deprecated()->ram_session(); }
|
||||
Genode::Cpu_session &cpu() override { return *Genode::env_deprecated()->cpu_session(); }
|
||||
Genode::Region_map &rm() override { return *Genode::env_deprecated()->rm_session(); }
|
||||
Genode::Pd_session &pd() override { return *Genode::env_deprecated()->pd_session(); }
|
||||
Genode::Entrypoint &ep() override { return _ep; }
|
||||
|
||||
Genode::Ram_session_capability ram_session_cap() override
|
||||
{
|
||||
return Genode::env()->ram_session_cap();
|
||||
return Genode::env_deprecated()->ram_session_cap();
|
||||
}
|
||||
|
||||
Genode::Cpu_session_capability cpu_session_cap() override
|
||||
{
|
||||
return Genode::env()->cpu_session_cap();
|
||||
return Genode::env_deprecated()->cpu_session_cap();
|
||||
}
|
||||
|
||||
Genode::Pd_session_capability pd_session_cap() override
|
||||
{
|
||||
return Genode::env()->pd_session_cap();
|
||||
return Genode::env_deprecated()->pd_session_cap();
|
||||
}
|
||||
|
||||
Genode::Id_space<Parent::Client> &id_space() override
|
||||
|
@ -15,7 +15,11 @@
|
||||
/* Genode includes */
|
||||
#include <base/entrypoint.h>
|
||||
#include <base/component.h>
|
||||
|
||||
#define INCLUDED_BY_ENTRYPOINT_CC /* prevent "deprecated" warning */
|
||||
#include <cap_session/connection.h>
|
||||
#undef INCLUDED_BY_ENTRYPOINT_CC
|
||||
|
||||
#include <util/retry.h>
|
||||
|
||||
/* base-internal includes */
|
||||
|
@ -22,7 +22,7 @@ namespace Genode {
|
||||
/*
|
||||
* Request pointer to static environment of the Genode application
|
||||
*/
|
||||
Env_deprecated *env()
|
||||
Env_deprecated *env_deprecated()
|
||||
{
|
||||
/*
|
||||
* By placing the environment as static object here, we ensure that its
|
||||
|
@ -30,7 +30,7 @@ class Log_console : public Console
|
||||
struct Log : Log_session_client
|
||||
{
|
||||
Session_capability _cap() {
|
||||
return env()->parent()->session_cap(Parent::Env::log()); }
|
||||
return env_deprecated()->parent()->session_cap(Parent::Env::log()); }
|
||||
|
||||
Log() : Log_session_client(reinterpret_cap_cast<Log_session>(_cap()))
|
||||
{ }
|
||||
|
@ -26,8 +26,8 @@ Native_capability Rpc_entrypoint::_alloc_rpc_cap(Pd_session &pd,
|
||||
Untyped_capability new_obj_cap =
|
||||
retry<Genode::Pd_session::Out_of_metadata>(
|
||||
[&] () { return pd.alloc_rpc_cap(_cap); },
|
||||
[&] () { env()->parent()->upgrade(Parent::Env::pd(),
|
||||
"ram_quota=16K"); });
|
||||
[&] () { env_deprecated()->parent()->upgrade(Parent::Env::pd(),
|
||||
"ram_quota=16K"); });
|
||||
|
||||
return new_obj_cap;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ class Signal_handler_thread : Thread, Lock
|
||||
|
||||
void entry()
|
||||
{
|
||||
_signal_source.construct(env()->pd_session()->alloc_signal_source());
|
||||
_signal_source.construct(env_deprecated()->pd_session()->alloc_signal_source());
|
||||
unlock();
|
||||
Signal_receiver::dispatch_signals(&(*_signal_source));
|
||||
}
|
||||
@ -68,7 +68,7 @@ class Signal_handler_thread : Thread, Lock
|
||||
|
||||
~Signal_handler_thread()
|
||||
{
|
||||
env()->pd_session()->free_signal_source(*_signal_source);
|
||||
env_deprecated()->pd_session()->free_signal_source(*_signal_source);
|
||||
}
|
||||
};
|
||||
|
||||
@ -232,7 +232,7 @@ Signal_context_capability Signal_receiver::manage(Signal_context *context)
|
||||
retry<Pd_session::Out_of_metadata>(
|
||||
[&] () {
|
||||
/* use signal context as imprint */
|
||||
context->_cap = env()->pd_session()->alloc_context(_cap, (long)context);
|
||||
context->_cap = env_deprecated()->pd_session()->alloc_context(_cap, (long)context);
|
||||
},
|
||||
[&] () {
|
||||
size_t const quota = 1024*sizeof(long);
|
||||
@ -241,7 +241,7 @@ Signal_context_capability Signal_receiver::manage(Signal_context *context)
|
||||
|
||||
log("upgrading quota donation for PD session (", quota, " bytes)");
|
||||
|
||||
env()->parent()->upgrade(Parent::Env::pd(), buf);
|
||||
env_deprecated()->parent()->upgrade(Parent::Env::pd(), buf);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -190,7 +190,7 @@ void Signal_receiver::_unsynchronized_dissolve(Signal_context * const context)
|
||||
_platform_begin_dissolve(context);
|
||||
|
||||
/* tell core to stop sending signals referring to the context */
|
||||
env()->pd_session()->free_context(context->_cap);
|
||||
env_deprecated()->pd_session()->free_context(context->_cap);
|
||||
|
||||
/* restore default initialization of signal context */
|
||||
context->_receiver = 0;
|
||||
|
@ -27,5 +27,5 @@ void Signal_transmitter::submit(unsigned cnt)
|
||||
{
|
||||
Trace::Signal_submit trace_event(cnt);
|
||||
}
|
||||
env()->pd_session()->submit(_context, cnt);
|
||||
env_deprecated()->pd_session()->submit(_context, cnt);
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ Thread::Thread(size_t weight, const char *name, size_t stack_size,
|
||||
if (_cpu_session) {
|
||||
Dataspace_capability ds = _cpu_session->trace_control();
|
||||
if (ds.valid())
|
||||
_trace_control = env()->rm_session()->attach(ds);
|
||||
_trace_control = env_deprecated()->rm_session()->attach(ds);
|
||||
}
|
||||
}
|
||||
|
||||
@ -262,5 +262,5 @@ Thread::~Thread()
|
||||
* detached trace control dataspace.
|
||||
*/
|
||||
if (_trace_control)
|
||||
env()->rm_session()->detach(_trace_control);
|
||||
env_deprecated()->rm_session()->detach(_trace_control);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ void Thread::_thread_start()
|
||||
void Thread::_deinit_platform_thread()
|
||||
{
|
||||
if (!_cpu_session)
|
||||
_cpu_session = env()->cpu_session();
|
||||
_cpu_session = env_deprecated()->cpu_session();
|
||||
|
||||
_cpu_session->kill_thread(_thread_cap);
|
||||
}
|
||||
@ -69,11 +69,11 @@ void Thread::start()
|
||||
{
|
||||
/* if no CPU session is given, use it from the environment */
|
||||
if (!_cpu_session)
|
||||
_cpu_session = env()->cpu_session();
|
||||
_cpu_session = env_deprecated()->cpu_session();
|
||||
|
||||
/* create thread at core */
|
||||
addr_t const utcb = (addr_t)&_stack->utcb();
|
||||
_thread_cap = _cpu_session->create_thread(env()->pd_session_cap(), name(),
|
||||
_thread_cap = _cpu_session->create_thread(env_deprecated()->pd_session_cap(), name(),
|
||||
_affinity, Weight(), utcb);
|
||||
if (!_thread_cap.valid())
|
||||
throw Cpu_session::Thread_creation_failed();
|
||||
|
@ -47,13 +47,13 @@ bool Trace::Logger::_evaluate_control()
|
||||
|
||||
/* unload policy */
|
||||
if (policy_module) {
|
||||
env()->rm_session()->detach(policy_module);
|
||||
env_deprecated()->rm_session()->detach(policy_module);
|
||||
policy_module = 0;
|
||||
}
|
||||
|
||||
/* unmap trace buffer */
|
||||
if (buffer) {
|
||||
env()->rm_session()->detach(buffer);
|
||||
env_deprecated()->rm_session()->detach(buffer);
|
||||
buffer = 0;
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ bool Trace::Logger::_evaluate_control()
|
||||
max_event_size = 0;
|
||||
policy_module = 0;
|
||||
|
||||
policy_module = env()->rm_session()->attach(policy_ds);
|
||||
policy_module = env_deprecated()->rm_session()->attach(policy_ds);
|
||||
|
||||
/* relocate function pointers of policy callback table */
|
||||
for (unsigned i = 0; i < sizeof(Trace::Policy_module)/sizeof(void *); i++) {
|
||||
@ -111,7 +111,7 @@ bool Trace::Logger::_evaluate_control()
|
||||
}
|
||||
|
||||
try {
|
||||
buffer = env()->rm_session()->attach(buffer_ds);
|
||||
buffer = env_deprecated()->rm_session()->attach(buffer_ds);
|
||||
buffer->init(Dataspace_client(buffer_ds).size());
|
||||
} catch (...) { }
|
||||
|
||||
@ -200,17 +200,17 @@ Trace::Logger *Thread::_logger()
|
||||
logger->init_pending(true);
|
||||
|
||||
Thread_capability thread_cap = myself ? myself->_thread_cap
|
||||
: env()->parent()->main_thread_cap();
|
||||
: env_deprecated()->parent()->main_thread_cap();
|
||||
|
||||
Genode::Cpu_session *cpu = myself ? myself->_cpu_session
|
||||
: env()->cpu_session();
|
||||
if (!cpu) cpu = env()->cpu_session();
|
||||
: env_deprecated()->cpu_session();
|
||||
if (!cpu) cpu = env_deprecated()->cpu_session();
|
||||
|
||||
if (!myself)
|
||||
if (!main_trace_control) {
|
||||
Dataspace_capability ds = env()->cpu_session()->trace_control();
|
||||
Dataspace_capability ds = env_deprecated()->cpu_session()->trace_control();
|
||||
if (ds.valid())
|
||||
main_trace_control = env()->rm_session()->attach(ds);
|
||||
main_trace_control = env_deprecated()->rm_session()->attach(ds);
|
||||
}
|
||||
|
||||
logger->init(thread_cap, cpu,
|
||||
|
@ -113,7 +113,7 @@ extern "C" void *abort(void)
|
||||
|
||||
/* Notify the parent of failure */
|
||||
if (name != "main")
|
||||
env()->parent()->exit(1);
|
||||
env_deprecated()->parent()->exit(1);
|
||||
|
||||
sleep_forever();
|
||||
return 0;
|
||||
|
@ -186,7 +186,7 @@ void genode_exit(int status)
|
||||
for (func = &_dtors_start; func != &_dtors_end; (*func++)());
|
||||
|
||||
/* inform parent about the exit status */
|
||||
Genode::env()->parent()->exit(status);
|
||||
Genode::env_deprecated()->parent()->exit(status);
|
||||
|
||||
/* wait for destruction by the parent */
|
||||
Genode::sleep_forever();
|
||||
|
@ -97,7 +97,7 @@ extern "C" void init_main_thread()
|
||||
* Explicitly setup program environment at this point to ensure that its
|
||||
* destructor won't be registered for the atexit routine.
|
||||
*/
|
||||
(void*)env();
|
||||
(void*)env_deprecated();
|
||||
init_log();
|
||||
|
||||
/* create a thread object for the main thread */
|
||||
|
Reference in New Issue
Block a user