2016-04-29 22:58:59 +02:00
|
|
|
/*
|
|
|
|
* \brief Interfaces to library-global objects
|
|
|
|
* \author Norman Feske
|
|
|
|
* \date 2016-04-29
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2017-02-20 13:23:52 +01:00
|
|
|
* Copyright (C) 2016-2017 Genode Labs GmbH
|
2016-04-29 22:58:59 +02:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
2017-02-20 13:23:52 +01:00
|
|
|
* under the terms of the GNU Affero General Public License version 3.
|
2016-04-29 22:58:59 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INCLUDE__BASE__INTERNAL__GLOBALS_H_
|
|
|
|
#define _INCLUDE__BASE__INTERNAL__GLOBALS_H_
|
|
|
|
|
2016-11-06 14:26:34 +01:00
|
|
|
#include <parent/parent.h>
|
|
|
|
|
2016-04-29 22:58:59 +02:00
|
|
|
namespace Genode {
|
|
|
|
|
|
|
|
class Region_map;
|
|
|
|
class Ram_session;
|
2016-05-04 12:27:17 +02:00
|
|
|
class Env;
|
2016-11-06 14:26:34 +01:00
|
|
|
class Local_session_id_space;
|
2016-04-29 22:58:59 +02:00
|
|
|
|
2017-05-11 19:39:46 +02:00
|
|
|
extern Region_map *env_stack_area_region_map;
|
|
|
|
extern Ram_allocator *env_stack_area_ram_allocator;
|
2016-04-29 22:58:59 +02:00
|
|
|
|
2017-05-11 00:07:54 +02:00
|
|
|
Thread_capability main_thread_cap();
|
|
|
|
|
|
|
|
void init_stack_area();
|
2016-10-30 15:17:24 +01:00
|
|
|
void init_exception_handling(Env &);
|
2017-05-10 20:11:38 +02:00
|
|
|
void init_signal_transmitter(Env &);
|
2016-10-30 15:17:24 +01:00
|
|
|
void init_cxx_heap(Env &);
|
|
|
|
void init_ldso_phdr(Env &);
|
2016-05-04 12:27:17 +02:00
|
|
|
void init_signal_thread(Env &);
|
2016-11-06 14:26:34 +01:00
|
|
|
void init_root_proxy(Env &);
|
2016-05-03 16:31:17 +02:00
|
|
|
void init_log();
|
2017-03-15 15:40:55 +01:00
|
|
|
void exec_static_constructors();
|
2016-11-06 14:26:34 +01:00
|
|
|
|
2017-05-10 20:11:38 +02:00
|
|
|
void destroy_signal_thread();
|
|
|
|
|
2016-11-06 14:26:34 +01:00
|
|
|
Id_space<Parent::Client> &env_session_id_space();
|
|
|
|
Env &internal_env();
|
2016-04-29 22:58:59 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* _INCLUDE__BASE__INTERNAL__GLOBALS_H_ */
|