Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
173 6852 d 8 h jermar /SPARTAN/trunk/ Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy.
 
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/ppc/include/asm.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/config.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/include/typedefs.h
97 6944 d 17 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.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
94 6949 d 8 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.
 
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/test/fpu/fpu1/test.c
83 6951 d 13 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.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
82 6952 d 6 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.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src/context.S
81 6952 d 8 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().
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/smp/apic.h
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
59 6959 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().
 
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/arch/mips/src/lib
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/src/Makefile
56 6961 d 6 h vana /SPARTAN/trunk/ Added fpu_context.h arch dep files and removed struct fpu_context from context.h files  
/SPARTAN/trunk/arch/ia32/include/fpu_context.h
/SPARTAN/trunk/arch/ia64/include/fpu_context.h
/SPARTAN/trunk/arch/mips/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/thread.h
51 6961 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.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/doc/TODO
45 6961 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.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/include/typedefs.h
35 6968 d 18 h jermar /SPARTAN/trunk/ Early support for IA-64 architecture.  
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ia64/boot
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/ia64/boot/_link.ld
/SPARTAN/trunk/arch/ia64/boot/boot.s
/SPARTAN/trunk/arch/ia64/include
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/cpu.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/include/mm
/SPARTAN/trunk/arch/ia64/include/mm/frame.h
/SPARTAN/trunk/arch/ia64/include/mm/page.h
/SPARTAN/trunk/arch/ia64/include/mm/vm.h
/SPARTAN/trunk/arch/ia64/include/smp
/SPARTAN/trunk/arch/ia64/include/smp/atomic.h
/SPARTAN/trunk/arch/ia64/include/thread.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/ia64/src/start.S
/SPARTAN/trunk/doc/arch
/SPARTAN/trunk/doc/arch/ia64
/SPARTAN/trunk/doc/arch/mips
/SPARTAN/trunk/doc/mips
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/task.c

Show All