Module Name: src Committed By: dsl Date: Sat Feb 15 22:20:42 UTC 2014
Modified Files: src/sys/arch/amd64/amd64: machdep.c netbsd32_machdep.c process_machdep.c src/sys/arch/amd64/include: mcontext.h src/sys/arch/i386/i386: machdep.c process_machdep.c src/sys/arch/i386/include: mcontext.h src/sys/arch/x86/include: fpu.h src/sys/arch/x86/x86: convert_xmm_s87.c fpu.c Log Message: Load and save the fpu registers (for copies to/from userspace) using helper functions in arch/x86/x86/fpu.c They (hopefully) ensure that we write to the entire buffer and don't load values that might cause faults in kernel. Also zero out the 'pad' field of the i386 mcontext fp area that I think once contained the registers of any Weitek fpu. Dunno why it wasn't pasrt of the union. Some of these copies could be removed if the code directly copied the save area to/from userspace addresses. To generate a diff of this commit: cvs rdiff -u -r1.204 -r1.205 src/sys/arch/amd64/amd64/machdep.c cvs rdiff -u -r1.91 -r1.92 src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.28 -r1.29 src/sys/arch/amd64/amd64/process_machdep.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/amd64/include/mcontext.h cvs rdiff -u -r1.747 -r1.748 src/sys/arch/i386/i386/machdep.c cvs rdiff -u -r1.83 -r1.84 src/sys/arch/i386/i386/process_machdep.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/i386/include/mcontext.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x86/include/fpu.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x86/x86/convert_xmm_s87.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/x86/x86/fpu.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.