kconfig: Rename CONFIG_FP_SHARING to CONFIG_FPU_SHARING
This commit renames the Kconfig `FP_SHARING` symbol to `FPU_SHARING`, since this symbol specifically refers to the hardware FPU sharing support by means of FPU context preservation, and the "FP" prefix is not fully descriptive of that; leaving room for ambiguity. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit is contained in:
parent
4aeea753b2
commit
aaf93205bb
44 changed files with 95 additions and 95 deletions
|
@ -543,7 +543,7 @@ config FPU
|
|||
those platforms is dependent on the availability of the toolchain-
|
||||
provided software floating point library.
|
||||
|
||||
config FP_SHARING
|
||||
config FPU_SHARING
|
||||
bool "FPU register sharing"
|
||||
depends on FPU
|
||||
help
|
||||
|
|
|
@ -104,7 +104,7 @@ GEN_OFFSET_SYM(_callee_saved_stack_t, r30);
|
|||
GEN_OFFSET_SYM(_callee_saved_stack_t, r58);
|
||||
GEN_OFFSET_SYM(_callee_saved_stack_t, r59);
|
||||
#endif
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
GEN_OFFSET_SYM(_callee_saved_stack_t, fpu_status);
|
||||
GEN_OFFSET_SYM(_callee_saved_stack_t, fpu_ctrl);
|
||||
#ifdef CONFIG_FP_FPU_DA
|
||||
|
|
|
@ -262,7 +262,7 @@ FUNC_NORETURN void arch_user_mode_enter(k_thread_entry_t user_entry,
|
|||
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
int arch_float_disable(struct k_thread *thread)
|
||||
{
|
||||
unsigned int key;
|
||||
|
@ -295,4 +295,4 @@ int arch_float_enable(struct k_thread *thread)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
|
|
@ -143,7 +143,7 @@ struct _callee_saved_stack {
|
|||
u32_t r59;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
u32_t fpu_status;
|
||||
u32_t fpu_ctrl;
|
||||
#ifdef CONFIG_FP_FPU_DA
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
st r59, [sp, ___callee_saved_stack_t_r59_OFFSET]
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
ld_s r13, [r2, ___thread_base_t_user_options_OFFSET]
|
||||
/* K_FP_REGS is bit 1 */
|
||||
bbit0 r13, 1, 1f
|
||||
|
@ -99,7 +99,7 @@
|
|||
ld r59, [sp, ___callee_saved_stack_t_r59_OFFSET]
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
ld_s r13, [r2, ___thread_base_t_user_options_OFFSET]
|
||||
/* K_FP_REGS is bit 1 */
|
||||
bbit0 r13, 1, 2f
|
||||
|
|
|
@ -63,7 +63,7 @@ config MPU_STACK_GUARD
|
|||
config MPU_STACK_GUARD_MIN_SIZE_FLOAT
|
||||
int
|
||||
depends on MPU_STACK_GUARD
|
||||
depends on FP_SHARING
|
||||
depends on FPU_SHARING
|
||||
default 128
|
||||
help
|
||||
Minimum size (and alignment when applicable) of an ARM MPU
|
||||
|
@ -72,7 +72,7 @@ config MPU_STACK_GUARD_MIN_SIZE_FLOAT
|
|||
128, to accommodate the length of a Cortex-M exception stack
|
||||
frame when the floating point context is active. The FP context
|
||||
is only stacked in sharing FP registers mode, therefore, the
|
||||
option is applicable only when FP_SHARING is selected.
|
||||
option is applicable only when FPU_SHARING is selected.
|
||||
|
||||
config MPU_ALLOW_FLASH_WRITE
|
||||
bool "Add MPU access to write to flash"
|
||||
|
|
|
@ -215,7 +215,7 @@ void z_arm_configure_dynamic_mpu_regions(struct k_thread *thread)
|
|||
u32_t guard_start;
|
||||
u32_t guard_size = MPU_GUARD_ALIGN_AND_SIZE;
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
if ((thread->base.user_options & K_FP_REGS) != 0) {
|
||||
guard_size = MPU_GUARD_ALIGN_AND_SIZE_FLOAT;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ static void esf_dump(const z_arch_esf_t *esf)
|
|||
LOG_ERR("r3/a4: 0x%08x r12/ip: 0x%08x r14/lr: 0x%08x",
|
||||
esf->basic.a4, esf->basic.ip, esf->basic.lr);
|
||||
LOG_ERR(" xpsr: 0x%08x", esf->basic.xpsr);
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
for (int i = 0; i < 16; i += 4) {
|
||||
LOG_ERR("s[%2d]: 0x%08x s[%2d]: 0x%08x"
|
||||
" s[%2d]: 0x%08x s[%2d]: 0x%08x",
|
||||
|
|
|
@ -102,7 +102,7 @@ static inline void z_arm_floating_point_init(void)
|
|||
* Upon reset, the FPU Context Control Register is 0xC0000000
|
||||
* (both Automatic and Lazy state preservation is enabled).
|
||||
*/
|
||||
#if !defined(CONFIG_FP_SHARING)
|
||||
#if !defined(CONFIG_FPU_SHARING)
|
||||
/* Default mode is Unshared FP registers mode. We disable the
|
||||
* automatic stacking of FP registers (automatic setting of
|
||||
* FPCA bit in the CONTROL register), upon exception entries,
|
||||
|
@ -125,7 +125,7 @@ static inline void z_arm_floating_point_init(void)
|
|||
* out during context-switch.
|
||||
*/
|
||||
FPU->FPCCR = FPU_FPCCR_ASPEN_Msk | FPU_FPCCR_LSPEN_Msk;
|
||||
#endif /* CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU_SHARING */
|
||||
|
||||
/* Make the side-effects of modifying the FPCCR be realized
|
||||
* immediately.
|
||||
|
@ -154,7 +154,7 @@ static inline void z_arm_floating_point_init(void)
|
|||
* In Sharing FP Registers mode CONTROL.FPCA is cleared before switching
|
||||
* to main, so it may be skipped here (saving few boot cycles).
|
||||
*/
|
||||
#if !defined(CONFIG_FPU) || !defined(CONFIG_FP_SHARING)
|
||||
#if !defined(CONFIG_FPU) || !defined(CONFIG_FPU_SHARING)
|
||||
__set_CONTROL(__get_CONTROL() & (~(CONTROL_FPCA_Msk)));
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ SECTION_FUNC(TEXT, z_arm_pendsv)
|
|||
stmea r0!, {r3-r7}
|
||||
#elif defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
|
||||
stmia r0, {v1-v8, ip}
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
/* Assess whether switched-out thread had been using the FP registers. */
|
||||
ldr r0, =0x10 /* EXC_RETURN.F_Type Mask */
|
||||
tst lr, r0 /* EXC_RETURN & EXC_RETURN.F_Type_Msk */
|
||||
|
@ -108,7 +108,7 @@ out_fp_active:
|
|||
|
||||
out_fp_endif:
|
||||
str r0, [r2, #_thread_offset_to_mode]
|
||||
#endif /* CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU_SHARING */
|
||||
#elif defined(CONFIG_ARMV7_R)
|
||||
/* Store rest of process context */
|
||||
cps #MODE_SYS
|
||||
|
@ -248,7 +248,7 @@ _thread_irq_disabled:
|
|||
/* restore BASEPRI for the incoming thread */
|
||||
msr BASEPRI, r0
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
/* Assess whether switched-in thread had been using the FP registers. */
|
||||
ldr r0, [r2, #_thread_offset_to_mode]
|
||||
tst r0, #0x04 /* thread.arch.mode & CONTROL.FPCA Msk */
|
||||
|
|
|
@ -71,7 +71,7 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
|||
stackSize -= MPU_GUARD_ALIGN_AND_SIZE;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING) \
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) \
|
||||
&& defined(CONFIG_MPU_STACK_GUARD)
|
||||
/* For a thread which intends to use the FP services, it is required to
|
||||
* allocate a wider MPU guard region, to always successfully detect an
|
||||
|
@ -137,7 +137,7 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
|||
|
||||
thread->arch.basepri = 0;
|
||||
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FPU_SHARING)
|
||||
thread->arch.mode = 0;
|
||||
#if defined(CONFIG_USERSPACE)
|
||||
thread->arch.priv_stack_start = 0;
|
||||
|
@ -166,13 +166,13 @@ FUNC_NORETURN void arch_user_mode_enter(k_thread_entry_t user_entry,
|
|||
* privileged stack. Adjust the available (writable) stack
|
||||
* buffer area accordingly.
|
||||
*/
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
_current->arch.priv_stack_start +=
|
||||
(_current->base.user_options & K_FP_REGS) ?
|
||||
MPU_GUARD_ALIGN_AND_SIZE_FLOAT : MPU_GUARD_ALIGN_AND_SIZE;
|
||||
#else
|
||||
_current->arch.priv_stack_start += MPU_GUARD_ALIGN_AND_SIZE;
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
#endif /* CONFIG_MPU_STACK_GUARD */
|
||||
|
||||
z_arm_userspace_enter(user_entry, p1, p2, p3,
|
||||
|
@ -285,12 +285,12 @@ u32_t z_check_thread_stack_fail(const u32_t fault_addr, const u32_t psp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
u32_t guard_len = (thread->base.user_options & K_FP_REGS) ?
|
||||
MPU_GUARD_ALIGN_AND_SIZE_FLOAT : MPU_GUARD_ALIGN_AND_SIZE;
|
||||
#else
|
||||
u32_t guard_len = MPU_GUARD_ALIGN_AND_SIZE;
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
#if defined(CONFIG_USERSPACE)
|
||||
if (thread->arch.priv_stack_start) {
|
||||
|
@ -333,7 +333,7 @@ u32_t z_check_thread_stack_fail(const u32_t fault_addr, const u32_t psp)
|
|||
}
|
||||
#endif /* CONFIG_MPU_STACK_GUARD || CONFIG_USERSPACE */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
int arch_float_disable(struct k_thread *thread)
|
||||
{
|
||||
if (thread != _current) {
|
||||
|
@ -365,7 +365,7 @@ int arch_float_disable(struct k_thread *thread)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
void arch_switch_to_main_thread(struct k_thread *main_thread,
|
||||
k_thread_stack_t *main_stack,
|
||||
|
@ -378,11 +378,11 @@ void arch_switch_to_main_thread(struct k_thread *main_thread,
|
|||
* initialized at thread creation for threads that make use of the FP).
|
||||
*/
|
||||
__set_FPSCR(0);
|
||||
#if defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU_SHARING)
|
||||
/* In Sharing mode clearing FPSCR may set the CONTROL.FPCA flag. */
|
||||
__set_CONTROL(__get_CONTROL() & (~(CONTROL_FPCA_Msk)));
|
||||
__ISB();
|
||||
#endif /* CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU_SHARING */
|
||||
#endif /* CONFIG_FPU */
|
||||
|
||||
#ifdef CONFIG_ARM_MPU
|
||||
|
|
|
@ -29,14 +29,14 @@
|
|||
GEN_OFFSET_SYM(_thread_arch_t, basepri);
|
||||
GEN_OFFSET_SYM(_thread_arch_t, swap_return_value);
|
||||
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(_thread_arch_t, mode);
|
||||
#if defined(CONFIG_USERSPACE)
|
||||
GEN_OFFSET_SYM(_thread_arch_t, priv_stack_start);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(_thread_arch_t, preempt_float);
|
||||
#endif
|
||||
|
||||
|
@ -49,7 +49,7 @@ GEN_OFFSET_SYM(_basic_sf_t, lr);
|
|||
GEN_OFFSET_SYM(_basic_sf_t, pc);
|
||||
GEN_OFFSET_SYM(_basic_sf_t, xpsr);
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(_esf_t, s);
|
||||
GEN_OFFSET_SYM(_esf_t, fpscr);
|
||||
#endif
|
||||
|
@ -82,7 +82,7 @@ GEN_ABSOLUTE_SYM(___thread_stack_info_t_SIZEOF,
|
|||
* point registers.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
GEN_ABSOLUTE_SYM(_K_THREAD_NO_FLOAT_SIZEOF, sizeof(struct k_thread) -
|
||||
sizeof(struct _preempt_float));
|
||||
#else
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#define _thread_offset_to_preempt_float \
|
||||
(___thread_t_arch_OFFSET + ___thread_arch_t_preempt_float_OFFSET)
|
||||
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FPU_SHARING)
|
||||
#define _thread_offset_to_mode \
|
||||
(___thread_t_arch_OFFSET + ___thread_arch_t_mode_OFFSET)
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <gen_offset.h>
|
||||
#include <kernel_offsets.h>
|
||||
|
||||
#if defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(_thread_arch_t, excNestCount);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ SECTION_FUNC(exception.entry, __irq_wrapper)
|
|||
RV_OP_STOREREG a6, __z_arch_esf_t_a6_OFFSET(sp)
|
||||
RV_OP_STOREREG a7, __z_arch_esf_t_a7_OFFSET(sp)
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Assess whether floating-point registers need to be saved. */
|
||||
la t0, _kernel
|
||||
RV_OP_LOADREG t0, _kernel_offset_to_current(t0)
|
||||
|
@ -396,7 +396,7 @@ reschedule:
|
|||
RV_OP_STOREREG s10, _thread_offset_to_s10(t1)
|
||||
RV_OP_STOREREG s11, _thread_offset_to_s11(t1)
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Assess whether floating-point registers need to be saved. */
|
||||
RV_OP_LOADREG t2, _thread_offset_to_user_options(t1)
|
||||
andi t2, t2, K_FP_REGS
|
||||
|
@ -440,7 +440,7 @@ skip_store_fp_callee_saved:
|
|||
RV_OP_LOADREG s10, _thread_offset_to_s10(t1)
|
||||
RV_OP_LOADREG s11, _thread_offset_to_s11(t1)
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Determine if we need to restore floating-point registers. */
|
||||
RV_OP_LOADREG t2, _thread_offset_to_user_options(t1)
|
||||
andi t2, t2, K_FP_REGS
|
||||
|
@ -482,7 +482,7 @@ skip_load_fp_callee_saved:
|
|||
RV_OP_STOREREG a6, __z_arch_esf_t_a6_OFFSET(sp)
|
||||
RV_OP_STOREREG a7, __z_arch_esf_t_a7_OFFSET(sp)
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Assess whether floating-point registers need to be saved. */
|
||||
RV_OP_LOADREG t2, _thread_offset_to_user_options(sp)
|
||||
andi t2, t2, K_FP_REGS
|
||||
|
@ -495,7 +495,7 @@ skip_store_fp_caller_saved_benchmark:
|
|||
|
||||
call read_timer_end_of_swap
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Determine if we need to restore floating-point registers. */
|
||||
RV_OP_LOADREG t2, __z_arch_esf_t_fp_state_OFFSET(sp)
|
||||
beqz t2, skip_load_fp_caller_saved_benchmark
|
||||
|
@ -542,7 +542,7 @@ no_reschedule:
|
|||
RV_OP_LOADREG t0, __z_arch_esf_t_mstatus_OFFSET(sp)
|
||||
csrw mstatus, t0
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/*
|
||||
* Determine if we need to restore floating-point registers. This needs
|
||||
* to happen before restoring integer registers to avoid stomping on
|
||||
|
|
|
@ -43,7 +43,7 @@ GEN_OFFSET_SYM(_callee_saved_t, s9);
|
|||
GEN_OFFSET_SYM(_callee_saved_t, s10);
|
||||
GEN_OFFSET_SYM(_callee_saved_t, s11);
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(_callee_saved_t, fcsr);
|
||||
GEN_OFFSET_SYM(_callee_saved_t, fs0);
|
||||
GEN_OFFSET_SYM(_callee_saved_t, fs1);
|
||||
|
@ -82,7 +82,7 @@ GEN_OFFSET_SYM(z_arch_esf_t, a7);
|
|||
GEN_OFFSET_SYM(z_arch_esf_t, mepc);
|
||||
GEN_OFFSET_SYM(z_arch_esf_t, mstatus);
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
GEN_OFFSET_SYM(z_arch_esf_t, fp_state);
|
||||
GEN_OFFSET_SYM(z_arch_esf_t, ft0);
|
||||
GEN_OFFSET_SYM(z_arch_esf_t, ft1);
|
||||
|
|
|
@ -57,7 +57,7 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
|||
* thread stack.
|
||||
*/
|
||||
stack_init->mstatus = MSTATUS_DEF_RESTORE;
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
if ((thread->base.user_options & K_FP_REGS) != 0) {
|
||||
stack_init->mstatus |= MSTATUS_FS_INIT;
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
|||
thread->callee_saved.sp = (ulong_t)stack_init;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
int arch_float_disable(struct k_thread *thread)
|
||||
{
|
||||
unsigned int key;
|
||||
|
@ -131,4 +131,4 @@ int arch_float_enable(struct k_thread *thread)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
#define _thread_offset_to_swap_return_value \
|
||||
(___thread_t_arch_OFFSET + ___thread_arch_t_swap_return_value_OFFSET)
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
|
||||
#define _thread_offset_to_fcsr \
|
||||
(___thread_t_callee_saved_OFFSET + ___callee_saved_t_fcsr_OFFSET)
|
||||
|
@ -100,7 +100,7 @@
|
|||
#define _thread_offset_to_fs11 \
|
||||
(___thread_t_callee_saved_OFFSET + ___callee_saved_t_fs11_OFFSET)
|
||||
|
||||
#endif /* defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING) */
|
||||
#endif /* defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) */
|
||||
|
||||
/* end - threads */
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ config LAZY_FP_SHARING
|
|||
bool
|
||||
depends on FPU
|
||||
depends on !EAGER_FP_SHARING
|
||||
depends on FP_SHARING
|
||||
depends on FPU_SHARING
|
||||
default y if X86_NO_LAZY_FP || !USERSPACE
|
||||
help
|
||||
This hidden option allows multiple threads to use the floating point
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
* in a thread's stack region when a preemptive context switch occurs.
|
||||
*
|
||||
* Note: If the kernel has been built without floating point register sharing
|
||||
* support (CONFIG_FP_SHARING), the floating point registers can still be used
|
||||
* support (CONFIG_FPU_SHARING), the floating point registers can still be used
|
||||
* safely by one or more cooperative threads OR by a single preemptive thread,
|
||||
* but not by both.
|
||||
*
|
||||
|
|
|
@ -45,7 +45,7 @@ extern void z_x86_syscall_entry_stub(void);
|
|||
NANO_CPU_INT_REGISTER(z_x86_syscall_entry_stub, -1, -1, 0x80, 3);
|
||||
#endif /* CONFIG_X86_USERSPACE */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
|
||||
extern int z_float_disable(struct k_thread *thread);
|
||||
|
||||
|
@ -57,7 +57,7 @@ int arch_float_disable(struct k_thread *thread)
|
|||
return -ENOSYS;
|
||||
#endif /* CONFIG_LAZY_FP_SHARING */
|
||||
}
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack,
|
||||
size_t stack_size, k_thread_entry_t entry,
|
||||
|
|
|
@ -265,11 +265,11 @@ Configuration Options
|
|||
*********************
|
||||
|
||||
To configure unshared FP registers mode, enable the :option:`CONFIG_FPU`
|
||||
configuration option and leave the :option:`CONFIG_FP_SHARING` configuration
|
||||
configuration option and leave the :option:`CONFIG_FPU_SHARING` configuration
|
||||
option disabled.
|
||||
|
||||
To configure shared FP registers mode, enable both the :option:`CONFIG_FPU`
|
||||
configuration option and the :option:`CONFIG_FP_SHARING` configuration option.
|
||||
configuration option and the :option:`CONFIG_FPU_SHARING` configuration option.
|
||||
Also, ensure that any thread that uses the floating point registers has
|
||||
sufficient added stack space for saving floating point register values
|
||||
during context switches, as described above.
|
||||
|
|
|
@ -1970,7 +1970,7 @@ PREDEFINED = "CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT" \
|
|||
"CONFIG_EXECUTION_BENCHMARKING" \
|
||||
"CONFIG_FLASH_PAGE_LAYOUT" \
|
||||
"CONFIG_FPU" \
|
||||
"CONFIG_FP_SHARING" \
|
||||
"CONFIG_FPU_SHARING" \
|
||||
"CONFIG_NET_L2_ETHERNET_MGMT" \
|
||||
"CONFIG_NET_MGMT_EVENT" \
|
||||
"CONFIG_NET_TCP" \
|
||||
|
|
|
@ -124,12 +124,12 @@ extern "C" {
|
|||
* that is using the Floating Point services.
|
||||
*
|
||||
* For threads that are using the Floating Point services under Shared
|
||||
* Registers (CONFIG_FP_SHARING=y) mode, the exception stack frame may
|
||||
* Registers (CONFIG_FPU_SHARING=y) mode, the exception stack frame may
|
||||
* contain both the basic stack frame and the FP caller-saved context,
|
||||
* upon exception entry. Therefore, a wide guard region is required to
|
||||
* guarantee that stack-overflow detection will always be successful.
|
||||
*/
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING) \
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) \
|
||||
&& defined(CONFIG_MPU_STACK_GUARD)
|
||||
#define MPU_GUARD_ALIGN_AND_SIZE_FLOAT CONFIG_MPU_STACK_GUARD_MIN_SIZE_FLOAT
|
||||
#else
|
||||
|
|
|
@ -84,7 +84,7 @@ struct __esf {
|
|||
sys_define_gpr_with_alias(pc, r15);
|
||||
u32_t xpsr;
|
||||
} basic;
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
float s[16];
|
||||
u32_t fpscr;
|
||||
u32_t undefined;
|
||||
|
|
|
@ -36,7 +36,7 @@ struct _callee_saved {
|
|||
|
||||
typedef struct _callee_saved _callee_saved_t;
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
struct _preempt_float {
|
||||
float s16;
|
||||
float s17;
|
||||
|
@ -65,7 +65,7 @@ struct _thread_arch {
|
|||
/* r0 in stack frame cannot be written to reliably */
|
||||
u32_t swap_return_value;
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/*
|
||||
* No cooperative floating point register set structure exists for
|
||||
* the Cortex-M as it automatically saves the necessary registers
|
||||
|
@ -74,7 +74,7 @@ struct _thread_arch {
|
|||
struct _preempt_float preempt_float;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_USERSPACE) || defined(CONFIG_FPU_SHARING)
|
||||
u32_t mode;
|
||||
#if defined(CONFIG_USERSPACE)
|
||||
u32_t priv_stack_start;
|
||||
|
|
|
@ -41,7 +41,7 @@ struct soc_esf {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if !defined(RV_FP_TYPE) && defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if !defined(RV_FP_TYPE) && defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
#ifdef CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION
|
||||
#define RV_FP_TYPE u64_t
|
||||
#else
|
||||
|
@ -74,7 +74,7 @@ struct __esf {
|
|||
ulong_t mepc; /* machine exception program counter */
|
||||
ulong_t mstatus; /* machine status register */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
ulong_t fp_state; /* Floating-point saved context state. */
|
||||
RV_FP_TYPE ft0; /* Caller-saved temporary floating register */
|
||||
RV_FP_TYPE ft1; /* Caller-saved temporary floating register */
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#ifndef _ASMLANGUAGE
|
||||
#include <zephyr/types.h>
|
||||
|
||||
#if !defined(RV_FP_TYPE) && defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if !defined(RV_FP_TYPE) && defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
#ifdef CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION
|
||||
#define RV_FP_TYPE u64_t
|
||||
#else
|
||||
|
@ -50,7 +50,7 @@ struct _callee_saved {
|
|||
ulong_t s10; /* saved register */
|
||||
ulong_t s11; /* saved register */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
u32_t fcsr; /* Control and status register */
|
||||
RV_FP_TYPE fs0; /* saved floating-point register */
|
||||
RV_FP_TYPE fs1; /* saved floating-point register */
|
||||
|
|
|
@ -698,7 +698,7 @@ extern void k_thread_foreach_unlocked(
|
|||
* */
|
||||
#define K_ESSENTIAL (BIT(0))
|
||||
|
||||
#if defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU_SHARING)
|
||||
/**
|
||||
* @brief thread uses floating point registers
|
||||
*/
|
||||
|
@ -726,7 +726,7 @@ extern void k_thread_foreach_unlocked(
|
|||
#ifdef CONFIG_X86
|
||||
/* x86 Bitmask definitions for threads user options */
|
||||
|
||||
#if defined(CONFIG_FP_SHARING) && defined(CONFIG_SSE)
|
||||
#if defined(CONFIG_FPU_SHARING) && defined(CONFIG_SSE)
|
||||
/* thread uses SSEx (and also FP) registers */
|
||||
#define K_SSE_REGS (BIT(7))
|
||||
#endif
|
||||
|
|
|
@ -168,7 +168,7 @@ struct z_kernel {
|
|||
*/
|
||||
struct _ready_q ready_q;
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
/*
|
||||
* A 'current_sse' field does not exist in addition to the 'current_fp'
|
||||
* field since it's not possible to divide the IA-32 non-integer
|
||||
|
|
|
@ -165,7 +165,7 @@ void arch_switch_to_main_thread(struct k_thread *main_thread,
|
|||
k_thread_entry_t _main);
|
||||
#endif /* CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/**
|
||||
* @brief Disable floating point context preservation
|
||||
*
|
||||
|
@ -179,7 +179,7 @@ void arch_switch_to_main_thread(struct k_thread *main_thread,
|
|||
* @retval -EINVAL If the floating point disabling could not be performed.
|
||||
*/
|
||||
int arch_float_disable(struct k_thread *thread);
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
/** @} */
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ GEN_OFFSET_SYM(_kernel_t, ready_q);
|
|||
GEN_OFFSET_SYM(_ready_q_t, cache);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FP_SHARING
|
||||
#ifdef CONFIG_FPU_SHARING
|
||||
GEN_OFFSET_SYM(_kernel_t, current_fp);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -791,11 +791,11 @@ void z_spin_lock_set_owner(struct k_spinlock *l)
|
|||
|
||||
int z_impl_k_float_disable(struct k_thread *thread)
|
||||
{
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
return arch_float_disable(thread);
|
||||
#else
|
||||
return -ENOSYS;
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USERSPACE
|
||||
|
|
|
@ -78,7 +78,7 @@ size_t _kernel_openocd_offsets[] = {
|
|||
|
||||
[OPENOCD_OFFSET_T_NAME] = offsetof(struct k_thread, name),
|
||||
[OPENOCD_OFFSET_T_ARCH] = offsetof(struct k_thread, arch),
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING) && defined(CONFIG_ARM)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING) && defined(CONFIG_ARM)
|
||||
[OPENOCD_OFFSET_T_PREEMPT_FLOAT] = offsetof(struct _thread_arch,
|
||||
preempt_float),
|
||||
[OPENOCD_OFFSET_T_COOP_FLOAT] = OPENOCD_UNIMPLEMENTED,
|
||||
|
|
|
@ -110,7 +110,7 @@ static void verify_callee_saved(const _callee_saved_t *src,
|
|||
);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Arbitrary values for the floating-point callee-saved registers */
|
||||
struct _preempt_float ztest_thread_fp_callee_saved_regs = {
|
||||
.s16 = 0x11111111, .s17 = 0x22222222,
|
||||
|
@ -194,7 +194,7 @@ static void verify_fp_callee_saved(const struct _preempt_float *src,
|
|||
);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
static void alt_thread_entry(void)
|
||||
{
|
||||
|
@ -239,7 +239,7 @@ static void alt_thread_entry(void)
|
|||
memset(&ztest_thread_callee_saved_regs_container,
|
||||
0, sizeof(_callee_saved_t));
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
|
||||
/* Verify that the _current_ (alt) thread is initialized with FPCA cleared. */
|
||||
zassert_true((__get_CONTROL() & CONTROL_FPCA_Msk) == 0,
|
||||
|
@ -268,7 +268,7 @@ static void alt_thread_entry(void)
|
|||
memset(&ztest_thread_fp_callee_saved_regs,
|
||||
0, sizeof(ztest_thread_fp_callee_saved_regs));
|
||||
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
/* Modify the arch.basepri flag of the main test thread, to verify,
|
||||
* later, that this is passed properly to the BASEPRI.
|
||||
|
@ -341,7 +341,7 @@ void test_arm_thread_swap(void)
|
|||
* Simulating initial conditions:
|
||||
* - set arbitrary values at the callee-saved registers
|
||||
* - set arbitrary values at the FP callee-saved registers,
|
||||
* if building with CONFIG_FPU/CONFIG_FP_SHARING
|
||||
* if building with CONFIG_FPU/CONFIG_FPU_SHARING
|
||||
* - zero the thread's callee-saved data structure
|
||||
* - set thread's priority same as the alternative test thread
|
||||
*/
|
||||
|
@ -389,7 +389,7 @@ void test_arm_thread_swap(void)
|
|||
_current->arch.mode);
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* The main test thread is not (yet) actively using the FP registers */
|
||||
zassert_true((_current->arch.mode & CONTROL_FPCA_Msk) == 0,
|
||||
"Thread FPCA flag not clear at initialization 0x%0x\n",
|
||||
|
@ -422,7 +422,7 @@ void test_arm_thread_swap(void)
|
|||
*/
|
||||
zassert_true((_current->arch.mode & CONTROL_FPCA_Msk) == 0,
|
||||
"Thread FPCA flag not clear at initialization\n");
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
/* Create an alternative (supervisor) testing thread */
|
||||
k_thread_create(&alt_thread,
|
||||
|
@ -611,7 +611,7 @@ void test_arm_thread_swap(void)
|
|||
_current->arch.swap_return_value, ztest_swap_return_val);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
/* Dump callee-saved registers to memory. */
|
||||
__asm__ volatile (
|
||||
"vstmia %0, {s16-s31};\n\t"
|
||||
|
@ -632,7 +632,7 @@ void test_arm_thread_swap(void)
|
|||
zassert_true((__get_FPSCR() & 0x1) == 0x1,
|
||||
"FPSCR bit-0 not restored at swap: 0x%x\n", __get_FPSCR());
|
||||
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -16,14 +16,14 @@ tests:
|
|||
filter: CONFIG_ARMV7_M_ARMV8_M_FP
|
||||
extra_configs:
|
||||
- CONFIG_FPU=y
|
||||
- CONFIG_FP_SHARING=y
|
||||
- CONFIG_FPU_SHARING=y
|
||||
tags: arm
|
||||
arch.arm.swap.common.fp_sharing.no_optimizations:
|
||||
arch_whitelist: arm
|
||||
filter: CONFIG_ARMV7_M_ARMV8_M_FP
|
||||
extra_configs:
|
||||
- CONFIG_FPU=y
|
||||
- CONFIG_FP_SHARING=y
|
||||
- CONFIG_FPU_SHARING=y
|
||||
- CONFIG_NO_OPTIMIZATIONS=y
|
||||
- CONFIG_IDLE_STACK_SIZE=512
|
||||
tags: arm
|
||||
|
|
|
@ -5,7 +5,7 @@ CONFIG_MAIN_THREAD_PRIORITY=6
|
|||
|
||||
CONFIG_FPU=y
|
||||
CONFIG_SSE=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
CONFIG_SSE_FP_MATH=y
|
||||
|
||||
# eliminate timer interrupts during the benchmark
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CONFIG_FPU=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
CONFIG_ZTEST=y
|
||||
CONFIG_COVERAGE=n
|
||||
CONFIG_TEST_USERSPACE=y
|
||||
|
|
|
@ -341,13 +341,13 @@ void test_fatal(void)
|
|||
TC_PRINT("test stack HW-based overflow - supervisor 2\n");
|
||||
check_stack_overflow(stack_hw_overflow, 0);
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
TC_PRINT("test stack HW-based overflow (FPU thread) - supervisor 1\n");
|
||||
check_stack_overflow(stack_hw_overflow, K_FP_REGS);
|
||||
|
||||
TC_PRINT("test stack HW-based overflow (FPU thread) - supervisor 2\n");
|
||||
check_stack_overflow(stack_hw_overflow, K_FP_REGS);
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
#endif /* CONFIG_HW_STACK_PROTECTION */
|
||||
|
||||
|
@ -365,13 +365,13 @@ void test_fatal(void)
|
|||
TC_PRINT("test stack HW-based overflow - user priv stack 2\n");
|
||||
check_stack_overflow(user_priv_stack_hw_overflow, K_USER);
|
||||
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FP_SHARING)
|
||||
#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
|
||||
TC_PRINT("test stack HW-based overflow (FPU thread) - user 1\n");
|
||||
check_stack_overflow(stack_hw_overflow, K_USER | K_FP_REGS);
|
||||
|
||||
TC_PRINT("test stack HW-based overflow (FPU thread) - user 2\n");
|
||||
check_stack_overflow(stack_hw_overflow, K_USER | K_FP_REGS);
|
||||
#endif /* CONFIG_FPU && CONFIG_FP_SHARING */
|
||||
#endif /* CONFIG_FPU && CONFIG_FPU_SHARING */
|
||||
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_USERSPACE=y
|
||||
CONFIG_FPU=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CONFIG_ZTEST=y
|
||||
CONFIG_TEST_USERSPACE=y
|
||||
CONFIG_FPU=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
CONFIG_SSE=y
|
||||
CONFIG_SSE_FP_MATH=y
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CONFIG_ZTEST=y
|
||||
CONFIG_FPU=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
CONFIG_STDOUT_CONSOLE=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CONFIG_ZTEST=y
|
||||
CONFIG_FPU=y
|
||||
CONFIG_SSE=y
|
||||
CONFIG_FP_SHARING=y
|
||||
CONFIG_FPU_SHARING=y
|
||||
CONFIG_SSE_FP_MATH=y
|
||||
CONFIG_STDOUT_CONSOLE=y
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
#error Rebuild with the FPU config option enabled
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_FP_SHARING
|
||||
#error Rebuild with the FP_SHARING config option enabled
|
||||
#ifndef CONFIG_FPU_SHARING
|
||||
#error Rebuild with the FPU_SHARING config option enabled
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_X86) && !defined(CONFIG_SSE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue