Subversion Repositories HelenOS

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
95 6976 d 3 h cejka /SPARTAN/trunk/arch/ia32/ Started memory map support.  
94 6979 d 16 h jermar /SPARTAN/trunk/ IA-64 work.
Add application registers ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_t.
Add store/load operations for ar.lc, ar.ec, ar.ccv, ar.csd, ar.ssd to context_save()/restore().
Add application registers ar.rcs, ar.bsp and ar.rnat to context_t.
Proper store/load operations for ar.rcs, ar.bsp and ar.rnat is in the works.

FPU cleanup.
Remove call set_TS_flag() from cpu_identify().
Remove unneeded includes from FPU test #1.
 
92 6979 d 20 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.
 
90 6980 d 17 h vana /SPARTAN/trunk/ Set TS flag on system startup.
Some bugs in FPU context switching seem to persist.
Optimalization on IA-32 disabled.
 
84 6981 d 1 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.
 
81 6982 d 17 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().
 
80 6982 d 19 h vana /SPARTAN/trunk/ Fix page fault caused by dereferencing NULL pointer.  
75 6987 d 19 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
73 6988 d 15 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.
 
72 6988 d 17 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
68 6988 d 17 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
65 6988 d 18 h decky /SPARTAN/trunk/arch/ia32/ doxygen-style comments  
63 6988 d 20 h decky /SPARTAN/trunk/ const qualifier for print functions  
58 6991 d 13 h vana /SPARTAN/trunk/arch/ia32/ Functions for switching TS flag.  
57 6991 d 14 h vana /SPARTAN/trunk/ Begin support for FPU context switching on platforms which can't do it in lazy way.  
52 6991 d 15 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().
 
50 6991 d 22 h jermar /SPARTAN/trunk/ Big indentation update.

Add Jakub Vana to AUTHORS.

Minor fixes.
 
49 6991 d 22 h vana /SPARTAN/trunk/arch/ia32/src/ Change indentation in context.s.  
48 6991 d 23 h vana /SPARTAN/trunk/arch/ia32/src/ Add missing function names.  
46 6991 d 23 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.
 
38 6996 d 19 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
34 6999 d 21 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.
 
33 7000 d 13 h jermar /SPARTAN/trunk/ ACPI update (RSDT/XSDT configuration).
Cosmetic changes.
 
32 7002 d 16 h jermar /SPARTAN/trunk/ ACPI detection code.
MP detection code rewrite.
Minor changes.
 
31 7003 d 21 h jermar /SPARTAN/trunk/ Replace the deadlock-prone TLB shootdown algorithm with a deadlock-free implementation.
The implementation is a variant of the CMU TLB consistency algorithm.
Very inefficient implementation of a very inefficient (but correct) algorithm.
 
30 7004 d 3 h jermar /SPARTAN/trunk/arch/ia32/ Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization.  
29 7004 d 20 h jermar /SPARTAN/trunk/arch/ia32/ Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading).
 
28 7005 d 1 h jermar /SPARTAN/trunk/ Small improvements.  
27 7005 d 15 h jermar /SPARTAN/trunk/ APIC changes and fixes.
Be more robust during MP configuration.

Do not use APIC ID as CPU_ID_ARCH anymore.
Changing APIC ID's is not a good idea.
Use dr0 register instead.
 
26 7007 d 23 h jermar /SPARTAN/trunk/ Code cleanup after arch_init() splitting.
Restore %ds and %es registers before iret.
 
24 7010 d 18 h jermar /SPARTAN/trunk/ Small fixes.  
23 7010 d 21 h jermar /SPARTAN/trunk/ Fix wrong order of *_init() function calls.  
22 7012 d 19 h jermar /SPARTAN/trunk/ Added before_thread_runs() to cope with TSS of user space tasks.  
21 7013 d 20 h jermar /SPARTAN/trunk/arch/ia32/ Minor changes and cleanups of recent modifications.  
16 7019 d 21 h jermar /SPARTAN/trunk/ Switch from mm-based 'the' mechanism to macro-based 'cpu_private_data[CPU_ID_ARCH]' mechanism.
Added l_apic_id() and some other minor APIC changes.
Move gdtr to K_DATA_START section.
Move K_DATA_START section immediately behind K_TEXT_START section so that real-mode addresses work even with growing size of kernel code.
 
15 7020 d 19 h jermar /SPARTAN/trunk/ Introduce macros CPU, THREAD, TASK and use them to replace the->cpu, the->thread, the->task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory.
 
13 7062 d 15 h jermar /SPARTAN/trunk/arch/ia32/ MP Specification says that MP Configuration Table extended entries with unrecongised types should be skipped rather than paniced on.  
12 7063 d 13 h jermar /SPARTAN/trunk/arch/ia32/src/smp/ Fix the algorithm for counting MP Configuration Table checksums.  
11 7063 d 14 h jermar /SPARTAN/trunk/ Clean up (ia32 vs. i386).
Header files reorganization.
 
10 7064 d 2 h jermar /SPARTAN/trunk/ Be more careful when sending IPI on UP configured as SMP.