Clean up base-library structure

This patch moves the base library from src/base to src/lib/base,
flattens the library-internal directory structure, and moves the common
parts of the library-description files to base/lib/mk/base.inc and
base/lib/mk/base-common.inc.

Furthermore, the patch fixes a few cosmetic issues (whitespace and
comments only) that I encountered while browsing the result.

Fixes #1952
This commit is contained in:
Norman Feske 2016-04-29 13:23:19 +02:00
parent 52cc50174f
commit 40a5af42eb
134 changed files with 183 additions and 458 deletions

View File

@ -4,32 +4,13 @@
# \date 2013-02-14
#
LIBS += cxx startup
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup
SRC_CC += cap_copy.cc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/thread.cc thread/thread_bootstrap.cc thread/trace.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc
vpath cap_copy.cc $(BASE_DIR)/src/lib/startup
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base

View File

@ -1,19 +1,4 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc
SRC_CC += thread/thread_start.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
SRC_CC += thread_start.cc
SRC_CC += cache.cc

View File

@ -67,5 +67,5 @@ vpath dataspace_component.cc $(GEN_CORE_DIR)
vpath dump_alloc.cc $(GEN_CORE_DIR)
vpath stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath %.cc $(REP_DIR)/src/core

View File

@ -4,34 +4,11 @@
# \date 2013-02-14
#
LIBS += cxx syscall startup
include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += env/spin_lock.cc env/cap_map.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/thread.cc thread/thread_bootstrap.cc thread/trace.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += thread/thread_utcb.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
LIBS += syscall startup
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
# vi: set ft=make :
SRC_CC += spin_lock.cc cap_map.cc
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc utcb.cc

View File

@ -1,20 +1,4 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc \
env/cap_map_remove.cc env/cap_alloc.cc
SRC_CC += thread/thread_start.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
SRC_CC += cap_map_remove.cc cap_alloc.cc
SRC_CC += thread_start.cc

View File

@ -65,6 +65,6 @@ vpath rom_session_component.cc $(GEN_CORE_DIR)
vpath trace_session_component.cc $(GEN_CORE_DIR)
vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_region_map.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath %.cc $(REP_DIR)/src/core
vpath %.cc $(REP_DIR)/src/base/thread
vpath %.cc $(REP_DIR)/src/lib/base

View File

@ -5,35 +5,8 @@
# \date 2013-02-14
#
LIBS += cxx
include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc
SRC_CC += heap/sliced_heap.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += console/console.cc
SRC_CC += lock/lock.cc
SRC_CC += server/server.cc
SRC_CC += server/common.cc
SRC_CC += signal/common.cc signal/signal.cc
SRC_CC += thread/thread.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/bootstrap.cc
SRC_CC += thread/trace.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_myself.cc thread_bootstrap.cc
SRC_CC += kernel/interface.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath % $(REP_DIR)/src/base
vpath % $(BASE_DIR)/src/base

View File

@ -1,23 +1,8 @@
#
# \brief Portions of base library that are exclusive to non-core components
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common startup
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc
SRC_CC += env/stack_area.cc
SRC_CC += env/reinitialize.cc
SRC_CC += thread/start.cc
SRC_CC += irq/platform.cc
SRC_CC += thread_start.cc
SRC_CC += env.cc
SRC_CC += capability.cc
SRC_CC += server/rpc_cap_alloc.cc
SRC_CC += cache.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath % $(REP_DIR)/src/base
vpath % $(BASE_DIR)/src/base
LIBS += startup

View File

@ -1,3 +1,3 @@
include $(REP_DIR)/lib/mk/base-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/base/arm
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/arm

View File

@ -1,3 +1,3 @@
include $(REP_DIR)/lib/mk/base-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/base/riscv
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/riscv

View File

@ -1,3 +1,3 @@
include $(REP_DIR)/lib/mk/base-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/base/x86_64
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/x86_64

View File

@ -4,30 +4,11 @@
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += syscall
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += env/region_map_mmap.cc env/debug.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/trace.cc thread/thread_env.cc thread/stack_allocator.cc
SRC_CC += irq/platform.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
SRC_CC += region_map_mmap.cc debug.cc
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread_env.cc

View File

@ -1,21 +1,10 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
# The content of this file is used for both native Genode as well as hybrid
# Linux/Genode programs. Hence, it must be void of any thread-related code.
#
LIBS += base-common syscall cxx
include $(BASE_DIR)/lib/mk/base.inc
SRC_CC += console/log_console.cc
SRC_CC += env/env.cc env/platform_env.cc env/stack_area.cc
SRC_CC += server/rpc_cap_alloc.cc
SRC_CC += platform_env.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
# vi:set ft=make :
LIBS += syscall cxx

View File

@ -4,15 +4,8 @@
# \date 2014-02-21
#
LIBS += startup cxx
SRC_CC += thread/thread.cc thread/myself.cc thread/thread_linux.cc
SRC_CC += server/rpc_cap_alloc.cc
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
include $(REP_DIR)/lib/mk/base.inc
LIBS += startup
SRC_CC += thread.cc thread_myself.cc thread_linux.cc

View File

@ -1,6 +1,6 @@
SRC_CC += lx_hybrid.cc new_delete.cc
vpath new_delete.cc $(BASE_DIR)/src/base/cxx
vpath new_delete.cc $(BASE_DIR)/src/lib/cxx
vpath lx_hybrid.cc $(REP_DIR)/src/lib/lx_hybrid
# add parts of the base library that are shared with core

View File

@ -4,6 +4,6 @@
# \date 2014-05-14
#
SRC_CC += cpu/cache.cc
SRC_CC += cache.cc
include $(REP_DIR)/lib/mk/base.mk

View File

@ -26,7 +26,8 @@ SRC_CC = main.cc \
thread_linux.cc \
stack_area.cc \
core_printf.cc \
thread.cc myself.cc
env_reinit.cc \
thread.cc thread_myself.cc
INC_DIR += $(REP_DIR)/src/core/include \
$(GEN_CORE_DIR)/include \
@ -48,8 +49,9 @@ vpath platform_services.cc $(GEN_CORE_DIR)
vpath signal_source_component.cc $(GEN_CORE_DIR)
vpath trace_session_component.cc $(GEN_CORE_DIR)
vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath thread.cc $(BASE_DIR)/src/base/thread
vpath myself.cc $(BASE_DIR)/src/base/thread
vpath trace.cc $(BASE_DIR)/src/base/thread
vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath thread.cc $(BASE_DIR)/src/lib/base
vpath thread_myself.cc $(BASE_DIR)/src/lib/base
vpath trace.cc $(BASE_DIR)/src/lib/base
vpath env_reinit.cc $(REP_DIR)/src/lib/base
vpath %.cc $(PRG_DIR)

View File

@ -401,13 +401,8 @@ class Genode::Platform_env_base : public Env_deprecated
Pd_session *pd_session() override { return &_local_pd_session; }
Pd_session_capability pd_session_cap() override { return _pd_session_cap; }
/*
* Support functions for implementing fork on Noux.
*
* Not supported on Linux.
*/
void reinit(Native_capability::Dst, long) override { }
void reinit_main_thread(Capability<Region_map> &) override { }
void reinit(Native_capability::Dst, long) override;
void reinit_main_thread(Capability<Region_map> &) override;
};

View File

@ -0,0 +1,24 @@
/*
* \brief Environment reinitialization
* \author Norman Feske
* \date 2016-04-29
*
* Support functions for implementing fork on Noux, which is not supported on
* Linux.
*/
/*
* Copyright (C) 2016 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
/* base-internal includes */
#include <base/internal/platform_env.h>
void Genode::Platform_env_base::reinit(Native_capability::Dst, long) { }
void Genode::Platform_env_base::reinit_main_thread(Capability<Region_map> &) { }

View File

@ -4,32 +4,11 @@
# \date 2013-02-14
#
LIBS += cxx startup
include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc
SRC_CC += thread/thread.cc thread/stack.cc thread/trace.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc env/cap_map.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
LIBS += startup
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
# vi: set ft=make :
SRC_CC += signal_submit.cc
SRC_CC += thread.cc thread_myself.cc
SRC_CC += stack.cc
SRC_CC += cap_map.cc

View File

@ -1,19 +1,4 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc
SRC_CC += thread/thread_nova.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
SRC_CC += thread_start.cc
SRC_CC += cache.cc

View File

@ -64,5 +64,5 @@ vpath core_mem_alloc.cc $(GEN_CORE_DIR)
vpath dump_alloc.cc $(GEN_CORE_DIR)
vpath platform_services.cc $(GEN_CORE_DIR)/spec/x86
vpath stack_area.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath %.cc $(REP_DIR)/src/core

View File

@ -4,32 +4,13 @@
# \date 2013-02-14
#
LIBS += cxx startup
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup
SRC_CC += cap_copy.cc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/thread.cc thread/thread_bootstrap.cc thread/trace.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc
vpath cap_copy.cc $(BASE_DIR)/src/lib/startup
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base

View File

@ -1,13 +1,4 @@
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc
SRC_CC += thread/thread_start.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
include $(BASE_DIR)/lib/mk/base.inc
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
LIBS += base-common
SRC_CC += thread_start.cc
SRC_CC += cache.cc

View File

@ -1,2 +0,0 @@
This directory contains support code for building Iguana's bootinfo
library from within Genode's build process.

View File

@ -63,5 +63,5 @@ vpath dump_alloc.cc $(GEN_CORE_DIR)
vpath stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.cc $(GEN_CORE_DIR)
vpath %.cc $(REP_DIR)/src/core
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath core_printf.cc $(BASE_DIR)/src/lib/base

View File

@ -4,35 +4,16 @@
# \date 2013-02-14
#
LIBS += cxx startup syscall
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup syscall
SRC_CC += cap_copy.cc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/thread.cc thread/trace.cc thread/thread_bootstrap.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc
# suppress warning caused by Pistachio's 'l4/message.h'
CC_WARN += -Wno-array-bounds
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath cap_copy.cc $(BASE_DIR)/src/lib/startup
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base

View File

@ -1,19 +1,4 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common
SRC_CC += console/log_console.cc
SRC_CC += cpu/cache.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc
SRC_CC += thread/thread_start.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
SRC_CC += thread_start.cc
SRC_CC += cache.cc

View File

@ -63,6 +63,5 @@ vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_region_map.cc $(GEN_CORE_DIR)
vpath stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath kip.cc $(REP_DIR)/src/base/kip
vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath %.cc $(REP_DIR)/src/core

View File

@ -4,35 +4,11 @@
# \date 2013-02-14
#
LIBS += cxx startup syscall
include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc
SRC_CC += avl_tree/avl_tree.cc
SRC_CC += allocator/slab.cc
SRC_CC += allocator/allocator_avl.cc
SRC_CC += heap/heap.cc heap/sliced_heap.cc
SRC_CC += console/console.cc
SRC_CC += child/child.cc
SRC_CC += child/process.cc
SRC_CC += elf/elf_binary.cc
SRC_CC += lock/lock.cc
SRC_CC += signal/signal.cc signal/common.cc signal/platform.cc
SRC_CC += server/server.cc server/common.cc
SRC_CC += thread/thread.cc
SRC_CC += thread/trace.cc
SRC_CC += thread/myself.cc
SRC_CC += thread/stack_allocator.cc
SRC_CC += thread/thread_bootstrap.cc
SRC_CC += env/capability.cc
SRC_CC += sleep.cc
SRC_CC += region_map_client.cc
SRC_CC += rm_session_client.cc
SRC_CC += entrypoint/entrypoint.cc
SRC_CC += component/component.cc
LIBS += startup syscall
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
# vi: set ft=make :
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

View File

@ -1,19 +1,7 @@
#
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-common syscall
SRC_CC += capability_space.cc
SRC_CC += thread_start.cc thread_init.cc
SRC_CC += cache.cc
SRC_CC += console/log_console.cc
SRC_CC += env/env.cc env/stack_area.cc env/reinitialize.cc
SRC_CC += env/capability_space.cc
SRC_CC += thread/thread_start.cc thread/thread_init.cc
SRC_CC += irq/platform.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
LIBS += syscall

View File

@ -2,4 +2,4 @@ SRC_CC = core_printf.cc
INC_DIR += $(REP_DIR)/src/include
LIBS += syscall
vpath core_printf.cc $(BASE_DIR)/src/base/console
vpath core_printf.cc $(BASE_DIR)/src/lib/base

View File

@ -41,7 +41,7 @@ struct Genode::Irq_session_client : Rpc_client<Irq_session>
** Irq_session **
*****************/
void ack_irq() override;
void ack_irq() override { call<Rpc_ack_irq>(); }
void sigh(Signal_context_capability sigh) override { call<Rpc_sigh>(sigh); }

View File

@ -0,0 +1,32 @@
#
# \brief Portions of base library shared by core and non-core processes
# \author Norman Feske
# \date 2013-02-14
#
LIBS += cxx
SRC_CC += avl_tree.cc
SRC_CC += slab.cc
SRC_CC += allocator_avl.cc
SRC_CC += heap.cc sliced_heap.cc
SRC_CC += console.cc
SRC_CC += child.cc
SRC_CC += child_process.cc
SRC_CC += elf_binary.cc
SRC_CC += ipc.cc
SRC_CC += lock.cc
SRC_CC += rpc_entrypoint.cc
SRC_CC += signal.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
SRC_CC += trace.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
vpath %.cc $(REP_DIR)/src/lib/base
vpath %.cc $(BASE_DIR)/src/lib/base

View File

@ -0,0 +1,10 @@
SRC_CC += log_console.cc
SRC_CC += env_deprecated.cc stack_area.cc env_reinit.cc
SRC_CC += rpc_cap_alloc.cc
vpath %.cc $(REP_DIR)/src/lib/base
vpath %.cc $(BASE_DIR)/src/lib/base
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
LIBS += base-common

View File

@ -2,8 +2,8 @@ CXX_SRC_CC += misc.cc new_delete.cc malloc_free.cc exception.cc guard.cc
# We need the libsupc++ include directory
STDINC = yes
vpath %.cc $(BASE_DIR)/src/base/cxx
vpath %.c $(BASE_DIR)/src/base/cxx
vpath %.cc $(BASE_DIR)/src/lib/cxx
vpath %.c $(BASE_DIR)/src/lib/cxx
#
# Here we define all symbols we want to hide in libsupc++ and libgcc_eh

View File

@ -1,7 +0,0 @@
This directory contains the mandatory Genode infrastructure
on which all Genode components rely. Each subdirectory
corresponds to a library.
:Note: Do not mistake the name of this directory with the
make variable $(BASE_DIR). The make variable refers to
the top-level directory of the whole Genode source tree.

View File

@ -1,5 +0,0 @@
This directory contains a memory-allocator implementation. The
allocator supports storing its meta-data independently from the
managed memory area. This is useful if the allocator is used
to manage memory that is not accessible by the allocator itself
(e.g., virtual memory of another protection domain).

View File

@ -1,19 +0,0 @@
/*
* \brief Generic implementation parts of the irq framework which are
* implemented platform specifically, e.g. base-hw.
* \author Alexander Boettcher
*/
/*
* Copyright (C) 2015 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#include <irq_session/connection.h>
void Genode::Irq_session_client::ack_irq()
{
call<Rpc_ack_irq>();
}

View File

@ -258,7 +258,6 @@ int Allocator_avl_base::remove_range(addr_t base, size_t size)
return !b ? 0 : -3;
}
/* cut intersecting address range */
addr_t intersect_beg = max(base, b->addr());
size_t intersect_end = min(base + size - 1, b->addr() + b->size() - 1);
@ -270,7 +269,9 @@ int Allocator_avl_base::remove_range(addr_t base, size_t size)
}
Range_allocator::Alloc_return Allocator_avl_base::alloc_aligned(size_t size, void **out_addr, int align, addr_t from, addr_t to)
Range_allocator::Alloc_return
Allocator_avl_base::alloc_aligned(size_t size, void **out_addr, int align,
addr_t from, addr_t to)
{
Block *dst1, *dst2;
if (!_alloc_two_blocks_metadata(&dst1, &dst2))
@ -320,8 +321,7 @@ Range_allocator::Alloc_return Allocator_avl_base::alloc_addr(size_t size, addr_t
b = b ? b->find_by_address(addr, size) : 0;
/* skip if there's no block or block is used */
if (!b || b->used())
{
if (!b || b->used()) {
_md_alloc->free(dst1, sizeof(Block));
_md_alloc->free(dst2, sizeof(Block));
return Alloc_return(Alloc_return::RANGE_CONFLICT);
@ -390,9 +390,7 @@ Allocator_avl_base::Block *Allocator_avl_base::_find_any_used_block(Block *sub_t
bool Allocator_avl_base::any_block_addr(addr_t *out_addr)
{
Block * const b = _find_any_used_block(_addr_tree.first());
*out_addr = b ? b->addr() : 0;
return b != nullptr;
}

Some files were not shown because too many files have changed in this diff Show More