Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
97 6949 d 9 h jermar /SPARTAN/trunk/ Add context_set() macro to support extended behaviour for architectures with more than one stack (e.g. IA-64).
Now there is one generic context_set() defined in include/context.h and one IA-64 specific defined in arch/ia64/include/context.h.
 
95 6950 d 11 h cejka /SPARTAN/trunk/arch/ia32/ Started memory map support.  
94 6954 d 0 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 6954 d 5 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 6955 d 1 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 6955 d 9 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 6955 d 10 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.
 
83 6956 d 6 h jermar /SPARTAN/trunk/arch/ia64/ IA-64 work.
Add ar.pfs and ar.unat (caller and callee) application registers to context_t.
Change st8/ld8 instructions on general registers to st8.spill and ld8.fill instructions.
 
82 6956 d 23 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 6957 d 1 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 6957 d 3 h vana /SPARTAN/trunk/ Fix page fault caused by dereferencing NULL pointer.  
79 6961 d 0 h jermar /SPARTAN/trunk/arch/ia64/src/ski/ doxygen-style comments  
78 6961 d 0 h jermar /SPARTAN/trunk/ IA-64 cosmetics.
Add ski_init_console() and ski_putchar() to ski.c to perform ski specific tasks.

Change the copyright string in main.c to display both copyrights on a new line.
 
76 6962 d 1 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 6962 d 4 h vana /SPARTAN/trunk/ Move fpu_owner pointer from cpu_arch_t to cpu_t.  
74 6963 d 0 h jermar /SPARTAN/trunk/arch/ia64/src/ More of IA-64 initialization.  
73 6963 d 0 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 6963 d 1 h decky /SPARTAN/trunk/ size_t usage
const qualifier
code cleanup
 
68 6963 d 2 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
65 6963 d 3 h decky /SPARTAN/trunk/arch/ia32/ doxygen-style comments  

Show All