mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-28 07:04:14 +00:00
1208d14681
* Adds public timeout syscalls to kernel API * Kernel::timeout installs a timeout and binds a signal context to it that shall trigger once the timeout expired * With Kernel::timeout_max_us, one can get the maximum installable timeout * Kernel::timeout_age_us returns the time that has passed since the calling threads last timeout installation * Removes all device specific back-ends for the base-hw timer driver and implements a generic back-end taht uses the kernel timeout API * Adds assertions about the kernel timer frequency that originate from the requirements of the the kernel timeout API and adjusts all timers accordingly by using the their internal dividers * Introduces the Kernel::Clock class. As member of each Kernel::Cpu object it combines the management of the timer of the CPU with a timeout scheduler. Not only the timeout API uses the timeout scheduler but also the CPUs job scheduler for installing scheduling timeouts. * Introduces the Kernel::time_t type for timer tic values and values inherited from timer tics (like microseconds). Fixes #1972
84 lines
2.2 KiB
PHP
84 lines
2.2 KiB
PHP
#
|
|
# \brief Build config for Genodes core process
|
|
# \author Martin Stein
|
|
# \date 2011-12-16
|
|
#
|
|
|
|
# add library dependencies
|
|
LIBS += core-perf_counter
|
|
|
|
# add library dependencies
|
|
LIBS += base-common
|
|
|
|
# add include paths
|
|
INC_DIR += $(BASE_HW_DIR)/src/core/include $(BASE_DIR)/src/core/include
|
|
INC_DIR += $(BASE_HW_DIR)/src/include $(BASE_DIR)/src/include
|
|
|
|
# add C++ sources
|
|
SRC_CC += console.cc
|
|
SRC_CC += cpu_session_component.cc
|
|
SRC_CC += cpu_session_support.cc
|
|
SRC_CC += cpu_thread_component.cc
|
|
SRC_CC += core_region_map.cc
|
|
SRC_CC += core_mem_alloc.cc
|
|
SRC_CC += core_rpc_cap_alloc.cc
|
|
SRC_CC += dataspace_component.cc
|
|
SRC_CC += default_log.cc
|
|
SRC_CC += dump_alloc.cc
|
|
SRC_CC += io_mem_session_component.cc
|
|
SRC_CC += io_mem_session_support.cc
|
|
SRC_CC += irq_session_component.cc
|
|
SRC_CC += main.cc
|
|
SRC_CC += pd_session_component.cc
|
|
SRC_CC += pd_upgrade_ram_quota.cc
|
|
SRC_CC += pd_assign_pci.cc
|
|
SRC_CC += platform.cc
|
|
SRC_CC += platform_pd.cc
|
|
SRC_CC += platform_thread.cc
|
|
SRC_CC += stack_area.cc
|
|
SRC_CC += ram_session_component.cc
|
|
SRC_CC += ram_session_support.cc
|
|
SRC_CC += region_map_component.cc
|
|
SRC_CC += rom_session_component.cc
|
|
SRC_CC += trace_session_component.cc
|
|
SRC_CC += thread_start.cc
|
|
SRC_CC += env.cc
|
|
SRC_CC += region_map_support.cc
|
|
SRC_CC += pager.cc
|
|
SRC_CC += _main.cc
|
|
SRC_CC += component_construct.cc
|
|
SRC_CC += kernel/cpu_scheduler.cc
|
|
SRC_CC += kernel/double_list.cc
|
|
SRC_CC += kernel/init.cc
|
|
SRC_CC += kernel/thread.cc
|
|
SRC_CC += kernel/signal_receiver.cc
|
|
SRC_CC += kernel/ipc_node.cc
|
|
SRC_CC += kernel/irq.cc
|
|
SRC_CC += kernel/pd.cc
|
|
SRC_CC += kernel/cpu.cc
|
|
SRC_CC += kernel/clock.cc
|
|
SRC_CC += kernel/object.cc
|
|
SRC_CC += init_main_thread.cc
|
|
SRC_CC += capability.cc
|
|
|
|
# add assembly sources
|
|
SRC_S += boot_modules.s
|
|
|
|
# provide Genode version information
|
|
include $(BASE_DIR)/src/core/version.inc
|
|
|
|
# switch to build-specific boot-modules if further images shall be available
|
|
ifneq ($(wildcard $(BUILD_BASE_DIR)/boot_modules.s),)
|
|
BOOT_MODULES_VPATH = $(BUILD_BASE_DIR)
|
|
INC_DIR += $(BOOT_MODULES_VPATH)
|
|
else
|
|
# use dummy boot-modules per default
|
|
BOOT_MODULES_VPATH = $(BASE_HW_DIR)/src/core/
|
|
endif
|
|
vpath boot_modules.s $(BOOT_MODULES_VPATH)
|
|
|
|
# declare source locations
|
|
vpath % $(BASE_HW_DIR)/src/core
|
|
vpath % $(BASE_DIR)/src/core
|
|
vpath % $(BASE_DIR)/src/lib/startup
|