Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
92 6979 d 18 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 6980 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 6980 d 23 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
81 6982 d 14 h jermar /SPARTAN/trunk/ Add SP_DELTA macro for each architecture.
On IA-32, this macro represents two doublewords that must be on the stack when switching to a new stack.
On MIPS, there is no need to fix sp when switching to a new stack.
On IA-64, this macro is used to allocate the 16-byte scratch area.

IA-64 work.
Changes in start.S. More changes to come.
Define memcopy().

Janitorial fixes.
Add missing #include <panic.h> to rwlock4/test.c.
Remove wrong use of inline keyword from both declaration and definition of l_apic_id().
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
80 6982 d 16 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 6987 d 17 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 6988 d 13 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
72 6988 d 14 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/include/func.h
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
68 6988 d 15 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
/SPARTAN/trunk/arch/ia32/src/debug/panic.s
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/src/cache.c
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/panic.s
/SPARTAN/trunk/include/list.h
/SPARTAN/trunk/include/panic.h
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/time/timeout.c
65 6988 d 16 h decky /SPARTAN/trunk/arch/ia32/ doxygen-style comments  
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/src/userspace.c
63 6988 d 17 h decky /SPARTAN/trunk/ const qualifier for print functions  
/SPARTAN/trunk/arch/ia32/include/ega.h
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia64/src/putchar.c
/SPARTAN/trunk/arch/mips/src/putchar.c
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/putchar.h
/SPARTAN/trunk/src/debug/print.c
58 6991 d 10 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 6991 d 11 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 6991 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
50 6991 d 19 h jermar /SPARTAN/trunk/ Big indentation update.

Add Jakub Vana to AUTHORS.

Minor fixes.
 
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/doc/AUTHORS
49 6991 d 20 h vana /SPARTAN/trunk/arch/ia32/src/ Change indentation in context.s.  
/SPARTAN/trunk/arch/ia32/src/context.s
48 6991 d 20 h vana /SPARTAN/trunk/arch/ia32/src/ Add missing function names.  
/SPARTAN/trunk/arch/ia32/src/context.s
46 6991 d 21 h vana /SPARTAN/trunk/ Remove fpu_context pointer from context_t.
Add fpu_context statically to thread_t.
Two functions for saving and restoring FPU context on lazy switch.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/main.c
38 6996 d 16 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/src/ia32.c
34 6999 d 18 h jermar /SPARTAN/trunk/ More ACPI work.
Initial MADT table parsing.

SMP renaming and reorganization to reflect there are more ways to bring SMP up.
 
/SPARTAN/trunk/arch/ia32/include/smp/mps.h
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/include/smp/smp.h
/SPARTAN/trunk/arch/ia32/include/smp/mp.h
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/acpi/madt.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c

Show All