DragonFly commits List (threaded) for 2004-04
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
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
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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]