Skip to content

Commit 0a58ade

Browse files
ajstephensnashif
authored andcommitted
x86: Revise appearance of floating point configuration options
Streamlines the prompts and help text for the floating point configuration options to make them easier to understand. Also fixes a help text error that said fibers using the floating point registers needed to provide additional stack space, which is incorrect. Change-Id: Ib6fc13460999ec7f737118728a363b4e10d23fcf Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
1 parent a891c04 commit 0a58ade

File tree

1 file changed

+14
-27
lines changed

1 file changed

+14
-27
lines changed

arch/x86/Kconfig

+14-27
Original file line numberDiff line numberDiff line change
@@ -180,49 +180,36 @@ menu "Floating Point Options"
180180

181181
config FLOAT
182182
bool
183-
prompt "Floating point instructions"
183+
prompt "Floating point registers"
184184
default n
185185
help
186-
This option enables the use of x87 FPU and MMX instructions by
187-
a task or fiber.
186+
This option allows tasks and fibers to use the floating point registers.
187+
By default, only a single task or fiber may use the registers, and only
188+
the x87 FPU/MMX registers may be used.
188189

189190
Disabling this option means that any task or fiber that uses a
190-
floating point instruction will get a fatal exception.
191+
floating point register will get a fatal exception.
191192

192193
config FP_SHARING
193194
bool
194-
prompt "Floating point resource sharing"
195+
prompt "Floating point register sharing"
195196
depends on FLOAT
196197
default n
197198
help
198-
This option allows multiple tasks and fibers to safely utilize
199-
floating point hardware resources. Every task or fiber that wishes
200-
to use floating point instructions (i.e. x87 FPU, MMX, or SSEx) must
201-
be created with such support already enabled, or must enable this
202-
support via task_float_enable() or fiber_float_enable() before
203-
executing these instructions.
204-
205-
Enabling this option adds 108 bytes to the stack size requirement
206-
of each task or fiber that utilizes x87 FPU or MMX instructions,
207-
and adds 464 bytes to the stack size requirement of each task or
208-
fiber that utilizes SSEx instructions. (The stack size requirement
209-
of tasks and fibers that do not utilize floating point instructions
210-
remains unchanged.)
211-
212-
Disabling this option means that only a single task or fiber may
213-
utilize x87 FPU, MMX, or SSEx instructions. (The stack size
214-
requirement of all tasks and fibers remains unchanged.)
199+
This option allows multiple tasks and fibers to use the floating point
200+
registers. Any task that uses the floating point registers must provide
201+
stack space where the kernel can save these registers during context
202+
switches; a task that uses only the x87 FPU/MMX registers must provide
203+
108 bytes of added stack space, while a task the uses the SSE registers
204+
must provide 464 bytes of added stack space.
215205

216206
config SSE
217207
bool
218-
prompt "SSEx instructions"
208+
prompt "SSE registers"
219209
depends on FLOAT
220210
default n
221211
help
222-
This option enables the use of SSEx instructions by a task or fiber.
223-
224-
Disabling this option means that no task or fiber may use SSEx
225-
instructions; any such use will result in undefined behavior.
212+
This option enables the use of SSE registers by tasks and fibers.
226213

227214
config SSE_FP_MATH
228215
bool

0 commit comments

Comments
 (0)