Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
663 6757 d 8 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Initial interrupt_vector_trap handler and fixes needed to make it do the right thing (i.e. panic()).
 
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/arch/sparc64/src/panic.S
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap/trap.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
657 6760 d 21 h jermar /kernel/trunk/ sparc64 work.
Context again. It turns out, according to SCD 2.4, that registers that didn't have to be saved were saved (%o1 - %o5) and
registers that had to be saved were not saved (%i0 - %i5, %l0 - %l7).
 
/kernel/trunk/arch/sparc64/include/context.h
/kernel/trunk/arch/sparc64/include/context_offset.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/tools/sparc64/gencontext.c
650 6762 d 22 h jermar /kernel/trunk/ sparc64 work.
Implement interrupt_disable(), interrupt_enable(), interrupt_restore() and interrupt_read() functions.
Fix context save/restore to save/restore register %i7.
 
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/context.h
/kernel/trunk/arch/sparc64/include/context_offset.h
/kernel/trunk/arch/sparc64/include/register.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/proc/scheduler.c
646 6763 d 22 h jermar /kernel/trunk/ Fix cpu_init(): frame_alloc() can return 0 as the valid address of block of frames. Do not signal error.

sparc64 work.
Reorganize kernel vs. userspace memory layout.
Add panic_printf().
Turn dummy() into nop rather than into infinite loop.
 
/kernel/trunk/arch/sparc64/src/panic.S
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/mm/page.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/generic/src/cpu/cpu.c
640 6764 d 21 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
/kernel/trunk/arch/sparc64/include/register.h
/kernel/trunk/arch/sparc64/src/cpu
/kernel/trunk/arch/sparc64/src/cpu/cpu.c
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/cpu.h
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/main/main.c
634 6766 d 10 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Better way of trap table organization.
Kernel trap handlers now "stay" on addresses on wich they were linked.
 
/kernel/trunk/arch/sparc64/include/trap/trap_table.h
/kernel/trunk/arch/sparc64/src/trap/trap.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
632 6766 d 23 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Add trap_install_handler().
Use trap_install_handler() to install register window clean, spill and fill handlers.
 
/kernel/trunk/arch/sparc64/include/memstr.h
/kernel/trunk/arch/sparc64/include/trap/regwin.h
/kernel/trunk/arch/sparc64/include/trap/trap.h
/kernel/trunk/arch/sparc64/include/trap/trap_table.h
/kernel/trunk/arch/sparc64/src/trap/trap.c
630 6767 d 1 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Register window clean, spill and fill handlers.
 
/kernel/trunk/arch/sparc64/include/trap
/kernel/trunk/arch/sparc64/include/trap/regwin.h
/kernel/trunk/arch/sparc64/include/trap/trap.h
/kernel/trunk/arch/sparc64/include/trap/trap_table.h
/kernel/trunk/arch/sparc64/src/trap
/kernel/trunk/arch/sparc64/src/trap/trap.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
/kernel/trunk/arch/sparc64/include/trap.h
/kernel/trunk/arch/sparc64/include/trap_table.h
/kernel/trunk/arch/sparc64/src/trap.c
/kernel/trunk/arch/sparc64/src/trap_table.S
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
627 6767 d 4 h jermar /kernel/trunk/ Fix ia64 and sparc64 to compile with new atomic_t.
Fix rwlock test #5 and semaphore test #1 to compile with new atomic_t.

sparc64 work.
TBA must be set before a function call when MMU is switched off.
 
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia64/include/atomic.h
/kernel/trunk/arch/mips32/include/atomic.h
/kernel/trunk/arch/sparc64/include/atomic.h
/kernel/trunk/arch/sparc64/include/trap.h
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap.c
/kernel/trunk/test/synch/rwlock5/test.c
/kernel/trunk/test/synch/semaphore1/test.c
619 6768 d 19 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Functions for disabling/enabling MMU.
TLB initialization.
Identity mapping of first 4M for kernel.
Switch to kernel copy of trap table.
 
/kernel/trunk/arch/sparc64/include/mm/mmu.h
/kernel/trunk/arch/sparc64/include/trap.h
/kernel/trunk/arch/sparc64/src/trap.c
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/mm/frame.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
617 6768 d 22 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Support for TLB Demap operations.
Add tlb_invalidate(), tlb_invalidate_asid() and tlb_invalidate_page() (latter two are broken as they ignore asid).
 
/kernel/trunk/arch/sparc64/include/mm/asid.h
/kernel/trunk/arch/sparc64/include/mm/page.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/include/mm/tte.h
/kernel/trunk/arch/sparc64/src/mm/tlb.c
613 6769 d 21 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
More ITLB and DTLB controlling functions.
 
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/barrier.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/src/mm/tlb.c
586 6772 d 5 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
/kernel/trunk/arch/ppc32/include/console.h
/kernel/trunk/arch/sparc64/include/console.h
/kernel/trunk/arch/ia64/src/ski/ski.c
/kernel/trunk/arch/ppc32/src/console.c
/kernel/trunk/arch/ppc32/src/ppc32.c
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/generic/include/console/chardev.h
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/src/interrupt/interrupt.c
570 6773 d 22 h jermar /kernel/trunk/arch/sparc64/src/mm/ Missing tlb.c from last commit.  
/kernel/trunk/arch/sparc64/src/mm/tlb.c
538 6777 d 3 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes II.
- Rewrite IS_BUDDY_LEFT_BLOCK so that it does not need floating point on some architectures (e.g. IA-64).
- Get rid of IS_BUDDY_RIGHT_BLOCK.
- Make sparc64 use zone_create_in_region.
 
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/mm/frame.c
534 6778 d 1 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6778 d 1 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
529 6780 d 4 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Add dummy trap tables.
 
/kernel/trunk/arch/sparc64/include/trap_table.h
/kernel/trunk/arch/sparc64/src/trap_table.S
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/start.S
528 6781 d 0 h jermar /kernel/trunk/ sparc64 work.
The context_save/context_restore needed two other improvements.
First, storing of %fp because of window_fills.
Second, flushing all active windows before CONTEXT_LOAD to make CWP - 1 the overlap window.
 
/kernel/trunk/arch/sparc64/include/context.h
/kernel/trunk/arch/sparc64/include/context_offset.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/tools/sparc64/gencontext.c
527 6781 d 7 h jermar /kernel/trunk/ saprc64 work.
Perform leaf-procedure optimization for context_save and context_restore.
 
/kernel/trunk/arch/sparc64/include/context.h
/kernel/trunk/arch/sparc64/include/context_offset.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/tools/sparc64/gencontext.c

Show All