Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1053 |
6769 d 15 h |
vana |
/kernel/trunk/ |
Itanium FPU Lazy context switching... but not so much tested |
|
/kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/context.h /kernel/trunk/arch/ia64/include/fpu_context.h /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/src/context.S /kernel/trunk/arch/ia64/src/fpu_context.c /kernel/trunk/arch/ia64/src/interrupt.c /kernel/trunk/arch/ia64/src/ivt.S /kernel/trunk/arch/ia64/src/start.S /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/test/fpu/fpu1/test.c
|
993 |
6771 d 12 h |
jermar |
/kernel/trunk/arch/ia64/ |
Fix bug in switch to userspace on ia64: ensure start in bank 1.
Fix bug in tlb_invalidate_all() that cause interrupts to be unconditionally enabled.
Optimize context switching by discarding packed attribute of context structures. |
|
/kernel/trunk/arch/ia64/include/context.h /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/src/asm.S /kernel/trunk/arch/ia64/src/fpu_context.c /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/ia64/src/ivt.S /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/ia64/src/proc/scheduler.c /kernel/trunk/arch/ia64/src/start.S
|
919 |
6776 d 19 h |
jermar |
/kernel/trunk/ |
ia64 work.
Changes to make userspace work (kernel part).
Use ski.conf from contrib directory to run Ski.
There is actually no appropriate syscall handler yet. |
|
/kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/asm.h /kernel/trunk/arch/ia64/include/context.h /kernel/trunk/arch/ia64/include/mm/as.h /kernel/trunk/arch/ia64/include/register.h /kernel/trunk/arch/ia64/src/asm.S /kernel/trunk/arch/ia64/src/dummy.s /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/ia64/src/ivt.S /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/ia64/src/start.S /kernel/trunk/contrib/conf/ski.conf
|
564 |
6868 d 9 h |
jermar |
/kernel/trunk/ |
Send in some improvements. |
|
/kernel/trunk/arch/ia32/src/mm/frame.c /kernel/trunk/arch/ia64/include/context.h /kernel/trunk/arch/sparc64/include/context.h /kernel/trunk/generic/include/align.h /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/frame.c
|
534 |
6871 d 13 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6871 d 13 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
501 |
6883 d 17 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
445 |
6898 d 17 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
ia64 work.
Fix SP_DELTA alignment.
Cosmetics. |
|
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/include/drivers/it.h /SPARTAN/trunk/arch/ia64/src/interrupt.c /SPARTAN/trunk/arch/ia64/src/ivt.S
|
443 |
6898 d 18 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
ia64 work.
Do not break memory stack alignment in heavyweight interrupt handler.
Reserve scratch area for nested procedure calls on memory stack. |
|
/SPARTAN/trunk/arch/ia64/include/stack.h
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/ivt.S
|
415 |
6917 d 19 h |
jermar |
/SPARTAN/trunk/arch/ia64/include/ |
Make context_set() reset ar.pfs.pfm (especially ar.pfs.pfm.sol) so that register stack does not underflow. |
|
/SPARTAN/trunk/arch/ia64/include/context.h
|
414 |
6918 d 23 h |
jermar |
/SPARTAN/trunk/ |
Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions. |
|
/SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/src/context.S /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/src/context.S /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/src/context.S /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
413 |
6919 d 9 h |
jermar |
/SPARTAN/trunk/ |
Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/amd64/src/userspace.c /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/include/types.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/include/types.h /SPARTAN/trunk/arch/mips32/src/drivers/arc.c /SPARTAN/trunk/arch/mips32/src/exception.c /SPARTAN/trunk/arch/mips32/src/interrupt.c /SPARTAN/trunk/arch/mips32/src/mips32.c /SPARTAN/trunk/arch/mips32/src/mm/asid.c /SPARTAN/trunk/arch/mips32/src/mm/tlb.c /SPARTAN/trunk/arch/mips32/src/mm/vm.c /SPARTAN/trunk/arch/ppc32/include/asm.h /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/include/types.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
403 |
6926 d 12 h |
jermar |
/SPARTAN/trunk/arch/ |
Small improvement in pte_t type definition. |
|
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/mips32/include/mm/page.h /SPARTAN/trunk/arch/mips32/include/mm/tlb.h /SPARTAN/trunk/arch/mips32/include/types.h /SPARTAN/trunk/arch/mips32/src/mm/tlb.c
|
402 |
6926 d 21 h |
jermar |
/SPARTAN/trunk/ |
Add ALIGN() macro.
Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review. |
|
/SPARTAN/trunk/include/align.h
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/src/main/main.c
|
354 |
6948 d 18 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
Define structures for frame zones and frames.
Add some comments. |
|
/SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/typedefs.h
|
322 |
6958 d 10 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
Reduce IA-64 context_t according to IA-64 ABI.
Make IA-64 port compile again. |
|
/SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/ia64/src/dummy.s
|
180 |
6968 d 12 h |
jermar |
/SPARTAN/trunk/ |
Globalize 'size' and 'delta' and rename them to 'kernel_size' and 'heap_delta'.
Fix heap initialization to take 'heap_delta' into account.
Implement IA-64 get_stack_base().
Adjust SP_DELTA's to consider one extra word on stack.
(So that the stack pointer is within appropriate limits even on IA-64).
More #include cleanup. |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.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/mips/include/context.h /SPARTAN/trunk/src/main/main.c
|
173 |
6972 d 11 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 |
7064 d 20 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 |
7069 d 11 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
|