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 # \date 2013-02-14
# #
LIBS += cxx startup include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup
SRC_CC += cap_copy.cc SRC_CC += cap_copy.cc
SRC_CC += ipc/ipc.cc SRC_CC += signal_submit.cc
SRC_CC += avl_tree/avl_tree.cc SRC_CC += rpc_dispatch_loop.cc
SRC_CC += allocator/slab.cc SRC_CC += thread.cc thread_bootstrap.cc thread_myself.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
vpath cap_copy.cc $(BASE_DIR)/src/lib/startup 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 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
LIBS += base-common SRC_CC += thread_start.cc
SRC_CC += cache.cc
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

View File

@ -67,5 +67,5 @@ vpath dataspace_component.cc $(GEN_CORE_DIR)
vpath dump_alloc.cc $(GEN_CORE_DIR) vpath dump_alloc.cc $(GEN_CORE_DIR)
vpath stack_area.cc $(GEN_CORE_DIR) vpath stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.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 vpath %.cc $(REP_DIR)/src/core

View File

@ -4,34 +4,11 @@
# \date 2013-02-14 # \date 2013-02-14
# #
LIBS += cxx syscall startup include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc LIBS += syscall startup
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
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include SRC_CC += spin_lock.cc cap_map.cc
SRC_CC += signal_submit.cc
vpath %.cc $(REP_DIR)/src/base SRC_CC += rpc_dispatch_loop.cc
vpath %.cc $(BASE_DIR)/src/base SRC_CC += thread.cc thread_bootstrap.cc thread_myself.cc utcb.cc
# vi: set ft=make :

View File

@ -1,20 +1,4 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
LIBS += base-common SRC_CC += cap_map_remove.cc cap_alloc.cc
SRC_CC += thread_start.cc
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

View File

@ -65,6 +65,6 @@ vpath rom_session_component.cc $(GEN_CORE_DIR)
vpath trace_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_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_region_map.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/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 # \date 2013-02-14
# #
LIBS += cxx include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc SRC_CC += rpc_dispatch_loop.cc
SRC_CC += avl_tree/avl_tree.cc SRC_CC += thread.cc thread_myself.cc thread_bootstrap.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 += kernel/interface.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 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core components
# \author Norman Feske
# \date 2013-02-14
#
LIBS += base-common startup SRC_CC += thread_start.cc
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 += env.cc SRC_CC += env.cc
SRC_CC += capability.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 LIBS += startup
vpath % $(REP_DIR)/src/base
vpath % $(BASE_DIR)/src/base

View File

@ -1,3 +1,3 @@
include $(REP_DIR)/lib/mk/base-common.inc 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 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 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 # \date 2013-02-14
# #
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += syscall LIBS += syscall
SRC_CC += ipc/ipc.cc SRC_CC += region_map_mmap.cc debug.cc
SRC_CC += avl_tree/avl_tree.cc SRC_CC += signal_submit.cc
SRC_CC += allocator/slab.cc SRC_CC += rpc_dispatch_loop.cc
SRC_CC += allocator/allocator_avl.cc SRC_CC += thread_env.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

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 # 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. # 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 += platform_env.cc
SRC_CC += env/env.cc env/platform_env.cc env/stack_area.cc
SRC_CC += server/rpc_cap_alloc.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include LIBS += syscall cxx
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
# vi:set ft=make :

View File

@ -4,15 +4,8 @@
# \date 2014-02-21 # \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 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 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 vpath lx_hybrid.cc $(REP_DIR)/src/lib/lx_hybrid
# add parts of the base library that are shared with core # add parts of the base library that are shared with core

View File

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

View File

@ -26,7 +26,8 @@ SRC_CC = main.cc \
thread_linux.cc \ thread_linux.cc \
stack_area.cc \ stack_area.cc \
core_printf.cc \ core_printf.cc \
thread.cc myself.cc env_reinit.cc \
thread.cc thread_myself.cc
INC_DIR += $(REP_DIR)/src/core/include \ INC_DIR += $(REP_DIR)/src/core/include \
$(GEN_CORE_DIR)/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 signal_source_component.cc $(GEN_CORE_DIR)
vpath trace_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_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_printf.cc $(BASE_DIR)/src/base/console vpath core_printf.cc $(BASE_DIR)/src/lib/base
vpath thread.cc $(BASE_DIR)/src/base/thread vpath thread.cc $(BASE_DIR)/src/lib/base
vpath myself.cc $(BASE_DIR)/src/base/thread vpath thread_myself.cc $(BASE_DIR)/src/lib/base
vpath trace.cc $(BASE_DIR)/src/base/thread vpath trace.cc $(BASE_DIR)/src/lib/base
vpath env_reinit.cc $(REP_DIR)/src/lib/base
vpath %.cc $(PRG_DIR) 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 *pd_session() override { return &_local_pd_session; }
Pd_session_capability pd_session_cap() override { return _pd_session_cap; } Pd_session_capability pd_session_cap() override { return _pd_session_cap; }
/* void reinit(Native_capability::Dst, long) override;
* Support functions for implementing fork on Noux. void reinit_main_thread(Capability<Region_map> &) override;
*
* Not supported on Linux.
*/
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 # \date 2013-02-14
# #
LIBS += cxx startup include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc LIBS += startup
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
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include SRC_CC += signal_submit.cc
SRC_CC += thread.cc thread_myself.cc
vpath %.cc $(REP_DIR)/src/base SRC_CC += stack.cc
vpath %.cc $(BASE_DIR)/src/base SRC_CC += cap_map.cc
# vi: set ft=make :

View File

@ -1,19 +1,4 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
LIBS += base-common SRC_CC += thread_start.cc
SRC_CC += cache.cc
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

View File

@ -64,5 +64,5 @@ vpath core_mem_alloc.cc $(GEN_CORE_DIR)
vpath dump_alloc.cc $(GEN_CORE_DIR) vpath dump_alloc.cc $(GEN_CORE_DIR)
vpath platform_services.cc $(GEN_CORE_DIR)/spec/x86 vpath platform_services.cc $(GEN_CORE_DIR)/spec/x86
vpath stack_area.cc $(GEN_CORE_DIR) 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 vpath %.cc $(REP_DIR)/src/core

View File

@ -4,32 +4,13 @@
# \date 2013-02-14 # \date 2013-02-14
# #
LIBS += cxx startup include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup
SRC_CC += cap_copy.cc SRC_CC += cap_copy.cc
SRC_CC += ipc/ipc.cc SRC_CC += signal_submit.cc
SRC_CC += avl_tree/avl_tree.cc SRC_CC += rpc_dispatch_loop.cc
SRC_CC += allocator/slab.cc SRC_CC += thread.cc thread_bootstrap.cc thread_myself.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
vpath cap_copy.cc $(BASE_DIR)/src/lib/startup 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 include $(BASE_DIR)/lib/mk/base.inc
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
vpath %.cc $(REP_DIR)/src/base SRC_CC += thread_start.cc
vpath %.cc $(BASE_DIR)/src/base SRC_CC += cache.cc
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
LIBS += base-common

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 stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.cc $(GEN_CORE_DIR) vpath pager_ep.cc $(GEN_CORE_DIR)
vpath %.cc $(REP_DIR)/src/core 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 # \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 += cap_copy.cc
SRC_CC += ipc/ipc.cc SRC_CC += signal_submit.cc
SRC_CC += avl_tree/avl_tree.cc SRC_CC += rpc_dispatch_loop.cc
SRC_CC += allocator/slab.cc SRC_CC += thread.cc thread_bootstrap.cc thread_myself.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
# suppress warning caused by Pistachio's 'l4/message.h' # suppress warning caused by Pistachio's 'l4/message.h'
CC_WARN += -Wno-array-bounds 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 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 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
LIBS += base-common SRC_CC += thread_start.cc
SRC_CC += cache.cc
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

View File

@ -63,6 +63,5 @@ vpath core_rpc_cap_alloc.cc $(GEN_CORE_DIR)
vpath core_region_map.cc $(GEN_CORE_DIR) vpath core_region_map.cc $(GEN_CORE_DIR)
vpath stack_area.cc $(GEN_CORE_DIR) vpath stack_area.cc $(GEN_CORE_DIR)
vpath pager_ep.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 kip.cc $(REP_DIR)/src/base/kip
vpath %.cc $(REP_DIR)/src/core vpath %.cc $(REP_DIR)/src/core

View File

@ -4,35 +4,11 @@
# \date 2013-02-14 # \date 2013-02-14
# #
LIBS += cxx startup syscall include $(BASE_DIR)/lib/mk/base-common.inc
SRC_CC += ipc/ipc.cc LIBS += startup syscall
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
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include SRC_CC += signal_submit.cc
SRC_CC += rpc_dispatch_loop.cc
vpath %.cc $(REP_DIR)/src/base SRC_CC += thread.cc thread_myself.cc thread_bootstrap.cc
vpath %.cc $(BASE_DIR)/src/base SRC_CC += capability.cc
# vi: set ft=make :

View File

@ -1,19 +1,7 @@
# include $(BASE_DIR)/lib/mk/base.inc
# \brief Portions of base library that are exclusive to non-core processes
# \author Norman Feske
# \date 2013-02-14
#
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 LIBS += syscall
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

View File

@ -2,4 +2,4 @@ SRC_CC = core_printf.cc
INC_DIR += $(REP_DIR)/src/include INC_DIR += $(REP_DIR)/src/include
LIBS += syscall 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 ** ** 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); } 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 # We need the libsupc++ include directory
STDINC = yes STDINC = yes
vpath %.cc $(BASE_DIR)/src/base/cxx vpath %.cc $(BASE_DIR)/src/lib/cxx
vpath %.c $(BASE_DIR)/src/base/cxx vpath %.c $(BASE_DIR)/src/lib/cxx
# #
# Here we define all symbols we want to hide in libsupc++ and libgcc_eh # 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; return !b ? 0 : -3;
} }
/* cut intersecting address range */ /* cut intersecting address range */
addr_t intersect_beg = max(base, b->addr()); addr_t intersect_beg = max(base, b->addr());
size_t intersect_end = min(base + size - 1, b->addr() + b->size() - 1); 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; Block *dst1, *dst2;
if (!_alloc_two_blocks_metadata(&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; b = b ? b->find_by_address(addr, size) : 0;
/* skip if there's no block or block is used */ /* 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(dst1, sizeof(Block));
_md_alloc->free(dst2, sizeof(Block)); _md_alloc->free(dst2, sizeof(Block));
return Alloc_return(Alloc_return::RANGE_CONFLICT); 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) bool Allocator_avl_base::any_block_addr(addr_t *out_addr)
{ {
Block * const b = _find_any_used_block(_addr_tree.first()); Block * const b = _find_any_used_block(_addr_tree.first());
*out_addr = b ? b->addr() : 0; *out_addr = b ? b->addr() : 0;
return b != nullptr; return b != nullptr;
} }

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