65a9d2a94a
Upcoming memory protection features will be placing some additional constraints on kernel objects: - They need to reside in memory owned by the kernel and not the application - Certain kernel object validation schemes will require some run-time initialization of all kernel objects before they can be used. Per Ben these initializer macros were never intended to be public. It is not forbidden to use them, but doing so requires care: the memory being initialized must reside in kernel space, and extra runtime initialization steps may need to be peformed before they are fully usable as kernel objects. In particular, kernel subsystems or drivers whose objects are already in kernel memory may still need to use these macros if they define kernel objects as members of a larger data structure. It is intended that application developers instead use the K_<object>_DEFINE macros, which will automatically put the object in the right memory and add them to a section which can be iterated over at boot to complete initiailization. There was no K_WORK_DEFINE() macro for creating struct k_work objects, this is now added. k_poll_event and k_poll_signal are intended to be instatiated from application memory and have not been changed. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> |
||
---|---|---|
.. | ||
src | ||
Makefile | ||
README | ||
prj.conf | ||
prj_tickless.conf | ||
testcase.yaml |
README
$make qemu [QEMU] CPU: qemu32 Running test suite test_timer_api tc_start() - test_timer_duration_period =================================================================== PASS - test_timer_duration_period. tc_start() - test_timer_period_0 =================================================================== PASS - test_timer_period_0. tc_start() - test_timer_expirefn_null =================================================================== PASS - test_timer_expirefn_null. tc_start() - test_timer_status_get =================================================================== PASS - test_timer_status_get. tc_start() - test_timer_status_get_anytime =================================================================== PASS - test_timer_status_get_anytime. tc_start() - test_timer_status_sync =================================================================== PASS - test_timer_status_sync. tc_start() - test_timer_k_define =================================================================== PASS - test_timer_k_define. =================================================================== PROJECT EXECUTION SUCCESSFUL