Opened 12 years ago

Last modified 6 years ago

#464 new defect

FPU preserved registers not preserved across fibril switches

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone:
Component: helenos/lib/c Version: mainline
Keywords: fpu Cc:
Blocker for: Depends on:
See also:

Description

To make it possible for two fibrils to do floating point math without influencing each other, it is necessary to save/restore the preserved FPU context registers, as prescribed by the respective ABI.

The preservation of preserved FPU registers has not been consistently implemented across all architectures. E.g. mips32 and ia64 seem to be preserving some FPU state, while sparc64, ia32 and amd64 don't.

Scratch FPU registers don't need to be preserved.

Change History (2)

comment:1 by Jakub Jermář, 10 years ago

Milestone: 0.6.00.7.1

comment:2 by Jakub Jermář, 6 years ago

Milestone: 0.7.1
Note: See TracTickets for help on using tickets.