CONFIG_FPU_SHARING

FPU register sharing

Type: bool

Help

This option enables preservation of the hardware floating point registers
across context switches to allow multiple threads to perform concurrent
floating point operations.

Note that some compiler configurations may activate a floating point
context by generating FP instructions for any thread, and that
context must be preserved when switching such threads in and out.
The developers can still disable the FP sharing mode in their
application projects, and switch to Unshared FP registers mode,
if it is guaranteed that the image code does not generate FP
instructions outside the single thread context that is allowed
to do so.

Direct dependencies

FPU && MULTITHREADING

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Symbols that select this symbol

Symbols that imply this symbol

Kconfig definition

At <Zephyr>/arch/Kconfig:867

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:39

Menu path: (Top) → Floating Point Options → Enable floating point unit (FPU)

config FPU_SHARING
    bool "FPU register sharing"
    depends on FPU && MULTITHREADING
    help
      This option enables preservation of the hardware floating point registers
      across context switches to allow multiple threads to perform concurrent
      floating point operations.

      Note that some compiler configurations may activate a floating point
      context by generating FP instructions for any thread, and that
      context must be preserved when switching such threads in and out.
      The developers can still disable the FP sharing mode in their
      application projects, and switch to Unshared FP registers mode,
      if it is guaranteed that the image code does not generate FP
      instructions outside the single thread context that is allowed
      to do so.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)