Skip to content

Conversation

@JDuchniewicz
Copy link

In conjunction with seL4/rust-sel4#316 allows for using the fpu flag to specify that a PD can be using the FPU.

@Indanz
Copy link

Indanz commented Dec 11, 2025

There is a good reason why I made the FPU enabled by default.

If you do disable it by default, you better give a big warning that people should compile the code with -mgeneral-regs-only, otherwise they'll get crashes.

@JDuchniewicz JDuchniewicz force-pushed the jakub/fpu_flag branch 2 times, most recently from efe6d3d to 95044b3 Compare December 11, 2025 03:03
Signed-off-by: Jakub Duchniewicz <[email protected]>
@JDuchniewicz
Copy link
Author

Yes. Now it's enabled by default.

affinity: Word(vcpu.cpu.0.into()),
prio: virtual_machine.priority,
max_prio: virtual_machine.priority,
fpu: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should probably have a VM fpu attribute here too

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very small chance anyone would want to disable the FPU for a VM though.

Also, this wouldn't work for x86, where the flag is used for the host task and the FPU is always enabled for the guest itself.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I understand it it will be refined at a later step during the system setup as mentioned below:

As discussed offline, fpu: true is fine here. As this function's purpose is to only create what can be inferred from just the ELF, while leaving everything else with reasonable defaults. Refining the TCB will happen at a later step in the caller at

// Step 3-14 Set the TCB parameters and all the various caps that we need to bind to this TCB.

Signed-off-by: Jakub Duchniewicz <[email protected]>
Signed-off-by: Jakub Duchniewicz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants