* 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
This directory contains the build system. In consists mainly of makefile templates for different directory roles. :'global.mk': This file contains global variables, for example the definitions of the tools to use. :'generic.mk': Generic rules for creating file types from others. :'prg.mk': This file represents the target binary role of a directory. It must be included by all makefiles that build programs. :'lib.mk': This file represents a library role. It is never used from within the 'src/' directory but only from the <libname>.mk files in 'lib/mk/'.