Lines Matching full:floating

3 Floating Point Services
6 The kernel allows threads to use floating point registers on board
10 Floating point services are currently available only for boards
11 based on ARM Cortex-M SoCs supporting the Floating Point Extension,
13 supporting the Floating Point Extension. The services provided
16 The kernel does not support the use of floating point registers by ISRs.
25 The kernel can be configured to provide only the floating point services
33 This mode is used when the application has no threads that use floating point
34 registers. It is the kernel's default floating point services mode.
36 If a thread uses any floating point register,
43 that uses floating point registers.
45 On x86 platforms, the kernel initializes the floating point registers so they can
47 ARCv2 platforms). The floating point registers are left unchanged whenever a
52 the floating point registers, as the kernel does not attempt to detect
59 floating point registers. Depending upon the underlying CPU architecture,
62 * non-user: A thread that cannot use any floating point registers
64 * FPU user: A thread that can use the standard floating point registers
66 * SSE user: A thread that can use both the standard floating point registers
69 The kernel initializes and enables access to the floating point registers,
75 ARM Cortex-M architecture (with the Floating Point Extension)
79 The Shared FP registers mode is the default Floating Point
82 On the ARM Cortex-M architecture with the Floating Point Extension, the kernel
84 This means that any thread is allowed to access the floating point registers.
85 The ARM kernel automatically detects that a given thread is using the floating
103 floating point registers, if the switched-out thread has been using them.
104 Additionally, the *caller-saved* floating point registers are saved on
105 the thread's stack. If the switched-in thread has been using the floating
111 Each thread that intends to use the floating point registers must provide
118 architecture, minimizing interrupt latency, when the floating
129 floating point registers.
132 If an ARM thread does not require use of the floating point registers any
140 The Shared FP registers mode is the default Floating Point
147 switching which updates the floating point registers only when it is absolutely
152 ISR uses floating point or SIMD registers, then the access is trapped, the
175 If an ARC thread does not require use of the floating point registers any
180 floating point registers, if the switched-out thread has been using them.
181 Additionally, the *caller-saved* floating point registers are saved on
182 the thread's stack. If the switched-in thread has been using the floating
187 (single floating point hardware) or 32 bytes (double floating point hardware)
188 of stack space is required to load and store floating point registers.
196 the floating point registers only when it is absolutely necessary.
202 ISR uses floating point or SIMD registers, then the access is trapped, the
221 Each thread object becomes 136 bytes (single-precision floating point
222 hardware) or 264 bytes (double-precision floating point hardware) larger
239 kernel saves *all* floating point registers, if the FPU was enabled in
240 the switched-out thread. Floating point registers are saved on the thread's
241 stack. Floating point registers are restored when a thread context is restored
242 iff they were saved at the context save. Saving and restoring of the floating
246 Floating point disabling with :c:func:`k_float_disable` is not implemented.
249 is required for each FPU user thread to load and store floating point
258 during context switching which updates the floating point registers only when
274 the floating point registers the first time the thread accesses them.
294 If an x86 thread uses the floating point registers infrequently it can call
297 the contents of the floating point registers during context switches
299 When the thread again needs to use the floating point registers it can re-tag
305 Performing Floating Point Arithmetic
308 No special coding is required for a thread to use floating point arithmetic
311 The following code shows how a routine can use floating point arithmetic
335 Use the kernel floating point services when an application needs to
336 perform floating point operations.
347 Also, ensure that any thread that uses the floating point registers has
348 sufficient added stack space for saving floating point register values