Rev |
Age |
Author |
Path |
Log message |
Diff |
103 |
6979 d 23 h |
jermar |
/SPARTAN/trunk/ |
Just cleanup. |
|
101 |
6984 d 1 h |
cejka |
/SPARTAN/trunk/arch/ia32/src/boot/ |
Small bug in e820 memmap function repaired. |
|
99 |
6985 d 9 h |
jermar |
/SPARTAN/trunk/ |
Replace "THREAD->cpu" with "CPU" in scheduler().
Add trailing '\n' to memmap.h
Fix some translations.
Relpace one Czech sentence with its English translation. |
|
98 |
6986 d 2 h |
cejka |
/SPARTAN/trunk/arch/ia32/ |
first version of e820 memmap |
|
95 |
6987 d 7 h |
cejka |
/SPARTAN/trunk/arch/ia32/ |
Started memory map support. |
|
94 |
6990 d 20 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 |
6991 d 1 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 |
6991 d 21 h |
vana |
/SPARTAN/trunk/ |
Set TS flag on system startup.
Some bugs in FPU context switching seem to persist.
Optimalization on IA-32 disabled. |
|
85 |
6992 d 5 h |
vana |
/SPARTAN/trunk/arch/ia32/boot/ |
IA-32 boot Makefile bugfix.
Previous version did not take 512B of boot sector code into account and produced wrong image.bin. |
|
84 |
6992 d 6 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. |
|
82 |
6993 d 19 h |
jermar |
/SPARTAN/trunk/arch/ |
IA-64 work.
Add the rest of branch registers to context_t.
Add predicate registers to context_t.
Modify context_save()/context_restore() to save/restore branch registers and predicate registers.
Change SP_DELTA to 0 since both context_save() and context_restore() are leaf procedures and as such don't use the scratch area.
Change pri_t to be __u64 instead of __u32. |
|
81 |
6993 d 21 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 |
6993 d 23 h |
vana |
/SPARTAN/trunk/ |
Fix page fault caused by dereferencing NULL pointer. |
|
76 |
6998 d 21 h |
jermar |
/SPARTAN/trunk/ |
For each architecture, add function/macro FADDR that calculates absolute address of a function referenced by void (* f)(void).
IA-32 and MIPS gcc's use direct addressing (f == FADDR(f)) while IA-64 gcc uses indirect addressing (f != FADDR(f)).
Tweaks in IA-64 Makefile.inc to declare constant gp and main Makefile to consider ASFLAGS when compiling .s targets. |
|
75 |
6999 d 0 h |
vana |
/SPARTAN/trunk/ |
Move fpu_owner pointer from cpu_arch_t to cpu_t. |
|
73 |
6999 d 20 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 |
6999 d 21 h |
decky |
/SPARTAN/trunk/ |
size_t usage
const qualifier
code cleanup |
|
68 |
6999 d 22 h |
decky |
/SPARTAN/trunk/ |
NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs |
|
65 |
6999 d 23 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
doxygen-style comments |
|
63 |
7000 d 1 h |
decky |
/SPARTAN/trunk/ |
const qualifier for print functions |
|
58 |
7002 d 17 h |
vana |
/SPARTAN/trunk/arch/ia32/ |
Functions for switching TS flag. |
|
57 |
7002 d 18 h |
vana |
/SPARTAN/trunk/ |
Begin support for FPU context switching on platforms which can't do it in lazy way. |
|
56 |
7002 d 19 h |
vana |
/SPARTAN/trunk/ |
Added fpu_context.h arch dep files and removed struct fpu_context from context.h files |
|
52 |
7002 d 19 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(). |
|
51 |
7002 d 22 h |
jermar |
/SPARTAN/trunk/ |
Small changes, fix last few wrong indentations.
TODO cleanup.
IA-64 bits.
Call main_bsp from kernel_image_start().
Prepare for IA-64 context_save and context_restore. |
|
50 |
7003 d 3 h |
jermar |
/SPARTAN/trunk/ |
Big indentation update.
Add Jakub Vana to AUTHORS.
Minor fixes. |
|
49 |
7003 d 3 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Change indentation in context.s. |
|
48 |
7003 d 3 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Add missing function names. |
|
46 |
7003 d 4 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. |
|
45 |
7003 d 8 h |
vana |
/SPARTAN/trunk/ |
Added fpu_context_t type.
IA-32's version of this type contains array of 512 bytes to be used by FXSAVE ... instructions. |
|
40 |
7005 d 5 h |
jermar |
/SPARTAN/trunk/ |
Variable argument list support for architectures passing arguments on stack. |
|
38 |
7007 d 23 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Make read/write_dr0() inlined. |
|
34 |
7011 d 1 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 |
7011 d 17 h |
jermar |
/SPARTAN/trunk/ |
ACPI update (RSDT/XSDT configuration).
Cosmetic changes. |
|
32 |
7013 d 21 h |
jermar |
/SPARTAN/trunk/ |
ACPI detection code.
MP detection code rewrite.
Minor changes. |
|
31 |
7015 d 2 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 |
7015 d 8 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization. |
|
29 |
7016 d 1 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading). |
|
28 |
7016 d 5 h |
jermar |
/SPARTAN/trunk/ |
Small improvements. |
|
27 |
7016 d 20 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. |
|