Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
76 6980 d 8 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 6980 d 11 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
74 6981 d 7 h jermar /SPARTAN/trunk/arch/ia64/src/ More of IA-64 initialization.  
73 6981 d 7 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 6981 d 9 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
68 6981 d 9 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
65 6981 d 10 h decky /SPARTAN/trunk/arch/ia32/ doxygen-style comments  
63 6981 d 12 h decky /SPARTAN/trunk/ const qualifier for print functions  
60 6981 d 15 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 work.
Give up attempts to persuade ld to patch the kernel image with proper hardcoded lenghts and addresses.
Add special sections and calculate the numbers manually.
Fix wrong order of operands in sub instructions in memcpy() implementation.
 
59 6982 d 5 h jermar /SPARTAN/trunk/ Move architecture independent memcopy() and memsetb() out of MIPS subtree and place them in src/lib/ as _memcopy() and _memsetb().
Add MIPS native memsetb().
Add IA-64 native memcpy().

More complete and *almost* functional versions of IA-64 context_save() and context_restore().
 
58 6984 d 5 h vana /SPARTAN/trunk/arch/ia32/ Functions for switching TS flag.  
57 6984 d 5 h vana /SPARTAN/trunk/ Begin support for FPU context switching on platforms which can't do it in lazy way.  
56 6984 d 6 h vana /SPARTAN/trunk/ Added fpu_context.h arch dep files and removed struct fpu_context from context.h files  
55 6984 d 6 h jermar /SPARTAN/trunk/arch/ia64/src/ Add missing context.S.  
54 6984 d 6 h jermar /SPARTAN/trunk/arch/ Add missing '\' to Makefile.inc
Remove leading '_' from before_thread_runs_arch() in fake.s
 
52 6984 d 7 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 6984 d 9 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 6984 d 14 h jermar /SPARTAN/trunk/ Big indentation update.

Add Jakub Vana to AUTHORS.

Minor fixes.
 
49 6984 d 14 h vana /SPARTAN/trunk/arch/ia32/src/ Change indentation in context.s.  
48 6984 d 15 h vana /SPARTAN/trunk/arch/ia32/src/ Add missing function names.  
46 6984 d 15 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 6984 d 19 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.
 
42 6985 d 7 h jermar /SPARTAN/trunk/ Add stdarg.h to support variable argument list functions on architectures with compiler support for __builtin_va_*.
stackarg.h is kept for those architectures which lack that kind of support and for testing purposes.

Make printing functions use the __native type and support the maximum integer width.
 
40 6986 d 16 h jermar /SPARTAN/trunk/ Variable argument list support for architectures passing arguments on stack.  
39 6988 d 7 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 cosmetics.
Fix boot/boot.s to jump to the appropriate address.
Revert _link.ld to contain previously deleted sections.
 
38 6989 d 10 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
37 6989 d 18 h jermar /SPARTAN/trunk/ More IA-64 work.
IA-64 putchar() for Ski simulator.
Linker script changes.
 
36 6990 d 9 h jermar /SPARTAN/trunk/arch/ia64/ More IA-64 work.  
35 6991 d 18 h jermar /SPARTAN/trunk/ Early support for IA-64 architecture.  
34 6992 d 12 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 6993 d 4 h jermar /SPARTAN/trunk/ ACPI update (RSDT/XSDT configuration).
Cosmetic changes.
 
32 6995 d 8 h jermar /SPARTAN/trunk/ ACPI detection code.
MP detection code rewrite.
Minor changes.
 
31 6996 d 13 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 6996 d 19 h jermar /SPARTAN/trunk/arch/ia32/ Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization.  
29 6997 d 12 h jermar /SPARTAN/trunk/arch/ia32/ Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading).
 
28 6997 d 16 h jermar /SPARTAN/trunk/ Small improvements.  
27 6998 d 7 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 7000 d 15 h jermar /SPARTAN/trunk/ Code cleanup after arch_init() splitting.
Restore %ds and %es registers before iret.
 
24 7003 d 10 h jermar /SPARTAN/trunk/ Small fixes.  
23 7003 d 13 h jermar /SPARTAN/trunk/ Fix wrong order of *_init() function calls.