mirror of https://github.com/torvalds/linux.git
FPU_STATUS register contains FP exception flags bits which are updated
by core as side-effect of FP instructions but can also be manually
wiggled such as by glibc C99 functions fe{raise,clear,test}except() etc.
To effect the update, the programming model requires OR'ing FWE
bit (31). This bit is write-only and RAZ, meaning it is effectively
auto-cleared after write and thus needs to be set everytime: which
is how glibc implements this.
However there's another usecase of FPU_STATUS update, at the time of
Linux task switch when incoming task value needs to be programmed into
the register. This was added as part of
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile | ||
| arc_hostlink.c | ||
| arcksyms.c | ||
| asm-offsets.c | ||
| ctx_sw.c | ||
| ctx_sw_asm.S | ||
| devtree.c | ||
| disasm.c | ||
| entry-arcv2.S | ||
| entry-compact.S | ||
| entry.S | ||
| fpu.c | ||
| head.S | ||
| intc-arcv2.c | ||
| intc-compact.c | ||
| irq.c | ||
| jump_label.c | ||
| kgdb.c | ||
| kprobes.c | ||
| mcip.c | ||
| module.c | ||
| perf_event.c | ||
| process.c | ||
| ptrace.c | ||
| reset.c | ||
| setup.c | ||
| signal.c | ||
| smp.c | ||
| stacktrace.c | ||
| sys.c | ||
| traps.c | ||
| troubleshoot.c | ||
| unaligned.c | ||
| unwind.c | ||
| vmlinux.lds.S | ||