Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
92 6953 d 17 h jermar /SPARTAN/trunk/ FPU work.
FPU code cleanup, add/fix copyright notices where needed.
Fix PI calculation to use double n instead of int n.
Make FPU test #1 even more stressing.

Re-enable O3 again.
Revert Makefile.config not to compile in any tests.
 
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia64/include/fpu_context.h
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/include/fpu_context.h
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/test/fpu/fpu1/test.c
90 6954 d 14 h vana /SPARTAN/trunk/ Set TS flag on system startup.
Some bugs in FPU context switching seem to persist.
Optimalization on IA-32 disabled.
 
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/test/fpu/fpu0/test.c
84 6954 d 22 h vana /SPARTAN/trunk/ IA-32 FPU lazy context switching.
Doesn't work on Bochs and sometimes produces wrong results on P4.
Seems to work on VMware and PII.

Build script for IA-32 changed to build floppy images (image.bin) 1440K long.
 
/SPARTAN/trunk/test/fp
/SPARTAN/trunk/test/fp/fp0
/SPARTAN/trunk/test/fp/fp0/test.c
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/src/Makefile.config
80 6956 d 15 h vana /SPARTAN/trunk/ Fix page fault caused by dereferencing NULL pointer.  
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/src/Makefile.config
75 6961 d 16 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/proc/scheduler.c
73 6962 d 12 h vana /SPARTAN/trunk/ Finished FPU lazy context switching - first version. I have not tested it and there are many things which must be changed when
it runs first time OK.
 
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
58 6965 d 9 h vana /SPARTAN/trunk/arch/ia32/ Functions for switching TS flag.  
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
57 6965 d 10 h vana /SPARTAN/trunk/ Begin support for FPU context switching on platforms which can't do it in lazy way.  
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/powerpc/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/proc/scheduler.c
52 6965 d 12 h vana /SPARTAN/trunk/ Move fpu_context switching functions from context.s to fpu_context.c on all platforms.
Add fpu_context.h.

Make before_thread_runs() arch-independent and create arch dependent version before_thread_runs_arch().
 
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/powerpc/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/powerpc/Makefile.inc
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/proc/scheduler.c