Module Name: src Committed By: dsl Date: Tue Feb 25 22:16:52 UTC 2014
Modified Files: src/sys/arch/i386/i386: cpufunc.S src/sys/arch/x86/include: cpu_extended_state.h cpufunc.h fpu.h src/sys/arch/x86/x86: cpu.c fpu.c vm_machdep.c Log Message: Add support for saving the AVX-256 ymm registers during FPU context switches. Add support for the forthcoming AVX-512 registers. Code compiled with -mavx seems to work, but I've not tested context switches with live ymm registers. There is a small cost on fork/exec (a larger area is copied/zerod), but I don't think the ymm registers are read/written unless they have been used. The code use XSAVE on all cpus, I'm not brave enough to enable XSAVEOPT. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/sys/arch/i386/i386/cpufunc.S cvs rdiff -u -r1.8 -r1.9 src/sys/arch/x86/include/cpu_extended_state.h cvs rdiff -u -r1.17 -r1.18 src/sys/arch/x86/include/cpufunc.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/x86/include/fpu.h cvs rdiff -u -r1.109 -r1.110 src/sys/arch/x86/x86/cpu.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/x86/x86/fpu.c cvs rdiff -u -r1.23 -r1.24 src/sys/arch/x86/x86/vm_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.