cvs commit: src/sys/i386/gnu/fpemul fpu_system.h src/sys/i386/i386 bcopy.s genassym.c math_emu.h pmap.c swtch.s vm86bios.s vm_machdep.c src/sys/i386/include pcb.h thread.h src/sys/i386/isa npx.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Apr 29 18:00:48 PDT 2004
dillon 2004/04/29 17:59:55 PDT
DragonFly src repository
Modified files:
sys/i386/gnu/fpemul fpu_system.h
sys/i386/i386 bcopy.s genassym.c math_emu.h pmap.c
swtch.s vm86bios.s vm_machdep.c
sys/i386/include pcb.h thread.h
sys/i386/isa npx.c
Log:
Correct a bug in the last FPU optimized bcopy commit. The user FPU state
was being corrupted by interrupts.
Fix the bug by implementing a feature described as a missif in the original
FreeBSD comments... add a pointer to the FP saved state in the thread
structure so routines which 'borrow' the FP unit can simply revector the
pointer temporarily to avoid corruption of the original user FP state.
The MMX_*_BLOCK macros in bcopy.s have also been simplified somewhat. We
can simplify them even more (in the future) by reserving FPU save space in
the per-cpu structure instead of on the stack.
Revision Changes Path
1.3 +2 -2 src/sys/i386/gnu/fpemul/fpu_system.h
1.2 +35 -50 src/sys/i386/i386/bcopy.s
1.38 +1 -0 src/sys/i386/i386/genassym.c
1.5 +2 -2 src/sys/i386/i386/math_emu.h
1.35 +1 -0 src/sys/i386/i386/pmap.c
1.33 +5 -8 src/sys/i386/i386/swtch.s
1.12 +6 -4 src/sys/i386/i386/vm86bios.s
1.30 +1 -1 src/sys/i386/i386/vm_machdep.c
1.9 +0 -7 src/sys/i386/include/pcb.h
1.6 +6 -2 src/sys/i386/include/thread.h
1.15 +12 -12 src/sys/i386/isa/npx.c
http://www.dragonflybsd.org/cvsweb/src/sys/i386/gnu/fpemul/fpu_system.h.diff?r1=1.2&r2=1.3&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/bcopy.s.diff?r1=1.1&r2=1.2&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/genassym.c.diff?r1=1.37&r2=1.38&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/math_emu.h.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/pmap.c.diff?r1=1.34&r2=1.35&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/swtch.s.diff?r1=1.32&r2=1.33&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/vm86bios.s.diff?r1=1.11&r2=1.12&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/vm_machdep.c.diff?r1=1.29&r2=1.30&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/pcb.h.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/thread.h.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/npx.c.diff?r1=1.14&r2=1.15&f=h
More information about the Commits
mailing list