diff --git a/repos/base-fiasco/lib/mk/base-common.mk b/repos/base-fiasco/lib/mk/base-common.mk index beadde5fd..256326a15 100644 --- a/repos/base-fiasco/lib/mk/base-common.mk +++ b/repos/base-fiasco/lib/mk/base-common.mk @@ -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 diff --git a/repos/base-fiasco/lib/mk/base.mk b/repos/base-fiasco/lib/mk/base.mk index 0b0792e1d..a32c7ebd7 100644 --- a/repos/base-fiasco/lib/mk/base.mk +++ b/repos/base-fiasco/lib/mk/base.mk @@ -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 diff --git a/repos/base-fiasco/src/core/target.inc b/repos/base-fiasco/src/core/target.inc index 6468c6e85..155aed53b 100644 --- a/repos/base-fiasco/src/core/target.inc +++ b/repos/base-fiasco/src/core/target.inc @@ -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 diff --git a/repos/base-fiasco/src/base/ipc/ipc.cc b/repos/base-fiasco/src/lib/base/ipc.cc similarity index 100% rename from repos/base-fiasco/src/base/ipc/ipc.cc rename to repos/base-fiasco/src/lib/base/ipc.cc diff --git a/repos/base-fiasco/src/base/lock/lock.cc b/repos/base-fiasco/src/lib/base/lock.cc similarity index 100% rename from repos/base-fiasco/src/base/lock/lock.cc rename to repos/base-fiasco/src/lib/base/lock.cc diff --git a/repos/base-fiasco/src/base/sleep.cc b/repos/base-fiasco/src/lib/base/sleep.cc similarity index 100% rename from repos/base-fiasco/src/base/sleep.cc rename to repos/base-fiasco/src/lib/base/sleep.cc diff --git a/repos/base-fiasco/src/base/thread/thread_bootstrap.cc b/repos/base-fiasco/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-fiasco/src/base/thread/thread_bootstrap.cc rename to repos/base-fiasco/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-foc/lib/mk/base-common.inc b/repos/base-foc/lib/mk/base-common.inc index 21580206c..2cabb463b 100644 --- a/repos/base-foc/lib/mk/base-common.inc +++ b/repos/base-foc/lib/mk/base-common.inc @@ -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 diff --git a/repos/base-foc/lib/mk/base.inc b/repos/base-foc/lib/mk/base.inc index 7066fa964..846da4d43 100644 --- a/repos/base-foc/lib/mk/base.inc +++ b/repos/base-foc/lib/mk/base.inc @@ -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 diff --git a/repos/base-foc/src/core/target.inc b/repos/base-foc/src/core/target.inc index ca491cf30..4e2949eb3 100644 --- a/repos/base-foc/src/core/target.inc +++ b/repos/base-foc/src/core/target.inc @@ -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 diff --git a/repos/base-foc/src/base/cpu/cache.cc b/repos/base-foc/src/lib/base/cache.cc similarity index 100% rename from repos/base-foc/src/base/cpu/cache.cc rename to repos/base-foc/src/lib/base/cache.cc diff --git a/repos/base-foc/src/base/env/cap_alloc.cc b/repos/base-foc/src/lib/base/cap_alloc.cc similarity index 100% rename from repos/base-foc/src/base/env/cap_alloc.cc rename to repos/base-foc/src/lib/base/cap_alloc.cc diff --git a/repos/base-foc/src/base/env/cap_map.cc b/repos/base-foc/src/lib/base/cap_map.cc similarity index 100% rename from repos/base-foc/src/base/env/cap_map.cc rename to repos/base-foc/src/lib/base/cap_map.cc diff --git a/repos/base-foc/src/base/env/cap_map_remove.cc b/repos/base-foc/src/lib/base/cap_map_remove.cc similarity index 100% rename from repos/base-foc/src/base/env/cap_map_remove.cc rename to repos/base-foc/src/lib/base/cap_map_remove.cc diff --git a/repos/base-foc/src/base/ipc/ipc.cc b/repos/base-foc/src/lib/base/ipc.cc similarity index 100% rename from repos/base-foc/src/base/ipc/ipc.cc rename to repos/base-foc/src/lib/base/ipc.cc diff --git a/repos/base-foc/src/base/env/spin_lock.cc b/repos/base-foc/src/lib/base/spin_lock.cc similarity index 100% rename from repos/base-foc/src/base/env/spin_lock.cc rename to repos/base-foc/src/lib/base/spin_lock.cc diff --git a/repos/base-foc/src/base/thread/thread_bootstrap.cc b/repos/base-foc/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-foc/src/base/thread/thread_bootstrap.cc rename to repos/base-foc/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-foc/src/base/thread/myself.cc b/repos/base-foc/src/lib/base/thread_myself.cc similarity index 100% rename from repos/base-foc/src/base/thread/myself.cc rename to repos/base-foc/src/lib/base/thread_myself.cc diff --git a/repos/base-foc/src/base/thread/thread_start.cc b/repos/base-foc/src/lib/base/thread_start.cc similarity index 100% rename from repos/base-foc/src/base/thread/thread_start.cc rename to repos/base-foc/src/lib/base/thread_start.cc diff --git a/repos/base-hw/lib/mk/base-common.inc b/repos/base-hw/lib/mk/base-common.inc index 4dfd47315..030b7a141 100644 --- a/repos/base-hw/lib/mk/base-common.inc +++ b/repos/base-hw/lib/mk/base-common.inc @@ -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 diff --git a/repos/base-hw/lib/mk/base.mk b/repos/base-hw/lib/mk/base.mk index 7fbf4eacc..854ea1777 100644 --- a/repos/base-hw/lib/mk/base.mk +++ b/repos/base-hw/lib/mk/base.mk @@ -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 diff --git a/repos/base-hw/lib/mk/spec/arm/base-common.mk b/repos/base-hw/lib/mk/spec/arm/base-common.mk index b4df9fb7b..8da893acb 100644 --- a/repos/base-hw/lib/mk/spec/arm/base-common.mk +++ b/repos/base-hw/lib/mk/spec/arm/base-common.mk @@ -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 diff --git a/repos/base-hw/lib/mk/spec/riscv/base-common.mk b/repos/base-hw/lib/mk/spec/riscv/base-common.mk index ae4f01399..68e72e995 100644 --- a/repos/base-hw/lib/mk/spec/riscv/base-common.mk +++ b/repos/base-hw/lib/mk/spec/riscv/base-common.mk @@ -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 diff --git a/repos/base-hw/lib/mk/spec/x86_64/base-common.mk b/repos/base-hw/lib/mk/spec/x86_64/base-common.mk index ee9596107..756e04751 100644 --- a/repos/base-hw/lib/mk/spec/x86_64/base-common.mk +++ b/repos/base-hw/lib/mk/spec/x86_64/base-common.mk @@ -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 diff --git a/repos/base-hw/src/base/arm/kernel/interface.cc b/repos/base-hw/src/lib/base/arm/kernel/interface.cc similarity index 100% rename from repos/base-hw/src/base/arm/kernel/interface.cc rename to repos/base-hw/src/lib/base/arm/kernel/interface.cc diff --git a/repos/base-hw/src/base/cpu/cache.cc b/repos/base-hw/src/lib/base/cache.cc similarity index 100% rename from repos/base-hw/src/base/cpu/cache.cc rename to repos/base-hw/src/lib/base/cache.cc diff --git a/repos/base-hw/src/base/capability.cc b/repos/base-hw/src/lib/base/capability.cc similarity index 100% rename from repos/base-hw/src/base/capability.cc rename to repos/base-hw/src/lib/base/capability.cc diff --git a/repos/base-hw/src/base/env.cc b/repos/base-hw/src/lib/base/env.cc similarity index 100% rename from repos/base-hw/src/base/env.cc rename to repos/base-hw/src/lib/base/env.cc diff --git a/repos/base-hw/src/base/ipc/ipc.cc b/repos/base-hw/src/lib/base/ipc.cc similarity index 100% rename from repos/base-hw/src/base/ipc/ipc.cc rename to repos/base-hw/src/lib/base/ipc.cc diff --git a/repos/base-hw/src/base/riscv/kernel/interface.cc b/repos/base-hw/src/lib/base/riscv/kernel/interface.cc similarity index 100% rename from repos/base-hw/src/base/riscv/kernel/interface.cc rename to repos/base-hw/src/lib/base/riscv/kernel/interface.cc diff --git a/repos/base-hw/src/base/signal/signal.cc b/repos/base-hw/src/lib/base/signal.cc similarity index 100% rename from repos/base-hw/src/base/signal/signal.cc rename to repos/base-hw/src/lib/base/signal.cc diff --git a/repos/base-hw/src/base/thread/bootstrap.cc b/repos/base-hw/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-hw/src/base/thread/bootstrap.cc rename to repos/base-hw/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-hw/src/base/thread/start.cc b/repos/base-hw/src/lib/base/thread_start.cc similarity index 100% rename from repos/base-hw/src/base/thread/start.cc rename to repos/base-hw/src/lib/base/thread_start.cc diff --git a/repos/base-hw/src/base/x86_64/kernel/interface.cc b/repos/base-hw/src/lib/base/x86_64/kernel/interface.cc similarity index 100% rename from repos/base-hw/src/base/x86_64/kernel/interface.cc rename to repos/base-hw/src/lib/base/x86_64/kernel/interface.cc diff --git a/repos/base-linux/lib/mk/base-common.mk b/repos/base-linux/lib/mk/base-common.mk index 851e9d3e9..2fa17ca2d 100644 --- a/repos/base-linux/lib/mk/base-common.mk +++ b/repos/base-linux/lib/mk/base-common.mk @@ -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 diff --git a/repos/base-linux/lib/mk/base.inc b/repos/base-linux/lib/mk/base.inc index 42572634c..6baebafa4 100644 --- a/repos/base-linux/lib/mk/base.inc +++ b/repos/base-linux/lib/mk/base.inc @@ -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 diff --git a/repos/base-linux/lib/mk/base.mk b/repos/base-linux/lib/mk/base.mk index a5bce959c..372407127 100644 --- a/repos/base-linux/lib/mk/base.mk +++ b/repos/base-linux/lib/mk/base.mk @@ -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 diff --git a/repos/base-linux/lib/mk/lx_hybrid.mk b/repos/base-linux/lib/mk/lx_hybrid.mk index e8904c9a0..36183ac68 100644 --- a/repos/base-linux/lib/mk/lx_hybrid.mk +++ b/repos/base-linux/lib/mk/lx_hybrid.mk @@ -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 diff --git a/repos/base-linux/lib/mk/spec/x86/base.mk b/repos/base-linux/lib/mk/spec/x86/base.mk index 3dbbc67cd..831a5b846 100644 --- a/repos/base-linux/lib/mk/spec/x86/base.mk +++ b/repos/base-linux/lib/mk/spec/x86/base.mk @@ -4,6 +4,6 @@ # \date 2014-05-14 # -SRC_CC += cpu/cache.cc +SRC_CC += cache.cc include $(REP_DIR)/lib/mk/base.mk diff --git a/repos/base-linux/src/core/target.mk b/repos/base-linux/src/core/target.mk index bdc8b4fcf..a4a8905a4 100644 --- a/repos/base-linux/src/core/target.mk +++ b/repos/base-linux/src/core/target.mk @@ -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) diff --git a/repos/base-linux/src/include/base/internal/platform_env.h b/repos/base-linux/src/include/base/internal/platform_env.h index c273d0f02..466b4eb1c 100644 --- a/repos/base-linux/src/include/base/internal/platform_env.h +++ b/repos/base-linux/src/include/base/internal/platform_env.h @@ -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 &) override { } + void reinit(Native_capability::Dst, long) override; + void reinit_main_thread(Capability &) override; }; diff --git a/repos/base-linux/src/base/child/process.cc b/repos/base-linux/src/lib/base/child_process.cc similarity index 100% rename from repos/base-linux/src/base/child/process.cc rename to repos/base-linux/src/lib/base/child_process.cc diff --git a/repos/base-linux/src/base/cpu/arm/cache.cc b/repos/base-linux/src/lib/base/cpu/arm/cache.cc similarity index 100% rename from repos/base-linux/src/base/cpu/arm/cache.cc rename to repos/base-linux/src/lib/base/cpu/arm/cache.cc diff --git a/repos/base-linux/src/base/env/debug.cc b/repos/base-linux/src/lib/base/debug.cc similarity index 100% rename from repos/base-linux/src/base/env/debug.cc rename to repos/base-linux/src/lib/base/debug.cc diff --git a/repos/base-linux/src/lib/base/env_reinit.cc b/repos/base-linux/src/lib/base/env_reinit.cc new file mode 100644 index 000000000..0c7bd5464 --- /dev/null +++ b/repos/base-linux/src/lib/base/env_reinit.cc @@ -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 + + +void Genode::Platform_env_base::reinit(Native_capability::Dst, long) { } + + +void Genode::Platform_env_base::reinit_main_thread(Capability &) { } diff --git a/repos/base-linux/src/base/ipc/ipc.cc b/repos/base-linux/src/lib/base/ipc.cc similarity index 100% rename from repos/base-linux/src/base/ipc/ipc.cc rename to repos/base-linux/src/lib/base/ipc.cc diff --git a/repos/base-linux/src/base/env/platform_env.cc b/repos/base-linux/src/lib/base/platform_env.cc similarity index 100% rename from repos/base-linux/src/base/env/platform_env.cc rename to repos/base-linux/src/lib/base/platform_env.cc diff --git a/repos/base-linux/src/base/region_map_client.cc b/repos/base-linux/src/lib/base/region_map_client.cc similarity index 100% rename from repos/base-linux/src/base/region_map_client.cc rename to repos/base-linux/src/lib/base/region_map_client.cc diff --git a/repos/base-linux/src/base/env/region_map_mmap.cc b/repos/base-linux/src/lib/base/region_map_mmap.cc similarity index 100% rename from repos/base-linux/src/base/env/region_map_mmap.cc rename to repos/base-linux/src/lib/base/region_map_mmap.cc diff --git a/repos/base-linux/src/base/rm_session_client.cc b/repos/base-linux/src/lib/base/rm_session_client.cc similarity index 100% rename from repos/base-linux/src/base/rm_session_client.cc rename to repos/base-linux/src/lib/base/rm_session_client.cc diff --git a/repos/base-linux/src/base/thread/thread_env.cc b/repos/base-linux/src/lib/base/thread_env.cc similarity index 100% rename from repos/base-linux/src/base/thread/thread_env.cc rename to repos/base-linux/src/lib/base/thread_env.cc diff --git a/repos/base-linux/src/base/thread/thread_linux.cc b/repos/base-linux/src/lib/base/thread_linux.cc similarity index 100% rename from repos/base-linux/src/base/thread/thread_linux.cc rename to repos/base-linux/src/lib/base/thread_linux.cc diff --git a/repos/base-nova/lib/mk/base-common.mk b/repos/base-nova/lib/mk/base-common.mk index b4874892b..66b1c3cc9 100644 --- a/repos/base-nova/lib/mk/base-common.mk +++ b/repos/base-nova/lib/mk/base-common.mk @@ -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 diff --git a/repos/base-nova/lib/mk/base.mk b/repos/base-nova/lib/mk/base.mk index 02269b63c..a32c7ebd7 100644 --- a/repos/base-nova/lib/mk/base.mk +++ b/repos/base-nova/lib/mk/base.mk @@ -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 diff --git a/repos/base-nova/src/core/target.inc b/repos/base-nova/src/core/target.inc index 8d965965e..8104d9efa 100644 --- a/repos/base-nova/src/core/target.inc +++ b/repos/base-nova/src/core/target.inc @@ -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 diff --git a/repos/base-nova/src/base/env/cap_map.cc b/repos/base-nova/src/lib/base/cap_map.cc similarity index 100% rename from repos/base-nova/src/base/env/cap_map.cc rename to repos/base-nova/src/lib/base/cap_map.cc diff --git a/repos/base-nova/src/base/ipc/ipc.cc b/repos/base-nova/src/lib/base/ipc.cc similarity index 100% rename from repos/base-nova/src/base/ipc/ipc.cc rename to repos/base-nova/src/lib/base/ipc.cc diff --git a/repos/base-nova/src/base/region_map_client.cc b/repos/base-nova/src/lib/base/region_map_client.cc similarity index 100% rename from repos/base-nova/src/base/region_map_client.cc rename to repos/base-nova/src/lib/base/region_map_client.cc diff --git a/repos/base-nova/src/base/server/rpc_cap_alloc.cc b/repos/base-nova/src/lib/base/rpc_cap_alloc.cc similarity index 100% rename from repos/base-nova/src/base/server/rpc_cap_alloc.cc rename to repos/base-nova/src/lib/base/rpc_cap_alloc.cc diff --git a/repos/base-nova/src/base/server/server.cc b/repos/base-nova/src/lib/base/rpc_entrypoint.cc similarity index 100% rename from repos/base-nova/src/base/server/server.cc rename to repos/base-nova/src/lib/base/rpc_entrypoint.cc diff --git a/repos/base-nova/src/base/signal/platform.cc b/repos/base-nova/src/lib/base/signal_submit.cc similarity index 100% rename from repos/base-nova/src/base/signal/platform.cc rename to repos/base-nova/src/lib/base/signal_submit.cc diff --git a/repos/base-nova/src/base/sleep.cc b/repos/base-nova/src/lib/base/sleep.cc similarity index 100% rename from repos/base-nova/src/base/sleep.cc rename to repos/base-nova/src/lib/base/sleep.cc diff --git a/repos/base-nova/src/base/thread/stack.cc b/repos/base-nova/src/lib/base/stack.cc similarity index 100% rename from repos/base-nova/src/base/thread/stack.cc rename to repos/base-nova/src/lib/base/stack.cc diff --git a/repos/base-nova/src/base/thread/thread_nova.cc b/repos/base-nova/src/lib/base/thread_start.cc similarity index 100% rename from repos/base-nova/src/base/thread/thread_nova.cc rename to repos/base-nova/src/lib/base/thread_start.cc diff --git a/repos/base-okl4/lib/mk/base-common.mk b/repos/base-okl4/lib/mk/base-common.mk index beadde5fd..256326a15 100644 --- a/repos/base-okl4/lib/mk/base-common.mk +++ b/repos/base-okl4/lib/mk/base-common.mk @@ -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 diff --git a/repos/base-okl4/lib/mk/base.mk b/repos/base-okl4/lib/mk/base.mk index a58ec8a40..a32c7ebd7 100644 --- a/repos/base-okl4/lib/mk/base.mk +++ b/repos/base-okl4/lib/mk/base.mk @@ -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 diff --git a/repos/base-okl4/src/base/bootinfo/README b/repos/base-okl4/src/base/bootinfo/README deleted file mode 100644 index f62768eae..000000000 --- a/repos/base-okl4/src/base/bootinfo/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains support code for building Iguana's bootinfo -library from within Genode's build process. diff --git a/repos/base-okl4/src/core/target.inc b/repos/base-okl4/src/core/target.inc index ecc1f4971..4c2714873 100644 --- a/repos/base-okl4/src/core/target.inc +++ b/repos/base-okl4/src/core/target.inc @@ -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 diff --git a/repos/base-okl4/src/base/ipc/ipc.cc b/repos/base-okl4/src/lib/base/ipc.cc similarity index 100% rename from repos/base-okl4/src/base/ipc/ipc.cc rename to repos/base-okl4/src/lib/base/ipc.cc diff --git a/repos/base-okl4/src/base/thread/thread_bootstrap.cc b/repos/base-okl4/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-okl4/src/base/thread/thread_bootstrap.cc rename to repos/base-okl4/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-pistachio/lib/mk/base-common.mk b/repos/base-pistachio/lib/mk/base-common.mk index 68e0b9759..6730a5da9 100644 --- a/repos/base-pistachio/lib/mk/base-common.mk +++ b/repos/base-pistachio/lib/mk/base-common.mk @@ -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 diff --git a/repos/base-pistachio/lib/mk/base.mk b/repos/base-pistachio/lib/mk/base.mk index 0b0792e1d..a32c7ebd7 100644 --- a/repos/base-pistachio/lib/mk/base.mk +++ b/repos/base-pistachio/lib/mk/base.mk @@ -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 diff --git a/repos/base-pistachio/src/core/target.inc b/repos/base-pistachio/src/core/target.inc index 1fb097186..ca4be55b6 100644 --- a/repos/base-pistachio/src/core/target.inc +++ b/repos/base-pistachio/src/core/target.inc @@ -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 diff --git a/repos/base-pistachio/src/base/ipc/ipc.cc b/repos/base-pistachio/src/lib/base/ipc.cc similarity index 100% rename from repos/base-pistachio/src/base/ipc/ipc.cc rename to repos/base-pistachio/src/lib/base/ipc.cc diff --git a/repos/base-pistachio/src/base/thread/thread_bootstrap.cc b/repos/base-pistachio/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-pistachio/src/base/thread/thread_bootstrap.cc rename to repos/base-pistachio/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-sel4/lib/mk/base-common.inc b/repos/base-sel4/lib/mk/base-common.inc index 3ad62dbc1..4a23a090c 100644 --- a/repos/base-sel4/lib/mk/base-common.inc +++ b/repos/base-sel4/lib/mk/base-common.inc @@ -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 diff --git a/repos/base-sel4/lib/mk/base.mk b/repos/base-sel4/lib/mk/base.mk index f2bd01200..cb85faed8 100644 --- a/repos/base-sel4/lib/mk/base.mk +++ b/repos/base-sel4/lib/mk/base.mk @@ -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 diff --git a/repos/base-sel4/lib/mk/core_printf.mk b/repos/base-sel4/lib/mk/core_printf.mk index d5303f861..73575bc93 100644 --- a/repos/base-sel4/lib/mk/core_printf.mk +++ b/repos/base-sel4/lib/mk/core_printf.mk @@ -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 diff --git a/repos/base-sel4/src/base/env/capability.cc b/repos/base-sel4/src/lib/base/capability.cc similarity index 100% rename from repos/base-sel4/src/base/env/capability.cc rename to repos/base-sel4/src/lib/base/capability.cc diff --git a/repos/base-sel4/src/base/env/capability_space.cc b/repos/base-sel4/src/lib/base/capability_space.cc similarity index 100% rename from repos/base-sel4/src/base/env/capability_space.cc rename to repos/base-sel4/src/lib/base/capability_space.cc diff --git a/repos/base-sel4/src/base/ipc/ipc.cc b/repos/base-sel4/src/lib/base/ipc.cc similarity index 100% rename from repos/base-sel4/src/base/ipc/ipc.cc rename to repos/base-sel4/src/lib/base/ipc.cc diff --git a/repos/base-sel4/src/base/lock/lock.cc b/repos/base-sel4/src/lib/base/lock.cc similarity index 100% rename from repos/base-sel4/src/base/lock/lock.cc rename to repos/base-sel4/src/lib/base/lock.cc diff --git a/repos/base-sel4/src/base/thread/thread_bootstrap.cc b/repos/base-sel4/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base-sel4/src/base/thread/thread_bootstrap.cc rename to repos/base-sel4/src/lib/base/thread_bootstrap.cc diff --git a/repos/base-sel4/src/base/thread/thread_init.cc b/repos/base-sel4/src/lib/base/thread_init.cc similarity index 100% rename from repos/base-sel4/src/base/thread/thread_init.cc rename to repos/base-sel4/src/lib/base/thread_init.cc diff --git a/repos/base-sel4/src/base/thread/thread_sel4.cc b/repos/base-sel4/src/lib/base/thread_sel4.cc similarity index 100% rename from repos/base-sel4/src/base/thread/thread_sel4.cc rename to repos/base-sel4/src/lib/base/thread_sel4.cc diff --git a/repos/base/include/irq_session/client.h b/repos/base/include/irq_session/client.h index 5112571a3..8428ea3c9 100644 --- a/repos/base/include/irq_session/client.h +++ b/repos/base/include/irq_session/client.h @@ -41,7 +41,7 @@ struct Genode::Irq_session_client : Rpc_client ** Irq_session ** *****************/ - void ack_irq() override; + void ack_irq() override { call(); } void sigh(Signal_context_capability sigh) override { call(sigh); } diff --git a/repos/base/lib/mk/base-common.inc b/repos/base/lib/mk/base-common.inc new file mode 100644 index 000000000..83e2ed042 --- /dev/null +++ b/repos/base/lib/mk/base-common.inc @@ -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 diff --git a/repos/base/lib/mk/base.inc b/repos/base/lib/mk/base.inc new file mode 100644 index 000000000..5db96c6ff --- /dev/null +++ b/repos/base/lib/mk/base.inc @@ -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 diff --git a/repos/base/lib/mk/cxx.mk b/repos/base/lib/mk/cxx.mk index 4d86d51ea..7870d2f91 100644 --- a/repos/base/lib/mk/cxx.mk +++ b/repos/base/lib/mk/cxx.mk @@ -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 diff --git a/repos/base/src/base/README b/repos/base/src/base/README deleted file mode 100644 index e7f1aba52..000000000 --- a/repos/base/src/base/README +++ /dev/null @@ -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. diff --git a/repos/base/src/base/allocator/README b/repos/base/src/base/allocator/README deleted file mode 100644 index d51637565..000000000 --- a/repos/base/src/base/allocator/README +++ /dev/null @@ -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). diff --git a/repos/base/src/base/irq/platform.cc b/repos/base/src/base/irq/platform.cc deleted file mode 100644 index 14b85ab13..000000000 --- a/repos/base/src/base/irq/platform.cc +++ /dev/null @@ -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 - -void Genode::Irq_session_client::ack_irq() -{ - call(); -} diff --git a/repos/base/src/base/allocator/allocator_avl.cc b/repos/base/src/lib/base/allocator_avl.cc similarity index 98% rename from repos/base/src/base/allocator/allocator_avl.cc rename to repos/base/src/lib/base/allocator_avl.cc index 9c869e284..b98d14eaa 100644 --- a/repos/base/src/base/allocator/allocator_avl.cc +++ b/repos/base/src/lib/base/allocator_avl.cc @@ -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; } diff --git a/repos/base/src/base/avl_tree/avl_tree.cc b/repos/base/src/lib/base/avl_tree.cc similarity index 100% rename from repos/base/src/base/avl_tree/avl_tree.cc rename to repos/base/src/lib/base/avl_tree.cc diff --git a/repos/base/src/base/cpu/cache.cc b/repos/base/src/lib/base/cache.cc similarity index 100% rename from repos/base/src/base/cpu/cache.cc rename to repos/base/src/lib/base/cache.cc diff --git a/repos/base/src/base/child/child.cc b/repos/base/src/lib/base/child.cc similarity index 100% rename from repos/base/src/base/child/child.cc rename to repos/base/src/lib/base/child.cc diff --git a/repos/base/src/base/child/process.cc b/repos/base/src/lib/base/child_process.cc similarity index 100% rename from repos/base/src/base/child/process.cc rename to repos/base/src/lib/base/child_process.cc diff --git a/repos/base/src/base/component/component.cc b/repos/base/src/lib/base/component.cc similarity index 100% rename from repos/base/src/base/component/component.cc rename to repos/base/src/lib/base/component.cc diff --git a/repos/base/src/base/console/console.cc b/repos/base/src/lib/base/console.cc similarity index 100% rename from repos/base/src/base/console/console.cc rename to repos/base/src/lib/base/console.cc diff --git a/repos/base/src/base/console/core_printf.cc b/repos/base/src/lib/base/core_printf.cc similarity index 100% rename from repos/base/src/base/console/core_printf.cc rename to repos/base/src/lib/base/core_printf.cc diff --git a/repos/base/src/base/elf/elf_binary.cc b/repos/base/src/lib/base/elf_binary.cc similarity index 98% rename from repos/base/src/base/elf/elf_binary.cc rename to repos/base/src/lib/base/elf_binary.cc index 2ab60aca1..4721da327 100644 --- a/repos/base/src/base/elf/elf_binary.cc +++ b/repos/base/src/lib/base/elf_binary.cc @@ -2,8 +2,6 @@ * \brief ELF binary utility * \author Christian Helmuth * \date 2006-05-04 - * - * XXX define some useful return values for error checking */ /* diff --git a/repos/base/src/base/entrypoint/entrypoint.cc b/repos/base/src/lib/base/entrypoint.cc similarity index 100% rename from repos/base/src/base/entrypoint/entrypoint.cc rename to repos/base/src/lib/base/entrypoint.cc diff --git a/repos/base/src/base/env/env.cc b/repos/base/src/lib/base/env_deprecated.cc similarity index 100% rename from repos/base/src/base/env/env.cc rename to repos/base/src/lib/base/env_deprecated.cc diff --git a/repos/base/src/base/env/reinitialize.cc b/repos/base/src/lib/base/env_reinit.cc similarity index 100% rename from repos/base/src/base/env/reinitialize.cc rename to repos/base/src/lib/base/env_reinit.cc diff --git a/repos/base/src/base/heap/heap.cc b/repos/base/src/lib/base/heap.cc similarity index 100% rename from repos/base/src/base/heap/heap.cc rename to repos/base/src/lib/base/heap.cc diff --git a/repos/base/src/base/lock/lock.cc b/repos/base/src/lib/base/lock.cc similarity index 95% rename from repos/base/src/base/lock/lock.cc rename to repos/base/src/lib/base/lock.cc index bd3d500df..a345bc1b1 100644 --- a/repos/base/src/base/lock/lock.cc +++ b/repos/base/src/lib/base/lock.cc @@ -20,11 +20,6 @@ using namespace Genode; -/** - * Track interesting lock conditions, counters are only used for testing - */ -int debug_lock_sleep_race_cnt; - static inline Genode::Thread_base *invalid_thread_base() { @@ -48,7 +43,7 @@ void Cancelable_lock::Applicant::wake_up() /* * Deal with the race that may occur in the 'lock' function between - * releasing the spinlock and calling 'L4_Stop'. + * releasing the spinlock and blocking myself. */ for (;;) { @@ -56,7 +51,6 @@ void Cancelable_lock::Applicant::wake_up() if (thread_check_stopped_and_restart(_thread_base)) return; - debug_lock_sleep_race_cnt++; /* only for statistics */ thread_switch_to(_thread_base); } } diff --git a/repos/base/src/base/console/log_console.cc b/repos/base/src/lib/base/log_console.cc similarity index 100% rename from repos/base/src/base/console/log_console.cc rename to repos/base/src/lib/base/log_console.cc diff --git a/repos/base/src/base/region_map_client.cc b/repos/base/src/lib/base/region_map_client.cc similarity index 100% rename from repos/base/src/base/region_map_client.cc rename to repos/base/src/lib/base/region_map_client.cc diff --git a/repos/base/src/base/rm_session_client.cc b/repos/base/src/lib/base/rm_session_client.cc similarity index 100% rename from repos/base/src/base/rm_session_client.cc rename to repos/base/src/lib/base/rm_session_client.cc diff --git a/repos/base/src/base/server/rpc_cap_alloc.cc b/repos/base/src/lib/base/rpc_cap_alloc.cc similarity index 92% rename from repos/base/src/base/server/rpc_cap_alloc.cc rename to repos/base/src/lib/base/rpc_cap_alloc.cc index b470cde18..3c110f419 100644 --- a/repos/base/src/base/server/rpc_cap_alloc.cc +++ b/repos/base/src/lib/base/rpc_cap_alloc.cc @@ -1,5 +1,5 @@ /* - * \brief Core-specific back end of the RPC entrypoint + * \brief RPC entrypoint support for allocating RPC object capabilities * \author Norman Feske * \date 2016-01-19 */ diff --git a/repos/base/src/base/server/server.cc b/repos/base/src/lib/base/rpc_dispatch_loop.cc similarity index 100% rename from repos/base/src/base/server/server.cc rename to repos/base/src/lib/base/rpc_dispatch_loop.cc diff --git a/repos/base/src/base/server/common.cc b/repos/base/src/lib/base/rpc_entrypoint.cc similarity index 100% rename from repos/base/src/base/server/common.cc rename to repos/base/src/lib/base/rpc_entrypoint.cc diff --git a/repos/base/src/base/signal/signal.cc b/repos/base/src/lib/base/signal.cc similarity index 99% rename from repos/base/src/base/signal/signal.cc rename to repos/base/src/lib/base/signal.cc index 03bd61ffa..7665467f7 100644 --- a/repos/base/src/base/signal/signal.cc +++ b/repos/base/src/lib/base/signal.cc @@ -302,9 +302,12 @@ void Signal_receiver::dispatch_signals(Signal_source *signal_source) } } + void Signal_receiver::_platform_begin_dissolve(Signal_context *) { } + void Signal_receiver::_platform_finish_dissolve(Signal_context * const c) { signal_context_registry()->remove(&c->_registry_le); } + void Signal_receiver::_platform_destructor() { } diff --git a/repos/base/src/base/signal/common.cc b/repos/base/src/lib/base/signal_common.cc similarity index 100% rename from repos/base/src/base/signal/common.cc rename to repos/base/src/lib/base/signal_common.cc diff --git a/repos/base/src/base/signal/platform.cc b/repos/base/src/lib/base/signal_submit.cc similarity index 87% rename from repos/base/src/base/signal/platform.cc rename to repos/base/src/lib/base/signal_submit.cc index 728cdf62a..3e079a64d 100644 --- a/repos/base/src/base/signal/platform.cc +++ b/repos/base/src/lib/base/signal_submit.cc @@ -1,6 +1,5 @@ /* - * \brief Generic implementation parts of the signaling framework which are - * implemented platform specifically, e.g. base-hw and base-nova. + * \brief Generic implementation parts of the signaling framework * \author Norman Feske * \author Alexander Boettcher */ diff --git a/repos/base/src/base/allocator/slab.cc b/repos/base/src/lib/base/slab.cc similarity index 100% rename from repos/base/src/base/allocator/slab.cc rename to repos/base/src/lib/base/slab.cc diff --git a/repos/base/src/base/sleep.cc b/repos/base/src/lib/base/sleep.cc similarity index 100% rename from repos/base/src/base/sleep.cc rename to repos/base/src/lib/base/sleep.cc diff --git a/repos/base/src/base/heap/sliced_heap.cc b/repos/base/src/lib/base/sliced_heap.cc similarity index 100% rename from repos/base/src/base/heap/sliced_heap.cc rename to repos/base/src/lib/base/sliced_heap.cc diff --git a/repos/base/src/base/thread/stack_allocator.cc b/repos/base/src/lib/base/stack_allocator.cc similarity index 100% rename from repos/base/src/base/thread/stack_allocator.cc rename to repos/base/src/lib/base/stack_allocator.cc diff --git a/repos/base/src/base/env/stack_area.cc b/repos/base/src/lib/base/stack_area.cc similarity index 100% rename from repos/base/src/base/env/stack_area.cc rename to repos/base/src/lib/base/stack_area.cc diff --git a/repos/base/src/base/thread/thread.cc b/repos/base/src/lib/base/thread.cc similarity index 96% rename from repos/base/src/base/thread/thread.cc rename to repos/base/src/lib/base/thread.cc index ea46180e6..53048bcb2 100644 --- a/repos/base/src/base/thread/thread.cc +++ b/repos/base/src/lib/base/thread.cc @@ -32,7 +32,6 @@ using namespace Genode; * This function is provided by the process environment. */ namespace Genode { - extern Region_map * const env_stack_area_region_map; extern Ram_session * const env_stack_area_ram_session; } @@ -46,9 +45,9 @@ void Stack::size(size_t const size) /* check if the stack enhancement fits the stack region */ enum { - UTCB_SIZE = sizeof(Native_utcb), - PAGE_SIZE_LOG2 = 12, - PAGE_SIZE = (1UL << PAGE_SIZE_LOG2), + UTCB_SIZE = sizeof(Native_utcb), + PAGE_SIZE_LOG2 = 12, + PAGE_SIZE = (1UL << PAGE_SIZE_LOG2), }; addr_t const stack_slot_base = Stack_allocator::addr_to_base(this); size_t const ds_size = align_addr(size - stack_size, PAGE_SIZE_LOG2); @@ -160,7 +159,7 @@ void Thread_base::name(char *dst, size_t dst_len) void Thread_base::join() { _join_lock.lock(); } -void* Thread_base::alloc_secondary_stack(char const *name, size_t stack_size) +void *Thread_base::alloc_secondary_stack(char const *name, size_t stack_size) { Stack *stack = _alloc_stack(stack_size, name, false); return (void *)stack->top(); @@ -213,7 +212,7 @@ Thread_base::Thread_base(size_t weight, const char *name, size_t stack_size, _affinity(affinity), _trace_control(nullptr), _stack(type == REINITIALIZED_MAIN ? - _stack : _alloc_stack(stack_size, name, type == MAIN)), + _stack : _alloc_stack(stack_size, name, type == MAIN)), _join_lock(Lock::LOCKED) { _init_platform_thread(weight, type); diff --git a/repos/base/src/base/thread/thread_bootstrap_empty.cc b/repos/base/src/lib/base/thread_bootstrap.cc similarity index 100% rename from repos/base/src/base/thread/thread_bootstrap_empty.cc rename to repos/base/src/lib/base/thread_bootstrap.cc diff --git a/repos/base/src/base/thread/myself.cc b/repos/base/src/lib/base/thread_myself.cc similarity index 100% rename from repos/base/src/base/thread/myself.cc rename to repos/base/src/lib/base/thread_myself.cc diff --git a/repos/base/src/base/thread/thread_start.cc b/repos/base/src/lib/base/thread_start.cc similarity index 96% rename from repos/base/src/base/thread/thread_start.cc rename to repos/base/src/lib/base/thread_start.cc index e1e636a0d..6e89244f7 100644 --- a/repos/base/src/base/thread/thread_start.cc +++ b/repos/base/src/lib/base/thread_start.cc @@ -1,5 +1,5 @@ /* - * \brief NOVA-specific implementation of the Thread API + * \brief Implementation of the Thread API * \author Norman Feske * \date 2010-01-19 */ diff --git a/repos/base/src/base/thread/trace.cc b/repos/base/src/lib/base/trace.cc similarity index 100% rename from repos/base/src/base/thread/trace.cc rename to repos/base/src/lib/base/trace.cc diff --git a/repos/base/src/base/thread/thread_utcb.cc b/repos/base/src/lib/base/utcb.cc similarity index 72% rename from repos/base/src/base/thread/thread_utcb.cc rename to repos/base/src/lib/base/utcb.cc index a0d3b732c..53db69051 100644 --- a/repos/base/src/base/thread/thread_utcb.cc +++ b/repos/base/src/lib/base/utcb.cc @@ -1,5 +1,5 @@ /* - * \brief Fiasco-specific implementation of the thread API + * \brief Accessor to user-level thread-control block (UTCB) * \author Norman Feske * \date 2016-01-23 */ @@ -18,10 +18,5 @@ #include #include -using namespace Genode; - -Native_utcb *Thread_base::utcb() -{ - return &_stack->utcb(); -} +Genode::Native_utcb *Genode::Thread_base::utcb() { return &_stack->utcb(); } diff --git a/repos/base/src/base/cxx/exception.cc b/repos/base/src/lib/cxx/exception.cc similarity index 100% rename from repos/base/src/base/cxx/exception.cc rename to repos/base/src/lib/cxx/exception.cc diff --git a/repos/base/src/base/cxx/guard.cc b/repos/base/src/lib/cxx/guard.cc similarity index 100% rename from repos/base/src/base/cxx/guard.cc rename to repos/base/src/lib/cxx/guard.cc diff --git a/repos/base/src/base/cxx/malloc_free.cc b/repos/base/src/lib/cxx/malloc_free.cc similarity index 100% rename from repos/base/src/base/cxx/malloc_free.cc rename to repos/base/src/lib/cxx/malloc_free.cc diff --git a/repos/base/src/base/cxx/misc.cc b/repos/base/src/lib/cxx/misc.cc similarity index 100% rename from repos/base/src/base/cxx/misc.cc rename to repos/base/src/lib/cxx/misc.cc diff --git a/repos/base/src/base/cxx/new_delete.cc b/repos/base/src/lib/cxx/new_delete.cc similarity index 100% rename from repos/base/src/base/cxx/new_delete.cc rename to repos/base/src/lib/cxx/new_delete.cc diff --git a/repos/base/src/base/cxx/unwind.c b/repos/base/src/lib/cxx/unwind.c similarity index 100% rename from repos/base/src/base/cxx/unwind.c rename to repos/base/src/lib/cxx/unwind.c diff --git a/repos/libports/src/lib/libc/libc_mem_alloc.cc b/repos/libports/src/lib/libc/libc_mem_alloc.cc index 6dd0b7d90..676105a9a 100644 --- a/repos/libports/src/lib/libc/libc_mem_alloc.cc +++ b/repos/libports/src/lib/libc/libc_mem_alloc.cc @@ -10,7 +10,7 @@ * assumed to be page-aligned. * * The code is largely based on 'base/include/base/heap.h' and - * 'base/src/base/heap/heap.cc'. + * 'base/src/lib/base/heap.cc'. */ /* Genode includes */ diff --git a/repos/os/src/drivers/timer/spec/pistachio/platform_timer.cc b/repos/os/src/drivers/timer/spec/pistachio/platform_timer.cc index 22957f482..759e987dd 100644 --- a/repos/os/src/drivers/timer/spec/pistachio/platform_timer.cc +++ b/repos/os/src/drivers/timer/spec/pistachio/platform_timer.cc @@ -41,10 +41,6 @@ void Platform_timer::_usleep(unsigned long usecs) { using namespace Pistachio; - /* - * See 'base/src/base/lock' for a description of how the - * user-defined handle is used. - */ enum { MAGIC_USER_DEFINED_HANDLE = 13 }; L4_Set_UserDefinedHandle(MAGIC_USER_DEFINED_HANDLE);