Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
76 6992 d 18 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 6992 d 21 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
73 6993 d 17 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.
 
63 6993 d 22 h decky /SPARTAN/trunk/ const qualifier for print functions  
58 6996 d 14 h vana /SPARTAN/trunk/arch/ia32/ Functions for switching TS flag.  
56 6996 d 16 h vana /SPARTAN/trunk/ Added fpu_context.h arch dep files and removed struct fpu_context from context.h files  
51 6996 d 19 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.
 
46 6997 d 1 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 6997 d 5 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 6999 d 2 h jermar /SPARTAN/trunk/ Variable argument list support for architectures passing arguments on stack.  
38 7001 d 20 h jermar /SPARTAN/trunk/arch/ia32/ Make read/write_dr0() inlined.  
34 7004 d 22 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 7005 d 14 h jermar /SPARTAN/trunk/ ACPI update (RSDT/XSDT configuration).
Cosmetic changes.
 
32 7007 d 18 h jermar /SPARTAN/trunk/ ACPI detection code.
MP detection code rewrite.
Minor changes.
 
30 7009 d 5 h jermar /SPARTAN/trunk/arch/ia32/ Separate EBDA detection from MP Specification code. EBDA address will be needed during ACPI initialization.  
29 7009 d 22 h jermar /SPARTAN/trunk/arch/ia32/ Begin ACPI support.
ACPI support will be necessary for initialization of SMP systems with SMT (HyperThreading).
 
28 7010 d 2 h jermar /SPARTAN/trunk/ Small improvements.  
27 7010 d 17 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.
 
24 7015 d 20 h jermar /SPARTAN/trunk/ Small fixes.  
21 7018 d 22 h jermar /SPARTAN/trunk/arch/ia32/ Minor changes and cleanups of recent modifications.  
16 7024 d 22 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.
 
13 7067 d 16 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.  
11 7068 d 15 h jermar /SPARTAN/trunk/ Clean up (ia32 vs. i386).
Header files reorganization.
 
7 7071 d 3 h jermar /SPARTAN/trunk/ New IPI for waking up idle CPU's halted in scheduler.
Added architecture-independent ipi_broadcast().
 
6 7072 d 7 h jermar /SPARTAN/trunk/ shootdown vs. shutdown  
5 7072 d 17 h jermar /SPARTAN/trunk/ TLB shootdown.  
1 7075 d 22 h jermar /SPARTAN/ Initial import