| /* |
| * Copyright (c) 2011-2014 Wind River Systems, Inc. |
| * Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io> |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <ztest.h> |
| |
| #include "test_common.h" |
| |
| #ifndef CONFIG_FPU |
| #error Rebuild with the FPU config option enabled |
| #endif |
| |
| #ifndef CONFIG_FPU_SHARING |
| #error Rebuild with the FPU_SHARING config option enabled |
| #endif |
| |
| #if defined(CONFIG_X86) && !defined(CONFIG_X86_SSE) |
| #error Rebuild with the SSE config option enabled |
| #endif |
| |
| extern void test_load_store(void); |
| extern void test_pi(void); |
| |
| void test_main(void) |
| { |
| /* |
| * Enable round robin scheduling to allow both the low priority pi |
| * computation and load/store tasks to execute. The high priority pi |
| * computation and load/store tasks will preempt the low priority tasks |
| * periodically. |
| */ |
| k_sched_time_slice_set(10, THREAD_LOW_PRIORITY); |
| |
| /* Run the testsuite */ |
| ztest_test_suite(fpu_sharing, |
| ztest_unit_test(test_load_store), |
| ztest_unit_test(test_pi)); |
| ztest_run_test_suite(fpu_sharing); |
| } |