diff options
author | Peter Mitsis <peter.mitsis@windriver.com> | 2016-02-10 16:21:06 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit@zephyrproject.org> | 2016-02-11 14:13:05 +0000 |
commit | 76357932d83cf1100cf33e3edc9f5547436034b2 (patch) | |
tree | 2f2221f28ab4a3eff6f32ba0fbc881b9eeb0e23a | |
parent | b436fa16b588af27b6e17cdcba3871ffa618efbe (diff) |
arm: Enable support for sys_thread_busy_wait()
It is now safe to enable sys_thread_busy_wait() for ARM as an earlier
patch has fixed the build system to link against the correct intrinsics
library.
Change-Id: Ib5ed036d996461b91f372b2b3e8f597a925d3292
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
-rw-r--r-- | kernel/nanokernel/nano_context.c | 12 | ||||
-rw-r--r-- | samples/nanokernel/test/test_context/src/context.c | 10 |
2 files changed, 0 insertions, 22 deletions
diff --git a/kernel/nanokernel/nano_context.c b/kernel/nanokernel/nano_context.c index 1173dcd8c..27f3ddb2e 100644 --- a/kernel/nanokernel/nano_context.c +++ b/kernel/nanokernel/nano_context.c @@ -94,17 +94,6 @@ int _is_thread_essential(struct tcs *pCtx) return ((pCtx == NULL) ? _nanokernel.current : pCtx)->flags & ESSENTIAL; } -/* - * Don't build sys_thread_busy_wait() for ARM, since intrinsics libraries in - * current Zephyr SDK use non-Thumb code that isn't supported on Cortex-M CPUs. - * For the time being any ARM-based application that attempts to use this API - * will get a link error (which is preferable to a mysterious exception). - * - * @param usec_to_wait - * - * @return N/A - */ -#ifndef CONFIG_ARM void sys_thread_busy_wait(uint32_t usec_to_wait) { /* use 64-bit math to prevent overflow when multiplying */ @@ -124,7 +113,6 @@ void sys_thread_busy_wait(uint32_t usec_to_wait) } } } -#endif /* CONFIG_ARM */ #ifdef CONFIG_THREAD_CUSTOM_DATA diff --git a/samples/nanokernel/test/test_context/src/context.c b/samples/nanokernel/test/test_context/src/context.c index 8f88057e5..3dd4fd9c2 100644 --- a/samples/nanokernel/test/test_context/src/context.c +++ b/samples/nanokernel/test/test_context/src/context.c @@ -611,7 +611,6 @@ struct timeout_order_data timeout_order_data[] = { #define NUM_TIMEOUT_FIBERS ARRAY_SIZE(timeout_order_data) static char __stack timeout_stacks[NUM_TIMEOUT_FIBERS][FIBER_STACKSIZE]; -#ifndef CONFIG_ARM /* a fiber busy waits, then reports through a fifo */ static void test_fiber_busy_wait(int ticks, int unused) { @@ -639,7 +638,6 @@ static void test_fiber_busy_wait(int ticks, int unused) nano_fiber_sem_give(&reply_timeout); } -#endif /* a fiber sleeps and times out, then reports through a fifo */ static void test_fiber_sleep(int timeout, int arg2) @@ -676,12 +674,6 @@ static int test_timeout(void) int ii; struct timeout_order_data *data; -/* - * sys_thread_busy_wait() is currently unsupported for ARM - */ - -#ifndef CONFIG_ARM - /* test sys_thread_busy_wait() */ TC_PRINT("Testing sys_thread_busy_wait()\n"); @@ -697,8 +689,6 @@ static int test_timeout(void) return TC_FAIL; } -#endif /* CONFIG_ARM */ - /* test fiber_sleep() */ TC_PRINT("Testing fiber_sleep()\n"); |